一.什么是PendSV PendSV是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它.更详细的内容在<Cortex-M3 权威指南>里有介绍,下面我摘抄了一段. OS 可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动 作.悬起 PendSV 的方法是:手工往 NVIC的 PendSV悬起寄存器中写 1.悬起后,如果优先级不够 高,则将缓期等待执行. PendSV的典型使用场合是在上下文切换时(在不…
一.上篇回顾 上一篇文章中,我们完成了两个任务使用PendSV实现了互相切换的功能,下面我们接着其思路往下做.这次我们完成OS基本框架,即实现一个非抢占式(已经调度的进程执行完成,然后根据优先级调度等待的进程)的任务调度系统,至于抢占式的,就留给大家思考了.上次代码中Task_Switch实现了两个任务的切换,代码如下: void Task_Switch() { if(g_OS_Tcb_CurP == &TCB_1) g_OS_Tcb_HighRdyP=&TCB_2; else g_OS_…
一直想写个类似uCOS的OS,近段时间考研复习之余忙里偷闲,总算有点成果了.言归正传,我觉得OS最难的部分首先便是上下文切换的问题,他和MCU的架构有关,所以对于不同的MCU,这部分需要移植.一旦这个问题解决了,整个OS算是成功了一半了,当然,是对于简单的OS. 好了,要写一个OS,首先需要一个开发板和仿真器.我的开发板是STM32F4DISCOVERY,自带ST-LINK V2仿真器,板载MCU为STM32F407VGT6,支持FPU,32位ARM Cortex-M4F核,1024KB FLA…
一.安装IAR for ARM6.5 二.新建工程 1.选择处理器:STM32F407VG,暂不使用FPU 2.必要的路径配置和宏定义 3.使用SWO重定向IO输出 4.使用ST-LINK仿真器 5.下载配置 6.设置CPU频率,防止SWO输出乱码 三.代码调试 四.工程下载 stepbystep_stm32_os_template.rar…
第一次在知乎写博客,献丑了. VS code写stm32   今天实在觉得KEIL太丑,突然想到VS code也可以实现STM32代码的编写,遂决定写一个文章,把VScode变成一个STM32的IDE,实现KEIL的绝大部分功能,实现编译,链接,下载,调试为一体的IDE.参考了如下开源项目,这个项目用起来挺舒服的,自己也不会去写这些,这个还支持keil项目的导入. 基于CUBEMX构建VS code得IDE 先安装VS code 先安装python,这个...我就不写教程了,网上多的很,但我还是…
Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs.createReadStream(decodeURIComponent(root + filepath.pathname)); // 必须解码url readStream.pipe(res); // 管道传输 res.writeHead(200,{ 'Content-Type' : contType…
opencv 手写选择题阅卷 (三)训练分类器 1,分类器选择:SVM 本来一开始用的KNN分类器,但这个分类器目前没有实现保存训练数据的功能,所以选择了SVN分类器; 2,样本图像的预处理和特征提取代码与识别代码中使用一样的代码. 3,训练时的输入数据主要为两个矩阵,一个矩阵保存所有样本的特征数据,每一行一个图像,另一个矩阵保存每个样本所属的类别,比如 1.0代表A,2.0代表B,0代表空白. 4,所有样本分别保存在5个文件夹中(一个是空白,四个字母ABCD),用批处理生成一个文本文件包括所有…
Java自己动手写连接池三,核心代码; package com.kama.cn; import java.sql.Connection;import java.util.ArrayList;import java.util.List; public class ConnectionPool { //数据库连接 private static ConnectionPool connectionPool=new ConnectionPool(); public List<Connection> po…
JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07aef…
我是卓波,很高兴你来看我的博客. 系列文章: stm32+lwip(一):使用STM32CubeMX生成项目 stm32+lwip(二):UDP测试 stm32+lwip(三):TCP测试 stm32+lwip(四):网页服务器测试 stm32+lwip(五):以太网帧发送测试 ST官方有lwip的例程,下载地址如下: https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/st…