ieee80211_ops

struct ieee80211_ops 结构体定义就不贴在这了,这边贴一个 ath9k 具体的赋值 struct ieee80211_ops ath9k_ops = { .tx = ath9k_tx, .start = ath9k_start, .stop = ath9k_stop, .add_interface = ath9k_add_interface, .change_interface = ath9k_change_interface, .remove_interface = ath9k_remove_interface, .config = ath9k_config, .configure_filter = ath9k_configure_filter, .sta_state = ath9k_sta_state, .sta_notify = ath9k_sta_notify, .conf_tx = ath9k_conf_tx, .bss_info_changed = ath9k_bss_info_changed, .set_key = ath9k_set_key, .get_tsf……

阅读全文

elf 与 bin 文件区别

区别 gcc 编译出来的是 elf 文件。通常 gcc test.c 生成的 a.out 文件就是 elf 格式的,在 linux shell 下输入 ./a.out 可以执行。 $ file a.out a.out: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, not stripped bin 文件是经过压缩的……

阅读全文

.s .S .asm

汇编文件后缀名 汇编文件往往以 .s、.S、.asm 为后缀名。 通常情况下,Linux 是不关心文件后缀名的。 但是,某些应用程序有一些固定用法,比如……

阅读全文

GDB 技巧

打印下一条要执行的汇编代码 (gdb) set disassemble-next-line on n 和 ni (gdb) n (gdb) ni n 是执行下一条 C 语言代码 ni 是执行下一条汇编指令 反汇编 (gdb) disassemble main (gdb) disassemble add 反汇编某个函数 在函数入口打断……

阅读全文

GitCode 部署公钥,免密访问

步骤 生成公钥 ssh-keygen -t rsa -C "***@qq.com" 复制公钥 cat ~/.ssh/id_rsa.pub 部署公钥 注意 一定要把仓库设置成 ssh 方式访问,通过 https 方式访问是无法免密的。 想想也是,上述部署的密钥是 ssh key 啊,所……

阅读全文

vscode 使用技巧

task 可以在 vscode 中创建任务 可以手动运行任务 也可以将任务加入到自动化脚本中,如下,在启动 gdb 之前,会执行 preLaunchTask,我们在 gdb 之前启动 q……

阅读全文

自制操作系统

计算机的启动流程 BIOS 在开机的一瞬间,也就是上电的一瞬间,CPU 的 CS:IP 寄存器被强制初始化为 0xF000:0xFFF0。 由于开机时处于实模式,段基址……

阅读全文

host 命令

host 命令使用 host hostname [server] [server]:使用不是由 /etc/resolv.conf 文件定义的 DNS 服务器来查询某台主机的 IP。 应用举例 第一种方法:使用 /etc/resolv.conf 中定义的DNS服务器查出百度……

阅读全文

如何配置 uboot

前言 想为一款 SOC 开发 uboot,需要做如下事情: 下载 uboot 源码 下载 SOC 对应的交叉编译工具,并在 host 机上配置好交叉编译环境 配置 uboot 编译 uboot 烧录 运行 调试 下面以……

阅读全文

linux-firmware

前言 今天在使用 buildroot 编译 licheepi zero 镜像时,看到 buildroot 会去下载 linux-firmware 压缩包。很好奇这个压缩包是干嘛用的? 解释 linux-firmware 里面包含了各种外设的固件。很多外设硬件需要自己的固……

阅读全文