链接、加载

链接 话不多说,先看例子 test.c #include <stdio.h> int a = 100; void main() { printf("main = %p\n", main); printf("&a = %p\n", &a); printf("a = %d\n", a); *(int *)0x4000010 = 20; printf("a = %d\n", a); } test.lds SECTIONS { .text 0x30000000: { *(.text) } .data 0x4000000: { *(.data) } .bss : { *(.bss) } } $ gcc test.c test.lds -o test -no-pie $ ./test……

阅读全文

Kconfig

Kconfig、Makefile、.config 关系 Linux kernel 的目录结构下一般都会存在 Kconfig 和 Makefile 两个文件,分布在各级目录中的 Kconfig 构成了一个分布式的内核配……

阅读全文

veth-pair

前言 电信规范自 2020 年引入 EasyMesh 功能,其中 Controller 由电信提供插件完成,Agent 由网关实现。 电信为了接口通用,使用了 veth-pair 技术。 参考命令: dev@debian:~$ sudo ip link add veth1 type veth peer name……

阅读全文

汇编笔记

平台 汇编语言是跟平台相关的,使用哪个平台的 GCC,生成的汇编代码就是哪个平台的。 x86 平台: gcc -S simple.i -o simple.s ARM 平台: arm-linux-gcc -S simple.i -o simple_arm.s 所以,编译四步骤:预处理……

阅读全文

WiFi笔记

框架 IEEE802.11协议栈 介绍了mac80211、cfg80211、nl80211等,还有体系结构图……

阅读全文

应用笔记

Socket 堆栈 堆栈非常重要,因为它跟踪程序中运行的函数,而函数又是软件的基本组成模块。 事实上,程序的内部操作通常非常简单。它主要由函数互相调用时将数……

阅读全文

驱动笔记

驱动 B站: [linux] 科G栈 : ldd-test Youtobe: –>GitHub: ldd3 WiFi ath9k ATH9K Driver Learning Part II: Important Transmission Functions data path 优秀 接口 PCIE PCIe实践之路:DMA机制 疑问:内存到内存为什么还需要 DMA ? 回答……

阅读全文