国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

FreeRTOS_003 _讓系統在板子上跑起來

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-14 11:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫在前面

為滿足大家的好奇心,本文將講述幾個步驟可以讓FreeRTOS系統直接在芯片上運行,源代碼里面的許多細節將在下一篇文章呈現。最后提供可以直接運行的Demo工程給大家,方便大家直接拿來修改測試。

為什么不先講述源代碼?

相信很多朋友開始學習的時候都是參看別人寫好的,可以直接使用的源代碼。在正確代碼工程的基礎上,我們可以展開很多測試,從而可以知道為什么這樣才可以運行。

整個FreeRTOS工程源代碼里面的內容牽涉到許多東西,而只需要簡單幾個步驟就能將代碼運行起來,看到效果。如果我一一給你們講述源代碼,估計沒怎么講述幾條,大家都暈了,不知道為什么這個地方是這樣。

所以,給你看寫好源代碼工程,讓你們自己測試,并分析才是最好的。

移植幾個步驟

源代碼里面的內容有很少變動,本篇文章不具體講述,只講述移植的幾個步驟,最終讓代碼工程可以運行在板子上。只需要如下簡單幾步即可:

1.提取源碼添加到工程

上一篇文章講述了下載FreeRTOS源碼中各個目錄及文件的意思,也大概講述了一下需要提取源碼。

主要提取:Source目錄+FreeRTOSConfig.h

(里面有部分內容未使用,為了不讓大家感覺文件比較多,或者雜,我刪除了)

將這些源碼添加到自己的工程(之前講述并建立好的STM32工程),具體提取的源碼和添加到工程中的效果,請下載代碼查看。

2.添加路徑

我們添加源碼到工程,有部分頭文件include需要添加到工程。因此,我們需要添加相應路徑。

.c源代碼添加路徑的方法見文章:

1.MDK-ARM_新建軟件工程詳細過程

2.EWARM_新建軟件工程詳細過程

這里主要想提醒的是:在IAR工程中有個匯編文件portasm.s包含了,需要我們添加所在文件下的路徑。

注意:是在EWARM的Project -> Options -> Assembler -> Preprocessor中添加。

3.創建自己任務和添加相應代碼

我們創建四個任務,還是使用比較經典的LED燈任務。

void AppTaskCreate(void)

{

xTaskCreate(vAppTask1, "Task1", TASK1_STACK_SIZE, NULL, TASK1_PRIORITY, NULL);

xTaskCreate(vAppTask2, "Task2", TASK2_STACK_SIZE, NULL, TASK2_PRIORITY, NULL);

xTaskCreate(vAppTask3, "Task3", TASK3_STACK_SIZE, NULL, TASK3_PRIORITY, NULL);

xTaskCreate(vAppTask4, "Task4", TASK4_STACK_SIZE, NULL, TASK4_PRIORITY, NULL);

}

void vAppTask1(void *pvParameters)

{

for(;;)

{

LED1_TOGGLE;

vTaskDelay(50);

}

}

我新建了app_task.c和app_task.h文件添加任務的源代碼。

4.修改FreeRTOSConfig.h配置文件

這個文件是必須配置的,而且根據實際情況而定。我們系統的裁剪也與該文件有關,類似于UCOS中的os_cfg.h文件。

比如:主頻、系統滴答、系統堆棧大小等。

#define configCPU_CLOCK_HZ ((unsigned long)72000000)

#define configTICK_RATE_HZ ((TickType_t)100)

#define configTOTAL_HEAP_SIZE ((size_t)(4 * 1024))

本文不講述具體內容。后期詳細分析FreeRTOSConfig.h中的每一個參數。

至此,基本的步驟算是完成了。

代碼下載

目前只提供了STM32F0、F1和F4的Demo工程,后期更新。

【提示:微信公眾號不支持外鏈接】

FreeRTOS_STM32F0_Demo下載地址:

http://pan.baidu.com/s/1qYbmfy0

FreeRTOS_STM32F1_Demo下載地址:

http://pan.baidu.com/s/1jHDHRPc

FreeRTOS_STM32F4_Demo下載地址:

