ARM嵌入式平台(精选12篇)
ARM嵌入式平台 第1篇
随着计算机技术的信息化、数字化、网络化、智能化的飞速发展, 嵌入式系统在多媒体通信、无人工作区、医疗救助、交通控制等各个领域里得到了广泛的应用, 嵌入式技术在此也得到了极大的发展, Linux操作系统以其高稳定性, 高可靠性, 剪裁方便, 开源代码, 绝大版权免费等优点, 已成为引领嵌入式领域的砥柱力量, 具有相当大的市场潜力和商业价值。但是嵌入式处理器种类繁多, 要做好Linux嵌入式系统得到广泛的应用, 就必须把Linux嵌入式系统移植到相应的各种处理器平台上, 特别是运用到当前主流平台上, 并应用于实际的产品中去。ARM平台是当前应用广泛的处理器体系结构之一, 是Linux嵌入式系统移植的一个重点目标。但各种嵌入式系统的相关的新的产品不断涌现, 势必引起人们对嵌入式系统越来越多的关注。构建了一个Linux嵌入式操作系统, 将它嵌入到ARM平台的内核系统中, 在此基础上对开发各种应用程序和了解嵌入式系统有了更深的研究和学习。
1 系统硬件
ARM (Advance RISC Machine) 公司作为一个典型的IP设计公司, 主要依靠转让设计来让合作伙伴完成各种各具特色的芯片的生产。ARM处理器就是其代表产品, 之所以选定ARM处理器为设计对象, 是因为16/32位嵌入式RISC处理器内核, 以其体积小, 低功耗, 低成本, 高性能, 多系列, 数据传输和处理速度快的特点而成为各种数字移动通讯终端以及各种网络产品的首选目标[1]。系统硬件平台主要是由嵌入式处理器、FLASH、SDRAM、以太网接口、USB接口、UART接口、JTAG接口、I/O接口、IIC、电源、复位开关等组成。系统硬件结构图如图1所示。
2 嵌入式Linux开发环境的构建
由于开发板上的嵌入式系统的资源是很有限, 因此如果直接在嵌入式硬件平台上编写软件代码基本是不可能的事。但是采用在PC机上编写程序, 然后通过编译生成能在目标平台上运行的二进制代码, 最后下载到目标板上特定位置上运行。通常采用宿主机/目标板模式, 如图2所示。目标板分别通过串口和以太网接口与宿主机PC连接, 这两个接口是用于终端开发的必须通道。
2.1 Linux与Windows文件共享
实现Windows与VMware Workstation6.0.2下的Linux文件共享方法其实有很多种, 例如:samba、vsftpd等。详细介绍一种常用的用VMware Tools实现Windows和Linux文件共享方法。
2.1.1 共享预备工作
打开VMware Workstation, 并启动Red Hat Linux选择菜单“虚拟机”选择“安装VMware Tools”将安装文件载入Linux的/mnt/cdrom, 然后在Linux系统下进入/mnt/cdrom, 里面出现VMware Tools-6.0.2-59824.tar.gz软件包。
2.1.2 安装共享软件包
打开终端, 在命令行中通过命令tar xzvf VMware Tools-6.0.2-59824.tar.gz解压软件包进行安装。
a.将软件包拷贝到自定义文件夹。 (见程序1)
b.进入#cd/home/dandy文件夹并解压此软件。 (见程序2)
解压完毕后dandy目录下会出现一个vmware-tools-distrib的文件夹。
c.进入#cd vmware-tools-distrib文件夹并且安装软件。直接键入命令#./vmware-install.pl, 在执行过程中会出现很多可供选择的项, 一般是不用给予选择的, 可以一直回车即可。另外文件夹里面有一个IN-STALL文件, 这个文件是介绍并提示如何安装次软件包的文件, 如果是对安装不太懂可以用vi编辑器打开学习一下。 (见程序3)
安装成功之后终端会显示:Enjoy——theVMware team。 (见程序4)
经过验证安装此软件包在图形界面下就会报错, 只有在字符界面下可以完整的安装。
2.1.3 共享文件夹
软件包安装好以后, 需要在Windows下建立一个共享文件夹以便在Linux下可以访问。选择菜单虚拟机的设置选项, 在弹出的虚拟机设置对话框中选择Options属性页, 在中选择Shared Folders来设置共享文件夹, 然后选定“Enable”。然后再次进入/mnt, 此时你会发现目录下多了一个hgfs的文件夹, 在这个文件夹下就是Linux和Windows的共享文件夹地址。
2.2 嵌入式开发环境的构建
在完成Windows和Linux文件共享后, 就可以在Linux下安装在Windows系统硬盘里的安装文件了。作为超级用户root登录到Linux下, 进入#cd/usr/local目录, 新建arm目录。#mkdir/usr/local/arm。将Windows下的工具包复制到Linux下并对软件包进行解压。操作见程序5。
然后修改PATH变量, 增加:
如果在终端直接用此方法添加环境变量后, 在掉电以后就会丢失。因此, 可以在“#vi/etc/bashrc”的最后一行添加以上命令。查看该路径是否已被添加到环境变量中可以使用命令:#echo$PATH。此时, Linux系统就有了ARM体系结构的编译器、链接器、调试器以及应用程序了。
3 软件的设计
软件开发过程包括Boot Loader的设计、uCLinux的编译和移植、u CLinux下的网络编程以及应用程序的开发等。主要介绍Boot Loader的设计。
3.1 Boot Loader的设计与实现
Bootloader是在操作系统内核运行之前的一段小程序, 也是嵌入式操作系统运行的第一个程序, 其作用是初始化系统硬件、建立内存空间的映射图、将系统软硬件环境带入一个合适的运行状态, 为调用Linux内核做好准备[2]。在嵌入式系统中, Boot Loader的作用其实与PC机上的BIOS相似, Boot Loader可以完成系统板上主要部件的初始化, 也可以下载文件到系统板上对CPU、存储器等, 通过串行口对Flash进行擦除与编程。Boot Loader作为系统复位或者加电后首先运行的代码, 一般应写入Flash中并从起始物理地址0x00000000开始。Boot Loader的设计步骤如下:
Boot Loader包含两种不同的操作模式[3]:启动加载模式和下载模式, 这种模式的区别仅对于开发人员才有意义。从最终的用户角度看来, Boot Loader的作用就是用来加载操作系统, 而并不存在所谓的两种模式的区别。在启动加载模式下, Boot Loader从Flash中将操作系统加载到SDRAM中运行;而在下载模式下, Boot Loader将通过串口或者USB设备接口从主机上下载内核映像和根文件系统映像等, 从主机下载的文件通常首先被Boot Loader保存到目标机的RAM中, 然后再被Boot Loader写入目标机上的FLASH。
Boot Loader的启动过程分为两个阶段。
第1阶段依赖于CPU体系结构的代码, 主要任务是初始化硬件 (CPU、内存、存储器等) 、拷贝到第2阶段的内存空间中等, 而且用汇编语言来实现, 运行效率比较高。这个阶段完成的任务一般如下:
a.硬件设备初始化 (屏蔽所有的中断、关闭处理器内部的指令/数据cache) ;
b.为第2阶段准备RAM空间;
c.复制Boot Loader的第2阶段代码到RAM空间中;
d.设置好堆栈并跳转到第2阶段的C程序入口点。
而第2阶段则是加载内核和文件系统, 并且内核设置适合的参数用来调用内核, 通常用C语言来实现, 这样可以实现复杂的功能, 而且增加代码的可读性和可移植性。这个阶段主要任务有:
a.初始化本阶段要使用的硬件设备;
b.检测系统内存映射;
c.将内核映像和根文件系统从FLASH读到RAM中;
d.为内核设置启动参数;
e.调用内核文件运行。 (见图3)
4 结论
嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统[4]。嵌入式系统已经在各个领域得到了广泛的应用, 如远程监控、无人工作区、交通控制等。随着嵌入式系统软硬件技术的飞速发展, 应用领域的不断广阔, 对嵌入式系统的研究将会有非常广泛的应用前景。在分析了ARM和Linux的特点的基础上, 介绍了其硬件结构, 分析了嵌入式Linux开发环境及开发工具, 对Boot Loader的启动流程有了比较详细的说明。另外修改Boot Loader中与硬件相关的代码, 很容易将其Boot Loader移植到其它体系结构的处理器上。
摘要:鉴于当前嵌入式产品的大量应用以及Linux系统的优势, 嵌入式Linux系统的研究和开发已经成为焦点。介绍了ARM处理器和Linux系统的特点, 并且结合VMware Workstation软件在windows PC上虚拟一个Linux系统作为宿主机, 介绍一种基于ARM的嵌入式系统的设计方法。首先简要介绍了嵌入式硬件设计方案, 对硬件结构、开发环境进行了分析, 然后阐述了BootLoader程序的设计。
关键词:嵌入式系统,Linux,ARM,BootLoader
参考文献
[1]王陈赜.ARM嵌入式技术实践教程[M].北京:航空航天大学出版社, 2005.
[2]杜春蕾.ARM体系结构与编程[M].北京:清华大学出版社, 2003.
[3]白伟平, 包启亮.基于ARM的嵌入式Boot-Loader浅析[J].微计算机信息, 2006, 22 (4-2) :99-l00.
ARM嵌入式平台 第2篇
Research and Development of the Remote I/O Data Acquisition System Based on Embedded ARM Platform
INTRODUCTION
With the wide use of the networked, intelligent and digital distributed control system, the data acquisition system based on the single-chip is not only limited in processing capacity, but also the problem of poor real-time and reliability.In recent years, with the rapid development of the field of industrial process control and the fast popularization of embedded ARM processor, it has been a trend that ARM processor can substitute the single-chip to realize data acquisition and control.Embedded ARM system can adapt to the strict requirements of the data acquisition system, such as the function, reliability, cost, size, power consumption, and so on.In this paper, a new kind of remote I/O data acquisition system based on ARM embedded platform has been researched and developed, which can measure all kinds of electrical and thermal parameters such as voltage, current, thermocouple, RTD, and so on.The measured data can be displayed on LCD of the system, and at the same time can be transmitted through RS485 or Ethernet network to remote DAS or DCS monitoring system by using Modbus/RTU or Modbus/TCP protocol.The system has the dual redundant network and long-distance communication function, which can ensure the disturb rejection capability and reliability of the communication network.The new generation remote data acquisition and moni-toring system based on the high-performance embedded ARM microprocessor has important application significance.STRUCTRUE DESIGN OF THE WHOLE SYSTEM
The whole structure chart of the remote data acquisition and monitoring system based on embedded ARM platform is shown in Figure 1.In the scheme of the system, the remote I/O data acquisition modules are developed by embedded ARM processor, which can be widely used to diversified industries such as electric power, petroleum, chemical, metallurgy, steel, transportation and so on.This system is mainly used for the concentrative acquisition and digital conversion of a variety of
苏州大学本科生毕业设计(论文)
electrical and thermal signals such as voltage, current, thermal resistance, thermo-couple in the production process.Then the converted data can be displayed on the LCD directly, and also can be sent to the embedded controller through RS485 or Ethernet network communication interface by using Modbus/RTU or Modbus/TCP protocol.The data in the embedded controller platform is transmitted to the work-stations of remote monitoring center by Ethernet after further analyzed and pro-cessed.At the same time, these data can be stored in the real time database of the database server in remote monitoring center.The system has the dual redun-dant network and long-distance communication function, which can ensure the disturb rejection capability and reliability of the communication network.The hardware platform of the Remote I/O data acquisition system based on emb-edded ARM uses 32-bit ARM embedded microprocessor, and the software plat-form uses the real-time multi-task operating system uC/OS-II, which is open-source and can be grafted, cut out and solidified.The real time operating system(RTOS)makes the design and expansion of the application becomes very easy, and without more changes when add new functions.Through the division of the appli-cation into several independent tasks, RTOS makes the design process of the application greatly simple.Figure 1 Structure of the whole system
苏州大学本科生毕业设计(论文)
THE HARDWARE DESIGN OF THE SYSTEM
The remote I/O data acquisition system based on embedded ARM platform has high universality, each acquisition device equipped with 24-way acquisition I/O channels and isolated from each other.Each I/O channel can select a variety of voltage and current signals, as well as temperature signals such as thermal resis-tance, thermocouple and so on.The voltage signals in the range of 0-75 mV ,1-5V ,0-5V, and so on, the current signals in the range of 0-10mA and 4-20 mA, the thermal resistance measurement components including Cu50, Cu100, Pt50, Pt100, and the thermocouple measurement components including K, E, S, T, and so on.Figure2.Structure of the remote I/O data acquisition system based on ARM processor
The structural design of the embedded remote I/O data acquisition system is shown in Figure 2.The system equipped with some peripherals such as power, keyboard, reset, LCD display, ADC, RS485, Ethernet, JTAG, I2C, E2PROM, and so on.The A/D interface circuit is independent with the embedded system, which is independent with the embedded system, which is system has setting buttons and 128*64 LCD, which makes the debugging and modification of the parameters easy.The collected data can be sent to the remote embedded controller or DAS, DCS system by using Modbus/RTU or Modbus/TCP protocol through RS485 or Eth-ernet communication interface also, and then be used for monitoring and control
苏州大学本科生毕业设计(论文)
after farther disposal.The system of RS485 has a dual redundant network and long-distance communication function.As the embedded Ethernet interface makes the remote data exchange of the applications become very easy, the system can choose RS485 or Ethernet interface through jumper to communicate with host computer.Ethernet interface use independent ZNE-100TL intelligent embedded Ethernet to serial port
conversion module in order to facilitate the system maintenance and upgrade.The ZNE-100TL module has an adaptive 10/100M Ethernet interface, which has a lot of working modes such as TCP Server, TCP Client, UDP, Real COM, and so on, and it can support four connections at most.Figure3.Diagram of the signal pretreatment circuit
Figure 3 shows the signal pretreatment circuit diagram.The signals of thermo-couple such as K,E,S,T etc and 0-500mV voltage signal can connect to the positive end INPx and the negative end INNx of the simulate multiplexers(MUX)directly.The 4-20mA current signal and 1-5V voltage signal must be transformed by resis-tance before connecting to the positive end INPx and the negative end INNx of the MUX of certain channel.The RTD thermal resistance signals such as Cu50, Cu100, Pt50 and Pt100 should connect one 1mA constant current before connecting to the positive end INPx and the negative end INNx of the MUX of certain channel.苏州大学本科生毕业设计(论文)
Figure4.Diagram of ADC signal circuit
Figure 4 shows the ADC signal circuit, which using the 16-bit ADC chip AD7715.The connection of the chip and the system is simple and only need five lines which are CS(chip select), SCLK(system clock), DIN(data input), DOUT(data output)and DRDY(data ready).As the ARM microprocessor has the characteristics of high speed, low power, low voltage and so on, which make its capacity of low-noise, the ripple of power, the transient response performance, the stability of clock source, the reliability of power control and many other aspects should be have higher request.The system reset circuit use special microprocessor power monitoring chip of MAX708S, in order to improve the reliability of the system.The system reset circuit is shown in Figure 5.苏州大学本科生毕业设计(论文)
Figure5.Diagram of system reset circuit
SOFTWARE DESIGN AND REALIZATION OF THE SYSTEM The system software of the remote I/O data acquisition system based on embedded ARM platform use the real-time operating system(RTOS)uC/OS-II, which is open-source and can be grafted, cut out and solidified.The key part of RTOS is the real-time multi-task core, whose basic functions including task management, resource management, system management, timer management, memory management, information management, queue management and so on.These functions are used though API service functions of the core.The system software platform use uC/OS-II real-time operating system core simplified the design of application system and made the whole structure of the system simple and the complex application hierarchical.The design of the whole system includes the tasks of the operating system and a series of user applications.The main function of the system is mainly to realize the initialization of the system hardware and the operating system.The initialization of hardware includes interr-upt、keyboard、LCD and so on.The initialization of operating system includes the control blocks and events control blocks, and before the start of multi-task schedu-ling, one task must be started at least.A start task has been created in this system, which is mainly responsible for the initialization and startup of clock, the start-up of interruption, the initialization of communication task module, as well as the division of tasks and so on.The tasks must be divided in order to complete various functions of the real-time multi-task system.苏州大学本科生毕业设计(论文)
Figure6.Functional tasks of the system software
Figure6 shows the functional tasks of the system software.According to importance of the tasks and the demands of real-time, the system applications are divided into six tasks with different priority, which including the tasks of A/D data acquisition, system monitoring, receive queue, data send, keyboard input, LCD display.The A/D data acquisition task demands the highest real-time requirements and the LCD display task is the lowest.Because each task has a different priority, the higher-priority task can access the ready one by calling the system hang up function or delay function.苏州大学本科生毕业设计(论文)
Figure7.Chart of AD7715 data transfer flow
Figure 7 shows the data conversion flow of AD7715.The application A/D
conversion is an important part of the data acquisition system.In the uC/OS-II real-time operating system core, the realization process of A/D driver depends mainly on the conversion time of A/D converter, the analog frequency of the conversion value, the number of input channels, the conversion frequency and so on.The typical A/D conversion circuit is made up of analog multiplexer(MUX), amplifier and analog to digital converter(ADC).苏州大学本科生毕业设计(论文)
Figure8.Diagram of the application transfer driver
Figure8 shows the application procedure transfer driver.The driver chooses the analog channel to read by MUX, then delay a few microseconds in order to make the signal pass through the MUX, and stabilize it.Then the ADC was triggered to start the conversion and the driver in the circle waiting for the ADC until its completion of the conversion.When waiting is in progress, the driver is detecting the ADC state signal.If the waiting time is longer than the set time, the cycle should be end.During waiting time of the cycle, if the conversion completed signal by ADC has been detected, the driver should read the results of the conversion and then return the result to the application.苏州大学本科生毕业设计(论文)
Figure9.Diagram of serial receive
Figure9 shows the serial receive diagram with the buffer and signal quantity.Due to the existence of serial peripheral equipment does not match the speed of CPU, a buffer zone is needed, and when the data is sending to the serial, it need to be written to the buffer, and then be sent out through serial one by one.When the data is received from the serial port, it will not be processed until several bytes have been received, so the advance data can be stored in buffer.In practice,two buffer zones, the receiving buffer and the sending buffer, are needed to be opened from the memory.Here the buffer zone is defined as loop queue data structure.As the signal of uC/OS-II provides the overtime waiting mechanism, the serial also have the overtime reading and writing ability.If the initialization of the received data signal is 0, it expresses the loop buffer is empty.After the interrupt received, ISR read the received bytes from the UART receiving buffer, and put into receiving buffer region, at last wake the user task to execute read operation with the help of received signal.During the entire process, the variable value of the current bytes in recording buffer can be inquired, which is able to shows whether the receive buffer is full.The size of the buffer zone should be set reasonable to reduce the possibility of data loss, and to avoid the waste of storage space.CONCLUSIONS
With the rapid development of the field of industrial process control and the
苏州大学本科生毕业设计(论文)
wide range of applications of network, intelligence, digital distributed control System, it is necessary to make a higher demand of the data accuracy and reliability of the control system.Data acquisition system based on single-chip has been gradually eliminated because the problem of the poor real-time and reliability.With the fast popularization of embedded ARM processor, there has been a trend that ARM processor can alternate to single-chip to realize data acquisition and control.The embedded ARM system can adapt to the strict requirements of the data acquisition system, such as the function, reliability, cost, size, power consum-ption, and so on.In this paper, A kind of ARM-based embedded remote I/O data acquisition system has been researched and developed, whose hardware platform use 32-bit embedded ARM processor, and software platform use open-source RTOS uC/OS-II core.The system can be widely applied to electric power, petroleum, chemical, metallurgy, steel, transportation and so on.And it is mainly used in the collection and monitoring of all kinds of electrical and thermal signals such as voltage, current, thermal resistance, thermocouple data of the production process.Then these data can be sent to the remote DAS, DCS monitoring system through RS485 or Ethernet interface.The system has the dual redundant network and long-distance communication function, which can ensure the disturb rejection capability and reliability of the communication network.苏州大学本科生毕业设计(论文)
基于嵌入式ARM平台的远程I / O数据采集系统的研究和开发
导言
随着网络化,智能化,数字化分布式控制系统的广泛使用,基于单芯片的数据采集系统不仅在处理能力上受限制,并且在实时性和可靠性方面也出现了问题。近几年来,随着工业过程控制领域的迅速发展和嵌入式ARM处理器的迅速普及,ARM处理器代替单芯片实现数据的采集和控制成为了趋势。嵌入式ARM系统能适应数据采集系统的严格要求,如功能性,可靠性,成本,体积,功耗等等。
在本文中提出一种新型的基于ARM嵌入式平台的远程I / O数据采集系统已被研制开发,它可以衡量各种电气和热参数,如电压,电流,热电偶,热电阻等等。那个测量数据可以显示在液晶显示器的系统中,同时可通过使用Modbus / RTU或的Modbus / TCP协议从RS485或以太网网络传送到DAS或DCS远程监控系统。该系统具有双冗余网络和长途电通信功能,它可以确保通信网络的干扰抑制能力和可靠性。基于高性能嵌入式ARM微处理器的新一代远程数据采集和监控系统具有重要的应用意义。
整个系统的结构设计
基于嵌入式ARM的平台的远程数据采集和监控系统的整个结构图在以下的图1中展示。在这系统的计划中,通过使用广泛用于多种行业如电气电力,石油,化工,冶金,钢铁,运输等的嵌入式ARM处理器来开发远程I / O数据采集模块。该系统主要用于的集中采购和将各种电和热信号如电压,热电阻,热电偶在生产过程中进行数字转换。转换的数据可直接在液晶显示器上显示,也可以通过使用的Modbus / RTU或的Modbus / TCP协议的RS485总线或以太网网络通信接口被发送到嵌入式控制器。嵌入控制器平台的数据通过进一步以太网的分析和处理被传送至远程监控中心的工作站。与此同时,这些数据可以存储在远程监控中心数据库服务器的实时数据库中。该系统具有双冗余网络和远程通讯功能,它可以确保通信网络的干扰抑制能力和可靠性。
基于嵌入式ARM远程I / O数据采集系统的硬件平台使用32位ARM嵌入式微处理器和软件平台使用的是开源的并且可移植,削减和巩固的实时多任务操作系统的第二代UC / OS核心。实时操作系统(RTOS)使设计和应用的扩大变得非常容易,增加新的功能时也没多大变化。通过几个独立的任务的应用,实时操作系统使得应用的设计过程极为简单。
苏州大学本科生毕业设计(论文)
系统的硬件设计
基于嵌入式ARM平台的远程I / O数据采集系统具有很高的普遍性,每个购置设备配备24收购方式的I / O渠道且彼此孤立。每个I / O通道可以选择不同的电压和电流信号,以及温度信号如热电阻,热电偶等。在05V的,010毫安和4100TL智能嵌入式以太网串口转换模块。该ZNE500mV的电压信号可以直接接到模拟多路复用器(复用器)的INPx正极和INNx负极。45V的电压信号必须用阻抗转换。热电阻的电阻信号如Cu50,Cu100,Pt50和Pt100应在接到某些频道的复用器INPx正极和INNx负极前连接一1毫安的恒流源。
图4显示了使用16位ADC芯片AD7715的ADC信号电路。芯片与系统的连接非常简单,只需要CS(芯片选择),SLCK(系统时钟),DIN(数据输入),DOUT(数据输出)和DRDY(数据准备)5根线。
由于ARM微处理器具有高速,低功耗,低电压等优点,这使它在低噪音,纹波权力,瞬态响应性能,时钟来源的稳定,功率控制和许多其他方面需要有更高的要求。为了改善系统的可靠性该系统复位电路中使用特殊的微处理器电源监测芯片MAX708S。图5展示了该系统复位电路。
系统软件的设计与实现
苏州大学本科生毕业设计(论文)
基于嵌入式ARM平台的远程I / O数据采集系统的软件使用的是开源的并且可移植,削减和巩固的实时多任务操作系统的第二代UC / OS核心。RTOS的关键部分是实时多任务的核心,其基本功能包括任务管理,资源管理,系统管理,计时器管理,内存管理,信息管理,队列管理等。通过API服务职能核心使用这些功能。
该系统软件平台使用的是单一化的uC/ OS第二代实时简化操作系统核心,使整个结构系统简单和应用层次复杂。整个系统的设计包括操作系统的任务和一系列的用户应用程序。系统的主要职能是实现系统硬件和操作系统的初始化。硬件初始化包括中断,键盘,液晶显示器等。操作系统初始化包括控制模块和事件控制,在多任务调度前,至少有一个任务开始。一个开端任务已建立在这一系统,这系统主要负责初始化和启动的时钟,开办中断,通信任务模块的初始化,以及任务分工等。为了完成实时多任务系统的多种职能那个任务必须被划分。
图6显示系统软件的功能任务。根据任务的重要性和实时要求,系统的应用曾划分为六个不同优先级的任务,其中包括A / D数据采集任务,系统监控,接受队列,数据传送,键盘输入,液晶显示屏显示。A / D数据采集任务要求最高的实时要求和液晶显示器显示任务是最低的。因为每个任务都有不同的优先事项,通过使用系统挂断功能或延迟功能更高的优先任务可以开始已经准备好的任务。
图7显示的是AD7715的数据转换流。A / D转换器的应用是数据采集系统的一个重要组成部分。在uS/ OS的第二代实时操作系统的核心中,A / D驱动程序的实现过程主要取决于A / D转换器的转换时间,有转换价值的模拟频率,输入通道的数量,转换频率等等。典型的A / D转换电路由模拟复用器(复用器),放大器和模拟到数字转换器(ADC)组成。
图8显示了申请程序转移的驱动程序。驱动程序可以在模拟通道读取由复用器,那么几微秒的延迟,以便使信号通过多路开关,并使其稳定。然后,当转换开始时,ADC被触发,并且驱动程序在一个周期内等待ADC的触发,直到完成转换。当等待的进展,该驱动程序检测ADC的状态信号。如果等待时间比规定的时间越长,周期应该结束。在等待的周期时间,如果转换完成ADC的信号被检测到,驱动程序应改为转换的结果,然后将结果返回给应用程序。
图9显示了缓冲区和信号量的序列接收图。由于外围串行设备的存在CPU的运行速度匹配,一个缓冲区是必要的,当数据发送到序列,它必须被写入缓冲区,然后通过串行逐一地被发送出去。当从串行端口收到数据,这些数据将不会被处理直到收到一些字节,因此先前的数据可以存储在缓冲区中。在实践中,两个缓冲区,一个接收缓冲区和一个发送缓冲区,它们是需要从内存开放出来。在这里缓冲区像循环队列数据结构一样被定义。
由于uC/OS-II提供额外时间等待机制的信号,串口也具有额外的阅读和写作能力。如
苏州大学本科生毕业设计(论文)
果收到的数据信号初值为0,它表示循环缓冲区是空的。在中断收到后,ISR从UART接受缓冲区中读到收到的数据,并投入接收缓冲区域,最后通过收到的数据开始用户执行读操作的的任务。在整个过程中,变量价值目前字节在存储缓冲区中的字节的变量值是可以被询问的,这能够表明接收缓冲区是否已满。为了降低数据丢失的可能性和避免浪费存储空间应合理地设置缓冲区的大小。
结论
随着工业过程控制领域的快速发展和网络,智能,数字化分布式控制系统广泛应用,有必要发展对数据准确性和控制可靠性要求更高的系统。由于较差的实时性和可靠性基于单片机数据采集系统已逐步被淘汰。随着嵌入式ARM处理器的迅速普及,ARM处理器替代单芯片实现数据采集与控制成为了一种新的趋势。嵌入式ARM系统能够适应数据采集系统的严格要求,如功能,可靠性,成本,大小,耗电量等等。
ARM嵌入式系统分析 第3篇
关键词:ARM嵌入式系统;体系结构,RISC;运行模式
中图分类号:TP368.1文献标识码:A文章编号:1007-9599 (2011) 16-0000-01
ARM Embedded Systems Analysis
Jiang Rongping
(Henan Zhoukou Normal University,Zhoukou466000,China)
Abstract:The embedded system is the core of embedded processors,ARM processors is widely recognized as the industry's leading 32-bit embedded RISC microprocessor.ARM core-based chips with low power consumption,high performance,widely used in embedded products.Starting from the ARM architecture,this paper,by contrast detailed structural features of the system of the RISC and ARM processor operation mode,thereby ARM embedded system into an in-depth analysis.
Keywords:ARM embedded system;Architecture;RISC;Operation mode
一、嵌入式系统定义
嵌入式系统是相对于通用计算机系统而言的,它简称为嵌入式计算机系统。目前在国内学术界,专家普遍接受的定义是:“嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁减,满足应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。”它属于计算机系统的一个重要分支,它是将先进的计算机技术、半导体技术和电子技术与各行业的具体应用相结合的产物。它可以实现对其他设备的控制,监视或者管理等功能。
二、ARM体系结构
ARM(Advanced RISC Machines)体系结构目前被公认为是业界领先的32位嵌入式RISC微处理器结构。作为典型的32位RISC架构处理器,ARM微处理器被广泛用于工控设备、智能仪表、网络设备、信息家电、通信设备以及均是电子等领域。
嵌入式系统中CPU往往都是RISC(reduced instruction set computer)结构的。所谓RISC是指“精简指令集计算机”,也称“简约指令集”,与之相对应的CPU系统结构就是CISC,即传统的“复杂指令集”相对应的概念与系统结构。
在CISC计算机中,各种指令的使用率相当悬殊:总指令的20%的简单指令却在程序调用中指令数占到了80%,而占总指令数80%的复杂的指令却只有20%的机会被使用到。而复杂的指令系统必然带来结构的复杂性,这不但增加了设计的时间成本还容易造成设计失误。尽管VLSI技术现在已经到达很高的水平,但是也很难把CISC的全部硬件做在一个芯片上,这增加了微处理器集成电路的成本。此外,为了提高运行的速度,在微处理器中采用了“预取指令”等“流水线操作”技术。但是为了照顾这些不是很经常要使用的复杂指令只好降低了简单指令的运行速度。因而针对这些缺点,精简指令集计算机,即RISC的概念与技术便应运而生。
RISC体系结构的基本思路是抓住了CISC指令系统指令繁多,指令格式不规范、寻址方式复杂的缺点,通过了减少指令种类,规范指令格式和简化寻址方式,以方便处理内部的并行处理,提高VLSI器件的使用效率,从而大幅度的提高处理器的性能。RISC设计的基本目的在于使计算机结构更加简单、更加合理、更加有效。正是因为如此,RISC的提出引起了计算机体系架构的一次影響深远的革命。
三、RISC系统结构特点
(一)RISC系统结构中的指令系统都比较小、即不同指令的数量比较小,并且只提供简单的指令。这些指令的执行都能在四、五个时钟周期中完成。所谓“简约指令集”,一方面指的是指令集比较小,另一方面是说每条指令复杂程度,两个条件缺一不可。
(二)当指令要访问主存储器的信息的时候,机器的执行速度将会降低。RISC的Load/Store指令只有在访问内存的时候才使用,所有的其他的指令都是在寄存器内对数据进行运算。
(三)不光指令的执行长度和寻址方式整齐划一,连指令的格式也很整齐划一,一般在32位的RSIC系统中,每条指令的长度都是32位。这有力于简化指令系统,简化了寻址方式,缩短了译码时间,确保了单周期执行指令,也有利于流水线操作的执行。
(四)RISC微处理器由于指令的操作数都必须事先存在寄存器中,计算的中间过程不需要访问内存,而是存在寄存器中。所以RISC系统结构一般都拥有比较多的寄存器,通常是32个寄存器。
四、ARM处理器简述
ARM处理器核当前主要产品系列:ARM7、ARM9、ARM9E、ARM10E、SecurCore以及ARMll系列,另外还有公司的XScale微体系结构和StrongARM产品。其中ARM7是低功耗的32位核,最适合应用于对价位和功耗敏感的产品,它又分为应用于实时环境的ARM7TDMI、ARM7TDMI-S,以及适用于开发平台的ARM72OT和适用于DSP运算及支持Java的ARM7EJ等。
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。除用户模式以外,其余的模式称之为非用户模式,或特权模式(Privi1eged Modes);其中除去用户模式和系统模式以外的5种又称为异常模式(Excption Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。
在系统异常时,通常进入数据访问中止模式或者未定义指令中止模式。系统异常通常是程序错误的访问了非法地址,这时系统就会进入数据访问中止模式。当系统因为某些异常原因跑飞,飞到了非代码区取指并执行,此时系统取到的并不是合法的ARM指令,ARM检查到该类错误后就会进入未定义指令中止模式。
参考文献:
[1]刘岚.嵌入式软件开发环境中远程调试技术的研究与应用.西北工业大学,2002:20-31
[2]张静.嵌入式软件任务级调试技术研究与工具实现.电子科技大学,2003:41-45
[3]张群忠.ARM嵌入式系统调试技术研究与实现.华东师范大学.2006:32-46
ARM嵌入式平台 第4篇
关键词:指纹识别,嵌入式系统,ARM平台,考勤机
0 引言
纸质打卡机、射频IC卡考勤机等传统考勤设备因自身的诸多弊端正逐渐的淡出市场,取而代之的是基于生物身份识别技术的考勤设备,如基于指纹识别技术和基于人脸图像识别技术的考勤系统开始应用于现代企业[1,2]。嵌入式微处理器在指纹识别系统中的应用设计是当今及今后相当长一段时间的研究重点和热点[3],嵌入式自动指纹识别技术使得考勤机的便携式、可移动、低成本、易安装、易扩展提供了可能。近年来众多国内外公司推出的一些基于DSP或者ARM处理器的指纹识别模块、嵌入式系统开发平台促进了自动指纹识别系统的设计与应用开发。
本文设计的嵌入式自动指纹考勤机硬件平台由TCS316指纹模块和基于S3C2440ARM处理器的嵌入式mini2440 ARM开发平台组成,人机交互采用触摸式LCD显示屏;软件设计基于嵌入式LINUX操作系统,采用模块化编程。该嵌入式自动指纹考勤机体积小、可移动,能独立完成指纹采集、存储、比对和显示等考勤功能,通过网络接口可以接入服务器或PC,通过USB接口可以实现数据自动存储至USB存储设备。
1 考勤机硬件系统
考勤机的硬件系统结构如图1所示。系统通过结合半导体指纹传感器的TCS316指纹模块采集用户指纹图像信息,然后进行指纹图像的预处理、特征值提取等指纹图像处理过程,最后将处理后的指纹信息存储于模块上的FLASH和SRAM;指纹识别模块通过串口和ARM平台连接,在ARM平台的控制下实现指纹的自动识别及考勤功能,考勤相关信息记录在ARM平台模块的FLASH和SRAM;DM9000芯片实现网络连接,USB HOST/DEVICE实现USB存储设备的连接。
1.1 指纹传感器及指纹识别模块
系统采用了以DSP处理器为核心,结合半导体指纹传感器,嵌入活体指纹识别技术的指纹模块TCS316,该模块具有功能较强、指令集丰富、开发方便、性价比高的特点,能确保身份识别的唯一性、不可否认性,可以支持USB、RS232两种通讯接口,既可以在模块内也可以将指纹数据传输到其他上位机(PC机或嵌入式微处理器系统)中进行指纹图像的处理、存储和比对。
模块的性能指标主要包括[8]:半导体指纹传感器;指纹输入面积:18.8×16MM;灰度256级、分辨率363DPI;匹配方式1:1、1:N;拒真率<1%、认假率<0.0001%;特征数据大小<=256bytes/枚;指纹存储容量1024K,可容纳1000枚;指纹登记速度3-10S/枚(三次);识别时间1:1,2-3毫秒;1:N(N<1000),<1秒;通讯接口USB2.0、RS232;波特率1200Bps-115200Bps、缺省值-9600Bps;数据位8BITS、1BIT停止位、无校验位;电源DC5V;使用环境温度-5℃-+45℃;湿度20%-80%;物理尺寸112×57×47MM;使用寿命100万次。该指标可适用于大部分环境下的应用。
1.2 ARM平台
系统使用的嵌入式mini2440 ARM开发平台以Samsung S3C2440为微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性。硬件平台框图如图2所示,主要性能指标包括[9]:CPU处理器:Samsung S3C2440A,主频400MHz,最高533 MHz;SDRAM内存:64M,32bit数据线,SDRAM的时钟频率高达100MHz;FLASH存储:256M Nand Flash,掉电非易失;2M Nor Flash,掉电非易失;LCD显示:256K色240x320/3.5英寸TFT真彩液晶屏,带触摸屏;接口资源:10M以太网RJ-45接口(采用DM9000网卡);USB(1 host、1 device);UART 3个;RS232串口1个;系统时钟源:12M无源晶振;操作系统支持:Linux 2.6.32;Windows CE NET 5.0;提供所有板级设备驱动。
2 考勤机软件设计
系统上电后,首先是初始化和加载驱动,然后根据主菜单进行功能选择。考虑到考勤机的实际使用,系统实现了有人值守和无人值守两种工作模式,长时间不工作系统均进入省电模式。考勤时间等考勤要求,可在使用前由管理者根据实际情况定制。无人值守模式下,系统能实现自动考勤、自动记录考勤信息等功能。有人值守时,系统可根据需要增减指纹信息;指纹信息或者考勤信息可选择使用网络接口或USB接口上传数据。系统主程序流程图如图3。
ARM平台系统选择了开源的Linux操作系统,具体版本为Linux 2.6.32,采用模块化编程。软件模块主要包括预定义及初始化模块、串行通信模块、指纹识别功能模块、网络通信模块等,对源程序进行了交叉编译和调试。人机交互的触摸屏应用程序设计采用了QT2.2.3平台。
2.1 预定义及初始化模块
预定义模块主要是对一些常用的数据类型重新进行类型名声明;对一些指令码、包标识、确认码等进行定义,从而增强了程序的可读性。初始化模块程序主要利用开发平台所带的驱动级程序,系统上电后,在bootloder控制下加载所有的驱动程序,使得所应用的硬件处于工作状态。
2.2 串行通信模块
TCS316指纹模块与Mini2440 ARM平台通过UART串口进行通信,ARM平台按照TCS316指纹模块的命令格式和通信协议进行交互工作。Linux操作系统提供了丰富而便捷的函数,对串口通信提供了很好的支持。串行通信模块主要是调用Linux丰富的库函数,从而完成对串口的初始化,打开、关闭串口,设置波特率、数据位、停止位奇偶校验等操作。
2.3 指纹识别功能模块
根据TCS316指纹模块的命令集及通信协议和平台串口通信函数,编写了可以实现指纹采集、特征值存储、指纹搜索和比对、删除等功能的函数模块。由于TCS316模块命令集及通信协议的特殊性,在编写指令发送函数和应答包接收函数时都采取了各自适当的长度进行,以满足其通信协议和命令格式的具体要求。
2.4 网络通信模块
本考勤机具有网络通信功能,其硬件支撑芯片为DM9000,本系统架构采用基于TCP协议栈网络编程方式,利用ARM平台和操作系统系统的套接字网络编程接口,开发相应的网络应用程序,考勤机属于网络通信的客户端,在LINUX操作系统平台下的客户端操作主要包括初始化Socket,建立Socket,与服务器连接,发送数据,接收数据,关闭Socket等过程。为了实际应用,自定义的TCP应用层的通信协议主要包括初始注册、日常验证、查询等命令功能和工号、姓名、性别、部门、指纹特征串等信息。通过该模块,嵌入式考勤机可以通过任何网络设备如路由器、交换机等设备和服务器实现互联。
2.5 人机界面模块
本系统采用了触摸式LCD实现人机交互,人机界面应用程序的设计采用了便于设计出界面友好、开发效率高、兼容Linux操作系统的QT平台,具体版本为QT2.2.3。QT/Embedded平台的搭建和使用比较简单,这里不再赘述。
3 系统测试
为了验证所设计考勤机的可行性和稳定性,测试了指纹识别功能和系统运行的功能。测试结果表明系统的硬件和软件都能较好的工作,实现了指纹录入、比对、删除等指纹功能。系统稳定性较好,成功率高。考勤机关键功能测试结果如表1。
测试中指纹录入、搜索出现的极少数不成功的情况,都是极端情况下指纹采集方面的问题,只要保证指纹质量可以实现100%的成功。在采集指纹时,应尽量保证指纹摆放位置尽量和传感器的采集头重合、指纹采集传感器的洁净和手指的洁净等,这样就能采集到质量较高的指纹,为相应功能的实现奠定良好的基础。
4 结论
本文采用TCS316指纹识别模块和基于S3C2440 ARM9处理器的嵌入式mini2440 ARM平台,设计了一款基于嵌入式技术的自动指纹识别考勤机。设计的考勤机体积小、可移动,能独立完成指纹采集、存储、比对和显示等考勤功能,具有网络接口和USB接口,可以方便的接入服务器、PC或USB存储设备,实现数据自动存储和备份。实验结果表明系统的硬件和软件都能较好的工作,达到了预期的目的。
利用系统设计的USB和网络接口功能可以实现考勤基本信息的数据上传,结合服务器或PC端的考勤管理系统,可以实现功能完善的基于指纹识别技术的考勤系统,具有广泛的应用前景。
参考文献
[1]段少雄,等.高效指纹考勤系统的研究与设计[J].计算机工程.2003,29(9).
[2]唐业等.基于智能卡的分布式考勤管理系统的研究与实现[J].计算机应用与软件.2005,22(5).
[3]Jain A.K.,Ross A.,Prabhakar S..An introduction to biometric recognition.IEEE Transactions on Circuits and Systems for Video Technology,2004,4(1):4-20
[4]毕晓君等.基于嵌入式的指纹识别系统研究.模式识别与仿真.2007年第26卷第1期
[5]孙琼.嵌入式Linux应用程序开发详解[M].北京:人民邮电出版社,2006
[6]李昊,傅曦.精通VisualC++指纹模式识别系统算法与实现[M].北京:人民邮电出版社,2008
[7]祝恩,殷建平,张国敏,等.自动指纹识别技术[M].长沙:国防科技大学出版社,2006
[8]北京天诚盛业科技有限公司.TCS316用户手册[M].北京:北京天诚盛业科技有限公司,2009
嵌入式arm_求职新版简历 第5篇
个人信息
姓名: 出生日期: 工作年限: 手机: 关 键 词:
霍守斌 1990.5.25 应届毕业生 ***
性别: 户籍: 电子邮件: QQ:
男
哈尔滨工业大学
1966454
5ARM MCU CORTEX-M3 STM32 LM3S ARM9 嵌入式软件
自我评价
熟悉MCU软件开发,对MCU新器件自信能够快速熟悉应用。使用过多家半导体公司的MCU,一年半的STM32系列MCU应用经验,在校期间采用STM32系列MCU为控制核心完成了大量电子竞赛类项目。有较强自学、独立解决问题的能力,有较强的进取心和责任心。
求职意向 到岗时间: 工作性质: 希望行业: 目标地点: 期望薪水: 目标职能:
一个月内 全职
仪器仪表/工业自动化;电子技术/半导体/集成电路;其他行业 深圳;广州;长沙;杭州;上海;北京 5000—6000/月
MCU软件工程师;嵌入式软件工程师
教育经历 2010/09--至今
湖南理工学院
电子信息工程
本科
在校期间系统的学习了嵌入式系统软件开发的系列课程。包括:模电、数电、CC++程序设计、数据结构、单片机原理及接口技术、信号与系统、数字信号处理、嵌入式操作系统基础、基于ARM9的嵌入式linux开发技术。在校期间参加全国大学生电子设计竞赛,荣获本科组全国一等奖。
IT技能技能名称C/C++
51、AVR、C8051F、STM8软件设计LM3S、STM32(CORTEX-M3)软件设计
熟练程度 熟练 熟练 熟练
使用时间 35月 14月 18月
uCOSII嵌入式操作系统程序设计
基于ARM9嵌入式linux系统开发
熟悉
一般
6月
6月
Matlab程序设计
PCB电路板设计
一般
一般
3月
3月
所获奖项及证书
2012/09全国大学生电子设计竞赛 本科组全国一等奖
2011/12湖南理工学院 校电子技能竞赛 B组 一等奖
2012/10全国“电脑鼠走迷宫“竞赛 湖南省赛区三等奖(黑龙江省赛区一等奖)
2011/09大学英语四级证(482)
2012/06哈尔滨工业工学院 校程序设计竞赛 二等奖
2010/12哈尔滨工业院 “三辉”奖学金 三等奖
2010/12哈尔滨工业学院 校电子技能竞赛 B组 一等奖2010/10哈尔滨工业学院 校“迎新杯”篮球赛 第四名
项目经验
2011/8--2011/8 :无线调频对讲机
软件环境:RealView MDK硬件环境:STM32L151CB开发工具:JLINK
项目描述: 本项目实现了双机全双工跳频、移频、固定载波频率语音通信,具有保密功能的FM对讲机系统。发射端A/D采集语
音信号,以调频方式调制,通过AD9851发射,接收端采用MC13135实现FM解调,语音信号经低通滤波器直接通
过低频功率放大电路,驱动喇叭。
责任描述: 方案论证、全部软件设计
2011/8--2011/8 :简易无线竞赛系统
软件环境:RealView MDK硬件环境:STM32F103RC、STM32L151CB开发工具:JLINK
项目描述: 本项目分为竞赛控制器和手持器两部分。通过对CDCE937产生的频率控制实现ASK调制。然后信号通过LC谐振
回路经天线发射出去。其竞赛控制器部分的信号处理电路采用单片调频芯片MC13135作为核心,通过解调放大及整
形后实现ASK解调。然后信号由STM32进行解析实现数据通信。本系统能同时有255个手持器存在。另外,系统还
具有显示选手成绩,统计出选手每组题目的平均响应时间以及抢答等功能。
责任描述: 方案论证、全部软件设计
2011/7--2011/7 :无线通信信号分析与测量装置
软件环境:RealView MDK硬件环境:STM32F103RC开发工具:JLINK
项目描述:设计了一套无线通信信号分析与测量模拟装置,包括一个高频功率放大(发 根据信号调制和无线信号传输的基本原理,射)和一个信号分析及测量装置(接收),可以测量出载波频率以及解调出信号。发射部分的功率放大与发射由一级
运放和一级频率放大电路实现。接收系统采用MC13135芯片,实现ASK、AM、FSK、FM解调。解调出来的信号经
AD采样,做FFT分析,根据频谱特点区分ASK、AM、FSK、FM等调制信号。系统通过测量载波信号自动调整第一本振,从而实现了在一定范围内任意载波频率无线传输的功能。
责任描述: 方案论证、全部软件设计
2011/7--2011/7 :音频信号分析仪
软件环境:RealView MDK硬件环境:STM32F103RC开发工具:JLINK
项目描述: 系统通过12位A/D转换,对音频信号进行采样实现连续信号离散化,然后通过FFT变换运算处理,最后在高分辨率的TFT对信号频谱进行显示,制作完成本音频信号分析仪。系统的信号调理和12位A/D的配合,保证了信号测量精
度。经测试,该系统能准确测量音频信号频率范围为20Hz~10kHz,其幅度范围为6mV~6V,并能准确的测量功率
周期信号的频率。
责任描述: 方案论证、全部软件设计
2011/7--2011/9 :电脑鼠走迷宫
软件环境:IAR硬件环境:LM3S615开发工具:LMLINK
项目描述: 系统采用LM3S615为控制核心,结合传感器和机电运动部件构成的一种智能行走装置(微型机器人)。实现了电脑
鼠遍历迷宫,自动记忆和选择最优路径,并且能够快速到达所设定的目的地。
责任描述: 电机驱动算法和最优路径算法程序设计
2011/6--2011/6 :数字示波器
软件环境:RealView MDK、QuartusII硬件环境:STM32F103ZE、FPGA开发工具:JLINK
项目描述:实现了具有实时采样和等效采样方式的数字示波器。本项目采用STM32F103ZE为核心控制器,FPGA做为协处理器,系统由信号调理、触发电路、采集存储、数据处理及人机交互等模块组成。触发电路采用软件处理方式实现内部触发
和触发电平可调;数据采集模块由AD783采样保持器与AD823 ADC相配合,在FPGA严格控制下进行采样。STM32
作为总控制器,采用8080总线方式与FPGA内部的双口RAM通信,实现实时采样、等效采样、数据交换、数据存储、单次触发、方波校准以及波形显示等功能。
责任描述: 方案论证、数据处理以及控制部分的软件设计
2011/5--2011/5 :简易无线定位装置
软件环境:Keil uvision硬件环境:C8051F410开发工具:EC5
项目描述: 本项目设计了一套简易无线定位装置,其包括四个从机(发射部分)和一个主机(接收部分)。四个从机(发射机)
全部采用CDCE937产生四个不同的频率经过功率放大后经天线发射出去。主机(接收机)采用MC13135作为信号的接收,然后C8051F410用内部ADC采集该芯片的信号强弱指示端电压,进而分析出从机与主机之间的距离,得到主
机所在的坐标。
责任描述: 方案论证、全部软件设计
2011/4--2011/4 :数据采集系统
软件环境:RealView MDK硬件环境:STM32F103ZE开发工具:JLINK
项目描述: 本系统以STM32F103ZE为控制核心,结合采样率高达60M双路高速AD芯片ADS825,高速缓存FIFO芯片
SN74V245,数据存储芯片采用NAND FLASH S29GL128,实现了双路高速数据的采集、存储、读取。
责任描述: 方案论证、全部软件设计
2011/3--2011/3 :单工无线呼叫通信
软件环境:RealView MDK硬件环境:STM32F103ZE开发工具:JLINK
项目描述: 本系统以STM32F103ZE为控制核心,AD采集语音信号,以调频方式调制,通过AD9851发射;数字信号采用FSK
调制解调方式。自定义通信协议,实现了数据稳定的通信,具有语音呼叫、英文短信发送、单呼、群呼等功能。
责任描述: 方案论证、全部软件设计
2011/3--2011/3 :无线环境监测模拟装置
软件环境:RealView MDK硬件环境:STM32F103RC开发工具:JLINK
项目描述: 系统由探测节点和监测终端两大部分构成,采用STM32F103RC为控制核心。节点完成对环境温度、光照信息的采
集和处理,适时向终端和邻近节点发送信息。监测终端完成探测命令发布、探测信息处理和显示。自定义通信协议,采用“分时复用”信道方式,防止信息冲突,实现了对节点的信息轮询,接力转发功能。
责任描述: 方案论证、全部软件设计
2011/1--2011/2 :基于uCOSII操作系统多任务程序设计
软件环境:RealView MDK硬件环境:STM32F103ZE开发工具:JLINK
项目描述: 参考Micrium官方uCOSII的移植,将uCOSII V2.86版本操作系统成功移植到STM32芯片上,并在STM32+uCOSII
平台上编写了LED、按键、串口、AD、TFT等驱动程序,实现了多任务间的数据采集、传递、显示以及控制功能。
责任描述: 全部软件设计
2010/10--2010/11 :数字温度监控系统
软件环境:Keil uvision硬件环境:STC89C52
项目描述:辅以DS1302时钟芯片、本系统以89C52单片机为核心,DS18B20数字温度芯片、AT24C02外部存储芯片、LCD、LED、按键、喇叭等电路组成,该系统实现了实时两路温度监控、保存、查询,高低限温及时间设置等功能,具有可靠性好,精度高等优点,主机采用12864LCD显示,用户界面友好,该设计基本实现了数字温度表所要求的基本功能。
责任描述: 全部软硬件设计 专业实践经历
2011/04--2011/04STM8L单片机学习
自学STM8L单片机,硬件平台为STM8L152CB,软件开发环境为IAR。完成了基本外设的驱动程序设计,以及片内通信接口USART、I2C、SPI程序设计,片内外设AD/DA、比较器、定时器、外部中断程序设计。
2011/02--2011/04嵌入式linux驱动程序设计
自学嵌入式linux驱动程序设计,硬件平台ARM9,软件平台linux,软件开发环境为RealView MDK和交叉编译工具链。了解了嵌入式linux开发的基本流程以及开发工具的使用,能够在ARM9+linux平台下编写简单的字符驱动程序。完成了LED、按键、数码管、蜂鸣器等简单的字符驱动程序设计。
2010/11--2011/02嵌入式实时操作系统程序设计
自学嵌入式实时操作系统uCOSII,硬件平台STM32,软件平台uCOSII,软件开发环境为RealView MDK。掌握了嵌入式操作系统的基本理论和uCOSII实现的基本原理。能够在STM32+uCOSII平台下编写多任务应用程序以及针对特定的硬件编写BSP,能够熟练的运用信号量、消息邮箱、消息队列进行多任务的同步与通信。
2010/07--2010/10LM3S(CORTEX-M3)微控制器学习应用
由于参加全国电脑鼠走迷宫竞赛,自学LM3S微控制器,硬件平台为LM3S615,软件开发环境为IAR。熟悉了LM3S系列微控制器片内资源应用以及固件库的使用。采用LM3S615为主控制器,完成了电机驱动算法以及最优路径算法程序设计,电脑鼠能够遍历迷宫,选择最优路径。
2010/3--至今STM32(CORTEX-M3)微控制器学习应用
硬件平台为STM32F103ZE、自学STM32微控制器,STM32F103RC、STM32F107VC、STM32L151CB,软件开发环境为RealView
MDK、IAR。熟悉了STM32系列微控制器的片内资源应用以及STM32 V3.0以上版本固件库的使用,移植编写了TFT320*240、SD卡等驱动程序,了解了FatFS文件系统的使用,了解了STM32 USB固件库的使用,能够在STM32F107VC+LwIP平台下写简单的网络应用程序。用STM32为主控制器,完成了大量的电子设计竞赛类项目训练。
2009/11--2010/02C8051F,AVR单片机学习
自学C8051F、AVR单片机,硬件平台为C8051F020、C8051F410、ATMEGA128,软件开发环境为KEIL、ICCAVR。完成了基本的LED、按键、数码管、液晶等驱动程序设计,以及片内通信接口USART、I2C、SPI程序设计,片内外设AD/DA、比较器、定时器、外部中断程序设计。
2009/09--2009/10Altium Designer电路板制作学习
学习了使用Altium Designer软件设计电路板,完成了一些电源、放大电路的制作。
2009/06--2009/08STC89C52单片机学习
ARM嵌入式平台 第6篇
关键词:ARM;无线嵌入式;智能家居管理系统
中图分类号:TN915.05
本文设计的智能家居管理系统控制部分采用的是三星公司的ARM9处理器,S3C2440芯片,构建于开源操作系统Linux上。该系统的嵌入式的Web接口,使移动终端能通过Internet访问管理系统,实现对家居设备的远程监控。在室内,Zigbee模块和GPRS通信模块把传感器上的各种信号传递给ARM9处理器,实现对室内环境的监控。本文就系统总体结构设计、通信模块设计、软件设计和硬件结构设计作为论述的切入点。
1 控制系统总体结构的设计
智能家居管理系统由多种子部件组成,由其与外部的互联网络进行通信,对内部的家居设备进行监控和管理。总体结构如图所示。
2 系统通信模块的设计
系统的通信模块的可分为外部通信模块和内部通信模块。外部通信模块的核心要素是GPRS模块、互联网和终端设备,终端设备通过互联网访问主控制器的IP地址,以实现对家居设备的远程监控和管理。内部通信模块的核心要素是家居设备的控制器和信号传输设备,为了达到既环保又美化的要求,选取Zigbee作为无线传输设备,以省去布线的麻烦。
3 系统软件设计
3.1 嵌入式系统运行环境的裁剪移植
Linux操作系统的设计主要分两步进行,第一步是初始化控制系统,调用内核参数,对开发板进行U-boot移植,设置Linux系统的内核启动参数;第二部是移除Linux内核的不必要部分。
3.2 Web服务器的设计
可供选择的Web服务器有:Goahead,mini-Httpd,Appweb,Boa,Apache,Thttpd,Shttpd等。Web服务器的核心处理器能运行Web服务程序,支持TCP/IP协议,用户通过APP或浏览器就能访问Web服务器,通过相应的操作对家居设备进行远程控制。
3.3 Main函数模块的设计
Main函数模块涉及对烟感、温控、摄像头、红外传感器等智能控制端的控制,如果室内的烟雾、湿度超过了预先设定的值,Main函数模块就会发出信号,并在终端设备上反映出来;如果红外传感器监控到有非法分子的闯入,该函数模块就会发出报警信号,或者根据用户通过终端设备下发的指令进行其他的处理。
4 硬件结构设计
4.1 系统的硬件结构
本文设计的智能家居管理系统硬件结构主要有:家电门禁传感器等外围设备、Zigbee模块、GPRS模块、中央处理器S3C2440,电源模块、报警设备、LED显示设备等
4.2 Zigbee模块
Zigbee模块是家庭网关中的网络协调器,常用型号是网峰牌CC2530,其终端处理模块是关于湿度、温度、烟雾、门禁感应器及红外线传感器,负责数据的无线传输和信号的无线通信,可以是通信的起点也可以是终点,并能根据内设的应用软件采取应急措施,以维护组网安全。
4.3 GPRS通信模块
GPRS通信模块能对图像进行采集,并把图像转化为电信号发送给嵌入式系统,实现家电与网络的有效连接。设计选用GPRS通信模块的型号是M35,尺寸23.6mm×19.9mm×2.65mm,四频GSM/GPRS,具有尺寸小、工作温度范围宽、抗干扰性能强、功耗低的优势,并支持多个IP地址和Socket。GPRS通信模块能把处理后的信息发送给运动终端,确保用户能在户外对情况进行及时处理,实现对家居设备的实时监控和管理。
5 测试演示
5.1 Web登录测试
(1)将开发板和电脑用网线连接好,接好串口线。
(2)查开发板IP,在串口工具中输入命令ipconfig,设置IP,并设置电脑IP。
(3)访问网页,打开浏览器,输入網址,就可以进入登录界面。在对应的输入框键入用户名和密码,再点击进入系统,就可以正常登录。
5.2 智能家居手机ndroid操作系统
(1)搜索到开发板上无线信号并连接,配置手机的IP。
(2)使用智能家居应用软件,打开“智能家居”应用软件,设置服务器IP地址。
(3)打开手机智能家居系统界面,进入智能家居系统界面。
6 结束语
本文设计的ARM的无线嵌入式智能家居管理系统,由于采用了Zigbee无线通信模块,比传统的智能系统更加的节省材料,也更加简洁、环保;由于采用了GPRS互联网通信模块,比传统的智能系统更加贴近用户的生活,也更加的方便、快捷、智能,具有较高的应用价值。
参考文献:
[1]祝紫琴.智能家居家庭网关平台的研究与设计[D].杭州:浙江工业大学,2012.
[2]闵丽娟,卢捍华,陈玲,等.智能家居的系统结构及相关无线通信技术研究[J]计算机技术与发展,2011(08):169-172.
作者简介:揭吁菡(1979.10-),女,江西广昌人,专职教师,讲师,硕士,研究方向:计算机科学技术及智能自动化。
ARM嵌入式平台 第7篇
Java语言凭借着出色的开放性、安全性和可移植性伴随着计算机互联网飞速发展,其“一次编写,到处运行”的理念赢得无数第三方厂商的支持。在新一轮移动互联网大潮中,SUN公司针对嵌入式系统推出了J2ME平台,为Java语言在各种嵌入式设备上提供了执行平台和开发环境。
虽然Java应用程序可以“一次编写,到处运行”,但是为其提供运行平台的J2ME却与底层软硬件平台紧密相连。与桌面PC完全统一的标准架构不同,各种嵌入式设备的平台搭建千差万别,这就意味着J2ME平台的软件实现必须为不同的软硬件平台开发不同的版本。因此实现J2ME在多平台下的移植具有很强的使用价值。phoneME[1]是一个优化的Java ME架构,其核心是支持多任务的MIDP2.1规范实现。当phoneME Feature software运行多个MIDlet时,由于一个Java虚拟机实例可以执行多个应用并提供独立的运行空间,因此它只使用一个系统进程,而每个应用都好象在自己的虚拟机里面实现一样。
本文即实现J2ME在ARM嵌入式平台上的移植。以phoneME feature为基础,建立宿主机和目标板的交叉编译环境,完成相关的移植工作,并通过运行多个MIDlet应用完成了相应的测试和验证工作。
1移植概要介绍
1.1 J2ME介绍
J2ME[2]使用配置来封装虚拟机,如图1所示。配置由一个虚拟机和一组API构成,配置层上面可以有多个不同的配置文件。其中配置文件能够进一步细分某些特定设备,并定义相关的设备类库。
根据硬件的差异,J2ME的配置文件分成两类,即CLDC(Connected Limited Device Configuration)和CDC(Connected Device Configuration)。其中CLDC包括虚拟机(KVM)[3]和一组核心类库,主要针对接口简单、小内存和窄带宽的小型无线设备。基于CLDC提供了相关配置文件MIDP(Mobile Information Device Profile),MIDP定义了J2ME的软硬件框架,并提供相应的基本功能和标准接口。程序员可以基于这个框架开发出各种MIDlet应用,并且可以享受MIDP提供的一系列软件接口,包括基本I/O、图形用户接口、网络、事件机制、文件系统、应用管理系统、游戏接口、声音输出接口和安全机制等等。
1.2 系统结构
本课题要求在宿主机上实现一系列rpm包的安装,包括JDK、PCSL、CLDC和JWCS等。首先使用j2sdk-1_4_2_17-linux-i586-rpm.bin文件安装JDK;之后编辑运行一系列脚本文件,设置相应的类库路径和配置文件,注意它们之间的执行先后顺序。其次要执行J2ME模块,需要Qtopia库和Jpeg苦的支持,因此还需要对Qtopia和Jpeg库进行编译。之后为了能够在ARM开发板上执行相应的MIDlet应用,还需要相应的驱动支持,包括鼠标键盘、触摸屏和FrameBuffer驱动等等。系统结构图如图2所示。
2 移植过程
2.1 Qtopia的移植
Qtopia是由Trolltech公司基于Qt/Embedded[4]库的基础上,专门针对采用嵌入式Linux系统的消费电子设备所开发的一套应用程序包和开发库。在本系统中,Qtopia模块[5]是对phoneME移植进行准备工作的,包括图片库jpeg-install等。只有具备这些条件,后期执行移植脚本build-pcsl.sh、build-cldc.sh和build-sjwc.sh才不会出错。
2.1.1 编译Jpeg库
a. 解压
tar xvjf libjpeg-iwmmxt.tar.bz2
b. 创建目录
c. 编译生成jpeg库文件
d. 之后进入.lib目录可以看到,libjpeg.so库文件创建好了
2.1.2 编译Qtopia
a. 解压Qt相关文件
b. 在工作目录下设置如下环境变量:
编译之后可以得到相应的Qtopia文件
c. 将Qtopia和相关的库文件下载
之后解压到开发板的/mnt/yaffs目录中。并将 src/e2fs-install/lib/libuuid.so*和src/jpeg-install/lib/libjpeg.so*下载到目标机的/lib目录中。
e. 将相关的库文件下载到开发板上
编写脚本qtopia.sh并执行:
之后执行Qtopia,效果如图3所示。
2.2 phoneME的移植
2.2.1 X86-J2ME(phoneME)模块
a. 安装JDK[6,7]
#./j2sdk-1_4_2_17-linux-i586-rpm.bin
#rpm -ivh j2sdk-1_4_2_17-linux-i586.rpm
b. 编辑脚本setup.sh为实验设置基本的环境变量,试验所需要的类库。
c. 安装并运行PCSL,通过JDK_DIR变量告诉PCSL的JDK所在位置,指引PCSL目标平台及输出文件所在
d. 安装并运行CLDC
e. 安装建立Java Wireless Client Software,基于PCSL和CLDC建立MIDP。
2.2.2 ARM-Linux模块
将生成的三个文件夹(appdb、bin和lib)复制到开发板[8]上,然后运行bin/arm/usertest进行测试
开发板上环境变量配置:
其在开发板上模拟器效果如图4所示。
2.3 测试
模拟器正常运行后,将下载好的MIDlet软件即jar包进行安装、运行、卸载测试。以安装推箱子游戏为例。
2.3.1 安装MIDlet
./installMIDlet
file:////host/phoneme_on_qte_bin/phoneme_bin/bin/arm//PushBox.jar
注意文件必须是绝对路径,安装之后会出现MIDlet的ID。
2.3.2 运行MIDlet
runMIDlet 3 PushBox
这里的3就是前面安装的ID,正常的话会有图形窗口出来,推箱子游戏就能正常运行,而且当你下次运行usertest时,页面上会出现推箱子游戏图标,可以直接运行。
2.3.3 卸载MIDlet
removeMIDlet.sh 3
执行该语句,即可将推箱子游戏从J2ME平台上卸载。执行效果如图5所示。
MIDlet贪吃蛇效果图如图6所示。
3 总结
本文以phoneME这款比较流行的J2ME软件作为研究对象,详细讲述了其基于Embedded Linux的移植过程。课题以phoneME feature为基础,建立宿主机和目标板的交叉编译环境,完成相关的移植工作,并通过运行多个MIDlet应用验证了软件移植的效果。将J2ME技术和嵌入式设备相结合,具有广泛的应用前景。
参考文献
[1] Yuan M J.Enterprise J2ME:developing mobile Java applications,Prentice-Hall,Englewood Cliffs,NJ 2003
[2]杨颖,钟乐海,胡伟.J2ME的体系结构及其网络实现研究.西华师范大学:宜宾学院学报,2005;06
[3] Sun MicroSystems.KVM porting guide,Technical Report,Sun Micr-oSystems,CA,USA,September 2001
[4] QT英文参考文档.http://doc.trolltech.com/2.3/index.html,2005
[5]俞辉,李永,何旭丽.嵌入式Linux程序设计案例与实验教程.北京:机械工业出版社,2009
[6]倪洪波,谷建华,周兴社.嵌入式系统中Java虚拟机的研究与移植.计算机工程,2004;24
[7]严东华,张凯.Java虚拟机及其移植,北京理工大学学报,2002;01
ARM嵌入式平台 第8篇
1 ARM体系结构
ARM是一种RISC体系结构的处理器芯片。ARM(Advanced RISC Machines)系列微处理器,采用的ARM技术知识产权(IP)核都是由ARM公司提供的。ARM公司本身不生产芯片,转让设计许可,由合作公司生产各具特色的芯片。ARM处理器的32位体系结构目前被公认为是嵌入式应用领域领先的32位嵌入式RISC微处理器结构。从版本1到版本6,ARM体系的指令集功能不断扩大,目前最新的ARM核版本是ARMv7。
RISC的概念对ARM处理器的设计有着重大影响,ARM是最成功也是第一个商业化的RISC实例,ARM是当前使用最广泛、最成功的RISC的处理器。但是作为一种RISC处理器,ARM有自己的特点。
32位ARM体系结构完全不受地址空间的限制。而且复杂So C中通常集成了功能完善的存储器控制器,可以很容易地实现大、小端模式选择;配置Bank0(n CS0)的数据总线宽度为8位、16位或者32位;根据数据方式选择存储器地址线连接方式;支持静态存储器和动态存储器。DRAM的引入,大大减小了大容量数据存储的成本。在ARM体系结构中,所有的资源,例如存储器、控制寄存器、IO端口等都是在有效地址空间中统一编址的,方便了程序在不同芯片间的移植。
2 嵌入式Linux开发流程及关键技术
ARM处理器的特点和性能使得ARM得到众多嵌入式开发者的认可,它非常适合运行嵌入式的操作系统,而且功耗得到了很好的控制,ARM处理器占据超过50%市场份额。嵌入式Linux系统通常包含Bootloader(引导程序)、内核和文件系统三部分。Linux具有很好的跨平台性,支持很多处理器体系结构,尤其对ARM的支持比较完善。在ARM处理器上运行Linux是性价比很高的嵌入式系统开发方案。对于嵌入式Linux来说一般的开发过程是:设计目标板、建立嵌入式Linux开发环境、编写调试Bootloader、编写调试Linux内核、编写调试应用程序。调试BSPBootloader用于初始化目标板检测目标板和引导Linux内核,JTAG用于目标板开发它可以检测目标板硬件初始化目标板调试。Bootloader和JTAG比如BDI2000可以调试Linux内核原码。
对于嵌入式系统,一般只有很小的存储空间,处理器频率也较低。在嵌入式系统硬件上开发应用一般有两种办法,本文采用第二种方法。
1)用汇编语言编写简单的启动代码,然后跳转到C语言编写的应用程序,这种方法调试起来比较困难,只能通过仿真器逐步调试,开发周期较长。
2)用Bootloader加载Linux,并在Linux中开发应用程序,这种方法得到了广泛的应用,能作出很多高级的应用。但同时也有很多难点,首先在硬件受限的系统上编译应用程序是不现实的,只能采用交叉编译的办法进行,在主机完成编译后下载到目标平台运行。其次Bootloader是和硬件高度相关的,并没有一个通用的Bootloader,因此必须编写Bootloader完成板级初始化和Linux内核引导。最后Linux内核虽然有很好的可移植性,但是到目前最新的2.6版本的内核代码量非常惊人,移植到一个处理器上有一定难度。
3 网络通信程序的架构与实现
传统的Server/Client结构(如本文在做速度测试时的程序结构)需要指定服务器的IP地址才能进行通信,网络中有多台主机时,通过服务器来接收和处理客户机的连接。本文网络应用程序采用了IPMSG协议,它不需要服务器的存在,只要同一个网段的IP地址就可以进行通信。通过向广播地址发送UDP广播报文来进行用户识别和传递消息。采用IPMSG的优点是在多个用户的情况下对在线用户的处理思路清晰,而且它是轻量级的协议,实现起来相对容易,不会影响TCP/IP的性能。
由于程序采用了IPMSG协议,不需要服务器和客户机的架构,程序会自动获取本地IP地址和设置通信。端口采用多线程的方式来实现。为了方便处理IPMSG协议使程序结构清晰,设计了三个线程实现程序功能:
watchnet、id_sendfile、id_getfile。其中watchnet用于监视网络,id_sendfile用于建立TCP链接,进行文件传输,id_getfile用于接收文件。
Watchnet线程是始终在运行的,在这个线程中建立了数据报(SOCK--DGRAM)方式的socket,由ipmsgsendbcast()函数向广播地址(255.255.255.255)发送和接受IPMSG报文,在这个线程中不停地检测UDP数据,通过ipmsgswitch()函数来分辨收到的消息内容及对收到的消息的反应。对于在线的主机建立user_list的链表存放,按照用户的序号、用户的IP地址或者用户名来进行显示。
考虑到ARM端没有图形界面,因此ARM端的程序以命令行的形式实现。在输入Sendfile命令时开启发送文件线程,在这个线程中建立用于TCP连接的Socket,对指定IP的用户发送文件,发送完毕退出此线程。接收文件时建立接收文件线程id_getfile,连接发送端Socket接收文件。
本文在Linux主机端编写带有图形界面版本的程序,界面由GTK+2.0框架实现。GTK(GIMP Toolkit)是一套用于创建图形用户界面的工具包,相对快速、弹性,社群开发并且跨越多种软硬件平台,并且己经移植到多种嵌入式设备上。GTK图形库的底层构建在Xlib(Linux图形架构)上,用C语言搭配一系列Gobject(构件)来实现来创建应用程序的图形用户接口,可以用它们来构造非常丰富的用户界面。GTK本质上是面向对象的应用程序编程接口。虽然完全是用C写成的,但它是用类和回调函数的方法实现的。
界面分为用户列表框,消息发送,刷新三部分。用户列表显示在线的用户,通过刷新按钮可以重新显示。选择用户可以对选定的用户发送消息。选定用户时通过右击可以发送文件。运行于ARM端的程序收到了来自主机的消息和文件,通过串口终端显示结果,而list命令用于列出在线的机器。
摘要:ARM虽然不是性能最好的租SC处理器,但是非常适合于应用在嵌入式系统中,而且Linux对ARM有很好的支持,移植Linux到ARM平台是性价比较高的嵌入式解决方案。
关键词:ARM,Linux,网络
参考文献
[1]杜春雷.ARM体系结构与编程.清华大学出版社,2003.
ARM嵌入式平台 第9篇
关键词:嵌入式系统,移植,U-Boot,内核
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可以裁剪来适应系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机体系。随着各种微处理器功能的完善以及软件上操作系统的支持,使得嵌入式系统有了完整的体系架构[1,2,3]。
在专用的嵌入式板上运行操作系统需要利用Bootloader来引导加载内核和系统程序。Bootloader主要实现初始化硬件设备、建立内存空间的映射图,从而把嵌入式硬件和嵌入式操作系统很好地衔接起来。
U-Boot是当前比较流行、功能强大、比较有代表性的Bootloader,支持的处理器包括Powerarm(ARM7,ARM9,Srongarm,Xscale)、MIPS、X86、Motorola等系列[4,5,6]。
与目前常见的嵌入式操作系统如Vxworks,QNX,Windows CE,Palm Os等相比,嵌入式Linux操作系统以价格低廉、功能强大而且易于移植被广泛地使用到各种嵌入式设备当中。
文中主要介绍了基于at91rm9200的ARM硬件开发平台,以及U-Boot和Linux-2.6.20内核在此平台上的移植。
AT91RM9200处理器,是由Atmel公司开发的基于ARM920T内核的微处理器,带有MMU,CPU时钟最高可达240 MHz,有着丰富的标准接口、EBI接口,内部集成了静态存储控制器、SDRAM控制器、Burst Flash控制器等。SDRAM采用两片hy57v651620b芯片,组成32 bit通道,大小一共16 MB,Flash采用Intel Js28f128芯片,容量为16 MB。网络芯片采用dm9161a。系统硬件平台的原理,如图1所示。
1 U-Boot移植
对于AT91RM9200,系统上电时,通过检测BMS来选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动,如果BMS为低电平,则从片外的Flash启动[7]。在没有移植U-Boot到Flash之前,只能选择片内ROM启动。片内启动时,AT91RM9200的ROM上电之后被映射到了0x0和0x100000处,在这两个地址处都可以访问ROM。AT91RM9200的ROM固化了一个Bootloarder程序,这个Bootloader主要完成一些相应的初始化工作,并且运行Xmodem协议等待接收Loader.bin映像。Loader.bin代码可以到Atmel官方网站下载,Loader.bin主要完成的任务是通过Xmodem协议将U-Boot.bin下载到内存中直接运行。U-Boot.bin在内存中跑起来之后就可以利用U-Boot的功能把Boot.bin和U-Boot.bin写到Flash中,从而实现片外Flash启动。其中Boot.bin主要实现的任务是把Flash中的U-Boot拷贝到内存中执行。
U-Boot的源代码可以到官方网站下载。文中所用的版本是U-Boot-1.1.1,对AT91RM9200的芯片完全支持,由于具体硬件的不同,需要做一定的修改。支持AT91RM9200代码在BOARD/AT91RM9200目录下面,主要有AT91RM9200DK.c,Flash.c,U-Boot.lds,Config.mk几个文件。主要做的修改如下:
(1)修改Config.mk中的Tex_base为0x20f00000,和前面的boot地址保持一致;
(2)修改Flash.c文件,使其支持Intel JS28F128芯片。由于官方使用支持的是AMD Flash,需要在代码里添加对本系统芯片的支持。在U-Boot的代码中Strong ARM架构里的xm250,它的代码是支持Intel Flash的,可以参考相应代码实现移植;
(3)修改头文件include/Configs/AT91RM9200dk.H,主要修改的是针对SDRAM以及Flash的参数配置:将phys_sdram设置成0x20000000,这个是SDRAM的起始地址,phys_flash_sdram_size设置为0x1000000,SDRAM容量为16 MB。对于Flash,需要修改的是:Flash起始地址设置为0x10000000 (Flash挂在bank0上),phys_flash_size设置为0x1000000。扇区的总数cfg_max_flash_sect相应设置为128。
最后在Linux里安装交叉编译器,笔者用的交叉编译器的版本是2.95.3,编译代码,生成U-Boot.bin文件。U-Boot启动后显示,如图2所示。
U-Boot 1.0.0(Aug 28 2008-12:49:21)
U-Boot code:20F00000->20F13698 BSS:->20F17230
DRAM Configuration:
Bank #0:20000000 16 MB
Flash:16 MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot:0
K9Uboot>_
图2 U-Boot启动信息
2 Linux2.6.20内核移植
2.1 Linux内核版本选择
Linux内核版本更新速度非常块,现在最新的版本已发展到了2.6.26.3。与2.4内核相比,2.6内核稳定性更好、对于总线、文件系统、块设备支持、多媒体、网络安全性等方面都有了更好的支持,因此笔者选择移植功能和可靠性都比较欧成熟的Linux2.6.20版本到本系统中。Linux内核的源代码可在www.kernel.org网站上下载,Atmel官方网站上可以获取针对AT91RM9200的补丁2.6.20-AT91.patch.gz和Linux-2.6.20-exp.diff.Bz2。对Linux2.6.20源代码打上支持AT91RM9200处理器的补丁之后,内核就可以支持AT91RM9200处理器了。
2.2 交叉编译环境的建立
采用的交叉编译工具为ARM-Linux-Gcc3.4.1,这是目前比较通用支持编译2.6内核的交叉编译器,完全支持编译2.6内核,在开发平台上将交叉编译器安装好,并配置好环境变量Path=$Path:/Usr/Local/Arm/3.4.1/Bin。
2.3 解决Machine Id问题
在U-Boot的代码中,支持的AT91RM9200的Machine类型为251、262两种,这两种在Include/asm-arm/mach-types.h定义为mach_type_AT91RM9200和mach_type_AT91RM9200dk,在U-Boot中board/AT91RM9200dk/AT91RM9200dk.c中采用的是第一种,而在Linux2.6.20内核代码中arh/Arm/Math-AT91RM9200使用的类型却为AT91RM9200DK,也就是第2种。因此在启动的时候会出现Machine不匹配的问题,解决问题的办法就是更改U-Boot或者Linux内核的代码,使其Machine类型相匹配。
2.4 Nor Flash的地址安排
笔者采用的Flash为16 MB NOR Flash,为了实现层次文件系统,需要增加NOR Flash MTD驱动支持,具体地址安排,如图3所示。
图3 NOR Flash地址安排
在Dirvers/MTD/Maps/里增加AT91RM9200.c文件,作为自己的分区代码,并且编译进内核。
2.5 编译内核
首先要修改内核内核目录下MAKEFILE文件,编译器修改为安装好的交叉编译器,即Arch?=ARM和Cross_Compile =ARM-Linux-,然后运行命令make AT91RM9200DK_Defconfig,配置好内核。如果需要修改一些具体的配置,可以运行make Menuconfig命令进入如下菜单进行配置。配置好内核之后运行make Image命令,编译生成内核镜像Vmlinux,最后用Mkimage工具生成Uimage。
2.6 制作Ramdisk文件系统
Linux采用文件系统组织系统中的文件和设备,为设备和用户程序提供统一接口,因此Linux启动还需要有根文件系统。根文件系统的作用是存放各种工具、应用程序以及必须的库文件等。Ramdisk是通过计算机的内存用作设备来创建和挂在文件系统的一种驱动机制,它通常用于无盘系统。根文件系统通常包括一下目录内容:/Dev(设备目录);/Proc(Proc文件系统目录);/Etc(系统配置文件);/Sbin(系统程序的目录);/Bin(系统应用程序,通常由busybox来实现);/Lib(共享库文件);/Mnt(装在其它磁盘节点的目录);/Usr(附加应用程序的目录)。
3 结束语
ARM9作为新一代处理器有着更高的性价比、更低的功耗、执行速度更快、性能更高、应用范围更加广泛的特点;Linux以其优越的性能、源代码的开放、容易移植等特点被应用于越来越多的领域当中。基于AT91RM9200微控制器的硬件嵌入式开发平台,可以根据具体需要,应用于嵌入式教学实验以及嵌入式产品开发等多种场合中,具有广阔的发展前景。
参考文献
[1]Atmel Company.ARM920TIMBased MicrocontrollerAT91RM9200 Date Sheet[EB/OL].(2007-10-08)[2008-11-19]Http://www.atmel.com/literature.
[2]张纪坤,张小泉.嵌入式Linux系统开发技术详解(基于ARM)[M].北京:人民邮电出版社,2006.
[3]Karim Yagbmour.构建嵌入式Linux系统[M].北京:中国电力出版社,2004.
[4]辛照华,田玉敏.嵌入式Linux系统的设计与实现[J].电子科技,2008,21(5):77-79.
[5]孙天择,袁文菊,李敏.嵌入式Linux操作系统的移植[J].仪器仪表用户,2005(6):116-117.
[6]Ateml Corporation.AT91RM9200dk U-Boot Flash Pro-gramming Solutions[Z/OL].(2003-09-17)[2008-10-20]www.atmel.com.
ARM嵌入式平台 第10篇
1 嵌入式系统的介绍
嵌入式系统一般被认为是嵌入式计算机系统的简称。它面向对象、面向用户, 并且系统功耗小, 它的优点决定了它在近几年里快速地发展。它主要采用单片机和微控制器完成, 其中里面包括需求支撑硬件和硬件驱动程序、中间件以及操作系统。
嵌入式系统一般由嵌入式硬件和嵌入式软件组成, 嵌入式硬件的核心是微处理器、集成存储器以及系统专用的输入/输出设备, 嵌入式软件包括初始化代码及驱动、嵌入式操作系统和应用程序等。
2 建立在ARM-Vx Works嵌入式平台背景下检测装置的研发
Vx Works是一种嵌入式实时操作系统, 它可靠性极强, 持续发展能力好, 同时内核性能高, 用户开发环境友好, 因此它在嵌入式实时操作系统领域非常受欢迎。因此, 我们将采用Vx Works现在作为一种全新的通讯检测软件的核心组成部分, 通常都是采用ARM来充当系统的软件利用平台, 以便实现对检测装置进行设计。
Vx Works操作系统主要有以下特点:
微内核性能高。Vx Works的微内核提供了包括共享内存、信号量、消息队列和管道等广泛的任务通信机制, 具有多任务同时调度的特点, 不仅可以支持抢占式调度的形式, 也能够支持时间轮转调度形式, 同时其运行的速度也相当快, 且内核所承担的运行负荷比较小, 对外部操作可以进行及时地响应, 为系统的运行奠定了良好的基础。
具有良好的可裁剪性。开发者可以按照自己的实际操作要求, 从几个KB字节内存的深层嵌入式设计到需要更多的操作系统功能的、复杂的、高端的实时系统。
使用功能的可靠性以及实用性比较强。Vx Works具有稳定、可靠的完全优势, 并且实时性非常好, 因为其拥有高性能的实时微内核。
3 检测装置的设计与实现
3.1 软件的总体设计情况
在检测装置的软件设计是一项非常重要的工作, 设计之前一定要清楚相应的设计规定与原则, 以保证设计的效果达到预期的目的, 也是为了保证检测装置在使用时候的质量。在对检测装置进行设计之前, 我们需要对检测装置所要采用的软件开发模式以及设计原则进行确定。
对于该检测装置的设计, 我们采用瀑布式的软件开发模式, 这种模式的最大特点就是应用比较广泛, 所以嵌入式系统的主要开发模式就是该模式, 研发思路是自上而下的, 犹如瀑布一般, 由此得名。
整个过程包括:系统的需求分析、软件的需求分析、设计、编码、测试以及维护阶段。
3.2 软件的设计原则
为了使设计的检测装置系统可靠, 保证检测装置的软件质量, 我们必须制定好一些设计的目标及原则。首先检测装置的设计要遵循模块化的原则, 要将系统的每一组成部分都当做是一个模块结构。其次, 在检测系统的设计阶段, 我们要有目的有计划地把系统分解成足够小的子问题, 让复杂的问题简单化。第三, 要充分理解用户的意图, 按照人机界面设计原则进行设计。第四, 我们要将系统处理转化为多任务流程, 实行任务的划分原则。
3.3 检测装置软件的任务划分
按照任务的划分, 检测装置软件在系统启动后, 先后创建了触摸屏中断查询任务、触摸屏状态查询任务、事件响应任务、网络协议栈任务、网络驱动发送任务、功能任务等六个工作任务, 它们的功能依次分别为:响应触摸屏中断、查询状态变化、响应输入操作、调度网络协议栈接收、实现驱动层的网络报文发送、完成具体的通讯测试功能和模拟功能。
3.4 软件的具体实现
检测装置的软件模块主要分为四部分, 分别是人机交互模块、通讯模块、存储模块和功能模块。它们的作用分别为:
人机交互模块:实现基于触摸屏的控制模块和基于LCD的显示模块;
通讯模块:实现以太网和CAN总线的的驱动层和接口层软件设计;
存储模块:以基于FAT16文件系统的Nand-flash驱动程序设计为基础;
功能模块:由于各种通信检测的实现都基于航行模拟器和网络延时检测两个基本功能, 功能模块主要就是用于完成这两个功能的。
3.5 检测装置的测试
检测装置的测试主要有两个部分, 包括导航模拟器功能测试和针对综合导航显控台的通讯性能测试。其中, 通讯检测装置的功能测试主要是为了验证该通讯检测装置的导航模拟器功能、错误报文检测功能是否有效。
检测装置通过模拟各种导航设备的工作状态, 与综导显控台的各接口对接, 并且可以和综导显控系统进行信息的交换与对接, 这样就能够有效观察综导显控台的实际运行情况, 并对通讯检测效果进行实时跟踪观察, 通过这样的方式来检验这种检测装置的模拟器的实际操作功能。测试的过程一定要保证检测结果的高度准确性, 该种检测装置可以对综导显控台发送相应的导航信息, 并能够模拟各种类型的导航设备, 将所有的信息显示在LCD上, 以便清晰地观察全程动态。例如, 该种检测装置在对GPS系统的工作状态进行模拟的时候, 根据随机操作程序的运行将相关的信息通过相应的端口发挥给总台, 以便对信息进行有效的跟踪与观察。
4 总结
建立在ARM-Vx Works嵌入式平台背景下的检测装置的实现, 我们首先要对嵌入式系统进行系统性的研究, 然后对该系统进行总体性的设计, 在设计时要明确设计目标, 遵守以上所叙述的原则, 对所设计装置的系统要进行任务的划分, 便于将复杂的问题简单化。
摘要:本文将针对ARM-VxWorks嵌入式的平台的优势进行论述, 然后对建立在ARM-VxWorks嵌入式平台背景下的检测装置实现思路进行探讨。
关键词:ARM-VxWorks,嵌入式平台检测装置
参考文献
[1]周启平, 张杨.VxWorks下设备驱动程序及BSP开发指南[M].北京:中国电力出版社, 2004
[2]吴明晖, 徐睿, 黄健, 徐晨.基于ARM的嵌入式系统开发与应用[M].北京:人民邮电出版社, 2004
ARM嵌入式平台 第11篇
当前,嵌入式的技术应用越来越广发,从航天科技到民用产品,嵌入式产品的身影无处不在,而这些嵌入式产品的核心——处理器决定了产品的市场和性能。在32位嵌入式处理器市场中,ARM处理器占有很大份额。ARM不仅是一个公司、一种技术也是一种经营理念,即由ARM公司提供核心技术,只出售芯片中的IP授权,采取了别具一格的“Chipless模式”(无芯片的芯片企业),不参与生产,而是由合作厂商去生产具体的芯片和产品。
现在由于存储空间等原因,在嵌入式芯片上编程有较大的困难,选取合适的平台就显得很重要。由于Linux是开放源码的操作系统,吸引着全世界的程序员参与到发展和完善的工作中来,所以Linux保持了稳定而且卓越的性能。由于源代码可以修改、移植,Linux在嵌入式领域中的应用也越来越广。选用Linux作为平台,可以根据具体需要自由裁减源码,打造适合目标平台的环境,编写最有效率的应用程序。
可以预见,ARM与Linux在未来已经越来越壮大,在嵌入式产品市场上会占有越来越大的份额。在这种形式下,学习和研究ARM非常有必要,所以在这里介绍一下关于基于Linux系统的ARM9嵌入式系统设计的基础理论。
首先进行一下ARM开发环境的简介:
根据功能的不同,ARM应用软件的开发工具可分为编辑软件、编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等。因此,一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统及函数库的集成开发环境一般来说是必不可少的。至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。使用集成开发环境开发基于ARM的应用软件时,其中涉及的编辑、编译、汇编、链接等工作可全部在PC机上完成,调试工作则需要配合其他的模块或产品完成。目前进行ARM嵌入式系统开发常见的开发工具主要有Real View MDK、IAR EWARM、ADS1.2、WinARM等。
RealView MDK开发工具是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,支持所有基于ARM的设备,能够自动配置启动代码,集成了flash烧写模块,还具有强大的仿真模拟、性能分析等功能。
IAR Embedded Workbench for ARM是IAR System公司为ARM微处理器开发的一个集成开发环境。比较其他的ARM开发环境,IAR EWARM具有入门容易、使用方便和代码紧凑等特点。IAR EWARM中包含一个全软件的模拟程序,用户不需要任何硬件支持就可以模拟各种ARM内核、外部设备甚至中断的软件运行环境。由于ADS集成开发环境已经不再更新,因此无法支持新推出的微控制器芯片,而IAR EWARM在持续的更新环境中,因此IAR EWARM将成为越来越多的人进行嵌入式系统开发的首选开发环境。
基于ARM芯片的应用系统,多数为复杂的片上系统。在该复杂系统中,多数硬件模块都是可配置的,配置工作需要由软件预先完成。因此在用户的应用程序运行之前,需要专门的一段代码来完成系统基本的初始化工作。由于此类代码直接面对处理器内核和硬件控制器进行编程,所以一般使用汇编语言实现,这里我们称之为硬件启动程序。
在应用系统的程序设计中,如果所有的编程工作都由汇编语言来完成,其工作量巨大,并且不容易移植。由于ARM处理器的运算速度高,存储器的存取速度和存储量也很高,因此大部分编程工作可以使用c语言来实现。由此可见,c语言在ARM编程中具有非常重要的地位。
其次介绍一下ARM9嵌入式系统开发的过程:
第一,嵌入式软件开发的特点。学习嵌入式开发的过程,首先要了解嵌入式开发的特点。嵌入式系统与通用计算机在以下几个方面的差别比较明显:
一是人机交互界面,这是最大的区别,因为嵌入式系统很可能就不存在键盘,显示器等在计算机中常见的实现人机交互的设备,它所完成的事情也只能是不同的传感器的变化情况,并且按照事先规定好的过程仪式完成相应的处理任务;二是功能是有限的,嵌入式系统只能反复执行设计时已经定制好的并且在开发完成后不再变化的功能任务;三是时间的关键性和稳定性,大部分的嵌入式系统因为功能要求实时响应并且受到工作环境的影响很大,需要选择合理的硬件和保护措施,保证系统的稳定性可以正常运行。
除此之外,还要了解嵌入式软件开发具有的自身特点:
一是需要交叉的开发环境;二是引入设计方法;三是固化的程序;四是开发的难度很大。
第二,嵌入式软件开发的流程。嵌入式软件的开发因为它的开发难度大等自身特点,需要将硬件、软件、人力资源等集中起来,并进行适当的组合以实现目标应用对功能和性能的要求,而且实时性和功能一样重要。这就使嵌入式开发关注的方面更广,精准度更高。嵌入式软件开发的每个阶段都体现着嵌入式开发的特点。
一是需求分析阶段;二是设计阶段;三是生成代码阶段;四是固化阶段。
第三,嵌入式系统的调试。在进行嵌入式软件开发过程中,可以选择不同的调试方式,但应根据实际的开发需求和实际的条件进行选择,有以下几种主要的调试方式。
一是源程序模拟器方式;二是监控器方式;三是仿真器方式。
嵌入式系统的调试方法被分成不同的层次,就调试方法而言,分为硬件调试和软件调试两种。在使用硬件调试的时候,可以获得比软件调试功能更强大的调试性能,但是有的时候会价格昂贵,需要合适的开发工具。软件调试可以分为操作系统的内核调试和应用程序的调试,前者的操作比较困难,因为操作系统内核不方便增加一个调试器程序,而后者相对比较简单。
在这里我们只是对ARM9嵌入式系统做一个基础理论的讲解。嵌入式技术正在飞速发展,并期待着各种行业的深入渗透。我国具有雄厚的制造业基础,与传统的制造业结合,嵌入式系统有着巨大的市场空间。同时,基于嵌入式的应用可技术创新,将推动新产品、新产业的诞生。在新的高科技浪潮来临之际,我国正全力迎接机遇和挑战,嵌入式领域方兴未艾,Linux也越来越成熟,我们需要掌握更新的知识,实现自我价值,为祖国贡献力量!
参考文献:
[1]马忠梅,马广云,徐颖慧,等. ARM嵌入式处理器结构与应用基础(2版)[M].北京:北京航空航天大学出版社,2007.
[2]马忠梅,李善平,等. ARM&Linux嵌入式系统教程(3版)[M].北京:北京航空航天大学出版社,2014.
作者简介:刘阳(1993—),男,辽宁盘锦人,沈阳理工大学学生。
龙潜(1995—),男,江苏连云港人,沈阳理工大学学生。
ARM嵌入式系统的应用及发展 第12篇
1 嵌入式系统与ARM
嵌入式系统是指嵌入式计算机和嵌入式计算机的应用系统, 该计算机系统被嵌入到各种设备和产品的内部, 具有控制信号的功能。嵌入式系统结构紧凑、占用体积小, 可以以部件的形式安装在所控制的装置内部, 并为用户提供设备信号输出、输入控制以及设备监控功能, 实现了应用系统的高智能性, 极大地提高了设备和产品的性价比。例如在一个MP3设备其实就是一个嵌入式系统, 另外还有PC104的微型工业控制计算机而是一个典型的嵌入系统应用。那么是不是只要嵌入着微处理器就叫嵌入式系统呢, 例如电脑鼠标中的单片机。其实嵌入式系统从上世纪70年代出现到现在已经有几十年的发展历史, 该技术在不断的发展和完善中也形成了自己的标准定义:“嵌入式系统是控制、监视或者辅助装置、机器和设备运行的装置”, 这就进一步明确了嵌入式系统是一个软件和硬件的综合体, 另外也涉及到涵盖机械等附属装置。如今嵌入式系统在我们的生活和工作中无处不在, 它的核心在于处理器, 嵌入式微处理器就是嵌入式系统用到的多种处理器中的一种。嵌入式微处理器有包括4位 (相关产品:电话机、计算器、玩具、充电器等) 、8位 (相关产品:电视、空调、马达控制器等) 、16位 (相关产品:多媒体应用;手机;摄影机等) 以及32位微处理器 (电脑笔记本、路由器、汽车电子、数码相机、彩色传真等) , 不同等级的处理器有着不同的应用方向。
随着电子设备的发展和产品人性化设计理念的渗透, 设备软件设计越来越复杂, 对设备硬件方面的要求也不断提高。例如家庭使用的空调、电视等设备都需要有单独的遥控器, 那么能不能将它们合在一起呢, 这样不就更加方便了吗, 而要实现这一点就需要设备硬件方面具备功能更强大、功耗更低、性价比更高的处理器, 而32位的ARM处理器正好可以解决以上几个问题。RM处理器具有体积小、低功耗、低成本、高性能等多方面优点, 是一个32位元精简指令集 (RISC) 处理器架构, 被广泛应用于各个领域的嵌入式系统设计中, 例如消费类多媒体、教育类多媒体、嵌入控制、移动式应用以及DSP等。ARM技术被授权于读个技术厂家, 每个厂家都有各种特有的ARM技术和服务。经过近年来的发展, ARM很快成为世界性RISC标准的缔造者、引领者, 并在嵌入式系统处理器领域中稳坐霸主地位。
2 ARM产品以及相关应用
ARM的所有相关产品都采用统一的产品体系, 所以从理论上讲, 相同的ARM软件可以在所有的产品中运行。目前ARM嵌入式系统相关产品有ARM7系列产品、ARM9系列产品、ARM9E系列产品、ARM10系列产品、ARM710系列产品、ARM11系列产品等。 (1) A R M 7系列产品具有体积小、耗能低、性能高等优点, 主要有ARM7TDMI、ARM7TDMI-S以及ARM7EJ-S等产品, 多应用于移动通信。 (2) ARM9系列产品主要包括ARM9TDMI、ARM920T、A R M 9 4 0 T等产品, 其中A R M 9 T D M I的性能远远超过了ARM7TDMI, 因为它不仅配置了Thumb扩展、调试, 同时还配置了Harvard总线, 该产品多用于连网和顶置盒。ARM940T配置了内存管理和写缓冲, 具有性能高、价格低廉、耗能低等特点, 多应用于保安系统、高档打印机、笔记本、高级引擎管理等。 (3) ARM10系列产品主要有ARM1020E, 该产品具有极强的整型和浮点运算能力, 多用于高性能打印机和游戏机。 (4) ARM9E系列产品主要有ARM926EJ-S、ARM966E-S等, 该系列产品属于一种综合处理器, 具有极强的数字信号处理能力。 (5) ARM710系列产品具有价格低廉、耗能低等优点, 主要包括ARM710、ARM710T以及ARM720T等, 其配置有内部管理、JTAG以及写缓冲, 多应用于消费类多媒体、笔记本电脑以及数据通信等。 (6) ARM11系列产品是一种高性能、高效率的CPU处理器, 主要产品有ARM1176JZ (F) -S、ARM11 MPCore等, 目前该系列产品在国内的开发和应用较少。
3 ARM嵌入式系统的发展要求和趋势
如今嵌入式系统已经渗透到人们生活和工作中的任何角落, 而ARM凭借其各种优势逐渐成为嵌入式技术的代名词。随着信息技术和网络技术的快速发展, 嵌入式技术有着非常广阔的市场发展前景。嵌入式技术自从上世纪九十年代末便开始推广应用, 并在通信领域和消费品领域取得了巨大成果。信息时代的到来为嵌入式技术提供了巨大的发展契机, 同时也为各个厂家提出了挑战。首先, 嵌入式技术不仅要提供相应的软件和硬件, 还要提供软件包支持和硬件开发工具。其次, 随着电子产品结构的复杂化以及性能的不断提高, 要嵌入式技术产品也要进行功能升级。再次, 嵌入式系统经常要在极其恶劣的环境中运行, 很容易受到温度、湿度等因素的影响, 所以有必要增设防振、防水以及防电磁干扰等功能。另外, 需要通过技术优化进一步提高系统可靠性和系统执行速度。
4 结语
嵌入式系统是一个精简计算机系统, 该技术以计算机技术为依托, 强调体积、功耗以及成本等多方面因素的综合考虑。ARM是一种32位嵌入式微处理器, 具有体积小、耗能低、价格低廉、功能强等优点, 是应用于嵌入式系统的主导技术, 有着广阔的市场发展前景。
参考文献
[1]孙延岭, 赵雪飞, 张红芳, 等.基于ARM嵌入式系统的微型智能可编程控制器[J].电力系统自动化, 2010, 34 (10) :101-104.
[2]唐颖, 李玉林.基于ARM技术的新型低压电动机保护控制器设计[J].电力系统保护与控制, 2010, 38 (15) :119-122.