交叉编译环境

01_apt-get在线管理工具

一般使用apt-get去获取安装包的。就跟自己去官网下载一样,apt-get有一个下载源的配置

vi /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal universe
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse
deb http://security.ubuntu.com/ubuntu/ focal-security restricted multiverse universe main

我们可以进入http://mirrors.aliyun.com/ubuntu/网站看阿里云提供的工具包代码。

sudo apt-get install 软件包名 --- 下载并安装指定的软件包 *

sudo apt-get remove 软件包名  --- 卸载指定的已安装的软件包 *

sudo apt-get update --- 刷新软件源清单 *

下载时需要配置虚拟机的网络

1.虚拟网卡
虚拟机编辑->虚拟网络编辑器->更改设置->桥接模式->选中windows主机正在工作的网卡(电脑没有网卡插口的可以选择无线网卡,或者购买转换器会自动生成USB网卡)->确定
2.让虚拟机使用该网卡    
虚拟机->设置->网络适配器->自定义->选中上一步配置的网卡->确定
sudo service network-manager restart --- 重启网络服务

02_dpkg

dpkg离线管理工具,就向断网状态的手机,没有网络,下载了安装包,也能安装和正常使用软件。

dpkg -s <软件包名>    显出软件包的安装状态

dpkg -L <软件包名>    列出安装的软件包清单
dpkg -r <软件包名>    移除一个已经安装的软件包   

03_交叉编译环境

交叉编译环境分为硬件环境和软件环境。

03_01硬件环境

硬件环境有三部分:高性能的主机、连接介质、从机。

在x86架构下的主机编译arm程序(在板子上编译太久了,性能不够),通过连接介质,传输到arm架构的从机中去。

连接介质可以通过串口,可以通过网络。串口的传输大小如果是115200也就大概14k左右,所以使用网络会更快一些。不过要想回显——即把从机收到的数据返回给主机,如果通过网络较为复杂,需要配置ssh和用户名密码,而且有一些数据网络无法显示,串口则可以,所以使用网络让从机下载主机文件,使用串口回显。

03_02软件环境

1.交叉开发工具

在x86架构下编译arm架构的工具链,例如gcc,ld,objdump,objcopy,as等。

2.下载工具

通过网络的下载工具有tftp和nfs。tftp是tcp/ip应用层的协议,基于传输层的udp。NFSv3以前是基于UDP,NFSv4基于TCP。

04_tftp

tftp是网络通信软件,有服务器端和客户端。服务器为主机,客户端是为从机的板子。

04_01服务器配置

dpkg -s tftpd-hpa //查看是否安装tftp服务

sudo apt-get install tftpd-hpa tftp-hpa //没安装,用apt-get安装

sudo vi /etc/default/tftpd-hpa  //在此目录下配置共享文件夹,放在用户目录下

service tftpd-hap restart //使其生效

04_02客户端配置 

前提是uboot正常启动,(即uboot移植成功)因为要用set命令,以及save。以及板子的loadb和go命令。(loadb是通过串口kermit协议下载数据)

set serverip 192.168.66.66   //服务的ip,在虚拟机自定义

set ipaddr 192.168.66.4        //板子的ip,自己设置,前三段和服务器相同

set netmask 255.255.255.0  //掩码

set gatewayip 192.168.66.1  //网关

save

04_03下载 

tftp 41000000 led.bin //下载二进制代码,板子的起始地址从手册查看,被下载的文件需要权限

go 41000000    //简单的跳转到指定地址,执行内存中的二进制代码,也属于uboot命令

tftp 

//启动Linux(bootm)内核后,即有了操作系统的下载方式:

tftp -g -r 1.c 192.168.66.66//-g是get模式从服务器下载到本机,-r是要下载的远程文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值