哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何輕松幾步實現(xiàn)在STM32上運行FreeRTOS任務(wù)

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-03-01 12:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

之前文章做過一次調(diào)查,盡然有大部分人都沒有接觸過RTOS,希望本文能帶領(lǐng)那部分朋友入門。

1寫在前面

以前想要在STM32上跑FreeRTOS操作系統(tǒng),還需要自己一步一步的移植FreeRTOS代碼。

現(xiàn)在使用STM32CubeMX工具,就不需要這么繁雜的移植工作,只需輕松幾步就能讓FreeRTOS跑起來。

本文以STM32L412(NUCLEO-L412KB板卡)為例,其它STM32型號類似。

同時,使用目前(2019.06)最新的MDK和STM32CubeMX工具。因此,需要提前下載安裝工具和軟件包。

2準(zhǔn)備工作

主要有三類:

MDK-ARM (含軟件包)

STM32CubeMX (含軟件包)

FreeRTOS源碼(可選)

2.1 MDK-ARM(含軟件包)

這里需要下載安裝MDK-ARM,以及STM32對應(yīng)的軟件包。

官方安裝包地址:

http://www.keil.com/download/product

官方軟件包地址:

http://www.keil.com/dd2/Pack

具體安裝,使用方法可以參看我之前整理的專欄文章:【專欄】Keil系列教程

2.2 STM32CubeMX (含軟件包)

這里也是一樣,需要下載安裝STM32CubeMX,以及STM32對應(yīng)的軟件包。

官方下載地址:

www.st.com/stm32cubemx

具體安裝,使用方法可以參看我之前整理的專欄文章:【專欄】STM32CubeMX系列教程

提示:軟件包里包含F(xiàn)reeRTOS源碼,但不是最新的。

2.3 FreeRTOS源碼

上面STM32Cube軟件包其實包含了FreeRTOS源碼,但不是最新版本。

FreeRTOS官網(wǎng):

www.freertos.org

如果想使用最新版本,或指定某一版本,可以到下面地址下載:

https://sourceforge.net/projects/freertos/files/FreeRTOS

o4YBAF4WizyAHJBXAACx9_lk5dk454.jpg

上面地址包含F(xiàn)reeRTOS歷史版本,如果使用指定版本,將源碼替換即可(一本來說都兼容)。

3STM32CubeMX創(chuàng)建工程

有了STM32CubeMX這個工具,開發(fā)STM32變得更加快捷。

本文以STM32L412KB為例,其它STM32型號原理類似。

1.打開軟件,進(jìn)入選擇器

2.選中MCU

3.LED引腳配置

4.UART輸出配置

這里配置成異步模式之后,引腳自動配置(我的開發(fā)板RX引腳不是默認(rèn),則需要自己配置)。

5.使能FreeRTOS

pIYBAF4Wi0CACBrxAAE_dtnw9x8184.jpg

6.配置FreeRTOS任務(wù)

這里創(chuàng)建兩個FreeRTOS任務(wù):Task1和Task2。

o4YBAF4Wi0CAByImAAFn0mGRRPo972.jpg

提示:針對初學(xué)者,使用STM32CubeMX配置FreeRTOS時,大部分參數(shù)默認(rèn)即可。

當(dāng)你熟悉之后,可以進(jìn)一步掌握每項參數(shù)。

7.配置時鐘

這里選擇MSI作為時鐘源,進(jìn)行倍頻,是系統(tǒng)時鐘達(dá)到80M。

pIYBAF4Wi0GAQ9DjAAE2y1l0PVs936.jpg

8.工程管理配置

這里參數(shù)是常規(guī)配置,可參看我教程:【專欄】STM32CubeMX系列教程

o4YBAF4Wi0GAfq06AAEIr5-HsRU587.jpg

9.生成并打開工程

o4YBAF4Wi0KAH_MXAAEb0eCZLzY861.jpg

4源碼分析

4.1 在兩個任務(wù)中添加應(yīng)用程序

提示:這里使用了huart2,所以需要包含:#include "usart.h"

pIYBAF4Wi0KAI9cKAAF3qaT5IBQ430.jpg

4.2 說明

任務(wù)Task1:間隔500ms閃爍(變化)一次LED(PB3)。

任務(wù)Task2:間隔1000ms,串口UART2發(fā)送一次數(shù)據(jù)“Demo...”

osDelay函數(shù)代表系統(tǒng)延時,單位ms.

然后,就是LED閃爍,和UART發(fā)送函數(shù)。

4.3 編譯下載運行

上面步驟完成之后,就可以編譯,然后直接下載運行了,通過串口調(diào)試助手可以看見輸出字符“Demo...”。

5工程及源碼下載

為方便初學(xué)者,這里提供對應(yīng)工程和源碼,方便大家學(xué)習(xí)。

百度網(wǎng)盤:

https://pan.baidu.com/s/1IdsuIlqqFhuJYxMI6EC7dQ

提取碼:7k5i

提示:公號不支持外部鏈接,請復(fù)制鏈接到瀏覽器打開。

鏈接后期可能會失效,關(guān)注公眾號『strongerHuang』及時獲取動態(tài)。


推薦閱讀:

1.工信部宣布5G商用牌照即將發(fā)放!

2.IC封裝原理及功能特性匯總

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2312

    文章

    11187

    瀏覽量

    374422
  • FreeRTOS
    +關(guān)注

    關(guān)注

    14

    文章

    499

    瀏覽量

    67199
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    STM32N6 在 PSRAM 運行代碼的調(diào)試

    1. 引言STM32N6 項目中,用戶代碼可能會比較大,此時僅用內(nèi)部 SRAM 并不能滿足用代碼運行需求。那么,將代碼放置到 PSRAM 運行也是個不錯的選擇。2. 問題2.1. 問
    發(fā)表于 04-15 16:02 ?0次下載

    Freertos 任務(wù)視圖顯示運行時值,但配置后百分比錯誤,為什么?

    我們使用的是 MCUXpresso 25.6.136、FreeRTOS 11.0.1 和 SDK_2.x_MCXA156 25.06.00。我們調(diào)整了以下教程來配置 FreeRTOS運行時統(tǒng)計
    發(fā)表于 04-03 07:12

    LAT1621_STM32N6 在 PSRAM 運行代碼的調(diào)試

    STM32N6 項目中,用戶代碼可能會比較大,此時僅用內(nèi)部 SRAM 并不能滿足用代碼運行需求。那么,將代碼放置到 PSRAM 運行也是個不錯的選擇。?客戶在開發(fā)其產(chǎn)品過程中,使用了
    發(fā)表于 03-11 10:44 ?0次下載

    FreeRTOS入門資料

    操作系統(tǒng),FreeRTOS操作系統(tǒng)是完全免費的操作系統(tǒng),具有源碼公開、可移植、可裁減、調(diào)度策略靈活的特點,可以方便地移植到各種單片機上運行,其最新版本為10.3.1版。 二、原理實現(xiàn) 任務(wù)
    發(fā)表于 01-23 06:38

    基于 X-Cube-FreeRTOS_Heap4 和 CubeMX 生成 UCPD 項目介紹

    某客戶反映參考我們的文檔 AN5418《How to build a simple USB-PD sink applicationwith STM32CubeMX》去配置 FreeRTOS 生成
    發(fā)表于 01-04 11:18 ?0次下載

    FreeRTOS 空閑任務(wù)

    FreeRTOS 中很多人會注意到為什么有一個叫IDLE task的任務(wù)占用了CPU百分之九十多的使用權(quán),但是這個任務(wù)并沒有自己手動創(chuàng)建。原因就是這個空閑任務(wù)是系統(tǒng)自己創(chuàng)建的,每當(dāng)系統(tǒng)
    發(fā)表于 12-04 07:35

    FreeRTOS和uC/OS-II的功能特性

    FreeRTOS: 核心功能: 任務(wù)調(diào)度(固定優(yōu)先級搶占式 + 時間片輪詢)、隊列、信號量(二進(jìn)制、計數(shù))、互斥鎖(帶優(yōu)先級繼承)、軟件定時器、事件組(事件標(biāo)志)、任務(wù)通知(高效輕量級的信號量
    發(fā)表于 11-17 08:17

    freertos關(guān)閉任務(wù)調(diào)度的方法

    #include \"FreeRTOS.h\" #include \"task.h\" /* 關(guān)閉任務(wù)調(diào)度 */ void
    發(fā)表于 11-17 06:47

    FreeRtos 能否同時使用兩個 CPU?

    我們的 FX10 項目進(jìn)展順利。現(xiàn)在,它已在我們的硬件運行。在軟件方面,我們從\"USB_Test_App\" 項目開始,對其進(jìn)行了調(diào)整(外設(shè)、LVDS 等)。 該項目在
    發(fā)表于 11-11 08:28

    FreeRTOS任務(wù)調(diào)度及優(yōu)先級問題

    大家好,最近本人在學(xué)習(xí)FreeRTOS ,之前有過一些裸機開發(fā)的經(jīng)驗,目前知道了FreeRTOS任務(wù)是基于時間片輪轉(zhuǎn)來調(diào)度,也就是知道了任務(wù)會基于各個時間片來
    發(fā)表于 11-06 02:18

    Task任務(wù):LuatOS實現(xiàn)任務(wù)級并發(fā)”的核心引擎

    Task任務(wù)通過其強大的并發(fā)處理能力,使LuatOS能夠在單線程環(huán)境中模擬多線程執(zhí)行,通過協(xié)程的掛起與恢復(fù)機制,實現(xiàn)任務(wù)級的并行操作,顯著提升系統(tǒng)效能。 sys核心庫是LuatOS運行框架庫,也是
    的頭像 發(fā)表于 08-28 13:49 ?619次閱讀
    Task<b class='flag-5'>任務(wù)</b>:LuatOS<b class='flag-5'>實現(xiàn)</b>“<b class='flag-5'>任務(wù)</b>級并發(fā)”的核心引擎

    是否可以在不使用 freeRTOS 的情況下運行 Infenion AIROC 藍(lán)牙包來配置 CY43439(將 CY43439 與 STM32H753 連接)?

    是否可以在不使用 freeRTOS 的情況下運行 Infenion AIROC 藍(lán)牙包來配置 CY43439(將 CY43439 與 STM32H753 連接)?
    發(fā)表于 07-02 08:20

    FreeRTOS任務(wù)中發(fā)送事件隊列是有什么限制嗎?

    任務(wù)發(fā)送事件告知運動完成。 因為板卡有六路電機,每一路單獨控制的時候沒有什么問題。但是多路運行特別是多路復(fù)位的時候有的電機會卡死,查詢電機狀態(tài)顯示運行中,通過DEBUG發(fā)現(xiàn)每一路的電機復(fù)位指令下發(fā)
    發(fā)表于 06-11 07:57

    詳解FreeRTOS與SAFERTOS的區(qū)別

    開源免費的FreeRTOS由Richard Barry在WHIS工作時創(chuàng)建,WHIS基于FreeRTOS的功能模型,通過完整的HAZOP分析,確定了功能模型和API中的所有的弱點,減輕所有薄弱環(huán)節(jié),并采用IEC 61508 SIL 3的開發(fā)生命周期,重新設(shè)計
    的頭像 發(fā)表于 06-04 16:58 ?1103次閱讀
    詳解<b class='flag-5'>FreeRTOS</b>與SAFERTOS的區(qū)別

    FreeRTOS讀取ADS1299數(shù)據(jù)有誤

    您好,請問,用stm32FreeRTOS的隊列對ADS1299傳感器讀取數(shù)據(jù),已設(shè)置采樣率為2khz 在采集任務(wù)中:通過spi讀取數(shù)據(jù)——濾波(-DSP庫)——將數(shù)據(jù)寫入隊列——延時
    發(fā)表于 05-05 22:48
    林西县| 勃利县| 信阳市| 九龙坡区| 青铜峡市| 屏东县| 理塘县| 西华县| 柳河县| 东丰县| 墨脱县| 青岛市| 井陉县| 定安县| 广德县| 吉木萨尔县| 滦南县| 会同县| 本溪市| 石渠县| 左云县| 东莞市| 临漳县| 洛阳市| 卓尼县| 长乐市| 仁寿县| 木里| 万安县| 靖边县| 柳林县| 上蔡县| 宝鸡市| 林口县| 玉山县| 鹤庆县| 中阳县| 龙岩市| 恩平市| 昭苏县| 金平|