1.linux环境搭建

本文详细介绍了如何在Ubuntu16.04环境下配置GCC4.6.4编译器,U-Boot版本2013.01,以及使用NFS和TFTP进行开发板与主机间的文件传输。涵盖了硬件需求、库的安装、交叉编译环境搭建、U-Boot参数设置、Ubuntu网络配置和TFTP/NFS服务器的搭建步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.软硬件要求

GCC 编译器的环境 : gcc4.6.4

ubuntu版本:ubuntu 16.04

uboot版本:uboot2013.01

NFS      : NFS(网络文件系统)为开发板和linux主机之间的通讯。

TFTP    : TFTP服务器用来实现开发板和linux主机之间的下载和上传

硬件要求:Cortex-A9(fs4412)、Zigbee、电脑主机

软件环境:ubuntu、

2、一些必要的库的安装

*******前提是ubuntu能够正常上网**********

sudo apt-get update   //更新源
sudo apt-get -f install  //更新依赖
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk subversion libz-dev  //安装必要的包

 *******ubuntu若是64位系统再继续安装这两个包**********

sudo apt-get install lib32z1 lib32ncurses5  //64 位系统的安装需要先安装如下两个包:
sudo apt-get install  包名  //安装包用的格式

3、交叉编译环境搭建

 3.1 解压工具链压缩

cd ~
mkdir toolchain
cd toolchain
//将下载的交叉编译工具/gcc-4.6.4.tar.xz 拷贝到 toolchain 目录下并解压
tar xvf gcc-4.6.4.tar.xz gcc-4.4.6.tar.xz gcc-4.5.1.tar.xz

3.2 环境变量的添加

修改文件/etc/bash.bashrc 并添加如下内容
sudo vi /etc/bash.bashrc
打开bash.bashrc文件后:
在最后一行添加 export PATH=$PATH:/home/fengjunhui/toolchain/gcc-4.6.4/bin   //根据自己的gcc-4.6.4路径添加
保存退出
source /etc/bash.bashrc    //重启配置文件

 3.3 查看环境变量

echo $PATH
出现 /home/linux/bin:/home/linux/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

 3.4工具链的测试

arm-none-linux-gnueabi-gcc -v
出现
Using built-in specs.
COLLECT_GCC=arm-none-linux-gnueabi-gcc
最后两行:
Thread model: posix
gcc version 4.6.4 (crosstool-NG hg+default-2685dfa9de14 - tc0002)

4、u-boot参数设

*******确认开发板能够SD卡启动**********

串口终端软件界面下,给开发板加电,刚加电时有几秒的倒计时,在倒计时时间内,敲空格键可以进入u-boot命令行
在u-boot命令行(SecureCRT)下一次执行如下u-boot命令:

fs4412# setenv serverip 192.168.9.16     #设置utuntu(服务端)端的ip地址

fs4412# setenv ipaddr 192.168.9.99       # 设置开发板端的IP地址 保证与服务端在同一个网段

fs4412# setenv gatewayip 192.168.9.1     #  保证与服务端在同一个网段

fs4412# setenv bootcmd tftp 41000000 uImage\;tftp 42000000 exynos4412-fs4412.dtb\;bootm 41000000 - 42000000
                                        
fs4412# setenv bootargs root=/dev/nfs nfsroot=192.168.9.16:/opt/4412/rootfs rw console=ttySAC2,115200 init=/linuxrc ip=192.168.9.99

fs4412# saveenv

*******只需要把ubuntu服务器IP与uboot服务器IP一致,其余IP网关一样。*******

5、ubuntu网络配置

1.设置VMwere为桥接模式(USB连接)

2.进入ubuntu 网络设置为 Disconnect(断开)

sudo ifconfig eth0 192.168.9.16     //设置ubuntu服务器IP       (注意:可能eth0可能找不到,通过ifconfig查询)
ifconfig        //查看服务器IP

6、TFTP环境搭建

6.1 检查 tftp 服务器是否存在:

 dpkg -s tftpd-hpa

6.2 若未安装

 sudo apt-get install tftpd-hpa tftp-hpa

 通过安装时的打印信息,来确定在 etc 目录下的配置文件

6.3 修改配置文件

 sudo vim /etc/default/tftpd-hpa
 出现
 # /etc/default/tftpd-hpa
 ​
  TFTP_USERNAME="tftp"        //用户名
  TFTP_DIRECTORY="/tftpboot"   //你的 tftp 服务器所在的路径
  TFTP_ADDRESS=":69"   //tftp 服务器的网关和端口号
  TFTP_OPTIONS="-l -c -s"     //tftp 文件服务器的可供选择的权限, get file\ put file \ list file

6.4 创建 tftp 服务器所在的路径:

 cd /       //进入根目录     在根目录下创建
 sudo mkdir tftpboot  //和配置文件的名字和路径必须保持一致
 sudo chmod 777 tftpboot //修改 tftp 服务器文件夹的权限

6.5 ubuntu下拷贝uImage、exynos4412-fs4412.dtb两个文件到/tftpboot目录下

将 uImage exynos4412-fs4412.dtb 拷贝到 tftpboot 下

6.6 重启 tftp 服务器:

sudo service tftpd-hpa restart
出现  (高版本可能不出现以下信息)
tftpd-hpa stop/waiting
tftpd-hpa start/running, process 6439

测试tftp

root@Linux:/# tftp localhost
tftp> get zImage
tftp> q

6.7 启动开发板加载内核

等待内核加载完成 并能够控制ubuntu

7、nfs 环境搭建

1、安装
sudo apt-get update //更新一下源
sudo apt-get -f install //更新一下依赖
sudo apt-get install nfs-kernel-server //如果不存在,就在线下载并安装

2、修改 nfs 配置文件:
mkdir ~/source
cp rootfs.tar.gz .
tar xvf rootfs.tar.g

在这个目录下有这两个文件
linux@ubuntu:~/source$ pwd
/home/linux/source
linux@ubuntu:~/source$ ls
rootfs rootfs.tar.xz

sudo vim /etc/exports
添加如下内容:
/home/linux/source/rootfs *(rw,sync,no_subtree_check,no_root_squash)

3、重启 nfs 服务器
sudo /etc/init.d/nfs-kernel-server restart

出现 [OK] 字样表示完成

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值