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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3567|回復: 9
打印 上一主題 下一主題
收起左側

請問大佬怎么用STC/IAP15F2K60S2單片機實現IAP在線升級程序的方法

[復制鏈接]
回帖獎勵 1 黑幣 回復本帖可獲得 1 黑幣獎勵! 每人限 1 次(中獎概率 50%)
跳轉到指定樓層
樓主
我在燒錄的時候不知道怎么跳到bootload區,只是在APP程序區寫FLASH,我發現只要是寫0X0000-0X0800之間程序就會卡死,我是那里寫的不對嗎?
因為STC15F2K60S2單片機只有512字節的ISP區在0XF000-0XF1FF,是不是我現在這樣定義就是把BOOT地址定義在了0x0000-0x0200區間了,請大佬幫忙看看是我的思路哪里出現了問題,第一次接觸IAP升級。

51hei圖片20220530170005.png (57.52 KB, 下載次數: 85)

升級代碼的區間

升級代碼的區間

圖片1.png (4.86 KB, 下載次數: 89)

ISP下載程序入口地址

ISP下載程序入口地址

圖片2.png (4.3 KB, 下載次數: 95)

程序下載地址

程序下載地址

圖片3.png (24.18 KB, 下載次數: 85)

keil5配置

keil5配置
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:624769 發表于 2022-5-30 18:53 | 只看該作者
要實現自定義下載編程, 需要IAP 系列單片機,你用STC系列是實現不了的……
回復

使用道具 舉報

板凳
ID:417328 發表于 2022-5-31 08:27 | 只看該作者
188610329 發表于 2022-5-30 18:53
要實現自定義下載編程, 需要IAP 系列單片機,你用STC系列是實現不了的……

我用的是STC的IAP系列單片機:IAP15F2K60S2單片機,不要答非所問了

圖片5.png (61.07 KB, 下載次數: 88)

圖片5.png
回復

使用道具 舉報

地板
ID:624769 發表于 2022-5-31 11:38 | 只看該作者
513489465 發表于 2022-5-31 08:27
我用的是STC的IAP系列單片機:IAP15F2K60S2單片機,不要答非所問了

STC15F2K系列單片機里面, 可以支持 IAP可編程的單片機,只有  IAP15F/L2k61S, 以及 IAP15F/L2k61S2,這兩款。但是,你的問題里寫的型號 確是 STC15F2K60S2,   即便,我提了之后,你依然回答的是:  IAP15F2K60S2   而不是: IAP15F2K61S2 ……  然后,還是我答非所問了?你可以翻翻論壇 問答區記錄, 用錯型號,造成實現不了功能的  比比皆是。對,也許你不是其中的一份子, 但是,用到 IAP 自定義下載功能的,對于程序編寫的嚴謹程度,非常高,嚴謹的習慣應該從型號開始,你覺得呢?

從你后發的下載器的照片來看,你用的型號應該沒錯,那么來具體討論一下你的問題。

IAP 可編程自定義下載, 說白了,就是自己寫一個 串口接收程序,用來接收上位機發來的程序數據,然后,利用操作 IAP 寄存器,把串口收到的程序寫入單片機的Flash.  所以,這個程序 要滿足3個條件。
1)串口接收的代碼,(可以不依賴串口中斷的串口接收代碼)
2)寫Flash的代碼。
3)在改寫Flash 區域的時候,不會誤刪除自己本身的(1)(2)兩部分代碼。
所以,一般……  自定義可編程程序, 通常我們命名為: ISPPROGRAM  的程序我們一般放在FLASH的末尾,以IAP15F2K61S2  為例,就是放在 0xF000 的位置。
你的(圖片1)里面 ISPPROGRAM 定義在 0x0000 我不知道你如何設計的,我不做過多評價,要知道0x0000可是程序啟動后的入口啊……
至少,不用匯編,用C來的寫的話,我是沒法做到把ISPPROGRAM 放在 程序區 從 0x0000  開始, 0x0003  0x000B  每8個字節一個坑的,那么多中斷向量的地方,存放自定義可編程程序。
并且,自定義可編程程序的目的是什么?  改寫程序,改寫程序,你能不牽涉到中斷這些? 這些東西都不需要改?自定義下載程序放在 這塊地方,就算你……, 沒有就算了,我覺得是寫不出來的。

我不清楚你說的 BootLoad 區是指的什么? 如果是單片機自己的 bootload 區,那么你是訪問不了的,是出廠后寫在你不可訪問區域的也不會存在于0x0200的。
如果是你自己寫的程序,那么,你項目中是否把 你自己定義的 Bootload  定向在 0x0200 了呢? 不要說 define 那只是定義一個字符串
程序的所在位置強制定義在指定地址, C語言是通過 _at_  匯編 通過 AT 或者 ORG 來指定的.
就你貼的這些代碼,除了看出ISPPROGRAM   0x0000   是極度不合理之外,其他都看不出來。

回復

使用道具 舉報

