03 2022 档案

Linux0.11使用串口进行输入输出
摘要:在使用qemu时我们将Linux0.11修改为使用串口作为标准输入输出,从而在文本模式下进行学习调试,补丁如下 diff --git a/Makefile b/Makefile index 3ca10f3..d418782 100644 a/Makefile +++ b/Makefile @@ -8 阅读全文

posted @ 2022-03-30 13:38 sudochen 阅读(278) 评论(0) 推荐(0) 编辑

ARM SWI
摘要:target.h 有这样一句函数声明__swi(0x00) void SwiHandle1(int Handle);他的函数体在哪里?__swi(0x00) void SwiHandle1(int Handle);其实没有函数体,执行这个语句后就自动把Handle的值赋给了R0,接着执行下面的代码。 阅读全文

posted @ 2022-03-26 20:46 sudochen 阅读(479) 评论(0) 推荐(0) 编辑

链接脚本
摘要:以前笔记里的东西,备忘 Linux连接脚本 连接脚本的基本命令是SECTIONS命令,它描述了输出文件的“映射图”:输出文件中各段、各文件怎么放置。一个SECTIONS命令内部包含一个或多个段,段(SECTIONS)是连接脚本的基本单元,它表示输入文件中的某部分怎么放置。 完整的连接脚本格式如下,它 阅读全文

posted @ 2022-03-26 20:42 sudochen 阅读(425) 评论(0) 推荐(0) 编辑

Linux bridge理解
摘要:原文地址:http://linux.chinaitlab.com/kernel/836035.html linux内核通过一个虚拟的网桥设备(net_device)实现桥接,这个设备可以绑定若干个以太网接口设备,从而将它们桥接起来。 网桥设备br0绑定了eth0和eth1,对于网络协议栈的上层来说, 阅读全文

posted @ 2022-03-26 20:37 sudochen 阅读(182) 评论(0) 推荐(0) 编辑

Makefile eval
摘要:这样一个makefile:define MAaa:aa.cgcc -g -o aa aa.cendef$(eval $(call MA) )会产生一个这样的编译:gcc -g -o aa aa.c这样的makefile:OBJ=a.o b.o main.odefine MAmain:$(OBJ)gc 阅读全文

posted @ 2022-03-26 20:31 sudochen 阅读(246) 评论(0) 推荐(0) 编辑

MLME解释
摘要:MLME: MLME是 MAC Sublayer Management Entity,MAC子层管理实体。物理层(PHY)MAC状态机就位于MLME中。fullmac: 是指使用硬件管理MLME的无线网卡类型。softmac: 是指使用软件管理MLME的无线网卡类型。cfg80211: 用于在内核空 阅读全文

posted @ 2022-03-26 20:29 sudochen 阅读(2071) 评论(0) 推荐(0) 编辑

Redboot命令
摘要:Redboot启动完成后,就进入命令行状态(CLI),接受命令并执行,如果你用Redboot作为boot-loader就一定需要熟悉相关的命令,命令的相关解释在帮助文档上面都解释的很详细,今天突然看到这里有一个中文的版本,作为一个速查手册感觉不错,就转载过来。 Redboot 常用命令说明 1 ca 阅读全文

posted @ 2022-03-26 20:25 sudochen 阅读(216) 评论(0) 推荐(0) 编辑

国家密码算法介绍
摘要:SM1:分组密码算法 该算法是国家密码管理部门审批的 SM1 分组密码算法 , 分组长度和密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 AES 相当,该算法不公开,仅以 IP 核的形式存在于芯片中 SM2:国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法; 阅读全文

posted @ 2022-03-26 20:22 sudochen 阅读(301) 评论(0) 推荐(0) 编辑

Linux0.11 Not owner
摘要:关于 rm, chmod 一类命令提示 Not owner 的问题,是由于 0.11 版无 lstat 系统调用。可以直接从 0.12 版复制新加的系统调用,补完即可,相信看过这部分代码后,大家都能做到。#define __NR_sigsuspend 72#define __NR_sigpendin 阅读全文

posted @ 2022-03-25 15:31 sudochen 阅读(252) 评论(0) 推荐(0) 编辑

