I wish to install a bootloader in a specific sector of the LPC2106. How can I place a section of code to start at a specific address? Thanks Rich
Take a look at the SEGMENTS linker directive. http://www.keil.com/support/man/docs/la/la_segments.htm Jon
I am having no luck getting this to work. I have added the line: LA IAP.OBJ SEGMENTS (?PR?Copy_RAM_Flash?(C:0x1E000)) to the User segments box in the LA locate tab. First, do I have to manually locate every function when I want an entire portion of C code located in a certain area? The above results in a linker error L110 cannot find segment error. Rich
I am loading: DATA (0x40000000-0x4000FFFF), CODE (0x1E000-0x1EF00), CONST (0x1C000-0x1D000)) into the User Class box in the locate tab. This works as expected. I have created a user class with this: #pragma userclass (code = IAP) // generates CODE_IAP class According to the MAP file this worked. Buuuut when I add this: CODE_IAP (0x5000-0x6000) to the user class window I get a syntax error. Rich
First, do I have to manually locate every function when I want an entire portion of C code located in a certain area? You may use wildcards in the segment specifications. For example, ?PR?*?MYFILE selects all program segments from the MYFILE source file. The above results in a linker error L110 cannot find segment error. Compile and link without using the SEGMENTS directive. Scan thru the MAP file for the segment name to use. You should only specify the physical address. The C: prefix which is required in the 8051 tools is not allowed in the ARM tools (since memory is von Neumann). Jon
According to the MAP file this worked. Buuuut when I add this: CODE_IAP (0x5000-0x6000) to the user class window I get a syntax error. What version of the ARM tools are you using? I tried this with the V2 stuff and everything works just fine. You can download the V2 eval software from http://www.keil.com/demo. Jon
View all questions in Keil forum