電子工程網(wǎng)
標題: 【PSoC4 試用報告】試用Bootloader和Bootloadable引導加載程序 [打印本頁(yè)]
作者: 1770309616 時(shí)間: 2013-11-18 19:08
標題: 【PSoC4 試用報告】試用Bootloader和Bootloadable引導加載程序
一、概述
Bootloader 系統使用新應用代碼和/或數據管理組件閃存的更新流程。為了使流程生效,我們使用以下組件:
Bootloader 工程 - 包含 Bootloader 和通信組件的工程
Bootloadable 工程- 包含用于創(chuàng )建代碼的 Bootloadable 組件的工程
1、Bootloader 組件
Bootloader 組件允許用戶(hù)對組件閃存進(jìn)行代碼更新。Bootloader 接受并執行命令,然后將這些命令的響應傳回通信組件。Bootloader 收集并整理接收到的數據,并通過(guò)一個(gè)簡(jiǎn)單的命令/狀態(tài)寄存接口管理對閃存的寫(xiě)入操作。
工程應用類(lèi)型需與原理圖上放置的組件匹配。例如,對于 Bootloader 工程,將應用類(lèi)型設置為 Bootloader 并將 Bootloader 組件放置在原理圖上。
2、通信組件
通信組件管理通信協(xié)議從外部系統接收命令,然后將這些命令傳遞到 Bootloader 。它還將 Bootloader 的命令響應傳遞回片外系統。
3、Bootloadable 組件
使用 Bootloadable 組件時(shí),可以為 Bootloadable 項目指定附加參數。
二、應用程序編程 (API )接口
應用程序編程接口 (API) 庫例程允許您使用軟件配置組件。下表列出了每個(gè)函數的接口并進(jìn)行了說(shuō)明。以下各節將更詳細地介紹每個(gè)函數。
默認情況下,PSoC Creator 將實(shí)例名稱(chēng)“Bootloade _1”分配給指定設計中的 Bootloader 組件的第一個(gè)實(shí)例,將“Bootloadable_1”分配給 Bootloadable 組件的第一個(gè)實(shí)例。您可以將該實(shí)例重命名為符合標識符語(yǔ)法規則的任意唯一值。實(shí)例名稱(chēng)會(huì )成為每個(gè)全局函數名稱(chēng)、變量和常量符號的前綴。出于可讀性考慮,下表中使用的實(shí)例名稱(chēng)為“Bootloader” 和 “Bootloadable”。
Bootloader 和 Bootloadable 的函數
三、功能描述
1、Bootloader 和 Bootloadable 的函數
Bootloader 工程通過(guò) Bootloader工程的通信組件可將 Bootloadable 工程(或新代碼)整體燒寫(xiě)到閃存中。傳輸后,會(huì )始終對處理器進(jìn)行復位。Bootloader 工程還負責在復位時(shí)測試特定條件,并有可能在 Bootloadable 工程不存在或損壞的情況下自動(dòng)啟動(dòng)傳輸操作。
啟動(dòng)時(shí),Bootloader 代碼加載其自己配置的配置字節。此外還必須初始化堆棧和其他資源以及外設以便進(jìn)行傳輸。傳輸完成后,控件通過(guò)軟件復位傳遞到 Bootloadable 中。
然后, Bootloadable 加載其自己配置的配置字節,并對堆棧及其函數的其他資源和外設重新進(jìn)行初始化。 Bootloadable 可調用其中的 Bootloadable_Load() 函數,以切換為引導加載應用程序(這會(huì )再次造成軟件復位)。
下圖顯示了 Bootloader 的工作原理。
2、Bootloader 應用程序
通常,您可以通過(guò)將 Bootloader 組件和通信組件拖到原理圖上、將 I/O 路由至引腳、設置時(shí)鐘等操作來(lái)完成 Bootloader 設計工程。包含 Bootloader 組件和通信組件的工程實(shí)現基本引導加載應用程序函數的新代碼接收并將其寫(xiě)入閃存。您可以通過(guò)將其他組件拖到原理圖上或添加源代碼來(lái)向基本的 Bootloader 工程添加自定義函數。
3、Bootloadable 應用
Bootloadable 應用實(shí)際上就是代碼。它與常規應用類(lèi)型非常相似。主要區別是,Bootloadable 應用始終與引導加載應用相關(guān)聯(lián),而常規工程從不會(huì )與引導加載應用關(guān)聯(lián)。
四、應用例子
以上經(jīng)典描述,顯得生澀難懂,不知所云,難以理解。下面幾個(gè)例子就是Bootloader、Bootloadable工程程序,在The PSoS 4 kit CY8CKIT-042開(kāi)發(fā)板上的試用,目的是了解引導加載應用程序的實(shí)現、特點(diǎn)(與常規工程應用相比)和過(guò)程。
一)、UART Bootloader工程
UART Bootloader工程有三個(gè)項目:UART_Bootloader、Bootloadabie1和Bootloadabie2。建造完畢(過(guò)程略)、硬件連接(UART和PSoC 5LP 之間P0.0-P12.7、P0.1-P12.6的連接)后,經(jīng)Build和Program(CY8CKIT-042經(jīng)USB接口與PC相連)成功后,可以進(jìn)行工作。
1、UART_Bootloader項目
這時(shí)可以看到CY8CKIT-042板上RGB LED紅燈閃亮,原理圖如下:
說(shuō)明Bootloader處于等待引導加載命令狀態(tài),UART是通信組件,配置給Bootloader組件,PWM已處于工作狀態(tài),脈沖輸出分配給P1.6管腳,紅燈點(diǎn)亮。
組件和組件配置見(jiàn)附件:UART_Bootloader_Project圖片.
軟件及其它見(jiàn)附件:UART_Bootloader_Project.
2、Bootloadabie1項目
Bootloadabie1配置有UART_Bootloader.hex代碼,點(diǎn)壓CY8CKIT-042板上的“SW2”按鈕,系統處于Bootloader處于等待引導加載命令狀態(tài),CY8CKIT-042板上RGB LED紅燈閃亮;打開(kāi)Bootloader Host Application (UARTBootloaderHost.exe,在附件文件夾:UART_Bootloader_Project), 選擇通信端口COM(從PC設備管理器查找),點(diǎn)擊“Connect”按鈕進(jìn)行連接;連接成功后,選擇引導加載文件(從文件夾里查找,路徑...\Bootloadable1.cydsn\CortexM0\ARM_GCC_441\Debug\Bootloadable1.cyacd),點(diǎn)擊“Bootload” 按鈕引導加載文件, 引導加載成功后,點(diǎn)亮CY8CKIT-042板上RGB LED綠燈。
實(shí)現原理圖如下:
組件和組件配置見(jiàn)附件:UART_Bootloader_Project圖片.
軟件及其它見(jiàn)附件:UART_Bootloader_Project.
3、Bootloadabie2項目
過(guò)程與“2、Bootloadabie1項目”完全相同,只不過(guò)加載的是“Bootloadable1.cyacd”代碼文件,點(diǎn)亮的是CY8CKIT-042板上RGB LED藍燈。同樣,點(diǎn)壓CY8CKIT-042板上的“SW2”按鈕,系統處于Bootloader處于等待引導加載命令狀態(tài),CY8CKIT-042板上RGB LED紅燈閃亮,RGB LED其它燈滅,可以引導加載“Bootloadable1.cyacd”代碼文件等循環(huán)過(guò)程。
實(shí)現原理圖如下:
組件和組件配置見(jiàn)附件:UART_Bootloader_Project圖片.
軟件及其它見(jiàn)附件:UART_Bootloader_Project.
4、視頻:
http://player.youku.com/player.php/sid/XNjM1OTU0MjA0/v.swf
5.附件:
二)、I2C Bootloader工程
(河南 薛)
作者: sjyspaceembcom 時(shí)間: 2013-11-20 21:56
好
作者: chenyuanzhi1989 時(shí)間: 2013-11-22 22:33

作者: pcbkey 時(shí)間: 2015-2-22 14:37
支持一下
作者: vikings335 時(shí)間: 2017-5-2 10:25
非常感謝,資源正是需要的
歡迎光臨 電子工程網(wǎng) (http://selenalain.com/) |
Powered by Discuz! X3.4 |
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页