原文:一步步学习操作系统(2)——在STM32上实现一个可动态加载kernel的"my-boot"

如果要做嵌入式Linux,我们首先要在板子上烧写的往往不是kernel,而是u boot,这时需要烧写工具帮忙。当u boot烧写成功后,我们就可以用u boot附带的网络功能来烧写kernel了。每当板子上电时,u boot一般会被加载到内存的前半段,如果我们的kernel之前就已经被烧写到开发板了,那么u boot会加载kernel到内存的后半段并跳转到kernel的起始地址处执行 或者直接跳 ...

2015-07-31 23:43 2 3101 推荐指数:

查看详情

一步步STM32 OS【三】PendSV与堆栈操作

一、什么是PendSV PendSV是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它。更详细的内容在《Cortex-M3 权威指南》里有介绍,下面我摘抄了一段。 OS 可以利用它“缓期执行”一个异常——直到 ...

Sat Nov 02 21:36:00 CST 2013 3 23539
一步步STM32 OS【一】 序言

,首先需要一个开发板和仿真器。我的开发板是STM32F4DISCOVERY,自带ST-LINK V2仿真器, ...

Mon Oct 28 21:39:00 CST 2013 1 6288
一步步STM32 OS【二】环境搭建

一、安装IAR for ARM6.5 二、新建工程 1、选择处理器:STM32F407VG,暂不使用FPU 2、必要的路径配置和宏定义 3、使用SWO重定向IO输出 4、使用ST-LINK仿真器 5、下载配置 ...

Sat Nov 02 19:10:00 CST 2013 0 3124
一步步STM32 OS【四】OS基本框架

一、上篇回顾 上一篇文章中,我们完成了两个任务使用PendSV实现了互相切换的功能,下面我们接着其思路往下做。这次我们完成OS基本框架,即实现一个非抢占式(已经调度的进程执行完成,然后根据优先级调度等待的进程)的任务调度系统,至于抢占式的,就留给大家思考了。上次代码中Task_Switch实现 ...

Mon Nov 04 06:18:00 CST 2013 0 6948
一步步实现一个基本的缓存模块

一步步实现一个基本的缓存模块 注意后续代码及改进见后后文及github,文章上的并没有更新。 1. 前言 2. 请求级别缓存 2.1 多线程 3. 进程级别缓存 3.1 分区与计数 3.2 可空缓存值 3.3 封装与集成 4. 小结 ...

Mon Dec 08 21:57:00 CST 2014 9 2736
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM