自己写的小型嵌入式操作系统

本文作者分享了自己在STM32平台上实现小型嵌入式操作系统的经历,详细介绍了如何从零开始创建一个能进行任务切换的操作系统。通过理解中断机制并模拟中断实现任务切换,涉及寄存器操作、中断处理、任务切换流程等关键知识点,旨在帮助读者逐步理解操作系统的核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小型嵌入式操作系统的实现
写一个自己的操作系统是我一直以来的愿望,一来,学习,二来吗,装装X了。。哈哈

进过一段时间的学习,今天我写的代码终于实现了任务切换,也就是多任务环境了,虽然任务本身只是很简单那的闪烁你的LED小灯,但是仍然遮挡不住背后操作系统光辉的本质。
今天我决定,把我学习的经历分享出来,希望能起到抛砖引玉的作用。
一提到操作系统,大部分人的感觉是高端大气上档次,其实不然,仔细读完我的文章,你就能一步一步,从无到有,实现一个小型嵌入式操作系统,她可以实现基本的任务切换,也就是多任务了,以后的任务通信什么的,就很简单了。
我的硬件平台是STM32F103系列的单片机,这个很重要,因为嵌入式操作系统的核心就是任务切换,这段代码必须用汇编实现,大家都知道,汇编语言是平台相关语言,你用汇编语言在这个平台中点亮了一个LED灯,在另外一个平台中不能用时很平常的事情。
嵌入式操作系统最核心的地方就是任务切换,所以我会先从这方面开始讲起,
写这部分的时候,会用到很多底层和硬件平台相关的知识,用到什么内容我会在下面说明白。

  1. 程序本质的剖析

写操作系统这个高端大气上档次的工作肯定要有一些铺垫了,最必须的就是对你写的程序的了解,也许你会说,我写的程序,我还能不理解吗,但是这次咱么要从寄存器角度分析。
咱们首先从类比学习开始,咱们先来理解中断,对于中断,学习单片机的小朋友们肯定很理解,咱么来一起回顾下,单片机是怎么用硬件实

一个小型操作系统,采用gcc进行开发,几千行的代码,方便初学者学习,内含有编译好的映像文件,及bochs模拟器配置文件,可在bochs下模拟运行。如下为源码包内的README文件: # # Snixos Project version 1.0, 2003.6 # (C) Copyright 2003,2004,2005 Jockeyson,KeqianGao # All Rights Reserved. # Distributed under the terms of the GNU General Public License. # # This program is a free and open source software and you can redistribute # it and/or modify it under the terms of the GNU General Public License as # published by the Free Software Foundation. As no any liability is assumed # for any incidental or consequential damages in connection with the # information or program fragments contained herein,so any exception arised # is at your own risk. It is ABSOLUTELY WITHOUT ANY WARRANTY. # Bug report please send to Snallie@tom.com . # 0. What is Snixos Project? Snixos Project is an experimental operating system designed by Jockeyson , KeqianGao aiming at multitask/multithread, Chinese envionment including Chinese characters input and ouput etc... 1. What you need to run Snixos PC with the following minimum configuration: CPU: i386 or above MEM: 2M extended memory or more DISPLAY: VGA or above Floppy Drive: 1.44M 2. Compile Environment RH Linux 7.2 or above (kernel 2.4.7-10 ) NASM 0.98 gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98) 3. Compile and install a. unpack the source package tar zxvf snixos_x.x_YYYYMMDD_HHMMSS.tgz b. cd to snixos cd snixos c. before make insert a 1.44M floppy in drive c.1 to make snixos run in VGA text mode make clean make VIDEO=TEXT diskimg make floppy c.2 to make snixos run VGA graphics mode make clean make diskimg make floppy d. bootup with the floppy just created in step c also you can follow this way to run snixos in bochs either in Windows or Linux a. just as the above b. just as the above c. invoke these command: make clean; make diskimg you'll get a snixos ima
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值