![](https://img-blog.csdnimg.cn/direct/4a6cf5a76ed84a3ebd7156427a375572.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
嵌入式
文章平均质量分 95
个人的嵌入式软件学习路线
木心
I seek not to know the answer, but to understand the questions.
欢迎访问我的个人Blog-->
https://shenmuxin.github.io
展开
-
动手学操作系统(七、实现内存分页机制)
在上一节中,我们成功读取了物理内存的容量,并且在之前的学习中,我们的程序已经进入了保护模式,地址空间能够达到4GB,但是所有的进程(包括操作系统)都需要共享这4GB的空间,为了更好得维护这4GB的虚拟内存空间,我们需要使用内存分页机制。:指计算机中实际存在的硬件内存,即RAM(随机存取存储器)。物理内存由具体的内存芯片组成,直接用于存储正在使用的数据和程序。:是操作系统提供的一种内存管理技术,它为每个进程提供了一个连续的、私有的地址空间,使得每个进程认为自己拥有独立且足够大的内存空间。原创 2024-06-13 14:34:04 · 1008 阅读 · 0 评论 -
动手学操作系统(六、获取物理内存容量)
在上一节中,我们介绍了保护模式和实模式的区别,保护模式的最大特点是“大”,“大”是指寻址空间大,在进入保护模式之后,我们还将要接触虚拟内存、内存管理等,但这些和内存有关的概念都是建立在物理内存之上的,所以无论理论上的概念有多高大上,最终还是要落实到物理内存上才行,所以这一节我们来学习如何获取物理内存容量。原创 2024-06-12 11:45:15 · 592 阅读 · 0 评论 -
动手学操作系统(五、实现保护模式下的Loader)
在上一节中,我们使用了MBR来加载的Loader,Loader是要经过实模式到保护模式的过渡,并最终在保护模式下加载Kernel,上一节只实现一个在实模式下工作的简易Loader,打印了一些消息,但是我们并没有完善这个Loader的功能,在这一节中,我们进一步完善这个Loader的功能。原创 2024-05-30 17:01:04 · 981 阅读 · 0 评论 -
动手学操作系统(四、MBR读取硬盘加载Loader)
硬盘属于存储介质,在硬盘的发展历史中,随机存取具有划时代的意义,程序中的算法不用再考虑存储时间,访问任意数据所用的时间几乎是相等的,这一改之前的存储设备其存取时间呈线性的历史。为了让硬盘工作,我们需要通过读写硬盘控制器的端口,端口就是位于IO控制器上的寄存器,这里就算指的是硬盘控制器上的寄存器。硬盘的控制遵循标准ATA(Advanced Technology Attachment),ATA的标准有些冗长,这里只简单介绍我们需要使用到的部分,如下图所示。原创 2024-05-29 14:18:40 · 905 阅读 · 0 评论 -
动手学操作系统(三、通过IO接口直接控制显卡)
为了兼容大量的硬件外设,CPU需要增加一“层”来解决不兼容的问题,在CPU和外设之间的这一层就是IO接口,IO接口的形式不限,它可以是电路板,芯片,插槽等等,它的作用就是在CPU和外设之间做相互协调的转化。设置数据缓冲,解决CPU与外设的速度不匹配设置信号电平转换电路设置数据格式转换设置时序控制电路来同步CPU和外设提供地址译码。原创 2024-05-28 18:06:20 · 903 阅读 · 0 评论 -
动手学操作系统(二、编写MBR主引导记录)
在之前的学习内容中,我们已经实现了基本的仿真环境bochs的搭建,还首次使用硬盘引导启动了bochs,虽然我们只卡在了启动的界面,但是我们已经顺利的搭建起整个流程了。原创 2024-05-28 15:44:15 · 603 阅读 · 0 评论 -
动手学操作系统(一、搭建实验环境)
🚀 环境配置 🚀笔者的环境使用的是这里的ubuntu你可以在虚拟机里安装,也可以安装双系统,也可以是单独的ubuntu系统,这个就看个人的喜好。针对初学者来说,笔者推荐使用虚拟机平台VMware在window环境下来安装ubuntu。或者可以使用VirtualBox在linux环境下安装ubuntu。原创 2024-05-27 16:49:32 · 988 阅读 · 0 评论 -
EPS32实操之【获取网络请求】
模块包含热点 AP 模式和客户端 STA 模式,热点 AP 是指电脑或手机端直接连接 ESP32 发出的热点实现连接,如果电脑连接模块 AP 热点,这样电脑就不能上网,因此在使用电脑端和模块进行网络通信时,一般情况下都是使用 STA 模式。请求体:包含请求所需的数据。我们虽然可以对任意网址发送网络请求,但是这样毫无意义,比如,我想要获取某个地区的天气状况,就需要调用相对应的接口,也就是 API。实现一个访问查询实时天气的一个功能,通过串口发送查询指令然后能够查询当前的实时天气,并且通过串口打印出来。原创 2024-03-26 16:23:54 · 1128 阅读 · 0 评论 -
Vscode + PlatformIO + Arduino 搭建EPS32开发环境
在这个目录下,可以放置项目自定义的头文件,或者是一些需要被其他文件引用的第三方库的头文件。在这个目录下,可以放置项目需要引用的第三方库或自己编写的库。这些库文件通常是以源代码的形式提供,可以是单个文件或多个文件的集合。这样的组织结构可以方便地管理项目所需的库文件和头文件,并在构建过程中正确引用和链接它们。:这是 PlatformIO 的配置文件,用于指定项目的配置选项,如目标硬件平台、编译选项、上传设置等。:该文件夹是 PlatformIO 的工作目录,包含编译生成的二进制文件、日志文件等。原创 2024-03-26 15:03:08 · 1941 阅读 · 0 评论