九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
uCos

         最近在百度上看了uCOS-III 的介紹后,諸多功能有很大的提升和改進,感覺有必要升級一下開發(fā)環(huán)境。百度介紹:http://baike.baidu.com/view/8531313.htm

環(huán)境:

  1. STM32F10x 3.5固件庫。
  2. MDK4.23 編譯器
  3. uCos-III v3.03

         1. uCos-III 源文件KRN-K3XX-000000.zip

                   官網http://micrium.com/page/downloads/source_code  

         我的網盤:http://115.com/file/anr4r6a8#

2.uCos-III 官網 移植程序

         Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueSTUDIO.zip

官網http://micrium.com/download/Micrium-Book-uCOS-III-STM32F107.exe

網盤http://115.com/file/dpuyusej#

一、第一步新建工程(在上一篇文章中有詳解)

二、新建文件夾uCOS_III。在此文件下新建四個文件夾uC-CPU,uC-LIB, uCOS-III。

1.uCOS-III下新建三個文件 Source, Ports, Cfg

復制KRN-K3XX-000000\Micrium\Software\uCOS-III\Source下所有文件到Source;

復制KRN-K3XX-000000\Micrium\Software\uCOS-III\Cfg\Template下所有文件到Cfg;

復制Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueSTUDIO\Micrium\Software\uCOS-III\Ports\ARM-Cortex-M3\Generic\RealVie下所有文件到 Ports。

 

2. uC-LIB下新建三個文件 Source, Ports, Cfg

復制Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueSTUDIO\Micrium\Software\uC-LIB文本文件到Source

復制Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueSTUDIO\Micrium\Software\uC-LIB\Cfg\Template下 lib_cfg.h 到Cfg

復制Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueSTUDIO\Micrium\Software\uC-LIB\Ports\ARM-Cortex-M3\RealView 下lib_mem_a.asm 到Ports

 

3. uC-CPU下新建三個文件 Source, Ports,Cfg

復制Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueSTUDIO\Micrium\Software\uC-CPU下三個文本文件到Source

復制Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueSTUDIO\Micrium\Software\uC-CPU\ARM-Cortex-M3\GNU下三個文件到 Ports

復制Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueSTUDIO\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\Atollic\uCOS-III\APP下cpu_cfg.h 到Cfg

 

4.復制Micrium_uCOS-III-STM32F107-Eval-Atollic-TrueSTUDIO\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\Atollic\uCOS-III\APP下app_cfg.h 到Main中。

 

好了, 到這里工程文件以復制完了。

1.把工程引用文件路徑指定 參圖:

2.添加工程文件:

 

Main.c, Kernel.c,Kernel.h,Config.c,Config.h代碼如下提供。

Main.c
Kernel.c
Kernel.h
Config.c
Config.h

app_cfg.h 追加代碼 后如下:

app_cfg.h

 

 

下面對Project\App\uCOS_III\uC-CPU\Ports 下cpu_a.s進行修改, 因為這是GNU的匯編代碼。

如下替換:

‘@’ 換為‘;’

.global  換為EXPORT

以下代碼

.text

.align 2

.thumb

.syntax unified

換為

 

         PRESERVE8

         AREA        |.text|, CODE, READONLY

                   THUMB

把函數名上的.thumb_func  在前后添加 ‘;’注釋掉;

并把函數 名后緊跟的‘:’刪除。

修改后如下:

cpu_a.s

修改os_cfg.h

OS_CFG_TS_EN宏定義改為0u

OS_CFG_SCHED_LOCK_TIME_MEAS_EN 宏定義改為0u

OS_CFG_TASK_DEL_EN 宏定義改為 1u

其它可根據自己的功能需要 先1u或ou。

 

 

這里Project\App\uCOS_III\uC-LIB\Source中l(wèi)ib_str.c的Str_FmtNbr_Int32 函數 的函數體內局部變量沒有賦初值,不夠嚴謹 這里賦初值如下:

    CPU_CHAR     *pstr_fmt = (CPU_CHAR *)0;    CPU_DATA      i = 0u;    CPU_INT32U    nbr_fmt = 0u;    CPU_INT32U    nbr_log = 0u;    CPU_INT08U    nbr_dig_max = 0u;    CPU_INT08U    nbr_dig_min = 0u;    CPU_INT08U    nbr_dig_fmtd = 0u;    CPU_INT08U    nbr_neg_sign = 0u;    CPU_INT08U    nbr_lead_char = 0u;    CPU_INT08U    dig_val = 0u;    CPU_INT08U    lead_char_delta_0 = 0u;    CPU_INT08U    lead_char_delta_a = 0u;    CPU_BOOLEAN   lead_char_dig = 0u;    CPU_BOOLEAN   lead_char_0 = 0u;    CPU_BOOLEAN   fmt_invalid = 0u;    CPU_BOOLEAN   print_char = 0u;    CPU_BOOLEAN   nbr_neg_fmtd = 0u;

 

 

最后修改啟動文件startup_stm32f10x_hd.s ,加載不同的啟動文件 時不用怕,修改的內容都是一樣的:

OS_CPU_PendSVHandler 替換所有的PendSV_Handler

OS_CPU_SysTickHandler替換所有的SysTick_Handler

使中斷執(zhí)行uCos的中斷函數。

 

到這里就全部OK了。

 

仿真查看端口變化

 

編程結果過于臃腫:

 

開啟3級優(yōu)化:

再編譯看結果:

 

整個工程文件存到我的網盤中http://pan.baidu.com/share/link?shareid=25418&uk=118334538

希望以上資料對大家有所幫助。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
1.uCOS
UCOSIII任務管理I
UCOSIII移植——STM32F769I 圖像處理能力評測之五
ucos移植到stm32上的中斷小小改進
ucos不支持FPU導致haltfault錯誤的處理辦法 續(xù)
分享一個簡單的STM32+UCOS物聯網應用
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服