01-安装交叉编译工具链和仿真器
建立工作目录
cd ~
mkdir dev && cd dev
mkdir object
安装依赖
安装编译工具
sudo apt update
sudo apt upgrade
sudo apt install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi libc6-armhf-cross
测试安装结果
arm-linux-gnueabihf-gcc -v
能看到版本号就可以了
安装qemu
sudo apt install qemu qemu-system qemu-utils qemu-system-arm qemu-user
进行测试
创建文件
// hello.c
#include <stdio.h>
int main()
{
printf("welcome!");
return 0;
}
CC=arm-linux-gnueabi-gcc
CFLAGS=
all:hello
hello:hello.o
$(CC) $(CFLAGS) hello.o -o hello
hello.o:hello.c
$(CC) $(CFLAGS) -c hello.c -o hello.o
clean:
rm -rf hello *.o
复制进去的时候要注意将空格换成tab
$ file hello
hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, BuildID[sha1]=b7e950018ab60c39f2d5aa6b5574e433ada6b477, for GNU/Linux 3.2.0, not stripped
可以看到生成了arm程序
测试执行
guansheng@dive-into-cpp:~/dev/linux/testqemu$ qemu-arm -L /usr/arm-linux-gnueabi/ ./hello
welcome!