`
本帖最后由 suyong_yq 于 2015-8-20 00:20 编辑
【在PC和虚拟Linux主机之间建立数据通道并上传交叉编译器】
【通过 NFS 建立虚拟Linux主机同开发板之间的数据通信】
------------------------------------------------------------------------------------
【在PC上安装Linux虚拟机】
1. VirtualBox
2. Ubuntu 12.04 LTS
3. 配置虚拟Linux网络类型为NAT,在系统内设定固定IP为192.168.2.105
【在PC和虚拟Linux主机之间建立数据通道并上传交叉编译器】
使用sftp实现网络文件共享
1. 首先在虚拟Linux主机上安装ssh server
2. 在PC上安装SFTP
要去下载一个 winSCP,项目主页链接:http://winscp.net/eng/index.php
Figure_01
在PC上通过WinSCP登录虚拟Linux主机。
Figure_02
3. 上传交叉编译器
在虚拟Linux的/home/andrew/下创建目录“fsl_imx283”作为开发根目录,专门用于存放imx283开发资料及代码。
Figure_03
4. 解压压缩包
在虚拟Linux主机上切换当前目录至开发根目录。解压刚刚从PC上传过来的压缩包。
tar xvf gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2
|
压缩包里的文件不少,所以要稍微等一下。
解压之后可以看到解压出来的“gcc-4.4.4-glibc-2.11.1-multilib-1.0”文件夹下只有一个“arm-fsl-linux-gnueabi”目录,把这个目录提出来到开发根目录下。
mv -f gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/ .
rm -rf gcc-4.4.4-glibc-2.11.1-multilib-1.0
|
5. 接下来把这个工具链添加到环境变量.
在当前用户(andrew)下,编辑 .bashrc 文件
在文件的最最后一行添加:
export PATH=$PATH:/home/andrew/fsl_imx283/arm-fsl-linux-guneabi/bin
|
使用以下命令,使新的环境变量 立即生效
打印环境变量,看看新添加的变量是否生效了
Figure_04
查看 arm-fsl-linux-gnueabi-gcc 的版本. 如有有输出即表示安装成功.
arm-fsl-linux-gnueabi-gcc -v
|
Figure_05
【登录开发板并配置网络连接】
1. 在PC机通过串口终端登录开发板
使用一个USB转TTL串口的小电路板将PC同开发板的串口连接起来。
串口波特率:115200
登录用户名:root
登录密码:root
登录成功!
Figure_06
2. 设置固定IP
在"/etc/rc.d/init.d/start_userapp"文件中添加配置静态IP语句
ifconfig eth0 192.168.12.120
|
3. 尝试使用ssh通信登录开发板
1) 在PC上使用ssh通信登录
a. 在Tera Term的终端创建新的连接:
Figure_07
b. 首次登录需要添加“指纹”:
Figure_08
c. 在对话框中输入登录用户名和密码:
Figure_09
登录成功:
Figure_10
2) 在Linux主机登录开发板系统
在Terminal中使用ssh命令登录:
然后就是输入密码“root”。
登录成功:
Figure_11
【通过 NFS 建立虚拟Linux主机同开发板之间的数据通信】
1. 在虚拟机Linux中安装nfs-kernel-server
sudo apt-get install nfs-kernel-server
|
2. 编辑配置文件,指定共享目录。这里共享整个“/home”,以后再增加新用户就不需要再配置NFS服务了。
Figure_12
3. 重启服务,使新配置生效
sudo /etc/init.d/nfs-kernel-server restart
|
4. 在开发板上挂载 NFS
这里在虚拟Linux主机登录开发板的ssh终端中操作开发板
mount 192.168.2.105:/home /mnt -o nolock
|
Figure_13
进入开发板的/mnt 目录, 发现Linux主机中的 /home 目录的所有文件都挂载到开发板上了
Figure_14
【编写并运行第一个程序HelloWorld】
1. 在Linux主机上创建源文件“HelloWorld.c”
在开发根目录下创建“code”子目录,并在其中创建“HelloWorld.c”源代码文件。
mkdir code
nano HelloWorld.c
|
Figure_15
2. 然后在Linux主机上使用交叉编译器编译源文件
arm-fsl-linux-gnueabi-gcc HelloWorld.c -o HelloWorld
|
编译成功,产生 HelloWorld文件
Figure_16
3. 在开发板上运行HelloWorld
切回到登录开发板的终端,由于建立了NFS映射,在开发板的文件系统中也能看到生成的HelloWorld可执行文件。
运行HelloWorld
Figure_17
至此,编程环境搞定,准备下一步应用程序的开发。
网页排版系统还是搞得不太理想。若是想要更好的阅读体验,可以戳进我的笔记分享页面,http://note.youdao.com/share/?id=d82b738bbf6dc30636075d8eaaa903c8&type=note
`