E2440]嵌入式Linux简单路由实验
- 格式:docx
- 大小:18.01 KB
- 文档页数:4
嵌入式Linux简单路由实验本实验所用硬件平台为飞凌()TE2440V2型开发板;该开发板上有两个网卡芯片,分别为CS8900和DM9000;在linux操作系统(采用2.6.12版本的内核)下两个网卡对应的设备名分别为eth0和eht1。
本实验中TE2440V2开发板作为路由器连接两个局域网:192.168.0.*和192.168.1.*,对应网关分别为192.168.0.3和192.168.1.3。
本帖隐藏的内容需要回复才可以浏览1. 配置开发板上两个网卡的IP地址:1.# ifconfig eth0 192.168.0.3 up2.# ifconfig eth0 192.168.1.3 up复制代码用ifconfig命令查看网卡信息如下:1. # ifconfig2. eth0 Link encap:Ethernet HWaddr 00:00:02:50:10:083. inet addr:192.168.0.3 Bcast:192.168.0.2554. Mask:255.255.255.05. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:16. RX packets:33310 errors:0 dropped:0 overruns:0 frame:07. TX packets:5437 errors:55 dropped:0 overruns:25 carrier:58. collisions:798 txqueuelen:10009. RX bytes:6283109 (5.9 MiB) TX bytes:3796550 (3.6 MiB)10. Interrupt:53 Base address:0x30011.12. eth1 Link encap:Ethernet HWaddr 00:12:34:56:80:4913. inet addr:192.168.1.3 Bcast:192.168.1.25514. Mask:255.255.255.015. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:116. RX packets:38618 errors:0 dropped:0 overruns:0 frame:017. TX packets:2997 errors:0 dropped:0 overruns:0 carrier:018. collisions:0 txqueuelen:100019. RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)20. Interrupt:51 Base address:0x8300复制代码2. 开启Linux内核的路由转发功能(注意1后面有空格):1.#echo 1 >/proc/sys/net/ipv4/ip_forward复制代码可通过如下命令查看路由转发是否开启,1为开启,0为关闭。
基于S3C2440和Linux的嵌入式驱动程序设计的开题报告一、题目意义S3C2440是指三星公司开发的一款嵌入式微处理器,其性能稳定、功耗低、体积小巧,因此广泛应用于各种嵌入式设备中。
而Linux是目前应用最广泛的开源操作系统之一,其优秀的稳定性和可扩展性,使其成为嵌入式设备的首选操作系统之一。
本课题旨在基于S3C2440和Linux,设计开发一种嵌入式驱动程序,以满足嵌入式设备在使用过程中对于驱动程序的需求。
二、研究内容和目标本课题研究内容主要包括以下方面:1.设计S3C2440与Linux的嵌入式开发环境,包括编译器、调试器和开发板等。
2.研究嵌入式驱动程序的设计原理,包括驱动程序框架、驱动程序接口和驱动程序逻辑等。
3.设计并实现S3C2440和Linux下的嵌入式驱动程序,包括对设备的初始化、操作、控制和数据传输等。
4.测试驱动程序的正确性和稳定性,以及对系统的性能进行优化。
本课题的研究目标是:1.设计开发一种基于S3C2440和Linux的嵌入式驱动程序,使其可以良好地与各种设备进行交互,完成设备的配置和数据传输等相关操作。
2.使得驱动程序的设计和实现更具有可重用性和可扩展性,以适应不同的应用需求。
3.保证驱动程序的稳定性和正确性,通过对系统的性能进行优化,提高系统的响应速度和效率。
三、研究方法和技术路线本课题主要采用以下研究方法和技术路线:1.文献调研法:通过查阅相关的文献,了解嵌入式驱动程序的设计原理和实现方法。
2.实验法:通过实验,测试驱动程序的性能和稳定性,并对系统进行优化。
3.程序设计法:通过程序设计,实现嵌入式驱动程序,并改进其可重用性和可扩展性。
本课题的技术路线如下:1.搭建基于S3C2440和Linux的嵌入式开发环境。
2.设计嵌入式驱动程序的框架和接口,并实现设备的初始化、操作、控制和数据传输等相关操作。
3.进行驱动程序的调试和测试,优化系统的性能和稳定性。
四、预期成果及意义本课题的预期成果包括:1.设计开发一种基于S3C2440和Linux的嵌入式驱动程序,能够满足嵌入式设备在使用过程中对于驱动程序的需求。
嵌入系统实验报告第二章嵌入式系统开发实验一、实验目的了解嵌入式系统的开发环境、内核的下载和启动过程二、实验内容与要求1、下载相应的内核,并与主机进行挂载2、编写一段独立的程序并编译3、将编译生成的可执行程序拷到NFS共享目录下,在目标板上运行该程序三、串口设置minicomA - 串行设备多数人用/dev/tty1 或/dev/ttfS1。
B - Lock 文件位置多数系统上,这应该是/usr/spool/uucp。
Linux系统则使用var/lock。
若此目录不存在,minicom将不会试图使用lock 文件。
C - Callin program若你的串口上有uugetty设备或别的什么,可能你就需要运行某个程序以把modem的cq端口切换到dialin/dialout模式。
这就是进入dialin模式所需的程序。
D - Callout program这是进入dialout模式所用的程序。
E - Bps/Par/Bits启动时的缺省参数。
四、tftp和NFS服务器架设Tftp是基于UDP协议的简单文件传输协议,目标板作为客户机。
主机安装tftp-server,作为服务器。
主目录为/tftpboot,这个目录下的文件才能被客户机下载。
NFS用于在不同机器、不同操作系统之间通过网络共享文件的服务系统。
五、实验操作1、打开终端界面,输入minicom,按enter运行,按Ctrl-A、O,进入setup菜单在Serial port setup项上修改下述设置:A——“Serial Device”,口参数的设置。
设置通信位波特率、数据位、奇偶校验位和停止位。
F——“Hardware Flow Control”、G——“Software Flow Control”,数据流的控制选择。
按“F”“G”键完成硬件软件流控制切换。
本实验系统都设置为“NO”。
配置完成后,选择“Save setup as dfl”保存配置。
在网上买了一个嵌入式板子:tq2440下面是在ubuntu8.04下烧写u-boot linux镜像文件系统开机动画所用软件 minicom dnwubuntu8.04源中有minicom安装minicom sudo apt-get install minicomdnw 的安装请参考一下链接/liu_haichang/blog/item/bb3cef1f79f9d16ef724e41d.html烧写时请注意: (此为天嵌所送光盘中的教程中所说,请仔细查看教程)1.当需要使用 USB 烧写镜像到 TQ2440 时,需要连接串口线、USB 下载线和电源线;2.当需要使用网络烧写镜像到 TQ2440 时,需要连接串口线,网线和电源线;3.当需要使用 Jtag 烧写镜像到 TQ2440 时,需要连接 Jtag 线和电源线;安装minicom后须配置minicom 请参考/xmuluna/blog/item/33faa6868977dd3f67096ef0.html如果没有串口可用USB转串口(天嵌开发板送的有USB转串口)此时的minicom配置请参考/Linux/2011-02/32640.htm然后在终端中输入 sudo minicom (此时需要超级权限)输入 1出现然后打开另一个终端输入su输入root密码如果所要烧写的u-boot在主文件夹输入dnw /home/youhomedirectory/u-boot.bin (其中youhomedirecoty为你主文件夹名称) 传输很快就会完成而minicom所在终端会出现以下信息OK到此u-boot已经写入NAND flash中了 linux镜像文件系统开机动画和这一样烧写完成后,移除usb下载线,在minicom选择 8 启动系统enjoy it!。
嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。
一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。
如有错误之处,谢请指正。
∙共享资源,欢迎转载:一、移植环境∙主机:VMWare--Fedora 9∙开发板:Mini2440--64MB Nand,Kernel:2.6.30.4∙编译器:arm-linux-gcc-4.3.2.tgz∙u-boot:u-boot-2009.08.tar.bz2二、移植步骤本次移植的功能特点包括:∙支持Nand Flash读写∙支持从Nor/Nand Flash启动∙支持CS8900或者DM9000网卡∙支持Yaffs文件系统∙支持USB下载(还未实现)1.了解u-boot主要的目录结构和启动流程,如下图。
u-boot的stage1代码通常放在cpu/xxxx/start.S文件中,他用汇编语言写成; u-boot的stage2代码通常放在lib_xxxx/board.c文件中,他用C语言写成。
各个部分的流程图如下:2. 建立自己的开发板项目并测试编译。
目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk6400,但没有2440,所以我们就在这里建立自己的开发板项目。
1)因2440和2410的资源差不多,主频和外设有点差别,所以我们就在board/samsung/下建立自己开发板的项#tar -jxvf u-boot-2009.08.tar.bz2 //解压源码#cd u-boot-2009.08/board/samsung/ //进入目录#mkdir my2440 //创建my2440文件夹2)因2440和2410的资源差不多,所以就以2410项目的代码作为模板,以后再修改3)修改u-boot跟目录下的Makefile文件。
福建师范大学协和学院本科实验报告课程名称:嵌入式系统系别:信息技术系2014级专业:通信工程班级:2班学号:************学生姓名:***2017 年6月1 日实验项目列表福建师范大学协和学院《嵌入式系统》实验报告实验日期:2017 年 2 月28 日学号:124242014080 姓名:谢志杰实验台:D1 组员姓名:谢志杰、洪剑锋实验一Linux常用命令一、实验目的1.熟悉VMware Workstation虚拟机的使用2.了解Linux系统的启动、登录及关闭方法3.学习和掌握Linux系统的常用命令二、实验环境硬件:PC机一台软件:VMware Workstation虚拟机和Linux操作系统三、实验内容及步骤1.准备工作1)登录系统:在虚拟机中启动Linux系统,启动系统后需要输入用户名和密码,这里用root用户登录,密码123456;2)启动终端:在桌面右键->选择“在终端中运行”或选择应用程序->系统工具->终端;3)在终端中执行Linux命令,就可以在这里输入Linux命令,并按回车键执行。
2.使用Linux常用命令,运行以下例子并查看结果(将运行结果截图并保存):(1)文件与目录相关命令的使用1)查询/bin目录,看一看有哪些常用的命令文件在该目录下:ll /bin2)进入/tmp目录下,新建目录myshare:cd /tmpmkdir mysharels -ld myshare3)用pwd命令查看当前所在的目录pwd4)新建testfile文件:touch testfilels -l5)设置该文件的权限模式为-rwxr-xr-x:chmod 755 testfilels -l testfile6)把该文件备份到/tmp/myshare目录下,并改名为testfile.bak:cp testfile myshare/testfile.bakls -l myshare/7)在/root目录下为该文件创建1个符号连接:ln -s /tmp/testfile /root/testfile.lnls -l /root/testfile.ln8)搜索inittab文件中含有initdefault字符串的行:cat /etc/inittab | grep initdefault(2)磁盘管理与维护命令的使用1)确认光驱对应的设备文件:ll /dev/cdromls /mnt2)挂载光盘mount /dev/cdrom /mnt3)查看挂载后的目录:ls /mnt4)卸载光盘umount /mnt(3)系统管理与设置命令的使用1)查看系统所有进程:ps -ef2)查找ssh服务守护进程的进程ID号:ps -ef |grep sshd3)假设ssh服务守护进程出现了问题,则强制杀掉该进程并再次查看:kill -9 进程ID号ps -ef |grep sshd(4)网络相关命令的使用1)显示当前网络的信息:ifconfig2)设置网卡eth0的IP地址为192.168.1.10:ifconfig eth0 192.168.1.103)禁用网卡eth0:ifconfig eth0 down4)测试本机网络的连通性:ping 127.0.0.1(5)压缩备份命令的使用1)把/tmp目录打包成tmp.tar,放到/root目录下:tar cf /root/tmp.tar /tmp/*2)把/tmp目录压缩打包成tmp.tar.gz,放到/root目录下:tar zcvf /root/tmp.tar.gz /tmp/*3)比较tmp.tar 和tmp.tar.gz的大小ls -l /root/tmp.tar /root/tmp.tar.gz4)不解包只查看压缩包tmp.tar.gz的内容:tar ztf /root/tmp.tar.gz5)解压tmp.tar.gz的内容到/tmp/myshare目录:tar zxvf /root/tmp.tar.gz -C /tmp/myshare/四、实验结果(粘贴执行结果截图)(1)(2)(3)(4)(5)五、实验小结(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论。
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。
一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。
如有错误之处,谢请指正。
一、移植环境
∙主机:VMWare--Fedora 9
∙开发板:Mini2440--64MB Nand
∙编译器:arm-linux-gcc-4.3.2
二、移植步骤
相关阅读:嵌入式Linux之我行——嵌入式数据库SQLite在2440上的移植1. 准备工作目录和解压内核源码
2. 进入内核根目录修改Makefile使之编译成ARM平台
3. 修改机器码,根据友善提供的VIVI里面的机器码是782,所以内核也要改成782才能启动
4. 修改系统平台时钟为12MHz(即:)
5. 修改Nand Flash分区。
这里只创建三个分区,其他多余的分区屏蔽掉
6. 配置内核选项
首先加载s3c24xx系列的通用配置,然后在此基础上修改
各配置选项如下。
这里只列出了要修改的项,其他的默认
配置完后将配置文件保存为.config,这样方便下次make menuconfig时默认加载上次配置过的文件
7. 交叉编译内核
如果没有任何错误,编译出来的内核在arch/arm/boot/目录下,文件zImage即是。
8. 将内核镜像文件zImage下载到Mini2440上测试
新内核2.6.30.4的使用:
64MB Nand Flash分区情况:
三、结束语
Ok,新的内核移植成功,但是现在开发板还不能正常运行,因为还有各种设备的驱动和文件系统没有移植,这些将在后续的篇章中一一讲述。
GEC2440&Linux 2.6.24内核移植实验概述:对于嵌入式linux系统来说,有各种体系结构的处理器和硬件平台,用户根据自己的需要定制的硬件平台,只要是硬件平台有一点点变化,就需要做一些移植工作,linux 内核移植是嵌入式linux系统中最常见的一项工作。
由于linux内核具备可移植性的特点,并且已经支持了很多种目标板,这样,用户很容易从中找到跟自己硬件平台类似的目标板,参考内核已经支持的目标板来进行移植工作。
linux-2.6内核已经支持S3C2440处理器的多种硬件板,由于S3C2410跟S3C2440同属于ARM920T系列芯片,且寄存器等硬件电路基本一致,我们可以参考SMDK2410参考板来移植2440开发板的内核。
实验步骤:(1)准备工作(2)修改顶层Makefile(3)修改falsh分区(4)配置编译内核一、准备工作建立工作目录,下载内核源码:linux-2.6.24.7.tar.bz2。
步骤如下:mkdir/root/build_kernelcd/root/build_kerneltar jxvf linux-2.6.24.7.tar.bz2解压后会在当前目录下生成一个linux-2.6.24.7的内核源码目录安装交叉工具链,步骤如下:mkdir/usr/local/armcd/usr/local/armtar jxvf cross-3.4.4.tar.bz2解压后会在当前目录下生成一个3.4.4的工具链目录修改环境变量,添加新工具链的路径信息,步骤如下:vi/etc/bashrc在bashrc脚本的最后一行添加工具链的路劲信息:export PATH=/usr/local/arm/3.4.4/bin:$PATH二、修改内核源码顶层Makefile修改内核目录树根下的的Makefile,指明体系结构是arm,交叉编译工具是arm-linux-。
vi Makefile找到ARCH和CROSS_COMPILE,修改ARCH?=armCROSS_COMPILE?=/usr/local/arm/3.4.4/bin/arm-linux-保存退出。
《嵌入式系统技术》实训报告1、实验目的z了解S3C2440A 外部中断的工作原理。
z掌握S3C2440A 外部中断的使用方法。
2、实验设备z PC 机、Multi-ICE 仿真器、2440A 实验箱。
3、实验内容z通过外部K1、K2、K3、K4、K5、K7 按键触发外部中断E INT1、EINT2、EINT3、EINT4、EINT5、EINT74、实验原理4.1 ARM 的异常中断类型在嵌入式系统中外部设备的功能实现主要是靠中断机制来实现的。
中断功能可以解决CPU 内部运行速度远远快于外部总线速度而产生的等待延时问题。
ARM 提供的FIQ 和IRQ 异常中断用于外部设备向C PU 请求中断服务,一般情况下都是采用I RQ 中断。
七种异常中断中断过程框图4.2 异常中断响应过程和返回过程异常中断的响应过程:1).保存处理器当前状态寄存器C PSR 的值到备份程序状态寄存器S PSR 中。
2).设置但前程序状态寄存器CPSR 的值,其中包括:设置CPSR 响应位的值,使处理器进入特定的处理器模式;按要求屏蔽中断,通常应该屏蔽I RQ 中断。
在F IQ 中断时屏蔽F IQ 中断。
3).设置L r 寄存器。
将相应中断模式的L r 寄存器的值设为异常中断的返回地址。
4).处理程序计数器PC,将PC 值设为相应的中断向量的地址,从而实现跳转以执行中断服务程序。
异常中断的返回当处理器执行完以上流程之后,处理器已经从中断向量进入异常处理的状态。
异常中断处理完毕之后,在异常中断程序的末端,处理器进入异常中断的返回状态,其流程如下:1).恢复状态寄存器。
将保存的备份程序状态寄存器SPSR 值赋给当前程序状态寄存器CPSR。
2).将返回地址赋值到程序计数器(PC)。
这样程序将返回到异常中断产生的下一条指令或出现问题的指令处执行。
需要注意的是:对于不同的异常中断,其返回地址的计算方法也是不同的,IRQ 和F IQ 异常中断产生时,程序计数器PC 已经更新,而SWI 中断和未定义指令中断时由当前指令自身产生的,程序计数器P C 尚未更新,所以要计算出下一条指令的地址来执行返回操作;指令预取指中指异常中断和数据访问中断要求,返回到出现异常的执行现场,重新执行操作。
基于S3C2440和Linux的嵌入式网络驱动程序开发的开题报告1.研究背景和意义随着互联网的快速发展和普及,嵌入式网络设备也越来越普遍。
嵌入式网络设备在工业自动化控制、智能家居、视频监控、医疗设备等领域得到广泛应用。
在这些设备中,网络通信功能是最基础、最重要的功能之一。
通过网络,用户可以远程控制、监测并且实时获取数据和视频等信息。
为了实现网络通信功能,嵌入式设备需要具备嵌入式网络驱动程序。
嵌入式网络驱动程序是连接硬件模块与操作系统之间的纽带,通过它来管理网络设备,使其可以与其他设备进行通信。
2.研究内容本文将基于S3C2440芯片和Linux操作系统,研究开发嵌入式网络驱动程序。
主要研究内容包括:1)S3C2440芯片及其开发环境的学习;2)基于Linux内核的网络协议栈及其驱动程序的学习;3)设计和实现一个简单的嵌入式网络驱动程序;4)进行实验测试和性能评估。
3.研究方法和技术路线本文将采用实验研究和系统开发的方法。
具体技术路线如下:1)学习和掌握S3C2440芯片及其开发环境,包括硬件原理、软件开发工具等。
2)深入学习Linux内核中的网络协议栈及其驱动程序。
研究Ethernet、TCP/IP等协议以及网络驱动程序的实现方法。
3)设计和实现一个简单的嵌入式网络驱动程序,包括驱动程序的架构设计、接口设计、数据结构设计等。
4)在实验室搭建实验平台,进行驱动程序的集成和测试。
同时进行性能测试和评估。
4.预期成果本文预期的主要成果包括:1)掌握S3C2440芯片及其开发环境;2)掌握Linux内核中的网络协议栈及其驱动程序;3)设计和实现一个简单的嵌入式网络驱动程序;4)完成实验测试和性能评估,获得相关数据和结论。
5.研究意义与展望本文可以为嵌入式网络驱动程序的学习和开发提供参考,为嵌入式网络设备的开发提供技术支持。
另外,通过本文的研究,可以深入理解网络协议栈和驱动程序的实现原理,为后续的研究和开发工作打下基础。
嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(二)嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。
一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。
如有错误之处,谢请指正。
•共享资源,欢迎转载:一、移植环境•主机:VMWare--Fedora 9•开发板:Mini2440--64MB Nand,Kernel:2.6.30.4•编译器:arm-linux-gcc-4.3.2.tgz•u-boot:u-boot-2009.08.tar.bz2二、移植步骤上接:u-boot-2009.08在2440上的移植详解(一)4)准备进入u-boot的第二阶段(在u-boot中添加对我们开发板上Nor Flash的支持)。
通常,在嵌入式bootloader中,有两种方式来引导启动内核:从Nor Flash启动和从Nand Flash启动。
u-boot中默认是从Nor Flash启动,再从上一节这个运行结果图中看,还发现几个问题:第一,我开发板的Nor Flash是2M的,而这里显示的是512kB;第二,出现Warning - bad CRC, using default environment的警告信息。
不是u-boot默认是从Nor Flash启动的吗?为什么会有这些错误信息呢?这是因为我们还没有添加对我们自己的Nor Flash的支持,u-boot默认的是其他型号的Nor Flash,而我们的Nor Flash的型号是SST39VF1601。
另外怎样将命令行提示符前面的SMDK2410变成我自己定义的呢?下面我们一一来解决这些问题,让u-boot完全对我们Nor Flash的支持。
首先我们修改头文件代码如下:#gedit include/configs/my2440.h //修改命令行前的名字和Nor Flash 参数部分的定义#define CONFIG_SYS_PROMPT "[MY2440]#" //将命令行前的名字改成[MY2440]/*-----------------------------------------------------------------------* FLASH and environment organization*/#if 0//注释掉下面两个类型的Nor Flash设置,因为不是我们所使用的型号#define CONFIG_AMD_LV400 1 /* uncomment this if you have a LV400flash */#define CONFIG_AMD_LV800 1 /* uncomment this if you have a LV800 flash */#endif#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */#ifdef CONFIG_AMD_LV800#define PHYS_FLASH_SIZE 0x00100000 /* 1MB */#define CONFIG_SYS_MAX_FLASH_SECT (19) /* max number of sectors on one chip */#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE +0x0F0000)/* addr of environment */#endif#ifdef CONFIG_AMD_LV400#define PHYS_FLASH_SIZE 0x00080000 /* 512KB */#define CONFIG_SYS_MAX_FLASH_SECT (11)/* max number of sectors on one chip */#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE +0x070000)/* addr of environment */#endif#define CONFIG_SST_39VF1601 1//添加mini2440开发板Nor Flash设置#define PHYS_FLASH_SIZE 0x200000//我们开发板的Nor Flash是2M#define CONFIG_SYS_MAX_FLASH_SECT (512)//根据SST39VF1601的芯片手册描述,对其进行操作有两种方式:块方式和扇区方式。
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。
一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。
如有错误之处,谢请指正。
∙共享资源,欢迎转载:一、开发环境∙主机:VMWare--Fedora 9∙开发板:Mini2440--64MB Nand, Kernel:2.6.30.4∙编译器:arm-linux-gcc-4.3.2二、背景知识1. LCD工作的硬件需求:要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。
在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/2440等。
通过LCD控制器就可以产生LCD驱动器所需要的控制信号来控制STN/TFT屏了。
2. S3C2440内部LCD控制器结构图:我们根据数据手册来描述一下这个集成在S3C2440内部的LCD控制器:a:LCD控制器由REGBANK、LCDCDMA、TIMEGEN、VIDPRCS寄存器组成;b:REGBANK由17个可编程的寄存器组和一块256*16的调色板内存组成,它们用来配置LCD控制器的;c:LCDCDMA是一个专用的DMA,它能自动地把在侦内存中的视频数据传送到LCD驱动器,通过使用这个DMA通道,视频数据在不需要CPU的干预的情况下显示在LCD屏上;d:VIDPRCS接收来自LCDCDMA的数据,将数据转换为合适的数据格式,比如说4/8位单扫,4位双扫显示模式,然后通过数据端口VD[23:0]传送视频数据到LCD驱动器;e:TIMEGEN由可编程的逻辑组成,他生成LCD驱动器需要的控制信号,比如VSYNC、HSYNC、VCLK和LEND等等,而这些控制信号又与REGBANK寄存器组中的LCDCON1/2/3/4/5的配置密切相关,通过不同的配置,TIMEGEN就能产生这些信号的不同形态,从而支持不同的LCD驱动器(即不同的STN/TFT屏)。
TE2440]嵌入式Linux简单路由实验
Linux, 路由, 嵌入式, 实验
嵌入式Linux简单路由实验
本实验所用硬件平台为飞凌()TE2440V2型开发板;该开发板上有两个网卡芯片,分别为CS8900和DM9000;在linux操作系统(采用2.6.12版本的内核)下两个网卡对应的设备名分别为eth0和eht1。
本实验中TE2440V2开发板作为路由器连接两个局域网:192.168.0.*和
192.168.1.*,对应网关分别为192.168.0.3和192.168.1.3。
本帖隐藏的内容需要回复才可以浏览
1. 配置开发板上两个网卡的IP地址:
1.# ifconfig eth0 19
2.168.0.3 up
2.# ifconfig eth0 192.168.1.3 up
复制代码
用ifconfig命令查看网卡信息如下:
1. # ifconfig
2. eth0 Link encap:Ethernet HWaddr 00:00:02:50:10:08
3. inet addr:192.168.0.3 Bcast:192.168.0.255
4. Mask:25
5.255.255.0
5. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
6. RX packets:33310 errors:0 dropped:0 overruns:0 frame:0
7. TX packets:5437 errors:55 dropped:0 overruns:25 carrier:5
8. collisions:798 txqueuelen:1000
9. RX bytes:6283109 (5.9 MiB) TX bytes:3796550 (3.6 MiB)
10. Interrupt:53 Base address:0x300
11.
12. eth1 Link encap:Ethernet HWaddr 00:12:34:56:80:49
13. inet addr:192.168.1.3 Bcast:192.168.1.255
14. Mask:255.255.255.0
15. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
16. RX packets:38618 errors:0 dropped:0 overruns:0 frame:0
17. TX packets:2997 errors:0 dropped:0 overruns:0 carrier:0
18. collisions:0 txqueuelen:1000
19. RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
20. Interrupt:51 Base address:0x8300
复制代码
2. 开启Linux内核的路由转发功能(注意1后面有空格):
1.#echo 1 >/proc/sys/net/ipv4/ip_forward
复制代码
可通过如下命令查看路由转发是否开启,1为开启,0为关闭。
1.# sysctl net.ipv4.ip_forward
.ipv4.ip_forward = 1
3.# more /proc/sys/net/ipv4/ip_forward
4. 1
复制代码
路由表不用配置,用自动生成的就可以:
1.# route
2.Kernel IP routing table
3.Destination Gateway Genmask Flags Metric Ref Use Iface
4.192.168.1.0 * 25
5.255.255.0 U 0 0 0 eth1
5.192.168.0.0 * 255.255.255.0 U 0 0 0
eth0
复制代码
3. 测试:用两个局域网内(192.168.0.*、192.168.1.*)的PC机,分别将其默认网关设置为192.168.0.3和192.168.1.3(这里对应路由器的IP地址),然后用ping命令测试。
我用的两个客户机的IP分别为192.168.0.221和192.168.1.228,测试结果如下:
1.C:\Documents and Settings\Administrator>ipconfig
2.
3.Windows IP Configuration
4.
5.Ethernet adapter 本地连接 5:
6.
7. Connection-specific DNS Suffix . :
8. IP Address. . . . . . . . . . . . : 192.168.1.228
9. Subnet Mask . . . . . . . . . . . : 255.255.255.0
10. Default Gateway . . . . . . . . . : 192.168.1.3
11.
12.C:\Documents and Settings\Administrator>ping 192.168.0.221 -l 65500
13.
14.Pinging 192.168.0.221 with 65500 bytes of data:
15.
16.Reply from 192.168.0.221: bytes=65500 time=298ms TTL=63
17.Reply from 192.168.0.221: bytes=65500 time=244ms TTL=63
18.Reply from 192.168.0.221: bytes=65500 time=230ms TTL=63
19.Reply from 192.168.0.221: bytes=65500 time=257ms TTL=63
20.
21.Ping statistics for 192.168.0.221:
22. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
23.Approximate round trip times in milli-seconds:
24. Minimum = 230ms, Maximum = 298ms, Average = 257ms
复制代码
1.C:\Documents and Settings\Administrator>ipconfig
2.
3.Windows IP Configuration
4.
5.
6.Ethernet adapter 本地连接 3:
7.
8. Connection-specific DNS Suffix . :
9. IP Address. . . . . . . . . . . . : 192.168.0.221
10. Subnet Mask . . . . . . . . . . . : 255.255.255.0
11. Default Gateway . . . . . . . . . : 192.168.0.3
12.
13.C:\Documents and Settings\Administrator>ping 192.168.1.228 -l 65500
14.
15.Pinging 192.168.1.228 with 65500 bytes of data:
16.
17.Reply from 192.168.1.228: bytes=65500 time=240ms TTL=127
18.Reply from 192.168.1.228: bytes=65500 time=263ms TTL=127
19.Reply from 192.168.1.228: bytes=65500 time=226ms TTL=127
20.Reply from 192.168.1.228: bytes=65500 time=282ms TTL=127
21.
22.Ping statistics for 192.168.1.228:
23. Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
24.Approximate round trip times in milli-seconds:
25. Minimum = 226ms, Maximum = 282ms, Average = 252ms
复制代码。