Login

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

ARM Community: Memory Map of the image make me craze - ARM Community

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Memory Map of the image make me craze Memory Map of the image dose not match the bin file size Rate Topic: ****- 1 Votes

#1 User is offline   loflash 

  • Member
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 22-March 12

Posted 22 March 2012 - 01:56 AM

hi man,the content below is Memory Map that make by my rvds project, it show the image should be size 48K , but the bin file size is 34K, why ????



Memory Map of the image

Image Entry point : 0x57e00000

Load Region BOOT (Base: 0x57e00000, Size: 0x0000c000, Max: 0xffffffff, ABSOLUTE)

Execution Region LOAD (Base: 0x57e00000, Size: 0x00017efc, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x0000273c])

Base Addr Size Type Attr Idx E Section Name Object

0x57e00000 0x0000013c Code RO 2 * boot start.o
0x57e0013c 0x000003e4 Code RO 7 ll_init lowlevel_init.o
0x57e00520 0x00000008 Code RO 1467 * !!!main __main.o(c_a__un.l)
0x57e00528 0x00000038 Code RO 1531 !!!scatter __scatter.o(c_a__un.l)
0x57e00560 0x00000074 Code RO 1529 !!dczerorl2 __dczerorl2.o(c_a__un.l)
0x57e005d4 0x00000028 Code RO 1533 !!handler_copy __scatter_copy.o(c_a__un.l)
0x57e005fc 0x0000002c Code RO 1535 !!handler_zi __scatter_zi.o(c_a__un.l)
0x57e00628 0x00000010 Code RO 1498 .emb_text lib_init.o(c_a__un.l)
0x57e00638 0x00000244 Code RO 11 .text nand_cp.o
0x57e0087c 0x0000027c Code RO 34 .text uart.o
0x57e00af8 0x00000224 Code RO 50 .text main.o
0x57e00d1c 0x00000484 Code RO 65 .text lcd.o
0x57e011a0 0x00000500 Code RO 82 .text demo.o
0x57e016a0 0x00000020 Code RO 180 .text tx_bpi.o
0x57e016c0 0x00000020 Code RO 259 .text tx_byti.o
0x57e016e0 0x000000bc Code RO 298 .text tx_efc.o
0x57e0179c 0x00000130 Code RO 314 .text tx_efcle.o
0x57e018cc 0x00000180 Code RO 338 .text tx_efg.o
0x57e01a4c 0x00000020 Code RO 350 .text tx_efi.o
0x57e01a6c 0x00000290 Code RO 397 .text tx_ghs.o
0x57e01cfc 0x00000024 Code RO 427 .text tx_ihl.o
0x57e01d20 0x00000098 Code RO 451 .text tx_ike.o
0x57e01db8 0x00000170 Code RO 467 .text tx_qc.o
0x57e01f28 0x00000148 Code RO 479 .text tx_qcle.o
0x57e02070 0x00000020 Code RO 515 .text tx_qi.o
0x57e02090 0x0000050c Code RO 530 .text tx_qr.o
0x57e0259c 0x000004a0 Code RO 542 .text tx_qs.o
0x57e02a3c 0x000000bc Code RO 554 .text tx_sc.o
0x57e02af8 0x00000130 Code RO 566 .text tx_scle.o
0x57e02c28 0x00000184 Code RO 578 .text tx_sd.o
0x57e02dac 0x00000120 Code RO 590 .text tx_sg.o
0x57e02ecc 0x00000020 Code RO 602 .text tx_si.o
0x57e02eec 0x000000fc Code RO 617 .text tx_sp.o
0x57e02fe8 0x000000ec Code RO 629 .text tx_ta.o
0x57e030d4 0x0000029c Code RO 653 .text tx_tc.o
0x57e03370 0x000000b0 Code RO 665 .text tx_td.o
0x57e03420 0x000000e4 Code RO 701 .text tx_ti.o
0x57e03504 0x00000010 Code RO 723 .text tx_tide.o
0x57e03514 0x00000130 Code RO 795 .text tx_timi.o
0x57e03644 0x000001e4 Code RO 836 .text tx_tr.o
0x57e03828 0x00000084 Code RO 884 .text tx_tse.o
0x57e038ac 0x000000e4 Code RO 896 .text tx_tsle.o
0x57e03990 0x0000041c Code RO 908 .text tx_tsus.o
0x57e03dac 0x000002fc Code RO 932 .text tx_tte.o
0x57e040a8 0x00000090 Code RO 944 .text tx_tto.o
0x57e04138 0x000000b8 Code RO 1076 .text txe_efc.o
0x57e041f0 0x000000dc Code RO 1100 .text txe_efg.o
0x57e042cc 0x00000120 Code RO 1124 .text txe_qc.o
0x57e043ec 0x000000a0 Code RO 1160 .text txe_qr.o
0x57e0448c 0x000000a0 Code RO 1172 .text txe_qs.o
0x57e0452c 0x000000c0 Code RO 1184 .text txe_sc.o
0x57e045ec 0x00000088 Code RO 1208 .text txe_sg.o
0x57e04674 0x00000040 Code RO 1220 .text txe_sp.o
0x57e046b4 0x00000148 Code RO 1244 .text txe_tc.o
0x57e047fc 0x00000378 Code RO 1400 .text threadX_cpu.o
0x57e04b74 0x00000094 Code RO 1429 .text target.o
0x57e04c08 0x000000c0 Code RO 1449 .text _printf_dec.o(c_a__un.l)
0x57e04cc8 0x00000044 Code RO 1451 .text __0sprintf.o(c_a__un.l)
0x57e04d0c 0x00000010 Code RO 1453 .text aeabi_memset.o(c_a__un.l)
0x57e04d1c 0x00000058 Code RO 1455 .text rt_memclr_w.o(c_a__un.l)
0x57e04d74 0x00000044 Code RO 1457 .text rt_memclr.o(c_a__un.l)
0x57e04db8 0x00000068 Code RO 1459 .text rt_memcpy_v6.o(c_a__un.l)
0x57e04e20 0x00000064 Code RO 1461 .text strlen.o(c_a__un.l)
0x57e04e84 0x00000164 Code RO 1463 .text aeabi_sdiv.o(c_a__un.l)
0x57e04fe8 0x00000048 Code RO 1469 .text kernel.o(c_a__un.l)
0x57e05030 0x00000004 Code RO 1471 .text aeabi_idiv0.o(c_a__un.l)
0x57e05034 0x00000120 Code RO 1473 .text _printf_intcommon.o(c_a__un.l)
0x57e05154 0x00000054 Code RO 1475 .text _printf_char_common.o(c_a__un.l)
0x57e051a8 0x00000014 Code RO 1477 .text _sputc.o(c_a__un.l)
0x57e051bc 0x0000006c Code RO 1479 .text rt_memcpy_w.o(c_a__un.l)
0x57e05228 0x0000002c Code RO 1481 .text rtudiv10.o(c_a__un.l)
0x57e05254 0x00000018 Code RO 1483 .text sys_exit.o(c_a__un.l)
0x57e0526c 0x0000000c Code RO 1485 .text rt_div0.o(c_a__un.l)
0x57e05278 0x00000490 Code RO 1487 .text __printf.o(c_a__un.l)
0x57e05708 0x00000034 Code RO 1490 .text _printf_outstr_char.o(c_a__un.l)
0x57e0573c 0x00000014 Code RO 1492 .text _printf_input_char.o(c_a__un.l)
0x57e05750 0x00000018 Code RO 1494 .text exit.o(c_a__un.l)
0x57e05768 0x000000fc Code RO 1496 .text stkheap1.o(c_a__un.l)
0x57e05864 0x00000108 Code RO 1499 .text lib_init.o(c_a__un.l)
0x57e0596c 0x00000004 Code RO 1502 .text boardinit1.o(c_a__un.l)
0x57e05970 0x0000000c Code RO 1504 .text boardinit2.o(c_a__un.l)
0x57e0597c 0x0000000c Code RO 1506 .text boardinit3.o(c_a__un.l)
0x57e05988 0x00000004 Code RO 1508 .text boardshut.o(c_a__un.l)
0x57e0598c 0x0000000c Code RO 1510 .text libspace.o(c_a__un.l)
0x57e05998 0x00000004 Code RO 1513 .text use_semi.o(c_a__un.l)
0x57e0599c 0x00000018 Code RO 1515 .text rt_raise.o(c_a__un.l)
0x57e059b4 0x00000004 Code RO 1517 .text cpuinit.o(c_a__un.l)
0x57e059b8 0x0000004c Code RO 1521 .text __raise.o(c_a__un.l)
0x57e05a04 0x0000014c Code RO 1523 .text defsig.o(c_a__un.l)
0x57e05b50 0x00000018 Code RO 1526 .text sys_wrch.o(c_a__un.l)
0x57e05b68 0x0000001c Code RO 1464 .text_udiv aeabi_sdiv.o(c_a__un.l)
0x57e05b84 0x00000004 Code RO 83 i.__ARM_get_argv demo.o
0x57e05b88 0x00000018 Code RO 1426 subr IRQ.o
0x57e05ba0 0x000001ec Code RO 1420 thread threadX_cpus.o
0x57e05d8c 0x0000000c Code RO 1519 x$fpl$fpinit fpinit.o(fz_avp.l)
0x57e05d98 0x00000011 Data RO 1488 .constdata __printf.o(c_a__un.l)
0x57e05da9 0x00000142 Data RO 1524 .constdata defsig.o(c_a__un.l)
0x57e05eeb 0x00000001 PAD
0x57e05eec 0x00000040 Data RO 1528 Region$$Table anon$$obj.o
0x57e05f2c 0x00001045 Data RW 66 .data lcd.o
0x57e06f71 0x00000003 PAD
0x57e06f74 0x00000020 Data RW 84 .data demo.o
0x57e06f94 0x00000008 Data RW 181 .data tx_bpi.o
0x57e06f9c 0x00000008 Data RW 260 .data tx_byti.o
0x57e06fa4 0x00000008 Data RW 351 .data tx_efi.o
0x57e06fac 0x00000004 Data RW 452 .data tx_ike.o
0x57e06fb0 0x00000008 Data RW 516 .data tx_qi.o
0x57e06fb8 0x00000008 Data RW 603 .data tx_si.o
0x57e06fc0 0x000000e0 Data RW 702 .data tx_ti.o
0x57e070a0 0x00000030 Data RW 796 .data tx_timi.o
0x57e070d0 0x00000018 Data RW 1430 .data target.o
0x57e070e8 0x00000f18 PAD
0x57e08000 0x00004000 Data RW 8 mmudata lowlevel_init.o
0x57e0c000 0x000003ec Zero RW 85 .bss demo.o
0x57e0c3ec 0x00000254 Zero RW 398 .bss tx_ghs.o
0x57e0c640 0x00000180 Zero RW 703 .bss tx_ti.o
0x57e0c7c0 0x00000114 Zero RW 797 .bss tx_timi.o
0x57e0c8d4 0x000085c8 Zero RW 1401 .bss threadX_cpu.o
0x57e14e9c 0x00003000 Zero RW 1431 .bss target.o
0x57e17e9c 0x00000060 Zero RW 1511 .bss libspace.o(c_a__un.l)
0

#2 User is offline   ttfn 

  • Super Contributor
  • PipPipPipPip
  • Group: Members
  • Posts: 576
  • Joined: 29-September 06

Posted 22 March 2012 - 08:51 AM

You have a number of ZI (zero initialized) regions. Rather than store loads of 0s in the binary, must tools produce a table of ZI regions in the binary. Then at run-time library init code sets the memory to 0s. You trade a reduction in image size for a run-time penalty. Usually the run-time penalty is relatively small, and is more than out wieghed by the reduction in image size.

If you look through the tools docs (ARM or GCC) you find an option to turn this off.
1

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic