开发环境搭建
编译工具
编译的代码需要在单板上运行,因此需要使用交叉编译工具。可以使用crosstool制作。制作步骤^ 1待续。若已经制作好编译工具,如crosstool-gcc-4.9.4,将其添加到环境变量
export PATH=$PATH:/opt/crosstool-gcc-4.9.4/bin,立即生效- 修改
~/.bashrc, 添加export PATH=$PATH:/opt/crosstool-gcc-4.9.4/bin,重启终端有效 - 修改
etc/profile,添加export PATH=$PATH:/opt/crosstool-gcc-4.9.4/bin,重新登录有效
服务安装
网络设置
虚拟机设置
- 编辑->虚拟网络编辑器->更改设置->VMnet0->桥接到上网的网卡
- 以太网卡设置为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服务器安装
- 安装软件
apt-get install tftpd-hpa #安装服务器
apt-get install tftp-hpa #安装客户端
- 修改配置
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
- 测试
```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服务安装
- 安装
shell
sudo qpt-get install nfs-kernel-server # 安装
mkdir /home/guo/rootfs # 创建nfs服务的根目录
- 配置
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
- 测试
shell
sudo mount -t nfs 127.0.0.1:/home/guo/rootfs /mnt #挂载到/mnt
ls /mnt # 查看是否与rootfs内容一致
umount /mnt #接触挂载
开发板使用NFS
- 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地址