久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> STM32 >> 瀏覽文章

ucos ii 移植到stm32f103ze上

作者:佚名   來源:轉(zhuǎn)自追風(fēng)空間   點(diǎn)擊數(shù):  更新時(shí)間:2014年08月29日   【字體:

采用別人移植好的代碼。即所需函數(shù)已寫好。

準(zhǔn)備工作:
1、ucos ii源碼
2、stm32庫
步驟:
1、建工程。
工程目錄為:
2、配置ucos ii
在os_cfg.h中配置相關(guān)功能
3、修改相關(guān)函數(shù)
ucos ii需要一個(gè)定時(shí)器,在stm32中采用systick定時(shí)器,因此需要配置systick定時(shí)器
void SysTick_Configuration(void)
{
//關(guān)計(jì)數(shù)
    SysTick_CounterCmd(SysTick_Counter_Disable); 
    //關(guān)中斷
    SysTick_ITConfig(DISABLE);
//配置SysTick的時(shí)鐘源  此時(shí)為AHB時(shí)鐘
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
//配置指系統(tǒng)句柄的優(yōu)先級(jí)(Systick句柄  3號(hào)搶占優(yōu)先級(jí),0號(hào)子優(yōu)先級(jí))
NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick, 3, 0);
//設(shè)置重載值1ms中斷 HCLK=8M時(shí)
SysTick_SetReload(800000);  
//使能Systick中斷
SysTick_ITConfig(ENABLE);
    //使能Systick計(jì)數(shù)即啟動(dòng)計(jì)數(shù)
SysTick_CounterCmd(SysTick_Counter_Enable);
}
需要systick定時(shí)器中斷,在中斷里面調(diào)用ucos的相關(guān)函數(shù),以此來作為ucos的時(shí)鐘。
void SysTickHandler(void)
{
OS_CPU_SR  cpu_sr;
// OS_ENTER_CRITICAL();  //保存全局中斷標(biāo)志,關(guān)總中斷
//   OSIntNesting++;
//   OS_EXIT_CRITICAL();  //恢復(fù)全局中斷標(biāo)志
OSIntEnter();
OSTimeTick();
OSIntExit();        
}
 
配置pendsv函數(shù)
ucos通過pendsv來實(shí)現(xiàn)任務(wù)調(diào)試,因此需要在啟動(dòng)代碼中更改pendsv
將原來的PendSV改為
OSPendSV
否則,系統(tǒng)會(huì)卡在
OSStartHang
    B       OSStartHang                                         ; Should never get here
處。
4、includes.h的編寫
 
 
#ifndef  __INCLUDES_H__
#define  __INCLUDES_H__
 
#define   DEF_FALSE 0
#define   DEF_TRUE  1
 
#include    "ucos_ii.h"
#include "os_cpu.h"
#include "bsp.h"
#include    "app.h"
#include    "app_cfg.h"
 
#include    "stm32f10x_conf.h"
#include    
 
 
 
#if (uC_PROBE_OS_PLUGIN > 0)
#include    
#endif
 
#if (uC_PROBE_COM_MODULE > 0)
#include    
 
#if (PROBE_COM_METHOD_RS232 > 0)
#include    
#endif
#endif
 
 
 
#endif
 
5、bsp函數(shù)配置
stm32的相關(guān)硬件配置包括RCC、systick、NVIC、等,需要注意的是,systick定時(shí)器必須在OS啟動(dòng)后才能啟動(dòng),否則,系統(tǒng)會(huì)崩潰。(這里有疑問,在OSStart執(zhí)行前使能systick中斷,系統(tǒng) 還是能運(yùn)行)
6、編寫相關(guān)任務(wù)函數(shù)。
 
 
總結(jié),在移植UCOS時(shí),需要編寫的函數(shù)文件有includes.h、os_cpu.c、os_cpu_a.asm、os_cpu.h、需要配置的文件有os_cgf.h、中斷和啟動(dòng)代碼。
關(guān)閉窗口
主站蜘蛛池模板: 五月天综合影院 | 激情欧美一区二区三区中文字幕 | 亚洲成人精品 | 国产精品国产三级国产aⅴ原创 | jlzzjlzz国产精品久久 | 羞羞羞视频 | 亚洲一区二区三区在线 | 国产精品毛片一区二区在线看 | 99精品欧美一区二区蜜桃免费 | 欧美黄在线观看 | 波多野结衣一区二区三区 | 成人免费视频 | 中文字幕1区| 精品一区二区三区免费毛片 | 一区二区三区不卡视频 | 国产婷婷精品 | 伊人免费在线观看高清 | 久在线精品视频 | 三级视频网站 | 日韩精品成人 | 亚洲第一天堂 | 视频1区2区| av男人的天堂av | 久久99视频| 超级黄色一级片 | 精品美女 | 国产91观看| 亚洲第一在线视频 | 国产日韩av一区二区 | 欧美日韩综合 | 成人精品高清 | 日韩免费一区 | 免费一区二区三区在线视频 | 91精品国产自产在线老师啪 | 欧美片网站免费 | 精品国产91乱码一区二区三区 | 精品九九久久 | 成人一区二区三区在线观看 | 韩日一区二区三区 | 色爱综合网 | a级毛片毛片免费观看久潮喷 |