RTOS
eagle11235
心有猛虎在细嗅蔷薇
展开
-
UCOSIII相关API函数的使用
OSTaskCreate()函数 void OSTaskCreate ( OS_TCB *p_tcb, CPU_CHAR *p_name, OS_TASK_PTR p_task,原创 2016-09-21 10:35:21 · 1250 阅读 · 0 评论 -
ucos-iii知识点总结
1、其中最有用的功能应该是时间片轮转法( roundrobin), 这个是 uC/OS-II 中不支持的,但是现在已经是 uCOS-III 的一个功能了 2、uCOS-III 被设计用于 32 位处理器, 但是它也能在 16 位或 8 位处理器中很好地工作。3、一共有 2 种类型的实时系统:软实时系统和硬实时系统。硬实时系统中,运算超时是不允许发生的,运算超时会导致严重后果。但是在软实时系转载 2016-09-21 14:54:20 · 1299 阅读 · 0 评论 -
为什么我们需要uCos?带你透彻理解RTOS
与uCos见面还是大学的时候,老师让我为毕业设计选一个课题,要求有关嵌入式实时操作系统,于是开始在网上搜索,顺理成章的就发现了uCos,于是开始了uCos之路,但后来由于硬件平台的问题,毕设没有用uCos,而用了另外一个不开源的。 毕业后,自己做的项目用到过RTX51,uCos,Linux,当做linux下的项目时,研究过一阵子linux的源码,后来又一天,闲来无事再去看uCos的源码时,转载 2017-01-19 22:50:28 · 11268 阅读 · 1 评论 -
uCos的多任务实现
作为操作系统(OS),最基本的一项服务就是提供多线程,在实时操作系统uCos里,多线程被称为多任务(Task)。多任务并不是CPU能真正同时运行多个程序,实际是靠CPU在多个任务之间转换切换实现的,CPU轮番的服务于一系列的任务,这样CPU在宏观上好像在同时执行多个任务,实际在微观上CPU绝对是“单任务”的。这里要注意区别多线程和多核,如果系统里是有多个CPU,则可以实现真正的多线程了。转载 2017-01-19 22:56:50 · 5241 阅读 · 2 评论 -
uCos的内存管理
作为一个操作系统内核,必须有向用户提供申请和释放内存的服务,uCos作为一个实时操作系统也不例外。内存的动态申请和释放在嵌入式编程中经常用到,比如我们需要给另外一个任务发送一个消息,我们就可以在发送消息前,申请(OSMemGet )一个内存块,然后把这个内存块作为消息发送出去(OSQPost ),消息被处理完后,内存块释放(OSMemPut)掉,但如果不用内存块来存放消息内容,比如用一转载 2017-01-19 22:58:49 · 763 阅读 · 0 评论 -
U-Boot启动过程,带你透彻理解U-Boot
U-Boot第一阶段的启动流程:这个阶段主要是初始化硬件设备,为加载U-Boot的第二阶段代码准备RAM空间最后跳转到lib_arm/board.c中start_armboot函数,这是第二阶段的入口点。 U-Boot第一阶段的存储器布局上图中U-Boot安装在Nand Flash,启动时Nand Flash控制器前4KB的代码复制到SRAM中,这转载 2017-01-19 23:02:38 · 551 阅读 · 0 评论 -
3分钟看懂gcc、arm-Linux-gcc和arm-elf-gcc的组成及区别
一、GCC简介The GNU Compiler Collection,通常简称 GCC,是一套由 GNU 开发的编译器集,为什么是编辑器集而不是编译器呢?那是因为它不仅支持 C 语言编译,还支持 C++, Ada,Objective C 等许多语言。另外 GCC 对硬件平台的支持,可以所无所不在,它不仅支持 X86处理器架构, 还支持 ARM, Motorola 68000, Mo转载 2017-01-19 23:04:28 · 5353 阅读 · 1 评论