- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式期中考试教程
云南大学旅游文化学院《ARM嵌入式技术》期中考查方案
2012级2015 —2016学年第一学期
系 别: 信息科学与技术
专 业: 电子信息工程
学 号: 20121202383
姓 名: 代超
教 师: 石宜金
分 数:
一、ARM嵌入式开发环境的搭建
下载Ubuntu 10.04,并安装在虚拟机中,为linux开发搭建可用的开发环境。
二、Ubuntu 10.04操作系统下的C程序开发
在Ubuntu 10.04的命令窗口,输入gedit,创建C文件,并在里面写入相应的C程序,写完保存关闭。然后输入命令arm-liunx-gcc -o编译,生成可在开发板上运行的文件。
三、qtopia文件系统的移植
打开DNW程序,插上USB。连接开发板
Linux
进入DNW选择连接点击X,然后再点击F。
择功能号[v]开始下载superviv,选择superviv128M。然后选择K,选择文件zImage_x35
再点击y,选择rootfs_qtopia_qt4。等待安装即可。
2、 Wince
进入DNW选择连接点击X,然后再点击F。
择功能号[n]开始下载Nboot.bin,选择功能号[l],开始下载bmp图片作为BootLogo
选择功能号[w],开始下载WINCE内核NK_X35.bin。等待安装即可
四、 Linux启动文件的修改和vi的使用
打开SecureCRTPortable软件,连接上开发板,输入ls,查看文件夹,cd打开主目录下的etc/init.d/rcs,输入命令:“vi rcS”,打开编译器。点击i,开始修改,修改完之后按Esc退出,然后“shift+:”,输入:“wq!”保存并退出。五、裁剪自己的开发板操作系统,内核使用Linux2.6.3,并开发一个测试程序,实现按键控制3个LED灯
进入Ubuntu 10.04的命令输入框并进入主目录,输入命令:“cd opt/FriendlyARM/mini2440/linux-2.6.32.2”,进入到linux-2.6.32.2目录后输入:“cp config_mini2440_x35 config_mini2440_x35 .config”,复制生成“.config”文件,然后输入:“make menuconfig”,打开如上图所示的窗口,裁剪修改liunx内核。完成后退出保存。烧写裁剪过后的系统到开发板即可。
以下为按键控制3个LED灯的C程序。当按键k1按下时LED1灯亮,当按键k2按下时LED2和LED3同时亮,当按键k3按下时LED1、LED2、LED3执行流水灯效果。
#define GPFCON (*(volatile unsigned long *)0
#define GPFDAT (*(volatile unsigned long *)0
#define GPGCON (*(volatile unsigned long*)0
#define GPGDAT (*(volatile unsigned long*)0
#define GPG3_in (0(3*2))
#define GPG3_mask (3(3*2))
#define GPF4_out (1(4*2))
#define GPF5_out (1(5*2))
#define GPF6_out (1(6*2))
void wait(volatile unsigned long dly)
{
for(; dly 0; dly--);
}
int main(void)
{
unsigned long data=0;
int key=0;
GPFCON = GPF4_out|GPF5_out|GPF6_out;
GPGCON = ~GPG3_mask;
GPGCON |=GPG3_in;
GPFDAT=0xff;
while(1)
{
data=GPGDAT;
if(data(13))
key=key; //不按下就不亮
else
key=1; //按下就亮
data=GPFDAT;
if(data(12))
key=key; //不按下就不亮
else
key=2; //按下就亮
if(data(10))
key=key; //不按下就
文档评论(0)