虚拟地址 逻辑地址 线性地址 物理地址
摘要:虚拟地址:就是程序中写的地址,如char *p = malloc(2),p表示的就是虚拟地址 逻辑地址:X86特有的,是类似【段地址】:【偏移地址】这样的地址 线性地址:虚拟地址经过经过分段处理之后的地址成为线性地址,段式映射 物理地址:线性地址经过分页之后的地址为物理地址,页式映射,是实际访问存储 阅读全文

posted @ 2022-03-24 09:03 sudochen 阅读(281) 评论(0) 推荐(0) 编辑

Linux switch_to(n)理解
摘要:任务门+ + + + + + + +| 16bits | P | DPL(2bit) | 5 bits | 8 bits | 16bits | 16bits |+ + + + + + + +| NA | 1 | 00 | 00101 | NA | TSS | NA |+ + + + + + + +通 阅读全文

posted @ 2022-03-21 18:31 sudochen 阅读(257) 评论(0) 推荐(0) 编辑

RET IRET指令详解
摘要:RET是普通的子程序返回指令 在实模式和保护处理器从堆栈中弹出IP寄存器的内容,根据当前的CS:IP跳转到新的地址运行,如果之前压栈的还有参数,则这些参数也会被弹出 IRET是中断服务子程序的返回指令 在实模式和保护模式下不一样,在实模式中用于从中断返回,会弹出IP和CS以及一些标志位,然后从CS: 阅读全文

posted @ 2022-03-21 09:11 sudochen 阅读(1572) 评论(0) 推荐(0) 编辑

Linux0.11 head.s
摘要:# # 32位指令,在这就进入到保护模式了 # 在本模块中,内核的起始地址为0xC0000000,用户程序的起始地址为0x00000000 # 我对原来的Linux0.11中的内存相关进行了修改,对于一个进程使用1GB的内核空间和3GB的用户空间 # .code32 # # 此处运行在绝对地址0x0 阅读全文

posted @ 2022-03-14 14:22 sudochen 阅读(81) 评论(0) 推荐(0) 编辑

Linux0.11 setup.s
摘要:综述 setup程序利用BIOS终端读取硬件参数,并将这些数据保存到0x90000开始处,此处原本是bootsect的地址,bootsect跳转至setup模块后其所在的地址空间就没什么用了,主要读取的参数如下: 读取完参数后将system模块从0x10000整体向下移动到0x0000处,接下来加载 阅读全文

posted @ 2022-03-14 10:35 sudochen 阅读(129) 评论(0) 推荐(0) 编辑

Linux0.11 bootsect.s
摘要:概述 如下图是Linux内核完全注释的一副图,表示各个模式在系统的运行大概情况,我们首先分析bootsect.s程序 # # BIOS系统调用 # 80386在实模式下虽然是16位的地址,但是经过段映射后可以形成20位的地址共寻址1MB的地址空间 # BOIS会在地址0处建立1KB字节的中断向量表, 阅读全文

posted @ 2022-03-14 10:04 sudochen 阅读(111) 评论(0) 推荐(0) 编辑

ARM LDR ADR
摘要:ARM汇编有ldr指令以及ldr、adr伪指令,他门都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。 ldr r0, _start adr r0, _start ldr r0, =_start _start: b _start 编译的时候设置 RO 为 0x3 阅读全文

posted @ 2022-03-12 11:05 sudochen 阅读(163) 评论(0) 推荐(0) 编辑

ARM KeilMDK分散加载文件
摘要:散加载能够将加载和运行时存储器中的代码和数据描述在被称为分散加载描述文件的一个文本描述文件中,以供连接时使用。分散加载区分散加载区域分为两类:? 加载区,包含应用程序复位和加载时的代码和数据。? 执行区,包含应用程序执行时的代码和数据。应用程序启动过程中,从每个加载区可创建一个或多个执行区。映象中所 阅读全文

posted @ 2022-03-12 10:30 sudochen 阅读(582) 评论(0) 推荐(0) 编辑

ubuntu安装bochs和qemu环境
摘要:bochs 我使用的是ubuntu16.04 apt-get install xorg-dev apt-get install bochs-x apt-get install vgabios 如下是一个可以用的bochs配置文件,我主要用于学习linux0.11的源码 ############### 阅读全文

posted @ 2022-03-11 16:51 sudochen 阅读(175) 评论(0) 推荐(0) 编辑

