自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 【STM32实战】从零开始写Linux 0.12内核(100个小实验带你入门,先HAL库后寄存器)

大家好,我是XX(你的昵称),做嵌入式开发多年,深知Linux内核入门的痛点——理论多、实战少,新手容易卡壳。所以我策划了这个项目,目标只有一个:用STM32单片机,通过100个可复现的小实验,带大家从零亲手实现Linux 0.12内核的核心功能。项目将遵循“先易后难”的思路,初期借助HAL库快速上手,帮新手建立信心、跑通核心流程,之后逐步剥离HAL库,过渡到纯寄存器操作,贴近内核开发的历史原貌,让大家真正掌握底层逻辑。

2025-12-25 10:08:11 452

原创 13.从零开始写LINUX--支持换行与回车

为支持换行与回车功能,代码新增了字符清除与控制字符的关键定义,保障显示一致性:c运行// 黑底白字的空格字符(用于清除屏幕内容)// 控制字符ASCII码(在函数中直接判断)// - 10: 换行(LF)、11: 垂直制表(VT)、12: 换页(FF)、13: 回车(CR)、8: 退格(BS)、127: 删除(DEL):由两字节组成,高字节0x07表示 “黑底白字” 显示属性,低字节0x20表示空格字符,用于清除屏幕无用字符时保持显示风格统一。硬件与逻辑解耦:通过origin(逻辑显存原点)与。

2025-08-25 21:47:43 1087

原创 12.从零开始写LINUX内核--操作显示控制器

