文档介绍:【实验内容】
基本实验嵌入式图形开发环境的搭建
实验一建立硬件实验平台
实验二 Linux操作系统RedHat 9的安装
实验三建立主机软件开发环境
实验四 或配置超级终端
实验五配置TFTP
实验六配置NFS服务
实验七 HelloWorld
实验八配置并编译Bootloader
实验十二简单设备驱动程序
实验十三 CPU GPIO 驱动程序设计
实验十四中断实验
实验十五数码管显示驱动实验
实验十六 LED点阵驱动程序设计
实验十七 AD驱动实验
实验十八 DA驱动实验
【实验设备】
,并且配置好ARM Linux的开发环境
【试验中出现的问题及解决方法】
*1、,提示出现错误:“创建时间在当前时间之后,无法继续操作”
,使其在创建时间之后即可继续进行操作。
*2、(简单设备驱动程序)中,,但在超级终端中程序无法运行,显示程序有误。
,“READ”部分中,实验指导书上写的是:
Printk (“SIMPLE_HELLO_read [ --kernel--]\n”);
原因为不可识别大写P,更替为:
printk (“SIMPLE_HELLO_read [ --kernel--]\n”);
后可正确运行。
*3、,当需要将宿主PC机的根目录挂在到PXA270-EP目标板的mnt目录下(即在超级终端中输入命令“mount –o soft,timeo=100,rsize=1024 :/ /mnt”)时,常显示无法挂载。
(Terminal)中输入以下指令:
d restart /*启动TFTP服务*/
eth0 up
/*设置宿主PC机得IP地址*/
nfs restart
service nfs restart /*重新启动nfs服务*/
之后无法挂载的问题就可被解决。
*4、(AD驱动实验)中按照实验指导书输入驱动程序后编译无法通过
:
int ret = -ENODEV;
ad_ucb = ucb1x00_get();
作用是将ucb1x00这个结构体实例化。
*5、(DA驱动实验)中,驱动程序编译时提示头文件出错
,补充头文件时不可使用与实验十七(AD驱动实验)一样的头文件,而应该使用实验十六(LED点阵驱动程序设计)中的头文件,即:
#include <linux/>
#include <linux/>
#include <linux/>
#include <linux/>
#include <linux/>
#include <linux/>
#include <asm/>
#include <asm/>
*6、,但在超级终端中却无法加载或运行
A. 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。所以在这个过程中在检错方面只涉及词法语法分析,有时会因为某些原因,例如“{”和“}”符号是否对齐问题,而导致无法生成文件,所以应随时通过“ls”进行查看需要的文件是否完全。
【驱动程序清单】
#include <linux/>
#include <linux/>
#include <linux/>
#include <linux/>
#include <linux/>
#include <linux/>
#include <linux/>
#include <asm/>
// HELLO DEVICE MAJOR
#define SIMPLE_HELLO_MAJOR 96
#define OURS_HELLO_DEBUG
#define VERSION "PXA2700EP-SIMPLE_HELLO--"
void showversion(void)
{