uCOS-II之移植20160823】的更多相关文章

DE1-SOC开发板上搭建NIOS II处理器运行UCOS II   今天在DE1-SOC的开发板上搭建NIOS II软核运行了UCOS II,整个开发过程比较繁琐,稍微有一步做的不对,就会导致整个过程失败.因此特地记录下来,以防日后忘记.   第一步:建立Quartus II工程     建立Quartus II工程时需要注意以下几点 器件选择为EP5CSEMA5F31C6N: 工程路径中不得出现非法字符(空格和中文字符): 开发工具选择Quartus II 13.1及以上,这里我选择的版本为…
源: ucos ii 46个系统API函数解析…
转载:http://www.viewtool.com/bbs/forum.php?mod=viewthread&tid=114 这是两种RTOS, 现在粗略比较一下. freeRTOS比uCOS II优胜的地方:1.内核ROM和耗费RAM都比uCOS 小,特别是RAM. 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好. 2.freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK).uCOS只能用任务(TASK,每个任务有一…
      μC/OS II(Micro-Controller Operating System Two)是一个可以基于ROM运行的.可裁剪的.抢占式.实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,适合很多商业操作系统性能相当的实时操作系统(RTOS).为了提供最好的移植性能,μC/OS II最大程度上使用ANSI C语言进行开发,并且已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP). μC/OS II可以简单的视为一个多任务调度器,在这个任务调度器…
我在看os_cpu_c.c代码时对下面这段话困惑了半天总是在百度的帮助下找到了答案 /*  申明几个函数,这里要注意最后三个函数需要注释掉,为什么呢?    OS_CPU_SysTickHandler()定义在os_cpu_c.c中,是SysTick中断的中断处理函数,    而stm32f10x_it.c,中已经有该中断函数的定义SysTick_Handler(),这里也就    不需要了,是不是很奇怪官方移植版为什么会这样弄吧,后面我会解释的.    OS_CPU_SysTickInit()…
首先我们看一下uC/OS-II的框架图: 1.配置文件修改 +------------------------------------------ |core: os_core.c |  os: os_flag.c    os_mbox.c |  os_mem.c     os_mutex.c |  os_q.c       os_sem.c |  os_task.c    os_time.c |      os_tmr.c |head: ucos_ii.h +-----------------…
例子:存储日志,最多存128条,每条最大1MB. 内存方面 因为嵌入式不适合用动态内存,会产生碎片.这里我们用 u8 data[LOG_SIZE];开辟固定128MB的内存区,再对其分为128个1MB内存块进行管理. 管理方法为:使用一个内存控制块结构体MCB,再编写增删改函数操作MCB进行管理. 队列方面我们使用循环队列,比如队列最多10个元素,我们存第11个元素时就会覆盖第一个. 管理方法为:使用一个队列控制块结构体LoopQueue,再编写增删改函数操作LoopQueue进行管理. 内存块…
ucos ii system 文件结构 上层: 应用软件,用户代码 中层: 与处理器无关代码 与应用程序相关配置文件 与处理器有关代码 下层: 硬件(cpu,interupt,timer,gpio,iis…) 内核结构 ucos的内核机构可以从以下的代码可以看出,应用支持10个事件控制块,5个事件标志组,5个内存区块,4个队列控制块和20个任务,最低优先级为63,任务堆栈大小都为128等等,这些都是可以在OS_CFG.H中自行定义的. 临界段 处理器处理临界代码都必须先关中断,再处理临界代码,然…
移植ucos II 到一个芯片上,只需要修改下面三个文件:OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM. 具体来说,移植主要包括以下几项内容 (1).OS_CPU.H :用#define设置一些常量的值,声明10个数据类型,用#define声明三个宏. (2).OS_CPU_C.C : 用C语言编写六个简单的函数. (3).OS_CPU_A.ASM : 编写四个汇编语言函数. 下面以移植到lPC2292上为例,理解下移植过程. (1).首先看OS_CPU.H这个文件 下图是我…
用过51.AVR.Freescale.STM32,但是写程序一直没有用过实时操作系统,一是因为写的项目不大,二是不太想去看手册学东西.现在写的项目也算比较大,因为需要,所以就学一下,这样也不至于每次的程序都裸奔. 用的红牛STM32开发板(很久之前的板子,STM32F103ZET6芯片) 首先下载官方的库,还有uc/OS的源码.建立好工程后,添加UC/OS.如图 注意os_cfg.h 和 app_cfg.h 在源码里是没有的,一般是拷贝Micrium\Software\EvalBoards里面的…