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.
Hi, I need to place a constant array at code address 0x10000. When i say this it puts it in address 0x0000 leaving out the one and it conflicts with the code already present at 0x0000. Can someone tell me how to solve this problem? Thanks, Vj.
Try target, options, 'BL51 Locate'. Tell the linker where to put it.
I did BL51 location telling it to put (0x10000). That's how i have been doing for a while now.
Oops, I didn't pay close enough attention to 0x10000. I don't have experience with the processors that go beyond 64K address space. But if this is only a 64K processor, are you using the banking capabilities of the linker? Theoretically, 0x0 0000 is equivalent to 0x1 0000 in bank 1. But..., won't this be a conflict with the interrupt vector(s) in low memory? May I suggest moving your 0x1 0000 to an address that is high enough to avoid a conflict with your common area?
There's a difference between a CONST segment and an HCONST segment to the linker. Far data has a different segment type as well as a different declaration syntax.