zhuzilinux MCU DIY进程帖
只看楼主 1楼
今晚刚看到名单,有我呢,哈哈。感谢论坛。
PCB原理图已经看到,所需器件基本都有,酝酿一下比较不错的idea,坐等PCB的到来!大家一起加油!
zhuzilinux MCU DIY进程帖——第一帖
关键词: zhuzilinux 进程
5楼
看到论坛里已经好多朋友都受到PCB板了,刚查过快递单号,哎,依旧没信息,坐等…………………………………………………………………………………………
9楼
前段时间忙其他的东西,累的要死,现在仍在考试中,上来冒个泡……
更新一下帖子:
板子很早就收到了,只是手头上一直在忙其他的东西,没有心思弄板子。
还在考试中,假期不能上网…
按原先的计划,准备在板子上移植小型操作系统(RTX51或者uCOS),完成几个小的任务,实现相应的功能。
考虑到uCOS(I/II)对系统资源要求较多,手头上有块STC89C52RC,操作系统准备用RTX51……先做个跑马灯的任务等等……希望近期有充足时间来做,否则只能等到下学期回来了…
10楼
RTX51学习相关:(引用自《单片机与嵌入式系统应用》2002.12“基于RTX51的单片机软件设计”)
1 概述
很多单片机的应用中都需要同时执行很多任务。对于这样的应用,我们可以利用实时操作系统来灵活地安排系统资源。RTX51是德国 Keil公司开发的一种应用于MCS51系列单片机的实时多任务操作系统,它可以工作在所有8051 单片机以及派生家族中,简化了复杂的软件设计,缩短了项目周期。
2 RTX51介绍
RTX51有2个模式:RTX51完全模式和最小模式。RTX51最小模式版是RTX51完全版的一个子集,可以很容易地运行在8051系统上,而不需要外部RAM(XDATA)。RTX51完全模式有4个任务优先级,可以和中断函数并行处理,各个任务之间通过使用“邮箱”系统来进行信号和消息的传递,可以从内存池中申请和释放内存;同时,可以强制一个任务停止执行,等待一个中断,或者是其它中断传来的信号量或者消息。 RTX51对系统硬件的要求如表1所列。 描述 RTX51完全模式 RTX51最小模式任务数 最大256,19个激活任务,其中16个标准任务,3个快速任务 16 RAM 40~46字节RAM 20~200字节IDATA 最少450字节XDATA 7字节DATA 3*任务数IDATA 不需要XDATA ROM 6KB~8KB 900字节定时器 定时器0或1 定时器0
3 RTX51任务
RTX51区分2类任务:快速任务和标准任务。快速任务有很快的响应速度,每个快速任务使用8051一个单独的寄存器组,并且有自己的堆栈区域。RTX51支持最大同时有3个快速任务。标准任务需要多一点的时间来进行任务切换,因此使用的内部RAM相对快速任务要少,所有的标准任务共用1个寄存器组和堆栈。当任务切换的时候,当前任务的寄存器状态和堆栈内容转移到外部存储器中。RTX51支持最大16个标准任务。 RTX51任务状态: (1)运行(RUNNING)-当前正在运行的任务处于RUNNING状态,同一时间只有1个任务可以运行。 (2)就绪(READY)-等待运行的任务处于READY状态,在当前运行的任务退出运行状态后,就绪队列中优先级最高的任务进入到运行状态。 (3)阻塞(BLOCKED)-等待一个事件的任务处于BLOCKED状态,如果事件发生且优先级比正在运行的任务高,此任务进入运行状态;如果优先级比正在运行的任务低,此任务进入READY状态。 (4)删除(DELETED)-没有开始的任务处于删除状态。 (5)任务切换-RTX51包含一个事件驱动的任务切换机制,它能够按照任务的优先级进行切换,也就是抢占式多任务系统;另外还有一个可选的时间片轮转切换任务模式,在时间片轮转模式下,同级别的任务是按照时间片分别占用CPU 的。RTX51任务有4个优先级:0、1、2 可以分配给标准任务,优先级3是为快速任务保留的。每个任务都可以等待事件的发生,而并不增加系统的负担;任务可以等待消息、信号、 中断、超时事件或者它们的组合。任务切换是按照一定规则进行的,包括:进入到“就绪”状态的优先级高的任务先执行;如果“就绪” 状态的几个任务是同一个优先级,那么最先进入“就绪”状态的先执行。
4 RTX51事件
*超时(timeout):挂起运行的任务指定数量的时钟周期。
*间隔(interval):类似于超时,但是软件定时器没有复位,典型应用是产生时钟。
*信号(signal):用于任务内部同步协调。
*消息(message):适用于RTX51 Full,用于信息的交换。我们可以把一个消息发送到一个特定的邮箱。消息由2字节组成,可以是用户按照自己的需求定义的数据,也可以是指向数据的指针。如果邮箱的消息列表已满,而且是中断发送消息,这个消息将会丢失;如果是任务发送消息,那么任务将会进入到等待状态,直到邮箱重新有了位置可以接收这一条信息。邮箱是按照FIFO的原则来管理消息的,如果几个任务都在等待接收消息,那么最先进入等待接收队列的将接收消息。一个邮箱最多可以存储8条消息。当邮箱满的时候,最多只能有16个等待任务。 *中断(interrupt):适用于RTX51 Full,一个任务可以等待8051硬件中断。 *信号量(semaphore):适用于RTX51 Full,信号量用于管理共享的系统资源。通过使用“令牌”,允许在同一时刻只有一个任务使用某些资源。如果几个任务申请访问同一个资源,那么首先提出申请的将允许访问,其它的任务进入等待队列,直到第1个任务操作完毕,下一个任务才能继续。 Os_wait()函数挂起一个任务来等待一个事件的发生。这样可以同步2个或几个任务。它的工作过程如下:当任务等待的事件没有发生的时候,系统挂起这个任务;当事件发生时,系统根据任务切换规则切换任务。
5 RTX51中断处理
RTX51完全模式提供2种方法来处理中断:一种是C51的中断函数,另一种是RTX51的任务中断。它又可以分为快速任务中断和标准任务中断。对于中断函数这种方法,它同时也可以在不使用RTX51的情况下使用,当中断发生的时候,程序就跳到了相应的中断函数,它和正在运行的任务是相互独立的,中断的处理是在RTX51系统之外,和任务切换规则没有关联。对于任务中断的方法,不管使用快速还是标准任务来处理中断,如果中断发生,等待中断的任务就从“等待”状态进入到就绪状态,并按照任务切换规则进行切换。这种中断处理是完全 集成在RTX51的内部,硬件中断事件的处理和信号、消息的处理是完全相同的。在系统响应时间上中断函数是最快的。RTX51必须完全控制中断使能寄存器,这样才能遵守任务的切换规则并保证中断程序的无误进行。必须注意中断使能寄存器是由RTX51完全控制的,禁止用户手动修改。
1 概述
很多单片机的应用中都需要同时执行很多任务。对于这样的应用,我们可以利用实时操作系统来灵活地安排系统资源。RTX51是德国 Keil公司开发的一种应用于MCS51系列单片机的实时多任务操作系统,它可以工作在所有8051 单片机以及派生家族中,简化了复杂的软件设计,缩短了项目周期。
2 RTX51介绍
RTX51有2个模式:RTX51完全模式和最小模式。RTX51最小模式版是RTX51完全版的一个子集,可以很容易地运行在8051系统上,而不需要外部RAM(XDATA)。RTX51完全模式有4个任务优先级,可以和中断函数并行处理,各个任务之间通过使用“邮箱”系统来进行信号和消息的传递,可以从内存池中申请和释放内存;同时,可以强制一个任务停止执行,等待一个中断,或者是其它中断传来的信号量或者消息。 RTX51对系统硬件的要求如表1所列。 描述 RTX51完全模式 RTX51最小模式任务数 最大256,19个激活任务,其中16个标准任务,3个快速任务 16 RAM 40~46字节RAM 20~200字节IDATA 最少450字节XDATA 7字节DATA 3*任务数IDATA 不需要XDATA ROM 6KB~8KB 900字节定时器 定时器0或1 定时器0
3 RTX51任务
RTX51区分2类任务:快速任务和标准任务。快速任务有很快的响应速度,每个快速任务使用8051一个单独的寄存器组,并且有自己的堆栈区域。RTX51支持最大同时有3个快速任务。标准任务需要多一点的时间来进行任务切换,因此使用的内部RAM相对快速任务要少,所有的标准任务共用1个寄存器组和堆栈。当任务切换的时候,当前任务的寄存器状态和堆栈内容转移到外部存储器中。RTX51支持最大16个标准任务。 RTX51任务状态: (1)运行(RUNNING)-当前正在运行的任务处于RUNNING状态,同一时间只有1个任务可以运行。 (2)就绪(READY)-等待运行的任务处于READY状态,在当前运行的任务退出运行状态后,就绪队列中优先级最高的任务进入到运行状态。 (3)阻塞(BLOCKED)-等待一个事件的任务处于BLOCKED状态,如果事件发生且优先级比正在运行的任务高,此任务进入运行状态;如果优先级比正在运行的任务低,此任务进入READY状态。 (4)删除(DELETED)-没有开始的任务处于删除状态。 (5)任务切换-RTX51包含一个事件驱动的任务切换机制,它能够按照任务的优先级进行切换,也就是抢占式多任务系统;另外还有一个可选的时间片轮转切换任务模式,在时间片轮转模式下,同级别的任务是按照时间片分别占用CPU 的。RTX51任务有4个优先级:0、1、2 可以分配给标准任务,优先级3是为快速任务保留的。每个任务都可以等待事件的发生,而并不增加系统的负担;任务可以等待消息、信号、 中断、超时事件或者它们的组合。任务切换是按照一定规则进行的,包括:进入到“就绪”状态的优先级高的任务先执行;如果“就绪” 状态的几个任务是同一个优先级,那么最先进入“就绪”状态的先执行。
4 RTX51事件
*超时(timeout):挂起运行的任务指定数量的时钟周期。
*间隔(interval):类似于超时,但是软件定时器没有复位,典型应用是产生时钟。
*信号(signal):用于任务内部同步协调。
*消息(message):适用于RTX51 Full,用于信息的交换。我们可以把一个消息发送到一个特定的邮箱。消息由2字节组成,可以是用户按照自己的需求定义的数据,也可以是指向数据的指针。如果邮箱的消息列表已满,而且是中断发送消息,这个消息将会丢失;如果是任务发送消息,那么任务将会进入到等待状态,直到邮箱重新有了位置可以接收这一条信息。邮箱是按照FIFO的原则来管理消息的,如果几个任务都在等待接收消息,那么最先进入等待接收队列的将接收消息。一个邮箱最多可以存储8条消息。当邮箱满的时候,最多只能有16个等待任务。 *中断(interrupt):适用于RTX51 Full,一个任务可以等待8051硬件中断。 *信号量(semaphore):适用于RTX51 Full,信号量用于管理共享的系统资源。通过使用“令牌”,允许在同一时刻只有一个任务使用某些资源。如果几个任务申请访问同一个资源,那么首先提出申请的将允许访问,其它的任务进入等待队列,直到第1个任务操作完毕,下一个任务才能继续。 Os_wait()函数挂起一个任务来等待一个事件的发生。这样可以同步2个或几个任务。它的工作过程如下:当任务等待的事件没有发生的时候,系统挂起这个任务;当事件发生时,系统根据任务切换规则切换任务。
5 RTX51中断处理
RTX51完全模式提供2种方法来处理中断:一种是C51的中断函数,另一种是RTX51的任务中断。它又可以分为快速任务中断和标准任务中断。对于中断函数这种方法,它同时也可以在不使用RTX51的情况下使用,当中断发生的时候,程序就跳到了相应的中断函数,它和正在运行的任务是相互独立的,中断的处理是在RTX51系统之外,和任务切换规则没有关联。对于任务中断的方法,不管使用快速还是标准任务来处理中断,如果中断发生,等待中断的任务就从“等待”状态进入到就绪状态,并按照任务切换规则进行切换。这种中断处理是完全 集成在RTX51的内部,硬件中断事件的处理和信号、消息的处理是完全相同的。在系统响应时间上中断函数是最快的。RTX51必须完全控制中断使能寄存器,这样才能遵守任务的切换规则并保证中断程序的无误进行。必须注意中断使能寄存器是由RTX51完全控制的,禁止用户手动修改。
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |