《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 在PSoC上實現(xiàn)I2C Bootloader
在PSoC上實現(xiàn)I2C Bootloader
摘要: PSoC是賽普拉斯半導(dǎo)體生產(chǎn)的一種基于MCU的可編程片上系統(tǒng),它集成了大量的可重新配置的數(shù)字/模擬模塊來完成用戶訂制的數(shù)字/模擬功能。
關(guān)鍵詞: PSoC I2C Bootloader
Abstract:
Key words :

  I2C ISSP方式

  PSoC是賽普拉斯半導(dǎo)體生產(chǎn)的一種基于MCU的可編程片上系統(tǒng),它集成了大量的可重新配置的數(shù)字/模擬模塊來完成用戶訂制的數(shù)字/模擬功能。

圖1ISSP編程流程圖


  PSoC器件可以基于I2C協(xié)議實現(xiàn)在系統(tǒng)中串行編程(ISSP),Power-On模式下通過SDA/SCL和VDD/GND就能夠編程整個代碼空間,Reset模式下則是使用SDA/SCL和XRES/GND編程。在很多PSoC CapSense觸摸按鍵應(yīng)用中,如果改變了機(jī)械布局因而需要重新定義按鍵引腳,或者需要賦予新的按鍵觸發(fā)行為,主機(jī)端通過集成ISSP協(xié)議,可以在需要的時候下載新的.hex代碼到PSoC端,實現(xiàn)代碼的現(xiàn)場快速升級。

圖2<a class=Bootloader存儲方式框圖" border="0" height="552" hspace="0" src="http://files.chinaaet.com/images/20100816/5f4d30b1-283b-4cf3-95d1-6b91e47570aa.jpg" width="366" />


  圖1是ISSP編程流程圖,首先使PSoC進(jìn)入編程模式,校驗其內(nèi)部的Solicon ID,保證是對正確的PSoC編程,對PSoC內(nèi)部的Flash塊(64字節(jié))逐一擦除/編程,并讀出Flash內(nèi)容進(jìn)行比較;ISSP隨后編程用戶自定義的Flash塊保護(hù)模式,每個Flash塊可以被指定為W - 寫保護(hù) / R - 讀保護(hù) / U - 不保護(hù) / F - 工廠更新;最后,每個Flash塊的校驗和被讀出并計算出全部Flash空間的總校驗和,如果與.hex文件中的總校驗和一致,代碼已經(jīng)被成功升級。

  I2C Bootloader方式

  用戶也可以使用標(biāo)準(zhǔn)的I2C系統(tǒng)接口,通過I2C Bootloader(I2C引導(dǎo)加載器)方式更新PSoC器件內(nèi)的用戶代碼。從圖2可以看出,整個Flash空間由紅色的不可編程的Bootloader區(qū)(包括中斷向量、重啟動向量和Bootloader代碼),灰色的可以現(xiàn)場編程的用戶應(yīng)用程序區(qū)(包括應(yīng)用程序中斷向量、Relocatable起始地址、用戶代碼和Bootloader API),以及黃色的Bootloader校驗和區(qū)組成。PSoC復(fù)位時,Bootloader接管程序控制權(quán),它會計算和校驗用戶代碼的校驗和,僅當(dāng)匹配時才轉(zhuǎn)到用戶代碼的首地址,開始運行用戶代碼。與ISSP方式不同,I2C Bootloader方式僅更新可以現(xiàn)場編程的用戶代碼區(qū),F(xiàn)lash空間的其他區(qū)用于此方式的控制和校驗。

圖3I2C Bootloader方式頭部下載數(shù)據(jù)


  I2C Bootloader方式在數(shù)據(jù)傳輸時分三種命令格式,F(xiàn)F38是進(jìn)入Bootloader命令,F(xiàn)F39是寫Flash塊命令,F(xiàn)F3B是退出Bootloader命令。圖3是I2C Bootloader方式傳輸?shù)念^部下載數(shù)據(jù),圖4則是成功下載的最后數(shù)據(jù)。

圖4I2C Bootloader方式成功下載的最后數(shù)據(jù)


  Bootloader方式工作時,需要更新的PSoC器件做為一個I2C Slave。圖3中,第一行數(shù)據(jù)傳輸將進(jìn)入Bootloader方式,它由0x70 - Slave 7bit地址0x38的寫地址,需要忽略的兩個前綴字節(jié)380a (Slave 7bit地址和后續(xù)字節(jié)長度),F(xiàn)F38命令和8個字節(jié)的Bootloader key組成。所有的Bootloader命令都必須包含正確的Bootloader key,否則將被Slave器件忽略。第二行由71 - Slave 7bit地址0x38的讀地址和狀態(tài)響應(yīng)字節(jié)0x20組成,狀態(tài)響應(yīng)字節(jié)的其他值標(biāo)識各種出錯狀態(tài) - 02/Image verify error, 04/Flash checksum error, 08/Flash protection error, 10/Comm checksum error, 40/Invalid bootloader key, 80/Invalid command error.

