We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Our C166 system works executes properly when erasing a flash sector. (we copy the code (that erases or writes to the flash) from flash to ram, call the ram location, and we're done. (this was done using the 'older' toolset from uVision and the compiler from Bitware, 1.31.) However... Using the same code and building with the newer Keil uVision 2, the code crashed. Inspection of the LST file shows that the two compilers did not compile to identical ASM code. Commenting out the line of code that makes the call to the routine in RAM allows the code to run. I suspect a problem with how the boot routine is compiled or linked. Any ideas? Thanks.