Keil 中 Bin 文件各段地址分析

相关信息:it

  1. scatter文件定义: LR_IROM1 0x00001800 0x0003E800 { ; load region size_region ER_IROM1 0x00001800 0x0003E800 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x1FFF8000 0x00008000 { ; RW data .ANY (+RW +ZI) } }io

  2. 编译信息: Program Size: Code=35080 RO-data=1848 RW-data=168 ZI-data=47208编译

  3. Bin文件SP地址:0x1FFFD510 问题:class

  4. RAM的空间分配im

  5. 如何计算出SP的地址di

答: stack是ZI的一部分,bin中第一个int是MSP,至关于stack的limit address,计算公式为:起始地址(0x1FFF8000)+RW size(0xA8)+ZI Size(0x5068)+Stack Size(0X400)=0x1FFFD510。本例中ZI Size分为两部分,分别放在0x1FFF8000和0x20000000起始的两段RAM中,Size分别为0x5468和0x6400。文件