cc2530 BOOTLOADER 问题
大家好,我是初次编写bootloader,我使用的是cc2530,需要在上面实现boot的程序作为ota功能的一个部分,实现的功能就是在开机时先进入到boot中,比较code版本号以及校验flash,之后将原有代码update。
我的方案是把划分一个page(2k)给boot,把boot和app的程序放在一起,编译成一个hex,把boot代码划分在0x0000到0x7ff的区间内。但是我对IAR IDE和51不熟悉,现在遇到一些问题,例如地址定位,通过 __near_func, #pragam location=, 等方式,将bootmain强制地址定位,同时将boot用到的借口函数和数据变量也定位到我的BOOT_CODE(0x000-0x7ff)的范围内,一开始我是直接写一个空的bootmain函数,里面直接jump到main函数,ok,这样没有任何问题,但是当我加入了读写spi flash(即外部flash)的操作后,发现原有ok的接口函数的地址都跑到我强制定位的外面了,而且代码会跑飞,请教哪位大仙,能够给予指点,是否哪位大仙有过类似的经历,能否与我分享一下经验,有没有什么文档对我解决这个问题有比较直接的帮助。
谢谢大家
应该可以找到现成的bootloader参考吧
Robin Feng 您好!请问一下哪有bootloader的现有例程?我用的是cc2538的,有cc2538的例程最好.如果有2530的可以参考下也可以。
请再TI网站下载Z-Stack Home 1.2.0 在安装到默认路径下的C:\Texas Instruments\Z-Stack Home 1.2.0\Projects\zstack\OTA\Boot\CC2538
CC2530的在C:\Texas Instruments\Z-Stack Home 1.2.0\Projects\zstack\OTA\Boot\CC2530
Alex Luu你好,请问你的问题解决了么。。我现在也准备编写一个bootloader。 可以分享下成功的思路么