毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

嵌入式LED显示屏控制系统应用研究 第8页

更新时间:2009-10-16:  来源:毕业论文
嵌入式LED显示屏控制系统应用研究 第8页
22
容同元件电源引脚距离小于3mm。
10.采用闭磁功率电感,降低EMI对系统影响。
信号完整性
信号完整性(Signal Integrity,简称SI)是指在信号线上的信号质量。信号完整性问题主要表
为5个方面:延迟、反射、串扰、同步切换噪声(SSO)和电磁兼容性(EMI)。信号完整性问题解决
越早,设计的效率就越高,从而可避免在电路板设计完成之后才增加端接器件。
本系统在硬件设计上主要注意如下信号完整性问题:
1.差分双绞线的电阻端接。端接电阻阻抗的选择直接影响到网络通信的传输距离和可靠性
2.SDRAM走线。由于SDRAM工作频率在90MHz,SDRAM走线要近似等长,采用蛇形
线的方式适当协调。布线尽可能短。第四章基于Linux的软件设计
23
第四章基于Linux的软件设计
4.1 Bootloader设计
4.1.1 Bootloader的设计思想
Bootloader(引导加载程序)是系统加电后运行的第一段代码。一般它只在系统启动时运行非
短的时间,但对于嵌入式系统来说,这是一个非常重要的系统组成部分。通过这段小程序可以初
化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最
调用操作系统内核准备好正确的环境。
大多数Bootloader都包含两种不同的操作模式:
启动加载(Bootloading)模式。
在这种模式下,Bootloader从目标机的某个固态存储设备上将操作系统加载到RAM中运行
个过程并没有用户的介入。这种模式是Bootloader的正常工作模式,因此在嵌入式产品发布时
Bootloader必须工作在这种模式下。
下载(Downloading)模式。
在这种模式下,目标机上的串口Bootloader通过串口或网络等通讯手段从开发主机上下载内
映像和根文件系统映像等到RAM中。然后可以再被Bootloader写到目标机上的固态存储媒质中
或者直接进行系统的引导。前一种功能通常用于第一次烧写内核与根文件系统到固态存储媒质时
者以后的系统更新时使用;后者多用于开发人员在前期的开发中。工作于这种模式下的Bootlo
通常都会向它的终端用户提供一个简单的命令行接口。
4.1.2 Bootloader的启动流程
Bootloader启动大多数分为两个阶段。
第一个阶段主要包含依赖于CPU的体系结构硬件初始化代码,通常都用汇编语言来实现。这
阶段的任务有:
基本的硬件设备初始化(屏蔽所有中断、关闭处理器内部指令/数据cache等)。
为第二阶段准备RAM空间。
如果是从某个固态存储媒质中,则复制Bootloader的第二阶段代码到RAM。
设置堆栈。
跳转到第二阶段的C程序入口点。
第二阶段通常用C语言完成,以便实现更复杂的功能,也使程序有更好的可读性和可移植性
这个阶段的任务有:
初始化本阶段要使用到的硬件设备。
检测系统内存映射。
将内核映像和根文件系统映像从Flash读到RAM。
为内核设置启动参数。
调用内核。东南大学硕士学位论文
24
4.1.3 Linux的内核调用
Bootloader调用Linux内核的方法是直接跳转到内核第一条指令处,即直接跳转到0x20008
处。在跳转时必须满足下列条件:
CPU寄存器的设置
R0为0;
R1为机器类型ID;
R2为启动参数,标记列表在RAM中的起始基地址;
CPU模式
 必须禁止中断(IRQ和FIQ);
 CPU必须设置为SVC模式;
Cache和MMU的设置
 MMU必须关闭;
 指令Cache可以打开也可以关闭;
 数据Cache必须关闭;
