DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 233|回复: 0
打印 上一主题 下一主题

基于 ARM 和 Linux 通用工控平台设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 15:27:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
随着工控技术的进步和市场竞争的加剧,开发人员通常需要在尽可能短的时间内设计出满足用户要求的测控系统。本文针对嵌入式系统的特点,以高性价比的32位ARM嵌入式处理器AT91RM9200为硬件核心,搭建了通用工控硬件平台,在此平台上移植嵌入式Linux操作系统和图形界面开发环境MiniGUI。以此通用工控平台为基础,可以方便地构建工程应用所需的绝大部分自动测控系统。其应用无论是在性能还是在成本方面都极具竞争力,这预示着本平台具有较好的应用前景。

本工控平台在硬件上,选择ATMEL公司的AT91RM9200微处理器,并对其最小系统及外围部件进行设计,以适应当前工控现场更加丰富的技术要求,并结合工业测控Modbus协议,扩展多种通信接口,满足用户的通信需求。与此同时,选择嵌入式Linux操作系统为测控软件的开发提供了性能优良软件平台。

通用工控硬件平台设计
1 AT91RM9200微处理器最小系统构成
最小系统是保证微处理器可靠工作所必需的基本电路。基于AT91RM9200微处理器的最小嵌入式系统由微处理器AT91RM9200、电源电路、晶体振荡器电路、复位电路、JTAG接口、存储器模块、串行调试接口等电路组成。至此就具备了设计开发一款基于ARM微处理器的通用工控平台的硬件基础。



2 硬件平台外围接口电路
利用AT91RM9200丰富的内置外设,可以方便的扩展外围接口,如表2所示。

3 硬件平台用户接口
系统对外提供一个2*32针的标准3U插槽,共64针。3U插槽专门设计用于便携式应用,特别适合作为一体化的移动控制器用于工业测控、产品线、运输系统和交通控制系统的应用。

4 硬件平台结构
根据上述对AT91RM9200最小系统及各外围部件的设计,最终构成以AT91RM9200微处理器为硬件核心的通用工控硬件平台,如图1所示。




图1 通用工控平台硬件结构
通用工控软件平台设计
1 基于ARM硬件平台搭建Linux操作系统
ARM-Linux开发环境搭建
建立以嵌入式Linux为操作系统的工控平台的开发环境和在Windows下安装虚拟机Linux环境的软件的开发环境,嵌入式Linux内核编译、应用程序编译都在该虚拟机完成。为了提高开发效率,以虚拟机中安装的Linux为服务器,通过Windows客户端使用Telnet或SSH登录服务器,服务器可自由在客户端中下载必需的开发工具及软件,调试应用程序时,可以先在PC的Linux环境下进行模拟,然后通过DEBUG调试串口下载在目标平台下。这种开发环境的优点是只需要一台计算机就可以真实的模拟Linux,具体过程如图2所示。




图2 开发环境

交叉编译
交叉编译就是在一个平台上生成另一个平台上的可执行代码。所谓平台,实际上包含两个概念:体系结构及操作系统。根据上述建立的开发环境,目标平台是基于ARM体系结构的运行嵌入式Linux操作系统,而开发编译环境是基于PC中虚拟机上的Linux操作系统。若在目标平台上运行程序,则须在PC开发环境下对代码进行交叉编译以适应目标平台。

依据环境变量PREFIX,将编译好的工具链安装到指定文件夹就可以使用了。

例如,修改arm-Linux-gcc-2.95.3的环境变量为:
PATH=$PATHHOME/binPREFIX/bin:/usr/local/arm/2.95.3/bin:/sbin:/usr/sbin:
/usr/local/sbin,同时编写hello.c程序进行验证
$arm-Linux-gcc hello.c -o hello-arm
$file hello-arm
hello-arm: ELF 32-bit LSB executable, ARM, version1 (ARM), for GNU/Linux 2.0.0, dynamically linked (uses shared libs),not stripped
这表明生成的hello-arm可以在ARM平台上运行,也证明交叉编译工具链是有效并且可用的。
                                
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-9-21 19:19 , 耗时 0.082267 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表