FreeRtos
findaway123
坚持技术研究
展开
-
ARM Cortex M4 SVC指令作用
(1)SVC指令:摘自 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0203ic/Cacdfeci.html与更早版本的 ARM 处理器一样,有一条 SVC 指令可生成 SVC。 SVC 通常用于在操作系统上请求特权操作或访问系统资源。SVC 指令中嵌入了一个数字,这个数字通常称为 SVC 编号。转载 2014-01-11 20:37:01 · 36507 阅读 · 0 评论 -
uC/OSIII在Cortex-M3的任务切换和中断退出分析
按uC/OSIII书中所讲,普通任务切换和中断进入退出后的任务切换应该是不同的函数,因为普通任务切换时要入栈出栈全部寄存器,而中断进入和退出时处理器会自动入栈出栈一部分寄存器(Cortex-M3 是自动保存xPSR, PC, LR, R12, R0-R3 )。但是uC/OSIII在Cortex-M3平台中,任务切换函数却是使用的同一函数,确切的说是使用了同一样的一个宏定义,如下:#defi转载 2014-07-25 21:28:20 · 1505 阅读 · 0 评论 -
STM32下的uCOS底层调度深度分析
[size=10.5000pt]第一次发帖,终于明白了实时系统的调度,写了一下分享给大家。绝对原创。大家用嵌入式系统都知道,可以运行多任务,那系统究竟是怎么从一个任务切换到另一个任务的呢。[size=10.5000pt]这里以uCOS为例,以STM32为硬件平台。分析uCOS底层的任务调度。其他硬件平台的任务切换有待研究,不过应该类似。[size=10.5000pt]STM32采用Co转载 2014-07-25 21:19:20 · 2363 阅读 · 0 评论 -
从Cortex-M3的MSP 和PSP谈Linux能否在中断中使用Sleep
1、Cortex-M3 的PSP和MSP 曾经在STM32上使用过RT thread和uC/OS,对于任务切换代码一直是一知半解,没有自己手动写出来过,对于任务切换后的ORR LR, LR, #0x04; Ensure exception return uses process stack也不是很理解,一次偶然的机会,遇到网上有人问这个问题,才去深入研究一下。Cortex‐M3 拥转载 2014-07-25 21:12:22 · 1681 阅读 · 0 评论 -
STM32之FreeRTOS
学习操作系统,我并没有一开始就学习UCOS,而是选择了FreeRTOS。FreeRTOS可以方便地搭建在各个平台上,因为汇编相关,都已经由官方完成,我们要做的仅是添加自己的代码,可省去很多工作量。 问题1:在使用多任务时,我想利用USART输出信息,但是如果直接放在任务中输出,往往会造成字符收发顺序不一致的情况,这是仿真时遇到的实际问题。为解决这个问题,可以在USART输出信息时挂起转载 2014-01-14 21:27:03 · 36338 阅读 · 0 评论 -
FreeRTOS任务切换解析
转载于:http://blog.sina.com.cn/s/blog_5f0bed160100tqnu.html说明:嵌入式系统FreeRTOS任务切换牵涉到具体硬件体系结构的支持,(堆栈类型,寄存器种类,工作模式等不同)下面根据CortexM3内核---STM32处理器---进行介绍:一:启动第一个任务,二:portYIELD_WITHIN_API(任务切换)包括 创建任转载 2014-01-14 21:35:40 · 9543 阅读 · 0 评论 -
初识FreeRTOS
转载于:http://www.cdus.org/cdusbk/bbs.php?id=423今天开始学习FreeRTOS,就今天一天的学习稍做总结:开始,对操作系统总有种恐惧的心态,不知从何下手,上午还是在看“FreeRTOS API Reference”,看了大约有二十来页,感觉也没什么,和课本上讲的操作系统差不了太多,下午开始了S800系统(基本FreeRTOS,结合利用的硬件,包括转载 2014-01-13 21:28:22 · 2411 阅读 · 0 评论 -
FreeRTOS 到ARM7的移植(原创),送官方说明文档
转载于:http://blog.sina.com.cn/s/blog_a092aeab0101ad8v.html在网上找到一个官方的PDF说明文档,不敢独享,与兄弟们分享.(文件太大--3.4Mb,压缩后仍有1Mb,有哪位朋友需要的留下email地址,隔天就发送.)移植OS,主要需处理的有: 1) 现场的保护与恢复; 2) 系统时钟节拍的处理;转载 2014-01-13 21:47:11 · 2234 阅读 · 2 评论 -
浅析FreeRTOS_v4.5.0延时机制---vTaskDelay()的实现
浅析FreeRTOS_v4.5.0延时机制---vTaskDelay()的实现文章来源:http://gliethttp.cublog.cn[转载请声明出处]void vTaskDelay( portTickType xTicksToDelay){ portTickType xTimeToWake; signed portBASE_TYPE xAlrea转载 2014-01-13 21:49:51 · 2869 阅读 · 0 评论 -
配置FreeRTOS
转载于:http://blog.csdn.net/liyuanbhu/article/details/7912170FreeRTOS 是高度可配置的。所有的可配置项都在FreeRTOSConfig.h 文件中。每一个Demo 程序中都包含了一个配置好的FreeRTOSConfig.h 文件,可以以Demo程序中的FreeRTOSConfig.h 文件作为模板,在其基础上加以修改。下转载 2014-01-13 21:48:44 · 1308 阅读 · 0 评论 -
FREERTOS读写TF卡驱动疑难点
1.Freertos读写硬件寄存器的时候,需要在读写操作之前关闭中断,包括外部中断,系统定时器中断,在ATMEL sam4s上面的调试结果显示,如果不关闭中断,会导致读操作死循环,寄存器的值没有显示读写操作完成?? 具体结果明天调试再更新。原创 2014-01-13 22:03:12 · 2665 阅读 · 0 评论 -
SVC和PendSV
转载于:http://book.2cto.com/201209/4625.html1.SVCSVC(Supervisor Call)指令用于产生一个SVC异常。它是用户模式代码中的主进程,用于创造对特权操作系统代码的调用。SVC是用于呼叫操作系统所提供API的正道。用户程序只需知道传递给操作系统的参数,而不必知道各API函数的地址。SVC指令带一个8位的立即数,可以视为是它的参转载 2014-01-11 20:46:28 · 21780 阅读 · 0 评论 -
ARM汇编SWI
1. 状态切换和BX指令AREA ADDREG,CODE,READONLY ENTRYMAIN ADR r0,ThunbProg + 1 BX r0 CODE16ThunbProg mov r2,#2 mov r3,#3 add r2,r2,r3 ADR r0,ARMProg BX r0转载 2014-01-11 21:38:10 · 2793 阅读 · 2 评论 -
8.4 中断的悬起与解悬
首页演化计算程序设计基础现代优化计算方法《Borland传奇》在线阅读。作者:李维VC++程序设计基础用于最优化的计算智能Windows API 编程操作系统教程VBScript语言VB开发工具VB参考VB语法计算机网络嵌入式系统Cortex M3开发ARM开发详解IBM S390 系统管理电子计算机组成原理Oracle编程艺术计算机代数系统VFP语法、实例、函数和类库参考手册Windows 20转载 2014-01-11 21:27:36 · 4082 阅读 · 0 评论 -
FREERTOS构建网络通信系统设置注意事项
1.freertos在cortex m3系统上的系统时钟(Systick)中断优先级设置成最低15,切换任务(pendsv)的中断优先级设置成15。2.如果没有其他中断产生,那么这么配置基本也可以用。3.如果有网络包数据中断(包括接收,发送)等等,特别是有心跳检测的主从机子结构的系统,主机是一个ARM芯片,从机是另一个ARM芯片,那么网络心跳中断的优先级必须比较高,否则freertos的S原创 2014-11-28 23:56:06 · 2374 阅读 · 0 评论