# jdos **Repository Path**: jiang-xiaojian/jdos ## Basic Information - **Project Name**: jdos - **Description**: jdos-简单OS! 从开始玩单片机到现在已有5 6个年头了,学了很多知识,见识过很多大佬的代码,但心里一直挂念着要做一个简单的RTOS,于是便有了这个工程。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 1 - **Created**: 2024-09-05 - **Last Updated**: 2025-08-22 ## Categories & Tags **Categories**: os **Tags**: 操作系统 ## README # jdos - 简单操作系统 jdos是一个简单的操作系统,实现了内存管理、任务管理、定时管理和异常管理。该项目旨在深入理解RTOS(实时操作系统)的原理。 ![输入图片说明](https://mjj.pub/upload/640c459ba60d1ce5cc5d577c29f40da.png) ## 软件架构 ![输入图片说明](https://mjj.pub/upload/36c9ac3cb854ba8949f547f52236e1d.png) ## 使用说明 目前只有KEIL下的工程,KEIL工程通过Stm32CubeMX生成的最小工程,使用的单片机为STM32F103RCT6,移植仅需修改几行代码,具体说明如下: ### 1. jdos文件 jdos非常简单,只有9个文件,将这些文件加入到自己的工程中。 ![输入图片说明](https://mjj.pub/upload/image-oghz.png) ### 2. 修改启动文件 关闭中断,防止系统未初始化导致异常。 ![输入图片说明](https://mjj.pub/upload/8efeaff06365f8a0ab9a3cc0bf4c948-ppmf.png) 同时将Stack_Size和Stack_Mem共享出去。 ![输入图片说明](https://mjj.pub/upload/image-yjkf.png) ### 3. 修改main文件 加入系统初始化函数。 ![输入图片说明](https://mjj.pub/upload/cd3938d782d761bcab55d0108aa0698.png) ### 4. 修改异常处理函数 在stm32f1xx_it.c中修改PendSV和SVC异常处理函数。 ![输入图片说明](https://mjj.pub/upload/2a0c09f3b00dfb5f96635b8390068b6.png) ![输入图片说明](https://mjj.pub/upload/9e3b49c003d7c62ab9f23fe9d1084f2.png) 编译后即可运行! > 注意:此仓库仅以STM32F103RCT6测试通过,工程是以STM32CubeMX生成的,库为HAL库,若要移植到标准库,则需要适当修改。若不是Cortex-M3内核,则需要大量修改。 ## 文档 jdos文档:[点击查看](https://mjj.pub/archives/1727334825312) ## 许可证 请查看仓库中的LICENSE文件以了解许可详情。