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

專注電子技術學習與研究
當前位置:單片機教程網 >> STM32 >> 瀏覽文章

ucos ii 移植到stm32f103ze上

作者:佚名   來源:轉自追風空間   點擊數:  更新時間:2014年08月29日   【字體:

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

準備工作:
1、ucos ii源碼
2、stm32庫
步驟:
1、建工程。
工程目錄為:
2、配置ucos ii
在os_cfg.h中配置相關功能
3、修改相關函數
ucos ii需要一個定時器,在stm32中采用systick定時器,因此需要配置systick定時器
void SysTick_Configuration(void)
{
//關計數
    SysTick_CounterCmd(SysTick_Counter_Disable); 
    //關中斷
    SysTick_ITConfig(DISABLE);
//配置SysTick的時鐘源  此時為AHB時鐘
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
//配置指系統句柄的優先級(Systick句柄  3號搶占優先級,0號子優先級)
NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick, 3, 0);
//設置重載值1ms中斷 HCLK=8M時
SysTick_SetReload(800000);  
//使能Systick中斷
SysTick_ITConfig(ENABLE);
    //使能Systick計數即啟動計數
SysTick_CounterCmd(SysTick_Counter_Enable);
}
需要systick定時器中斷,在中斷里面調用ucos的相關函數,以此來作為ucos的時鐘。
void SysTickHandler(void)
{
OS_CPU_SR  cpu_sr;
// OS_ENTER_CRITICAL();  //保存全局中斷標志,關總中斷
//   OSIntNesting++;
//   OS_EXIT_CRITICAL();  //恢復全局中斷標志
OSIntEnter();
OSTimeTick();
OSIntExit();        
}
 
配置pendsv函數
ucos通過pendsv來實現任務調試,因此需要在啟動代碼中更改pendsv
將原來的PendSV改為
OSPendSV
否則,系統會卡在
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函數配置
stm32的相關硬件配置包括RCC、systick、NVIC、等,需要注意的是,systick定時器必須在OS啟動后才能啟動,否則,系統會崩潰。(這里有疑問,在OSStart執行前使能systick中斷,系統 還是能運行)
6、編寫相關任務函數。
 
 
總結,在移植UCOS時,需要編寫的函數文件有includes.h、os_cpu.c、os_cpu_a.asm、os_cpu.h、需要配置的文件有os_cgf.h、中斷和啟動代碼。
關閉窗口
主站蜘蛛池模板: 欧美激情一区二区三级高清视频 | 日韩在线h | 久久剧场 | 99国产精品一区二区三区 | 一级视频黄色 | 亚洲人成在线观看 | 国产大片黄色 | 三级av在线 | 国产一区二区高清在线 | 午夜性色a√在线视频观看9 | 国产伦精品一区二区三区高清 | 国产一级黄色网 | 亚洲精品久久久久久一区二区 | 精品人伦一区二区三区蜜桃网站 | 国产精品久久久久久久久婷婷 | 欧美视频免费在线 | 亚洲精品99 | 久久久久中文字幕 | 在线免费观看黄色网址 | 日韩成人av在线 | 宅男伊人 | 性做久久久久久免费观看欧美 | 国产精品 欧美精品 | 日日天天 | 久久久国产一区二区三区 | 99精品欧美一区二区三区综合在线 | 亚洲性网 | 欧美网站一区二区 | 国产精品一区二区三区久久久 | 欧美不卡一区二区 | 亚洲人va欧美va人人爽 | 国产精选一区 | 玖玖玖在线 | 在线日韩av电影 | 一区二区三区av | 视频一区二区三区中文字幕 | 欧美一区日韩一区 | 国产丝袜一区二区三区免费视频 | 欧美精品久久久久 | av在线电影网站 | 久久精品无码一区二区三区 |