基于TMS320DM355监控服务器设计与实现
由于DM355提供DDR接口,所以选择速度更快的DDRSDRAM作为动态存储器。Linux操作系统及应用程序的运行都在这里。当系统上电后,bootloader进行一些简单的设置之后将自己搬运到SDRAM内运行,当需要启动内核时,将内核搬运到SDRAM内运行。此后,整个内存的控制就交给了Linux内核。
6)Ethernet控制器Ethernet控制器选择DM9000,通过网络传输链路实现数据的发送与接收。
7)RS232及RS485RS232主要用于开发阶段的调试。RS485用于控制云台,镜头等。RS232和RS485采用通用的232和485芯片即可满足需要。
8)电源模块电源模块负责整个系统的供电。我们采用现成的电源模块提供云台需要的24V交流电压,镜头需要的12V直流电压,以及视频服务器需要的5V直流电压。由于DM355的核电压为1.3V,I/O电压为3.3V,DDRSDRAM的电压为1.8V,所以我们选择了TPS65021电源芯片,将输入的5V电压转换为3种不同的电压输出。此外我们对DM355的上电顺序也进行了考虑。
本设计采用嵌入式Linux操作系统作为其软件基础。系统上电后,首先运行引导程序bootloader,初始化CPU和一些I/O设备,然后将Linux内核搬运到内存中,将控制权交给内核。内核启动后,运行用户应用程序。系统的软件层次结构如图3所示。
图3系统软件层次结构
4.1.系统上电及引导程序
系统上电时,是由DM355的输入引脚BTSEL[1:0]来决定从ROM或者AEMIF启动。此设计处选择从ROM启动。此时,系统直接跳转到内部 ROM的起始地址(0X00008000)执行指令。内嵌的ROM启动代码(RBL)进行一些配置操作,然后读取BOOTCFG寄存器来决定是从 NAND、MMC/SD或者UART启动。本设计选择NAND启动。NANDflash里预先烧写好了U-boot、Linux内核以及根文件系统。 NAND启动以后,会读取bootloader的stage1部分的指令对系统进行必要的设置,然后将stage2部分的代码搬移到SDRAM中进行执行。当用户选择启动内核时,bootloader将内核从NANDflash里搬运到SDRAM,然后跳转到内核的起始地址进行执行,启动内核。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论