01 2020 档案

摘要:下面这条指令应该是将w20从half word(32bit)扩展为word(ARM64),然后这这个word逻辑左移1bit,然后和x1相加,最后将相加结果存至x1 6d14c: 8b344421 add x1, x1, w20, uxtw #1 阅读全文
posted @ 2020-01-15 22:56 aspirs 阅读(2613) 评论(0) 推荐(0) 编辑
摘要:16位数据操作指令名字 功能ADC 带进位加法(ADD with Carry)ADD 加法AND 按位与。这里的按位与和C的”&”功能相同ASR 算术右移(Arithmetic Shift Right)BIC 按位清零(把一个数跟另一个无符号数的反码按位与) 例子: BIC R0, R0 , #0x 阅读全文
posted @ 2020-01-15 21:55 aspirs 阅读(1088) 评论(0) 推荐(0) 编辑
摘要:寄存器r31是一个特殊的寄存器:Zero Register: 在大多数情况下,作为源寄存器使用时, r31读出来的值 是0; 作为目标寄存器使用时, 丢弃结果。 WZR(word zero rigiser)或者XZR(64位) 阅读全文
posted @ 2020-01-15 21:53 aspirs 阅读(4024) 评论(0) 推荐(0) 编辑
摘要:LDR r, label 和 LDR r, =label的区别: LDR r, =label 会把label表示的值加载到寄存器中,而LDR r, label会把label当做地址,把label指向的地址中的值加载到寄存器中。 譬如 label的值是 0x8000, LDR r, =label会将 阅读全文
posted @ 2020-01-15 21:08 aspirs 阅读(645) 评论(0) 推荐(0) 编辑
摘要:Distinguishing between 32-bit and 64-bit A64 instructionsMost integer instructions in the A64 instruction set have two forms, which operate on either 阅读全文
posted @ 2020-01-13 18:10 aspirs 阅读(144) 评论(0) 推荐(0) 编辑
摘要:要先修改linux kernel 源代码的顶层Makefile CC = $(CROSS_COMPILE)gcc 修改为CC = $(CROSS_COMPILE)gcc -g这样编译的内核模块就带有debug信息 #arm-linux-objdump -S -D opps.ko>log#vi log 阅读全文
posted @ 2020-01-11 19:10 aspirs 阅读(558) 评论(0) 推荐(1) 编辑
摘要:地址分布虚拟地址都用64位无符号数表示。用户虚拟地址从高位的63到低位的48都是0,内核虚拟地址则相反,63~48都是1. TTBR x(Translation table base register)的选择是通过虚拟地址的第63 bit位来确定的。swapper_pg_dir只包含内核地址映射,而 阅读全文
posted @ 2020-01-10 15:49 aspirs 阅读(495) 评论(0) 推荐(0) 编辑
摘要:wifi related iw/iwpriv cmd wifi connsys领域的cmd WiFi驱动架构的一般层次 应用层 BSD socket层 TCP/IP协议层 IP层 网络设备层net/core mac8011层/ieee80211 设备驱动层 study link: Linux Wir 阅读全文
posted @ 2020-01-08 21:54 aspirs 阅读(611) 评论(0) 推荐(0) 编辑

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