嵌入式实时操作系统的设计与开发New(二)

轮询系统

轮询系统也称为简单循环控制系统,是一种最简单嵌入式实时软件体系结构模型。
在单个微处理情况下,系统由多个函数完成,每个函数负责该系统的一部分功能。
这些函数被循环调用执行,即它们按照一个执行顺序构成一个单向的有序环(轮循环),依次占用CPU。

每个函数访问完成之后,才将CPU移交给下一个函数使用。
对于某个函数而言,当它提出执行请求后,必须等到它被CPU接管后才能执行。

搭建开发环境

开发人员的程序是在PC上编写的,PC是Intel的处理器,Windows的操作系统。
而单片机可能是TI的8051。
Intel的处理器和单片机采用的是不同指令集。

交叉开发是嵌入式软件系统开发的特殊方法:

  • 开发系统是建立在软硬件资源均比较丰富的PC或工作站上,一般称为宿主机或Host,嵌入式软件的编辑、编译、链接等过程都是在宿主机上完成。
  • 嵌入式软件的最终运行平台却是和宿主机有很大差别的嵌入式设备,一般为目标机或Target。


宿主机与目标机的连接通过J-LINK、串口连接。

  • J-LINK主要是为了烧写和调试程序,
  • 串口主要是为了回显调试信息。

启动Mini2440

一般的CPU通常是从地址0x0处开始取指执行,当开发板上电后,CPU的PC寄存器的值通过硬件机制被初始化为0x0。
一切指令与程序都只能在主存上运行。
而主存价格较昂贵,并且开发人员的程序通常比较大,因此,开发人员的程序通常存储在外存中,而外存无法作为程序运行的载体。
因此,当系统上电后,怎样通过一些机制将应用程序从其它存储设备复制到主存上十分重要。

不同的系统硬件设备不同,开机后所需要的硬件设备的配置也不同。所以,系统上电后,对各硬件控制器的设置也十分重要。
这些设置就是告诉处理器CPU现在启动系统运行的基本硬件设备是怎样的,从而能正确地使用各种设备,这些都是启动代码的责任。

启动代码的作用可以随着需求的增加而进行扩充,上述描述只是确保系统能够基本运行启动代码的功能。
启动代码还包括实际开发板上各板级硬件和接口的驱动程序,这时的启动代码其实就具有了能够使应用程序使用开发板各资源的接口功能。

你可能感兴趣的:(嵌入式实时操作系统的设计与开发,RTOS)