LUA字符串模式匹配
摘要:转载:https://www.cnblogs.com/whiteyun/archive/2009/09/02/1541043.html 模式匹配函数在string库中功能最强大的函数是:string.find(字符串查找)string.gsub(全局字符串替换)string.gfind(全局字符串查 阅读全文

posted @ 2022-03-11 13:41 sudochen 阅读(711) 评论(0) 推荐(0) 编辑

Linux用户与组
摘要:转载:https://www.kancloud.cn/chunyu/php_basic_knowledge/1882202 用户与用户组的关系 Linux 是多用户多任务操作系统,也就是说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。不同的用户具有不同的权 阅读全文

posted @ 2022-03-11 11:45 sudochen 阅读(1063) 评论(0) 推荐(0) 编辑

meminfo详解
摘要:转载:https://www.kancloud.cn/chunyu/php_basic_knowledge/1982699 meminfo详解 Linux系统内存使用状况主要存储在/proc/meminfo中,”free”、”vmstat”等命令就是通过它获取数据的。 1、通过 cat /proc/ 阅读全文

posted @ 2022-03-11 11:42 sudochen 阅读(1914) 评论(0) 推荐(0) 编辑

cpuinfo详解
摘要:转载:https://www.kancloud.cn/chunyu/php_basic_knowledge/1982698 cpuinfo详解 linux系统,cpu相关信息是保存在中/proc/cpuinfo文件中。 1、通过 cat /proc/cpuinfo查看 2、通过lscpu命令进行查看 阅读全文

posted @ 2022-03-11 11:41 sudochen 阅读(1921) 评论(0) 推荐(0) 编辑

tcpdump命令
摘要:转载:https://www.kancloud.cn/chunyu/php_basic_knowledge/2106518 tcpdump命令详解 tcpdump命令可以对网络上的数据包进行截获和分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无 阅读全文

posted @ 2022-03-11 11:39 sudochen 阅读(688) 评论(0) 推荐(0) 编辑

route命令
摘要:route命令详解 目前Linux中已经逐渐使用ip route命令替代route命令。但是route命令仍然十分有用 操作命令 route add -net 192.168.3.0 netmask 255.255.255.0 dev eth0 添加一条指向网络192.168.3.x的路由,发送接口 阅读全文

posted @ 2022-03-11 11:38 sudochen 阅读(1156) 评论(0) 推荐(0) 编辑

