YC2440开发指南-utuLinux2.6.24篇-20081212
- 格式:pdf
- 大小:2.49 MB
- 文档页数:80
文章记录了作者在S3C2440开发板上实现按键点亮LED驱动开发的详细过程,还记录了一些容易出现的错误,以及怎么解决这些错误。
一、驱动开发流程Linux驱动开发不同于应用程序的开发。
驱动开发是直接和硬件打交道的,通过对硬件的操作给应用程序提供一些接口函数,使得应用程序能够“间接”的控制硬件来工作。
对于按键点亮LED的驱动开发流程如下。
二、驱动开发具体步骤1、查看开发板TQ2440底板原理图,找到按键和LED模块,如下图:图-2 按键和LED电路图从上图我们可以清楚地看到K1~K4对应的管脚是ENT1~ENT4,LED1~LED4对应的管脚是nLED_1~nLED_4.2、查看TQ2440_核心板原理图,找到对应的CPU管脚,如下图:图-3 按键和LED对应CPU管脚电路图3、查看s3c2440芯片手册,查看CPU管脚的模式,如下图从上图我们可以看出按键对应的CPU管脚GPF0~GPF4都是占两位(如:GPF0[1:0])。
按键是一种中断,要想让按键工作在中断模式下,就要设置GPF0~GPF4(GPF3除外)管脚都设置在中断模式下,即为10。
对于LED对应的CPU管脚GPB5~GPB8也是占两位。
要想让LED工作,就要让LED工作在输出模式下,即对应管脚设置为01.4、编写按键点亮LED驱动程序/*调用内核头文件,和应用程序调用的头文件不一样*/#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <asm/irq.h>#include <linux/interrupt.h>#include <asm/uaccess.h>#include <asm/arch/regs-gpio.h>#include <asm/hardware.h>#include <linux/device.h>#include <linux/poll.h>#define DEVICE_NAME "tope-buttons" //自定义驱动称为“tope-buttons”。
EMA2440 开发板用户手册V1.0英码科技有限公司(EMA)是一家从事嵌入式系统硬件、软件以及相关产品设计、制造的专业公司。
公司秉承“为客户利益而努力创新”的理念,为电子产品生产商、开发商提供专业的嵌入式技术解决方案服务。
公司的嵌入式产品涉及动漫游戏机平台、信息家电、汽车电子、移动通讯等当今涉及IT 产业嵌入式领域的新技术、新产品。
公司的研发项目组成员大部分具有硕士学历,在嵌入式系统设计领域拥有多年的经验。
通过EMA的技术与服务,您将获得:1.更低的研发成本针对具有新技术、新产品研发需求的合作伙伴,EMA将致力于新技术、新产品解决方案的研发、服务和技术升级,让合作伙伴更专注于其自身优势领域,从而帮助合作伙伴在节省大量研发成本、降低研发风险的前提下,实现产业升级和产品创新。
2.更高的品质保证EMA所拥有的资深嵌入式研发团队和完善的技术培训体系,将为合作伙伴提供专业级的、高标准的产品品质保证。
3.更优质的服务EMA以专家级的技术手段和服务诚信的敬业精神,为客户提供全方位的技术支持与产品服务,包括技术支持、技术培训、软件升级等增值服务。
4. 更快的市场响应能力EMA针对新的市场需求为客户提供新产品决策支持,并帮助客户进行快速的技术和产品实现,以更快的速度引领市场。
第一章EMA2440开发板介绍 (5)1.1 EMA2440开发板简介 (5)1.1.1 前言 (5)1.1.2EMA2440开发板外观 (5)1.1.3硬件资源特性 (6)1.1.4用户光盘资源说明 (6)1.2 硬件资源分配 (8)1.2.1 地址空间分配和片选信号定义 (8)1.2.2接口资源及按键说明 (10)1.3 linux 特性 (12)1.4 WindowsCE 特性 (12)第二章EMA2440 开发板使用 (13)2.1 EMA2440 开发板快速使用入门 (13)2.1.1 串口连接 (13)2.2 PC 端USB 驱动安装 (16)2.3 启动LINUX 和WINCE (21)2.3.1 启动LINUX (21)2.3.2 启动WINCE (23)2.4 非操作系统下的外围资源测试 (23)2.4.1 运行测试程序 (24)2.4.2 相关外围资源测试 (26)2.4.2.1 按键测试 (26)2.4.2.2 蜂鸣器测试 (27)2.4.2.3 触摸屏测试 (27)2.4.2.4 LCD 测试 (27)2.4.2.5 EEPROM 测试 (28)2.4.2.6 RTC 实时时钟测试 (28)2.4.2.7 SD 卡测试 (29)2.4.2.8 ADC 测试 (29)2.4.2.9 音频输出测试 (30)2.4.2.10 音频输入测试 (30)2.4.2.11 串口1 测试 (31)2.5 使用SJF烧写文件 (31)2.5.1 烧写BIOS到NOR Flash (31)2.5.2 烧写BIOS到NAND Flash (36)2.6 用本公司提供的BIOS烧写文件 (39)2.6.1 NAND 启动下烧写BIOS 到NAND和NOR (40)2.6.2 NOR启动下烧写BIOS 到NAND和NOR (43)第三章烧写和启动Linux (43)3.1 烧写LINUX 内核 (43)3.2 烧写根文件系统 (45)3.3 运行Linux (47)第四章烧写WINCE 和启动WINCE (49)4.1 下载WINCE (49)4.2 烧写Wince (50)4.3 启动运行WINCE (50)第一章EMA2440开发板介绍1.1 EMA2440开发板简介1.1.1 前言EMA2440 是一款低价实用的ARM9 开发板,是目前国内性价比最高的一款学习板;它采用Samsung S3C2440 为微处理器。
AT2440EVB系列开发板Linux2.6.18.2系统使用手册广州朗成电子科技有限公司avantech2005@2007-8-28目录一、光盘目录说明 (3)二、AT2440EVB-I开发板的设置 (4)三、u-boot.bin启动文件的烧写方法 (5)四、内核的自动烧写方法 (9)五、不同分辨率的触摸屏校正方法 (16)六、Linux开发环境(NFS)的快速搭建 (18)七、基于Busybox的根文件系统制作 (19)八、Linux内核的编译及烧写 (24)九、部分应用 (27)十、Linux基本知识 (29)一、光盘目录说明:1.busybox-1.6.1.tar.gz 为根文件系统的源代码2.linux-2.6.18.2.tar.gz 为内核源码包3.root.tar 为文件系统的源代码,带QT3.root_no_qt.tar.gz 为文件系统的源代码,不带QT4.opie.tar 为基于QT上的OPIE源代码5.autoflash 为我们自动烧写引导的源代码6.mkfs.jffs2、.config是系统需要使用的环境,如果你编译出来的不同,可以使用此环境文件代替你的。
7.tools 目录下的为交叉编译工具与FTP8.应用程序目录下的内容为一些应用软件,可移植到系统上使用9.烧写文件目录中有不同的分辨率内核与烧写文件,是我们标配的。
二、AT2440EVB-I开发板的设置1、UBOOT的位置AT2440EVB-I开发板的Linux2.6.18.2系统是采用u-boot.bin的引导启动方式,u-boot.bin在光盘的DVD1\AT2440EVB-I\烧写文件\uboot\目录下,包括其源代码一起,U-boot-aesop.tar.bz2 为UBOOT源代码,使用ARM-LINUX-GCC 2.95.3版本交叉编译器进行编译。
2、JTAG下载板的使用u-boot.bin文件烧写方法是使用我们配的JTAG下载板,JTAG下载板并口接到PC电脑的并口,并要安装并口驱动。
ARM9GEC2440开发板用户手册粤嵌中心广州广嵌电子科技有限公司/中心简介粤嵌中心是最早期从事嵌入式产品研发及技术培训的机构,中心拥有自己的产品研发、产品测试、课程技术培训平台,面向社会企业、高校提供技术创新、课程技术培训等一体化服务。
粤嵌中心是广东省政府为了普及嵌入式软件技术知识,提高省内外嵌入式人才的素质,满足社会对嵌入式技术应用人才的需求,面向全社会开展嵌入式相关技术系列培训课程的服务机构。
目前,粤嵌中心已形成嵌入式技术与产品解决方案、嵌入式系统评测认证、技术培训服务和电子商务平台四大业务体系,以“专业诚信、开拓创新、行业引领、齐商共赢”的中心精神为指导,努力为客户的技术创新和产品升级提供支持。
在开发板系列产品方面,GEC目前已经形成了完善的产品体系结构,包括以下四个方面:1、多样化的开发板产品:目前GEC开发板系列产品包括2410开发板、2440开发板、开发板等一系列产品,目标是向有志于从事嵌入式学习及开发的高校、学生、工程师以及企业客户提供完善的嵌入式开发平台的整体解决方案。
2、严谨的产品评测过程:本中心设立了专门的嵌入式产品评测团队,拥有完善的评测设备,保证每个出厂产品都经过严谨的评测过程,从而保证了产品的质量。
3、完善的售后服务:开发板产品出现质量问题10天包换,12个月免费保修。
保修时间之长堪称国内之最。
4、强大的技术支持:本中心拥有雄厚的技术研发团队,拥有强大的技术研发力量,技术领域涉及到嵌入式开发的各个方面,为开发板客户提供全面的技术支持。
目录中心简介 (2)目录 (3)第一章GEC2440V1.0开发板介绍 (4)1.1GEC2440开发板布局 (4)1.2GEC2440开发板实物图 (4)1.3、选配模块 (5)1.4GEC2440开发板硬件构成 (6)1.5硬件资源分配 (7)1.5.1地址空间分配以及片选信号定义 (7)1.5.2接口资源及按键说明 (8)1.6开发板开发套件包含的内容 (10)1.7操作系统支持的驱动 (10)第二章粤嵌GEC2440开发板使用 (13)2.1GEC2440开发板快速使用入门 (13)2.1.1串口连接 (13)2.1.2PC端USB驱动安装 (14)2.2启动LINUX和WINCE (14)2.2.1启动LINUX (14)2.2.2启动WINCE (15)2.3GEC2440的BIOS功能说明 (16)2.4非操作系统下的外围资源测试 (17)2.4.1运行测试程序 (17)2.4.2相关外围资源测试 (19)2.6用SJF2440工具将BIOS烧写到FLASH (26)第三章烧写和启动linux (29)3.1烧写LINUX内核 (29)3.2烧写根文件系统 (30)3.3启动LINUX (31)3.3.1通过BIOS的3号功能启动LINUX (31)3.3.2LINUX的自启动 (32)第四章烧写WINCE和启动WINCE (34)4.1下载运行WINCE (34)4.2烧写WINCE (35)4.3自启动WINCE (35)第一章GEC2440V1.0开发板介绍1.1GEC2440开发板布局1.2GEC2440开发板实物图1.3、选配模块1蓝牙模块选配,实现数据图象等文件的传输,1Mbps 传输速率,USB 1.1总线,支持蓝牙1.1(兼容1.2)版本协议,2.4GHz-2.4835GHz 频谱带宽。
阳初2440开发板使用说明书2008‐3‐20目录第一章 开发板的介绍 (6)1.1开发板简介 (6)1.1.1硬件资源特性 (6)1.1.2用户光盘资源说明 (7)1.2 Linux特性 (7)1.3开发套件配件清单 (8)第二章 开发板使用说明 (8)2.1 开发板设置及连接 (9)2.1.1 开发板外部接口连接 (9)2.1.2 设置超级终端(主机PC) (9)2.2 开发板BIOS功能及使用说明 (12)2.2.1 开机进入BIOS模式 (13)2.2.2 安装USB驱动 (14)2.2.3 vivi子菜单功能说明 (14)2.3 预装linux系统的功能简介 (14)2.3.1 设置开发板网络 (15)2.3.2 如何中止程序的运行 (15)2.3.3 挂载USB闪存盘(U盘) (16)2.3.4 使用SD卡 (17)2.3.5 如何通过串口与PC互相传送文件 (17)2.3.6 串口2 的测试 (19)2.3.7 使用ftp传递文件 (21)2.3.8 设置并保存系统实时时钟 (26)2.3.9 如何掉电保存数据到Flash (26)2.3.10 使用telnet登陆开发板 (26)2.3.11 如何设置开机自动运行程序 (27)第三章 安装嵌入式系统 (28)3.1安装启动程序 (28)3.1.1在PC上安装JTAG下载线的驱动程序 (29)3.1.2烧写Bootloader (35)3.2串口安装Linux (36)3.2.1分区并格式化闪存 (36)3.2.2下载Bootloader (37)3.2.3下载Linux的内核映象 (39)3.2.4下载文件系统映象 (40)3.2.5启动Linux系统 (41)3.3 tftp安装linux (41)3.3.1 启动TFTP服务器 (41)3.3.2 网络设置 (43)3.3.3 下载内核映象以及文件系统 (45)3.4安装WinCE系统 (47)3.4.1下载WindowsCE启动程序 (47)3.4.2下载WindowsCE映象 (49)3.4.3启动WindowsCE (54)第四章 ADS1.2 集成开发环境的使用 (54)4.1 使用ADS创建LED工程 (54)4.1.1 建立一个工程 (54)4.1.2 编译和链接工程 (58)4.2 下载和运行 (65)第五章 建立linux开发环境 (66)5.1 linux发行版本介绍 (66)5.2 完全图解安装Redhat9.0 (70)5.2.1用grub引导双操作系统 (70)5.2.2使用vmware虚拟机 (74)5.3 配置minicom终端通讯工具 (75)5.4 配置网络文件系统NFS服务 (77)5.5 通过NFS启动系统 (78)5.6 配置PC机Linux的ftp服务 (78)5.7 配置PC机的telnet服务 (79)第六章 嵌入式linux系统架构介绍 (80)6.1 Bootloader,内核镜像,文件系统 (80)6.2 Bootloader介绍 (81)6.3 内核 (82)6.4 文件系统 (82)6.4.1嵌入式系统存储设备及其管理机制分析 (82)6.4.2基于Flash的文件系统 (84)第七章 配置和编译linux (85)7.1 交叉编译环境 (85)7.1.1 交叉编译环境介绍 (85)7.1.2建立交叉编译环境 (86)7.2 bootloader (88)7.2.1编译bootloader (88)7.2.2 使用VIVI命令 (90)7.3 使用缺省配置文件编译内核 (92)7.3.1 解压内核源代码 (92)7.3.2 装载缺省配置文件 (93)7.3.3 编译内核 (96)7.4 定制linux内核 (99)7.4.1 如何配置CPU选项 (99)7.4.2 如何配置USB鼠标和键盘 (100)7.4.3 如何配置优盘的支持 (102)7.4.4 如何配置CS8900 网卡驱动 (103)7.4.5 如何配置声卡驱动 (105)7.4.6 如何配置串口驱动 (106)7.4.7 如何配置RTC实时时钟驱动 (108)7.4.8 如何配置yaffs文件系统的支持 (109)7.4.9 如何配置EXT2/VFAT/ NFS等文件系统 (110)7.5 根文件系统的制作 (112)7.5.1 根文件系统的构成 (112)7.5.2 构建根文件系统 (112)7.5.3 Yaffs根文件系统映像的制作 (114)7.5.4 Qtopia文件系统映象 (116)第八章 为目标板编写linux应用程序 (118)8.1 编辑编译示例程序 (118)8.2 如何把编译好的程序下载到开发板运行 (121)8.2.1 使用优盘 (121)8.2.2 通过串口传送文件到开发板 (123)8.2.3 通过网络文件系统NFS执行 (124)8.2.4 通过ftp下载文件执行 (126)8.3 程序驱动开发实验 (128)8.3.1 编辑编译LED灯驱动程序 (128)8.3.2 用ftp下载LED灯驱动程序 (129)8.3.3 运行LED灯驱动程序 (132)第九章 配置和编译Wince (134)9.1 安装开发环境Platform Builder 4.2 (134)9.2 Wince Image 生成简要说明 (139)9.2.1 解压缩文件 (139)9.2.2 导入CEC文件 (139)9.2.3 Image编译过程 (142)9.3 烧写Wince系统 (146)附录1 linux命令初步 (146)1.1文件列表 (146)1.2目录切换 (146)1.3复制 (147)1.4删除 (147)1.5移动 (147)1.6比较 (147)1.7回显 (147)1.8容量查看 (147)1.9文件内容查看 (147)1.10分页查看 (147)1.11时间日期 (147)1.12查找 (148)1.13搜索 (148)1.14设置环境变量 (148)1.15编辑 (148)1.16压缩与解压 (148)1.17挂接 (148)1.18启动信息显示 (148)1.19改变文件权限 (148)1.20创建节点 (148)1.21进程查看 (149)1.22杀死进程 (149)1.23设置环境变量 (149)1.24启动信息显示 (149)1.25网络设置命令 (149)1.26设置网关 (149)1.27测试网络联通 (150)1.28路由检测 (150)附录2 硬件地址空间分配 (150)2.1 地址空间分配和片选信号定义 (150)2.2 跳线说明 (151)附录3 推荐网站和下载资源 (153)3.1图书 (153)3.2网站 (156)3.2.1大陆资源 (156)3.2.2台湾资源 (157)第一章 开发板的介绍1.1开发板简介1.1.1硬件资源特性阳初2440 开发板由核心板和底板构成,更加方便客户做二次开发使用,在光盘中提供有底板的PCB 图,更利于客户出板。
utu2440-F 开发套件硬件手册前言欢迎使用北京扬创科技有限公司提供utu2440-F开发套件!!使用建议:1. 使用开发板之前,请务必首先阅读本说明书;2. 如果您需要在Linux操作系统下进行设计开发,除本文档外,还需参考另一篇文档-《YC2440开发指南-utuLinux篇》。
4. 如果您需要在WinCE下进行设计开发,除本文档外,还需参考另一篇说明文档-《YC2440开发指南-WINCE篇》。
一、系统组成1.1 开发板外观及硬件资源1.2 utu2440-F核心板封装示意图:管脚定义请查看原理图。
utu2440-F-Core核心板采用6层板工艺,具有极佳的电气性能和抗干扰性能,核心板的外边缘尺寸也仅有:65mm×45mm,外扩了168pin管脚,充分扩展了S3C2440 CPU的硬件资源,将能用的管脚都引出来了,非常合适用户自己根据产品的需求,扩展一个符合自己产品需求的产品扩展板。
该核心板接收批量订购,价格面议,欢迎来电咨询。
1.3 utu2440-F开发板硬件资源(1)S3C2440A:32bit ARM920T内核,标称工作频率:400MHz(2)系统时钟:内部PLL产生400MHz CPU内核工作频率,外部总线频率:100~133MHz(3)LCD控制器:CPU内置STN/CSTN/TFT LCD控制器,支持1024*768分辨率以下的各种液晶(4)触摸屏控制器:CPU内置4线制电阻式触摸屏控制器(5)10MHz 以太网控制器(6)1通道5线制串口,2通道3线制串口(7)1通道USB1.1 主机接口,可接usb hub,扩充多个usb主口(8)1通道USB1.1设备接口(9)SD/MMC卡接口(10)音频输入输出接口(12)LCD接口,可接3.5寸/7寸/4.3寸/2.8寸/10寸等等尺寸TFT真彩液晶屏(13)专用复位电路(16)触摸屏控制器(17)RTC实时时钟及大容量后备锂电池(18)标准20pin JTAG调试接口(20)4只自定义功能LED指示灯(21)电源指示灯(22)6只自定义按键,用户可以组合为“上”“下”“左”“右”“确认”“取消”6个常见功能键(23)电源开关(24)复位按键(29)SPI接口(31)标准配置64MBytes Nand-Flash(32)标准配置64MBtyes SDRAM详细的各个部件接口定义参见utu2440-F开发套件配套的原理图。
uboot在2440上移植(一)-xgc94418297的日志-网易博客uboot在2440上移植(一) - xgc94418297的日志 - 网易博客以前一直在用vivi,很精简很方便,源码很好懂,想改什么就改什么,但是功能差了点,所以移植个uboot来跑跑,uboot很好很强大,但是想搞清它的机制有点困难,先移植个最简单的试试,还没有增加对yaffs的支持和usb下载,遇到一些小问题也都解决了。
我用的2440开发板,取名为TX2440。
解压U-BOOT-1.1.6,进入U-BOOT目录,修改Makefile:在smdk2410_config : unconfig@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0加上TX2440_config : unconfig@$(MKCONFIG) $(@:_config=) arm arm920t TX2440 NULL s3c24x0各项的意思如下:arm: CPU的架构(ARCH)arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。
TX2440: 开发板的型号(BOARD),对应于board/TX2440目录。
NULL: 开发者/或经销商(vender)。
s3c24x0: 片上系统(SOC)。
在第128行:ifeq ($(ARCH),arm)CROSS_COMPILE = arm-linux-指定交叉编译器,我使用的是3.4.1,这里也可以写绝对路径修改完Makefile后,在board目录下,新建自己的开发板目录TX2440,把smdk2410目录下的所有文件拷到TX2440,把smdk2410.c改为TX2440.c。
修改该目录下的Makefile,把smdk2410.o改为TX2410.o。
COBJS := TX2440.o flash.o将board目录下所有文件夹全部删除,只留TX2440在include/configs目录下创建板子的配置头文件,把smdk2410.h改名为TX2440.h,再把所有的文件全部删除,只留TX2440.h测试能否编译成功:执行make TX2440_config出现make: execvp: …………/mkconfig: 权限不够查看mkconfig的权限,发现没有可执行权限,用chmod 764 mkconfig加上权限然后再make,成功后可出现 Configuring for TX2440 board.....修改SDRAM配置,在board/TX2440/lowlevel_init.S中,检查#define B6_BWSCON (DW32)位宽为32把B1_BWSCON 改为(DW16) B5_BWSCON 改为(DW8)根据HCLK设置SDRAM 的刷新参数,主要是REFCNT寄存器,开发板HCLK为100M将 #define REFCNT 0x1113改为#define REFCNT 0x4f4增加对S3C2440的支持,2440的时钟计算公式、NAND操作和2410不太一样。
凌FL2440超详细U-BOOT作业(UBoot介绍+H-jtag使用+Uboot使用)Bootloader是高端嵌入式系统开发不可或缺的部分。
它是在操作系统内核启动之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
现在主流的bootloader有U-BOOT、vivi、Eboot等。
本次作业先做Uboot的烧写吧。
希望通过这个帖子,能让更多的初学者朋友了解一些UBoot的知识,也希望高手朋友对我的不足予以斧正。
首先说一下什么是Uboot:U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。
从FAD SROM、8xxROM、PPCBOOT逐步发展演化而来。
其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。
但是U-Boot不仅仅支持嵌入式Linu x系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。
其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。
这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。
这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。
IT_2440Linux系统开发移植一.软硬件配置(1)目标板硬件环境CPU:S3C2440ALSDRAM:SamSung K4S561632HNand flash:K9F1208(64MB)以太网芯片:DM9000LCD:Toshiba LPM084P3638.4’接口:USB;PWM控制蜂鸣器;网络接口;UART;键盘(2)目标板软件环境Linux操作系统内核版本:Linux2.6.12Bootloader:优龙viviQtopia版本:1.7.0Qt版本:2.3.7内核交叉编译工具:ARM-Linux-GCC3.4.1Qtopia交叉编译工具:ARM-Linux–Gcc3.3.2Busybox编译版本:1.1.3二.开发流程B ootloader启动代码移植使用优龙的vivi启动代码操作步骤如下:1)将优龙的源代码拷贝到指定目录;C:\桌面\开发镜像\it24402)打开ADS v1.2编译软件,点击file→打开IT2440A_bios.mcp→打开nand.c3)修改Nand Flash的分配系统空间大小,如图(1)所示,找到结构体函数,static struck partition NandPart修改如下。
注意:修改后需要保存。
图(1)4)Nand flash映射到SDRAM中需要修改SDRAM导入的地址空间大小和载入的初始地址。
修改如下:(1)打开ADS v1.2编译软件,点击file→打开IT2440A_bios.mcp→打开u2440mon.c 修改如下:(2)打开ADS v1.2编译软件,点击file→打开IT2440A_bios.mcp→打开nand.c修改如下:对于NAND FLASH修改不光只是修改NAND FLASH对整个系统空间的分配大小,还要修改载入到SDRAM的地址和空间大小,大小要与NAND FLASH大小分配相匹配。
修改后才能载入nand flash分配空间大小。
YC2440开发指南-utuLinux2.6.24篇本手册适用于扬创科技YC2440-F,utu2440-s,utu2440-F等系列2440开发板产品,linux 内核版本为2.6.24,详细产品信息请参见公司网站:/最后更新:2008-12-12一、 u tu Linux概述utu Linux 是扬创科技基于linux 2.6内核,针对ARM框架CPU移植的嵌入式linux操作系统,针对有S3C2410、S3C2440、PXA270等不同的CPU版本,utu Linux稳定可靠,已经在很多客户的批量产品上实践验证,广受好评。
二、 u tu Linux相关软件功能Windows下的超级终端详细的使用方法请用户自己参考相关资料,这里不再详述。
设置请和下图保持一致。
连接好电源、用所配的串口线连接开发板的COM0和PC机的串口,在开发板utu-LINUX系统起来后,我们可以在终端看到:按回车键,进入utu-linux命令行终端:2.1 通过串口与PC传送文件通过串口登录utu Linux以后,在命令行下可以使用rz、sz命令来和PC机相互传送文件。
2.1.1 使用sz命令向PC机传送文件在超级终端窗口点击鼠标右键按照上图设置,点击“关闭”按钮。
在utu Linux命令行输入:sz /etc/init.d/rcS将把开发板上utu Linux的/etc/init.d目录下的rcS文件传送到PC机的E盘根目录下。
这个rcS文件是utu Linux的启动脚本,用户可以在PC机端使用文本编辑软件打开查看编辑,增加删除系统启动以后的加载选项。
2.1.2 使用rz命令接受PC机传送过来的文件在 utu Linux命令行输入:rz[root@utu-Linux]\$ rz点击鼠标右键,选择“发送文件”:点击“发送”按钮,就把PC机端E盘根目录下的rcS文件传到开发板上面的utu Linux的根目录了。
2.2 如何通过FTP与PC传送文件utu Linux for 2440 v1.5版本默认已经开启了ftp服务,用户可以在PC端直接使用cute ftp等ftp客户端软件直接登录,用户名和密码均为空,选择匿名。
下图是使用FlashFXP登录开发板的IP:192.168.1.168:在这里,你就可以直接上传下载开发板上utu Linux系统的ftp的pub文件见下的内容了,这里的pub文件夹在utu Linux的 / var/ftp/目录下。
如果不能写入,请按照下面的方法修改一下pub文件夹的属性:[root@utu-linux /mnt]$ cd /var/ftp/[root@utu-linux ftp]$ chmod 777 pub[root@utu-linux ftp]$2.3 如何使用U盘/移动硬盘将我们所要挂接的U盘(示例用的是一个1G的U盘)插入开发板USB Host接口,终端此时会提示:此时,按一下回车键重新回到utu-linux终端,我们只需在命令行键入mount -t vfat /dev/sda1 /mnt即可挂接U盘成功,cd /mnt进入mnt目录,ls一下,就能看到u盘的内容了。
2.4 测试SD/MMC卡同挂接U盘一样,插入SD/MMC卡(演示用的是一个2G的SD卡)后系统的提示:按回车,我们进行挂接,命令为:mount -t vfat /dev/mmcblk0p1 /mnt2.5 测试音频,播放MP3madplay是一个基于控制台下的mp3播放器。
它有多种播放控制模式,可以运行“madplay -h”查看其使用帮助使用madplay播放SD卡里面的mp3:按照2.3章节挂载好sd卡,进入/bin目录,输入:madplay /mnt/4.mp32.6 如何中止程序运行使用 Ctrl+C的组合键,可以中止正在运行的程序,如果是在后台运行的程序,需要使用kill来杀掉对应的进程。
2.7 Usb摄像头的使用utu Linux支持市面上最常见的中星微301系列驱动芯片的摄像头,插入usb摄像头,命令行显示:[root@utu-Linux]\$ usb 1-1.2: new full speed USB device using s3c2410-ohci and address 3usb 1-1.2: configuration #1 chosen from 1 choicedrivers/media/video/gspca/gspca_core.c: USB SPCA5XX camera found.(ZC3XX)提示已经找到了摄像头,设备名所在路径:/dev/v4l/video12.7.1 如何将usb摄像头的视频显示在LCD液晶屏上在命令行输入:servfox -g –L终端显示的信息:[root@utu-linux /]$ servfox -g -Lservfox version: 1.1.2 date: 07:10:2005 (C) mxhaard@magic.frframe buffer: 320x240, 16bpp, 0x25800byteCtrl + C to STOP!2.7.2在PC机端使用浏览器访问摄像头在命令行输入:servfox -d /dev/video1 -g -s 640x480 -w 7070注意:640 480中间是小写的英文字母x,不是叉。
终端显示的信息:[root@utu-linux /]# servfox -d /dev/video0 –g -s 640x480 -w 7070servfox version: 1.1.2 date: 07:10:2005 (C) mxhaard@magic.frWaiting .... for connection. CTrl_c to stop !!!!在PC端打开IE浏览器,输入开发板IP地址:http://192.168.1.168如果开发板是其他ip,请敲对应的ip地址。
注意:正常显示摄像头图像,需要先安装光盘里面的/工具和软件/j2re-1_4_2_15-windows-i586-p.exe2.8 测试简单网络功能特别提醒:测试网络功能的时候,请注意关闭PC的防火墙软件或者对防火墙软件做相应设置。
2.8.1 Ping命令这里我们只是简单的测试一下开发板和PC机的“PING”功能:首先,确认开发板上的utu Linux的IP地址,在utu Linux终端输入: ifconfig可以运行 ifconfig eth0 192.168.1.168 up 将开发板的ip改为192.168.1.168如上图所示,utu-linux上的ip地址为192.168.1.168,在utu-linux终端运行一下:ping 192.168.1.1:按Ctrl+C可以回到命令行。
在pc端ping开发板上的utu linux:2.8.2 PC机使用Telnet命令登录开发板确认和PC主机的IP地址在同一个网段,在pc机的命令行下键入:telnet 192.168.1.168并用root用户名登录,就可以从pc机透过网络telnet登录到开发板上,如图:utu Linux的telnet功能还具备从开发板的linux直接telnet到外部的bbs上去,在后面的开启DHCP功能自动获取IP和DNS的章节有叙述。
2.8.3 WebServer功能请看2.7.2章节。
2.9 实时时钟设置和保存设置时间为2006年11月27日17点12分0秒,输入:date –s 112717122006[root@utu-linux /]$ date -s 112717122006Mon Nov 27 17:12:00 UTC 2006使用hwclock –w保存[root@utu-linux /]$ hwclock -w[root@utu-linux /]$保存以后,就具备实时时钟的功能了,不管开发板有没有电,时钟都会一直往前走的。
2.10 如何DHCP动态获取IP地址和DNS确认开发板连接的网络的路由器具备DHCP功能,并可自动分配DNS,在命令行输入 udhcpc &终端显示:[root@utu-linux /]$ udhcpc &[root@utu-linux /]$ udhcpc (v1.3.2) startedSending discover...Sending select for 192.168.1.104...Lease of 192.168.1.104 obtained, lease time 7172deleting routersroute: SIOC[ADD|DEL]RT: No such processadding dns 202.106.46.151adding dns 202.106.195.68[1] + Done udhcpc[root@utu-linux /]$从上面的显示信息看到开发板运行utu Linux从路由器那边获取了192.168.1.104的IP地址,并且得到了DNS地址:202.106.46.151 202.106.195.682.11 如何连接互联网确认已经按照2.10所说,得到了IP和DNS,然后按以下操作。
2.11.1 使用Telnet在终端登录清华BBS在命令行输入:telnet [root@utu-linux /]$ telnet 登录成功出现以下画面:2.11.2 使用浏览器在浏览网页此步骤需要有配套液晶屏才能操作。
在LCD显示的Qtopia图形界面,点击“应用程序”->“浏览器”如图所示:2.12 如何开机自动运行程序utu Linux的启动脚本位于/etc/init.d/rcS默认信息如下:#! /bin/shPATH=/sbin:/bin:/usr/sbin:/usr/binrunlevel=Sprevlevel=Numask 022export PATH runlevel prevlevel## Trap CTRL-C &c only in this shell so we can interrupt subprocesses. #trap ":" INT QUIT TSTP##################################/bin/mount -t tmpfs tmpfs /dev/bin/mount -t sysfs sysfs /sysecho "Starting udevd..."/sbin/udevd --daemon/sbin/udevstart##################################mkdir /dev/pts/bin/mknod /dev/pts/0 c 136 0/bin/mknod /dev/pts/1 c 136 1/bin/mknod /dev/pts/2 c 136 2/bin/mknod /dev/pts/3 c 136 3/bin/mknod /dev/pts/4 c 136 4/bin/mknod /dev/pts/5 c 136 5/bin/mount -t devpts devpts /dev/pts/bin/mount -t proc none /procln -s /dev/ts0 /dev/h3600_tsrawmknod /dev/buttons c 254 0mkdir /dev/fbln -s /dev/fb0 /dev/fb/0mkdir /dev/v4lln -s /dev/video0 /dev/v4l/video0/sbin/hwclock -shostname -F /etc/sysconfig/HOSTNAME/sbin/ifconfig lo 127.0.0.1#config network by manual work/sbin/ifconfig eth0 192.168.1.15#/sbin/route add default gw 192.168.1.1#config network by udhcpc#/sbin/udhcpc &/sbin/portmap &/etc/init.d/vsftpd stop/etc/init.d/vsftpd start/usr/sbin/telnetd -l /bin/login/usr/sbin/boa &/bin/qtopia &前面加#号的是注释掉的,比如用户如果想让开发板上电以后直接就可以从路由器自动获取IP和DNS,可以把:#/sbin/udhcpc & 前面的#号去掉,让udhcpc一开机就运行起来。