ChCore lab1 - Booting a machine
实验基本知识主要内容
熟悉ARM汇编语言
使用QEMU和QEMU/GDB调试
AArch64汇编AArch64是ARMv8 ISA的64位执行状态。
《ARM指令集参考指南》 —— 帮助入门ARM汇编语法的手册。
学习《ARM指令集参考指南》的A1,A3和D部分, 以熟悉ARM指令集。A1: 介绍ARM架构A3: 介绍AArch64状态D: 介绍A64指令集
构建ChChore内核下载lab1源码
1wxer@wxer:~/courses/ChCore/$ git clone git@gitee.com:ipads-lab/chcore-lab.git
编译源码
12wxer@wxer:~/courses/ChCore/$ cd chcore-labwxer@wxer:~/courses/ChCore/chcore-lab$ ./scripts/build.sh
主要就在build目录下编译出对应的kernel.img镜像文件。
QEMU执行镜像
1wxer@wxer:~/courses/ChCore/chcore-l ...
Hostapd学习(1)
什么是HostapdHostapd: Host access point daemon的缩写, 是一个用于接入点(access ap, ap)和身份认证服务的用户空间守护程序。
Hostapd实现了AP管理, IEEE 802.1X/WPA/WPA2/EAP身份认证,RADIUS客户端,EAP服务器和RADIUS认证服务器的功能。
当前版本支持Linux(Host AP, madwifi, 基于mac80211驱动)和FreeBSD(net80211)
Hostapd设计成一个运行在后台的守护程序,用于身份认证的后端组件。
Hostapd中单独包含一个hostapd_cli的前端程序, 用于和hostapd的后端程序进行交互,进行相关查询管理工作。
支持的相关特性参看官网: https://w1.fi/hostapd/
概括一下,Hostapd可以完成如下两件事情:
把Wi-Fi网卡配置为AP模式,负责MLME
提供各种认证服务(IEEE 802.1X/WPA/WPA2/EAP/RADIUS),负责控制管理 sta ...
CSAPP 第一章学习 —— 计算机系统之旅
计算机系统是由硬件和系统软件组成,合作来运行应用程序。
系统的具体实现随着时间的推移在发生着变化,但是基本概念没有变。
所有的计算机系统都有类似的硬件和软件组件,可以执行类似的功能。
CSAPP这本书展示了计算机系统中硬件和软件是如何工作的,以及说明了他们是如何影响程序的正确性和性能。
我们从追踪hello程序的生命周期来开始对系统的研究
对于hello程序的生命周期
程序员编写程序
系统中运行
打印简单的信息
程序结束退出
通过hello程序, 先简要介绍关键概念,术语和组件。后续章节会对这些概念进行扩展。
1234567#include <stdio.h>int main(){ printf("hello, world\n"); return 0;}
信息是比特 + 上下文程序员使用编辑器创建一个源程序(或者称为源文件),并以文本文件的形式保存为hello.c。
源程序是一个bit序列, 每个bit的值是0或者1 (因此也可以称之为01序列),按 ...
C语言中getopt用法
关于getopt的用法,参考如下五篇blog
Discovering Command Line Options, Part IDiscovering Command Line Options, Part IIDiscovering Command Line Options, Part IIIDiscovering Command Line Options, Part IVDiscovering Command Line Options, Part V
以及如下参考
25.2 Parsing program options using getopt
getopt(3) — Linux manual page
Processing the command line
例如:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 ...
python学习 —— 第一课
计算的概念一台计算机能做两件事,而且只能做两件事
执行计算
记住计算的结果
这两件事计算机可以做的很好。
在人类历史的大部分时间里,计算受到人类大脑计算速度和手动记录结果的限制,而计算机弥补了人类的这两部分短板,因此,人类可以利用计算机解决大部分的计算问题。
什么是计算思维?
所有的知识可以分为两类
陈述式的 (Declarative)
命令式的 (Imperative)
固定程序计算机 (fixed-program computers)
存储程序计算机 (store-program computers)
python简介尽管每种编程语言都是不同的,但它们可以在某些维度上相关联的
低级 VS 高级
通用的 VS 领域专用的
解释型 VS 编译型
此处选择python编程语言。
python是一门通用的编程语言,您可以有效地使用它来构建几乎任何一种不需要直接访问计算机硬件的程序。
然而,Python对于那些具有高可靠性约束(因为它的静态语义检查很弱)或由许多人构建和维护(同样由于静态语义检查很弱)的程序不是最优的。
Pyt ...
Ubunut下编译mac80211.ko流程
下载Ubuntu系统内核源码查看当前使用的Ubuntu系统使用的内核版本
12wxer@wxer:~$ uname -r5.11.0-49-generic
如果系统自动安装了源码, /usr/src目录下有对应的使用的版本对应的源码(一般情况都是没有的,需要自己下载)
123wxer@wxer:/usr/src$ lslinux-headers-5.11.0-41 linux-headers-5.11.0-49linux-headers-5.11.0-41-generic linux-headers-5.11.0-49-generic
以上是当前使用系统的/usr/src目录下文件,都是系统的header文件,没有对应的kernel的源码,因此需要自己下载。
下载命令如下:
先通过apt-cache search查找linux-source
123wxer@wxer:/usr/src$ sudo apt-cache search linux-sourcelinux-source - Linux kernel source ...
Ubunut下通过mac80211_hwsim和hostapd模拟扫描关联过程
软件安装hostapd下载hostapd源码1wxer@wxer:~/workarea/wlan_sim_test$ wget https://w1.fi/releases/hostapd-2.10.tar.gz
编译hostapd1234wxer@wxer:~/workarea/wlan_sim_test$ tar zxvf hostapd-2.10.tar.gzwxer@wxer:~/workarea/wlan_sim_test$ cd hostapd-2.10/hostapd/wxer@wxer:~/workarea/wlan_sim_test$ cp defconfig .configwxer@wxer:~/workarea/wlan_sim_test$ make
编译错误1
1234567891011......Package libnl-3.0 was not found in the pkg-config search path.Perhaps you should add the directory containing `libnl-3.0.pc't ...
802.11协议中DSSS原理以及仿真
参考
DSSS(Direct Sequence Spread Spectrum)
直接序列展頻(DSSS)
802.11b Physical Layer
Spread Spectrum and Wi-Fi Basics
扩频通信概述(涉及dsss频谱的说明)
無線網路之傳輸技術
从零开始搞信号处理——第五篇(软件无线电[4]直接序列扩频发射机是个啥??
2022年学习计划
课程学习
CS61C: Great Ideas in Computer Architecture
学习任务802.11 PHY协议
802.11协议PHY层实现架构
802.11协议PHY层频域处理流程
802.11协议PHY层时域处理流程
802.11b支持的速率规格
Date Rate
Code Length
Modulation
Symbol Rate
Bits/Sym
1 Mbps
11 (Barker code)
DBPSK
1 MSps
1
2 Mbps
11 (Barker code)
DQPSK
1 MSps
2
5.5 Mbps
4 (CCK)
DQPSK
1.375 MSps
4
11 Mbps
8 (CCK)
DQPSK
1.375 MSps
8
参考: Complementary Code Keying Implementation in the Wireless Networking
802.11 MAC协议
.markmap-container{displ ...
Lec1 - 数字表示
阅读课本
Patterson & Hennessey, Computer Organization and Design, 5/e (RISC-V)
Kernighan & Ritchie, The C Programming Language, 2nd Edition
Barroso & Holzle, The Datacenter as a Computer, 2nd Edition