– 沉没大陆

Sticky post

基于树莓派的FM电台

首先看什么是树莓派: 这就是树莓派的可爱的徽标。 再来看看树莓派的真机: 这个树莓派是@Breaker学长送的,如果你连这样的学长都没有。。哈哈。。那么我也没办法 这个树莓派左边网线直接连接电脑,右边直接插上手机充电器的电源供电。 中间还在第四个GPIO口插上一...
Sticky post

CPU智能卡操作

  在我之前的印象里,我们所使用的卡应该类似于U盘这样的媒介,读卡器在上面读写东西而已。   而我后来接触到才发现,我们所用的银行卡里面是装有操作系统的。这种智能卡自带微处理器,读卡器对卡的操作,就相当于是和是和CPU卡进行交互。。这倒是完全颠覆了我的概...
Sticky post

植物大战僵尸 外挂

外挂是之前写的,现在为了写博客,把之前的内容再翻上来。 先来看看植物大战僵尸的界面: 有没有一种怀恋的感觉。 哈哈,好了,来讲一下外挂原理。 所有的游戏的关键数据都保存在内存中,找到它然后修改掉,就是外挂了。 是不是感觉很简单,其实在实际操作中,倒...

SmlOS:十二.多任务的支持

(1)TSS硬件跳转的实现 首先对TSS进行简要介绍,TSS-任务状态段(TaskStateSegment)是x86计算机上是一个保存任务信息的数据结构。被现代的操作系统用于系统任务管理。 TSS结构体如下: struct TSS32 { int backlink, esp0, ss0, esp1, ss1, esp2, ss2, cr3; ...

SmlOS:十一.时钟控制的实现

(1)时钟超时管理架构 对时钟的管理,主要基于时钟中断的功能。中断功能的实现在上面有简要的介绍,这里不做过多描述。 这里介绍两个重要的时钟管理结构体: struct TIMERCTL {  unsigned int count, next, using;  struct TIMER *timers[MAX_TIMER];  struct TIMER...

SmlOS:十.窗口图层的控制

(1)图层管理结构的初始化 系统对桌面图形做出图形结构的管理形式,图层管理表的结构如下: struct SHTCTL {  unsigned char *vram, *map;  int xsize, ysize, top;  struct SHEET *p_sheets[MAX_SHEETS];  struct SHEET sheets[MAX_SHEETS]; };   vram 图像缓冲区...

SmlOS:九.内存管理

(1)内存大小的检测 内存的检测主要是对一个内存进行写入操作,然后取反,在判断是否成功。 但在执行检测之前需要先关闭高速缓存,高速缓存的关闭可由设置cr0寄存器实现。 而内存的检测函数由汇编函数实现,因为c语言编译器的高度优化,写入再取反再读取的操作会被...

SmlOS:八.键盘鼠标功能的支持

(1)键盘控制电路的初始化及激活 对于CPU啦死活键盘控制电路是外部设备,所以使用OUT指令进行初始化操作,与之前的外部设备操作类似。 (2)对鼠标键盘数据的解析 键盘数据的解析只是接受到一个字节的内容,在中断程序里存入fifo缓冲区。 而鼠标数据的解析,则略微...

SmlOS:七.中断实现

(1)PIC的初始化  PIC(programmable interrupt controller-可编程中断控制器)  PIC是将8个中断信号集合成一个中断信号的装置。PIC监视着输入管脚的8个中断信号,只有有一个中断信号进来,就将唯一的管脚信号变成ON,并通知CPU。  和CPU直接相连的PIC称为主PIC(...
« Older posts