原文:[自制操作系统] 第17回 编写键盘驱动

目录 一 前景回顾 二 实现键盘输入的中断函数 三 编写键盘驱动 四 实现环形输入缓冲区 五 运行测试 一 前景回顾 上一回我们完成了锁的实现,并且利用锁优化了终端输出函数。这一回我们来实现键盘的输入,为后面的用户交互功能打好基础。 二 实现键盘输入的中断函数 首先我们需要知道键盘是属于外设,所以对应的中断属于外部中断。在讲中断那一章节时,我们知道了外部中断的处理流程,不过对于键盘的输入中断,还需 ...

2022-07-11 21:39 0 1449 推荐指数:

查看详情

8.2 USB键盘驱动编写和测试

目标:根据USB驱动分析和上节的USB鼠标驱动编写键盘驱动,并测试。 一、原理分析 1. 首先通过打印usb_buf[i]中的8字节数据,看一下按键按下之后会接收到什么。 1)通过按完所有键盘按键打印的结果可知,有8个按键会打印在usb_buf[0]里,即: ctrl左键 ...

Fri Jan 04 03:29:00 CST 2019 0 845
[自制操作系统] 第14 内存管理系统

目录 一、前景回顾 二、位图bitmap及函数实现 三、内存池划分 四、运行 一、前景回顾   前面我们已经花了一个回合来完善了一下我们的系统,包括增加了makefile,ASSERT以及一些常见的字符串操作函数。关于makefile,还是我以前学习Linux系统编程的时候学了一点点 ...

Fri Jul 08 04:30:00 CST 2022 0 668
[自制操作系统] 第18 实现用户进程(上)

目录 一、前景回顾 二、任务切换相关 三、实现TSS 四、运行测试 一、前景回顾   在上一我们已经实现了键盘驱动编写和环形缓冲区的实现,现在让我们来想这么一个问题:   一直以来我们的程序都在最高特权级0下工作,这意味着任何程序都和操作系统平起平坐,可以改动任何资源。如果不改 ...

Tue Aug 16 05:20:00 CST 2022 0 589
[自制操作系统] 第15 实现内核线程

目录 一、前景回顾 二、线程的实现 三、线程的切换 四、运行测试 一、前景回顾   上一我们实现了内存管理系统,说实话代码还是比较多,看起来还是比较头疼的,不过为了知识这都是小事。这一节终于可以来实现我们的线程了,以前学操作系统的时候,听到的最多的就是什么线程,进程等,这一我们来自 ...

Fri Jul 08 22:28:00 CST 2022 0 714
[自制操作系统] 第16 锁的实现

目录 一、前景回顾 二、锁的实现 三、使用锁实现console函数 四、运行测试 一、前景回顾   上回我们实现了多线程,并且最后做了一个小小的实验,不过有一点小瑕疵。   可以 ...

Sun Jul 10 00:32:00 CST 2022 0 522
自制操作系统14】实现键盘输入

一、到目前为止的程序流程图   为了让大家清楚目前的程序进度,画了到目前为止的程序流程图,如下。(红色部分就是我们今天要实现的) 二、简单打通键盘中断   既然要打通键盘中断,那必然需要你回顾一下 【自制操作系统08】中断 所讲述的外部中断的流程,下面我把图贴上。 如图所示 ...

Sun Mar 22 07:47:00 CST 2020 3 1585
自制操作系统

自制操作系统Antz day09——实现内核 (下) 实现图形化界面 https://www.cnblogs.com/LexMoon/p/antz09.html Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html ...

Tue Aug 07 06:58:00 CST 2018 0 859
USB键盘驱动分析

简介 本文介绍USB驱动程序编写的流程,分析一个键盘的USB程序,基于linux-2.6.39 USB驱动概要 分层 主机层面的USB驱动的整体架构可以分成4层,自顶到下依次是 1、USB设备驱动:本文主要讲述的内容,利用USB核心提供的编程接口编写具体硬件设备与系统的交互逻辑 ...

Tue May 14 04:56:00 CST 2019 0 531
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM