1. debugrel setting
1) Select armlinker from target setting> linker.
Used to set connection
2) Target Setting-> post-linker: Select arm fromelf.
Used to generate flash burning code (only run in Ram, not burning)
3) add an address in arm linker-> Ro Base
According to the sub-board, the sub-board is connected to nscs6 by Ram, address 0xc000000-0xc7fffff;
Nscs0 connected to flash, address 0x00000-0xfffff
For the IP Address allocation principle, see the memory distribution diagram in the memory management chapter of 44b0 Data Manual.
Add the address 0xc000000 (for example, 0xc008000) for debugging in Ram.
But note that the address should not be added to the interface. For example, if you want to debug a program in Ram, you can add 0x00000000 to enter the C code but cannot run it.
Then
To generate the RO address used to burn the flash code, it must start with 0x0000000 and 44binit. O must also be set in layout as the initial file to load.
The above Flash test conclusion was tested by flashpgm.
In addition, flashpgm does not support binfiles and only supports intel hex files.
4) RW can be added. Generally, Ro is interpreted as a data segment, and RW is interpreted as a data segment.
Sometimes I'm happy to add 0xc100000 (during Ram debugging)
5) arm linker-> Option-> image entry point: Select 0xc000000 (during Ram debugging)
6) arm linker-> Layout-> Object/symbol can add the starting program 44binit. O. Note that. O is not. s and. 0 (0)
You can also leave it empty.