2022年嵌入式驱动设计实训报告 .pdf
《2022年嵌入式驱动设计实训报告 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式驱动设计实训报告 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2011-2012 学年 第2 学期实 验 报 告 书课程名称嵌入式驱动设计系(部)信 息 工 程 系专业班级计算机 09-4 教改班学生姓名王军学生学号0943020120 山东科技大学(泰山科技学院)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 一、 Mini2440 开发板的介绍我们这次实训用的板子是Mini2440, Mini2440 是一款基于 ARM9 的开发板,采用Samsung S3C2440 芯片,并采用专
2、业稳定的CPU 内核电源芯片和复位芯片来保证系统运行时的稳定性。在进行器件地址说明之前,有一点需要注意, nGCS0 片选的空间在不同的启动模式下,映射的器件是不一样的。在 NAND Flash 启动模式下,内部的4KBytes BootSram 被映射到nGCS0 片选的空间;在 Nor Flash 启动模式下 ( 非 Nand Flash 启动模式 ) ,与 nGCS0 相连的外部存储器Nor Flash 就被映射到nGCS0 片选的空间SDRAM 地址空间: 0 x30000000 0 x34000000 。Supervivi 在出厂的时候已经预装入板子的Nor Flash中, 设置拨动
3、开关S2为 NOR Flash启动, 即可进入BIOS 模式, 此时开发板上的绿色LED1 会呈现闪烁状态,其启动界面如下图:双击运行光盘中的 “windows 平台工具 usb 下载驱动 FriendlyARM 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - USB Download Driver Setup_20090421.exe ”安装程序,开始安装 USB 下载驱动。注意:此处安装的USB 驱动仅在 BIOS 模式下
4、有用。安装完成后,打开光盘中的 dnw.exe 下载软件,可以看到USB 连接 OK,如图:功能主菜单如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 二、 实训流程1.确定 supervivi 版本、开发平台及交叉编译器;2.获取 Linux 内核源代码(采用版本为Linux-2.6.32.2) ;3.克隆建立自己的目标平台(制定交叉编译环境变量及配置内核菜单中的 MINI2440 ) ;4.移植 Nand驱动并更改分
5、区信息;5.移植 yaffs2;6.移植 DM9000 网卡驱动;7.实训扩展;三、实训内容1.确定 supervivi 的版本为 supervivi-0945-2K,supervivi 的功能可通过USB 下载配合 DNW 这个程序使用。功能如图所示:2.获取 Linux 内核源代码名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 对于 Linux-2.6.32.2,我们是基于Ubuntu10.04 平台做开发的,所有的配置和
6、编 译 脚 本也 基 于 此平 台, 并使 用 符 合EABI 标 准的 新 型 编译 器 : arm-linux-gcc-4.3.2。3.克隆建立自己的目标平台一般步骤为:(1) 、获取 mini2440.c 我们 要 参 考 SMDK2440 加入 自 已 的 开发 板 平台 , 我 们使 用 的 是mini2440 , 因 此 取 名 为 MINI2440 。 在 linux-2.6.32.2/arch/arm/tools /mach_types 文件中,我们可以看到 mini2440 的机器码为 1999。 接下来,我 们 注 意 到linux-2.6.32.2/arch/arm/ma
7、ch-s3c2440 目 录 下 有 个mach-mini2440.c 文 件 , 把 它 直 接 删 除 。 将linux-2.6.32.2/arch/arm /mach-s3c2440/ 目录下的mach-smdk2440.c 复制一份。命名为mach -mini2440.c ,找到 MACHINE_START(S3C2440, “ SMDK2440” ) ,修改为 MACHINE_START(MINI2440, “FriendlyARM Mini2440 development board” )。开发板运行后,在命令行终端输入:cat /proc/cpuinfo 可以看到我们添加的开发板
8、信息。(2) 、修改时钟源频率在 mach-mini2440.c (就是我们刚刚通过复制mach-smdk 2440.c 得到的 )的第 160 行 static void _init smdk2440_ map_io(void)函数中,把其中的16934400(代表原SMDK 2440 目标板上的晶振是16.9344MHz)改为mini2440 开发板上实际使用的12000000(代表 mini2440 开发板上的晶振 12MHz,元器件标号为X2)。(3) 、从 SMDK2440 到 MINI2440 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
9、 - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 制作自己的mini2440 平台体系,需要把mach-mini2440.c 中所有的smdk2440 字样改为mini2440 ,可以使用批处理命令修改,在vim 的命令模式下输入: %s/smdk2440/mi ni2440/g 。 (把所有和 “ smdk2440” 匹配的字符串全部替换为 “ mini2440 ” ,前面的 “ %s“ 代表字符串匹配,最后的“ g” 代表 global,是全局的意思),除此之外,还有一个地方需要改动,在 mini2440_ma
10、chin e_init(void)函数中,把 smdk_machine_init() 函数调用注释掉。 (因为我们后面会编写自己的初始化函数,不需要调用smdk2440 原来的) 。(4) 、编译测试在 Linux 源代码根目录下执行#make mini2440_defconfig(使用Linux 官方自带的mini2440 配置); #make zImage ; 重新编译并把生成的内核文件 zImage(位于 arch/arm/boot 目录)下到板子中,可以看到内核已经可以正常启动了(但此时大部分硬件驱动还没加,并且也没有文件系统,因此还无法登陆)。(5) 、关于内核配置菜单中的mini2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年嵌入式驱动设计实训报告 2022 嵌入式 驱动 设计 报告
限制150内