---------mdk rtx----------
文章平均质量分 71
青蛙嘎嘎
love linux,love programming
展开
-
1. 为什么选择RTX
RTX(Real Time eXecutive)是ARM公司针对ARM7,ARM9,cortex-m内核推出的一款嵌入式实时操作系统。 该系统占用内存很小,切换速度很快,特别适合一些内存小的芯片,像只有32KB的flash,8KB的RAM的cortex-m0都可以使用(开4,5个任务都OK的,不像ucos,有点吃力).而且该系统是开源,免版税的. RTX的源码跟Keil-MDK绑定在一起原创 2013-11-01 22:53:28 · 9573 阅读 · 0 评论 -
__svc_indirect关键字
2013-11-04--luoqindong __svc_indirect是armcc的关键字之一(__irq也是armcc的关键字),用来修饰函数.格式:__svc_indirect(int svc_num) return-type function-name(int real_num[, argument-list]);svc_num是汇编指令SVC的immediate v原创 2014-01-16 22:44:28 · 4478 阅读 · 2 评论 -
rtx定时器
2013-11-07--luoqindong OS_ID os_tmr_create ( U16 tcnt, /* Length of the timer. */ U16 info ); /* Argument to the callback function. */ 返回值: 成功时返回定时器的ID号,失败时返回NULL原创 2013-11-07 22:37:57 · 4126 阅读 · 0 评论 -
rtx内核上锁与解锁
2013-11-07--luoqindong void tsk_lock (void); 禁止切换任务。tsk_lock还禁止系统时钟中断,延时相关的函数不起作用了。 该函数不能在中断处理程序中调用,禁止任务切换的时间越短越好。 该函数不能嵌套调用,调用tsk_lock一次,应该先调用tsk_unlock,才能再次调用该函数. void tsk_unl原创 2013-11-07 22:39:31 · 2640 阅读 · 0 评论 -
rtx任务管理
2013-11-07--luoqindong内核初始化函数: void os_sys_init ( void (*task)(void) ); /* Task to start */ 初始化并启动RTX内核,内核起来后运行传进来的task任务.该任务的优先级为1, 堆栈大小在rtx_config.c文件中配置,默认为512字节. void os_sys_ini原创 2013-11-07 22:38:32 · 5312 阅读 · 2 评论 -
RTX时间管理
2013-11-07--luoqindong void os_dly_wait ( U16 delay_time ); /* Length of time to pause */ 将任务挂起指定的时间,delay_time为0~0xfffe,为0时该函数立即返回. 不能使用0xffff,该值在内核中是一个特殊值,表示永远等待。 U原创 2013-11-07 22:40:05 · 3656 阅读 · 0 评论 -
rtx任务间通信--互斥量
2013-11-06 --luoqindongvoid os_mut_init ( OS_ID mutex ); /* The mutex to initialize */初始化一个互斥量,互斥量内部计数计为0, mutex类型必须为OS_MUT.在调用互斥量相关函数之前,必须用该函数先初始化互斥量.OS_RESULT os_mut_wait (原创 2013-11-06 21:39:36 · 4068 阅读 · 0 评论 -
rtx任务间通信--信号量
2013-11-06 --luoqindongvoid os_sem_init ( OS_ID semaphore, /* The semaphore object to initialize */ U16 token_count ); /* Initial number of tokens */参数semaphore的类型必须为OS原创 2013-11-06 21:38:48 · 3992 阅读 · 0 评论 -
3. rtx任务间的通信--event flags
2013-11-04 --luoqindong每个任务最多有16个事件标示,任务可以同时等待几个事件,或选择等待其中的某个或某些事件.事件可由其他任务或中断处理函数触发.void os_evt_set ( U16 event_flags, /* Bit pattern of event flags to set */ OS_TID task );原创 2013-11-05 23:03:10 · 4949 阅读 · 0 评论 -
2. RTX移植
下面以Xplain STM32(使用STM32F103ZET6 CPU)开发板为例,将RTX移植到该板上运行.为了能让刚接触这个系统的人了解整个移植过程,会重新建立一个工程,将所有的源码(包括RTX内核)添加到工程中,而不使用RTX库的形式.1. 新建一文件夹(rtx-stm32),内容如下:-- keil包含keil的工程文件-- misc包含连接脚本文件-- si是source原创 2013-11-03 00:46:21 · 11128 阅读 · 1 评论 -
RTX 实时操作系统简介
Keil RTX 是免版税的确定性实时操作系统,适用于 ARM 和 Cortex-M 设备。使用该系统可以创建同时执行多个功能的程序,并有助于创建结构更好且维护更加轻松的应用程序。产品的几大亮点带有源代码的免版税、确定性的 RTOS灵活的调度:循环、抢先和协作以低的中断延迟执行高速实时操作小的空间占用适用于资源受限的系统不限数量的任务,每个任务都具有 254 个优先级不限数量的邮箱、信转载 2013-11-01 21:00:42 · 7936 阅读 · 1 评论 -
arm启动代码加了function命令不能仿真
test FUNCTION export testB . ENDFUNC 这是arm的启动代码,test之后的内容是keil自动生成的启动代码,加了test之后的内容就不能仿真,但是反汇编可以看到代码,能正常运行很奇怪。原创 2011-12-20 10:15:58 · 1204 阅读 · 0 评论