- 博客(22)
- 资源 (5)
- 收藏
- 关注
原创 细谈Verilog中$signed()和$unsigned()用法
之前在做Verilog,有符号数和无符号数运算时,对这俩个一直没弄的很透彻。本文就以比较简短的篇幅去捋一下其用法。
2023-04-06 23:04:58
4388
原创 zshrc报错解决‘unhandled ZLE widget ‘history-substring-search-down‘ && ‘widget with `zle -N` or `zle -C`‘
bash。
2023-04-06 22:52:15
582
原创 《芯片漫游指南》backbone
笔者最近在看 IC 验证部分,由于时间有限,就初略做了一点 backbone 的笔记,简单梳理了从第八章到十一章大概介绍的知识点。
2022-12-14 12:59:55
434
原创 linux to go:在电脑启动(Y9000x),登录账号进入桌面系统后卡死/鼠标不能动
linux to go:在电脑启动(Y9000x),登录账号进入桌面系统后卡死/鼠标不能动
2022-11-06 18:17:38
585
原创 虚拟机VM装Arch坑
mount:/mnt/boot/efi: urony fs tupe,bad option,bad superblock om /dewvsta1,nissing codepage or helper progran,or other error
2022-10-23 10:38:35
354
原创 《30天自制操作系统》笔记----Day19
DAY19:应用程序type命令对FAT的支持代码整理第一个应用程序二级目录三级目录type命令类似Linux里的cat命令,输入“type 文件名”就会显示出文件的内容struct FILEINFO{ unsigned char name[8], ext[3], type; char reserve[10]; unsigned short time, date, clustno; unsigned int size; }clustno这个成员,代表文件从磁盘上的哪个扇区开始存放
2022-02-25 16:27:31
268
原创 《30天自制操作系统》笔记----Day18
DAY18:dir命令控制光标闪烁对回车键支持窗口滚动支持命令行mem命令cls命令dir命令控制光标闪烁任务A和console_task光标闪烁原理相差不大,所以分析一个就可以类推另一个。首先通过tab键来切换窗口,所以在for循环中加入以下代码:if (256 <= i && i <= 511) { /*键盘数据*/ (中略) if (i == 256 + 0x0f) { /* Tab键*/ if (key_to == 0) { ke
2022-02-24 11:56:05
329
原创 《30天自制操作系统》笔记----Day17
DAY17:命令行窗口闲置任务创建命令行窗口切换输入窗口实现字符输入符号的输入大写字母与小写字母对各种锁定键的支持二级目录三级目录闲置任务在前文说到,通过采用LEVEL的结构运行系统,但当高层任务A休眠,而下层LEVEL中不存在其他的任务,因此程序就找不到任务而导致运行出行异常,所以优秀的操作系统应该能自动在适当的LEVEL运行适当的任务。创建一个闲置任务:这个任务的功能只是执行HTL。void task_idle(void){ for(;;){ io_hlt(); }}所
2022-02-23 12:29:14
270
原创 《30天自制操作系统》笔记----Day16
DAY16:多任务(2)任务管理自动化让任务休眠增加窗口数量设定任务优先级二级目录三级目录任务管理自动化之前才有的多任务处理方法有很大的弊端,如果我们想要运行三个任务的话,就必须改写mt_taskswitch的代码。改写程序:#define MAX_TASKS 1000 /*最大任务数量*/#define TASK_GDT0 3 /*定义从GDT的几号开始分配给TSS */struct TSS32 { int backlink, esp0, ss0, esp1, ss1, esp2, ss
2022-02-21 20:54:44
369
原创 《30天自制操作系统》笔记----Day15
DAY15:多任务(1)挑战任务切换CPU处理多任务的原理:寄存器中的内容写入内存:任务切换进阶做个简单的多任务运行速度改进提高运行速度测试运行速度多任务进阶挑战任务切换CPU处理多任务的原理:当向CPU发出任务切换指令时,CPU会先把寄存器的值全部写入内存中,为了运行下一个程序,CPU会把所有寄存器中的值从内存中读出来,这样就完成了一次切换。而任务切换所需要的时间,就是对内存进行写入和读取操作所消耗的时间。寄存器中的内容写入内存:补充“任务状态段”(task status segment) ,简
2022-02-20 20:09:04
537
原创 《30天自制操作系统》笔记----Day13
DAY13:定时器(2)简化字符串显示重新调整FIFO缓冲区加快中断处理使用“哨兵”简化程序二级目录三级目录简化字符串显示首先简化之前程序(即完成涂上背景色,再在上面写字符,然后刷新的功能),封装成一个函数(putfonts8_asc_sht()):/*变量说明:x,y ------显示位置的坐标c ------字符的颜色b ------背景的颜色s ------字符串l ------字符串长度*/void putfonts8_asc_sht(struct SHEET *
2022-02-14 11:59:28
249
原创 《30天自制操作系统》笔记----Day12
DAY12:定时器(1)使用定时器计量时间超时功能使用多个定时器加快中断处理二级目录三级目录使用定时器CPU通过参考机器周期(牢记每一条指令的执行时间。)来计量时间。在电脑钟管理定时器,只需对PIT(Programmable Interval Timer)进行设定.(PIT与IRQ的0号相连)计量时间超时功能使用多个定时器加快中断处理二级目录三级目录...
2022-02-13 12:38:41
526
原创 《30天自制操作系统》笔记----Day8
DAY8:鼠标控制与32位模式切换1.鼠标解读2.移动鼠标指针3.移动鼠标指针1.鼠标解读2.移动鼠标指针3.移动鼠标指针
2022-02-04 18:08:49
1085
原创 《30天自制操作系统》笔记 ---Day7
DAY7:FIFO与鼠标控制这里写目录标题获取按键编码加快中断处理制作FIFO缓冲区改善FIFO缓冲区整理FIFO缓冲区总算讲到鼠标了从鼠标接收数据获取按键编码加快中断处理制作FIFO缓冲区改善FIFO缓冲区整理FIFO缓冲区总算讲到鼠标了从鼠标接收数据...
2022-01-29 20:15:18
857
原创 《30天自制操作系统》笔记----Day6
DAY6:1.分割源文件:在 这个结构体里base又分为low(2字节),mid(1字节),high(1字节) 3段,合起来刚好是32位. 段上限。它表示一个段有多少个字节。可是这里有一个问题,段上限最大是4GB,也就是一个32位的数值,如果直接放进去,这 个数值本身就要占用4个字节,再加上基址(base),一共就要8个字 节,这就把整个结构体占满了。这样一来,就没有地方保存段的管理属 性信息了,这可不行。因此段上限只能使用20位。这样一来,段上限最大也只能指定到1MB为止。明明有4GB,却只能用其中的
2022-01-28 11:55:25
3251
原创 RISC-V(U-BOOT)学习杂记(初学者自学)
近段时间来,RISC-V越来越受大众青睐,尤其是ISA开源,未来也必定是各种厂家所追捧的架构。本人作为一名小菜鸟,也正在学习这块内容。顺便写点杂记,方便自己后续的学习。这段时间主要在看C910的uboot。主要是看俩函数...
2021-12-15 11:21:57
1543
原创 51单片机十字交通灯程序设计
51单片机十字交通灯程序设计最近刚完成实验课设,在此分享一下本次课设的操作经验本次题目是基于STC89C52设计一个十字交通灯控制程序操作的平台是给力者开发板题目简介题目6. 十字路口交通灯控制设计要求设计一个十字路口交通灯控制器。用单片机控制LED灯模拟指示。模拟东西方向的十字路口交通信号控制情况。东西向通行时间为80s,南北向通行时间为60s,缓冲时间为3s。实验原理本项目为典型的LED显示和中断定时电路。利用定时器T0产生每10ms一次的中断,每100次中断为1s。对两个方向分别显
2021-12-14 21:40:05
1981
cmos差分放大电路基于Hspice仿真(含代码以及tsmc18工艺库).zip
2021-11-02
基于basys2 数字频率计设计 (内包含自产生频率和自检测频率)
2021-08-20
mg-90舵机c51版本.zip
2021-05-31
单片机十字路口交通灯实验
2020-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人