原创 UC/OS-II学习笔记--STM32移植(1)

2014-6-30 01:06 2628 17 18 分类: MCU/ 嵌入式 文集: OS

 

步骤如下:

步骤1Micrium官方下载相关型号的UCOS-II源代码;

步骤2新建工程,然后除了添加日常的工程文件外,还需要在工程组里添加四个文件

 

1.gif

由这个关系图可知,我们需要在工程里新建的文件夹

2.1  APP: 用户的外设硬件驱动程序;里面有四个文件:

       app.c       //新建的,用户自己编写

       app.h          //新建的,用户自己编写

       app_cfg.h   //新建的,用户自己编写,用来配置应用软件,主要是任务的优先级、中断优先级和堆栈大小等;

       os_cfg.h // OS本身的对应用软件的配置

 

22.jpg

2.2   uCOS-II\Source: OS源文件,里面有11个文件,10C 1个头文件,来自于Micrium\Software\Ucos-II

   11.jpg

 2.3   uCOS-II\Ports:  OSCPU端口配置文件,里面有4个文件,两个C,一个头文件,一个汇编文件,来自

 

2.jpg
os_cpu.h
os_cpu_a.asm
os_cpu_c.c
os_dgb.c

 

2.4   BSP 用户外设具体的驱动程序,比如说led.clcd.c等;至少有两个

BSP.c

BSP.h

 

注意1:从Micrium中拷贝文件过来后,对于PORTS文件夹,去掉只读属性;

注意2:在target 里添加这四个文件夹的编译路径;

 

步骤3修改uC/OS-II

  3.1  os_cfg.h

 用来配置系统功能的,也就是使能或禁用各个功能模块,以及设置相关最小最大值;

 

3.jpg
4.jpg

禁用 信号量、互斥信号量、邮箱、队列、信号量集、定时器、内存管理,关闭调试模式

禁用:  应用软件的钩子函数和多重事件控制,如果用不着的话;

#define OS_APP_HOOKS_EN           0

#define OS_EVENT_MULTI_EN         0 

 

3.2   修改os_cpu.h

void       OS_CPU_SysTickHandler(void);

void       OS_CPU_SysTickInit(void);

INT32U     OS_CPU_SysTickClkFreq(void);

 

注释掉前面这三个函数

 

3.3  修改os_cpu_c.c

#if 0  … #endif 注释掉三个地方:

#define  OS_CPU_CM3_NVIC_ST_CTRL    (*((volatile INT32U *)0xE000E010))

#define  OS_CPU_CM3_NVIC_ST_RELOAD  (*((volatile INT32U *)0xE000E014)) 

#define  OS_CPU_CM3_NVIC_ST_CURRENT (*((volatile INT32U *)0xE000E018))  

#define  OS_CPU_CM3_NVIC_ST_CAL     (*((volatile INT32U *)0xE000E01C))   

#define  OS_CPU_CM3_NVIC_PRIO_ST    (*((volatile INT8U  *)0xE000ED23))  

#define  OS_CPU_CM3_NVIC_ST_CTRL_COUNT                    0x00010000               

#define  OS_CPU_CM3_NVIC_ST_CTRL_CLK_SRC                  0x00000004               

#define  OS_CPU_CM3_NVIC_ST_CTRL_INTEN                    0x00000002          

#define  OS_CPU_CM3_NVIC_ST_CTRL_ENABLE                   0x00000001                

#define  OS_CPU_CM3_NVIC_PRIO_MIN                               0xFF

 

void  OS_CPU_SysTickHandler (void)函数

void  OS_CPU_SysTickInit (void) 函数

 

 

 

文章评论1条评论)

登录后参与讨论

用户1001249 2013-10-26 10:32

写的太好了,对初学者很有用,谢谢
相关推荐阅读
啊左不是蜗牛 2015-01-28 09:21
【博客大赛】那样的人生,看不穿
         昨晚11点跟PM姐姐聊天,问她今晚要不要加班,她回:刚刚开发哥哥陪她出来打的。。。我以为我十点半从实验室回去已经够晚了。。我脸红了。        我问她为什么不早点回去...
啊左不是蜗牛 2015-01-13 19:41
【智能手机】三个观点说说国产手机未来
在此篇文章之前还有一个各大手机品牌的总结,请点击查看。 智能手机之论英雄出处      谈手机之前换个角度,类比一下PC领域。 PC领域毛利最高的时候,国产PC一直混在低端。随着时代发...
啊左不是蜗牛 2015-01-09 17:56
【智能手机】论英雄出处
我认为,如果你不知道对手的底细,那么你就很难战胜对手。知己知彼,百战百胜。所以,我简单地说说我对这几家手机品牌的看法。个人之见,欢迎讨论。   苹果: 1976年成立,在乔布斯这样的天...
啊左不是蜗牛 2014-11-19 13:48
【博客大赛】蜗牛求职记之华为篇
1、前言说明          蜗牛是电赛出身,本科做硬件嵌入式,画板子和写C程序,然后研究生阶段是转战android,但是由于项目涉及到硬件,导师项目众多,小伙伴少,于是我也负责部分st...
啊左不是蜗牛 2014-08-16 14:38
以另一种位图的思想来解决一道OJ题目
前言: 以前所接触到的位图的思想都是以1位的形式去存储某个数出现的次数是1次还是0次。常见的例子不外乎在《编程珠玑》上的开篇例子里,1千万个数的排序统计,用1.25M的内存空间就可以达到遍历一...
啊左不是蜗牛 2014-08-15 11:57
Android 笔记之 listview 性能优化
列表显示需要三个元素, (1)listview 视图,用来显示列表的View ; (2)适配器,用来把数据映射到listView上面的 (3)数据,具体将被映射的数据,包括字符串,图片...
我要评论
1
17
关闭 站长推荐上一条 /2 下一条