Silicon Labs(亦稱“芯科科技”)制作的本系列博客是在Flex Gecko上添加MicriumOS的設計指南,并且至少可以在設備上運行一個任務。
開始
首先需要安裝最新的Simplicity Studio,以避免隨著時間的推移,軟件更新造成的沖突。在安裝該工具之后,甚至在嘗試添加任何內容之前,必須確保擁有必要的SDK。以下是安裝項目:
-
32位MCU SDK - 5.5.0.0
-
Micrium OS - 5.4.0
-
Flex SDK - 2.3.0.0
然后,我將Flex Gecko EFR32FG12安裝到Wireless Started Kit Mainboard(BRD4001A)上。之后,我使用提供的USB電纜將其連接到PC。Simplicity Studio認識連接到WSTK的Flex Gecko,并顯示了Flex SDK中示例的鏈接(參見圖1)。
圖1 - 初始設置驗證
加載Basic Flex SDK示例
作為開始,我決定使用Flex SDK的“RAIL:Simple RAIL without HAL”示例。您可以通過擴展“Silicon Labs Flex SDK示例”鏈接下的項目列表來找到該項目:
圖2 - Flex SDK示例鏈接
然后找到并單擊圖3中顯示的示例將其添加到您的工作區中:
將示例加載到工作區后,您可能會收到如圖4所示的通知。只需單擊“OK”即可。
圖4 - 自動升級通知
然后您將看到simple_rail_without_hal.isc打開,您可以在其中配置RAIL。在我的情況下,我將所有內容都保留在默認值中,只需單擊“Generate”,如圖5所示。
圖5 - RAIL項目配置
此時,您現在應該設置一個基本的Flex Gecko示例來構建和運行。但是,我發現默認的項目設置將編譯器優化設置為“Optimizefor size (-Os)”,這最終會使項目調試變得困難。因此,我將優化切換為“None(-O0)”。
圖6 - 編譯器優化
將Micrium OS添加到工作區
現在您已經構建并運行了一個基本的Flex Gecko示例,我們繼續并開始將MicriumOS源文件添加到工作區中。首先,找到MicriumOS目錄,它應該位于:
C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.3\platform\micrium_os
現在在Simplicity Studio中將“micrium_os”文件夾拖放到您的項目(simple_rail_without_hal)中。在執行此操作時,請確保在單擊“OK”之前選擇了“Copyfiles and folders”,如圖7所示。
圖7 - 將Micrium OS文件夾添加到項目
然后您將不得不刪除使用Micrium OS添加的所有不必要的文件(這很乏味)。
最后,編譯器需要知道在哪里查找頭文件,因此我們必須為項目設置添加兩個編譯器包含路徑:
"${workspace_loc:/${ProjName}/micrium_os}""${workspace_loc:/${ProjName}/micrium_os/cfg}"
圖8- 包含路徑的Micrium OS編譯器
配置Micrium OS
現在您已將Micrium OS作為您的項目的一部分,讓我們繼續對默認的MicriumOS配置進行一些小的調整。
修改main.c
我們將修改由“RAIL:SimpleRAIL without HAL”示例生成的默認main.c。 Micrium OS需要在main.c中包含以下路徑,所以請繼續并按如下所示添加它們:
#include
#include
#include
#include
#include
我們將修改main.c來初始化MicriumOS并創建一個啟動任務。為此,您需要指定任務堆棧大小和優先級。我們通常通過將它們定義為常量并將它們傳遞給OSTaskCreate()來實現這一點。啟動任務還需要自己的堆棧和任務控制塊(OS_TCB)以及其函數原型。
以下是StartTask函數的主體,其中內核tick被初始化,以及Common模塊。請注意,該功能在結束時包含一個無限循環,延遲時間為1秒。這樣做是為了讓CPU時間用于其他正在或將最終在系統上運行的任務。
最后,讓我們修改main()來初始化CPU,將中斷處理程序重新分配為內核感知,初始化內核,創建啟動任務并啟動操作系統。
您現在被設置為構建并運行該項目。你可以在while循環里面的StartTask中放置一個斷點,注意你會每秒鐘觸碰一次(或者按照你在OSTimeDly()中配置的延遲指定)。
-
mcu
+關注
關注
146文章
17317瀏覽量
352618 -
Silicon Labs
+關注
關注
11文章
330瀏覽量
62525 -
MicriumOS
+關注
關注
0文章
1瀏覽量
2363
原文標題:【設計指南】在Flex Gecko上添加Micrium OS
文章出處:【微信號:SiliconLabs,微信公眾號:Silicon Labs】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
英飛凌與Flex聯合展示軟件定義汽車區域控制器平臺
英飛凌攜手Flex展示用于軟件定義汽車的區域控制器設計平臺
![英飛凌攜手<b class='flag-5'>Flex</b>展示用于軟件定義汽車的區域控制器設計平臺](https://file1.elecfans.com/web3/M00/06/65/wKgZO2eJ-kGAHTUFAAFLinN9QGw700.jpg)
ADI收購Flex Logix,強化數字產品組合
寧德時代TENER Flex全球首發,引領靈活儲能新時代
Temp-Flex混合型帶狀電纜產品特點和優點-赫聯電子
abb機器人系統如何添加選項
TSMaster 的 CAN UDS 診斷操作指南(上)
![TSMaster 的 CAN UDS 診斷操作<b class='flag-5'>指南</b>(<b class='flag-5'>上</b>)](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
Flex Power Modules上海嘉定區(JID)工廠榮獲RBA“首選工廠”證書
![<b class='flag-5'>Flex</b> Power Modules上海嘉定區(JID)工廠榮獲RBA“首選工廠”證書](https://file1.elecfans.com/web2/M00/EA/CA/wKgaomZVrc6AQjURAAAVCaitYdU134.jpg)
在定制電路板上使用miniprog3無法連接cy8cmbr3116怎么解決?
Flex-Algo輕松掌握!搞懂必看!
![<b class='flag-5'>Flex</b>-Algo輕松掌握!搞懂必看!](https://file.elecfans.com/web2/M00/43/7B/pYYBAGJ-B6aAHuNPAAAf8J1Ebk4778.jpg)
評論