OAD镜像大小困惑
想问一下以下代码中: 红色标记数值的大小 是根据自己程序大小设置的吗?
如果是,该怎么设置,表示不是很明白。我不做修改,直接按照OAD手册设置,程序更新100%后,单片机死机。
希望论坛的 坛友们指导下。
谢谢啦。
#if !defined OAD_IMG_A_PAGE
#define OAD_IMG_A_PAGE 1
#define OAD_IMG_A_AREA 62
#endif
#if !defined OAD_IMG_B_PAGE
// Image-A/B can be very differently sized areas when implementing BIM vice OAD boot loader.
#if defined FEATURE_OAD_BIM
#define OAD_IMG_B_PAGE 8
#else
#define OAD_IMG_B_PAGE 63
#endif
#define OAD_IMG_B_AREA (124 - OAD_IMG_A_AREA)
#endif
Hui,
可以自己设置。
设置完这个之后,还得同时修改xcl文件。
这个是当你imageB比较大的时候,用较小的imageA只存放OAD profile时可以用。
你可以参考这个代码:
http://processors.wiki.ti.com/index.php/BLE_Large_Image_OAD
Yan,
你好,感谢你的解答,我打开 SimpleBLEPeripheral 工程 分别 修改 Img A OAD_IMAGE_VERSION 0x0002 ,Img B OAD_IMAGE_VERSION 0x0005
但是更新固件时,为何 版本号不变,如下图: 是还需要修改其他地方吗?
Hui,
你有在工程options 里面的preprocessor 中定义了 OAD_IMAGE_VERSION 吗?
Yan,
你好,问题已解决。
我还有个疑惑,如下:
编译自己的程序得到
111 755 bytes of CODE memory (+ 15 221 range fill )
34 bytes of DATA memory (+ 94 absolute )
6 418 bytes of XDATA memory
194 bytes of IDATA memory
8 bits of BIT memory
845 bytes of CONST memory
而生成的 .bin文件大小 是124K
生成的 HEX 文件大小是 349K
他们有联系吗? 无限升级里限制的 程序大小是多少? 怎么查看自己 生成的 ImgA 和Img B是否符合?
希望得到解答,谢谢!
Hui,
bin 文件的大小才是真正的会占用flash空间的大小。
hex文件的大小和实际占用flash的大小无关。
你只要看你的.map文件就可以判断生成的固件是否符合了。
发现我生成的 镜像版本号,在添加 OAD_IMAGE_VERSION 声明后,生成的版本查看 都是 1,不加OAD_IMAGE_VERSION声明,生成的版本查看都是0,
不知道怎么搞的,求指导。
我之前都试过, 没有效果呢!
--------------------
气相色谱仪