<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PSoC Creator Bootloader更新PSoC?3固件程序

          基于PSoC Creator Bootloader更新PSoC?3固件程序

          作者: 時(shí)間:2011-03-07 來(lái)源:電子產(chǎn)品世界 收藏

            3. 使用基于

          本文引用地址:http://www.ex-cimer.com/article/117492.htm

             1.0內(nèi)嵌了一套基于通信的,開(kāi)發(fā)者可以直接使應(yīng)用于項(xiàng)目開(kāi)發(fā),圖 3是 的工作流程圖。

            圖 3 I2C Bootloader 工作流程圖

            PSoC3內(nèi)部有一個(gè)8位寄存器,其最高2位只能通過(guò)上電復(fù)位清除,軟件復(fù)位不影響其數(shù)值,因此可以用作運(yùn)行類型標(biāo)志位,每次系統(tǒng)上電或軟件復(fù)位后都會(huì)檢查此標(biāo)志位,以決定是直接運(yùn)行應(yīng)用程序還是進(jìn)入Bootloader更新固件。PSoC3 Bootloader已經(jīng)定義一組用于更新固件的通訊協(xié)議,其中PSoC3作為從設(shè)備,接收主設(shè)備發(fā)送的命令數(shù)據(jù)包,處理后回復(fù)主設(shè)備狀態(tài)數(shù)據(jù)包,表 1是兩種數(shù)據(jù)包的格式定義。

            表 1PSoC3 I2C Bootloader通信數(shù)據(jù)包格式

            表 2列出了 1.0 Bootloader通訊協(xié)議支持的命令,開(kāi)發(fā)者如果直接使用該協(xié)議更新固件,在設(shè)計(jì)主機(jī)更新程序時(shí)需參考此表中內(nèi)容,更詳細(xì)的命令定義可以參考 1.0幫助文檔中的系統(tǒng)參考指南(System Reference Guide)。

            表 2 PSoC Creator 1.0 Bootloader內(nèi)嵌通訊協(xié)議命令列表

            4. PSoC3 Bootloader二次開(kāi)發(fā)

            PSoC Creator 1.0現(xiàn)提供基于I2C或USB的Bootloader實(shí)現(xiàn),開(kāi)發(fā)者若想使用其他的通訊接口,或者修改通訊協(xié)議和更新流程,可以在Bootloader框架基礎(chǔ)上進(jìn)行快速二次開(kāi)發(fā)。cybtldr.c 是Bootloader核心功能層的實(shí)現(xiàn)代碼,其中兩個(gè)關(guān)鍵函數(shù)覆蓋了Bootloader主要功能:

            · CyBtldr_Start函數(shù)

            該函數(shù)實(shí)現(xiàn)了執(zhí)行Bootloader更新前的所有檢查流程,如果需要修改圖 3中的工作流程,可以修改此函數(shù)中代碼。

            · CyBtldr_HostLink函數(shù)

            該函數(shù)是Bootloader的核心功能函數(shù),實(shí)現(xiàn)了數(shù)據(jù)包的解析,命令的處理,更新Flash,以及發(fā)送狀態(tài)數(shù)據(jù)包的功能。修改此函數(shù),可以添加新命令數(shù)據(jù)包,修改數(shù)據(jù)包結(jié)構(gòu)等。

            CyBtldr_HostLink通過(guò)調(diào)用CyBtldrCommRead函數(shù)接收數(shù)據(jù),調(diào)用CyBtldrCommWrite函數(shù)發(fā)送數(shù)據(jù),這兩個(gè)函數(shù)都屬于通訊協(xié)議處理層,由Bootloader使用的通訊接口模塊獨(dú)立維護(hù),不同的通訊接口模塊具有不同實(shí)現(xiàn)。若使用專有通訊接口時(shí),還需實(shí)現(xiàn)上述兩函數(shù)以便CyBtldr_HostLink能夠收發(fā)數(shù)據(jù)。

            5. 總結(jié)

            使用PSoC Creator 1.0的Bootloader開(kāi)發(fā)框架,開(kāi)發(fā)者可以通過(guò)I2C或USB輕松更新基于PSoC3的應(yīng)用產(chǎn)品固件程序,即使針對(duì)不同的應(yīng)用需求,開(kāi)發(fā)者只需較少的開(kāi)發(fā)投入,就可以在Bootloader框架基礎(chǔ)上進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)多樣的產(chǎn)品特性。

            參考文獻(xiàn)

            [1]. PSoC3 Architecture Technical Reference Manual, Semiconductor Ltd.

            [2]. PSoC Creator: Timer Component Datasheet, Semiconductor Ltd.

            [3]. PSoC Creator: Interrupt Component Datasheet, Semiconductor Ltd.

            [4]. PSoC Creator: System Reference Guide, Cypress Semiconductor Ltd.

            [5]. AN60317, PSoC 3 / PSoC 5 I2C Bootloader, Cypress Semiconductor Ltd.


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: Cypress PSoC3 PSoC Creator Bootloader I2C

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();