<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在Flex Gecko上添加MicriumOS的設計指南

Silicon Labs ? 來源:互聯網 ? 作者:佚名 ? 2018-07-10 09:12 ? 次閱讀

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 /* Private file, use should be limited */

我們將修改main.c來初始化MicriumOS并創建一個啟動任務。為此,您需要指定任務堆棧大小和優先級。我們通常通過將它們定義為常量并將它們傳遞給OSTaskCreate()來實現這一點。啟動任務還需要自己的堆棧和任務控制塊(OS_TCB)以及其函數原型。

以下是StartTask函數的主體,其中內核tick被初始化,以及Common模塊。請注意,該功能在結束時包含一個無限循環,延遲時間為1秒。這樣做是為了讓CPU時間用于其他正在或將最終在系統上運行的任務。

最后,讓我們修改main()來初始化CPU,將中斷處理程序重新分配為內核感知,初始化內核,創建啟動任務并啟動操作系統。

您現在被設置為構建并運行該項目。你可以在while循環里面的StartTask中放置一個斷點,注意你會每秒鐘觸碰一次(或者按照你在OSTimeDly()中配置的延遲指定)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16100

    瀏覽量

    344550
  • Silicon Labs
    +關注

    關注

    11

    文章

    307

    瀏覽量

    62307
  • MicriumOS
    +關注

    關注

    0

    文章

    1

    瀏覽量

    2326

原文標題:【設計指南】在Flex Gecko上添加Micrium OS

文章出處:【微信號:SiliconLabs,微信公眾號:Silicon Labs】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    定制電路板使用miniprog3無法連接cy8cmbr3116怎么解決?

    vcc 添加了 10k 拉電阻。我試過使用不同的 scl/sda 拉值(2k2、6k8 等)進行連接,但仍然不行。 我已經沒有辦法了,但我需要把它用于一個商業項目。誰能幫幫我?
    發表于 05-23 07:20

    HarmonyOS實戰開發-Flex布局性能提升使用指導

    Flex為采用彈性布局的容器。容器內部的所有子元素,會自動參與彈性布局。子元素默認沿主軸排列,子元素主軸方向的尺寸稱為主軸尺寸。 單行布局場景下,容器里子組件的主軸尺寸長度總和可能存在不等于容器
    發表于 05-10 14:26

    紅板科技榮獲Flex偉創力供應商“可持續發展獎”

    紅板科技官微4月23日消息,近日,該公司榮獲了Flex(偉創力)為優秀供應商頒發的重量級獎項“Sustainability Award”(可持續發展獎)。
    的頭像 發表于 04-24 14:05 ?326次閱讀

    MCU使用GPIO來驅動晶體管上的基極,需要在電路中添加一個電阻器嗎?

    MCU 使用 GPIO 來驅動晶體管上的基極。每個元件的數據表列出了最大500mA,我需要在電路中添加一個電阻器嗎?
    發表于 01-22 07:01

    i.MX RT1052的FLex通過FLI_ SPI(4-wire) 接口訪問FPGA時,如何取消中間的閑置部分?

    這個閑置段設為固定長度 ? 同樣,當我使用 IMX 8 時,我使用Flex_ SPI 讀和寫訪問 FPGA時,所釋放的時鐘是連續的,且時鐘長度與所配置的長度一致。這兩個芯片在 Flex_ SPI 中。 使用 SPI 時,我需要
    發表于 11-13 06:04

    怎么keil中添加斷點?

    怎么keil中添加斷點
    發表于 10-20 06:22

    Rigid-Flex的多層疊該如何設計呢?

    Rigid-Flex剛柔電路的三大特征是 Multi-bending(多彎曲),Multi-stackup(多層疊),Multi-zone(多區域)。
    的頭像 發表于 10-07 17:17 ?1060次閱讀
    Rigid-<b class='flag-5'>Flex</b>的多層疊該如何設計呢?

    “model_transform.py”添加參數“--resize_dims 640,640”是否表示tpu會自動resize的?

    “model_transform.py”添加參數“--resize_dims 640,640”是否表示tpu會自動resize的?我看到yolov5的sample代碼里都用opencv做了
    發表于 09-18 07:56

    Flex Bus物理層的CXL幀和數據概述

    在傳輸端,Flex Bus物理層準備從PCIe鏈路層或CXL ARB/MUX接收的數據,以便通過Flex Bus鏈路進行傳輸。
    的頭像 發表于 09-11 14:34 ?1968次閱讀
    <b class='flag-5'>Flex</b> Bus物理層的CXL幀和數據概述

    RealView LT-XC5VLX330用戶指南

    。 該系統中,處理器核心映像(例如SSM)被直接加載到FPGA中。 有關向IM-LT1添加邏輯瓦片的信息,請參閱《集成商IM-LT1接口模塊用戶指南》(DUI 0187)。 在此配置中,電源和JTAG連接由IM-LT1提供。
    發表于 08-12 07:59

    使用Arm NN API指南Android實現神經風格的轉移

    指南中,我們將向您展示如何使用ARM NN API構建一個樣式轉換Android應用程序。 要閱讀本指南,您需要以下資源: ·運行Android 9或更高版本的Android設備·Android Studio,包括v24或更
    發表于 08-11 06:18

    Docker入門指南

    指南介紹了如何使用Docker簡化嵌入式設備和服務器的多體系結構應用程序部署。 快速擴展軟件環境可能是一項既困難又耗時的任務。指南中,我們將向您展示Docker如何抽象操作系統
    發表于 08-02 06:09

    適用于工業物聯網-EFR32FG25 Flex Gecko無線SoC

    貿澤電子即日起開售 Silicon Labs (亦稱“芯科科技”)的 EFR32FG25 Flex Gecko 無線 SoC 。 EFR32FG25 SoC 采用 32 位 Arm
    的頭像 發表于 06-26 15:40 ?330次閱讀
    適用于工業物聯網-EFR32FG25 <b class='flag-5'>Flex</b> <b class='flag-5'>Gecko</b>無線SoC

    EFR32FG25 Flex Gecko無線SoC

    。以下是本周新品情報,請及時查收: 適用于工業物聯網 Silicon Labs EFR32FG25 Flex Gecko無線SoC 貿澤電子即日起開售Silicon Labs 的 EFR32FG25
    的頭像 發表于 06-21 08:35 ?349次閱讀
    EFR32FG25 <b class='flag-5'>Flex</b> <b class='flag-5'>Gecko</b>無線SoC

    Ubuntu安裝了Arduino IDE,無法為其添加ESP8266功能怎么解決?

    我對這一切都很陌生。我已經 Ubuntu 安裝了 Arduino IDE,但現在無法為其添加 ESP8266 功能。我沒有申請將“http://arduino.esp8266.com
    發表于 06-12 06:48
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>