4.1.4 U-Boot简介
U-Boot是在PPC-Boot的基础上进化而来的一个开放源码的嵌入式BootROM程序,它支持很
处理器,比如PowerPC、MIPS、x86、ARM。目前,U-Boot源代码在sourceforge网站的社区服务
中,Internet上有一群自由开发人员对其进行文护和开发。
U-Boot有如下特点:
在线读写Flash、DOC、IDE、IIC、EEROM、RTC,其它的Bootloader根本不支持ID
DOC的在线读写。
支持串行口kermit和S-record下载代码,U-Boot本身的工具可以把ELF32格式的可执行
件转换成为S-record格式,直接从串口下载并执行。
识别二进制、ELF32、uImage格式的Image,对Linux引导有特别的支持。U-Boot对L
内核进一步封装为uImage。
单任务软件运行环境。U-Boot可以动态加载和运行独立的应用程序,这些独立的应用程
可以利用U-Boot控制台的I/O函数、内存申请和中断服务等。这些应用程序还可以在没
操作系统的情况下运行,是测试硬件系统很好的工具。
监控(minitor)命令集:读写I/O,内存,寄存器、内存、外设测试功能等。
脚本语言支持(类似BASH脚本)。
支持WatchDog、LCD logo和状态指示功能等。如果系统支持splash screen,U-BOOT启
时,会把这个图像显示到LCD上,给用户更友好的感觉。
支持MTD和文件系统。U-Boot作为一种强大的Bootloader,它不仅支持MTD,而且可
在MTD基础上实现多种文件系统,比如cramfs、fat和jffs2等。
支持中断。由于传统的Bootloader都分为stage1和stage2,所以在stage2中添加中断处
服务十分困难,比如BLOB;而U-Boot是把两个部分放到了一起,所以添加中断服务程
就很方便。
详细的开发文档。由于大多数Bootloader都是开源项目,所以文档都不是很充分。U-B
的文护人员意识到了这个问题,充分记录了开发文档,所以它的移植要比BLOB等缺少
档的Bootloader方便。第四章基于Linux的软件设计
4.2 Linux的移植
4.2.1交叉编译环境的建立
所谓交叉编译,就是在一个平台上生成另一个平台上的可执行文件。我们这里就是在x86
Linux平台上生成基于ARM体系结构的可执行文件。
首先必须有PC机的Linux环境,使用2.4内核的RedHat9作为基本的平台。
然后找到如下需要的包:
linux-2.4.21.tar.gz
patch-2.4.21-rmk2.gz
binutils-2.10.1.tar.gz
gcc-2.95.3.tar.gz
glibc-2.2.3.tar.gz
glibc-linuxthreads-2.2.3.tar.gz
值得一提的是在linux-2.4.21.tar.gz源代码上打patch-2.4.21-rmk2.gz补丁是必不可少的,它修
了源代码在arm目标架构下的一些错误,使其可以用menuconfig正确配置并最后编译成功
设置环境变量
export PROJECT=d-m
export PRJROOT=/home/dyy/${PROJECT}
export TARGET=arm-linux
export PREFIX=${PRJROOT}/tools
export TARGET_PREFIX=${PREFIX}/${TARGET}
export PATH=${PREFIX}/bin:${PATH}
其中TARGET变量由为重要,是用来定义目标处理器的类型,因为是ARM,所以为arm-lin
如果是PowerPC,则为powerpc-linux。PREFIX变量为组件配置命令脚本提供了一个指针,指向
标板工具程序将要被安装的目录。而TARGET_PREFIX变量则是目标板相关的头文件和链接库将
安装的目录。最后修改PATH变量,这样就可以使用刚安装好的工具程序。
准备build-tools目录
build-tools目录中包含用来建立工具链的各种包。使用如下命令建立:
$cd${PRJROOT}/build-tools
$mkdir build-binutils build-boot-gcc build-glibc build-gcc
设置内核头文件
内核头文件是建立工具链的第一步,这里采用的是linux-2.4.21版内核。从www.751com.cn网站下载linux-2.4.21.tar.gz,并将其存放于${PRJROOT}/kernel,并解压缩:
$tar xvzf linux-2.4.21.tar.gz
将补丁包patch-2.4.21-rmk2.gz置于${PRJROOT}/kernel下,打补丁:
$gzip–cd patch-2.4.21-rmk2.gz|patch–p1
内核源代码准备完毕后,进行配置设定:
$make ARCH=arm CROSS_COMPILE=arm-linux-menuconfig
然后建立工具链所需要的include目录,把内核头文件复制过去:
$mkdir–p${TARGET_PREFIX}/include
$cp–r include/linux/${TARGET_PREFIX}/include

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

嵌入式LED显示屏控制系统应用研究 第8页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。