微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 搭建嵌入式Linux开发环境流水账

搭建嵌入式Linux开发环境流水账

时间:10-02 整理:3721RD 点击:

【在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

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 文件


nano ~/.bashrc

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


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

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


source ~/.bashrc

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


echo $PATH


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命令登录:


ssh root@192.168.2.120

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


登录成功:




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

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


./HelloWorld



Figure_17

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


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






小编太用心了 分享的好详细啊

感谢分享,学习学习

小编。你的资料在哪里下载的?
375871628@qq.com

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top