吴忠躺衫网络科技有限公司

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

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

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

如何讓FreeRTOS系統(tǒng)直接在芯片上運(yùn)行?

5RJg_mcuworld ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-09-12 14:13 ? 次閱讀

為滿足大家的好奇心,本文將講述幾個(gè)步驟可以讓FreeRTOS系統(tǒng)直接在芯片上運(yùn)行,提供可以直接運(yùn)行的Demo工程給大家,方便大家直接拿來(lái)修改測(cè)試。

為什么不先講述源代碼?

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

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

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

移植幾個(gè)步驟

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

1.提取源碼添加到工程

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

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

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

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

2.添加路徑

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

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

1.MDK-ARM_新建軟件工程詳細(xì)過(guò)程

2.EWARM_新建軟件工程詳細(xì)過(guò)程

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

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

3.創(chuàng)建自己任務(wù)和添加相應(yīng)代碼

我們創(chuàng)建四個(gè)任務(wù),還是使用比較經(jīng)典的LED燈任務(wù)。

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文件添加任務(wù)的源代碼。

4.修改FreeRTOSConfig.h配置文件

這個(gè)文件是必須配置的,而且根據(jù)實(shí)際情況而定。我們系統(tǒng)的裁剪也與該文件有關(guān),類似于UCOS中的os_cfg.h文件。

比如:主頻、系統(tǒng)滴答、系統(tǒng)堆棧大小等。

#define configCPU_CLOCK_HZ ((unsigned long)72000000)

#define configTICK_RATE_HZ ((TickType_t)100)

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

本文不講述具體內(nèi)容。后期詳細(xì)分析FreeRTOSConfig.h中的每一個(gè)參數(shù)

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

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

    關(guān)注

    456

    文章

    51176

    瀏覽量

    427263
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    62396

原文標(biāo)題:簡(jiǎn)單幾步,讓你的FreeRTOS直接跑在芯片上!

