最近打算开始学习ARM+Linux方面的东西,一来因为本身是学嵌入式专业的,而ARM在嵌入式方向的应用又十分广,但到目前为止平时用到的都是基于Ateml AVR的一些板子,如Arduino、Atmel Raven,接触到的嵌入式系统也只有QP、Contiki等比较小的系统,所以想学习一下相对复杂、功能更加强大的处理器–ARM。而来,想通过具有ARM平台学习一些Linux的知识,掌握基本的Linux开发。前些天看了一些关于ARM的国嵌视频,在这里对自己动手实践的东西做一下记录,以便以后学习过程中复习查看。
这篇文章主要介绍ARM和linux的开发环境搭建,用于从宿主机传程序到ARM开发板,主要是硬件和网络连接,所使用的软硬件资源如下:
- FriendlyARM开发平台(S3c2440 CPU)
- 笔记本一台,装有Ubuntu/Win7双系统,主要使用Ubuntu系统,作为宿主机。
- 台式机一台,XP系统,主要用于ARM平台之上的Linux的串口调试,由于笔记本没有串口接口,所以使用实验室的台式机用于调试。
- 交叉网线一根,主要是交叉网线,不是普通的网线。
首先通过串口线将ARM和台式机的串口进行连接,然后在台式机上打开超级终端,设置好串口波特率等参数。将ARM的启动模式掰到Nand Flash模式(ARM中已经烧写了Linux系统),打开电源开关,启动Linux系统,台式机的超级终端显示启动过程的数据,启动完成之后,ARM液晶屏显示界面,超级终端显示Bash,此时可以通过超级终端输入Linux命令,操作ARM上的Linux系统。
然后将ARM和笔记本(宿主机)进行网络连接,通过交叉网线连接ARM和笔记本的网卡,连接完成之后手动配置网络参数,使其在同一网段。打开笔记本网络连接,配置网络参数为:
- IP:192.168.0.1
- 子网掩码:255.255.255.0
- 网关:不填
-
DNS:192.168.0.1
然后通过台式机的超级终端输入bash命令配置ARM的网络:
-
IP:192.168.0.2
- 子网掩码:255.255.255.0
- 网关:不填
-
DNS:192.168.0.1
配置IP和子网掩码使用命令:ifconfig eth0 192.168.0.2 netmask 255.255.255.0
设置DNS通过修改/etc/resolv.conf实现,nameserver 192.168.0.1
设置完成之后,笔记本和ARM可以互相ping通,说明网络连接已经完成。(笔记本使用Win7系统时,配置完成后,笔记本ping ARM正常,ARM ping笔记本没有收到数据,通过在笔记本上用Wireshark检测发现,笔记本能收到ARM发来的请求,但没有回复,可以还需要某些地方的设置吧,已经两台电脑联网也有这样的问题。但笔记本运行Ubuntu后可以互相ping通。)