在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    瀏覽量

    8418
  • 源代碼
    +關注

    關注

    96

    文章

    2953

    瀏覽量

    68242
  • FreeRTOS
    +關注

    關注

    12

    文章

    492

    瀏覽量

    64151
  • Source
    +關注

    關注

    0

    文章

    18

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

    DLPR410版本更新后是否需要升級用戶軟件?

    我之前用的是18版的DLPR410軟件跑起來都正常,最近做了一批新板子,用了新版的DLPR410,結果就不正常了,具體是從電腦發一條從左上角到右下角的斜線,結果在DMD顯示成這樣
    發表于 02-24 07:59

    從DLPA2000的規格書來看,可以設置UVLO閾值(2.3-4.5),請問這個閾值我們開發者該怎么設置呢?

    電壓的跌落,所以電池電量較低時,很容易開機的時候,光機突然不亮,但是系統還可以正常跑起來。 所以加入UVLO默認的閾值不是最低的,那么我們想修改為2.3V,以滿足我們
    發表于 02-21 06:56

    移植vi-&gt;venc時提示VA and PA must be page aligned. va=0x70000000, pa=0x10823300,是什么問題?

    .elf文件跑起來時,出現以下提示 是因為哪里沒有對齊嗎?以下是修改的內容: 變量及宏定義 代碼修改片段
    發表于 02-08 07:18

    AFE4300EVM-PDK能直接通過外接電極進行BCM測量嗎?

    只是個大致的介紹,如何把板子跑起來直至得到數據這一過程還是不甚明了(手冊里只介紹了GUI各模塊的設置,并無完整流程的例程供參考),希望能夠得到技術人員和相關大牛的解答,謝謝!~
    發表于 12-18 08:07

    1X Technologies明示:機器人跑起來

    近日,OpenAI投資的機器人公司1X Technologies(簡稱1X)透露了其機器人研發的下一步計劃。11月23日,1X的AI副總裁Eric Jang社交媒體發帖求推薦跑步機,并特別注明
    的頭像 發表于 11-25 14:40 ?942次閱讀

    GD32F303CCT6 keil5為什么下載不了程序?

    就是同一個項目我拷貝到同事電腦是可以下載的,程序也是可以正常跑起來,但是我電腦用keil5和J-Flash都不行然而都可以連接成功和識別芯片ID,更加
    發表于 11-15 07:09

    求助!! CS32L010F8U6 外圍電路注意事項有哪些

    上圖是我的原理圖,已經通過jlink把控制IO的示例燒進去了,但是程序似乎沒跑起來,Debug也跑不起來,求大佬指點下,網上基本找不到這ic的資料,官方也沒開源
    發表于 09-12 16:04

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

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

    freertos最多支持多少個任務

    FreeRTOS是一個輕量級的實時操作系統(RTOS),其設計初衷就是為了提供簡單、可靠且高效的實時任務管理。關于FreeRTOS最多支持多少個任務的問題,實際并沒有一個固定的上限,
    的頭像 發表于 09-02 14:21 ?2216次閱讀
    主站蜘蛛池模板: 色偷偷91综合久久噜噜噜男男 | 亚洲高清一区二区三区 | 色之综综 | 五月激情婷婷综合 | 五月婷婷综合激情 | 国产伦精品一区二区三区免 | 国产乱人视频免费播放 | 色综合久久中文字幕网 | 四虎.com| 欧美一级高清片欧美国产欧美 | 国产午夜三区视频在线 | 久久午夜综合久久 | 日本三级日产三级国产三级 | 色播在线视频 | 成人在线黄色 | 69日本xxxxxxxxx19| 免费无码看av的网站 | 黄在线看 | 香港三级理论在线观看网站 | 天天插天天爽 | 午夜视频日本 | 国产小视频在线播放 | 午夜网站在线播放 | 国产免费糟蹋美女视频 | 中文字幕成人乱码在线电影 | 日日躁夜夜躁狠狠天天 | 久久精品视频热 | 好吊788gaoco| 色优优| 热99re久久精品2久久久 | 中文字幕佐山爱一区二区免费 | 99国产精品农村一级毛片 | 欧美性一区二区三区五区 | 中文字幕在线永久在线视频2020 | 国内视频一区 | 激情五月激情综合色区 | 手机看片日本 | 在线天堂中文新版有限公司 | 黄网站色视频大全免费观看 | 女人被狂躁视频免费网站 | 美女被草视频在线观看 |