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 @JulianMP,
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?
Best regards,
Cosmin
Hello julianmp,
It's highly dependent on how you have linked your binary. If the board is imx6dl, then you can execute your application from:
- OCRAM
- 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.
Best regards,
Cosmin
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, cosminstoica9Addresses write binary,elf file of sdk
Julian
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 symbols
Common symbol size file
errno 0x4 /mygcc3/bin/../arm-none-eabi/lib/\libc.a(lib_a-reent.o)
Memory Configuration
Name Origin Length Attributes
OCRAM 0x00900000 0x00020000 xrw
DDR 0x10000000 0x40000000 xrw
*default* 0x00000000 0xffffffff
Linker script and memory map
LOAD /mygcc3/bin/../lib/gcc/arm-none-eabi/4.7.2/\crtbegin.o
LOAD /mygcc3/bin/../lib/gcc/arm-none-eabi/4.7.2/\crti.o
LOAD /mygcc3/bin/../lib/gcc/arm-none-eabi/4.7.2/\crtend.o
LOAD /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)