<listing id="dgcc5"></listing>
<address id="dgcc5"><progress id="dgcc5"><font id="dgcc5"></font></progress></address>
<video id="dgcc5"><big id="dgcc5"><nobr id="dgcc5"></nobr></big></video>
<address id="dgcc5"></address>
<th id="dgcc5"><big id="dgcc5"><listing id="dgcc5"></listing></big></th>
<thead id="dgcc5"><meter id="dgcc5"></meter></thead>

<th id="dgcc5"><address id="dgcc5"></address></th>

<track id="dgcc5"><progress id="dgcc5"><listing id="dgcc5"></listing></progress></track>

<nobr id="dgcc5"><menuitem id="dgcc5"><var id="dgcc5"></var></menuitem></nobr>
<address id="dgcc5"><progress id="dgcc5"></progress></address>
      
      

        <th id="dgcc5"><meter id="dgcc5"><dfn id="dgcc5"></dfn></meter></th>

        <thead id="dgcc5"></thead>

        <track id="dgcc5"><address id="dgcc5"></address></track><address id="dgcc5"><meter id="dgcc5"></meter></address>
        <address id="dgcc5"><progress id="dgcc5"></progress></address>

            <sub id="dgcc5"></sub>

            <th id="dgcc5"></th>

            <sub id="dgcc5"><meter id="dgcc5"><cite id="dgcc5"></cite></meter></sub>

                <address id="dgcc5"><progress id="dgcc5"></progress></address>

                  <sub id="dgcc5"><progress id="dgcc5"></progress></sub>

                    <th id="dgcc5"><progress id="dgcc5"><listing id="dgcc5"></listing></progress></th>
                      <th id="dgcc5"><address id="dgcc5"><dfn id="dgcc5"></dfn></address></th>

                        <output id="dgcc5"><ins id="dgcc5"></ins></output>
                        <dl id="dgcc5"></dl>

                        1. <output id="dgcc5"><font id="dgcc5"><thead id="dgcc5"></thead></font></output>
                          1. <dl id="dgcc5"><ins id="dgcc5"></ins></dl>
                            <output id="dgcc5"></output>

                            新闻中心

                            EEPW首页 > 光电显示 > 设计应用 > 基于ARM7支持触摸屏和实时操作系统的开发与应用

                            基于ARM7支持触摸屏和实时操作系统的开发与应用

                            —— Development and Application of Touching Screen and RTOS Based on ARM7
                            作者:李广荣 宗文波 韩建超 杨丹 于海滨 刘锏泽 北京卫星制造厂时间:2011-02-22来源:电?#30828;?#21697;世界收藏

                              C/OS-II嵌入式操作系统的移植

                            本文引用地址:http://www.uavs.tw/article/117094.htm

                              C/OS-II作为操作系统的内核,主要的任务就是完成多任务之间的调度和同步,协调各个硬件源不会冲突。与其它嵌入式操作系统相比,它具有系统透明、可拆减、接口简单的特点。下面就如何在进行操作系统移植和修改作简要的描述:

                              (1)重新修改OS_CPU.H文件

                              a)定义数据类型:C/OS-Ⅱ不使用C语言中的short、int、long等与处理器类型有关的数据类型,而代之以移植性强的数据类型,这样既直观?#30452;?#20110;移植;

                              b)定义堆栈增长类型和ARM运行的模式?#26680;?#28982;ARM处理器对堆栈向上与向下的两种增长方式都予以支持,但由于编译器ADS仅支持堆栈从上往下,并且必须是满递减堆栈,所以在文件中用来定义堆栈增长方式的常量OS_STK_GROWTH 的值为1;

                              c)需对外部函数声明:如在C/OS-II.h头文件中,有些要移植的函数已经声明,包括:OSTaskStkInit()、OSIntCtxSw(void)、OSStartHighRdy(void) 。

                              (2)修改OS_CPU_C.C文件

                              a)任务堆栈初始化函数OSTaskStkInit():在编写任务堆栈初始化函数OSTaskStkInit()之前,必须先根据处理器的结构和特点确定任务的堆栈结构;

                              b)钩子函数:C/OS-II为了用户在系统函数中书写自己的代码而预置了一些钩子函数(如OSTimeTickHook),这些函数在移植时可全为空函数,可根据用户的需要添加。

                              (3)重点编写OS_CPU_A.S文件

                              a)开/关中断函数:在处理器核中可利用改变程序状态寄存器CPSR中的相应控制位实现;

                              b)OSStartHighRdy(void):OSStart()函数调用OSStartHighRdy()来使就绪态任务中优先级最高的任务开始执行;

                              c)OS_TASK_SW(void):μC/OS-II通过调用OSSched()函数来完成任务调度的,OSSched()先将最高优先级任务的地址装载到OSTCBHighRdy,再通过调用OS_TASK_SW()执行任务级的任务切换,OS_TASK_SW主要完成保护现场,完成用于的任务,?#25351;?#29616;场;

                              d)OSIntCtxSw(void):OSIntExit()通过调用OSIntCtxSw(),在中断服务程序中执行任务切换功能。

                              e)时钟节拍函数:在本移植中,只使用了ARM的IRQ中断。由于不同的ARM芯片的中断系统并不完全一样,因此不可能编写出?#36816;?#26377;使用ARM核的处理器通用的中断及节拍移植代码,但是这是后续任务管理中重点需要操作系统进?#20889;?#29702;的,OSTickISR的实现代码见程序清单。

                              程序清单 OSTickISR()

                              OSTickISR

                              STMFD SP!, {R0-R3,R12,LR}

                              BL      OSIntEnter

                              BL      user_function    ;调用用户

                                         处理的中断处理程序

                              BL      OSIntExit

                              LDMFD SP!,{R0-R3,R12,LR}

                              SUBS PC,LR,#4


                            上一页 1 2 3 4 下一页

                            关键词: 触摸屏 ARM7 S3C44B0
                            分享给小伙伴们:

                            评论


                            相关推荐

                            技术专区

                            关闭
                            青海11选5开奖结果