http://pan.baidu.com/s/1bplLZ7x

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

    關注

    3

    文章

    13

    瀏覽量

    8504
  • 源代碼
    +關注

    關注

    96

    文章

    2953

    瀏覽量

    70307
  • FreeRTOS
    +關注

    關注

    14

    文章

    499

    瀏覽量

    66932
  • Source
    +關注

    關注

    0

    文章

    19

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux設備樹到底是啥?一張圖看懂硬件適配的「翻譯官」

    你有沒有想過:同一份 Linux 內核鏡像,為啥能在不同型號的開發板跑起來?比如一塊 ARM 架構的開發板,今天換個顯示屏、明天加個傳感器,內核不用重新編譯就能識別新硬件 —— 這背后,設備樹(Devicetree) 功不可沒。
    的頭像 發表于 02-09 17:01 ?1055次閱讀
    Linux設備樹到底是啥?一張圖看懂硬件適配的「翻譯官」

    其利天下:論“高速風筒驅動方案”中那些看不見的設計關鍵

    聊到高速風筒,大家首先想到的可能是十萬轉的電機、超大風量。但很多工程師朋友都知道,這些參數穩定、安全、可靠地跑起來,真正決定用戶體驗“下限”的,往往是藏在里面那顆不顯眼的MCU(微控制器)及其整體方案。
    的頭像 發表于 02-05 16:44 ?1258次閱讀
    其利天下:論“高速風筒驅動方案”中那些看不見的設計關鍵

    Linux 下交叉編譯實戰:跑起來你的第一個 STM32 程序

    跑起來你的第一個STM32程序。一、準備工作開始之前,需要準備:1、Linux開發環境Ubuntu、Debian或其他主流發行版都可以。2、ARMGCC交叉編譯工具
    的頭像 發表于 11-24 19:04 ?805次閱讀
    Linux 下交叉編譯實戰:<b class='flag-5'>跑起來</b>你的第一個 STM32 程序

    RTOS 必學概念:任務、信號量、隊列一次搞懂

    個FIFO緩沖區?”這些問題聽起來基礎,但又總是繞在初學者腦子里。很多人直接拿FreeRTOS、RTX這樣的RTOS例程開搞,能跑起來,卻完全沒理解任務調度、信號
    的頭像 發表于 11-17 10:53 ?465次閱讀
    RTOS 必學概念:任務、信號量、隊列一次搞懂

    如何自己設計一個基于RISC-V的SoC架構,最后可以FPGA跑起來

    如何自己設計一個基于RISC-V的SoC架構,最后可以FPGA跑起來
    發表于 11-11 08:03

    RT Studio 創建 STM32G4xx的板子,LPUART1的初始化存在錯誤怎么解決?

    我是一個新手,剛開始探索RT-Thread+STM32 在用RT Studio創建工程后順利把板子跑起來了,不是開發板,是自己的板子;但是發現LPUART1不能使用,后面有折騰了下Studio鏈接
    發表于 10-11 08:34

    rtthread studio dubuge在線調試無法查看寄存器和外設寄存器,怎么解決?

    程序也跑起來了,SVDpath也沒問題。
    發表于 10-09 09:13

    請問rt-thread 能在msp430跑起來嗎?

    剛看到tr-thread,認為很不錯,關注中… 我想問一下,rt-thread能在msp430跑起來嗎? 有沒有人打算往上移植的? [s:175][s:175]
    發表于 09-22 07:54

    盤點那些電腦“跑起來”的“隱形高速公路”

    PCIe是一種高速串行計算機擴展總線標準,用于計算機主板與外部硬件設備的連接(如顯卡、擴展卡、數據采集卡等)。它相對比PCI并行總線,解決了數據傳輸帶寬不足、信號干擾的問題。
    的頭像 發表于 07-29 17:57 ?616次閱讀
    盤點那些<b class='flag-5'>讓</b>電腦“<b class='flag-5'>跑起來</b>”的“隱形高速公路”

    儲能BMS通信“卡殼”?CAN轉EtherCAT電池數據“跑起來

    儲能電站的“神經中樞”里,BMS(電池管理系統)就像電池的“健康管家”,但當百節電池串聯成儲能集群,傳統CAN總線常陷入“數據堵車”——這時候,耐達訊通信技術CAN轉EtherCAT方案就成了打通
    發表于 07-18 15:32

    扎根業務,這個618商業智能體先跑起來

    首個人機協同作戰的京東618,誰在制造數字員工?
    的頭像 發表于 06-10 18:09 ?2371次閱讀
    扎根業務,這個618商業智能體先<b class='flag-5'>跑起來</b>

    智能車淺談——手把手跑起來(電磁篇)

    前言電磁尋跡小車之前智能車系列已經做了一個比較詳細的解析,但是美中不足是知識點被拆的太零散,可能對于新手來說不太友好,所以借著有空就再寫一點能讓車跑起來的方案。當然,也就僅僅限于可以跑起來,元素
    的頭像 發表于 05-22 19:32 ?2845次閱讀
    智能車淺談——手把手<b class='flag-5'>讓</b>車<b class='flag-5'>跑起來</b>(電磁篇)

    同樣的代碼官方開發板運行正常,自己板子就跑不起來,怎么辦?

    同樣的代碼Nordic官方開發板可以運行正常,但在自己板子就跑不起來,如果你碰到了上述情況,建議按照如下步驟進行自檢: 首先確認用戶板
    的頭像 發表于 05-12 15:26 ?768次閱讀
    同樣的代碼<b class='flag-5'>在</b>官方開發板<b class='flag-5'>上</b>運行正常,<b class='flag-5'>在</b>自己<b class='flag-5'>板子</b><b class='flag-5'>上</b>就跑不<b class='flag-5'>起來</b>,怎么辦?

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

    方法是什么?具體說來: 1. 我應該如何正確啟動兩個作系統? 2. 當 Linux A35 運行時, M4 加載和執行
    發表于 04-04 06:02

    stm32cubeide生成的lwip網絡通訊任務跑起來都很正常,為什么一旦加獨立看門狗之后就會卡死呢?

    stm32cubeide生成的lwip網絡通訊任務跑起來都很正常,為什么一旦加獨立看門狗之后就會卡死?
    發表于 03-10 07:29