完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本文详细介绍了嵌入式系统各个步骤的实现方法及其功能,给出了嵌入式系统的硬件平台,研究基于ARM的μClinux的移植,并介绍了一种嵌入式工控网络系统的具体设计过程。
|
|
相关推荐
1个回答
|
|
本文详细介绍了嵌入式系统各个步骤的实现方法及其功能,给出了嵌入式系统的硬件平台,研究基于ARM的μClinux的移植,并介绍了一种嵌入式工控网络系统的具体设计过程。
1硬件平台的设计 硬件平台的搭建是嵌入式开发平台设计的首要任务,本文采用比较流行的体系结构,并选择S3C44BOX作为嵌入式处理器,然后围绕S3C44BOX进行外围器件的选型,设计了系统的硬件总体结构框图,然后以单元电路为基础,介绍了原理图设计的详细过程。 1.1系统硬件选型 嵌入式系统的核心部件是嵌入式处理器,系统硬件选型首先是选择嵌入式处理器,然后围绕该嵌入式处理器选择各种外围芯片,以实现各种扩展功能。本系统选择三星公司基于ARM7TDMI的S3C4480X微处理器。该芯片可为手持设备及一般嵌入式应用提供一个成本低廉而又功能强大的微控制器解决方案。 1.2硬件结构设计 硬件平台主要由电源电路、MCU核心电路、存储器电路、UART接口、以太网接口、USB接口、LCD接口、RTC和IIC电路、JTAG接口和系统扩展接口等单元电路组成,图1所示是一种基于S3C44BOX开发板的硬件平台结构框图。 1.3存储器电路 图2所示为S3C44BOX的地址空间分布图。S3C44BOX采用统一编址方式,256MB地址空间分成8个MemoryBANKs,其中BANK6和BANK7是DRAM空间(DRAM的控制方式与SRAM的不一样,不能混用)。 1.4以太网接口电路 RTLS019AS芯片集成了介质访问控制子层(MAC)和物理层(PHY)功能,故能与大多数通用MCU进行接口,其较高的性价比使其成为一款广泛使用的lOMbps全双工以太网控制器。 图3所示为RTL8019AS与S3C44BOX的连接图,其中三个可编程的LED输出可用于显示RTL8019AS的工作情况。 2μClinux系统的移植 在μClinux这个英文单词中,μ表示Micro,小的意思,C表示Control,控制的意思,所以,μClinux就是Micro-Control-Linux,字面上的理解就是“针对微控制领域而设计的Linux系统”。Linux是一种很受欢迎的操作系统,它与UNIX系统兼容,且开放源代码。它原本被设计为桌面系统,现在广泛应用于服务器领域。 2.1μClinux移植前的准备 移植μClinux时,首先必须在宿主机上装redhat9.0操作系统,然后在redhat9.0下建立μClinux开发环境,也可以从http://www.μClinux.org/处下载μClinux的源代码和工具包,然后进行安装。 2.2内核和文件系统编译 Linux作为一个自由软件,其内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效、更稳定的内核,就需要重新编译内核。 由于所使用的flash只有2MB,这对嵌入式Linux系统来说要求比较高,因为内核和文件系统加起来不能超过2MB,本文的研发思路就是把内核和文件系统压缩在一起,这样,系统启动的时候。内核将自动解压缩到SDRAM,然后就可以在SDRAM上运行μClinux了。 2.3内核和文件系统配置 在μClinux-Samsung目录下运行makemenueonfig后会首先出现Configuration启动界面。在Configuration启动界面中选择TargetPlal-formSelection,通常具有下面几个选项: 接下来可配置所需要的内核和文件系统。μClinux的配置分为两部分,前一部分是通常的Linux内核配置,后一部分是μClinux文件系统配置。下面先进行μClinux的内核配置,μClinux的内核配置会出现μClinux内核配置界面,可根据界面进行内核配置。 配置完这部分以后,可退出并保存,然后,系统自动进入下一部分μClinux的文件系统配置。μClinux嵌入式操作系统所能实现的应用跟这部分的配置很有关系,下面可进行μClinux的文件系统配置部分,以完成μClinux文件系统的配置。 μClinux的内核和文件系统配置好后,就可以进行内核的编译。 2.4编译步骤 编译时,可在μClinux-Samsung目录下依次运行下列9个命令:makemenueonfig,makedep,makeclean,makelib_only,makeuser_only,makerotors,makeimage,make,makeimage。 运行完以上命令后,就会在μClinux-Sam-sung的images子目录下生成三个文件,其中image.rom和image.ram是我们需要的镜像文件。image.rom是一个压缩的内核,在开发中,笔者把image.rom烧到flash中,并从flash处启动,同时把image解压到ram的Ox8000处,然后运行。image.ram是包含有调试信息的内核,可以直接用工具下载到开发板的ram中,比如用ICE直接把image.ram放到ram地址为Ox8000的地方,进行开发调试这种方式可使得开发调试更加方便。 3嵌入式工控Web服务器的实现 3.1嵌入式Web服务器的基本实现 嵌入式Web服务器可基于Socket套接字来开发,它主要由初始化模块、监听模块、请求解析模块、脚本引擎模块、输出模块和命令模块等组成,各模块之间的关系如图4所示。 μClinux下主要有三个Web服务器:httpd、thttpd和Boa。其中httpd是最简单的一个Web服务器,它的功能最弱,不支持认证,不支持CGI。thttpd和Boa都支持认证、CGI等。功能都比较齐全。其中boa是一个单任务的http服务器,源代码开放,性能比较高,占用系统资源也比较少。boa服务器在接收到请求时,不启动多个服务器进程处理多个请求,而在一个进程内处理所有服务请求。为了实现动态Web技术,可选择实现一个支持CGI的、非常适合于嵌入式系统的BoaWebServer。然后再通过CGI用C语言进行编程,就可以实现动态WEB。 3.2boaWebServer的移置 boa是一个单任务的http服务器,源代码开放、性能高。目前,μC1inux的代码中已经包含boa的源代码。在μClinux下实现Boa时,需要对Boa做一些配置和修改。boa服务器的核心文件主要有boa.conf和mime.types,本设计主要通过对boa.conf和mime.types文件进行修改来实现。 3.3编译内核 配置过程完成后,便可重新编译内核。编译时先选中Boa选项,并把编译好的内核下载到开发板,再启动μClinux,完成IP配置,启动BoaWebServer,然后就可以通过IE访问你的网页了。如果想启动μClinux时自动启动BoaWebServer,则可修改rc文件,并进入/μClinux-amsung/ven-dors/Samsung/S3C44BOX目录,再在运行脚本rc中增加如下两行: “ifconfigeth0192.168.1.10 boa-c/home/&” 修改后,重新编译内核,再下载到目标系统运行。这样,运行μClinux后,不需要配置就可以直接通过IE来访问网页了。 3.4μClinux下的CGI监控技术 通过CGI(通用网关接口)可为Web服务器提供一个执行外部程序的通道,这种服务端技术可使浏览器和服务器之间具有交互性。CGI程序属于外部程序,需要编译成可执行文件才能在服务端运行。浏览器可将用户输入的数据送到Web服务器,Web服务器再将数据用STDIN送给CGI程序。在执行CGI程序后,还会访问存储数据的一些文档,最后使用STDOUT输出HTML形式的结构文件,再经Web服务器送回浏览器,即可显示给用户。 若CGI程序是本地程序,也需要编译成可执行文件,以便在被CGI调用时运行。Web服务器将用户数据传输给CGI程序,并重定向CGI程序的输出到Web页,这样,CGI程序在处理时,再将数据封装成HTML形式发送到输出,从而在客户端看到对应的Web页。 访问者可通过CGI程序远程控制数码管(模拟工业现场的控制),并显示相应的数字。在CGI程序的编写中,每个程序的大致框架都比较类同,其CGI程序流程如图5所示,它主要是遵循HTTP协议的通讯。也包括对输入输出的读写和控制。 3.5嵌入式工业监控系统的应用 基于Internet的远程监控有代理方案和嵌入式方案两种实现方案。两种实现方案均采用三层B/S体系结构,即表示层、应用逻辑层和数据层。三层B/S体系结构可避免两层体系结构中客户端程序单独实现应用逻辑而产生的冗余;应用逻辑可在应用逻辑层上而不是在客户层上实现。由于表示层与应用逻辑相分离,因而降低了网络传送的信息量,使系统具有更高的可伸缩性、可维护性和灵活性。本文讨论的嵌入式方案的基本结构如图6所示。 4结束语 本文推出的方案对每台现场设备均配有微型嵌入式Web服务器,可负责对现场设备进行数据采集、数据存储、数据转发以及与监控主机进行数据的交互。该方案的优点是实时性强、可靠性高、现场设备的数量不受限制等。 |
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2440 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2215 浏览 5 评论
2971 浏览 3 评论
2667 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2634 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
417浏览 1评论
679浏览 0评论
749浏览 0评论
464浏览 0评论
274浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-21 12:03 , Processed in 1.006234 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号