色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

FreeRTOS移植+點亮OLED任務線程

冬至子 ? 來源:兆易創新GD32 MCU ? 作者:足球之路 ? 2022-10-11 14:37 ? 次閱讀

準備工作:

下載了官方提供的手冊、DEMO、固件包,并通讀了一下(注意,MDK版本要求比較高!為了找個能用的Keil折騰了很久):

pYYBAGNE4BWATCH0AABs6gP8e0U942.png

制作裸機點燈代碼

前面已經有‘探路者’把這部分做完了,我就不再敘述了,不過還是要自己動手移植一下,這樣可以了解片子與f103等常用的芯片的區別。

添加FreeRTOS部分

這是第一次真正意義上自己獨立移植了一次FreeRTOS^_^,沒有遇到太多的障礙:

使用的FreeRTOS版本是正點原子f103光盤里面的,9.0版本

poYBAGNE4CeAP0h8AACuUKuhF_E043.png

解壓縮后,只需要復制FreeRTOS,而用不到*-Plus:

poYBAGNE4DiASJXtAACZaNJCxFU587.png

FreeRTOS中,也有很多用不到的文件,請參考正點原子開源的FreeRTOS移植教程

需要注意的地方是GD32的中斷都放在了gd32f3x0_it.c中,需要屏蔽2個中斷空函數,進而直接調用freeRTOS內的同名函數:

pYYBAGNE4E6ALv1VAAFpuxqrufQ590.png

并在systick_handler中加入調用FreeRTOS的時鐘函數:

void SysTick_Handler(void)
{
    //led_spark();
    delay_decrement();
    #if (INCLUDE_xTaskGetSchedulerState == 1)
        if (xTaskgetSchedulerState() != taskSCHEDULER_NOT_STARTED)
        {
    #endif
            xPortSysTickHandler();
    #if (INCLUDE_xTaskGetSchedulerState == 1)    
        }
    #endif
}

主要FreeRTOS的棧設置要合理:

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

Program Size: Code=6068 RO-data=6448 RW-data=112 ZI-data=4296

這樣片子的可玩性還是挺高的。

移植正點原子OLED代碼:

這部分代碼邏輯比較簡單,看下正點原子的教程都可以很快搞定:

主要修改了正點原子通過位帶操作控制引腳改為使用GD的庫函數:

                                      
//---------------------------OLED端口定義--------------------------                         
#define OLED_CS(x)  gpio_bit_write(GPIOB,GPIO_PIN_0,(FlagStatus)(x));
#define OLED_RST(x) gpio_bit_write(GPIOA,GPIO_PIN_5,(FlagStatus)(x));
#define OLED_DC(x)  gpio_bit_write(GPIOB,GPIO_PIN_1,(FlagStatus)(x));
#define OLED_WR(x)  gpio_bit_write(GPIOB,GPIO_PIN_4,(FlagStatus)(x));
#define OLED_RD(x)  gpio_bit_write(GPIOB,GPIO_PIN_5,(FlagStatus)(x));

最終完成移植:

pYYBAGNE4GCAJRa-AAFR5IG3k2w845.png

總結

現在芯片都比較成熟,性能都過剩,這款芯片提供的資料也都夠用,對于上手使用比較方便。后面自己做一些手表、物聯網產品,可以玩一下。




審核編輯:劉清

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

    關注

    119

    文章

    6219

    瀏覽量

    224738
  • FreeRTOS
    +關注

    關注

    12

    文章

    484

    瀏覽量

    62360
  • 裸機
    +關注

    關注

    0

    文章

    39

    瀏覽量

    6424
  • 中斷函數
    +關注

    關注

    0

    文章

    13

    瀏覽量

    5319
