型号:UP-TECH 44B0
一、开发板连接PC
本人在win8的OS上安装VM,在VM上安装Ubuntu 13.04系统。
1.安装完成OS后,vm默认的是没有串口的,需要在VM上添加串口,方法如下:
关闭vm下的ubuntu 系统 ,然后选择setting --->add--->serial port 。不要使用自动 ,使用com1。
2.开启ubuntu ,配置minicom
dingyi@ubuntu:~$ sudo minicom
然后ctrl + A 然后按Z 和 O,选择serial port setup
A - Serial Device : /dev/ttyS1 //有的电脑是ttyS0,有些是S1,如果是虚拟机安装,S1的居多
B - Lockfile Location : /var/lock
C - Callin Program :
D - Callout Program :
E - Bps/Par/Bits : 115200 8N1
F - Hardware Flow Control : No
G - Software Flow Control : No
Change which setting?
然后保存
如果不知道开发板是哪个是com1,那就两个都 试试,哪个通哪个就是com1。我用的开发板,UART0是com1口。
以上配置并连接完成之后 ,进入minicom,就会进入开发板启动的过程 。
二、烧写内核和文件系统
1.启动 minicom,按下目标板复位键,抢在目标板进入内核启动步骤之前按下回车键(否则目标板就进入由先前烧写进去Bootloader 引导的默认启动顺序),此后我们可以在超级终端上看到>Blob 出现
2.在>Blob 后键入xdownload kernel 回车,告诉系统我们要下载的是内核。
3.键入 Ctrl+A 再键入S(同前面的Ctrl+A,Z ,Ctrl+A松开后才按 S)。此时出现的界面是让你选定要烧写到目标板上的文件。我们找到内核img文件的目录,空格是进入,选择zImage文件,回车确定 ,开始下载内核。
4.第三步完成后,内核程序只是被下载到RAM中,按回车后在提示符后键入flash kernel ,这时目标板会把内核程序给真正烧写到 Flash芯片中。
5.在>Blob 后键入xdownload ramdisk 回车,告诉系统我们要下载的是文件系统。
6.重复第三步,只不过找到文件系统的目录,选择romfs.bin文件,回车确定 ,开始下载文件系统。
7.提示符后键入flash ramdisk 。
到此内核和文件系统就烧写完成了。
三、NFS服务器和挂载。
NFS服务器的配置不再详述。配置完成后,首先要把开发板的IP地址改成和PC机一个网段,然后用mount命令进行挂载。例如:
我的PC机IP地址是202.198.200.15,,nfs服务器的文件夹的/nfs
那么在开发板上执行:ifconfig 202.198.200.249
然后执行mount -t mfs 202.198.200.15:/nfs /mnt/yaffs
这样挂载就成功了。但是用ls命令的话依然不能显示挂载的目录,我们可以向上一级,再进入yaffs目录,就可以了,原因可能是目录还没有更新。
四、交叉编译。
光盘已经给了相关交叉编译的文件,但是需要自己安装一下,打开光盘根目录有一个install.sh文件,在终端./install.sh,就可以安装了。但是由于这个是基于redhat写的,里面用到了rpm命令,但是在ubuntu下是不能用rpm进行安装的,安装过程中会出现
rpm...(中间没记住) ... using alien instead
解决办法就是把rpm转换成deb文件,再进行安装。这个过程要用到alien工具,apt-get install alien
然后我们用vi修改原来的install.sh
找到rpm -i --force genromfs-0.5.1-1.i386.rpm || exit 这句话,把这句话注释掉,换成
alien -d *.rpm
dpkg -i *.deb
这样就可以把rpm变成deb文件,就可以正常安装了。
安装完成后,开始写程序
hello.c:
#include <stdio.h>
main()
{
printf("hello world \n");
}
然后写makefile文件:
CC=arm-uclibc-gcc
EXEC = hello
OBJS = hello.o
CFLAGS +=
LDFLAGS+=-elf2flt -static
all: $(EXEC)
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS)
clean:
-rm -f $(EXEC) *.elf *.gdb *.o
写好之后,在PC机上执行make。就会得到hello hello.c hello.gdb hello.o Makefile 这五个文件
然后进入开发板,./hello,就可以得到hello world的结果。
转载自原文链接, 如需删除请联系管理员。
原文链接:arm7开发板烧写内核、文件系统,交叉编译hello world,转载请注明来源!