NXP MCU 技术论坛
直播中

suyong_yq

12年用户 105经验值
擅长:电源/新能源 嵌入式技术 控制/MCU
私信 关注
[讨论]

【AWorks试用体验】搭建嵌入式Linux开发环境流水账

` 本帖最后由 suyong_yq 于 2015-8-20 00:20 编辑

【在PC上安装Linux虚拟机】

【在PC和虚拟Linux主机之间建立数据通道并上传交叉编译器】

【登录开发板并配置网络连接】

【通过 NFS 建立虚拟Linux主机同开发板之间的数据通信

【编写并运行第一个程序HelloWorld】
------------------------------------------------------------------------------------

【在PC上安装Linux虚拟机】

1. VirtualBox
2. Ubuntu 12.04 LTS
3. 配置虚拟Linux网络类型为NAT,在系统内设定固定IP为192.168.2.105

【在PC和虚拟Linux主机之间建立数据通道并上传交叉编译器】


使用sftp实现网络文件共享
1. 首先在虚拟Linux主机上安装ssh server

sudo apt-get install ssh

2. 在PC上安装SFTP

要去下载一个 winSCP,项目主页链接:http://winscp.net/eng/index.php


Figure_01
在PC上通过WinSCP登录虚拟Linux主机。

figure_02.png

Figure_02
3. 上传交叉编译器

在虚拟Linux的/home/andrew/下创建目录“fsl_imx283”作为开发根目录,专门用于存放imx283开发资料及代码。

figure_03.png
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 文件

nano ~/.bashrc

在文件的最最后一行添加:

export PATH=$PATH:/home/andrew/fsl_imx283/arm-fsl-linux-guneabi/bin

使用以下命令,使新的环境变量 立即生效

source ~/.bashrc

打印环境变量,看看新添加的变量是否生效了

echo $PATH

figure_04.png
Figure_04
查看 arm-fsl-linux-gnueabi-gcc 的版本. 如有有输出即表示安装成功.

arm-fsl-linux-gnueabi-gcc -v

figure_05.png
Figure_05

【登录开发板并配置网络连接】


1. 在PC机通过串口终端登录开发板

使用一个USB转TTL串口的小电路板将PC同开发板的串口连接起来。

    串口波特率:115200

    登录用户名:root

    登录密码:root

登录成功!

figure_06.png
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.png
Figure_07
b. 首次登录需要添加“指纹”:

figure_08.png

Figure_08

c. 在对话框中输入登录用户名和密码:

figure_09.png

Figure_09

登录成功:

figure_10.png

Figure_10

2) 在Linux主机登录开发板系统

在Terminal中使用ssh命令登录:


然后就是输入密码“root”。

登录成功:


figure_11.png
Figure_11
【通过 NFS 建立虚拟Linux主机同开发板之间的数据通信】


1. 在虚拟机Linux中安装nfs-kernel-server

sudo apt-get install nfs-kernel-server

2. 编辑配置文件,指定共享目录。这里共享整个“/home”,以后再增加新用户就不需要再配置NFS服务了。

sudo nano /etc/exports

figure_12.png
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.png
Figure_13

进入开发板的/mnt 目录, 发现Linux主机中的 /home 目录的所有文件都挂载到开发板上了




figure_14.png
Figure_14




【编写并运行第一个程序HelloWorld】


1. 在Linux主机上创建源文件“HelloWorld.c”

在开发根目录下创建“code”子目录,并在其中创建“HelloWorld.c”源代码文件。

mkdir code
nano HelloWorld.c

figure_15.png
Figure_15
2. 然后在Linux主机上使用交叉编译器编译源文件

arm-fsl-linux-gnueabi-gcc HelloWorld.c -o HelloWorld

编译成功,产生 HelloWorld文件

figure_16.png
Figure_16
3. 在开发板上运行HelloWorld

切回到登录开发板的终端,由于建立了NFS映射,在开发板的文件系统中也能看到生成的HelloWorld可执行文件。

运行HelloWorld

./HelloWorld

figure_17.png

Figure_17
至此,编程环境搞定,准备下一步应用程序的开发。

网页排版系统还是搞得不太理想。若是想要更好的阅读体验,可以戳进我的笔记分享页面,http://note.youdao.com/share/?id=d82b738bbf6dc30636075d8eaaa903c8&type=note








` figure_01.png

回帖(3)

小萃米

2015-8-20 10:17:46
楼主太用心了 分享的好详细啊
举报

yansome

2015-8-28 07:25:04
感谢分享,学习学习
举报

h1654155814.5925

2015-8-30 18:23:18
楼主。你的资料在哪里下载的??
375871628@qq.com
举报

更多回帖

发帖
×
20
完善资料,
赚取积分