ip rule命令
摘要:背景 一般情况下的路由算法仅仅使用目的地址做出路由决策,在Linux操作系统提供了一种根据其他字段(源地址,协议,端口等等)进行路由决策的方案,成为“策略路由”,策略路由下,进入系统的数据先匹配策略表选择一个路由表,然后基于目的地址的路由系统(最长匹配规则) 在Linux启动时内核为策略路由数据库( 阅读全文

posted @ 2022-03-11 11:32 sudochen 阅读(3215) 评论(0) 推荐(1) 编辑

ip route命令
摘要:ip route 用于管理静态路由表。linux 系统中,可以自定义从 1-252个路由表。其中,linux系统维护了4个路由表: 0#表: 系统保留表 253#表: defulte table 没特别指定的默认路由都放在改表 254#表: main table 没指明路由表的所有路由放在该表 25 阅读全文

posted @ 2022-03-11 11:31 sudochen 阅读(23798) 评论(0) 推荐(3) 编辑

CSR和P10请求文件
摘要:综述 CSR(Certificate Signing Request) 证书签发请求申请或者叫做认证申请,是一个发送到CA的请求认证信息。有两种格式,应用最广泛的是由PKCS#10定义的,另一个用的少的是由SPKAC定义的,主要应用于网景浏览器。 PKCS#10 CSR有两种编码格式:二进制(ASN 阅读全文

posted @ 2022-03-10 17:58 sudochen 阅读(6123) 评论(0) 推荐(0) 编辑

OpenSSL安装配置详解
摘要:转载:http://www.jinbuguo.com/linux/openssl_install.html OpenSSL 安装与配置 作者:金步国 版权声明 本文作者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。 无担保:本文作者不保证作品内容准确无误,亦不承担任何由于 阅读全文

posted @ 2022-03-08 18:05 sudochen 阅读(1826) 评论(0) 推荐(0) 编辑

OpenWRT Makefile流程记录
摘要:$(toolchain/stamp-install): $(tools/stamp-install) 通过subdir.mk的stampfile函数 $(eval $(call stampfile,$(curdir),tools,install,,_$(subst $(space),,$(tools 阅读全文

posted @ 2022-03-08 14:53 sudochen 阅读(351) 评论(0) 推荐(0) 编辑

OpenWRT 镜像生成过程分析
摘要:综述 根据前面的分析,我们知道系统最终调用了make -C target/linux compile/install等进行编译,我们接着分析target的生成过程,在target/linux的Makefile只有一句话如下: # # Copyright (C) 2006-2007 OpenWrt.o 阅读全文

posted @ 2022-03-08 11:27 sudochen 阅读(1154) 评论(0) 推荐(1) 编辑

OpenWRT scan.mk
摘要:简述 单纯分析scan.mk太死板,本文以make命令的执行过程重点说明scan.mk的工作机制,总体来说,scan.mk用于扫描package和target目录, 生成用于menuconfig的Config.in文件和其他临时信息 Makefile 根据Mafile分析我们知道,Make最终的目标 阅读全文

posted @ 2022-03-04 15:07 sudochen 阅读(402) 评论(0) 推荐(1) 编辑

OpenWRT subdir.mk
摘要:回顾 之前讲述了OpenWRT的Makefile有一个遗留问题如下: prepare: .config $(tools/stamp-install) $(toolchain/stamp-install) world: prepare $(target/stamp-compile) $(package 阅读全文

posted @ 2022-03-04 15:07 sudochen 阅读(578) 评论(0) 推荐(0) 编辑

OpenWRT Makefile分析
摘要:目录介绍 原始目录 config: 存放用于生成menuconfig的配置文件 include: 顾名思义,存放了许多OpenWRT的Makefile文件,以.mk结尾 scripts: 一些shell,perl脚本 package: target包,这些软件会根据选择安装在目标板上 toolcha 阅读全文

posted @ 2022-03-04 15:06 sudochen 阅读(680) 评论(0) 推荐(0) 编辑

OpenWRT QSDK
摘要:QSDK(QCA Softeware Development Kits),是高通基于OpenWRT增加自有代码的开发套件,使用QSDK首先需要repo工具,如何获取repo工具,自行搜索 使用repo获取QSDK 本文以IPQ40xx平台在QSDK SPF11.3为例进行说 repo工具需要一个ma 阅读全文

posted @ 2022-03-04 11:16 sudochen 阅读(1843) 评论(0) 推荐(0) 编辑

PPP和GSM
摘要:PPP(Point-to-Point)提供了一种标准的方法在点对点链接上传输多种协议数据包,它最常见的用途可能是拨号上网了,网络应用程序使用PPP程序作为和GSM模块之间的协议 PPP协议之下是以太网,串口等物理层,之上是IP层,发送数据时,IP数据包经过PPP打包之后在经过以太网或者串口进行发送, 阅读全文

posted @ 2022-03-01 15:20 sudochen 阅读(461) 评论(0) 推荐(0) 编辑

Linux 内核定时器
摘要:概述 Linux的内核定时器依赖于内核软中断,当系统硬件中断退出时会便利软件中断的使能位并执行其关联的回掉函数 //内核定时器初始化会打开内核TIMER_SOFTIRQ软中断,执行时会执行到run_timer_softirq函数void __init init_timers(void) { open 阅读全文

posted @ 2022-03-01 13:39 sudochen 阅读(1024) 评论(0) 推荐(0) 编辑

WiFi四部握手
摘要:术语 PTK(Pairwise Transient Key):成对传输密钥,用于单播数据的加密和解密, GTK(Group Temporal Key):组临时密钥,用于组播数据的加密和解密 PMK(pairwise master key):成对主密钥 AA: client的MAC地址 SPA: AP 阅读全文

posted @ 2022-03-01 10:03 sudochen 阅读(763) 评论(0) 推荐(0) 编辑

做产品的一些教训
摘要:1) 在产品的登陆界面尽量有软件和硬件的版本号,因为在后期对于登陆密码会发生更改,如果登陆页面有版本号,就可以在用户手册里面进行添加,确保兼容性 2) 同一个公司的产品,用户名密码尽可能一致,因为在后期可能会复用代码,降低代码的冗余性,提高工作效率 3) 产品宁可在操作步骤上复杂一点,也不能因为想减 阅读全文

posted @ 2022-03-01 09:07 sudochen 阅读(22) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示