基于ARM和uClinux的嵌入式系统的设计和实现
发布时间:2020-08-18 07:08
【摘要】: 随着Internet的发展和后PC时代的到来,嵌入式系统成为当前IT产业的焦点之一,呈现了巨大的市场需求。具有良好的网络支持和多任务处理能力的嵌入式系统为数据通信提供了新的解决方案。 本文的主要任务是实现接口模块的网络传输功能。该任务来自于某军事预研项目中的定位与指挥系统部分。为了提高终端和接口模块之间的数据传输速度,本文采用带有完整网络支持的嵌入式系统来实现数据传输。同时为了将本次的设计成果应用于以后的项目开发中,本课题还进行了文件系统,系统实时性等多方面的改进,实现了一个通用的功能完善的嵌入式软件平台。 本文选用某S3C44B0开发板作为系统硬件平台,嵌入式操作系统选用了专门为无MMU的处理器设计的操作系统uClinux。 本文的主要工作有: 分析系统功能需求,提出系统方案设计; 构建网络传输功能所需的系统平台,完成uClinux,Blob的移植工作,并实现断电可保存的jffs2文件系统; 为了实现网络传输功能,为网络设备RTL8019AS编写驱动;同时为了增强系统的人机交互性能,本文对4x4键盘编写了驱动程序; uClinux在实时性方面的缺陷对数据的实时传送有一定影响,所以做了基于RTLinux的外部扩展的实时性的改造,并对任务切换时间进行了测试; 网络传输程序设计。首先完成了遵循定位与指挥系统中接口通信协议规定的通信数据的打包和解包。然后对比测试了TCP和UDP的传输速度。考虑到UDP协议传输的速度优势,在应用层做出了可靠性改造,经过对停等协议和滑动窗口协议的分析和比较,最终采用基于停等协议的改造方法,并完成了具体测试。
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2007
【分类号】:TP368.1;TP316
【图文】:
第一阶段的代码在 start.s 中定0000 地址开始执行的部分。这些寄存器的初始化和将 Blob 第段的 1KB 代码,剩下的部分都poline.s,被复制到 SDRAM 后,码。第二阶段最大为 63KB,单进行一些 BSS 段设置,堆栈的初上述的几个文件进行修改。在进 分 配 了 解 清 楚 。 关 于 存 储。储空间分布,图 3-3 为启动后在
对上述的几个文件进行修改。在 间 分 配 了 解 清 楚 。 关 于 存0.h 中。的存储空间分布,图 3-3 为启动后图 3-2 Flash 中的存储空间分布
图 4-1 4X4 键盘连接电路4.2.2 uCLinux 下矩阵键盘驱动程序首先定义设备文件名(DEVICE_FILE_NAME)为 kb,定义主设备号(MAJOR_NUM)为 98,因为芯片 74HC541 是通过片选信号 nGCS3 来选通的,所以定义键盘基地址为 0x06000000。在驱动程序中,定义 file_operations 中的各接入点函数:struct file_operations fops = {.open = device_open,.read = device_read,.release = device_release,};具体的 device_open,device_read ,device_release 函数在后面介绍。键盘驱动采用动态模块加载的方式。在系统加载驱动模块的时候,模块加载函数 kb_module_init()会自动调用。主要完成向系统注册字符型设备驱动程序的功
本文编号:2795910
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2007
【分类号】:TP368.1;TP316
【图文】:
第一阶段的代码在 start.s 中定0000 地址开始执行的部分。这些寄存器的初始化和将 Blob 第段的 1KB 代码,剩下的部分都poline.s,被复制到 SDRAM 后,码。第二阶段最大为 63KB,单进行一些 BSS 段设置,堆栈的初上述的几个文件进行修改。在进 分 配 了 解 清 楚 。 关 于 存 储。储空间分布,图 3-3 为启动后在
对上述的几个文件进行修改。在 间 分 配 了 解 清 楚 。 关 于 存0.h 中。的存储空间分布,图 3-3 为启动后图 3-2 Flash 中的存储空间分布
图 4-1 4X4 键盘连接电路4.2.2 uCLinux 下矩阵键盘驱动程序首先定义设备文件名(DEVICE_FILE_NAME)为 kb,定义主设备号(MAJOR_NUM)为 98,因为芯片 74HC541 是通过片选信号 nGCS3 来选通的,所以定义键盘基地址为 0x06000000。在驱动程序中,定义 file_operations 中的各接入点函数:struct file_operations fops = {.open = device_open,.read = device_read,.release = device_release,};具体的 device_open,device_read ,device_release 函数在后面介绍。键盘驱动采用动态模块加载的方式。在系统加载驱动模块的时候,模块加载函数 kb_module_init()会自动调用。主要完成向系统注册字符型设备驱动程序的功
【引证文献】
相关硕士学位论文 前10条
1 朱虹;基于S3C4510B的嵌入式路由器的研究与设计[D];西安电子科技大学;2009年
2 高倩;监护仪Linux系统的实时性研究[D];南京理工大学;2012年
3 韩锋;基于ARM-μCLinux的核地球物理数据采集系统的研究[D];成都理工大学;2008年
4 杨庆华;基于ARM与CAN总线的嵌入式系统软硬件平台的研究与实现[D];山东理工大学;2008年
5 刘永亮;基于ARM嵌入式系统的网络传输应用与研究[D];山东理工大学;2008年
6 黎芳芳;基于LPC2214的分光计离子计合并处理平台的搭建[D];中国海洋大学;2008年
7 魏天磊;嵌入式数字轨道地图数据管理平台的研究与设计[D];北京交通大学;2009年
8 田同真;基于网络的嵌入式系统远程调试技术研究[D];山东理工大学;2010年
9 文维;基于μCLinux的高频RFID手持读写器的设计与实现[D];电子科技大学;2010年
10 江兰;近程警戒雷达数据处理算法及软件设计[D];电子科技大学;2010年
本文编号:2795910
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2795910.html