找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2045|回復(fù): 1
收起左側(cè)

C8051f121、C8051F500串口升級成功

[復(fù)制鏈接]
ID:884739 發(fā)表于 2022-3-13 23:31 | 顯示全部樓層 |閱讀模式
C8051f121、C8051F500串口升級成功
了解單片機(jī)如何在flash中運(yùn)行程序的
了解hex文件轉(zhuǎn)換成二進(jìn)制文件在flash中的情況。
了解flash擦除原理
了解單片機(jī)flash中的機(jī)器碼的含義
——————————————————————————————
1、單片機(jī)如何在flash中運(yùn)行程序
以C8051F系列為例,單片機(jī)的程序經(jīng)過keil等IDLE軟件編譯成hex文件,然后通過仿真器燒寫至單片機(jī)的flash里,hex首先得轉(zhuǎn)換成二進(jìn)制文件,然后寫入flash,以500為例,flash為64KB,從0x0000H起始到0xFFFF結(jié)束。
                                                                                                       
如表所示,程序正常的機(jī)器碼從地址0x0000H開始,最開頭的一般都是02,02代表跳轉(zhuǎn),跳轉(zhuǎn)到接下來的后兩個字節(jié)xx xx,第四個字節(jié)往后會配置一些中斷向量及其他一些操作。我們想要上電后執(zhí)行boot的程序就需要把boot的程序放置在02 xx xx 的這個xx xx位置,然后boot程序里執(zhí)行串口的接收程序,將串口接收的8位的數(shù)據(jù)(也就是機(jī)器碼)依次燒寫至flash的地址0x0003之后的位置,需要注意的是,boot程序執(zhí)行完之后需要跳轉(zhuǎn)的app的程序,而boot程序需要跳轉(zhuǎn)的位置就是儲存app跳轉(zhuǎn)命令的地方,要燒寫的程序分兩個部分,前三個字節(jié)和后面的部分,前三個字節(jié)的儲存位置解釋boot程序需要跳轉(zhuǎn)的位置。上電->boot->儲存app跳轉(zhuǎn)指令的位置->執(zhí)行app跳轉(zhuǎn)指令(這個指令本來應(yīng)該是在flash前三個字節(jié)),這樣就實(shí)現(xiàn)了boot。

未完待續(xù)。。。
————————————————
版權(quán)聲明:本文為CSDN博主「blueszhous」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/blueszhous/article/details/120049356

回復(fù)

使用道具 舉報(bào)

ID:31162 發(fā)表于 2023-3-25 10:56 | 顯示全部樓層
期待后續(xù)代碼,非常感興趣
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表