-
CMake
CMake由于Makfile在编译文件跨平台的时候需要的代价比较大, CMake相对比较简单使用的文件CMakeList.txt, 之后执行文件cmake, 会根据系统生成对应的文件 根节点CMakeLists.txt中的变量全局有效 父节点CMakeLists.txt中的变量可以在子节点中使用 子节点CMakeLists.txt中的变量只能在当前节点中使用命令 注释#, 使用这个注释一行#[[ ]]: 注释一块内容 命令最低版本cmake_minimum_required...…
-
初识esp32
初识esp32ESP32是功能丰富的Wi-Fi & 蓝牙的通用MCU,适用于多样的物联网应用。 性能稳定。工作温度范围达到 –40°C 到 +125°C。集成的自校准电路实现了动态电压调整,可以消除外部电路的缺陷并适应外部条件的变化。 高度集成。ESP32 将天线开关、RF balun、功率放大器、接收低噪声放大器、滤波器、电源管理模块等功能集于一体。ESP32 只需极少的外围器件,即可实现强大的处理性能、可靠的安全性能,和 Wi-Fi & 蓝牙功能。 超低功耗。ES...…
-
x86保护模式下的编程
x86保护模式下的编程实现一个小型的操作系统实模式=>BIOS中断=>保护模式=>GDT/LDT表 =>TSS任务状态 =>调用门(系统调用)创建工程 Makefile文件# 功能:工程目标创建的makefile文件# # 创建时间:2022年8月31日# 作者:李述铜# 联系邮箱: 527676163@qq.com# 相关信息:此工程为《从0写x86 Linux操作系统》的前置课程,用于帮助预先建立对32...…
-
操作系统准备
操作系统准备编译器GCCGDB调试器, PC和虚拟机进行连接Binutils工具集使用VSCode和CMake进行控制虚拟机使用的是qemu附加工具: 对于磁盘映像进行读写具体的配置 安装gcc工具链以及配置路径,这里安装在C盘根目录 安装cmake工具用于包管理,直接使用提供的安装包就可以了 安装qemu,必须这一个版本, 并且默认路径 安装git, 添加./usr/bin文件, 因为要使用dd命令 vscode安装各种插件 调试之后F5进行运行…
-
补充知识
补充知识总体框图qemu开源的托管虚拟机, 纯软件虚拟化模拟器, 几乎可以模拟任何硬件设备, 电视性能比较低两种运行模式 用户模式(User mode):利用动态代码翻译机制来执行不同主机架构的代码,例如:在x86平台上模拟执行ARM代码,也就是说:我们写一条ARM指令,传入整个模拟器中,模拟器会把整个指令翻译成x86平台的指令,然后在x86的CPU中执行。 系统模式(System mode):模拟整个电脑系统,利用其它VMM(Xen, KVM)来使用硬件提供的虚拟化支持,创建接近于主...…
-
补充知识2
补充知识2CMake注释注释行CMake 使用 # 进行行注释,可以放在任何位置。# 这是一个 CMakeLists.txt 文件cmake_minimum_required(VERSION 3.0.0)注释块CMake 使用 #[[ ]] 形式进行块注释。#[[ 这是一个 CMakeLists.txt 文件。这是一个 CMakeLists.txt 文件这是一个 CMakeLists.txt 文件]]cmake_minimum_required(VERSION 3.0.0)命令 cmak...…
-
day17命令行窗口
day17命令行窗口闲置任务当所有任务都进入睡眠的时候会执行的一个任务添加卫兵struct TASK *task_init(struct MEMMAN *memman){ int i; struct TASK *task, *idle; struct SEGMENT_DESCRIPTOR *gdt = (struct SEGMENT_DESCRIPTOR *) ADR_GDT; taskctl = (struct TASKCTL *) memman_alloc_4k(memman, siz...…
-
day17命令行窗口
day17命令行窗口闲置任务…