今日研究一天SC的BOOTLOAD,首先是它的BOOT程序,我们只改了一点点参数直接拿过来用,然后把自己的APP程序中的串口函数改写了一下,它里面给了指令协议,直接套用,整理了一上午最后发现在APP程序中进不去BOOT程序,明明已经用串口助手给他发了命令,就是进不去,慢慢排查,发现接受不到帧头命令,后来才发现原来的我的串口0没有硬件电路,就离谱,白忙活一上午。
下午重新换了一块板子,把上午的串口函数部分搬过来直接用,终于可以进入到BOOT程序去了,直接用SC的ISP工具发命令,仔细看里面有起始地址的命令,因为我的程序起始地址和示例程序不一样,导致接到命令后识别不到地址,改正后发现可以正常烧录程序,但还是有问题,烧录完程序后,进入到了新的APP程序,但是板子没有正常跑起来,猜想是已经进入到了新APP程序,但是IAP写入的程序有问题,导致无法运行(因为给它发明了他没有回复,BOOT程序中是有回复指令),验证猜想,用烧录器只烧录APP程序后正常运行,猜想正确。
具体原因还没有找到,完全按照步骤来,也没有出现常见的问题,主要是ISP工具也提示更新完成了,但是程序跑不起来,不知道什么原因,已经问了厂家的技术人员等待答复。
BOOT(读EEPROM里的标志跳转APP,串口指令用于升级)-APP(串口指令跳转到BOOT程序)