Silicon Labs(亦稱芯科科技)在全系列EFM8 8位MCU出廠時(shí)預(yù)置帶I2C、UART或USB等多種方式下載功能的Bootloader進(jìn)行程序更新,并提供源代碼方便用戶進(jìn)行定制Bootloader,這對(duì)于廣大的光模塊研發(fā)工程師來(lái)說(shuō),無(wú)疑是注入了一支興奮劑。
什么是Bootloader?
Bootloader顧名思義,即具有Boot引導(dǎo)系統(tǒng)和Loader更新系統(tǒng)功能,其功能類似計(jì)算機(jī)的BIOS,是MCU上電后執(zhí)行的第一段代碼,它完成CPU和相關(guān)硬件的初始化后,判斷系統(tǒng)此時(shí)應(yīng)進(jìn)入Boot模式還是Loader模塊。在Boot模式下,MCU會(huì)跳轉(zhuǎn)到用戶代碼處執(zhí)行用戶程序;在Loader模式下,MCU接收I2C、UART或USB等方式傳輸?shù)臄?shù)據(jù),覆蓋用戶程序代碼區(qū),更新程序代碼。
通過(guò)預(yù)置Bootloader,用戶可以不使用調(diào)試接口和工具,直接在通訊接口上進(jìn)行程序的更新和升級(jí),極大地方便用戶更新產(chǎn)品程序。
光模塊為何需要內(nèi)置I2C Bootloader?
一直以來(lái),Bootloader由于硬件限制,只限于在性能和存儲(chǔ)容量大的32位嵌入式系統(tǒng)上使用,作為引導(dǎo)操作系統(tǒng)的功能。隨著現(xiàn)代電子產(chǎn)品對(duì)體積、功能、應(yīng)用和調(diào)試等多方面的需求,8位MCU上也開始出現(xiàn)Bootloader需求,光模塊在這方面體現(xiàn)得尤其強(qiáng)烈。
光模塊的作用就是光電轉(zhuǎn)換,發(fā)送端把電信號(hào)轉(zhuǎn)換成光信號(hào),通過(guò)光纖傳送后,接收端再把光信號(hào)轉(zhuǎn)換成電信號(hào)。光模塊的體積非常小,對(duì)硬件工程師布線是一個(gè)很大的考驗(yàn),很多工程師為預(yù)留程序下載接口絞盡腦汁。由于光模塊普遍采用I2C Slave接收數(shù)據(jù),因此內(nèi)置I2C Bootloader進(jìn)行程序更新,可以極大地方便硬件工程師進(jìn)行設(shè)計(jì),同時(shí)方便客戶批量生產(chǎn)。
EFM8的I2CBootloader實(shí)現(xiàn)
Silicon Labs的8位MCU由于體積小、功耗低、外圍器件少、性能穩(wěn)定,受到廣大光模塊廠家的青睞,其C8051F33X、C8051F39X和C8051F85X等系列的8位MCU在光模塊領(lǐng)域普遍使用。今年,Silicon Labs繼續(xù)發(fā)力,針對(duì)光模塊市場(chǎng)推出EFM8BB系列的低成本和EFM8LB系列的高性能MCU,并在EFM8全系產(chǎn)品中加入Bootloader。
計(jì)算機(jī)通過(guò)USB或串口通過(guò)EFM8進(jìn)行程序更新的原理如圖1所示:
圖1: EFM8的USB和串口下載
計(jì)算機(jī)上的下載軟件首先將下位機(jī)上執(zhí)行的固件HEX文件轉(zhuǎn)換為二進(jìn)制的記錄文件,然后將文件內(nèi)容拆分成多個(gè)數(shù)據(jù)包,分次傳給EFM8 Bootloader,EFM8收到數(shù)據(jù)后解包,更新用戶程序區(qū)代碼。
由于計(jì)算機(jī)沒有I2C接口,因此EFM8的I2C下載需要增加MCU進(jìn)行UART到I2C協(xié)議轉(zhuǎn)換,如圖2所示:
圖2 :EFM8的I2C下載
目前UART到I2C協(xié)議轉(zhuǎn)換,Silicon Labs提供基于C8051F37X和C8051F39X的全套源代碼,客戶也可以輕松地移植到其它平臺(tái)上。
EFM8內(nèi)置的Bootloader位于其代碼安全頁(yè)上,確保Bootloader在Flash頁(yè)被鎖定的情況下仍然正確更新程序,同時(shí),如果客戶不需要Bootloader,也可以用下載器擦除釋放Flash空間。
綜上所述,Silicon Labs充分考慮光模塊的需求,適時(shí)在EFM8上增加I2C下載功能,同時(shí)繼續(xù)保持其業(yè)界體積小、功耗低的優(yōu)勢(shì),無(wú)疑會(huì)增加產(chǎn)品競(jìng)爭(zhēng)力,使其繼續(xù)保持光模塊市場(chǎng)份額領(lǐng)先地位。
-
mcu
+關(guān)注
關(guān)注
146文章
17269瀏覽量
352059 -
cpu
+關(guān)注
關(guān)注
68文章
10896瀏覽量
212520 -
usb
+關(guān)注
關(guān)注
60文章
7970瀏覽量
265423
原文標(biāo)題:光模塊利器-預(yù)置I2C Bootloader的EFM8 8位MCU
文章出處:【微信號(hào):SiliconLabs,微信公眾號(hào):Silicon Labs】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論