0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

芯科科技光模塊利器預(yù)置I2C Bootloader功能

Silicon Labs ? 來(lái)源:未知 ? 作者:工程師郭婷 ? 2018-08-28 18:38 ? 次閱讀

Silicon Labs(亦稱芯科科技)在全系列EFM8 8位MCU出廠時(shí)預(yù)置帶I2C、UARTUSB等多種方式下載功能的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所示:

芯科科技光模塊利器預(yù)置I2C Bootloader功能

圖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)先地位。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17269

    瀏覽量

    352059
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10896

    瀏覽量

    212520
  • usb
    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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    I2C總線與Arduino的接口示例

    在現(xiàn)代電子設(shè)計(jì)中,I2C總線因其簡(jiǎn)單性和靈活性而廣受歡迎。它允許多個(gè)設(shè)備共享同一通信線路,從而節(jié)省空間和成本。Arduino,作為一個(gè)多功能的微控制器平臺(tái),自然也支持I2C通信。 I2C
    的頭像 發(fā)表于 01-17 15:34 ?103次閱讀

    I2C總線故障排除技巧

    導(dǎo)致整個(gè)系統(tǒng)的功能受到影響。 1. 檢查硬件連接 1.1 確認(rèn)電源和接地 首先,確保I2C設(shè)備的電源和接地連接正確無(wú)誤。不良的電源或接地連接可能導(dǎo)致信號(hào)不穩(wěn)定,從而引發(fā)通信錯(cuò)誤。 1.2 檢查總線線纜 檢查SDA和SCL線是否正確連接,并且沒有損壞。在長(zhǎng)距離傳
    的頭像 發(fā)表于 01-17 15:20 ?134次閱讀

    I2C總線應(yīng)用實(shí)例分析

    在現(xiàn)代電子系統(tǒng)中,I2C總線因其簡(jiǎn)單、靈活和高效的特點(diǎn)而被廣泛應(yīng)用于各種設(shè)備之間的通信。 I2C總線概述 I2C總線由Philips(現(xiàn)為NXP)在1980年代初期開發(fā),最初用于音頻和視頻設(shè)備
    的頭像 發(fā)表于 01-17 15:09 ?137次閱讀

    TMS320C6000 DSP內(nèi)部集成電路(I2C)模塊參考指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 DSP內(nèi)部集成電路(I2C)模塊參考指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-30 16:43 ?0次下載
    TMS320<b class='flag-5'>C</b>6000 DSP內(nèi)部集成電路(<b class='flag-5'>I2C</b>)<b class='flag-5'>模塊</b>參考指南

    TCA9406 I2C轉(zhuǎn)換器評(píng)估模塊

    電子發(fā)燒友網(wǎng)站提供《TCA9406 I2C轉(zhuǎn)換器評(píng)估模塊.pdf》資料免費(fèi)下載
    發(fā)表于 12-23 15:17 ?0次下載
    TCA9406 <b class='flag-5'>I2C</b>轉(zhuǎn)換器評(píng)估<b class='flag-5'>模塊</b>

    PCA9306 I2C緩沖器評(píng)估模塊

    電子發(fā)燒友網(wǎng)站提供《PCA9306 I2C緩沖器評(píng)估模塊.pdf》資料免費(fèi)下載
    發(fā)表于 12-23 15:16 ?0次下載
    PCA9306 <b class='flag-5'>I2C</b>緩沖器評(píng)估<b class='flag-5'>模塊</b>

    ISO154xEVM低功耗雙向I2C隔離器評(píng)估模塊

    電子發(fā)燒友網(wǎng)站提供《ISO154xEVM低功耗雙向I2C隔離器評(píng)估模塊.pdf》資料免費(fèi)下載
    發(fā)表于 11-18 14:46 ?0次下載
    ISO154xEVM低功耗雙向<b class='flag-5'>I2C</b>隔離器評(píng)估<b class='flag-5'>模塊</b>

    可并聯(lián)的I2C遙感6A/12A電源模塊評(píng)估模塊

    電子發(fā)燒友網(wǎng)站提供《可并聯(lián)的I2C遙感6A/12A電源模塊評(píng)估模塊.pdf》資料免費(fèi)下載
    發(fā)表于 11-06 09:09 ?0次下載
    可并聯(lián)的<b class='flag-5'>I2C</b>遙感6A/12A電源<b class='flag-5'>模塊</b>評(píng)估<b class='flag-5'>模塊</b>

    RISC V的I2C操作

    函數(shù)功能,除了必須通過(guò)I2C主設(shè)備實(shí)現(xiàn)的功能:發(fā)送start和stop之外,函數(shù)本身并沒有主從之分;當(dāng)需要RISC V中的I2C做從設(shè)備時(shí),只需監(jiān)控總線狀態(tài)(如是否接收到有效的數(shù)據(jù)等)
    的頭像 發(fā)表于 11-01 11:06 ?256次閱讀

    隔離器選擇指南:TPS2384 I2C接口

    電子發(fā)燒友網(wǎng)站提供《隔離器選擇指南:TPS2384 I2C接口.pdf》資料免費(fèi)下載
    發(fā)表于 10-11 09:34 ?0次下載
    <b class='flag-5'>光</b>隔離器選擇指南:TPS2384 <b class='flag-5'>I2C</b>接口

    I2C基本指南

    電子發(fā)燒友網(wǎng)站提供《I2C基本指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-10 09:40 ?0次下載
    <b class='flag-5'>I2C</b>基本指南

    具有熱插拔功能和IEC ESD功能的隔離式I2C緩沖器如何改進(jìn)隔離式I2C

    電子發(fā)燒友網(wǎng)站提供《具有熱插拔功能和IEC ESD功能的隔離式I2C緩沖器如何改進(jìn)隔離式I2C.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 09:58 ?0次下載
    具有熱插拔<b class='flag-5'>功能</b>和IEC ESD<b class='flag-5'>功能</b>的隔離式<b class='flag-5'>I2C</b>緩沖器如何改進(jìn)隔離式<b class='flag-5'>I2C</b>

    使用C2000 I2C模塊連接EEPROM

    電子發(fā)燒友網(wǎng)站提供《使用C2000 I2C模塊連接EEPROM.pdf》資料免費(fèi)下載
    發(fā)表于 08-27 09:53 ?0次下載
    使用<b class='flag-5'>C</b>2000 <b class='flag-5'>I2C</b><b class='flag-5'>模塊</b>連接EEPROM

    什么是I2C協(xié)議 I2C總線的控制邏輯

    在實(shí)際使用過(guò)程中,I2C比較容易出現(xiàn)的一個(gè)問(wèn)題就是死鎖 ,死鎖在I2C中主要表現(xiàn)為:I2C死鎖時(shí)表現(xiàn)為SCL為高,SDA一直為低。
    發(fā)表于 03-12 09:17 ?1137次閱讀
    什么是<b class='flag-5'>I2C</b>協(xié)議 <b class='flag-5'>I2C</b>總線的控制邏輯

    GD32 MCU硬件I2C不可靠不如軟件I2C?來(lái)看看紅楓派開發(fā)版的硬件I2C驅(qū)動(dòng)如何做到穩(wěn)得一批

    在一個(gè)評(píng)論中,看到網(wǎng)友對(duì)硬件I2C的討論,硬件I2C Busy找不到原因、軟件I2C穩(wěn)得一批。
    的頭像 發(fā)表于 02-23 09:37 ?2861次閱讀
    GD32 MCU硬件<b class='flag-5'>I2C</b>不可靠不如軟件<b class='flag-5'>I2C</b>?來(lái)看看紅楓派開發(fā)版的硬件<b class='flag-5'>I2C</b>驅(qū)動(dòng)如何做到穩(wěn)得一批