圖5BootLdrI2C用戶模塊參數(shù)設(shè)置


  寫Flash塊命令傳輸了絕大部分?jǐn)?shù)據(jù)量,除了最后一個塊以外,其他都有相同的格式。圖3中,寫Flash塊命令包含0x70, 需要忽略的兩個前綴字節(jié)3810 (Slave 7bit地址和后續(xù)字節(jié)長度),F(xiàn)F39命令, Bootloader key,F(xiàn)lash塊的塊號,64字節(jié)數(shù)據(jù),0x18 - 64字節(jié)數(shù)據(jù)的校驗和,0x86 - 此傳輸78字節(jié)的校驗和(包括FF, 39, Bootloader key, 塊號, 64字節(jié)數(shù)據(jù), 0x18)。僅在以上數(shù)據(jù)傳輸完后需要傳輸讀地址0x71,并讀出正確的狀態(tài)響應(yīng)字節(jié)0x20.

圖6BootLdrI2C用戶模塊提供的BootLoaderTools


  寫Flash最后塊命令包含了一些特殊信息,參見圖4,(0d, d4) 是隨后直到(85, f4)的字節(jié)校驗和,(08,80)是圖2灰色用戶代碼區(qū)中可重定位中斷矢量表的地址,(12,00)是圖2灰色用戶代碼區(qū)中用戶代碼空間的開始地址,(3f,80)則是用戶代碼結(jié)束塊的地址,(00,b7)是用戶代碼占用的塊數(shù)量,(85,f4)是Bootloader計算的用戶代碼檢驗和,0xb5是以上64字節(jié)數(shù)據(jù)的檢驗和,0xbd是此傳輸78字節(jié)的校驗和。

  通過PSoC Designer的用戶模塊實現(xiàn)I2C Bootloader方式   

       PSoC Designer是功能全面的基于圖形用戶接口(GUI)的PSoC軟件開發(fā)環(huán)境,它的用戶模塊可通過配置PSoC器件內(nèi)部資源創(chuàng)建Timer、PWM、ADC/DAC,I2C等多種有用功能。一個用戶模塊包括硬件配置數(shù)據(jù)、啟動代碼、中斷服務(wù)例程(可選)以及應(yīng)用編程接口(API),這些API可對用戶模塊的各個方面進(jìn)行即時控制。用戶使用PSoC Designer中的BootLdrI2C用戶模塊可以很方便的實現(xiàn)啟動時的引導(dǎo)載入(Bootloader)。

  用戶先在項目中添加BootLdrI2C用戶模塊,然后選擇“I2C for Bootloader Only”或“Full I2C API Support with Bootloader”;之后設(shè)置圖五中的用戶模塊參數(shù),這些參數(shù)定義了I2C的引腳和通信速率,Bootloader的I2C地址,用于其他I2C操作的地址,以及圖2中各個存儲區(qū)的參數(shù)。用戶隨后可以通過圖6提供的“Boot Loader Tools”設(shè)置中斷向量和重啟動向量,編譯項目后生成應(yīng)用程序校驗和,以及從hex 項目輸出文件中生成一個可以升級PSoC器件的dld 下載文件。
 

 

  其它需要設(shè)置的包括在菜單Project -> Settings -> Linker中,設(shè)置Relocatable起始地址,在flashsecurity.txt中指定Flash塊的訪問屬性——可以現(xiàn)場編程的區(qū)域需要設(shè)置為可寫操作。

  在PSoC器件上加入I2C Bootloader功能后,我們還可以通過Cypress提供的I2C-USB Bridge工具通過PC下載更新代碼到PSoC器件來驗證以上設(shè)計。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
