嵌入式实验报告
指导老师: 涂 刚
班 级: 计算机
060
姓 名:
学 号:
姓 名:
学 号:
完成日期: 7.5
试验一:bootloader (ads、引导)
一、实验任务
、熟悉 开发工具
创建、编译、下载、调试工程
、串口通讯
串口控制器初始化、收发数据
、配置主机端的 服务器
配置主机端的 服务器,以连接 核心
、下载并运行 核心
使用自己的串口程序下载并运行 核心
二、实验内容
编写串口接收数据函数
编写串口发送数据函数
学习 、 调试、 烧写
打印菜单,等待用户输入
下载并运行 核心
配置主机的 服务器,与 核心连接
三、实验步骤
修改 :菜单、串口收发、命令行;
的 函数:
!
"
#$%&'目标板初始化'
接收用户命令,传递 核心;
()*+$,--+'
()*+./!0 '--+'
()*+'--+'
()*+./ '--+'
()*+$/122--+'
"
23()2'
452637788263778826377'
9'
4 '
接收串口数据并做相应处理:
5
"
打印菜单并等待用户输入'
522 根据用户输入做相应处理
"
277,
:3 )2!2;<=#>=.)=?$0)<=#>=.)&@='
:339 下载出错'
下载成功'
/'
277,
) 2 ;<=#>=.)=? 99999999?
;9;9'
277,
<'这里是不会返回的,否则出错'
/'
,
/'
4
4
串口读写:
!()*222
"
56=#&.)A#&%=)#=B'
(%0C932'
4
2()2
"
56=#&.)DC#)#=B'
(#0C9'
4
使用 编译 ;
使用 下载、调试 ;
使用 查看变量、内存,单步跟踪;
E 配置超级终端,与 通讯;
F 使用超级终端下载 . 核心映像;
G 启动 . 核心运行,察看结果;
H 核心能够运行到加载 步骤,说明 正常运行;
I 将 烧写到 中,重启目标板电源,察看 是否烧写正常,
下载核心测试;
(9)主机重启到 J,配置 ;
编辑2* 文件:
)K1 目标板 *5?12
)K1 主机 *5?12
重新启动 服务器:
2
测试 服务器是否正常运行:
主机 *, )K1
()以 用户启动 22 ,将 22 配置成 E99*,H 位, 位停止位,
无校验, ,;
()使用 重新下载 . 核心映像,启动核心运行后,察看是否成功加载
上的 文件系统;
目标板 系统正常运行到命令行模式下,能够正常输入 命令,说明实验成功。
四、实验过程中遇到的问题及解决方案
问题一 :打开 ,下载 :& 失败,调试时观察内存地址不是从 99 开始。
解决方法:从新做了很多遍,仍然失败,最后终于观察到 线上的灯没有亮,换了一根
好的 线,终于成功地下载了核心映像。
问 题 二 : 2 命 令 行 下 烧 写 时 出 现 错 误 ?=##L#,<I9H&>L%
=%=D%=
解决方法: 因为不明白错误出现的原因,向老师提出疑问,经老师指点,忽略此错误。
问题三 :最后一步使用 重新下载 核心映像之后,目标板 系统始
终无法正常运行到 命令模式下。
解决方法:重新到 * 下,设置 2 中的 . 核心启动命令行:
2;)2 3+33!
3GFFHE, )K1 ?2**3GFFH
231D9+'
通过此设置指定 在 服务器上,保持 :* 地址的一致。
试验二:linux kernel (gcc、make)
一、实验任务
、熟悉基本的 命令
文件操作、文件编辑
串口工具、程序开发
、配置 核心
/ 2K
、交叉编译 核心
/:&