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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3515|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

請問大佬怎么用STC/IAP15F2K60S2單片機(jī)實(shí)現(xiàn)IAP在線升級程序的方法

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

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

升級代碼的區(qū)間

升級代碼的區(qū)間

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

ISP下載程序入口地址

ISP下載程序入口地址

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

程序下載地址

程序下載地址

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

keil5配置

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

使用道具 舉報

沙發(fā)
ID:624769 發(fā)表于 2022-5-30 18:53 | 只看該作者
要實(shí)現(xiàn)自定義下載編程, 需要IAP 系列單片機(jī),你用STC系列是實(shí)現(xiàn)不了的……
回復(fù)

使用道具 舉報

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

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

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

圖片5.png
回復(fù)

使用道具 舉報

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

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

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

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

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

回復(fù)

使用道具 舉報

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

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

使用道具 舉報

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

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

使用道具 舉報

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

是的,最近在弄這個,發(fā)現(xiàn)好多坑,
回復(fù)

使用道具 舉報

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

寫的很詳細(xì) 贊一個
回復(fù)

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕成人在线 | 五月天婷婷激情 | 亚洲欧洲视频 | 成人在线免费网站 | 亚洲在线中文字幕 | 国产精品久久久久久一区二区三区 | 91.xxx.高清在线 | 成年人免费在线视频 | 欧美一区二区三区国产 | 北条麻妃一区二区三区在线观看 | 人人干人人艹 | 中文字幕 在线观看 | 午夜精品一区二区三区免费视频 | 亚洲小视频在线播放 | 久久综合一区二区三区 | 日本不卡一区二区三区在线观看 | 婷婷色网 | 激情91| 中国一级特黄真人毛片 | 日本高清视频在线播放 | 久草视频观看 | 一区二区三区四区在线 | 国产精品久久久久久久午夜 | 欧美日韩中文在线 | 99精品欧美一区二区蜜桃免费 | www..99re| 日韩欧美精品 | 污片在线免费观看 | 国产精品久久久久久亚洲调教 | 欧美久久久久久 | 亚洲精品一区中文字幕 | 成人h动漫亚洲一区二区 | 久久久久无码国产精品一区 | 91九色麻豆 | 亚洲精品视频二区 | 7799精品视频天天看 | 日韩视频在线观看一区二区 | 国产欧美一区二区三区在线看 | 少妇久久久久 | 国产一区二区在线免费观看 | 天天摸天天干 |