【小识堂】如何运用嵌入式Linux和ARM进行远程监控的模块设... - 创龙小识堂 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4748|回复: 1

【小识堂】如何运用嵌入式Linux和ARM进行远程监控的模块设...

[复制链接]

61

主题

61

帖子

677

积分

创龙

Rank: 8Rank: 8

积分
677
发表于 2018-9-13 15:02:18 | 显示全部楼层 |阅读模式
欢迎临创龙小识堂~

        (。・∀・)ノ゙嗨,又到了我们每周一课的时间了。。。

        今天小编Jane给大家探讨一下:如何运用嵌入式Linux和ARM进行远程监控的模块设计?

       不一样的干货,喜欢的记得转载或留言哦*^-^*

如何运用嵌入式Linux和ARM
进行远程监控的模块设计?

嵌入式系统是控制、监视或者辅助装置、机器和设备运行的装置。
从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、对可靠性、成本、体积、功耗有严格要求的专用计算机系统。
系统的主要功能是通过计算机可使远程专家和相关技术人员在异地通过系统的客户器端监控多台设备的运行状态。系统在设备端的服务器端不仅仅承担一些实时检测系统状态的任务。嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。

1系统硬件设计
ARM7TDMI核心的S3C44BOX作为微处理器芯片,系统硬件框架结构图如图l所示,其电路原理图如图2所示。
1.jpg 2.jpg
1.1存储模块设计
系统的FLASH采用的是HY29LV160,容量大小为2M字节,充当S3C44BOX的程序存储器,其内部存放启动代码、uclinux内核、以太网MAC地址以及应用程序等。HY29LV160的单片存储容量为16M位(2M字节),工作电压为2.7V~3.6V,采用48脚TSOP封装或48脚FBGA封装,16位数据宽度,可以以8位(字节模式)或16位(字模式)数据宽度的方式工作。在本系统设计过程中,考虑到uclinux操作系统带应用程序的最大容量不会超过l_7MB,因此,FLASH采用大小为2MB的FLASH存储器就可以满足系统的需求。DRAM采用的是HY57V641620,用于设置程序堆栈和存放各种变量。HY57V641620存储容量为4组x16M位(8M字节),工作电压为3.3V,根据系统需求,可构建16位或32位的SDRAM存储器系统。但为充分发挥32位CPU的数据处理能力,系统采用32位的SDRAM存储器系统,共16MB的SDRAM空间。
Flash是一种创作工具,设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。Flash可以包含简单的动画、视频内容、复杂演示文稿和应用程序以及介于它们之间的任何内容。通常,使用Flash创作的各个内容单元称为应用程序,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的Flash应用程序。Flash特别适用于创建通过Internet提供的内容,因为它的文件非常小。Flash是通过广泛使用矢量图形做到这一点的。与位图图形相比,矢量图形需要的内存和存储空间小很多,因为它们是以数学公式而不是大型数据集来表示的。位图图形之所以更大,是因为图像中的每个像素都需要一组单独的数据来表示。
1.2网络接口模块设计
系统的网络接口芯片采用的是RTL8019AS。它是一款10M以太网芯片,能够为系统提供以太网的接入。RTL8019AS数据总线宽度为16位。因此设计中将IOCS16B引脚上拉。RTL8Ol9AS内部集成了两块RAM。一块16kB,地址为0x4000—7FFF;一块32字节,地址为0x0000一Ox001F。16k的RAM用作收发数据的缓冲区,一般将0x4000—0x46FF作为发送缓冲区,0x4700—0x7FFF作为接收缓冲区。RTL8019的中断输出INTO与S3C44BOX的EINTO端相连。
I0S2上拉,其它悬空,当RTL8019AS的引脚悬空时,引脚的输入状态为低电平,里面有一个100kΩ的下拉电阻,因此IOSO,IOSI,I0S3均为低电平,芯片的I/0基址是200H。片选AEN接处理器的nGCS5也就是Bank5,因此RTL8019在系统中分配的地址范围为:0xoa000000—0xoc000000。由于数据总线宽度为16位,处理器的A1连接8019的SA0,20F001是网卡滤波器,内部包含一对低通滤波器和一对隔离变压器。
2系统软件平台的构建
uclinux表示micro-controllinux.即“微控制器领域中的Linux系统”,是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。uCLinux主要是针对目标处理器没有存储管理单元MMU(MemoryManagementUnit)的嵌入式系统而设计的。它已经被成功地移植到了很多平台上。由于没有MMU,其多任务的实现需要一定技巧。
uclinux经过对标准Linux内核的改动,形成了一个高度优化的、代码紧凑的嵌入式Linux,虽然它的体积很小,但uclinux仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、对各种文件系统完备的支持,以及标准丰富的API,适合远程配置模块的建立。
系统采用GNU的套件arm-elf工具链:arm—elf-tools-20030314.sh建立对uclinux进行编译的交叉环境。将arm-elf-tools-20030314.sh拷贝到根目录,运行安装:
sharm-elf-tools-20030314.sh即可对uclinux进行编译和移植了
交叉编译成功后,在uClinux-dist/目录下产生images目录,其中包含的3个二进制文件文件image.ram,image.rom和romfs.img。


3系统软件设计
系统的软件是实现远程配置模块的核心,首先编写bootloader的过程,以优化系统在开发板上的执行,然后实现了应用程序以及设备驱动程序的开发。应用程序的开发主要是基于Socket应用程序的编写。

3.1Bootloader的设计
Bootloader的设计主要是为了在系统上电复位之后,将系统程序执行跳转到系统内核的执行地点。针对这个主要的功能,必须对微处理器的内核以及其他部分进行初始化以及其它的功能扩展,Bootloader它主要完成了以下几个过程:
(1)建立中断向量表
(2)初始化各种处理器模式
(3)引入特殊变量
(4)初始化memory
(5)代码复制
完成了系统的硬件初始化过程后,将CPU使用权交给了操作系统,从而完成了。Bootloader的最终目的。

3.2设备驱动程序开发
Linux对设备的操作Linux系统访问设备就像访问文件—样。例如打开设备使用系统调用open(),关闭设备使用系统。

广州创龙电子科技有限公司(简称“创龙”或"Tronlong®"),是国内最大的嵌入式一体化解决方案商之一,业务主要涵盖嵌入式核心板、开发套件、项目定制服务和教学设备。从2013年成立至今,作为TI、Xilinx中国官方合作伙伴,Tronlong一直专注于DSP、ARM、FPGA技术开发,拥有TI C2000/C5000/C6000/DaVinci/KeyStone/Sitara、Xilinx Spartan/Artix/Kintex/Virtex/Zynq/MPSoC等系列产品线,产品方案广泛应用于工控、电力、通信、仪器仪表、图像音视频与人工智能等行业,与近10000家国内外知名企业、研究所及高等院校保持长期密切的合作关系。

回复

使用道具 举报

0

主题

13

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2019-8-22 11:31:32 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-29 14:46 , Processed in 0.051303 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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