Hello,
My problem is as following. I have a string array, If I delete last string of GprsErrors or pointer of GprsErrors, if I make const pointer. I don't get error.
I'm using some static addresses(0x20000309, 0x20000308 .....), I guess, Keil is trying to write static address so I get the following error.
Keil shows as fgetc_b.o and constant.o overlap, I didn't find the source of the problem.
what is my fault? or How can I find and solve the problem?
Thanks alot.
Kutay,
..\Output\Project.axf: Error: L6971E: fgetc_b.o(.data) type RW incompatible with constants.o(.ARM.__AT_0x20000309) type ZI in er RW_IRAM1.
char const * GprsErrors[]={ "BAUDRATE", "AT CMD", "ATE0 CMD", "BAT INIT", "PIN CODE", ..... ".....", // I'm deleting this string and I get no error(everything is ok) };
Carve out a region for the static stuff in the scatter file, say 0x20000000..0x200003FF, and put your new stuff elsewhere.
You'd have to look at how exactly the other data is accessed via address from outside. If it is through an interface you provide, then couldn't you just decode that appropriately?
Here we use a more considered command/response system to access internal parameters, not absolute addresses within our firmware or RAM footprint.
I have decoded, access via fixed address from outside by RF or gprs.
I will try to solve by scatter file,
Thanks a lot
But your processor is unlikely to have dual-port memory. So it's unlikely that some outside hardware can use a direct pointer to access the memory.
So exactly how is that outside access performed?