Addresses write binary,elf file of sdk

cancel
Showing results for 
Search instead for 
Did you mean: 

Addresses write binary,elf file of sdk

646 Views
julianmp
Contributor II

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?

Labels (1)
0 Kudos
4 Replies

523 Views
cosmin_stoica
NXP Employee
NXP Employee

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

0 Kudos

523 Views
cosmin_stoica
NXP Employee
NXP Employee

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 

0 Kudos

523 Views
julianmp
Contributor II

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

0 Kudos

523 Views
julianmp
Contributor II

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)

0 Kudos