基于uClinux嵌入式操作系统串行接口电路设计
基于uClinux嵌入式操作系统串行接口电路设计
摘要:近年,嵌入式系统的设计被应用到越来越多的领域,但由于嵌入式操作系统的应用是与硬件设计紧密相关的,因此,根据不同的应用环境,需对uClinux内核源码进行适当的修改。文中根据实际工程设计案例,对串行接口电路的硬件设计与uClinux内核的裁剪进行了详细的描述,为uClinux操作系统在嵌入式领域的应用起到了一定的借鉴作用。
关键词:串口电路;uClinux;嵌入式系统;裁剪
中图分类号:TP368 文献标识码:A 文章编号:1009-3044(2014)13-3148-02
The Disign of Serical Circuit Based on uClinux Embedded System
HU Qing-wu, YU Ying
(Shenyang Aircraft Design and Research Institute, Shenyang 110035, China)
Abstract: Recently, embedded system is used in more and more domain, but because it is based on the hardware circuit, so uClinux kernel must be edit according to different enviroment. This paper based on the engineering case, elaborate how to design hardware and how to edit the uClinux kernel. This solution is useful for the uClinux embedded system’s engineer application.
Key words: Serial circuit; uClinux; Embedded system; Edit
根据实验任务的需要,实现上位机与下位机之间的快速数据传输,构建了以S3C4510B芯片为核心,配以存储容量为2M的Flash存储器,存储容量为16M的SDRAM寄存器,成功的将以串行接口电路为信息交换窗口的嵌入式系统应用到实际工程中。
1 硬件电路设计
1.1 Flash存储器接口电路设计
本系统选用了一片HY29LV160,其单片存储容量为2M字节,用于存放程序代码,系统上电或复位后从此处获取指令开始执行。因此,若要将Flash存储器配置到指定路径下,需在硬件设计时考虑存储器CE端、OE端、BYTE位的连接方式[1][2],本系统电路连接方式如图1所示。
图1 Flash存储器设计电路
1.2 串行接口电路设计
串口电路在本系统中用于完成最终的通信功能,由于RS-232标准所定义的高、低电平信号与本系统所选用的硬件不同,因此,在硬件设计时,选用了MAX232芯片作为电平转换器,具体硬件连接方式如图2所示。
图2 串行接口设计电路
2 针对硬件设计的uClinux内核修改
2.1 片内寄存器的修改
在hardware.h中定义了本系统的时钟频率为50 MHz:
#define fMCLK_MHz ( 50 * MHz)
通过ROM/SRAM/Flash Bank0 与DRAM/SDRAM/Bank0 ,分别定义了16位数据宽度与
32位数据宽度[3]。
# define DSR (2<<0)
# define DSD (3<<12)
2.2 cnofig.in与hardware.h文件的修改
为满足本系统所需的存储器空间,对config.in文件与hardware.h文件进行修改:
#define ROM_BASE0 ((0>16) <<10)
# define SDRAM_BASE0 ((0>>16)<<10)
#define SDRAM_NEXT0 ((0>16)<<20)
#define ROM_NEXT0 ((0>16)<<20)
2.3 Makefile文件的修改
在Makefile文件中,需要修改uClinux的运行地址,即程序开始执行的地址,也即Flash中前64K的位置。具体方式如下:
ZREALADDR=0
ZTEXTADDR=0
2.4 配置文件的修改
为了控制配置文件的显示[4]与