基于STM32从零写操作系统系列---前言与目录

这个学习过程将不使用任何集成开发环境,目的只有一个,就是完全了解和掌握整个硬件和软件的架构。由于集成开发环境帮我们在构建工程时完成了很多工作,一方面是减轻了我们开发的负担,但一方面也让学习者不了解底层是如何构建的。这次的学习目的就是要从工程构建,从汇编语言,从stm32f103单片机的硬件结构,从操作系统理论开始学习,希望可以从各个知识点的学习过程中,掌握stm32f103单片机的硬件原理,掌握操作系统的基本原理,从而初步了解计算机系统的基本理论。

本系列文章将试图使用STM32F103单片机来学习操作系统的理论,参考的内核代码为linux-4.20.4,minix3.20.0;参考的书籍有《深入理解LINUX内核》,《操作系统设计与实现 第3版 上/下》,以及本人在网上下载的一些PDF文档。学习目标是,在实践中掌握操作系统理论,学习过程尽可能详细分析和记录下来。由于很多书籍都是长篇大论地描述概念理论,给出的代码分析又只是一个片段而已,对于资质一般的我来说,没有详细的说明,我是搞不懂哪里是哪里的。所以,本系列文章就是希望可以从一字一句的代码实现中,详细解剖每个知识点,可以透彻地理解到,理论是什么,为什么是这样,怎样在代码中实现它。

使用的交叉编译环境

  1. windows + linux
  2. 纯windows

硬件要求

  1. stm32单片机
  2. ST-Link调试下载器
  3. 台式电脑或手提电脑

具体的交叉编译环境搭建,将会用两篇文章描述。详细请看目录。

【更新中】本系列文章的目录:

  1. 基于STM32从零写操作系统系列---熟悉win+linux交叉编译环境
  2. 基于STM32从零写操作系统系列---熟悉纯windows交叉编译环境
  3. 基于STM32从零写操作系统系列---bootloader
  4. 基于STM32从零写操作系统系列---点亮LED灯
  5. 基于STM32从零写操作系统系列---用GDB调试LED程序
  6. 基于STM32从零写操作系统系列---使用C语言
  7. 基于STM32从零写操作系统系列---基于寄存器写串口驱动
  8. 基于STM32从零写操作系统系列---使用官方固件库
  9. 基于STM32从零写操作系统系列---将printf指向串口输出
  10. 基于STM32从零写操作系统系列---内存管理入门
  11. 基于STM32从零写操作系统系列---进程概念入门

项目代码分享位置

码云:https://gitee.com/drson/STM32_kernel_dev/tree/master/(实验代码暂时通过百度云分享,到时完成一个简单的内核时重新在码云分享)

参考文献:

链接:https://pan.baidu.com/s/1DlzYMo8oZsnF9ammJuuZoQ 
提取码:dc5h 

【1】 STM32最新固件库v3.5

【2】(开发板配套)STM32F1xx中文参考手册.pdf

【3】(开发板配套)普中STM32F1xx开发攻略.pdf

【4】(芯片资料)STM32F103ZET6.pdf

【5】STM32F10xxx20xxx21xxxL1xxxx Cortex®-M3 programming manual.pdf

【6】Cortex M3权威指南(中文).pdf

 如有环境搭建问题、配置设置问题,欢迎留言一起探讨。

 

你可能感兴趣的:(从零开始构建自己的操作系统)