新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 創建并移植K10 BSP包的具體步驟和方法(二)

        創建并移植K10 BSP包的具體步驟和方法(二)

        作者: 時間:2013-09-30 來源:網絡 收藏

        3. 代碼的修改

          在C:FreescaleFreescale_MQX_4_0mqxsourcepspcortex_m文件夾里的psp_cpudef.h文件中可以找到支持Kinetis /K20/K30/K40/K50/K60/K70等相關芯片的PSP宏定義,例如支持DN512的宏定義為:

          #define PSP_CPU_MDN512Z (PSP_CPU_NUM(PSP_CPU_ARCH_ARM_CORTEX_M4, PSP_CPU_GROUP_KINETIS_K1X, 2))

          同時在該文件中還可以找到所有Freescale指定PSP處理器支持包所支持內核的宏定義,如ColdFire,PPC,Cortex-A5,Cortex-A8等。

          在本文中,我們創建的是針對K10DN512的BSP開發包,所以需要用上述的宏定義,將user_config.h文件中的MQX_CPU定義

          #define MQX_CPU PSP_CPU_MK60DN512Z

          修改為:

          #define MQX_CPU PSP_CPU_MK10DN512Z

          此時點擊編譯按鈕會出現錯誤提示,如下圖5所示。

          創建并移植K10 BSP包的具體步驟和方法(二)

          圖5. 頭文件錯誤

          出現這個錯誤是由于在C:FreescaleFreescale_MQX_4_0mqxsourcepspcortex_mkinetis.h中找不到頭文件MK10DZ10.h,需要從以下的IAR安裝目錄中尋找:

          C:Program FilesIAR SystemsEmbedded Workbench 6.5armincFreescale

          然后將該文件拷貝到C:FreescaleFreescale_MQX_4_0mqxsourcepspcortex_mcpu中進行編譯。

          編譯仍有錯誤出現,如下圖6所示。

          這個錯誤主要是由于移植使用的是K60的,因此里面含有以太網ENET部分和USB部分的代碼,而在K10芯片中是沒有這些功能模塊的,在IAR IDE Workspace工作臺環境下,需要將外圍I/O驅動(Peripheral IO Drivers)中的ENET和USB等文件夾刪除,同時將K10DN512 BSP Files文件夾中的 init_usb.c和init_enet.c文件刪除。另外在K10DN512 BSP Files中,由于在MQX安裝目錄C:FreescaleFreescale_MQX_4_0mqxsourcebspK10DN512 文件下的init_gpio.c和bsp.h中初始化了ent和usb部分的,需要打開這兩個文件,找到_bsp_ent_io_init和bsp_usb_io_init的代碼部分,然后直接進行刪除。此時再進行編譯,則應該沒有錯誤出現了。

          圖6以太網及USB相關的文件編譯錯誤

          圖6以太網及USB相關的文件編譯錯誤

          下一步需要修改的,是系統的時鐘設置。針對K60DN512, MQX默認的外部時鐘是50MHz。 對于K20系列MQX默認的外部時鐘是8MHz,如果目標板的時鐘和默認的外部時鐘不一樣,則需要重新配置。例如,如果這里選擇25MHz的無源晶體作為外接時鐘,那么就需要修改bsp_cm.h中的時鐘設置,將CPU_XTAL_CLK_HZ的時鐘修改為25MHz


        上一頁 1 2 3 4 下一頁

        關鍵詞: K10 BSP包

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广东省| 鄂尔多斯市| 同仁县| 石棉县| 睢宁县| 奉贤区| 钦州市| 白山市| 光山县| 永清县| 东乡县| 黎城县| 富裕县| 德化县| 五大连池市| 虎林市| 盖州市| 望都县| 沁源县| 博乐市| 江油市| 惠安县| 辽宁省| 且末县| 南溪县| 富锦市| 东乡| 黎平县| 肥西县| 瓮安县| 海伦市| 绥阳县| 青州市| 从江县| 肥乡县| 呼伦贝尔市| 盐源县| 子长县| 青海省| 波密县| 萨嘎县|