11.3日总结前一周收获

1.boot区的程序配置为0x0000-0x0c00,app区程序配置为0x0c00开始,程序区会有一个字节冲突呢,就是boot区的末尾0x0c00和APP区的起始0x0c00,但是一般不会用完,并且冲突的时候在使用合并软件合并时会有提醒
2.BOOT区也可以使用中断,与不使用中断的架构不同,需要重新的去配置中断向量映射表。51单片机的中断向量表只有一个,两个区都使用,需要中断向量表重映射。
3.单片机软件复位时,xdata数据不会清零(A51文件里配置不清零,配置A51里的xdatastart和xdatalen,起始和长度相加等于XDATA的总大小,也就是外部RAM大小)若配置为起始从0开始,并且长度等于XDATA空间大小,则每次软件复位时所有的XDATA变量都会被清零。注意,RAM变量若不清零,则每次上电值都是随机值,RAM掉电丢失大概在0.8V左右。
4.升级时考虑程序在云端,不要一直配置本地程序,然后升级后发现与配置不同,有可能是云端程序没有改!
5.由于不清零的XDATA变量在每次上电时都是随机值,所以在判断升级标志时,可以多设置几个变量,防止随机值与设定值重合,并且在使用该变量后一定注意对该值进行清零,这样即使重合了,在看门狗时间到了后也会复位重启,这时候的变量值已被清零,不会再次重合误进BOOT程序。

posted @ 2024-11-03 17:09  小智001  阅读(21)  评论(0)    收藏  举报