嵌入式Linux教程基础知识
2014-06-06 11:15
344 查看
一、交叉开发模式
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://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
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://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
相关文章推荐
- Embedded Linux Primer----嵌入式Linux基础教程--2.1节--需要嵌入式系统吗?
- Embedded Linux Primer----嵌入式Linux基础教程--前言一
- Linux教程:文件系统基础知识
- 【分享】4412开发板-嵌入式Linux开发需要掌握的基础知识和技能
- 嵌入式Linux入门基础知识 ---- 链接脚本、汇编语言、混合编程
- 李明老师Linux基础知识与系统管理视频教程下载地址汇总
- Embedded Linux Primer----嵌入式Linux基础教程--导论
- 嵌入式Linux基础知识
- Embedded Linux Primer----嵌入式Linux基础教程--2.3.1~4节--存储注意事项
- 【嵌入式Linux+ARM】硬件相关基础知识(门电路_UART_I2C_SPI)
- 嵌入式Linux基础教程(第2版)
- Embedded Linux Primer----嵌入式Linux基础教程--导论
- Embedded Linux Primer----嵌入式Linux基础教程--前言二
- Embedded Linux Primer----嵌入式Linux基础教程--2.4节--嵌入式Linux发行版
- 嵌入式linux基础知识累积
- 嵌入式Linux系统基础知识
- 兄弟连Linux基础知识与系统管理视频教程下载地址汇总
- Embedded Linux Primer----嵌入式Linux基础教程--章节介绍
- 嵌入式Linux基础知识
- 嵌入式Linux系统基础知识(转)