久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 學習資源 > 講師博文 > 關于使用stm32cubemx生成代碼后移植Ucos—III的方法

關于使用stm32cubemx生成代碼后移植Ucos—III的方法 時間:2018-10-28      來源:華清遠見

 介紹一下Ucos—iii的優點:相比于Ucos—ii,UCOS-II主要針對8位、16位機以及低端32位機,UCOS-III主要針對高端32位處理器和64位處理器,在性能上有了很大的提升,有了不少的提升,例如任務數沒有顯示,不同的任務可以擁有相同的優先級,相同優先級的任務調度采用時間片輪轉法。對一些內核對象,例如信號量,可以在運行過程中創建和刪除,不用像ucos-ii那樣必須在編譯時分配好。內核對象數也沒有限制。

 Ps:不過如果芯片處理能力有限的話,建議還是量力而為,選擇ucos—ii足夠就沒必要選擇ucos—iii,ucos-iii顯然適用于更加復雜的系統應用,本身占用的內存空間也較大,而且代碼顯得比較累贅。例如創建一個任務,就要這樣的麻煩

void OSTaskCreate (OS_TCB *p_tcb,

CPU_CHAR *p_name,

OS_TASK_PTR p_task,

void *p_arg,

OS_PRIO prio,

CPU_STK *p_stk_base,

CPU_STK_SIZE stk_limit,

CPU_STK_SIZE stk_size,

OS_MSG_QTY q_size,

OS_TICK time_quanta,

void *p_ext,

OS_OPT opt,

OS_ERR *p_err);

 這么多的參數,如果初學的話,一個個去弄懂也沒必要,但是如果不弄懂又學不會,所以如果入門ucos操作系統的話,本人介意先學ucos—ii,學了ucos—ii在去開ucos—iii,你會發現系統時基,任務創建和調度原理其實是一樣的,只不過部分功能做了優化,通俗點講就是更加嚴謹了,好了,理論只是幫助實際應用的東西,太過于執著于理論就鉆了牛角尖了,本人并非老師,只是一個普通的研發人員,所以以實際產品應用為主,所以就說一下實際應用吧。

 首先我們要到網上下載ucos—iii的源碼,官網是://micrium.com/打開看到

點擊紅色框部分,就會進入下載界面

然后就可以下載了

咱們下載的是下面這個,

下好以后,打開相關文件夾,將源碼復制到工程目錄下

然后打開keil5工程,在工程目錄里添加源碼,目錄結構如下:

 好了,上面只是基礎的準備工作,熟了以后大家可以根據自己喜好去創建工程目錄結構,目前來說先按作者的來就可以了,這些其實是無關緊要的事情,大家目的是為了學習原理并把它應用到實際工作中嘛。

 下面我們就開始真正的將這個系統和cpu關聯起來了,相信大家熟悉操作系統的都知道時基這個概念,ucos操作系統同樣需要一個時基,正好我們的stm32芯片都有一個系統滴答計時器,這里我們將它作為ucos操作系統的時基剛好,那么怎么做呢,其實是有兩個方法,

 大致原理是一樣的,我們打開startup_stm32f407xx.s文件,看到這里有棧空間申請的代碼

下面有相關函數調用的聲明:

那么這兩個函數是做什么的呢?

 一個是任務調度函數,一個是systick中斷服務函數,我們打開os_cpu_a.asm和os_cpu_c.c,可以看到源碼

 只要相關名字對應就可以了,我這里是改的startup_stm32f407xx.s啟動文件的相關聯部分,不希望修改ucos—iii源碼,但有的人是不希望修改stm32cubemx生成的源碼,而去修改ucos—iii的相應部分,都可以,只要函數名一致就可。

 Ps:stm32cubemx生成代碼的systick定時器為1ms一次中斷,如果需要調節,可以再時鐘配置函數里去修改。

上一篇:沒有了

下一篇:長安.ARM體系結構.七日談

戳我查看嵌入式每月就業風云榜

點我了解華清遠見高校學霸學習秘籍

猜你關心企業是如何評價華清學員的

干貨分享
相關新聞
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠見科技發展有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部