嵌入式linux一个简单的hello程序编译及运行示例
由于嵌入式的cpu速度比较慢,所以嵌入式linux的程序编译在pc机上面,pc机上面的编译程序一方面需要嵌入式linux的编译工具,另一方面需要在linux系统上面,这种在pc上编译嵌入式linux程序的方式称为交叉编译,嵌入式linux的编译工具称为交叉编译工具链,这里以华为海思cpu的一个简单的hello程序作为示例完成熟悉整个过程
1、搭建嵌入linux交叉编译环境
2、设置环境变量
3、编写程序编译
4、复制执行程序到嵌入式板子
5、执行
1、搭建嵌入linux交叉编译环境
这个就是解压压缩包
Linux上面解压 tar -jxvf arm-hisiv300-linux.tar.bz2
2、设置环境变量
一般嵌入式linux工程师不止一个编译工具
所以还是经常用临时指定方式
export PATH=~/Desktop/aiot/arm-hisiv300-linux/bin
3、编写程序编译
hello_haisi.c
#include <stdio.h>
int main()
{
printf("hello haisa\n");
return 0;
}
编译和原来linux编译一样,就是把gcc换成工具链里面的gcc
arm-hisiv300-linux-uclibcgnueabi-gcc hello_haisi.c -o hello
4、复制执行程序到嵌入式板子
有连接网线可以用ftp、nfs等网络文件共享的方式传,这里直接复制到u盘
然后在嵌入式linux机器上面插上u盘
嵌入式linux上面打开串口终端
挂载u盘 mount /dev/sda1 /mnt
进入u盘目录 cd /mnt/
5、执行
和pc机linux上面一样
./hello