Hello all,
I am working on a Bootstrap Loader which will receive the new program over CAN. To be safe, I will use a CRC algorythm to check for inconsistencies.
Now, my problem is as follows: the CRC algorythm uses certain functions from the Keil Library(?C?LSTXDATA, ?C?ILDPTR, ...) and I'd like to move all these functions to a memoryspace which will not be flashed.
I've managed to move the entire Keil Library using ?C?*(0x1234), but this isn't a viable option as it could give me problems in the long run.
Now, I've looked around and the following app. note was always mentioned: http://www.keil.com/appnotes/docs/apnt_180.asp
Reading this app. note, I made a simple .asm file and added it to my Keil Project:
LibBase CODE 0100H ; Base address for Library Entries in BOOT ; Entry table for library functions CSEG AT LibBase PUBLIC ?C?LSTOPTR ?C?LSTOPTR CODE LibBase+0 END
0x0100-0x1FF is an empty fragment of memoryspace.
Compiling my program with this extra file results in a program that does do anything usefull. Removing this file and recompiling makes my program work normal again.
Can anyone give me some pointers to what I am doing wrong? Thanks in advance, - Peter