在聯發科 Filogic 130A 系統中,SDK 如何擴增更多模組和項目呢?

        有關 MediaTek 的 Filogic 130/130A 物聯網開發板的操作,在前一篇文章 "MediaTek Filogic 開發板的初次體驗" 已經學習如何搭建一個編譯系統編譯 SDK燒錄 firmware、測試板子的指令,接下來如何新增一段自己的函數到 SDK 項目裡,就像在學習第一個程式 hello world 一樣。撰寫自己的程式碼,然後編譯燒錄再驗證,這樣才能逐漸豐富這塊開發板的內容,實現自己想要的功能。YouTube 教學影片的連結如下:https://youtu.be/1ZxxTD8Qxg4




        第一步,我們先了解SDK文件夾的結構圖,下圖一所示,SDK 原始程式碼主要放在 kernel middleware 目錄底下,另外放在 bga_sdk_demo 目錄下,包含主程式 main.c 以及開機初始化程式 startup_mt7933.s。而編譯 SDK 時的配置文件 Makefile 放在 bga_sdk_demo\GCC 目錄底下,之後我們需要添加自己的函數檔案到這個 Makefile 內容裡。
圖一:SDK 文件夾的架構圖



        接下來第二步,我們在 middleware 底下創建一個函數的目錄,名稱自行命名。根據 "Build Environment" 技術文件的描述,該目錄下要準備 Makefile module.mk 檔案用於編譯配置,有關 Makefile 內容的設定需參考文件裡的範例,這裡就不多說明。同樣地,module.mk 也是參考文件裡的範例後創建即可,這個檔案的內容用來說明編譯時載入哪幾個我們寫的程式碼檔案,如 .c 和 .h 檔案。
圖二:新增自己設計的函數



        第三步,要將前述的編譯配置加入到 SDK 項目裡,如此一來,當系統編譯時,便會把我們的函數檔案一起編譯了。打開在 bga_sdk_demo\GCC 目錄底下的 Makefile,新增一段配置,如下圖所示。到目前為止,我們只是先把函數的編譯環境創建出來,還沒動手寫自己的函數檔案呢!
圖三:在 Makefile 裡,新增自己函數的編譯配置



        第四步,我們寫一個簡單的函數,測試將文字輸出到 COM port,再從電腦端看看有沒有測試的訊息。測試程式碼如下圖,先創建一個線程 thread,而這個線程的工作就是每秒輸出 "hello world" 到 COM port 上。好的!那誰來呼叫這個線程呢?在前面的第一步驟提到系統的主程式 main.c,我們需要在主程式裡頭呼叫 myFunc_task_create( ),如此一來,我們的程式碼就會運行了。
圖四:測試的程式碼



        最後,我們開始編譯 SDK 項目試試看吧!再將韌體燒錄到開發板上 (編譯和燒錄的步驟,請參考前文),打開 putty 或終端機,看看測試的文字有沒有輸出?成功了,如下圖五,就是跨出設計開發的第一步。
圖五:測試輸出的結果

留言

此網誌的熱門文章

[筆記] Raspberry Pi 樹莓派的軟體開發

[筆記] ESP32 在 VS Code 開發環境的編譯與除錯

[應用] 在 ESP32 Audio 開發板的 VoIP 範例

[筆記] Visual Studio 遠端偵錯的設定步驟

[模組] 無線資料傳輸:nRF905 和 nRF24L01 (以 Arduino 為控制器)

[應用] STM32 DFU (Device Firmware Upgrade)

[模組] 三軸重力加速計 Accelerometer (GY-61 ADXL335)