像Ray LaMontagne一樣,我遇到了麻煩。智能手機(jī)麻煩,麻煩,麻煩,麻煩。我可以弄清楚我想要的應(yīng)用程序,并且我已經(jīng)得到了我需要的游戲(等等,我可能會(huì)將這些優(yōu)先級(jí)向后),但是傳輸我的所有圖像和數(shù)據(jù)會(huì)更加困難。似乎總會(huì)留下音樂或者無論出于什么原因拒絕備份的圖像。我認(rèn)為自己非常精明,但當(dāng)我拿到一部新的智能手機(jī)時(shí),我開始擔(dān)心,擔(dān)心,擔(dān)心,擔(dān)心。我甚至無法想象我是否正在嘗試從更大的設(shè)備傳輸數(shù)據(jù) - 從硬盤驅(qū)動(dòng)器獲取所有文件或更大的文件似乎會(huì)讓我更多的循環(huán)。
當(dāng)我購買新智能手機(jī)時(shí),銷售團(tuán)隊(duì)通過使用實(shí)用程序應(yīng)用程序幫助我完成,該應(yīng)用程序輕松地將我的數(shù)據(jù)從舊智能手機(jī)遷移到新智能手機(jī)。我不需要用三十根繩索和電纜掙扎,并且通過我的所有收藏品來搜索,以確定將要傳輸?shù)膬?nèi)容。現(xiàn)在借鑒這些經(jīng)驗(yàn)并將其應(yīng)用到您的工作中:您需要多久更換一次微控制器的固件?你多久希望能避免插入電纜的笨拙過程?簡(jiǎn)化此過程的一種方法是使用SD卡引導(dǎo)加載程序。
使用SD卡引導(dǎo)加載程序靈活更新
傳統(tǒng)上,使用編程電纜。如果您在空間受限的環(huán)境中工作,或者如果您像我一樣,并且您傾向于將未完成的任務(wù)留在整個(gè)地方,這可能會(huì)變得麻煩和繁瑣。此外,它適用于外部干擾。如果你乘坐電纜旅行并將桌子上的所有東西敲掉,該怎么辦?或者花幾個(gè)小時(shí)試圖找出為什么數(shù)據(jù)沒有傳輸只是為了意識(shí)到電纜沒有插入足夠緊的電纜?
在微控制器中,引導(dǎo)加載程序是一個(gè)特殊的程序,它接收來自的應(yīng)用程序固件外部源并將其寫入內(nèi)部程序存儲(chǔ)器。它往往占用空間小,位于程序存儲(chǔ)器的保留部分。當(dāng)微控制器上電并嘗試讀取外部媒體或資源中存在的最新固件時(shí),引導(dǎo)加載程序?qū)⒉脸绦虼鎯?chǔ)器中的現(xiàn)有固件并將新固件寫入其中。
您可以自定義您的引導(dǎo)加載程序從串行接口,LAN,外部介質(zhì)等獲取其新固件。但我個(gè)人偏好SD卡:它不需要是計(jì)算機(jī)上的復(fù)雜設(shè)置,它實(shí)際上是無線的。使用SD卡作為引導(dǎo)加載程序會(huì)將更新固件轉(zhuǎn)換為插入SD卡和重置微控制器的問題。
使用引導(dǎo)加載程序,可以在現(xiàn)場(chǎng)更新固件,并最大限度地中斷系統(tǒng)操作。此功能使引導(dǎo)加載程序,尤其是SD卡引導(dǎo)加載程序在嵌入式系統(tǒng)中非常有用,這些嵌入式系統(tǒng)可能需要在部署過程中進(jìn)行更新或故障排除。如果固件的規(guī)格可能需要隨著時(shí)間的推移而發(fā)展或定期更新,那么SD卡引導(dǎo)程序?qū)⑹惯@一過程變得更加容易。
確保微控制器有可用于引導(dǎo)加載程序和主應(yīng)用程序的空間。
不要將自己擊倒再次
SD卡引導(dǎo)加載程序背后的主要思想是引導(dǎo)加載程序?qū)腟D卡讀取主應(yīng)用程序的二進(jìn)制或十六進(jìn)制文件,并將該文件寫入微控制器的程序存儲(chǔ)器中。記住這個(gè)核心過程,這里還有一些需要考慮的問題:
程序存儲(chǔ)器分配:雖然擁有SD卡引導(dǎo)加載程序有明顯的好處,但并非所有微控制器都可以加載引導(dǎo)加載程序。引導(dǎo)加載程序本身就是一個(gè)應(yīng)用程序。因此,如果您使用的是具有較小內(nèi)存空間或應(yīng)用程序固件太大的微控制器,則需要一定數(shù)量的程序存儲(chǔ)空間。如果您計(jì)劃合并引導(dǎo)加載程序,則為引導(dǎo)加載程序和固件應(yīng)用程序分配足夠的程序存儲(chǔ)空間。
實(shí)現(xiàn)SD卡接口:SD卡引導(dǎo)加載程序?qū)⑿枰谟布蠘?gòu)建其他組件容納SD卡存儲(chǔ)。如果您的主應(yīng)用程序不需要SD卡接口,則會(huì)產(chǎn)生額外費(fèi)用。除此之外,您還需要在引導(dǎo)加載程序上實(shí)現(xiàn)文件分配表(FAT32)堆棧,以確保您的引導(dǎo)加載程序可以讀取新固件的二進(jìn)制或十六進(jìn)制文件。
程序存儲(chǔ)器閃存寫入順序:引導(dǎo)加載程序基本上重寫其內(nèi)部閃存中的一系列地址,其中包含要加載的應(yīng)用程序固件的信息字節(jié)。這將要求在特定寄存器上執(zhí)行正確的命令序列以擦除和寫入內(nèi)部閃存。確保正在寫入正確的地址,并且引導(dǎo)加載程序?qū)嶋H上沒有錯(cuò)誤地擦除自身。
將二進(jìn)制文件映射到正確的地址:正常的應(yīng)用程序通常寫在起始地址0x00000000上。但是,使用引導(dǎo)加載程序時(shí),主應(yīng)用程序或引導(dǎo)加載程序的起始地址可能會(huì)有所不同,具體取決于它們?cè)诔绦虼鎯?chǔ)空間中的分配方式。修改內(nèi)存鏈接文件以確保為正確的內(nèi)存地址編譯兩個(gè)程序的十六進(jìn)制文件。
嚴(yán)格測(cè)試:SD卡引導(dǎo)加載程序的目的是簡(jiǎn)化現(xiàn)場(chǎng)固件更新,而不是添加過程中不必要的錯(cuò)誤或困難。完全測(cè)試引導(dǎo)加載程序并確保引導(dǎo)加載程序和主應(yīng)用程序都按預(yù)期運(yùn)行非常重要。如果主應(yīng)用程序?qū)懭氩徽_或映射不正確,您可能會(huì)發(fā)現(xiàn)系統(tǒng)行為不正常。
您需要確保引導(dǎo)加載程序在正確的空間中編寫正確的代碼。
除了高質(zhì)量的固件開發(fā)之外,使用引導(dǎo)加載程序還有其他好處。良好的硬件設(shè)計(jì),特別是SD卡接口,將排除串?dāng)_和電氣干擾。 AltiumDesigner?的信號(hào)完整性分析工具可能非常方便。
使用引導(dǎo)加載程序簡(jiǎn)化工作空間并靈活地進(jìn)行必要的固件更新,并且能夠隨時(shí)隨地進(jìn)行處理。與智能手機(jī)不同,SD卡引導(dǎo)程序的正確維護(hù)和設(shè)置可以比發(fā)布另一個(gè)手機(jī)升級(jí)前幾個(gè)月的時(shí)間更長(zhǎng)。最好的部分是,每次需要使用它時(shí),您都不需要致電客戶協(xié)助。
-
SD卡
+關(guān)注
關(guān)注
2文章
566瀏覽量
64115 -
bootloader
+關(guān)注
關(guān)注
2文章
235瀏覽量
45737 -
華強(qiáng)pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43178
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
工業(yè)級(jí)SD卡:穩(wěn)健發(fā)展,未來可期
![工業(yè)級(jí)<b class='flag-5'>SD</b><b class='flag-5'>卡</b>:穩(wěn)健發(fā)展,未來可期](https://file1.elecfans.com/web2/M00/0B/EC/wKgaomcsIp-ANHa0AABR9E9CP34493.png)
TF卡與SD卡的區(qū)別
![](https://file1.elecfans.com/web1/M00/F3/E7/wKgZoWcgtTyARHsDAAdWaxJsvzg602.png)
SD卡是什么?從速度等級(jí)到存儲(chǔ)奧秘全揭秘#pcb設(shè)計(jì) #單片機(jī) #電路原理 #硬件 #存儲(chǔ) #芯片
這樣設(shè)計(jì)SD/TF卡的PCB更高效、更可靠!
![這樣設(shè)計(jì)<b class='flag-5'>SD</b>/TF<b class='flag-5'>卡</b>的PCB更高效、更可靠!](https://file1.elecfans.com/web2/M00/06/07/wKgaombWzvuAUETjAABQwTndZJU545.png)
MK米客方德存儲(chǔ)卡:TF卡與SD卡的詳細(xì)解讀
![MK米客方德存儲(chǔ)<b class='flag-5'>卡</b>:TF<b class='flag-5'>卡</b>與<b class='flag-5'>SD</b><b class='flag-5'>卡</b>的詳細(xì)解讀](https://file1.elecfans.com/web2/M00/05/CE/wKgaombVKnSAbejgAAB07dIrEn8318.png)
樹莓派4b支持多大的sd卡
訪問SD卡問題
如何在Micro SD卡上設(shè)置寫保護(hù)?
![如何在Micro <b class='flag-5'>SD</b><b class='flag-5'>卡</b>上設(shè)置寫保護(hù)?](https://file1.elecfans.com/web2/M00/FB/27/wKgZomaPmZmAHodBAACngNRAWwU727.png)
SD卡、MicroSD卡和SD NAND的性能與應(yīng)用對(duì)比
![<b class='flag-5'>SD</b><b class='flag-5'>卡</b>、MicroSD<b class='flag-5'>卡</b>和<b class='flag-5'>SD</b> NAND的性能與應(yīng)用對(duì)比](https://file1.elecfans.com/web2/M00/EE/8F/wKgaomZr9X-AEuCeAAAuCmOBVxM380.png)
SD卡與Flash存儲(chǔ)究竟存在哪些差異?
![<b class='flag-5'>SD</b><b class='flag-5'>卡</b>與Flash存儲(chǔ)究竟存在哪些差異?](https://file1.elecfans.com/web2/M00/EC/C8/wKgaomZgGUmAVIA5AACOdAnfzUY463.png)
Micro SD卡短路原因分析及預(yù)防措施
![Micro <b class='flag-5'>SD</b><b class='flag-5'>卡</b>短路原因分析及預(yù)防措施](https://file1.elecfans.com/web2/M00/EB/7C/wKgaomZZP8iADXnZAADDxNdLG_U137.png)
評(píng)論