91久久夜色精品国产九色| 欧美在线综合视频| 亚洲综合三区| 一本大道av伊人久久综合| 伊人色综合久久天天| 国产网站欧美日韩免费精品在线观看 | 欧美日本国产| 欧美黄色一区二区| 欧美大片免费久久精品三p | 亚洲国产视频直播| 亚洲国产精品一区二区三区 | 亚洲精品自在久久| 日韩小视频在线观看专区| 亚洲精品九九| 日韩一区二区精品葵司在线| 日韩视频中文字幕| 一区二区三区精品| 亚洲一区二区在线| 午夜一区二区三区不卡视频| 欧美中文字幕| 最新国产精品拍自在线播放| 99精品热6080yy久久| 亚洲线精品一区二区三区八戒| 亚洲淫性视频| 久久成人免费电影| 另类欧美日韩国产在线| 欧美国产日韩精品免费观看| 欧美日韩免费高清| 国产精品久久久一本精品| 国产欧美精品日韩精品| 国内外成人免费激情在线视频网站 | 99热免费精品在线观看| 亚洲天堂成人| 欧美亚洲免费高清在线观看| 久久精品国产一区二区电影 | 亚洲激情电影中文字幕| 9色精品在线| 亚洲欧美日韩国产中文在线| 久久爱www.| 欧美91精品| 欧美色图一区二区三区| 国产一二三精品| 亚洲国产精品一区二区第四页av | 久久久久网址| 欧美成人一区在线| 欧美三级电影一区| 国产日产精品一区二区三区四区的观看方式| 国产亚洲欧美aaaa| 亚洲国产精品尤物yw在线观看| 99riav1国产精品视频| 午夜精品久久久99热福利| 亚洲国产精品va在看黑人| 99精品欧美一区二区三区综合在线 | 欧美日韩不卡合集视频| 国产三级精品三级| 亚洲人成77777在线观看网| 亚洲在线中文字幕| 亚洲韩国日本中文字幕| 亚洲一区二区三区视频播放| 久热精品视频| 国产精品国产三级国产| 激情小说亚洲一区| 中日韩高清电影网| 亚洲国产精品国自产拍av秋霞 | 香蕉久久夜色| 欧美国产亚洲另类动漫| 国产精品最新自拍| 亚洲精选在线| 久久精品国产免费观看| 亚洲午夜久久久久久久久电影网| 久久久99国产精品免费| 欧美吻胸吃奶大尺度电影| 精品动漫一区二区| 亚洲视频一起| 亚洲日本免费| 久久精品视频在线免费观看| 欧美视频中文一区二区三区在线观看 | 欧美一区二区三区免费大片| 欧美极品aⅴ影院| 国产中文一区二区| 这里只有视频精品| 亚洲精品一区二区三区四区高清| 欧美在线观看www| 欧美日韩精品伦理作品在线免费观看| 国外成人在线视频网站| 亚洲视频免费看| 亚洲美女福利视频网站| 久久精品在线视频| 国产精品嫩草久久久久| 亚洲免费av观看| 亚洲破处大片| 久久久噜噜噜久久人人看| 国产精品激情电影| 亚洲精品色图| 亚洲精品一二三| 免费成人av| 黑人巨大精品欧美一区二区| 亚洲天堂成人| 亚洲一区尤物| 欧美日韩精品中文字幕| 亚洲国产精品久久人人爱蜜臀 | 美日韩精品视频| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品高潮呻吟久久| 亚洲精品色婷婷福利天堂| 亚洲人成在线观看网站高清| 久久艳片www.17c.com| 国产一区二区无遮挡| 午夜亚洲影视| 久久久国产精品亚洲一区| 国产欧美日韩中文字幕在线| 亚洲自拍高清| 亚洲欧美日韩中文视频| 欧美亚日韩国产aⅴ精品中极品| 99re在线精品| 亚洲在线一区二区三区| 欧美性猛交99久久久久99按摩 | 欧美一级理论片| 国产伦精品一区| 亚洲综合色噜噜狠狠| 午夜精品电影| 国产日韩精品久久| 午夜天堂精品久久久久| 久久久久国色av免费看影院| 国产亚洲精品v| 欧美一区二区三区另类| 久久婷婷国产综合国色天香| 激情综合在线| 91久久精品日日躁夜夜躁欧美 | 国产精品亚洲精品| 欧美一级大片在线观看| 久久久亚洲影院你懂的| 红桃视频成人| 亚洲三级电影全部在线观看高清| 嫩模写真一区二区三区三州| 亚洲欧洲精品一区二区精品久久久| 亚洲精品免费在线观看| 欧美男人的天堂| 一区二区三区高清| 午夜日韩在线| 国产亚洲精品久久久久动| 亚洲第一在线视频| 欧美国产日韩一区二区| 日韩小视频在线观看专区| 亚洲欧美日韩国产综合在线| 国产一区二区看久久| 亚洲欧洲一区二区三区| 欧美日韩国产高清视频| 亚洲综合色噜噜狠狠| 麻豆国产va免费精品高清在线| 最新成人av网站| 亚洲综合丁香| 国内精品免费在线观看| 亚洲毛片在线观看.| 国产精品久久久久久久午夜片| 欧美亚洲一区在线| 欧美va亚洲va国产综合| 一区二区三区精品视频在线观看| 久久av老司机精品网站导航| 一区二区三区在线视频免费观看| 一本色道久久综合一区| 国产精品一区二区三区乱码 | 韩国免费一区| 一区二区三区久久久| 国产午夜精品一区二区三区欧美| 亚洲黄色免费| 国产精品久久福利| 亚洲国产精品va在线观看黑人| 欧美日韩一区二区三区在线观看免| 亚洲在线观看| 欧美成人免费观看| 亚洲午夜三级在线| 欧美sm视频| 亚洲欧美视频一区| 欧美激情国产精品| 亚洲女与黑人做爰| 欧美连裤袜在线视频| 欧美亚洲免费| 欧美三级在线| 亚洲电影在线免费观看| 欧美午夜激情在线| 亚洲国产精品一区二区www在线| 国产精品久久久久久av福利软件 | 国产精品国产一区二区| 亚洲国产成人一区| 国产精品yjizz| 亚洲国产中文字幕在线观看| 国产精品第十页| 亚洲欧洲一区二区三区久久| 国产欧美日本一区视频| 日韩一级欧洲| 狠狠色狠色综合曰曰| 午夜精品久久久久久久久久久| 亚洲国产激情| 久久久久久久高潮| 亚洲图片在区色| 欧美久久综合| 久久精品亚洲精品| 国产精品亚洲一区二区三区在线| 日韩一二三区视频|