一、交叉开发模式
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)-ofile:生成目标文件
(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
2、ATPCS规则(ARM程序和Thumb程序中子程序调用的规则)
分享到:
相关推荐
压缩包内包含了Linux 内核完全剖析——基于0.12内核.pdf、Unix环境高级编程.pdf、计算机操作系统 第三版.pdf、计算机图形学.pdf和嵌入式Linux应用开发完全手册韦东山_绝对完整版1.pdf。
嵌入式Linux 是将日益流行的Linux操作系统进行裁剪、修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式Linux既继承了intelnet上无限的开放原代码资源,又具有嵌入式操作系统的特性。嵌入式Linux有巨大的...
本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 Linux 开发所必备的基础知识, 以实用和够为标准进行介绍开发所...
第1篇扼要地介绍嵌入式Linux系统开发的基础知识,并回顾ANSI C语言的语法知识。第2篇介绍嵌入式Linux C语言开发中的重要技术,包括常用数据类型与修饰符、预处理器与重要函数、常用数据结构及嵌入汇编语言与移植性...
《嵌入式Linux应用开发完全手册》全面介绍了嵌入式Linux系统开发过程中,从底层系统支持到上层GUI应用的方方面面,内容涵盖Linux操作系统的安装及相关工具的使用、配置,嵌入式编程所需要的基础知识(交叉编译工具的...
目录第1章 Linux快速入门 1.1 嵌入式Linux基础 1.2 Linux安装 1.3 Linux文件及文件系统 1.4 实验内容——安装Linux操作系统 本章小结 思考与练习 第2章 Linux基础命令 2.1 Linux常用操作命令 2.2 ...
《嵌入式Linux应用程序开发详解》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux的安装过程、基本操作命令讲起,为Linux初学者能快速入门提供了保证。接着系统...
《嵌入式linux c语言基础与实例进阶》面向学习linux c语言的初中级读者,《嵌入式linux c语言基础与实例进阶》共16章,分别介绍了嵌入式系统基础知识、linux环境下c语言的开发、bootloader、linux环境下c语言编程...
嵌入式linux基础知识
第3章 嵌入式编程基础知识 第4章 Windows、Linux环境下相关工具、命令的使用 第2篇 ARM9嵌入式系统基础实例篇 第5章 GPIO接口 第6章 存储器控制 第7章 内存管理单元MMU 第8章 NAND Flash控制器 第9章 中断体系结构 ...
在嵌入式Linux软件开发中讲述了嵌入式Linux C语言开发工具的使用、标准库的使用、多任务开发基础和设备驱动开发基础;在嵌入式应用系统实例分析中讲述了嵌入式Linux的网络程序开发、MiniGUI图形界面开发、CAN总线...
嵌入式Linux开发基础知识,适合刚入门的兄弟们~~~
本书从嵌入式系统基础知识和Linux编程技术讲起,接下来说明了嵌入式Linux交叉开发环境的建立,然后分析了嵌入式Linux系统的引导程序、内核和文件系统三大组成部分,最后介绍了嵌入式Linux系统集成和部署的方法。...
本书共12 章,内容包括嵌入式基础知识、Linux 概述、ARM 体系架构、嵌入式编程、交叉工具链、Bootloader、定制内核、文件系统、驱动程序开发基础、嵌入式图形设计等。本书的最后给出了一个综合实例,帮助读者理解...
嵌入式 Linux C语言基础知识
嵌入式Linux系统开发技术详解--基于ARM(完整版).docx,主要嵌入式开发基础知识,及工具链(编译器、调试器)制作,内核配置及调试,文件系统制作等
《嵌入式Linux应用程序开发标准教程》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux基础、基本操作命令讲起,为Linux初学者能快速入门提供了保证。接着系统地...
第1章 嵌入式系统基础知识 .1 1.1 嵌入式系统概述 1 1.1.1 嵌入式系统的发展史 2 1.1.2 嵌入式系统的定义与特点 3 1.1.3 嵌入式系统的特点 4 1.2 嵌入式系统的组成 5 1.2.1 嵌入式系统的硬件架构...
本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 本篇主要讲述进行嵌入式 Linux 开发所必备的基础知识, 以实用和够为标准进行介绍开发所...
嵌入式LINUX程序设计基础 介绍了如何建立嵌入式LINUX程序的交叉编译环境 工程管理器make的基本知识 LINUX C/C++设计的基本知识等。