Boot Loader与IAP相应的设置

    IAP升级的APP程序可分为Flash APP和SRAM APP,不同的APP有不同的程序设置地址,同时,中断向量表的偏移地址也要进行相应的设置。

Flash APP

      设置IROM1的起始地址为Flash内存起始地址的适当偏移量,结束地址为Flash的结束地址,则偏移前的空间用于Boot Loader,偏移后的空间用于Flash APP。

      例:若Flash的内存地址为0x08000000,大小为0x40000(256k),设置IROM1为0x08008000,size为0x38000(32k)

              则前面32k给Boot loader,后面224k给Flash APP

SRAM APP

       例:若SRAM的起始地址为0x2000000,大小为48k,设置IROM1起始位0x20001000,大小为0xA000(40k),IRAM1为0x2000B000,大小为0x1000(4k)

                 则可知0x20000000~0x20001000的4k 空间用于BootLoader,之后的40K用于存放APP,最后4k用于APP程序的内存

中断向量表的偏移地址设置

         不论是Flash APP还是SRAM APP,其中断向量表的偏移地址都应设置为APP程序的起始地址

     

IAP希望使用的文件是bin文件而非Hex文件,原因是Hex文件比bin文件多了一些机器码的存储地址,供烧写程序的软件使用。烧写hex文件时,不需要用户指定地址,而烧写bin文件时需要用户自行指定地址;且Hex文件用ASCII码表示二进制,文件较大。

MDK有自带的将.axf转换为bin文件的工具fromelf.exe,在Options for Target的/user/After Build中设置Run #1设置运行fromelf.exe

猜你喜欢

转载自blog.csdn.net/yhl_sophia/article/details/82179872
今日推荐