I'm trying to download sdk bin and elf files into the imx6dl with a jtag probe and opencocd. The question is in which addresses should I write elf and binary files?
Hello Julian MP,
It's highly dependent on how you have linked your binary. If the board is imx6dl, then you can execute your application from:
- DDR (has to be set before to dowload the elf/binary).
- NOR if your board has.
To find these addresses, you can consult the memory map generated by your compiler or the used linker script.
How can I intrepretated this, in which address should I write it? How can I configure the files to write into the NOR?
Allocating common symbolsCommon symbol size file
errno 0x4 /mygcc3/bin/../arm-none-eabi/lib/\libc.a(lib_a-reent.o)
Name Origin Length AttributesOCRAM 0x00900000 0x00020000 xrwDDR 0x10000000 0x40000000 xrw*default* 0x00000000 0xffffffff
Linker script and memory map
LOAD /mygcc3/bin/../lib/gcc/arm-none-eabi/4.7.2/\crtbegin.oLOAD /mygcc3/bin/../lib/gcc/arm-none-eabi/4.7.2/\crti.oLOAD /mygcc3/bin/../lib/gcc/arm-none-eabi/4.7.2/\crtend.oLOAD /mygcc3/bin/../lib/gcc/arm-none-eabi/4.7.2/\crtn.o
.l1_page_table 0x00900000 0x4000 0x00900000 __l1_page_table_start = . 0x00904000 . = (. + 0x4000) *fill* 0x00900000 0x4000
.heap.ocram 0x00904000 0x1bfb8 0x00904000 __heap_ocram_start = . 0x0091ffb8 . = (. + 0x1bfb8) *fill* 0x00904000 0x1bfb8 0x0091ffb8 __heap_ocram_end = .
.ram_vectors 0x0091ffb8 0x48 0x0091ffb8 __ram_vectors_start = . 0x00920000 . = (. + 0x48) *fill* 0x0091ffb8 0x48 0x00920000 __ram_vectors_end = . 0x10000000 _start_image_add = ORIGIN (DDR)
Can you help me? Any idea of the previous question?. Where should I load the binary on ocram (address) with the map of the previous respond?
Best regards, Cosmin Stefan StoicaAddresses write binary,elf file of sdk
According to the above memory map, everything is in OCRAM, so if you try to load your binary *.bin starting with 0x900000, it should be okay. On other hand, if you try to load directly the elf file, the jtag probe should be able to detect automatically the load address.
Regarding the NOR flash, according to memory map from i.MX 6Dual/6Quad Applications Processor Reference Manual, NOR should be mapped at 0x8000000.
To use the NOR flash, you should modify the linker file in order to place the code in NOR flash instead of OCRAM, but before doing this, please check on your board if you have any NOR flash chip. What imx6dl board do you use?
Retrieving data ...