文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Arduino庫(kù)可以直接在RT-Thread運(yùn)行了 附詳細(xì)解讀

    Arduino社區(qū)優(yōu)秀的開源項(xiàng)目),來(lái)豐富RT-Thread社區(qū)軟件包生態(tài),并降低RT-Thread操作系統(tǒng)以及與RT-Thread適配的芯片的學(xué)習(xí)門檻。可以用戶通過(guò)Arduino的函數(shù)和編程方法,輕松地將
    發(fā)表于 08-31 21:03 ?1958次閱讀

    如何用CCS直接在ARM A8運(yùn)行裸跑程序?

    大家好,請(qǐng)教下能不能用CCS5直接在ARM A8 core運(yùn)行裸跑程序呢?(我指的是在ARM里面不加操作系統(tǒng)和文件系統(tǒng),把ARM A8當(dāng)單
    發(fā)表于 06-21 13:06

    請(qǐng)問(wèn)怎么SD卡拔下來(lái)可以直接在電腦顯示卡的內(nèi)容,求程序

    怎么SD卡拔下來(lái)以后可以直接在電腦顯示卡的內(nèi)容?就是用MSP430向SD卡寫數(shù)據(jù),怎么在電腦端顯示?
    發(fā)表于 01-28 22:55

    freeRTOS 如何移植到zynq芯片

    因?yàn)樽罱玫絲ynq芯片,我希望能在zynq芯片使用freeRTOS,但是弄不明白怎么移植進(jìn)去。一般xillinx sdk在工程里面添加操作系統(tǒng)
    發(fā)表于 06-11 04:35

    FreeRTOS任務(wù)調(diào)度優(yōu)先級(jí),會(huì)直接在就緒列表中調(diào)用低優(yōu)先級(jí)任務(wù)么?

    由于剛開始使用FreeRTOS,所以有很多問(wèn)題,也正在學(xué)習(xí)。請(qǐng)問(wèn)各位,假如優(yōu)先級(jí)高的任務(wù)時(shí)間片用完后,會(huì)直接在就緒列表中調(diào)用低優(yōu)先級(jí)任務(wù)么?假設(shè):Task_A 優(yōu)先級(jí)為2,Task_B 優(yōu)先級(jí)為1
    發(fā)表于 06-14 09:01

    分享STM32F427IIH6芯片運(yùn)行FreeRTOS系統(tǒng)

    我將分享STM32F427IIH6芯片(RoboMaster A型)運(yùn)行FreeRTOS系統(tǒng)通過(guò)串
    發(fā)表于 01-11 06:17

    現(xiàn)有的BSP工程可以直接在GD32F470上進(jìn)行開發(fā)嗎

    大家好:有關(guān)于GD32F470的BSP工程的問(wèn)題咨詢,我在GD官網(wǎng)上查照資料了解470和450是很相似的,目前因?yàn)轫?xiàng)目需要使用的470芯片,想使用rt-thread的操作系統(tǒng),但是不知道該移植哪些內(nèi)容,或者是現(xiàn)有的BSP可以直接在
    發(fā)表于 08-01 10:39

    FreeRTOS在STM32的移植筆記

    將嵌入式開發(fā)領(lǐng)域著名的開源嵌入式RTOS --- FreeRTOS 一直到STM32 芯片運(yùn)行的移植筆記。
    發(fā)表于 05-09 09:56 ?5次下載

    什么是操作系統(tǒng)?FreeRTOS中文實(shí)用教程你快速入門FreeRTOS

    本文檔的主要內(nèi)容詳細(xì)介紹的是什么是操作系統(tǒng)?FreeRTOS中文實(shí)用教程你快速入門FreeRTOS帶你了解了1.認(rèn)識(shí)操作系統(tǒng) 2.輕松上手
    發(fā)表于 09-12 16:51 ?276次下載
    什么是操作<b class='flag-5'>系統(tǒng)</b>?<b class='flag-5'>FreeRTOS</b>中文實(shí)用教程<b class='flag-5'>讓</b>你快速入門<b class='flag-5'>FreeRTOS</b>

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

    輕松幾步實(shí)現(xiàn)在STM32運(yùn)行FreeRTOS任務(wù)
    的頭像 發(fā)表于 03-01 12:07 ?8543次閱讀
    如何輕松幾步實(shí)現(xiàn)在STM32<b class='flag-5'>上</b><b class='flag-5'>運(yùn)行</b><b class='flag-5'>FreeRTOS</b>任務(wù)

    FreeRTOS_003 _系統(tǒng)在板子跑起來(lái)

    FreeRTOS_003_系統(tǒng)在板子跑起來(lái)
    的頭像 發(fā)表于 03-14 11:25 ?2810次閱讀
    <b class='flag-5'>FreeRTOS</b>_003 _<b class='flag-5'>讓</b><b class='flag-5'>系統(tǒng)</b>在板子<b class='flag-5'>上</b>跑起來(lái)

    芯片接在電路板的好處_芯片如何焊接在電路板

    芯片是要“裝”在電路板的,準(zhǔn)確的說(shuō)是“焊接”。芯片要通過(guò)焊錫焊接在電路板,而電路板通過(guò)“走
    的頭像 發(fā)表于 03-08 06:12 ?1.1w次閱讀

    FreeRTOS直接任務(wù)(消息)通知

    ? ? ? ? 之前分享了《FreeRTOS V10.4.0更新了哪些功能?》,今天就來(lái)詳細(xì)講述其中的一個(gè)知識(shí)點(diǎn):FreeRTOS直接任務(wù)(消息)通知,這樣做的目的就是減少RAM占用空間并加快執(zhí)行
    的頭像 發(fā)表于 01-07 09:37 ?4677次閱讀

    嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS在ARM7移植實(shí)現(xiàn)

    嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS在ARM7移植實(shí)現(xiàn)(嵌入式開發(fā)工程師待遇)-嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS在ARM7
    發(fā)表于 07-30 12:05 ?21次下載
    嵌入式實(shí)時(shí)操作<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>FreeRTOS</b>在ARM7<b class='flag-5'>上</b>移植實(shí)現(xiàn)

    基于STM32的FreeRTOS開發(fā)(1)----FreeRTOS簡(jiǎn)介

    FreeRTOS 是一個(gè)免費(fèi)和開源的實(shí)時(shí)操作系統(tǒng),它主要用于嵌入式系統(tǒng)。它非常輕量級(jí),可以在很小的硬件資源運(yùn)行,因此非常適合在限制硬件資源
    的頭像 發(fā)表于 07-27 09:49 ?1420次閱讀
    基于STM32的<b class='flag-5'>FreeRTOS</b>開發(fā)(1)----<b class='flag-5'>FreeRTOS</b>簡(jiǎn)介
    大发888下载 df888gfxzylc8| 网上百家乐官网合法吗| 怎样玩百家乐官网的玩法技巧和规则 | 博九百家乐官网的玩法技巧和规则| 泰山百家乐的玩法技巧和规则 | 百家乐官网3宜3忌| 百家乐赚钱项目| tag博彩业| 百家乐官网游戏卡通| 大发888易付168| 百家乐官网椅子| 回力百家乐的玩法技巧和规则| 天津水果机遥控器| 百家乐官网赌博软件下载| 百家乐免费改| 百家乐官网PK| 大发888在线| 风水中的24山图| 利记国际娱乐| 百家乐视频游戏挖坑| 安化县| 网络百家乐打揽| 神人百家乐官网赌博| 德州扑克下载| 圣淘沙百家乐游戏| 哪里有百家乐官网代理| 百家乐怎么玩请指教| 至尊百家乐官网吕文婉| 余杭棋牌世界| 川宜百家乐分析软件| 百家乐官网数据程序| 百家乐园百乐彩| 黄金城百家乐官网手机用户| 喜達博彩网| 网上百家乐网| 百家乐官网赌场信息| 德州扑克软件| 百家乐台布兄弟| 博彩百家乐官网网址| 大发888是真的吗| 百家乐的代理办法|