随笔分类 -  RISC-V编译链接

摘要:Linux ELF 分析18之xxd工具的使用 目录Linux ELF 分析18之xxd工具的使用1 xxd 工具常用选项1.1 基本模式1.2 输出格式控制1.3 显示风格与美化1.4 帮助与信息2 典型使用场景 xxd 用于将二进制文件转换为十六进制,也可以将hex dump 转回二进制。 1 阅读全文
posted @ 2026-08-29 16:28 sureZ_ok 阅读(17) 评论(0) 推荐(0)
摘要:Linux ELF 分析17之make工具的使用 目录Linux ELF 分析17之make工具的使用1 make 工具常用选项1.1 帮助与版本1.2 目录与环境控制1.3 Makefile 输入控制1.4 目标构建行为控制1.5 并行与性能控制1.6 错误与容错控制1.7 调试与诊断选项2 典型 阅读全文
posted @ 2026-08-29 16:27 sureZ_ok 阅读(7) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链18之ldd命令的使用 目录RISC-V Binutils工具链18之ldd命令的使用1 ldd 工具常用选项1.1 基本语法1.2 依赖分析与重定位处理1.3 依赖关系报告1.4 帮助与版本2 典型使用场景 ldd(List Dynamic Dependenci 阅读全文
posted @ 2026-08-29 16:27 sureZ_ok 阅读(12) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链15之file命令的使用 目录RISC-V Binutils工具链15之file命令的使用1 file 工具常用选项2 典型使用场景2.1 判断文件的真实类型(不依赖扩展名)2.2 判断文件的编码格式2.3 查看可执行文件的架构和类型,是否strip(对开发者极有 阅读全文
posted @ 2026-08-29 16:27 sureZ_ok 阅读(22) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链14之c++filt工具的使用 目录RISC-V Binutils工具链14之c++filt工具的使用1 c++filt 工具常用选项2 c++filt基本使用方法3 c++filt更多功能4 网页反修饰工具 c++filt是一个符号解修饰工具,用于将编译器生成的 阅读全文
posted @ 2026-08-29 16:26 sureZ_ok 阅读(6) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链13之addr2line工具的使用 目录RISC-V Binutils工具链13之addr2line工具的使用1 addr2line 工具常用选项2 典型使用场景2.1 addr2line基本使用方法:2.2 更多功能3 注意事项 addr2line 用于将程序地 阅读全文
posted @ 2026-08-29 16:26 sureZ_ok 阅读(7) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链12之strings工具的使用 目录RISC-V Binutils工具链12之strings工具的使用1 strings 工具常用选项1. 1 基本语法1. 2 扫描范围控制1. 2 字符串识别控制1. 3 输出格式与定位信息1. 4 帮助与版本2 典型使用场景 阅读全文
posted @ 2026-08-29 16:25 sureZ_ok 阅读(2) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链11之strip工具的使用 目录RISC-V Binutils工具链11之strip工具的使用1 strip 工具常用选项1. 基本语法1.2 基本剥离模式1.3 保留控制1.4 输入/输出格式控制1.5 帮助2 典型使用场景 strip 用于从目标文件或可执行文 阅读全文
posted @ 2026-08-29 16:25 sureZ_ok 阅读(13) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链10之size工具的使用 目录RISC-V Binutils工具链10之size工具的使用1 size工具常用选项2 典型使用场景2.1 size 工具的基本使用2.2 输出节的大小2.2 对比多个不同ELF的code size size工具主要用于报告目标文件或 阅读全文
posted @ 2026-08-29 16:24 sureZ_ok 阅读(12) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链09之nm工具的使用 目录RISC-V Binutils工具链09之nm工具的使用1 nm 工具常用选项1.1 基本语法1.2 符号选择控制1.3 输出格式控制1.4 排序控制1.5 附加信息显示1.6 文件与符号修饰1.7 符号名处理(Demangling)1. 阅读全文
posted @ 2026-08-29 16:24 sureZ_ok 阅读(7) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链08之as工具的使用 目录RISC-V Binutils工具链08之as工具的使用1 as 工具常用选项1.1 基本语法1.2 输入/输出控制1.3 调试相关1.4 警告与错误控制1.5 RISC-V 架构专用选项2 典型使用场景 as 是 GNU 汇编器(GNU 阅读全文
posted @ 2026-08-29 16:24 sureZ_ok 阅读(9) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链07之ar工具的使用 目录RISC-V Binutils工具链07之ar工具的使用1 ar 工具常用选项1.1 ar 常用选项1.2 通用修饰符(Global Options)1.3 高级功能与特殊选项2 常用命令示例2.1 ar典型使用场景2.2 怎么制作一个静 阅读全文
posted @ 2026-08-29 16:23 sureZ_ok 阅读(12) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链06之objcopy工具的使用 目录RISC-V Binutils工具链06之objcopy工具的使用1 objcopy 工具常用选项1.1 基本语法1.2 输入/输出控制1.3 节区(Section)操作1.4 符号(Symbol)处理1.5 地址与布局控制1. 阅读全文
posted @ 2026-08-29 16:22 sureZ_ok 阅读(8) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链05之objdump工具的使用 目录RISC-V Binutils工具链05之objdump工具的使用1 objdump 工具常用选项1.1 反汇编与代码查看1.2 查看文件结构1.3 内容查看1.4 符号与重定位1.5 帮助与信息类1.6 可选的控制参数1.7 阅读全文
posted @ 2026-08-29 16:21 sureZ_ok 阅读(20) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链03之readelf工具的使用 目录RISC-V Binutils工具链03之readelf工具的使用1 readelf 工具常用选项2 readelf 常用选项举例2.1 查看ELF文件头2.2 查看节(section)2.3 查看程序头(segment)2.4 阅读全文
posted @ 2026-08-29 16:21 sureZ_ok 阅读(9) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链04之ld工具的使用 目录RISC-V Binutils工具链04之ld工具的使用1 ld 工具常用选项1.1 基础与输出控制1.2 架构与仿真1.3 符号与入口点1.4 库与搜索路径1.5 构建共享库与位置无关代码1.6 内存布局与段控制1.7 优化与调试1.8 阅读全文
posted @ 2026-08-29 16:21 sureZ_ok 阅读(13) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链02之gcc工具的使用 目录RISC-V Binutils工具链02之gcc工具的使用1 gcc 工具常用选项1.1 帮助与信息类1.2 路径与环境查询1.3 控制编译流程1.4 输出与调试控制1.5 链接与输出类型1.6 传递选项给子工具1.7 其他高级选项1. 阅读全文
posted @ 2026-08-29 16:20 sureZ_ok 阅读(7) 评论(0) 推荐(0)
摘要:RISC-V Binutils工具链01之编译RISC-V 工具链 目录RISC-V Binutils工具链01之编译RISC-V 工具链1 编译RISC-V 交叉工具链1.1 GCC与Binutils的关系1.2 编译得到RISC-V 工具链2 编译程序2.1 分步骤编译2.2 一步到位的编译2. 阅读全文
posted @ 2026-08-29 16:20 sureZ_ok 阅读(10) 评论(0) 推荐(0)
摘要:大多数情况,嵌入式软件工程师并不需要知道gcc编译器是工作的,但是随着调试深入,了解gcc在软件中的一些常见的用法大有裨益。 这里列一下遇到的一些嵌入式软件中用到的一些gcc知识。 1 GCC关闭某函数的优化 软件库使用O2/O3优化,有时debug时,需要关闭其中某些函数的优化(即使用此函数使用O 阅读全文
posted @ 2023-12-01 18:03 sureZ_ok 阅读(301) 评论(0) 推荐(1)
摘要:GDB是一个由GNU开源组织发布的,基于命令行的、功能强大的程序调试工具。可以让开发者能看到程序在执行时“内部”发生了什么,或者程序崩溃的现场。下图是gdb的吉祥物--弓箭鱼。 GDB主要做以下4种事情: 启动程序 使程序在指定条件下停止(比如打断点) 当程序停止时,检查发生了什么 改变程序的内容, 阅读全文
posted @ 2023-04-16 10:09 sureZ_ok 阅读(801) 评论(0) 推荐(0)