> After chasing a random crashing problem on a 16F877 project for days > now, I've run dry of troubleshooting strategies (not that I had very > many sensible ones to begin with). In short, my project will perform > certain operations flawlessly sometimes, then fails spectacularly on > the 'n'th attempt, with 'n' generally residing between 1 and 10. My > inexperience has likely led me to commit some programming faux pas I > just can't spot. To help get me unstuck, would any of you gurus be > willing to complete the phrase; > > "When my program blows up randomly, the first thing I look for is..." Well this is where it pays to have a linker in use :)) The linker produces a memory map of the whole project, and does it in two forms. The first is in alphabetical name order of the variables, and the second is in memory address order of the variables. It separates the data ram area from the program memory, and by looking through this map it is easy to see if there is the possibility of a ram bank error fouling up a critical variable. This has been an indispensable way of sorting out this most basic form of mistake. -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads