VE配置對(duì)于一般的嵌入式開發(fā)者比較陌生,不清楚是怎么一回事。VE配置對(duì)于AG32 MCU+CPLD混合編程來說,非常重要。VE里主要包括了4大部分:PLL(系統(tǒng)時(shí)鐘,最大5路輸出),MCU信號(hào)與引腳綁定,CPLD信號(hào)與引腳綁定,以及MCU與CPLD之間的信號(hào)關(guān)聯(lián)。Prepare Logic以后,系統(tǒng)會(huì)自動(dòng)生成一個(gè)CPLD的頂層用戶入口。
之前一直提到的AG32與其他芯片(比如ST、GD)在使用上有一個(gè)很大的差異點(diǎn),是AG32的IO引腳并不是定死的,而是配置的。就是通過這個(gè)VE文件來實(shí)現(xiàn)的。所有可配置的MCU信號(hào),見《AGRV2K_邏輯設(shè)置.PDF》。Mcu里用到哪個(gè)信號(hào)就在VE里配置對(duì)應(yīng)引腳,沒用到的不用配置。
下面以100pin封裝開發(fā)板作為示例:
#PLL 部分:
SYSCLK 100???#配置系統(tǒng)時(shí)鐘頻率,M為單位。407最高頻率可到248M
HSECLK?8??????#使用的外部晶振頻率,M為單位,建議取值范圍 4~16
#MCU與引腳:
UART0_UARTRXD PIN_69??#串口0的收引腳
UART0_UARTTXD PIN_68??#串口0的發(fā)引腳
GPIO6_2 PIN_23??#IO_Button1
GPIO6_4 PIN_24??#IO_xxxx
I2C0_SDA PIN_36??#I2C0
I2C0_SCL PIN_35???#I2C0
#CPLD與引腳:
CPLD_TX??PIN_17:OUTPUT? ?#CPLD一個(gè)發(fā)送信號(hào)綁定到PIN_17
#CPLD與MCU:
GPIO4_1 iocvt_chn:OUTPUT??#MCU GPIO4_1 信號(hào)與 CPLD?iocvt_chn相連。
在書寫格式中,前邊為信號(hào)量的名稱,后邊為PIN腳編號(hào)。
配置的限制:
1. 只有少數(shù)幾個(gè)外設(shè)不能配置引腳(芯片定死了引腳):
包括:ADC/DAC/CMP、USB、MAC,以及硬件的JTAG/OSC/RTC/VDD/GND。
如果使用到這些外設(shè),只能使用對(duì)應(yīng)引腳。
如果不用這些外設(shè),空閑出來的引腳可以被用于其他用途。
2. 在可配置的項(xiàng)中,注意相互間的少量沖突;
在《AGRV2K_邏輯設(shè)置.pdf》中有詳細(xì)描述。
另外:不可配置的引腳(ADC、USB這些),在32pin/48pin/64pin/100pin上的對(duì)應(yīng)是不同的。注意區(qū)分。