交叉编译:
编译:在一个平台上生成该平台可执行代码。
交叉编译:在一个平台生成另一个平台上可执行的代码。(在windows中编写C51代码,并编译成可执行代码如***.hex)
交叉编译什么情况使用:
1.由于平台不允许或者不能够安装所需要的编译器。
2.有时因为目的平台没有建立,没有操作系统,所以需要交叉编译。操作系统也是代码,需要编译。(平台运行需要bootloader和系统核心)。
宿主机:编译和编译程序的平台,一般是基于X86的PC机,通常称为主机。
目标机:用户开发的系统,通常为非X86主机,宿主机编译得到的可执行代码在目标机上运行。
交叉编译需要使用的工具:交叉编译器。、交叉编译工具链。
交叉编译工具链的安装:
unzip解压下载下来的tool-master压缩包。
配置环境变量
配置的位置
配置成临时有效:
echo $PATH是显示环境变量路径
配置路径:
取PATH的games:加上pwd显示的当前目录
该交叉编译工具链只在当前窗口有效,该窗口一旦关闭,交叉编译工具链就无效。配置成永久有效
修改工作目录下的.bashrc隐藏文件,配置命令终端。
在工作目录下打开.bashrc文件在最后加入上面的export
在工作目录下输入source .bashrc使文件生效。(source是立即生效)
使用交叉编译工具链编译文件并查看文件属性使用file加文件名
从Ubuntu复制复制文件到树莓派:
scp 文件 pi@IP地址:/存放目录。
使用交叉编译工具将socket的ftp项目中的客户端编译成树莓派可执行的代码,让服务端在Ubuntu内运行,客户端在树莓派内运行,实现异端通信。
可以使用arm-linux-gnueabihf-gcc -v查询交叉编译工具链版本。