该文件通过嵌入式汇编封装了硬件端口的读写操作,为控制台初始化提供硬件访问能力:c运行/* 硬件IO端口访问的嵌入式汇编宏函数 *//*** 硬件端口字节输出* @param[in] value 欲输出字节* @param[in] port 端口*//*** 硬件端口字节输入* @param[in] port 端口* @retval 返回读取的字节*/_v;})/*** 硬件端口字节输出(带延迟)* 使用两条跳转语句来延迟一会儿。

2025-08-22 21:38:47 1100

原创 11.从零开始写Linux内核-- 控制台初始化

在 Linux 0.12 内核的启动流程中,控制台初始化是连接硬件与用户的第一座桥梁。它通过识别显示器类型、配置显存映射和端口参数,为后续的内核信息输出与用户交互奠定基础。本文将基于提供的源码,深入解析控制台初始化的核心逻辑,展现从硬件探测到功能就绪的完整过程。

2025-08-21 11:25:59 446

原创 10.从开始写LINUX内核——时钟中断

本文实现了 Linux 0.12 内核时钟中断的完整流程,从 8253 定时器初始化到 IDT 向量绑定,再到中断处理程序编写,所有代码严格遵循 AT&T 语法及 as 汇编器规范。通过 QEMU 运行可观察到周期性的中断计数更新,直观验证时钟中断的响应机制。这一实现为后续进程调度、时间管理等内核功能奠定了基础。

2025-08-16 20:10:25 537

原创 9.从零开始写LINUX内核——设置中断描述符表

以下是基于 setup 程序扩展的完整代码,包含中断描述符表(IDT)的定义、初始化及中断处理程序,可直接用于实验验证:asm。

2025-08-16 19:56:09 364

原创 8.从零开始写LINUX内核——初始化中断控制芯片

Linux 0.12 内核开发需要特定版本的工具链以确保兼容性,以下是在 Ubuntu 20.04 下的安装命令:bash。

2025-08-16 19:43:32 412

原创 7.从零开始写LINUX内核--进入保持模式流程

调试 qemu-system-i386 -fda linux.img -s -S & gdb (gdb) target remote localhost:1234 (gdb) set architecture i8086 (gdb) b *0x7C00 (gdb) c。jmpl $0x07C0, $start2 # BIOS 把 CS=0,IP=0x7C00,这里主动重设 CS=0x07C0。.word 0x07FF,0x0000,0x9A00,0x00C0 # 代码段。

2025-08-16 09:14:07 295

原创 6.从零开始构建 Linux 内核--进入保护模式

开发内核程序首先需要一套稳定可靠的工具链,就像工匠需要趁手的工具一样。在 Ubuntu 20.04 环境下,我们可以通过以下步骤搭建完整的开发环境。

2025-08-16 08:59:52 925

原创 5.从零开始写LINUX内核--从实模式到保护模式的过渡实现

在操作系统启动流程中,Setup 程序承担着从实模式向保护模式过渡的关键任务。本文基于前期引导扇区与基础 Setup 程序框架,开发增强版 Setup 程序,实现硬件信息收集、GDT 配置及保护模式切换功能,完整覆盖从 BIOS 到内核加载前的初始化流程。沿用引导扇区开发的工具链(版本验证通过),确保环境一致性:bash2. 环境验证通过前期编写的 脚本验证环境,确保 16 位汇编支持与工具完整性:bash显示 即可进入开发。增强版 Setup 程序需完成以下核心任务:asm三、镜

2025-08-14 20:32:48 309

原创 4.从零开始写LINUX内核--调试汇编代码的方法

通过 Bochs 调试器的单步执行、断点设置和寄存器 / 内存查看功能,我们可以精确追踪引导扇区的每一步执行过程。对于 AT&T 语法的引导程序,重点需要验证段寄存器初始化、BIOS 中断参数设置和字符串处理逻辑。掌握这些调试技巧,将为后续操作系统内核开发奠定坚实的基础,帮助开发者快速定位和解决底层代码中的问题。

2025-08-14 16:51:48 899

原创 3.从零开始写LIINUX内核---Bochs 2.8 源码安装与调试指南

通过源码安装 Bochs 2.8 可获得完整的调试功能,配合自定义配置文件和核心调试指令,能有效追踪引导扇区程序的执行流程、寄存器状态和内存变化。相比预编译版本,源码安装可灵活启用所需功能,为操作系统开发提供精准的调试环境。编辑。

2025-08-14 16:49:21 594

原创 2.从零开始写LINUX内核—导扇区与 Setup 程序开发

在操作系统启动流程中,引导扇区(bootsect)是 BIOS 加载的第一道程序,而 setup 程序则负责后续初始化工作。本文将基于 Ubuntu 20.04 环境,使用 AT&T 语法开发完整的引导扇区与 setup 程序组合,详细介绍工具链配置、镜像构建流程及 QEMU 运行验证,为内核开发提供基础启动框架。

2025-08-13 21:12:56 589

原创 1.从零开始写LINUX内核 第一个内核程序

本文详细介绍了 Ubuntu 20.04 环境下引导扇区开发的完整工具链(含版本信息)、QEMU 运行配置及开发流程。通过严格遵循工具链检查、代码编写、编译验证步骤,可快速实现一个能在 QEMU 中运行的引导扇区程序,为后续操作系统内核开发奠定基础。编辑分享介绍一下QEMU的运行配置开发环境的选择对引导扇区开发有哪些影响?如何使用QEMU运行引导扇区程序?

2025-08-13 10:34:39 912

原创 QT QSqlDatabase测试

【代码】QT QSqlDatabase测试。

2025-01-01 09:47:57 193

原创 2.ATK-DLRK3568 QT竖屏显示改为横屏显示

1.在控制台进行操作,用VI 打这个配置文件。

2024-12-31 20:43:56 470

原创 1.ATK-DLRK3568 用QT显示USB摄像头画面

【代码】1.ATK-DLRK3568 用QT显示USB摄像头画面。

2024-12-03 22:56:55 582

原创 30.100ASK_T113-PRO 用QT编写视频播放器(一)

1.再buildroot中添加视频解码库 X264,执行 make menuconfig。2. 保存,重新编译。3.将镜像下载开发板。

2024-12-01 21:44:05 1059 2

原创 29.windows 下用QT编写一个视频播放器

安装这个就可以正常播放了.

2024-12-01 20:52:52 438

原创 28.100ASK_T113-PRO Linux+QT 显示一张照片

程序别下载错了,路径: build-pic-100ask-Debug。下载方法是 : adb push pic /root/4.下载到开发板运行测试。

2024-12-01 00:08:08 405

原创 27.100ASK_T113-PRO 测试摄像头 输出照片

可以生成很多图片的.

2024-11-29 22:32:36 380

原创 26.100ASK_T113-PRO 测试摄像头 输出信息

【代码】25.100ASK_T113-PRO 测试摄像头 输出信息。

2024-11-27 22:30:26 1111

原创 25.100ASK_T113-PRO 测试摄像头(型号)

USB2.0 摄像头,支持 UVC协议, 就是V4L2 +USB2.0 大概可这样理解吧.这个是2K分辨率.2.8mm焦距.开发板还是 100ASK_T113-PRO V1.2版。

2024-11-27 22:21:49 886

原创 24.100ASK_T113-PRO 驱动摄像头(V4L2)

等摄像头到了,我测试一下.实际应用一下看看效果.

2024-11-26 21:32:38 403

原创 23.100ASK_T113-PRO 移植opencv

我使用的是 buildroot 的工具链,这个简单就可以得到.就是编译一遍系统.路径:这里最重要的就是验证一下工具链:要使用此编译器,上安装一些库。在终端输入arm-linux-gnueabi-gcc -v来查看安装的交叉编译器版本号.

2024-11-26 17:18:38 885 1

原创 22.Ubuntu和 Windows文件互传(FTP服务)

打开 Ubuntu的终端窗口,然后执行如下命令 的终端窗口,然后执行如下命令 来安装 FTP服务: 等待软件自动安装,完成以后使用如下 VI命令打开 命令打开 命令打开 /etc/vsftpd.conf,命令如下: ,命令如下:打开以后 打开以后 vsftpd.conf文件以后找到如下两行: 文件以后找到如下两行: 文件以后找到如下两行: 文件以后找到如下两行: 文件以后找到如下两行:local_enable=YESwrite_enable=YES 修改完 修改完 vsftpd.conf以后保

2024-11-26 13:28:24 844

原创 21.100ASK_T113-PRO 开发板开机自动QT程序简单的方法二

用户模式下启动。

2024-11-23 22:03:16 466

原创 20.100ASK_T113-PRO 开发板开机自动QT程序简单的方法一

本文详细介绍了在嵌入式系统中实现程序开机自启动的多种方法,包括通过修改/etc/profile、/etc/rc.local文件,以及在/etc/init.d目录下创建启动脚本等方式。文章还解释了不同配置文件的作用及它们之间的区别。开机自动启动QT应用程序。

2024-11-23 21:45:28 661

原创 19.QT程序简单的运行脚本

【代码】19.QT程序简单的运行脚本。

2024-11-23 21:26:46 783

原创 18.嵌入式QT开发环境找不到标准文件的问题(stdio.h)

在LED_and_TempHumi.pro中添加以下语句。

2024-11-23 16:49:44 679

原创 17.100ASK_T113-PRO 配置QT运行环境(三)

这个地方还需要加字体,不然不会显示字体.做成以下效果,会QT都没有问题吧。1.打开QT,新建项目.

2024-11-18 22:52:08 428

原创 16.100ASK_T113-PRO 配置QT运行环境(二)

2.2 选择编译器: 在出现的选项对话框中,在左边点击 Kits,右边选择 Compilers 标签,并点击 Add 选择 Custom->C++2.3 设置编译器: 在弹出的对话框中填写以下内容: Compiler path , Make path 和 ABI;文件名: qt-creator-opensource-linux-x86_64-4.8.0.run。2.1 打开选项界面: 在 QtCreator 界面中,依次点击 tools -> options。1.在Ubuntu中安装。

2024-11-18 15:59:34 905

原创 15.100ASK_T113-PRO 配置QT运行环境(一)

准备在开发板上运行QT软件开发.

2024-11-17 22:49:18 520

原创 14.100ASK_T113-PRO LCD7寸实验

【代码】14.100ASK_T113-PRO LCD7寸实验。

2024-11-17 12:35:24 444

原创 13.100ASK_T113-PRO RTC实验

这个实验太简单了,驱动已经在内核中做好了,不需要做什么.可以看到 "RTC0"这个设备,驱动已经挂载好了.

2024-11-16 22:31:15 621

原创 12.100ASK_T113-PRO 利用设备树驱动 IIC设备(GY-302 twi)

在开发上运行做 IIC的驱动实验,通过修改设备树实驱动光线传感器.

2024-11-15 10:17:41 1221

原创 11 100ASK_T113-PRO 利用设备树测试GPIO中断实验(PE12)

【代码】11 100ASK_T113-PRO 利用设备树测试GPIO中断实验(PE12)

2024-11-13 17:17:29 934

原创 10 100ASK_T113-PRO GPIO中断实验(PE12)

一个GPIO外部中断实验,上升沿与下升解发中断.使用的是100ASK_T113-PRO开发板,IO口是PE12.

2024-11-12 15:02:08 799

原创 buildroot常规操作

【代码】buildroot常规操作。

2024-11-12 11:18:29 336

原创 9.100ASK_T113-PRO 调试GPIO方法

打开LINUX的Debug Filesystem 功能,可以查看调试GPIO信息.如GPIO的编号,有的人就是不计算,每个计算方法还不一样.在这个可以直接查看到.那个IO复用做什么功能.都可以轻松查看到.我用的开发板是100ASK_T113-PRO V1.2版.

2024-11-12 11:11:14 605

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除