資源描述:
《PSoCCreator軟件及設(shè)計流程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第8章PSoCCreator軟件及設(shè)計流程Chapter8PSoCCreatorSoftware&DesignProess何賓2010.10PSoCCreator軟件及設(shè)計流程--前言本章主要介紹PSoCCreator軟件及設(shè)計流程,其內(nèi)容主要包括:基于PSoC3工程的簡單流程;基于PSoC5工程的簡單流程;基于PLD的自定義元件設(shè)計流程。PSoCCreator軟件及設(shè)計流程--PSoCCreator的主要功能PSoCCreator是最先進的集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE),帶
2、有創(chuàng)新性的圖形設(shè)計編輯器,構(gòu)成獨特而強大的硬件/軟件協(xié)同設(shè)計環(huán)境。圖形化的設(shè)計入口簡化了配置一個特殊元件的任務(wù)。設(shè)計者可以從元件庫內(nèi)選擇所要求的功能,并且將其放置在設(shè)計中。所有的參數(shù)化元件都有一個編輯器對話框,允許設(shè)計者根據(jù)需要對功能進行裁減(定制)。PSoCCreator軟件及設(shè)計流程--PSoCCreator的主要功能PSoCCreator軟件平臺自動的配置和布線I/O到所選擇的引腳,并且為給定的應(yīng)用產(chǎn)生應(yīng)用程序接口函數(shù)API,通過這些接口函數(shù)對硬件進行控制。修改PSoC的配置是非常簡單的,比如添加一個新元件,設(shè)置它的參數(shù)和重新建
3、立(rebuilding)工程等。PSoCCreator軟件及設(shè)計流程--PSoCCreator的主要功能在開發(fā)的任何階段,設(shè)計人員都能很自由的修改硬件配置,甚至是目標(biāo)處理器。設(shè)計者可以將應(yīng)用修改到新的目標(biāo)上(硬件和軟件),甚至是從8位平臺移植到32位平臺上(只需要選擇新的設(shè)備,并進行重新的建立)。設(shè)計者也可以修改C編譯器和進行性能評估。下圖給出了PSoCCreator軟件的主界面。PSoCCreator軟件及設(shè)計流程--PSoCCreator的主要功能圖PSoCCreator軟件平臺主界面PSoCCreator軟件及設(shè)計流程--PS
4、oCCreator的主要功能PSoCCreator軟件平臺的特點主要有:集成了原理圖捕獲功能用于設(shè)備配置;可供選擇的豐富的元件IP核資源;集成了源代碼編輯器;內(nèi)置調(diào)試器;支持自定義元件創(chuàng)建(設(shè)計重用)功能;PSoC3編譯器-KeilCA51(無代碼大小限制);PSoC5編譯器-CodeSourcery?的SourceryG?Lite版本PSoCCreator軟件及設(shè)計流程--PSoCCreator的主要功能主界面的后側(cè)是元件的庫的分類列表,庫中的元件用于滿足設(shè)計者的不同要求。主界面的右側(cè)是元件的庫的分類列表,庫中的元件用于滿足設(shè)計者的
5、不同要求。元件的范圍從最簡單的元件,比如邏輯門和寄存器,到數(shù)字定時器,計數(shù)器和PWM,其它模擬元件,比如:ADC,DAC,濾波器和各種通信協(xié)議,比如:I2C,USB,CAN等。PSoCCreator軟件及設(shè)計流程--PSoCCreator的主要功能符號編輯器使設(shè)計者能開發(fā)可重用的元件,這樣可以顯著的減少將來的設(shè)計時間。編輯器僅僅畫一個符號和相關(guān)的設(shè)計關(guān)聯(lián)符號。PSoCCreator允許放置新的符號。設(shè)計者可以在任何時間和任何工程中“重用”自己的設(shè)計(不需要知道實現(xiàn)的具體細節(jié))。錨定工具(Anchoringtool)是一個現(xiàn)代的,高級可
6、定值的用戶接口。它包含一個項目管理器和用于源代碼的集成C編輯器和匯編器,以及設(shè)計入口工具。PSoC3/5基本編程模型-位變量的使用使用’bit’關(guān)鍵字聲明位操作。下面給出C語言對位的聲明和操作:bitmyVar;myVar=~myVar;if(!myVar){...}PSoC3/5基本編程模型-位變量的使用此外,為了保證代碼容易移植到PSoC5上,可以使用‘CYBIT’關(guān)鍵字替換‘bit’關(guān)鍵字。例如:CYBITmyVar;PSoCCreator軟件工具中提供了完整的宏定義集,用來將PSoC3的代碼移植到PSoC5上。更詳細的說明,請
7、參考cyboot文件夾中自動生成的文件cytypes.h。PSoC3/5基本編程模型-避免從中斷句柄調(diào)用函數(shù)當(dāng)編譯用于中斷服務(wù)程序ISR的C代碼時,Keil編譯器將試圖認為在ISR中可能修改的寄存器入棧操作。如果ISR包含一個函數(shù)調(diào)用,編譯器并不知道函數(shù)調(diào)用將修改哪個寄存器,這樣就會將所有寄存器內(nèi)容入棧。比如:改函數(shù)調(diào)用:PSoC3/5基本編程模型-避免從中斷句柄調(diào)用函數(shù)CY_ISR(myISR){UART_1_ReadRxStatus();}為:CYBITflag;CY_ISR(myISR){flag=1;}PSoC3/5基本編程模
8、型-避免從中斷句柄調(diào)用函數(shù)voidmain(){/*等待ISR設(shè)置flag標(biāo)志if(flag){flag=0;UART_1_ReadRxStatus();...PSoC3/5基本編程模型-將變量放在合適的存儲空間當(dāng)變量放