創(chuàng)建并移植K10 BSP包的具體步驟和方法(五)
4.2 GPIO配置與任務(wù)調(diào)試
在MQX4.0安裝目錄C:FreescaleFreescale_MQX_4_0mqxexamples下可以找到很多參考例程,包括ADC、 Hello、 I2C、 Lowpower、 Timer等。這里采用使用的最多的GPIO例程來驗證BSP是否能正常工作。
由于在默認(rèn)的bsp包中user_config.h中沒有配置使能BSPCFG_ENABLE_GPIODEV外設(shè),需要在該文件中加入語句#define BSPCFG_ENABLE_GPIODEV 1,如下圖15所示。
圖15 使能GPIO任務(wù)配置
在這里,為了驗證MQX4.0版本操作系統(tǒng)對于MQX3.8等早期版本軟件代碼的兼容性,本例使用的源程序代碼,可以在MQX3.8版本的安裝目錄中C:FreescaleFreescale MQX 3.8mqxexamplesgpio找到。直接將該文件添加到工程中,如圖16所示,在IAR的主程序中,在讀IO狀態(tài)處設(shè)置斷點,系統(tǒng)執(zhí)行到此斷點處,如果開啟IAR任務(wù)欄的TASK List, 在Stack Uage Summary窗口可以看到任務(wù)和棧的運行情況。
圖16 GPIO任務(wù) 運行
這里需要注意的是,代碼中用到了一些BSP_BUTTON1,BSP_LED1等宏定義,這些宏定義在MQX4.0的安裝目錄C:FreescaleFreescale_MQX_4_0mqxsourcebspK10DN512的K10DN512.H文件中可以找到,例如BSP_LED1中的宏定義如下:
#define BSP_LED1 (GPIO_PORT_A | GPIO_PIN11)
如果目標(biāo)板中的LED引腳和默認(rèn)的設(shè)置不一樣,需要對其進(jìn)行修改,然后重新編譯。
另外在通過下載工具調(diào)試代碼的時候,需要指定icf配置文件,如圖17所示。這里K10DN512和K60DN512的Flash大小一樣,不需要做修改。如果使用其他不同配置的芯片則需要對Memory Region進(jìn)行調(diào)整。
圖17 ICF文件的位置指定
5. 總結(jié)
本文介紹了如何基于飛思卡爾的MQX操作系統(tǒng),創(chuàng)建并移植目標(biāo)MCU的 BSP包,并可以針對不同的開發(fā)平臺(CW, KEIL, IAR)定制適合目標(biāo)芯片的BSP。
評論