Olin wrote... >That a lot closer to a tutorial than anything I have. Thanks. But your stuff is a PROJECT, while mine is just a "project". :) >I looked at your stuff and have a few comments: > >1 - The linker control file creates a separate section for the first 256 >program memory locations, which include the reset and interrupt vectors. I >don't see any point to this and there is a down side. You can force the >reset and interrupt code to their specific addresses by supply a value after >the CODE directive as you did. That will cause the interrupt code to get >loaded starting at location 4. The separate section will only cause >additional fragmentation of program memory, and will cause linker failure if >the interrupt routine grows past 252 locations. Good point; the extra section I created is superfluous, the result of some earlier fooling around I did. >2 - Each of your modules includes the Microchip file for the target >processor separately. I strongly recommend having one master project >include file that does this once. Among other things, it will make it >easier to reuse code between project and move one project between >processors. I actually use two include files per project, details at >http://www.embedinc.com/pic. Good point, I didn't think of that. I've made a revision, at http://mywebpages.comcast.net/dilatush/lnkdemo2.zip in which a single file, mydecls.inc, is #included by each .asm source file in the project; this file, in turn, #includes the Microchip target processor definitions file. And my own global definitions, I assume, would also go into mydecls.inc. Am I heading in the right direction? Thanks for the comments, Dave D. -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads