女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

如何輕松幾步實現在STM32上運行FreeRTOS任務

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

掃碼添加小助手

加入工程師交流群

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

1寫在前面

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

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

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

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

2準備工作

主要有三類:

MDK-ARM (含軟件包)

STM32CubeMX (含軟件包)

FreeRTOS源碼(可選)

2.1 MDK-ARM(含軟件包)

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

官方安裝包地址:

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

官方軟件包地址:

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

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

2.2 STM32CubeMX (含軟件包)

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

官方下載地址:

www.st.com/stm32cubemx

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

提示:軟件包里包含FreeRTOS源碼,但不是最新的。

2.3 FreeRTOS源碼

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

FreeRTOS官網:

www.freertos.org

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

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

o4YBAF4WizyAHJBXAACx9_lk5dk454.jpg

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

3STM32CubeMX創建工程

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

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

1.打開軟件,進入選擇器

2.選中MCU

3.LED引腳配置

4.UART輸出配置

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

5.使能FreeRTOS

pIYBAF4Wi0CACBrxAAE_dtnw9x8184.jpg

6.配置FreeRTOS任務

這里創建兩個FreeRTOS任務:Task1和Task2。

o4YBAF4Wi0CAByImAAFn0mGRRPo972.jpg

提示:針對初學者,使用STM32CubeMX配置FreeRTOS時,大部分參數默認即可。

當你熟悉之后,可以進一步掌握每項參數。

7.配置時鐘

這里選擇MSI作為時鐘源,進行倍頻,是系統時鐘達到80M。

pIYBAF4Wi0GAQ9DjAAE2y1l0PVs936.jpg

8.工程管理配置

這里參數是常規配置,可參看我教程:【專欄】STM32CubeMX系列教程

o4YBAF4Wi0GAfq06AAEIr5-HsRU587.jpg

9.生成并打開工程

o4YBAF4Wi0KAH_MXAAEb0eCZLzY861.jpg

4源碼分析

4.1 在兩個任務中添加應用程序

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

pIYBAF4Wi0KAI9cKAAF3qaT5IBQ430.jpg

4.2 說明

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

任務Task2:間隔1000ms,串口UART2發送一次數據“Demo...”

osDelay函數代表系統延時,單位ms.

然后,就是LED閃爍,和UART發送函數。

4.3 編譯下載運行

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

5工程及源碼下載

為方便初學者,這里提供對應工程和源碼,方便大家學習。

百度網盤:

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

提取碼:7k5i

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

鏈接后期可能會失效,關注公眾號『strongerHuang』及時獲取動態。


推薦閱讀:

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

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

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

    關注

    2293

    文章

    11032

    瀏覽量

    364734
  • FreeRTOS
    +關注

    關注

    12

    文章

    493

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    FreeRTOS任務中發送事件隊列是有什么限制嗎?

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

    FreeRTOS讀取ADS1299數據有誤

    您好,請問,用stm32FreeRTOS的隊列對ADS1299傳感器讀取數據,已設置采樣率為2khz 在采集任務中:通過spi讀取數據——濾波(-DSP庫)——將數據寫入隊列——延時
    發表于 05-05 22:48

    如何在i.MX 8XDXL EVK的A35運行Yocto Linux,在M4運行FreeRTOS

    我正在使用i.MX 8XDXL 評估套件并希望在 Cortex-A35 運行 Yocto Linux 映像cores 的Cortex-M4 FreeRTOS 映像核心。
    發表于 04-04 06:02

    移植LWIP+FREERTOS時遇到的問題怎么解決?

    固件庫,移植成功,并且跑了幾個串口通信的任務,測試大概兩三天的樣子,并沒有出現問題。 2:移植LWIP1.4.1 (從ST官網下載的那個網頁的例程,修改引腳定義后跑在板子沒問題,確認硬件沒問題) 3
    發表于 03-11 06:48

    STM32H745的FreeRTOS是單核工作還是雙核工作?

    STM32CubeMX 中配置的時候,FREERTOS分為_M4和_M7,應該是分布對應Cortex_M4和Cortex_M7的核。 那實機運行RTOS的時候,運行的是單核還是雙核
    發表于 03-07 13:36

    stm32F407平臺使用freertos,使用pvPortMalloc申請內存,發現內存中的數據總被修改,怎么解決?

    如題,我現在stm32F407平臺打開FREERTOS,然后使用pvPortMalloc動態申請內存的時候,發現這塊內存中的數據總是變化,后面改為malloc申請,內存中的數據就符
    發表于 03-07 09:03

    使用任務通知提高RTOS應用的效率

    在實時嵌入式系統中,性能和資源效率是決定設計成敗的關鍵因素。傳統的實時操作系統(RTOS)提供了如隊列、信號量和事件組機制,實現任務之間的同步和通信。FreeRTOS/SAFERTOS還提供一種方法可以使這些過程更快、更輕量化,即任務
    的頭像 發表于 12-27 14:54 ?696次閱讀

    PowerPAD?輕松實現

    電子發燒友網站提供《PowerPAD?輕松實現.pdf》資料免費下載
    發表于 10-29 10:08 ?0次下載
    PowerPAD?<b class='flag-5'>輕松</b><b class='flag-5'>實現</b>

    如何在STM32運行AI應用

    1.X-Linux-AI概述X-LINUX-AI是STM32MPUOpenSTLinux擴展包,面向STM32MP1和STM32MP2系列微處理器的人工智能。它包含LinuxAI框架,以及用于開始
    的頭像 發表于 09-30 08:00 ?3356次閱讀
    如何在<b class='flag-5'>STM32</b><b class='flag-5'>上</b><b class='flag-5'>運行</b>AI應用

    在TM4C MCUFreeRTOS開發通用應用程序應用說明

    電子發燒友網站提供《在TM4C MCUFreeRTOS開發通用應用程序應用說明.pdf》資料免費下載
    發表于 09-11 14:15 ?0次下載
    在TM4C MCU<b class='flag-5'>上</b>用<b class='flag-5'>FreeRTOS</b>開發通用應用程序應用說明

    在TM4C MCU使用FreeRTOS開發高級應用

    電子發燒友網站提供《在TM4C MCU使用FreeRTOS開發高級應用.pdf》資料免費下載
    發表于 09-06 10:17 ?2次下載
    在TM4C MCU<b class='flag-5'>上</b>使用<b class='flag-5'>FreeRTOS</b>開發高級應用

    freertos最多支持多少個任務

    FreeRTOS是一個輕量級的實時操作系統(RTOS),其設計初衷就是為了提供簡單、可靠且高效的實時任務管理。關于FreeRTOS最多支持多少個任務的問題,實際
    的頭像 發表于 09-02 14:21 ?2254次閱讀

    freertos和rtos區別是什么

    。RTOS 的主要特點是實時性、多任務處理、資源管理、中斷處理等。 FreeRTOS 是一個開源的實時操作系統,由英
    的頭像 發表于 09-02 14:18 ?2997次閱讀

    freertos和裸機有什么區別

    的、搶占式實時操作系統(RTOS),適用于微控制器和小型處理器。它提供了多任務處理、任務優先級、時間管理、內存管理、同步機制等功能,使得開發者能夠更容易地編寫復雜的實時應用程序。 1.2 裸機編程 裸機編程是指在沒有操作系統的情況下直接在硬件
    的頭像 發表于 09-02 14:13 ?2996次閱讀