Skip to content

开发环境搭建

编译工具

编译的代码需要在单板上运行,因此需要使用交叉编译工具。可以使用crosstool制作。制作步骤^ 1待续。若已经制作好编译工具,如crosstool-gcc-4.9.4,将其添加到环境变量

  1. export PATH=$PATH:/opt/crosstool-gcc-4.9.4/bin,立即生效
  2. 修改~/.bashrc, 添加export PATH=$PATH:/opt/crosstool-gcc-4.9.4/bin,重启终端有效
  3. 修改etc/profile,添加export PATH=$PATH:/opt/crosstool-gcc-4.9.4/bin,重新登录有效

服务安装

网络设置

虚拟机设置

  1. 编辑->虚拟网络编辑器->更改设置->VMnet0->桥接到上网的网卡
  2. 以太网卡设置为100M全双工,因为开发板支持的为100M

linux 设置

通过使用界面,在设置->网络连接中设置网络模式以及IP。或者通过/etc/network/interfaces 设置,最终应达到可能上网的目的

开发板设置

开发板与linux的网络IP设置为同一网段,假定都是192.168.1.X

设置命令

print  //查看环境变量
set gatewayip 192.168.1.1
set ipaddr    192.168.1.3
set netmark   255.255.255.0
set serverip  192.168.1.5  //服务器IP
save    //保存
----------------
ping 192.168.1.5
//若返回 host 192.168.1.5 is alive 则表明成功联通

TFTP服务器安装

  1. 安装软件
apt-get install tftpd-hpa #安装服务器 
apt-get install tftp-hpa  #安装客户端

  1. 修改配置
1 # /etc/default/tftpd-hpa
2 TFTP_USERNAME="tftp"
3 TFTP_DIRECTORY="/tftpboot " //改成你想要的那个路径
4 TFTP_ADDRESS="0.0.0.0:69"
5 TFTP_OPTIONS="-l -c -s"        //这里是选项
// 重启服务
1 sudo /etc/init.d/xinetd reload
2 sudo /etc/init.d/xinetd restart
  1. 测试

```shell netstat -a|grep tftp # 是否启动

udp 0 0 :tftp :* #表示启动 ```

测试上传和下载

shell cd /home/guo/test # 选择一个路径,不能为tftp服务器根路径 touch file.c # 创建一个要上传的文件 tftp 127.0.0.1 # 开启服务 tftp> put file.c # 上传文件,然后去tfp服务器的路径下载查看是否有此文件

NFS服务安装

  1. 安装

shell sudo qpt-get install nfs-kernel-server # 安装 mkdir /home/guo/rootfs # 创建nfs服务的根目录

  1. 配置

shell sudo vi /etc/exports /home/guo/rootfs *(rw,sync,no_subtree_check,no_root_squash) # 添加此内容 # *:所有用户 # rw: 可读可写 # sync: 同步 # no_subtree: 不检查子目录 # no_root_squash: 如果客户端是root,对该目录具有root权限 sudo service nfs-kernel-server restart

  1. 测试

shell sudo mount -t nfs 127.0.0.1:/home/guo/rootfs /mnt #挂载到/mnt ls /mnt # 查看是否与rootfs内容一致 umount /mnt #接触挂载

开发板使用NFS

  1. uboot设置
 set bootargs "root=/dev/nfs nfsroot=192.168.1.5:/home/guo/rootfs rw console=/dev/ttySAC0,115200 init=/linuxrc ip=192.168.1.3"

# root=/dev/nfs  使用nfs服务
# nfsroot=192.168.1.5:/home/guo/rootfs  根文件系统的路径  IP 是Ubuntu的IP
# rw    可读可写
# console=/dev/ttySAC0,115200     内核启动使用哪个串口作为调试口
# init=/linuxrc     内核启动之后执行的第一个进程对应的程序
# ip=192.168.1.3        内核启动之后的ip地址   也就是开发板的IP地址