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

嵌入式的LED点阵显示屏的研究与实现 第9页

更新时间:2009-6-4:  来源:毕业论文
嵌入式的LED点阵显示屏的研究与实现 第9页
uClniux同标准Linux的最大区别就在于内存管理,下面对uCllnux内存管
理同标准Li~的那内存管理部分进行比较分析。
4.4.1标准Linux使用的虚拟存储器技术
标准Linux使用虚拟存储器技术,这种技术用于提供比计算机系统中实际
使用的物理内存大得多的内存空间。使用者将感觉到好像程序可以使用非常大
的内存空间,从而使得编程人员在写程序时不用考虑计算机中的物理内存的实
际容量。
为了支持虚拟存储管理器的管理,Linux系统采用分页(pganig)的方式
来载入进程。所谓分页既是把实际的存储器分割为相同大小的段,例如每个段
1024个字节,这样1024个字节大小的段便称为一个页面(pga)e。
虚拟存储器由存储器管理机制及一个大容量的快速硬盘存储器支持。它的
实现基于局部性原理,当一个程序在运行之前,没有必要全部装入内存,而是
仅将那些当前要运行的那些部分页面或段装入内存运行(ocpy一on一wrti)e,其余
暂时留在硬盘上程序运行时如果它所要访问的页(段)已存在,则程序继续运
行,如果发现不存在的页(段),操作系统将产生一个页错误(pgaeuaf)tl,这
个错误导致操作系统把需要运行的部分加载到内存中。必要时操作系统还可以
把不需要的内存页(段)交换到磁盘上。利用这样的方式管理存储器,便可把
一个进程所需要用到的存储器以化整为零的方式,视需求分批载入,而核心程
序则凭借属于每个页面的页码来完成寻址各个存储器区段的工作。
标准Linux是针对有内存管理单元的处理器设计的。在这种处理器上,虚
拟地址被送到内存管理单元(MMU),把虚拟地址映射为物理地址。通过赋予
每个任务不同的虚拟一物理地址转换映射,支持不同任务之间的保护。地址转
换函数在每一个任务中定义,在一个任务中的虚拟地址空间映射到物理内存的
一个部分,而另一个任务的虚拟地址空间映射到物理存储器中的另外区域。计
算机的存储管理单元一般有一组寄存器来标识当前运行的进程的转换表。在当
前进程将CPU放弃给另一个进程时(一次上下文切换),内核通过指向新进程
地址转换表的指针加载这些寄存器。MMU寄存器是有特权的,只能在内核态
才能访问。这就保证了一个进程只能访问自己用户空间内的地址,而不会访问
和修改其它进程的空间。当可执行文件被加载时,加载器根据缺省的kl文件,
把程序加载到虚拟内存的一个空间,因为这个原因实际上很多程序的虚拟地址
武汉理工大学硕士学位论文
空间是相同的,但是由于转换函数不同,所以实际所处的内存区域也不同。而
对于多进程管理当处理器进行进程切换并执行一个新任务时,一个重要部分就
是为新任务切换任务转换表。
4.4.2uClinux针对S3C4510B的NOMMU的特殊处理
对于uClniux来说,其设计针对没有MMU的处理器,即uClniux不能使
用处理器的虚拟内存管理技术。uClniux仍然采用存储器的分页管理,系统在
启动时把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于没
有MMu管理,所以实际上uClniux采用实存储器管理策略(raelmemoeyr
mnagaement)。这一点影响了系统工作的很多方面。uClniux系统对于内存的
访问是直接的,(它对地址的访问不需要经过MMU,而是直接送到地址线上
输出),所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没
有保护(这实际上是很多嵌入式系统的特点),各个进程实际上共享一个运行
空间(没有独立的地址转换表)。
一个进程在执行前,系统必须为进程分配足够的连续地址空间,然后全部
载入主存储器的连续空间中。与之相对应的是标准Li~系统在分配内存时没
有必要保证实际物理存储空间是连续的,而只要保证虚存地址空间连续就可以
了。另外一个方面程序加载地址与预期(kl文件中指出的)通常都不相同,这
样:elocatoin过程就是必须的。此外磁盘交换空间也是无法使用的,系统执行
时如果缺少内存将无法通过磁盘交换来得到改善。
如果从易用性这一点来说,uClimix的内存管理是一种倒退,退回了到了
UNIX早期或是Dos系统时代。开发人员不得不参与系统的内存管理。从编译
内核开始,开发人员必须告诉系统这块开发板到底拥有多少的内存(假如你欺
骗了系统,那将在后面运行程序时受到惩罚),从而系统将在启动的初始化阶
段对内存进行分页,并且标记己使用的和未使用的内存。系统将在运行应用时
使用这些分页内存。
由于应用程序加载时必须分配连续的地址空间,而针对不同硬件平台的可
一次成块(连续地址)分配内存大小限制是不同(目前针对e3z28处理器的
uClniux是128k,而针对coldrfie处理器的系统内存则无此限制),所以开发人
员在开发应用程序时必须考虑内存的分配情况并关注应用程序需要运行空间
的大小。另外由于采用实存储器管理策略用,用户程序同内核以及其它用户程
序在一个地址空间,程序开发时要保证不侵犯其它程序的地址空间,以使得程
序不至于破坏系统的正常工作,或导致其它程序的运行异常。
武汉理工大学硕士学位论文
4.5。clin以针对点阵显示板的移植
由于嵌入式操作系统的运行是与嵌入式系统的硬件密切相关的,而硬件的
设计则会因为使用场合的不同而千差万别,因此,在uClniux内核源代码中和
硬件紧密相关的部分就应该针对特定的硬件作出适当的修改,这里就基于
S3C451OB的最小系统的设计与运行相关的部分作简单的介绍。
uCli~内核源代码中对53C4510B片内特殊功能寄存器以及其它相关硬
件信息的定义位于uClinux一smasung\Linux一2.4.x\inelude\asm一nnanommu\areh-
Samsun必adr~已h文件中,其中有几个地方值得注意:
/*defineS3C4510bCPUmasterelock*/
#defineMHz1000000
#define舰CL--KMHz(50*MHz)
#define舰CLK(MfCLK‘MHz/MHz)
#defineMCLKZ(舰CLK‘MHz/2)
以上定义了系统工作的主时钟频率为SOMHz,若用户系统的工作频率不
同,应在此处修改,若串行口采用内部时钟信号用于波特率生成,该频率同时
还与串行通信波特率有关。
/*SystemMemoyrConrtolRegister*/
#defineDSRO(2<<O)/*ROMBallkO*/
#defineDSDO(2<<12)/*RAMBanko*/
#defineDSXO(0<<20)/*EXTIOO*/
#definerEXTDBWTH(DSRO},二}DSRS}DSD01…!DSD3}DSXO}…IDSX3)
以上定义了系统存储器控制寄存器,包括对ROMS/RAM/FLASHBaxlko
数据宽度(事实上,ROMS/RAMF/ALSHBanko的数据宽度由BoszlE[卜0]决
定)的设置,对ROMS/RAMF/LASHBnakl一Banks的配置,对DRAM/SDRAM
Ballko数据宽度的设置,对DRAMS/DRAMBankl~Bakn3的配置,和对外部
Fo组的配置。若用户系统的存储器系统配置不同,应在此处修改。
之后还要做其它一些改动,包括对RO树SRA入FFLASHBanko控制寄存器
的设置,Flash容量的设置,DRAM/SDRAMBanko控制寄存器的设置,SDRAM
容量的设置等,这些设置均应该与用户系统对应。
武汉理工大学硕士学位论文
第5章ELO屏驱动模块的研制
5.1LED屏驱动原理[34]t36][37]
点阵显示主要用于发布消息、显示汉字的点阵式LED显示屏通常由若干
块LED点阵显示模块组成;用于显示的8XS单色LED显示点阵模块,每块
有64个LED;为了减少引脚且便于封装,LED显示点阵模块采用阵列形式排
布,即在行列线的交点处接有显示LED。因此,LED点阵显示模块的显示驱
动只能采用动态驱动方式,每次最多只能点亮一行LED(共阳形式LED显示
点阵模块)或一列LED(共阴形式LED显示点阵模块)。微机通过总线操作控
制来完成对每一个LED点阵显示模块内每个LED显示点的亮、暗控制操作。
以此类推,可实现整屏LED点阵的亮、暗控制,从而实现LED显示屏汉字或
图象的显示控制操作。
以一个由8个LED点阵显示模块组成的点阵显示屏为例(如图5一)l,移
位寄存器的输入端是data引脚,pules引脚接入移位寄存器的移位脉冲。点阵
显示控制板计算出显示图形的点阵码,通过控制data和pules引脚,输入某行
的数据,然后选通该行,LED显示屏将得到该行的点阵显示。这样逐行扫描,
得到整屏显示效果。以显示“A7我”的图形为例,显示的点阵码是:
/*一A一*/
Ox00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,
0x24,ox3C,0x44,0x42,0x42,oxE7,Ox00,0x00
/*一7一*/
0x00,0x00,0x00,ox7E,0x44,0x44,0x08,0x08,
ox1o,0x10,0x10,0x10,Ox10,0x10,0x00,0x00
/*~一我一*/
oxO6,0x40,0x38,0x50,Ox08,0x48,0x08,0x48,
0x08,0x40,oxF,FoxFE,0x08,ox4o,oxOS,0x48,
ox0E,0x28,Ox38,0x30,oxCS,0x20,0x08,0x50,
0x09,0x92,0x08,ox0A,Ox28,0x06,0x10,Ox02
以第20行为例,其点阵数据是“00111100000100000011100000110000”。
点阵显示控制板输出该数据和同步移位脉冲,上的移位寄存器将接收

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

嵌入式的LED点阵显示屏的研究与实现 第9页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

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