- 博客(224)
- 收藏
- 关注
原创 1、数码相框之框架分析
文章目录1、需求分析2、设计框架3、编写代码4、测试设计产品时的思路大体如下:弄清需求设计框架编写代码测试1、需求分析2、设计框架系统工作大致流程如下:1、输入进程触摸屏线程(或按键线程)不断调用tslib得到触摸屏(或按键数据)数据,封装好数据上报给主控,若使用socket方式上报数据的话,就可以很容易去掉触摸屏线程或者按键线程。主控线程得到上报的数据之后发出socket;2、显示进程根据接收线程中接收到的数据决定显示五幅图片中的哪一个;若想显示左边的图片,则主控
2021-07-12 20:23:00 470 1
原创 1、移植UBOOT之编译烧写uboot 2012.04.01
文章目录移植UBOOT之编译烧写uboot 2012.04.01移植UBOOT之编译烧写uboot 2012.04.01
2021-07-06 15:11:04 615
原创 U-boot使用与启动流程分析
01课_U-boot分析与使用文章目录01课_U-boot分析与使用1、编译体验1.1、Linux系统启动分析1.2、打补丁、编译、烧写、试验2、Makefile进行分析2.1、uboot的配置过程2.2、uboot的编译、链接过程3、uboot启动第1阶段4、uboot启动第2阶段5、u-boot命令分析6、启动内核的过程分析6.1、读出内核6.2、启动内核6.2.1、uImage头部6.2.2、启动真正的内核1、编译体验1.1、Linux系统启动分析与PC启动过程对比:uboot的最目的:
2021-02-02 15:28:57 1388
原创 AcWing Linux基础课
文章目录常用文件管理命令常用命令介绍创建作业 & 测试作业的正确性作业tmux和vimtmux教程vim教程创建作业 & 测试作业的正确性作业shellshell语法概论注释变量默认变量数组expr命令read命令echo命令printf命令test命令与判断符号[]判断语句循环语句函数exit命令文件重定向引入外部脚本创建作业 & 测试作业的正确性作业sshssh教程ssh登录scp传文件获取ssh教程配套的远程服务器账号的信息创建作业 & 测试作业的正确性作业gitgit
2022-03-10 11:59:39 5211
原创 markdown | typora+picgo+阿里云OSS
1、阿里云配置1.1、在阿里云网站申请账号;1.2、购买对象存储OSS:1.3、选择折扣套餐:1.4、按个人需求购买:其中地地域选择:中国大陆通用1.5、右上角进入控制台:1.6、右上角进入访问控制1.7、创建用户1.8、添加权限为:AliyunOSSFullAccess1.9、记住记住AccessKey ID和AccessKey Secret1.10、进入对象存储OSS:1.11、创建Bucket名为:picture-zdy-picgo,其中读写权限选择:公共读
2022-03-07 19:21:19 437 1
原创 32、平坦模型
01、为什么要引入平坦模型及平坦模型的特点02、在主引导程序中创建平坦模型下的段03、平坦模型对内核程序分段的影响04、平坦模型对加载内核程序的影响05、平坦模型下的内核初始化与内核任务的确立06、坦模型下的用户程序结构07、平坦模型下的用户任务创建08、在用户任务内动态分配内存09、平坦模型下的多任务切换演示与调试。。。。。。
2021-12-28 12:55:06 1208
原创 31、分页和动态页面分配
01、保护模式下的段式虚拟内存管理02、每个任务独立的虚拟内存03、物理内存的分页以及段到页的拆分04、处理器的段部件和页部件05、从线性地址到物理地址的转换过程06、页目录和页表及其地址转换过程07、设计内核的页目录和页表08、页目录项和页表项的组成格式09、创建内核的页表并初始化低端1MB对应的页表项10、设置控制寄存器CR3和CR0开启分页功能。。。。。。
2021-12-26 11:07:23 1307
原创 30、中断和异常的处理与抢占式多任务
01、中断和异常概述02、保护模式下中断和异常的向量分配03、中断描述符表、中断门和陷阱门04、本章程序介绍05、创建并安装全部的256个中断门06、为实时时钟中断创建和安装中断门07、加载中断描述符表寄存器IDTR08、重新设置8259A主片的中断向量09、中断和异常发生时的特权级检查10、中断和异常发生时的栈切换过程11、在中断处理过程中实施任务切换(含NOP指令的介绍)12、抢占式多任务的执行效果演示。。。。。。
2021-12-24 11:50:46 1327
原创 29、协同式任务切换
01、任务和任务切换概述02、内核任务的创建和I/O特权级IOPL03、I/O特权级的修改和POPF指令04、任务的用户态和内核态05、I/O许可位串和TSS的I/O许可位映射区06、任务切换的方法及内核任务的确立07、用户任务的创建和初始化08、简单的任务调度和切换策略09、遍历TCB链表寻找忙任务和就绪任务10、通过JMP FAR执行任务切换的过程11、内核任务与用户任务轮流执行的过程12、任务的终止和清理。。。。。。
2021-12-23 17:28:28 947
原创 28、特权级和特权级保护
01、特权级保护的必要性和机制02、当前特权级CPL03、描述符特权级DPL04、任务公共部分和私有部分的特权级划分05、依从的代码段06、门描述符和调用门07、本章程序说明和特权级检查的时机08、请求特权级RPL09、请求特权级调整指令ARPL10、一般情况下的请求特权级设置11、为内核接口例程创建调用门。。。。。
2021-12-22 10:37:08 1208
原创 27、任务和任务的创建
01、任务的概念和组成02、使用任务控制块保存任务的基本信息03、将任务控制块加入任务控制块链表04、通过栈传递例程参数和立即数的压栈指令05、段寄存器的压栈和出栈和栈的随机访问机制06、创建任务的局部描述符表LDT07、在当前任务的LDT中安装描述符08、LDT描述符的格式和创建09、创建任务状态段TSS10、TSS描述符的格式和创建11、用带参数的RET指令返回调用者12、加载任务寄存器TR和局部描述符表寄存器LDTR13、在虚拟机上验证任务的执行。。。。。。
2021-12-21 15:43:02 978
原创 26、用户程序编程接口及其实现
01、内核与用户程序之间的栈切换问题02、内核中为用户程序提供编程支持03、用户程序中的符号地址检索表04、内核程序中的符号地址检索表05、串比较指令CMPS06、串比较的方向和重复前缀07、使用外循环依次取得用户SALT表中的每个条目08、使用内循环依次取得内核SALT表中的每个条目并进行比较09、用户程序中使用内核编程接口读硬盘和显示文本10、虚拟机验证程序执行11、16进制显示双字、PUSHAD、POPAD和XLAT。。。。。
2021-12-19 15:45:50 1082
原创 25、保护模式程序的动态加载和执行
01、本章目标和内容提要02、内核结构和加载前的准备工作03、创建安装内核中各段的描述符04、段描述符的创建和BSWAP指令05、进入内核执行06、进入内核之后显示文本07、用CPUID指令显示处理器品牌信息08、准备加载用户程序09、预读用户程序并得到它的大小。。。。。。
2021-12-18 09:27:46 1452
原创 24、存储器的保护
01、MOV DS, AX和MOV DS, EAX02、修改段寄存器时的保护03、代码段执行时的保护04、用向上扩展的段做为栈段05、向上扩展的段作为栈段时的保护06、访问普通数据段时的保护07、内存线性地址的回绕特性08、用向下扩展的段做为栈段09、向下扩展的段作为栈段时的保护10、通过别名来实现段的共用和共享11、冒泡排序的基本原理12、32位操作尺寸下的LOOP指令13、数据交换指令XCHG
2021-12-14 11:08:57 935
原创 23、指令的格式及其操作尺寸
01、80286的16位保护模式02、16位处理器的指令操作尺寸03、32位处理器的指令操作尺寸04、x86的指令格式--操作码和立即数部分05、x86的指令格式--ModRM和偏移量部分06、x86指令格式--SIB部分07、x86指令格式--指令前缀部分08、处理器默认操作尺寸和相关指令前缀09、使用伪指令bits生成16位和32位模块10、描述符和段描述符高速缓存器的D位11、进入保护模式并切换到32位模块使用32位默认操作尺寸
2021-12-14 11:01:15 1554
原创 22、进入保护模式
01、保护模式要保护的是什么02、全局描述符表GDT及其寄存器GDTR03、创建全局描述符表04、描述符分类05、段描述符--段的类型和基地址06、段界限及访问控制位07、安装存储器的段描述符08、加载全局描述符表寄存器GDTR09、开启处理器的第21根地址线10、设置寄存器CR0的PE位进入保护模式11、描述符高速缓存器和保护模式下的内存访问12、调试器中观察实模式和保护模式的内存访问
2021-12-14 10:55:13 1955
原创 21、32位x86处理器编程架构
01 IA-32架构和保护模式02、寄存器的扩展和扩充03、32位处理器的内存访问概况04、32位处理器的寻址访问概况05、流水线技术06、高速缓存技术07、乱序执行技术08、寄存器重命名技术09、分支目标预测技术
2021-12-14 10:49:15 866
原创 C18代码
文章目录c18_mbr.asmc18_core.asmc18_mbr.asm ;代码清单17-1 ;文件名:c17_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2012-07-13 11:20 ;设置堆栈段和栈指针 core_base_address equ 0x00040000 ;常数,内核加载的起始内存地址 core_start_sec
2021-12-12 16:02:47 341 2
原创 C17代码
文章目录c17_mbr.asmc17_core.asmc17_1.asmc17_2.asmc17_mbr.asm ;代码清单17-1 ;文件名:c17_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2012-07-13 11:20 ;设置堆栈段和栈指针 core_base_address equ 0x00040000 ;常数,内核加载的起始内存地址
2021-12-12 16:01:21 594
原创 C16代码
文章目录c16_core.asmc16.asmc16_core.asm ;代码清单16-1 ;文件名:c16_core.asm ;文件说明:保护模式微型核心程序 ;创建日期:2012-06-20 00:05 ;以下常量定义部分。内核的大部分内容都应当固定 core_code_seg_sel equ 0x38 ;内核代码段选择子 core_data_seg_sel
2021-12-12 15:59:00 191
原创 C15代码
文章目录c15_core.asmc15.asmc15_core.asm ;代码清单15-1 ;文件名:c15_core.asm ;文件说明:保护模式微型核心程序 ;创建日期:2011-11-19 21:40 ;以下常量定义部分。内核的大部分内容都应当固定 core_code_seg_sel equ 0x38 ;内核代码段选择子 core_data_seg_se
2021-12-12 15:57:42 489
原创 C14代码
文章目录c14_core.asmc14_core.asm ;代码清单14-1 ;文件名:c14_core.asm ;文件说明:保护模式微型核心程序 ;创建日期:2011-11-6 18:37 ;以下常量定义部分。内核的大部分内容都应当固定 core_code_seg_sel equ 0x38 ;内核代码段选择子 core_data_seg_sel eq
2021-12-12 15:56:12 241
原创 C13代码
文章目录c13_mbr.asmc13_core.asmc13.asmdiskdata.txtc13_mbr.asm ;代码清单13-1 ;文件名:c13_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2011-10-28 22:35 ;设置堆栈段和栈指针 core_base_address equ 0x00040000 ;常数,内核加载的起始内存地址
2021-12-12 15:55:26 804
原创 C12代码
文章目录c12_mbr.asmc12_mbr.asm ;代码清单12-1 ;文件名:c12_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2011-10-27 22:52 ;设置堆栈段和栈指针 mov eax,cs mov ss,eax mov sp,0x7c00 ;计算GDT所在的逻辑段地址
2021-12-12 15:53:04 267
原创 C11代码
文章目录c11_mbr.asmc11_mbr.asm ;代码清单11-1 ;文件名:c11_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2011-5-16 19:54 ;设置堆栈段和栈指针 mov ax,cs mov ss,ax mov sp,0x7c00 ;计算GDT所在的逻辑段地址
2021-12-12 15:52:04 314
原创 C09代码
文章目录c09_1.asmc09_2.asmc09_1.asm ;代码清单9-1 ;文件名:c09_1.asm ;文件说明:用户程序 ;创建日期:2011-4-16 22:03 ;===============================================================================SECTION header vstart=0
2021-12-12 15:51:05 389
原创 C08代码
文章目录c08_mbr.asmc08.asmc08_mbr.asm ;代码清单8-1 ;文件名:c08_mbr.asm ;文件说明:硬盘主引导扇区代码(加载程序) ;创建日期:2011-5-5 18:17 app_lba_start equ 100 ;声明常数(用户程序起始逻辑扇区号) ;常数的
2021-12-12 15:48:13 695
原创 C07代码
文章目录c07_mbr.asmc07_mbr.asm ;代码清单7-1 ;文件名:c07_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2011-4-13 18:02 jmp near start message db '1+2+3+...+100=' start: mov ax,0x7c0 ;设置数据段的段基地址
2021-12-12 15:46:45 430
原创 C06代码
c06_mbr.asm: ;代码清单6-1 ;文件名:c06_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2011-4-12 22:12 jmp near start mytext db 'L',0x07,'a',0x07,'b',0x07,'e',0x07,'l',0x07,' ',0x07,'o',0x07,\ 'f',0x07,'f'
2021-12-12 15:44:53 563
原创 C05代码
c05_mbr.asm: ;代码清单5-1 ;文件名:c05_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2011-3-31 21:15 mov ax,0xb800 ;指向文本模式的显示缓冲区 mov es,ax ;以下显示字符串"Label offset:" mov byte [es:0x0
2021-12-12 15:43:40 243
原创 20、中断和动态时钟显示
01、中断和硬件中断02、中断控制器简介03、中断号、中断处理过程、中断向量表04、实时时钟、CMOSSRAM和BCD编码05、实时时钟芯片的中断信号06、安装0x70号中断的处理过程07、启用更新周期结束中断08、用TEST指令等待更新周期结束09、读取BCD码的时间并显示在屏幕上10、用NOT指令反转时间分隔符的颜色11、用IRET指令从中断过程返回12、用停机指令HLT使处理器进入低功耗状态。。。。。。
2021-12-12 15:34:04 3070
原创 19、硬盘和显卡的访问与控制
01、离开主引导分区02、给汇编程序分段03、控制端内元素的汇编地址04、加载器和用户程序头部段05、加载器的工作流程和常数声明06、确定用户程序的加载位置07、外围设备及其接口08、输入输出端口的访问09、通过硬盘控制器端口读取扇区数据10、过程和过程调用11、过程调用和返回的原理12、加载整个用户程序13、用户程序的重定位14、比特位的移动指令。。。。。。
2021-12-10 18:56:19 1255
原创 17、从1加到100并显示结果
01、字符串的定义和累加过程02、栈的原理和使用03、栈在数位分解和显示中的应用04、调试器中观察栈的状态05、栈和栈的特点06、逻辑或指令OR、逻辑与指令AND
2021-12-10 15:50:07 1111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人