![]() |
發(fā)布時(shí)間: 2020-2-15 18:29
正文摘要:想想來這個(gè)論壇挺久了,也在這學(xué)了不少東西,本著回饋論壇,回饋網(wǎng)友的心態(tài),發(fā)一篇關(guān)于OTA的貼,不喜勿噴,隨著現(xiàn)在科技的發(fā)展,市面上出現(xiàn)很多帶wifi,藍(lán)牙等智能產(chǎn)品,為滿足人們對(duì)產(chǎn) ... |
厲害,試一試 |
hongshi123 發(fā)表于 2022-10-27 09:33 新站STCAI 還是從 STC-ISP V6.90T 以上版本的 ISP燒錄/輔助開發(fā)工具包一體化軟件的//資料下載// 專欄 中下載 開源的 C語言代碼, 開源的原理圖 |
51hei截圖20221027102901.jpg (164.21 KB, 下載次數(shù): 112)
yuanyijie 發(fā)表于 2021-7-3 09:18 你好 能否請(qǐng)教下怎么做 最近在做51單片機(jī)升級(jí) |
我也做過IAP51單片機(jī)在線升級(jí)功能,大致國過程和你的差不多,但比你的簡單 我的項(xiàng)目比較大,需要用到64KROM,所以外置EEPROM,有更新先下載到EEPROM并驗(yàn)證一次 ROM劃分兩部分APP區(qū)(地址從0x0000開始)和UPDATE區(qū),UPDATE只負(fù)責(zé)把EEPROM中的新APP程序?qū)懭雴纹瑱C(jī)APP區(qū),驗(yàn)證升級(jí)和程序下載命令等都在APP中,這樣就能隨時(shí)更新下載驗(yàn)證指令了。 UPDATE區(qū)程序需要偏置到單片機(jī)FLASH末尾處,同時(shí)APP區(qū)也備份UPDATE程序,用來驗(yàn)證是否正確。需要升級(jí)時(shí)使用指針函數(shù)跳轉(zhuǎn)到UPDATE區(qū),升級(jí)完單片機(jī)復(fù)位即可。 |
have a look |
你好 遠(yuǎn)程升級(jí)那部分有完整的代碼嗎 能分享下嗎 |
yuanyijie 發(fā)表于 2021-7-3 09:18 你好!我正在自學(xué)做一個(gè)51單片機(jī)用1K xmodem升級(jí)的項(xiàng)目,請(qǐng)問可以請(qǐng)教源碼嗎?謝謝! |
請(qǐng)問怎么read和write單片機(jī)flash |
yuanyijie 發(fā)表于 2021-7-3 09:18 有道理,受教了 |
yuanyijie 發(fā)表于 2021-7-3 09:13 有道理 |
INTERRUPT_OFFSET EQU 0X0600 ;中斷偏移量 CSEG AT 0X0000;絕對(duì)地址 ?C_STARTUP: LJMP STARTUP1 ;中斷向量地址 ORG 0X0003;相對(duì)地址(偏移地址) LJMP INTERRUPT_OFFSET + $ ;INT0中斷 ORG 0X000B LJMP INTERRUPT_OFFSET + $ ;T0中斷 ORG 0X0013 LJMP INTERRUPT_OFFSET + $ ;INT1中斷 ORG 0X001B LJMP INTERRUPT_OFFSET + $ ;T1中斷 ORG 0X0023 LJMP INTERRUPT_OFFSET + $ ;UART1中斷 ORG 0X002B LJMP INTERRUPT_OFFSET + $ ;WDT中斷 ORG 0X0033 LJMP INTERRUPT_OFFSET + $ ;LVD中斷 ORG 0X003B LJMP INTERRUPT_OFFSET + $ ;UART2中斷 ORG 0X0043 LJMP INTERRUPT_OFFSET + $ ;SPI中斷 ORG 0X004B LJMP INTERRUPT_OFFSET + $ ;IIC中斷 ORG 0X0053 LJMP INTERRUPT_OFFSET + $ ;T3中斷 ORG 0X005B LJMP INTERRUPT_OFFSET + $ ;T4中斷 ORG 0X0063 LJMP INTERRUPT_OFFSET + $ ;PWM中斷 ORG 0X006B LJMP INTERRUPT_OFFSET + $ ;T5中斷 ORG 0X0073 LJMP INTERRUPT_OFFSET + $ ;CTK中斷 ORG 0X007B LJMP INTERRUPT_OFFSET + $ ;ADC中斷 ORG 0X0083 LJMP INTERRUPT_OFFSET + $ ;INT2-INT7中斷 ORG 0X008B LJMP INTERRUPT_OFFSET + $ ;INT8-17中斷 ORG 0X0093 LJMP INTERRUPT_OFFSET + $ ;P2INT中斷 RSEG ?C_C51STARTUP;自動(dòng)分配地址 ;CSEG AT 0X0700;指定APP起始地址 我做的是把BOOTLOAD程序放在0X0000-0X0600處的,使用XMODEM協(xié)議進(jìn)行下載 |
boboxuexi 發(fā)表于 2021-7-1 09:10 從APP2拷貝數(shù)據(jù)到APP1的時(shí)候,剛好擦除了扇區(qū)0而還沒寫入時(shí),突然掉電了,怎么能跳轉(zhuǎn)到BOOTLOAD(0X6000)程序呢位置呢? |
yuanyijie 發(fā)表于 2021-6-30 10:21 什么風(fēng)險(xiǎn)呢? |
存在風(fēng)險(xiǎn)哦 |
樓上試,代碼不全嘛,我沒有51單片機(jī),有的話我也來試了 |
C51 代碼不全, 無法實(shí)現(xiàn)樓主 說的 功能, 不信 , 你們 試一試 , 樓主 ,也就是 一個(gè) 方向 , 方案, 想專研的人 可以考慮 安裝這個(gè)思路去實(shí)現(xiàn), 但是不一定會(huì)成功, 說了 這只是方案! |
高手啊,啟動(dòng)跳轉(zhuǎn)改.A51好像可以跳吧 |
高手,這是高手 |
hei51com 發(fā)表于 2020-5-12 23:07 多謝夸獎(jiǎng) |
51也能串口升級(jí),會(huì)玩 |
![]() |
樓主真的很用心呀 |
百度 “51 OTA”,竟然發(fā)現(xiàn)有被復(fù)制到別人的論壇。 |
正好需要!!! |
這個(gè)有意思![]() |
chinayanhui 發(fā)表于 2020-2-23 13:38 51系列有很多品牌,具體要看規(guī)格書 |
一直有一個(gè)疑問想問一下樓主 就是51單片機(jī)在運(yùn)行的過程中可以讀寫程序區(qū)的flash嗎? |
xyz_123 發(fā)表于 2020-2-22 10:29 Small:變量存儲(chǔ)在內(nèi)部ram里; Large:變量存儲(chǔ)在外部Ram里,使用16位間接尋址;所以程序大我們一般選 large app1可以放置再0x100,這個(gè)地址避開中斷向量就可以,個(gè)人愚見。 |
編譯bootload時(shí), Memory Model選Large: variables in XDATA有何講究,用Small可以嗎? 不勾選Use On-chip ROM有何講究? 編譯App1時(shí), App1的起點(diǎn)放在0x1000有何講究?可以放在其它處,例如0x100嗎? |
york_feng 發(fā)表于 2020-2-20 11:34 過獎(jiǎng)了 |
不錯(cuò),會(huì)玩! |
Powered by 單片機(jī)教程網(wǎng)