基于AT91SAM9260的智能保密柜设计方案
μC/OS-Ⅱ操作系统本身没有对文件系统的支持,虽然μC/OS-Ⅱ具有良好的扩展性能,如果需要也可自行扩展对文件系统的支持,但毕竟会增加开发工作量。
Linux操作系统则具有完善的文件系统,并且具有网络优势,可以方便地支持网络文件系统且内嵌TCP/IP协议,这为Linux开发网络接入设备提供了便利。
(3)操作系统的移植
嵌入式操作系统必须经过移植才能够在不同的微处理器上运行。μC/OS-Ⅱ和Linux都提供了开源代码,其结构化设计也便于裁剪,所以它们都能够移植到新的处理器平台。
①μC/OS-Ⅱ的移植。移植μC/OS-Ⅱ操作系统,目标处理器必须满足以下要求:处理器的C编译器能产生可重入代码,且用C语言就可以打开和关闭中断;处理器有足够的存储容量作为多任务环境下的任务堆栈;处理器具备将堆栈指针和寄存器读出和存储到堆栈或内存中的指令。所以μC/OS-Ⅱ的移植只需根据以上要求修改不同处理器之间的相关代码。
②Linux的移植。
首先进行系统初始化:关闭Watchdog,改变系统时钟,初始化存储控制器,将操作系统内核复制到内存中。这一系列操作称作BootLoa-der,通常移植U-boot来实现BootLoader的功能;其次进行Linux内核移植:下载内核源代码,对内核进行裁剪配置,编译内核生成镜像文件,下载到目标板;最后进行文件系统的移植:生成根文件系统目录,移植Busybox,生成镜像文件,下载到目标板。综上所述,μC/OS-Ⅱ和Linux二者都具有开源码和满足较高的实时性要求。μC/OS-Ⅱ是一种结构小巧的实时操作系统,其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能,最小内核可编译至2 kB,全部功能编译后内核也仅占6~10 KB。虽然μC/OS-Ⅱ执行效率高,占用空间小,实时性能优良,可扩展性能强,但μC/OS-Ⅱ系统缺少对文件系统的支持,所以μC/OS-Ⅱ适用于存储资源比较有限的应用场合和小的控制系统。然而Linux具有多任务、可定制内核、完善的网络通信、图形及文件管理机制,可支持大量的外围硬件设备等功能,其性能高效稳定,开发及移植环境良好。鉴于该系统需完成多种任务控制和文件管理,且存储资源充裕,也考虑到以后的网络扩展,所以选用了Linux作为嵌入式操作系统。
2.2 任务层
基于Linux操作系统管理的应用程序,首先根据系统功能划分出相对独立的子功能模块,每个模块作为一个任务,每个任务又由若干子任务构成,任务之间的调度由Linux内核调度程序决定。该系统划分的任务包括:
①读/写UART0任务。主要负责与上位PC进行交互,解析并执行上位PC发来的控制命令,将执行后的结果返回给上位PC。
②读/写UART1摄像头任务。在使用者输入指纹时,选通指纹仪接收指纹数据,激活摄像头,对使用者进行拍照,在柜门关闭后选通RFID读写器,采集柜内文件ID信息,比对上次信息,从而得到此次操作后该使用者借出与归还物品的信息。
③记录任务。当UART1任务结束RFID读写器的采集任务后,该任务将使用者指纹信息、开关柜门时间、使用者头像和借出与归还文件ID等信息予以存储。
④开关柜门任务。识别指纹数据之后,将指纹数据与授权指纹库中的数据进行比较,匹配成功则执行开锁操作。
⑤报警任务。循环检测振动传感器,如果发现异常振动,将启动报警器。
编写好这些任务的代码,启动操作系统,则应用程序开始运行。若要扩展其他功能,只需增加相应的任务即可。
3 结语
实验结果表明,该系统满足了用户的保密需求,具有实时处理能力,功能扩展方便,所选用的Linux多任务实时操作系统在进程调度、文件系统管理等方面提供了很好的支持。
智能保密柜 ARM926EJ-S内核 Linux 相关文章:
- SoC前段(ARM)嵌入式系统开发实作训练(上) (02-28)
- 基于嵌入式Linux的智能手机系统设计(05-10)
- 基于ARM+uCLinux的网络控制系统设计与实现(05-03)
- 基于Linux和S3C2410的嵌入式图象传输系统设计(05-24)
- 北大首倡“中国芯”出成果 未来充满变数(06-09)
- 嵌入式系统中闪存设备IO软件的设计与实现(07-08)