嵌入式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

<tab>命令(command

2常用Makefile函数

请查阅《常用Makefile函数》:http://blog.csdn.net/xuyuanfan77/article/details/7360439

四、ARM汇编指令

1常用ARM汇编指令

请查阅《常用ARM汇编指令》:http://blog.csdn.net/xuyuanfan77/article/details/7360449

2ATPCS规则(ARM程序和Thumb程序中子程序调用的规则)

你可能感兴趣的:(linux,汇编,嵌入式,工具,makefile,linux内核)