收藏 人收藏

    評論

    相關推薦

    FreeRTOS系統使用xTaskCreate產生的任務與osThreadDef 產生的線程有什么不同?

    請教下是要 FreeRTOS系統, 使用 xTaskCreate 產生的任務 與 osThreadDef產生的線程有什么不同?
    發表于 04-29 07:20

    移植FreeRTOS-CLI時,發現CLI任務移植無法被執行怎么回事

    移植FreeRTOS-CLI時,發現CLI任務移植無法被執行,麻煩各位指教!謝謝stm32f103rct_freertos_demo.zi
    發表于 07-21 08:04

    請問CubeMX如何配置FreeRTOS跑多線程任務

    請問CubeMX如何配置FreeRTOS跑多線程任務
    發表于 02-14 06:39

    FreeRTOS下對lwIP的移植程序

    FreeRTOS下對 lwIP的移植程序。
    發表于 10-29 10:58 ?11次下載

    freertos移植教程_freertos任務調度原理

    移植之前,我們首先要獲取到FreeRTOS的官方的源碼包。
    發表于 04-16 09:16 ?1.2w次閱讀
    <b class='flag-5'>freertos</b><b class='flag-5'>移植</b>教程_<b class='flag-5'>freertos</b><b class='flag-5'>任務</b>調度原理

    FreeRTOS任務如何創建和刪除?

    FreeRTOS移植到Cortex-M3硬件平臺的文章中,我們已經見過任務創建API,但那篇文章的重點在于如何移植FreeRTOS,本文將
    的頭像 發表于 03-11 18:08 ?2979次閱讀

    轉發:stm32 移植 freertos

    轉發:stm32 移植 freertos
    發表于 11-20 12:36 ?14次下載
    轉發:stm32 <b class='flag-5'>移植</b> <b class='flag-5'>freertos</b>

    IAR移植FreeRTOS

    IAR移植FreeRTOS之前寫了移植在MDK的文章,之后試著移植到IAR上(IAR的在線調試功能用著比MDK順手,在線調試實時查看大型數組也不會卡死,MDK查看數組若是太大會很卡)。
    發表于 12-03 10:36 ?15次下載
    IAR<b class='flag-5'>移植</b><b class='flag-5'>FreeRTOS</b>

    FreeRTOS移植—基于STM32

    FreeRTOS移植—基于STM32
    發表于 12-04 12:51 ?18次下載
    <b class='flag-5'>FreeRTOS</b><b class='flag-5'>移植</b>—基于STM32

    【STM32】FreeRTOS移植

    00. 目錄文章目錄00. 目錄01. 簡介02. 預備工作03. FreeRTOS移植04. SYSTEM文件修改05. 測試程序設計06. 附錄07. 參考01. 簡介我們已經了解
    發表于 12-04 14:06 ?14次下載
    【STM32】<b class='flag-5'>FreeRTOS</b><b class='flag-5'>移植</b>

    初入FreeRTOS

    源碼3、FreeRTOS移植操作三、在STM32下完成一個基于FreeRTOS的多任務程序1、任務要求2、
    發表于 12-06 21:06 ?40次下載
    初入<b class='flag-5'>FreeRTOS</b>

    基于FreeRTOS的STM32多任務程序

    基于FreeRTOS的STM32多任務程序一、材料準備二、 FreeRTOS移植FreeRTOS是什么F
    發表于 12-27 18:38 ?28次下載
    基于<b class='flag-5'>FreeRTOS</b>的STM32多<b class='flag-5'>任務</b>程序

    FreeRTOS系列第10篇---FreeRTOS任務創建和刪除

    FreeRTOS移植到Cortex-M3硬件平臺的文章中,我們已經見過任務創建API,但那篇文章的重點在于如何移植FreeRTOS,本文將
    發表于 01-26 17:56 ?13次下載
    <b class='flag-5'>FreeRTOS</b>系列第10篇---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>創建和刪除

    FreeRTOS任務創建與刪除

    FreeRTOS 中,每個執行線程都被稱為”任務”。在嵌入式社區中,對此并沒有一個公允的術語,但我更喜歡用”任務”而不是”線程”,因為從
    的頭像 發表于 02-10 14:43 ?1424次閱讀

    RA FreeRTOS任務創建

    隨著嵌入式應用程序變得越來越復雜,單片機裸機開發已經無法滿足工程師對于復雜程序的需求。于是具有多任務調度和實時響應特性的RTOS便越來越受工程師們青睞。瑞薩RA系列MCU兼容FreeRTOS系統
    的頭像 發表于 07-12 10:00 ?744次閱讀
    RA <b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務</b>創建
    主站蜘蛛池模板: 狠狠狠狠狠狠干 | 久久中文字幕亚洲精品最新 | 精品国产免费第一区二区 | 三级网址在线 | 蜜臀AV人妻久久无码精品麻豆 | silk118中文字幕无删减 | 国产婷婷午夜无码A片 | 狠狠色狠狠色综合日日32 | 成人午夜精品久久久久久久秋霞 | 精品久久久久久久高清 | 99久女女精品视频在线观看 | 无限资源在线完整高清观看1 | 国产精品三级在线观看 | 日韩精品无码免费专区 | 久久精品久久久久 | 挤奶门事件完整照片 | 午夜精品久久久内射近拍高清 | 4虎影院午夜在线观看 | 久久中文电影 | 边摸边吃奶边做带声音 | 国产免费69成人精品视频 | 日本高清二区 | 国产在线亚洲v天堂a | 国产精品一库二库三库 | 老师好爽你下面水好多视频 | 免费观看国产视频 | 香蕉久久日日躁夜夜嗓 | 欧美疯狂做受xxxxx喷水 | 口工漫画r18全彩啪啪 | 内地同志男16china16 | www.狠狠色 | 婷婷五月久久丁香国产综合 | 成年美女黄网站色app | 久久久精品国产免费A片胖妇女 | 18动漫在线观看 | 国精产品一区二区三区有限公司 | 67194线在线精品观看 | 在线观看国产亚洲 | 神马电影院午 夜理论 | 一个人看的HD免费高清视频 | 扒开女人下面使劲桶视频 |