2. 解压文件 bdfs_noQT.tgz 或者 bdfs_withQT.tgz 3. 使用工具 mkfs.jffs2 生成 jffs2 文件系统 4. 修改链接配置文件 5. 再次生成 jffs2 文件系统 6.将 DBMX1 ADS 启动,进入 Linux 后执行命令:eraseall /dev/mtdblock/2 完成旧文件系统的擦除,然后重启 DBMX1 ADS 下载内核映像 1. 将 DBMX1 ADS 板上的 BOOT[3:0]设置为 ON-OFF-OFF-ON 2. 使用串口线将 ADS 板与 PC 机相连 3. 打开 Windows 下的 HyperTerminal,设置为 115200bps,8N1,无流控(若使用 minicom,发送模式选为 ascii,其余设置参照 2.2)。 4. 打开 ADS 板电源 5. 终端程序提示进入 Boot 选项是按下任意键 6. 选择烧写 root filesystem,Bootloader 此时提示 USB 驱动准备就绪 7. 用 A-to-B 型的 USB 线将 PC 与 ADS 板相连 8. 待系统识别出可移动磁盘之后, bd_noQT.jffs2 放入该磁盘中,将然后弹出,当终端提示按下任意键之后开始编程 9. 按下任意键,编程分为擦写检查和擦写、编程、校验三步,成功之后终端提示重新启动系统。 10. 系统重启引导根文件系统之后,使用命令可以将根文件系统改为可写模式。 六、实验结果: 生成根文件系统映像 下载成功 实验总结:通过这次实验,我熟悉了Linux系统的操作,学会了编译、建立一个嵌入式开发平台,了解了ARM-Linux开发工具链的含义,建立流程,以及初步的使用方法。并熟悉了Bootloader 、Linux 内核映像以及根系统的编译。 课程名称: 嵌入式系统技术 上机内容 :硬件测试实验 实验报告: 该实验开发板处于 Bootstrap 启动模式。 SW1 的 123456 拨码开关设置为 ON-ON-ON-ON-ON-ON。 SW2 的 123456 拨码开关设置为 ON-ON-OFF-ON-ON-ON。 用 minicom 传输文件,则用 ascii 模式发送。 (一) Bootstrap 模式下硬件测试程序下载及 PWM 控制蜂鸣器实验 一、实验目的: 1. 认识 MC9328 MX1 的 Bootstrap 模式,了解该模式下的程序下载过程以及编译和测试的整个流程。 2. 了解 DBMX1 的脉冲宽度调制器(PWM)的原理,了解及其对蜂鸣器的控制机理。 3. 编写程序读写 PWM 模块寄存器,进行由简单到复杂的控制。 二、实验内容: 1. 阅读 MC9328 MX1 Reference Manual, Rev 5 中关于 PWM 的部分,对微处理器上的这个模块有初步的认识。 2. 通过例程了解编写、编译硬件测试程序的主要步骤。 3. 编写程序,下载测试,编译程序,得到结果,使蜂鸣器按照预设的频率及音量发出声音。 三、实验原理: DBMX1 的 PWM 模块有四个寄存器:PWMC、PWMS、PWMP、PWMCNT,其中 PWMCNT 为只读寄存器。PWMC 实现对模块工作的控制。其中包括 PWM的工作模式,本实验中 PWM 应该工作在音调模式。具体的设置 PWMCR 请参考手册。PWM 模块的输出为 PWMO,ADS 将 PWMO 接蜂鸣器,所以要实现对蜂鸣器的控制要先控制 PWMO。(PWMO 的占空比即脉冲高电平持续时间与周期之比控制蜂鸣器的音长,PWMO 的频率控制蜂鸣器的音调)。据芯片手册的描述,PWMO 的占空比由 PWMS 寄存器中的值控制,频率由 PWMP寄存器中的值控制。 实验中需要根据实验要求正确设置这些寄存器,从而实现要求。 四、实验设备:(硬件,软件) 1.硬件: DBMX1 ADS 开发板 PC 机(操作系统为 Windows 2000 或更高版本) 直连串口线 3.3V/2A 开关电源 2.软件: 虚拟机 Vmware 虚拟机上运行的 Red Hat Linux 9.0 ARM-Linux 工具链(或者源代码) 安装脚本 文本编辑器(如 Windows 下的 notepad、ultraedit,Linux 下的 Vi、Emacs 等) 五、实验步骤: 1.在进行相关背景知识的学习之后编写出 C 文件(pwm.c),实现控制 PWM 的简单功能(有例程供参考)。 2.打开 VMware Workstation,点击 Start this virtual machine,进入 Linux 登陆界面,然后登陆进入 Linux。 3.进入含有 pwm.c 文件以及其它相关文件(附加说明的编程必备文件中提供)目录下,编写编译命令脚本 go.sh。运行该脚本,完成 pwm.c 的编译。编译成功后可以看到 b-record 格式文件。 4. 将 DBMX1 的 Uart1 与 PC 的 COM1 相连,连上 DBMX1 电源线。 5.设置拨码开关 SW1 为 Bootstrap 模式。SW2 按照默认可行连接,即将 IrDA关闭,其他为 ON,拨码开关 SW2 中控制 PWMO 输出信号与蜂鸣器 buzzer相连的开关必须保持在闭合状态。 6.打开 Window 下附件 通讯 超级终端,然后打开 DBMX1 电源开关 SW2。(要先设好超级终端才可以打开电源开关,如果相反,需要对 DBMX1 重启——按 SW3。 7.在超级终端中键入字母 a 或 A,如果连接成功看到屏幕显示“:,同时”Uart1 的波特率完成自动检测,此时可以开始传输文件。点击传送 发送文本文件,找到文件 boot_setup.txt(初始化内存所必要的文件)传送,成功后,传送文本文件 pwm_b.text,则它被下载入内存。如果成功会看到屏幕上显示 b-record 格式文件。程序自动被执行,蜂鸣器发出叫声。 8.如果蜂鸣器未发出指定叫声,在操作无问题的条件下,则需要修改程序,然后从第二步开始重新操作。 六、实验结果: 从串口终端下载程序完毕之后程序自动运行,将重复发出音调变化的蜂鸣声。 用示波器观察 PWMO 管脚所在的电网络,以及蜂鸣器输入端的波形,可以看到 PWM 波形,记录这些波形,进行分析。 (二)Bootstrap 模式下串行口通信实验 一、实验目的: 1. 了解认识串口这一广泛应用的通讯手段 2. 了解 MC9328 MX1 的 UART 控制器的特点、性能、工作原理、配置方法 3. 进一步加深对 Bootstrap 模式下硬件程序编写、编译和测试整个流程的认识 二、实验内容: 1. 研读实例程序,了解串口控制的基本流程。 2. 编写程序并下载到嵌入式系统,实现串口的收发功能。示例程序中给出了不断向 PC 机串口发送“I am UART!”的字符串。 3. 接收来自 PC 机串口(通过终端程序)的字符,并将接收到的字符经过某些处理发送回终端程序。在没有操作系统的情况下,完成嵌入式系统和 PC 机通过串行口传递信息。(扩展要求) 4. 编译程序,下载测试,观察结果 三、实验原理: Bootstrap 模式下,串口 1 是自动初始化的,可以直接使用,而其它的外设均需要进行初始化。初始化的过程就是将相应的寄存器进行配置。在这个实验中,通过配置串口 1、2 可以将这两个串口初始化并使用。通过读写相应的寄存器可以修改串口设置、改变串口的工作方式以及输出数据。因此,这个实验的实质就是把通过读写 UART 的寄存器进行试验性的控制。 这种方式是嵌入式系统底层硬件编程的基础。 对 UART 模块有了充分了解之后就能够根据需求编写相应的测试程序,通过交叉编译生成可执行程序。 四、实验设备:(硬件,软件) 1.硬件: DBMX1 ADS 开发板 PC 机(操作系统为 Windows 2000 或更高版本) 直连串口线 3.3V/2A 开关电源 A-to-B 型的 USB 线缆 2.软件: 虚拟机 Vmware 虚拟机上运行的 Red Hat Linux 9.0 交叉编译工具链 终端软件 Windows 下的 HyperTerminal 或者 Linux 下的 minicom 文本编辑器(如 Windows 下的 notepad、ultraedit,Linux 下的 Vi、Emacs) 五、实验步骤: 1.学习基础知识,了解串行通信的基本原理,和与 UART 相关的寄存器的配置方法。 2.编写程序串口操作函数 uart.c 和 hello.c,实现如下功能:将系统初始化为异步模式,初始化 BHU DBMX1 ADS 的 UART1 为 115200bps, Data bit,8bit1 bit Stop bit。控制 UART1 循环接收串口发送来的数据,反复输出“I amUART!”信息。并加一定的延时。 3. 使用交叉编译工具编译以上程序,生成可执行程序。 4. 将计算机的串口接到目标板的 UART1 上。 5. 运行超级终端,选择正确的串口号,并对串口参数进行设置,波特率(115200)、奇偶校验(None)、数据位数(8)和停止位(1)、无流控打开 Windows 下的 HyperTerminal,设置为 115200bps,8N1,无流控(若使用minicom,发送模式选为 ascii,其余设置参照 2.2)。 6. 将 DBMX1 ADS 设置为 Bootstrap 模式。 7. 打开 DBMX1 ADS 板上的电源。 8. 在终端程序中输入‘a’或‘A’,应当从串口程序中看到返回的‘:。’ 9. 在 Bootstrap 模式下通过超级终端下载初始化内存脚本 boot_setup.txt。 10. 然后下载 hello_b.txt 程序并自动运行。如果程序运行正确,则在超级终端上将回显出“I am UART!。” 11. 改变波特率(57600)、奇偶校验(1)、数据位数(7)和停止位(None)、无流控,通过调整源代码中对寄存器的配置,仍然实现串行通信。 六、实验结果: 示例程序经编译和下载后,从串口终端中可以看到“I am UART!。” 进行扩展要求设计的同学的实验结果自行记录。 实验总结:通过本次实验,主要了解了DBMX1 的脉冲宽度调制器(PWM)的原理及其对蜂鸣器的控制机理,实验操作过程比较顺利。还进一步熟悉了串口的操作。 课程名称: 嵌入式系统技术 上机内容 :面向嵌入式系统程序的交叉编译与移植 实验报告: 该实验开发板处于正常启动模式,使用 minicom 的 zmodem 传输文件。 SW1 的 123456 拨码开关设置为 ON-OFF-OFF-ON-ON-ON。 SW2 的 123456 拨码开关配置为 ON-ON-OFF-ON-ON-ON,即关闭 IrDA 模块。 (一) C 语言编程实验 一、实验目的: 1. 通过实验认识嵌入式系统上 C 语言编程与普通 PC 机上 C 语言编程的不同点 2. 掌握使用交叉编译环境编译嵌入式系统程序的方法 二、实验内容: 1. 使 用 shell 脚 本 语 言 编 写 ”HelloWorld” 程 序 , 实 现 在 BusyBox 下 输出”HelloWorld”等信息,可根据掌握 shell 的熟悉程度随意发挥。 2. 使用 C 语言编写”Hello World”程序,实现在 shell 下输出”Hello World”等信息,同样可根据 C 的熟悉程度结合 BHU DBMX1 ADS 的特点发挥。 三、实验原理: 使用交叉编译在宿主机上生成嵌入式系统能够使用的程序。 四、实验设备:(硬件,软件) 1.硬件: DBMX1 ADS 开发板 PC 机(操作系统为 Windows 2000 或更高版本) 直连串口线 3.3V/2A 开关电源 2.软件: 虚拟机 Vmware 虚拟机上运行的 Red Hat Linux 9.0 ARM-Linux 工具链(或者源代码) 安装脚本 文本编辑器(如 Windows 下的 notepad、ultraedit,Linux 下的 Vi、Emacs 等) 五、实验步骤: 1. 打开电脑,运行虚拟机以及其上的 Linux 操作系统。 2. 使用 Vi 编辑 C 程序 3. 在 PC 机上进行编译 4. 在 PC 机上进行交叉编译,并且与本机编译的文件进行对比 5. 通过 zmodem 或者其它方式(如超级终端等)将文件传送到嵌入式板上 6. 增加文件的可执行属性 7.运行该可执行文件 六、实验结果: 在嵌入式开发板上运行的程序能够将“Hello,World”从终端控制台输出。 (二)MP3 播放软件的移植 一、实验目的: 1. 了解 MP3 播放器的相关知识; 2. 熟悉交叉编译环境,掌握交叉编译的方法; 3. 掌握将 MP3 播放器移植到 ARM 处理器的基本方法。 二、实验内容: 1. 准备源代码 2. 在 PC 机上进行编译和测试 3. 进行交叉编译的配置 4. 交叉编译并测试 三、实验原理: 由源码通过交叉编译配置生成嵌入式系统能够使用的播放器程序。 四、实验设备:(硬件,软件) 1.硬件: DBMX1 ADS 开发板 PC 机(操作系统为 Windows 2000 或更高版本) 直连串口线 3.3V/2A 开关电源 A-to-B 型的 USB 线缆 2.软件: 虚拟机 Vmware 虚拟机上运行的 Red Hat Linux 9.0 交叉编译工具链 终端软件 Windows 下的 HyperTerminal 或者 Linux 下的 minicom 文本编辑器(如 Windows 下的 notepad、ultraedit,Linux 下的 Vi、Emacs) 五、实验步骤: 1.准备库文件和 madplay 的源代码(从教学光盘上获得,或者下载最新的版本或者补丁) 2.在本机上安装库文件以及 madplay,进行测试(可选) 3.交叉编译库文件 4.交叉编译 madplay 可执行程序 5.下载库文件以及 madplay 可执行程序 6.进行相应的库文件路径配置 7.测试 六、实验结果: 能够从耳机中听到播放的声音 终端程序中有相应的输出,显示播放器的工作状态 实验总结:通过本次实验,认识到了嵌入式系统上 C语言编程与普通PC机上C语言编程的不同点 ,掌握了使用交叉编译环境编译嵌入式系统程序的方法 。掌握了在嵌入式系统上用C编程的步骤。 课程名称: 嵌入式系统技术 实验报告: 上机内容 :面向嵌入式系统的 Qt / Embedded & qtopia 程序设计 (一) Qt 图形界面基础实验 一、实验目的: 1. 了解当前流行的嵌入式系统的 GUI 编程 2. 了解 Qt 程序开发的特点和流程 3. 通过最基本的 Hello,World 程序学会如何在宿主机上编译,链接和调试嵌入 式平台上的 Qt 程序 二、实验内容: 1. 参考背景知识,利用 Qt Designer 搭建应用程序框架。 2. 在本机(宿主机)上完成本机程序的编译、链接、运行。 3. 在本机(宿主机)上完成嵌入式平台上程序的交叉编译、链接,并下载运行。 三、实验原理: 本实验使用交叉编译在宿主机上生成嵌入式系统能够使用的程序,与实验 三中不同的部分在于所开发程序是基于 Qt 类库的。具体的来说就是程序的运 行需要动态或者静态地调用 Qt 图形类库。由于需要嵌入式系统上库的支持, 因此开发的过程包括类库的移植和程序的开发及移植。在类库的移植完成的基 础上进行程序的开发需要了解 Qt 程序开发的一般流程和类库应用的一般原 理。本实验使用简单的控件使学生了解一般 Qt 程序开发的一般流程。 四、实验设备:(硬件,软件) 1.硬件: DBMX1 ADS 开发板 PC 机(操作系统为 Windows 2000 或更高版本) 直连串口线 3.3V/2A 开关电源 2.软件: 虚拟机 Vmware 虚拟机上运行的 Red Hat Linux 9.0 ARM-Linux 工具链(或者源代码) 安装脚本 文本编辑器(如 Windows 下的 notepad、ultraedit,Linux 下的 Vi、Emacs 等) 五、实验步骤: 1. 打开宿主机的上的 Qt Designer,新建工程 2. 创建和编辑 Form 控件 3. 为控件建立信号和槽 4. 生成 main.cpp,保存并进行宿主机上的测试 5. 文件转换并修改.pro 文件 6. 设定环境变量,编译,链接,下载运行 详细步骤参考背景知识中的说明 六、实验结果: 宿主机上程序能够正常运行,显示出“Hello,World”的对话框 在嵌入式开发板上运行的程序能够出现与宿主机上相同的画面。 实验总结:通过这次实验,我了解了嵌入式系统的 GUI 编程,了解了Qt 程序开发的特点和流程。 课程名称: 嵌入式系统技术 上机内容 :驱动程序设计 实验报告: 该实验开发板处于正常启动模式,打开 minicom 用 zmodem 传输文件。 SW1 的 123456 拨码开关设置为 ON-OFF-OFF-ON-ON-ON。 SW2 的 123456 拨码开关配置为 ON-ON-OFF-ON-ON-ON,即关闭 IrDA 模块 一、实验说明:讲述 Linux 设备驱动的分类及其概念,最基本的驱动编写方法和注意事项。由此设计以下几个实验。 4. Hello Kernel 内核模块的设计,编译,插入,卸载与验证。了解内核模块的设计过程以及内核模块最基本的结构。 5. 一个设备驱动程序的设计实现,实现从一个字符设备中定时读取数据,提供给应用程序以调用接口,可向设备写入数据,并向内核注册。 6. 选择 BHU DBMX1 ADS 的触摸屏驱动程序做以分析。 7. 环境:Red Hat Linux 9.0,gcc3.x,/usr/src/linux 目录内核版本为 2.4.18。minicom 8. 查看调试信息:KDB 内核调试环境。 9. 工具:vi,gcc,make。 二、实验注意事项: 4. 不要使用浮点运算 5. 在驱动中不要进行繁忙的等待,内核中的用时一秒相当于整个系统都等待一秒 6. 驱动程序在与硬件打交道的时候需要精确的定时 7. 内核编译选项应该加上-D__KERNEL__ 和-DMODULE 标志 8. 有些内核函数需要编译时的高优化级别支持,如 outb 需要-O2 级别以上 9. 注意内核树目录的包含 –I/usr/local/src/linux-2.4.18 10. 注意防止内核模块被加载到一个与它不兼容的内核去,使用 MODVERSIONS 11. 定义检查函数版本,在设备驱动程序中需要包涵
嵌入式实验报告 - 图文(2)
2019-01-12 12:53
嵌入式实验报告 - 图文(2).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!