标签:
工欲善其事,必先利其器。
学嵌入式也是一样,首先得了解环境。
下面我讲讲开发的步骤:
1、串口设置
首先:连接串口,使用工具 secure CRT。
但是呢连接串口后,无法键入。
解决方案:
?
这里面需要注意一点的就是,一般的开发板,出厂时已经将linux系统烧录进开发板了。我们不需要在进行烧录了,然后就是串口的连接。
我用的这款 处理器 Samsung S5PV210 基于Cortex M-A8. Arm 有三个系列: application、real-time 、micro controller。
注意:一般配置好串口后,不会立即出数据,需要重启开发板上面的系统才行,最简单办法就是断电。
然后,我们用CRT(需要在兼容模式下运行),捕捉到界面如下。(看上去像是硬件自检)
2、硬件环境
无外乎就是网线与串口连接,我们可以在串口中输入 ifconfig来确定IP地址。然后将本机IP设置到开发板同一个网段即可。
目前在我的应用中,我们可以通过网线设置nat,进行文件间的共享,通过串口或者网口来执行命令都可以。
注意:这里有个小窍门,一般台式机只有一个网口怎么办?我们只需要把开发板的网线接到路由器或者交换机上即可。
3、配置宿主机软件环境
一般嵌入式开发环境有三: 基于pc机Windows操作系统下的CYGWIN;在Windows系统上安装虚拟机,然后再虚拟机上装Linux系统;直接安装Linux系统。
这里我们以第二种为例,前提是系统足够强悍,配置高即可。
网络方面:设置下NFS服务器。
步骤:
1)、 配置文件 打开 vi /etc/exports 录入要共享的目录 /CBT-SuperIOT *(rw) 可读写 *表示任意机器都可以访问,最前面是共享目录。
2)、打开或者重启服务 /etc/init.d/nfs restart (所有的服务都可以通过此方法进行关闭或者重启,类似于 svcadm xxxservice start)
其实也可以通过 service nfs start 来实现。 或者 chkconfig nfs on 来实现。这三种方法都可以,最后一种方法立即生效。
如图:
关闭防火墙: (必须要关闭,不然开发板系统(从设备)无法共享nfs的目录。)
解释一下,在这个系统中,我们在pc中安装的Linux作为nfs 网络文件系统的客户端。开发板上面的linux才是真正的服务器端。所以需要在服务器端进行文件系统的挂载。
/etc/init.d/iptables stop 、 chkconfig iptables off 、 service iptables start
3)、ARM linux中挂载nfs系统(必须干掉防火墙)
Mount -t nfs –o nolock 192.168.1.107:/CBT-SupperIOT /mnt/nfs 表示挂载nfs 选项是-o IP+共享的文件夹 + arm下面的挂载点。
解除挂载:umount /mnt/nfs
4、编写代码
1)通常嵌入式开发有两种,挂载或者下载。现在一般是挂载,因为arm当中存储资源有限。
2)创建实验目录,编写源代码,编写Makefile
注意:Makefile 不能有任何错误,不然将无法编译。
CC=arm-linux-gcc 指明编译器
EXEC=hello 表示编译后生成的执行文件名称
OBJS=hello.o 目标文件列表
CFLAGS+= 编译参数
LDFLAGS+=-static 连接参数
all: $(EXEC) 编译主入口
$(EXEC) : $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS)
clean: 清除编译结果
-rm –f $(EXEC) *.elf *.gdb *.o
小知识点:如何切换到根目录 cd / 即可。
3)编译程序
在命令行长 ,键入 make即可。如果需要修改 make clean 然后再修改。
注意:编译修改都是在宿主机上进行,不能再arm中进行。
补充一个小知识点:安装arm-linux-gcc
1)加载光盘文件 mount -t iso9660 /dev/cdrom /mnt/cdrom
2) 拷贝文件并解压 cp 与 tar 命令。
3)拷贝文件并指定路径 cp 与 vi 命令。
4)使写入文件生效并验证 source 与 arm-linux-gcc 验证。
注意:原来arm-linux-gcc 与 ffmpeg一样,都是可执行文件。Redhat 中的软件安装 rpm yum 等。
参考资料:http://blog.sina.com.cn/s/blog_68f3489201014a86.html arm-linux-gcc-4.5.1的安装方法
5、在arm中验证
1) 利用串口终端进入到NFS共享使用目录
Cd /mnt/nfs
2) 执行程序
./hello
标签:
原文地址:http://www.cnblogs.com/zhuxuekui/p/4452154.html