linux基础学习之 ARM嵌入式第一个程序

2019-07-12 19:11发布

最简单的基于Linux开发的代码当然是hello world! 新建一个文件保存为hello.c #include int main(void) { printf("Hello World "); printf("my name is leo "); return 0; } ~ ~
在虚拟机里面打开终端,切换到文件目录下,先编译,
gcc -c hello.c
gcc -o hello hello.o
即可得到hello的可执行文件
./hello 就完成了。

但是这样并不能在ARM板子上执行,需要用交叉编译器编译,而不是gcc。
我们需要用的是arm-hisiv100nptl-linux-gcc
这是uclibc交叉编译器。
uClibc比一般用于Linux发行版的C库GNU C Library (glibc)要小得多,glibc目标是要支持最大范围的硬件和内核平台的所有C标准,而uClibc专注于嵌入式Linux.很多功能可以根据空间需求进行取舍。 uClibc运行于标准的以及无MMU的Linux系统上,支持i386,x86 64,ARM (big/little endian), AVR32,Blackfin,h8300,m68kMIPS (big/little endian), PowerPCSuperH (big/little endian), SPARC,和v850等处理器。 所以我们编译的过程应该是
arm-hisiv100nptl-linux-gcc  -c  hello.c

arm-hisiv100nptl-linux-gcc -o hello hello.o

这样得到的可执行文件就可以在ARM开发板上执行了。
把上述得到的可执行文件放到NFS目录下,在ARM开发板的串口中打开NFS目录,然后
./hello 完成。