嵌入式linux 教程,基础知识 - 嵌入式Linux教程_Linux教程_Linux公社-Linux系统门户网站...

一、交叉开发模式

1、运行嵌入式Linux开发时分3个步骤:

(i)在主机上编译Bootloader,通过烧写工具烧入开发板

(ii)在主机上编译嵌入式Linux内核,通过串口连接写入单板

(iii)在主机上编译各种应用程序,通过网络连接写入单板

2、主机与目标板的连接分3种:

(i)通过烧写工具连接(JTAG、JLink、OpenJTAG)

JTAG需要插25针的并口接口,比较麻烦

JLink与OpenJTAG需要插USB接口,比较方便

(ii)通过串口连接(串口线)

(iii)通过网络连接(NFS,Samba,TFTP)

NFS提供Linux与Linux之间的共享

Samba提供windows与Linux之间的共享

其中的JTAG、JLink、OpenJTAG与串口线这四种硬件插入电脑前,都需要安装

(1)驱动程序

(2)控制程序(例如:JLink——J-Link ARM、 串口线——SecureCRT)

二、交叉编译工具

1、arm-linux-gcc选项

c文件--->预处理--->i文件--->编译--->s文件--->汇编--->o文件--->连接--->目标文件

(1)-E:预处理

(2)-S:编译

(3)-c:汇编

(4)-o file:生成目标文件

(5)-v:显示制作GCC工具自身时的配置命令

(6)-Wall:打开全部警告信息

(7)-g:生成调试信息供GDB使用

(8)-O、-O0、-O1、-O2、-O3:不同级别的编译优化

(9)静态库连接(.a):-llibrary

(10)动态库连接(so):library.so

(11)制作动态库:-share

(12)-nostartfiles:不连接系统标准启动文件

(13)-nostdlib:不连接系统标准启动文件和标准库文件

(14)-static:只支持静态连接

(15)-I:添加头文件搜索路径

(16)-L:添加库文件搜索路径

2、arm-linux-ld选项

(1)-Ttext:指定代码段的起始地址

(2)-Tdata:指定数据段的起始地址

(3)-Tbss:指定bss段的起始地址

(4)-Tscriptfile:连接脚本文件

3、arm-linux-objcopy选项

可以进行文件格式转换

4、Arm-linux-objdump选项

显示二进制文件信息

三、Makefile

1、格式如下:

目标(target):依赖(prerequiries)

命令(command)

2、常用Makefile函数

四、ARM汇编指令

1、常用ARM汇编指令

2、ATPCS规则(ARM程序和Thumb程序中子程序调用的规则)0b1331709591d260c1c78e86d0c51c18.png

你可能感兴趣的:(嵌入式linux,教程)