ckuecker
Newbie level 1
- Joined
- Dec 29, 2009
- Messages
- 1
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Location
- Lake Geneva, WI
- Activity points
- 1,290
IAR linker question
Hello,
Has anyone used the IAR linker to force RAM locations to fixed areas? I am working with a Luminary 6965 processor that has a boot loader in the lower section of flash, and an application above it.
I don't want the application to use the RAM area the bootloader needs. I would like to define a small area at the start of RAM and have the linker put all the bootloader variables in there. I've tried defining boot and application RAM sections:
I've used similar constructions to lay out the flash areas for the bootloader and application, and they work correctly. The RAM placement does not - the linker puts the bootloader's RAM into the app area, and does not use the first 0x10 bytes of RAM at all.
Any ideas what's going on here?
Chuck Kuecker
Hello,
Has anyone used the IAR linker to force RAM locations to fixed areas? I am working with a Luminary 6965 processor that has a boot loader in the lower section of flash, and an application above it.
I don't want the application to use the RAM area the bootloader needs. I would like to define a small area at the start of RAM and have the linker put all the bootloader variables in there. I've tried defining boot and application RAM sections:
Code:
(in the .icf file)
define region BOOT_SRAM = mem:[from 0x20000000 size 0x10];
define region APP_SRAM = mem:[from 0x20000010 to 0x2000ffff];
then...
place at start of BOOT_SRAM {readwrite section bootdata};
place in APP_SRAM {readwrite, block HEAP};
I've used similar constructions to lay out the flash areas for the bootloader and application, and they work correctly. The RAM placement does not - the linker puts the bootloader's RAM into the app area, and does not use the first 0x10 bytes of RAM at all.
Any ideas what's going on here?
Chuck Kuecker