上一页 1 2 3 4 5 6 7 ··· 13 下一页
摘要: 弱符号与强符号 说明 对于C/C++语言来说,编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为弱符号。我们也可以通过GCC的"__attribute__((weak))"来定义任何一个强符号为弱符号。注意,强符号和弱符号都是针对定义来说的,不是针对符号的引用。 比如我们有下面这段程序 阅读全文
posted @ 2023-10-29 14:51 zephyr~ 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 为了学习使用objdump和size命令,以simple_section.c为例进行分析。 编译环境是x86 ubuntu下的交叉编译arm指令: 首先编译这个文件。 arm-none-eabi-gcc -c simple_section.c 命令解释 objdump 作用:分析二进制文件的内容信息 阅读全文
posted @ 2023-10-28 21:04 zephyr~ 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 为了学习使用objdump和size命令,以simple_section.c为例进行分析。 编译环境是x86 ubuntu,首先编译这个文件。 gcc -c simple_section.c 命令解释 objdump 作用:分析二进制文件的内容信息 objdump --help Usage: obj 阅读全文
posted @ 2023-10-28 20:46 zephyr~ 阅读(36) 评论(0) 推荐(0) 编辑
摘要: linux 资料 对i2c和smbus的协议进行了总结提炼 https://docs.kernel.org/i2c/index.html i2c和smbus的时钟和电气特性差异 https://www.totalphase.com/support/articles/200349186-differe 阅读全文
posted @ 2023-10-28 15:27 zephyr~ 阅读(10) 评论(0) 推荐(0) 编辑
摘要: gnu解释 https://gcc.gnu.org/onlinedocs/gnat_ugn/Compilation-options.html 从最终可执行镜像中删除未使用的function和data,是由链接器来完成的。需要以下几个步骤 function和data编译成单独的section,使用编译 阅读全文
posted @ 2023-10-05 10:01 zephyr~ 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 编译基础概念 为了描述链接器脚本语言,我们需要定义一些基本概念和词汇。 链接器干的主要事情就是把输入文件整合成一个输出文件。那么输入是什么?输出是什么?怎么整合?整合的是什么信息? 输入和输出文件都是object文件格式。它们都称为目标文件。输出文件又称为可执行文件。它们的内容格式类似,都有很多的s 阅读全文
posted @ 2023-09-28 18:47 zephyr~ 阅读(159) 评论(0) 推荐(0) 编辑
摘要: GNU不同编译选项的区别 nostartfiles 不使用启动文件,默认使用库 nodefaultlibs 不使用默认库,默认使用启动文件 nostdlib 不使用启动文件,不使用默认库 nolibc 不使用启动文件,不使用与系统库紧耦合的库 -nostartfiles -nodefaultlibs 阅读全文
posted @ 2023-08-14 21:39 zephyr~ 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 什么是GDB 常用操作速查 GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 命令 解释 file <path-to/*.elf> 加载符号表 c Continue,继续执行被调试程序,直至下一个断点或程序结束 b 设置断点 s step,执行一行源 阅读全文
posted @ 2023-08-10 11:34 zephyr~ 阅读(28) 评论(0) 推荐(0) 编辑
摘要: # sourceware是谁 Sourceware是一个免费软件托管项目,大多数项目是工具链和开发人员工具。Sourceware由志愿者维护。硬件和带宽由赞助商提供。被托管的项目是独立的。 Sourceware的目标是为自由软件项目提供一个无忧、友好的家。 Sourceware的赞助商主要由Red 阅读全文
posted @ 2023-08-10 11:28 zephyr~ 阅读(259) 评论(0) 推荐(0) 编辑
摘要: # zsh 先确定你是用的 shell 类型,运行echo $SHELL 如果你使用的是 zsh,那么修改 /etc/zshrc 其中有一行设置 PS1的值的,修改为 `PS1="%n@%m %1~ %# "` 其它的 zsh 中转义变量 ```shell %T 系统时间(时:分) %* 系统时间( 阅读全文
posted @ 2023-08-09 11:35 zephyr~ 阅读(226) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 13 下一页