5#
ID:417328 發表于 2022-6-6 08:49 | 只看該作者
188610329 發表于 2022-5-31 11:38
STC15F2K系列單片機里面, 可以支持 IAP可編程的單片機,只有  IAP15F/L2k61S, 以及 IAP15F/L2k61S2,這兩 ...

只要是我是小白第一次弄這個,也不知道Bootload程序到底怎么寫,我是寫兩個代碼區合并嗎?我要是知道BOOTLOAD程序的寫法就不請教您了,我想的是:程序上電先運行判斷是否進入app程序和升級程序,放在0X
0000地址也可以阿
回復

使用道具 舉報

6#
ID:624769 發表于 2022-6-6 16:40 | 只看該作者
513489465 發表于 2022-6-6 08:49
只要是我是小白第一次弄這個,也不知道Bootload程序到底怎么寫,我是寫兩個代碼區合并嗎?我要是知道BOOT ...

感覺怎么講不通了呢?
你說的 “bootload” 究竟是什么東西? 為什么要寫 “bootload” 程序? 如果是上電自檢,那是在系統自檢區的東西,不是你能改的,如果是你自己要寫一個 bootload2 程序,你想做成什么樣子? 和 ISPPROGRAM 的實質區別是什么?為什么要在 ISPPROGRAM 之外增加這么一個東西?  
單片機 上電后的默認流程  訪問bootload 區,檢查是否開始下載新程序還是 跳轉到 APP區啟動, 到此為止,都不是你可以插手的事情。
然后就是 0x0000  這里會有強制跳轉,開始運行 STARTUP.A51 里面的設定, 然后,再強制跳轉 開始執行 void main() 里面你設計的程序。  如果你不會匯編, 到此為止的所有操作,你依然不可以插手。
然后,才開始執行,你自己編寫的程序,這里開始才是你能插手的地方, 所以,你應該明白, 你想把東西寫在0x0000 到底是否切合實際了吧?  
再來說,ISPPROGRAM 這個程序,這個程序,你看過沒? 是你自己寫的么? 如果是官方提供的 樣本,你會發現,是匯編寫的, 真正把 ISPPROGRAM 寫在 0xF000  處 依靠的是這個程序里的  ORG 偽指令,和你C 里面的 define 沒有1毛錢的關系, 你說你上傳圖片里,有ISPPROGRAM這一塊代碼么? 你連程序怎么運作的原理都沒搞明白,就試圖修改,是不是急了一點?  
IAP 在線自定義下載,牽涉到很多單片機的基礎認知。你沒有真正理解單片機的動作原理, 要么老老實實抄官方代碼,要么就不要動這一塊,尤其是 0x0000~0x01ff  這個區間,里面有多少坑,你根本就趟不過來。
回復

使用道具 舉報

7#
ID:417328 發表于 2022-6-7 13:44 | 只看該作者
188610329 發表于 2022-6-6 16:40
感覺怎么講不通了呢?
你說的 “bootload” 究竟是什么東西? 為什么要寫 “bootload” 程序? 如果是上 ...

是的,最近在弄這個,發現好多坑,
回復

使用道具 舉報

8#
ID:45879 發表于 2022-12-15 10:13 | 只看該作者
188610329 發表于 2022-6-6 16:40
感覺怎么講不通了呢?
你說的 “bootload” 究竟是什么東西? 為什么要寫 “bootload” 程序? 如果是上 ...

寫的很詳細 贊一個
回復

使用道具 舉報

9#
ID:1034262 發表于 2022-12-15 12:19 | 只看該作者
樓主,可以到STC官網下載官方的例程,百度stcai
回復

使用道具 舉報

10#
ID:1034262 發表于 2022-12-15 15:33 | 只看該作者
STC官網有完整的遠程更新例程,可以去STC官網下載。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜精品一区二区三区在线观看 | 亚洲一区视频 | 久久精品视频免费观看 | 欧美国产日韩在线观看成人 | 成人免费视频网站在线观看 | 99久久夜色精品国产亚洲96 | 亚洲午夜av久久乱码 | 男女那个视频 | 国产精品久久久亚洲 | 综合自拍| 久草院线 | 9久久婷婷国产综合精品性色 | 日韩欧美一区二区三区免费观看 | 婷婷色国产偷v国产偷v小说 | 久久午夜国产精品www忘忧草 | 淫片专区 | 国产一区二区三区视频 | 亚洲在线| 亚洲一级淫片 | 日韩视频一区二区三区 | 日本成人福利视频 | 欧美日韩综合一区 | 视频1区 | a在线视频 | 亚洲精品乱码久久久久久9色 | 国产精品美女在线观看 | 国产视频线观看永久免费 | 久久精品视频一区二区 | www.天堂av.com | 伊人一二三 | 国精日本亚洲欧州国产中文久久 | 日韩av一区二区在线 | 看真人视频一级毛片 | 中文字幕成人 | 免费麻豆视频 | 狠狠涩| 国久久| 亚洲精品一区二区三区 | 国产欧美日韩在线 | 日本中文字幕视频 | 免费看黄色小视频 |