嵌入式Linux教程基础知识

2019-07-12 18:04发布

一、交叉开发模式 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函数 请查阅《常用Makefile函数》: http://www.linuxidc.com/Linux/2012-07/65309p2.htm 四、ARM汇编指令 1、常用ARM汇编指令 请查阅《常用ARM汇编指令》: http://www.linuxidc.com/Linux/2012-07/65309p3.htm 2、ATPCS规则(ARM程序和Thumb程序中子程序调用的规则) 本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2012-07/65309p4.htm