随笔分类 -  Linux ARM 全步骤

代码管理工具、GCC编译器、makefile、裸机编程、u-boot、Linux内核
摘要:一、ARM裸机编程 链接地址:https://www.cnblogs.com/kele-dad/category/1467804.html 二、UBOOT S3C2440 的 uboot (uboot 的版本是 2020.04)移植手册:https://download.csdn.net/downl 阅读全文
posted @ 2020-08-17 17:01 游戏进行中 阅读(356) 评论(0) 推荐(0) 编辑
摘要:主题链接地址:https://www.cnblogs.com/kele-dad/category/1194627.html 阅读全文
posted @ 2019-01-07 21:07 游戏进行中 阅读(346) 评论(0) 推荐(0) 编辑
摘要:4.1.2 符号解析与重定位 (1)重定位 在完成空间和地址的分配步骤之后,链接器就进入了符号解析和重定位的步骤,这是静态链接的核心部分。 先看看 a.o 的反汇编文件: objdump -d a.o: 程序代码里面都是使用的虚地址,main 起始地址为 0 ,这是因为在未进行空间分配之前,目标文件 阅读全文
posted @ 2018-08-22 21:54 游戏进行中 阅读(1190) 评论(0) 推荐(0) 编辑
摘要:三、汇编 编译过程就是生成汇编代码的过程,在编译过程中,也会调用汇编器 as,将源代码生成汇编代码。比如,执行 gcc -S hello.c -o hello.s 此时已经生成了汇编代码。 汇编的过程就是将 hello.s 生成目标文件。 汇编器是将汇编代码转变成机器可以执行的指令,每一个汇编语句几 阅读全文
posted @ 2018-08-22 21:52 游戏进行中 阅读(1773) 评论(0) 推荐(0) 编辑
摘要:2.2 语法分析 语法分析器(Grammar Parser)将对由扫描器产生的记号进行语法分析,从而产生语法树(Syntax Tree)。整个分析过程采用了上下文无关语法(Context-free Grammar)的分析手段。 由语法分析器生成的语法树就是以表达式(Expression)为节点的树。 阅读全文
posted @ 2018-08-17 14:31 游戏进行中 阅读(2336) 评论(0) 推荐(0) 编辑
摘要:二、编译 引用文档:https://blog.csdn.net/chdhust/article/details/9040647 编译过程就是把预处理完的文件进行一系列词法分析、语法分析、语义分析及优化后生成相应的汇编代码文件,这个过程是整个程序构建的核心部分,也是最复杂的部分之一。 现在版本的 GC 阅读全文
posted @ 2018-08-17 12:01 游戏进行中 阅读(2515) 评论(0) 推荐(0) 编辑
摘要:Gcc的编译流程分为了四个步骤: 预处理,生成预编译文件(.文件):gcc –E hello.c –o hello.i 编译,生成汇编代码(.s文件):gcc –S hello.i –o hello.s 汇编,生成目标文件(.o文件):gcc –c hello.s –o hello.o 链接,生成可 阅读全文
posted @ 2018-08-16 22:51 游戏进行中 阅读(5166) 评论(0) 推荐(0) 编辑
摘要:4.5 String Table:字符串表 字符串表节区包含以 NULL( ASCII 码 0) 结尾的字符序列, 通常称为字符串。 ELF 目标文件通常使用字符串来表示符号和节区名称。 对字符串的引用通常以字符串在字符串表中的下标给出。 一般, 第一个字节(索引为 0)定义为一个空字符串。类似的, 阅读全文
posted @ 2018-08-16 22:01 游戏进行中 阅读(1461) 评论(0) 推荐(0) 编辑
摘要:四、 ELF 文件格式分析 ELF文件(目标文件)格式主要四种: 可重定向文件: 文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件。(目标文件或者静态库文件,即linux通常后缀为 .a 和 .o 的文件) 可执行文件: 文件保存着一个用来执行的程序。( 阅读全文
posted @ 2018-08-16 21:56 游戏进行中 阅读(3102) 评论(0) 推荐(0) 编辑
摘要:二、ELF 文件介绍 2.1 可执行文件格式综述 相对于其它文件类型,可执行文件可能是一个操作系统中最重要的文件类型,因为它们是完成操作的真正执行者。可执行文件的大小、运行速度、资源占用情况以及可扩展性、可移植性等与文件格式的定义和文件加载过程紧密相关。研究可执行文件的格式对编写高性能程序和一些黑客 阅读全文
posted @ 2018-08-16 21:49 游戏进行中 阅读(1967) 评论(0) 推荐(0) 编辑
摘要:一、目标文件 在 UNIX® 和 Linux® 中,任何事物都是文件。UNIX 和 Linux 编程实际上是编写处理各种文件的代码。系统由许多类型的文件组成,但目标文件具有一种特殊的设计,提供了灵活和多样的用途。 目标文件是包含带有附加地址和值的助记符号的路线图。这些符号可以用来对各种代码段和数据段 阅读全文
posted @ 2018-08-14 22:19 游戏进行中 阅读(2890) 评论(0) 推荐(0) 编辑
摘要:1.3.18 readelf:elf 文件格式分析工具 这个工具和 objdump 命令提供的功能类似,但是它显示的信息更为具体,并且它不依赖 BFD 库( BFD 库是一个 GNU 项目,它的目标就是希望通过一种统一的接口来处理不同的目标文件); ELF 文件类型 ELF(Executable a 阅读全文
posted @ 2018-08-13 22:03 游戏进行中 阅读(3335) 评论(0) 推荐(0) 编辑
摘要:1.3.13 nlmconv nlmconv 将可重定位的对象文件(Infile)转换为 NetWare 可加载模块(outfile),并可选择读取头文件信息获取 NLM 头信息。 选项,描述 -I bfdname --input-target=bfdname 指定源文件得格式为 bfdname - 阅读全文
posted @ 2018-08-13 21:59 游戏进行中 阅读(2601) 评论(0) 推荐(0) 编辑
摘要:1.3.7 gprof:性能分析工具 参考文档:https://www.cnblogs.com/andashu/p/6378000.html gprof是GNU profile工具,可以运行于linux、AIX、Sun等操作系统进行C、C++、Pascal、Fortran程序的性能分析,用于程序的性 阅读全文
posted @ 2018-08-13 21:52 游戏进行中 阅读(6740) 评论(0) 推荐(1) 编辑
摘要:1.3 GCC 工具 1.3.1 binutils 工具集 工具 描述 addr2line 给出一个可执行文件的内部地址,addr2line 使用文件中的调试信息将地址翻译成源代码文件名和行号。 ar 这是一个程序,可通过从文档中增加、删除和析取文件来维护库文件。通常使用该工具是为了创建和管理连接程 阅读全文
posted @ 2018-07-31 10:40 游戏进行中 阅读(10652) 评论(0) 推荐(2) 编辑
摘要:1.1 交叉编译器制作 默认安装的 GCC 编译系统所产生的代码适用于本机,即运行 GCC 的机器,但也可将 GCC 安装成能够生成其他的机器代码。安装一些必须的模块,就可产生多种目标机器代码,而且可通过命令行选择一种希望使用的代码。 1.1.1 目标机 从网站 http://gcc.gnu.org 阅读全文
posted @ 2018-07-30 23:31 游戏进行中 阅读(5794) 评论(0) 推荐(1) 编辑
摘要:一、git工具和账户创建 1.1 安装 Git 是 Linus Torvalds 最近实现的源代码管理软件。"Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。" Git 目前主要由寻找 CVS 或专有代码管理解决方案替代物的软件开发人员所使 阅读全文
posted @ 2018-07-21 00:55 游戏进行中 阅读(806) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示