随笔分类 -  RTOS

摘要:http://andyhuzhill.github.io/freertos/2013/07/30/freertostransplant/最近在看一个实时嵌入式操作系统————FreeRTOS, 为什么看它呢?首先它是开源的,其次它的内核最小只需要三个文件task.c、list.c、queue.c,加起来5000多行代码还有很多注释在里面。他的优点网上也有很多介绍的,我也就不多说了,感兴趣的可以去百度google一下。源代码目录结构从FreeRTOS的官方网站可以下载到FreeRTOS的全部源代码。下载下来的压缩包的目录结构类似如下: FreeRTOSV7.4.0/ ... 阅读全文
posted @ 2013-12-27 09:09 IAmAProgrammer 编辑
摘要:在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。1简介FreeRTOS是一个迷你操作系统内核的小型嵌入式系统。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。[1]由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对μC/OS-II、embOS等商业操作系统,F 阅读全文
posted @ 2013-12-27 09:03 IAmAProgrammer 编辑
摘要:http://www.beck-ipc.com/files/api/scxxx/rtxover.htmSemaphores are used to guarantee a task mutually exclusive access to a critical resource. Semaphores synchronize asynchronous occurring activities. They are an essential part of a multitasking system. A good description of multitasking systems and.. 阅读全文
posted @ 2013-06-07 23:17 IAmAProgrammer 编辑
摘要:在做同步时经常会用到 pend, post, accept;现在做下简单的记录:accept: 是去取某个信号量,如果无效则立即返回; Requestpend: 是去取某个信号量, 如果无效则进入休眠; Wait ( P )post: 释放一个信号量; Signal ( V ) 阅读全文
posted @ 2013-06-04 08:49 IAmAProgrammer 编辑
摘要:1 2 3 #define ITM_ENA (*(volatile unsigned int*)0xE0000E00) // ITM Enable 4 #define ITM_TPR (*(volatile unsigned int*)0xE0000E40) // Trace Privilege Register 5 #define ITM_TCR (*(volatile unsigned int*)0xE0000E80) // ITM Trace Control Reg. 6 #define ITM_LSR (*(volatile unsigned int*... 阅读全文
posted @ 2013-04-10 02:03 IAmAProgrammer 编辑
摘要:The stack has the same function as in a single-task system: storage of returnaddresses of function calls, parameters and local variables, and temporary storage ofintermediate calculation results and register values.Task stack for Cortex MAll embOS tasks execute in thread mode using the process stack 阅读全文
posted @ 2013-04-04 14:20 IAmAProgrammer 编辑
摘要:不可屏蔽中断 Non-maskable interrupts (NMIs)embOS performs atomic operations by disabling interrupts. However, a non-maskable interrupt (NMI) cannot be disab 阅读全文
posted @ 2013-04-04 12:39 IAmAProgrammer 编辑
摘要:OS_EnterRegion()Indicates to the OS the beginning of a criticalregion.A critical region counter (OS_RegionCnt), which is 0by default, is incremented so that the routine can be nested.Interrupts < Fast Interrupt and Normal Interrupt > are not disabled using OS_EnterRegion();however,disabling in 阅读全文
posted @ 2013-04-04 12:25 IAmAProgrammer 编辑
摘要:1. 轮询全局变量2. 使用事件驱动A. 信号量(1) 二进制信号量(resource/binarysemaphore)<互斥锁Mutex(Mutual exclusion ) >信号量只有二进制的0或1OS_Use() Claims a resource and blocks it for other tasksOS_Unuse()Releases a semaphore currently in use by atask.OS_Request() Requests a specified semaphore, blocks it forother tasks if it is 阅读全文
posted @ 2013-04-04 12:12 IAmAProgrammer 编辑
摘要:Multitasking systemsPreemptive multitaskingCooperative multitaskingRound-robin scheduling algorithmPriority inversion /priority inheritance 阅读全文
posted @ 2013-04-04 11:11 IAmAProgrammer 编辑
摘要:embOS是一个优先级控制的多任务系统,是专门为各种微控制器应用于实时系统应用的嵌入式操作系统.是一个具有最小RAM和ROM占用的、高速的、多功能的高性能工具。特点:贯穿embOS的整个开发过程,微控制器有限的资源一直是开发者所顾忌的。五年来,该RTOS的内部结构已经被优化为不同客户的不同应用中,以满足工业需要。对不同微控制器的完全源码,使开发者很方便用实时操作系统构建实时程序。embOS是高度模块化的,只有需要的函数才被调用,占用的ROM非常小。 最小的内存占用:1kb ROM,30字节 RAM;由于提供源码文件,你可以用embOS灵活定制系统以满足实际需求。任务之间可以通过旗语、邮箱和事件 阅读全文
posted @ 2013-04-04 10:53 IAmAProgrammer 编辑

点击右上角即可分享
微信分享提示