久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 基于IAR平臺STC8A8K64S4A12單片機的一種bootloader實現更新程序 [打印本頁]

作者: 沒有你    時間: 2019-12-15 23:50
標題: 基于IAR平臺STC8A8K64S4A12單片機的一種bootloader實現更新程序
    STC8A8K64S4A12單片機程序燒錄一般用STC官方提供的stc-isp軟件,其燒錄原理是:STC8A8K64S4A12上電會先進入官方固化的ISP區執行代碼,代碼會對串口進行檢測,一旦發現上位機(PC)有發送有效數據,STC8A8K64S4A12就可以執行程序燒錄。每次程序燒錄,都要重新上電,或者軟件重啟才能進入ISP區,也只要在ISP區,串口燒錄才是有效的,而且官方在SP區固化的代碼僅支持串口燒錄,發送的串口數據要按照STC官網給的格式發送。
   另外一種燒錄程序的方式就是自己寫一個引導程序bootloader來實現程序的燒錄,比如用bootloader接收串口數據、讀取外掛flash的數據或者SD卡數據,然后一邊讀數據、一邊燒錄應用程序。STC8A8K64S4A12一上電就執行ISP區代碼,超時后,會執行bootloader程序,bootloader會檢查是否要更新程序,如果沒有,就直接跳去執行應用程序。這種方法和好處是可以不用串口去更新程序,因為串口要再加一顆MCU,或者要用專用的上位機,多了成本。通過STC8A8K64S4A12主動拷貝數據來更新程序可以說是一種省成本的方式。
   下面我用一個簡單的例子來說明一種簡單BIM的更新程序方式。
   首先新建一個應用程序工程IMAGE_A,里面放一個點燈的操作。然后把代碼的起始地址設在0x27FF。


編譯后產生的hex文件用stc-isp軟件打開,可以看到全部代碼的數據。


   然后在IAR平臺新建一個BIM工程來作為bootloader,把IMAGE_A的代碼數據存放在一個hexfile[]數組里面,執行main函數的時候,會將數組寫入到以0x27FF起點的內部flash中,然后跳轉到0x27FF執行IMAGE_A代碼。


編譯BIM工程,產生的hex文件用stc-isp軟件燒錄到STC8A8K64S4A12中,打開串口可以看到寫flash的過程


實物可以看到P5_5驅動的LED燈亮了,說明程序正常跳轉。


本例子是簡單的實現程序的燒錄,后面可以完善一下BIM工程,添加從外部flash中拷貝程序到內部flash的功能。

作者: jeeseliu    時間: 2019-12-22 17:21
感謝分享




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品久久久久久一区二区三区 | 国产91久久久久 | 人成精品| 97caoporn国产免费人人 | 亚洲精品专区 | 免费在线成人网 | 亚洲一区视频在线 | 日韩一区二区三区在线视频 | 亚洲成人一二区 | 欧美成人在线影院 | 综合网视频 | 欧美日韩电影一区 | 福利片一区二区 | 成人福利视频网站 | 久久亚洲国产 | 久久九精品 | 亚洲视频精品在线 | 伊人伊成久久人综合网站 | 日日骚网 | 日韩久久久久久 | 久草.com| 欧美在线一二三 | 久久久女女女女999久久 | 国产高清在线视频 | 亚洲中午字幕 | 色婷婷精品 | 欧美色综合天天久久综合精品 | 在线免费观看a级片 | 亚洲一区二区日韩 | 国产精品国产成人国产三级 | 毛片大全 | 欧洲免费视频 | 中文字幕在线视频精品 | 精品在线一区二区三区 | 免费国产视频在线观看 | 天堂中文资源在线 | 国产精品日韩欧美一区二区三区 | 成人毛片网 | 久久精品在线免费视频 | 亚洲精品www久久久久久广东 | 国产午夜精品久久久 |