前言:人有心跳能证明自己还活着,单片机也不例外! 1.开发环境:MDK5,一块STM32单片机开发板。(文章所用stm32f103c8t6开发板) 首先,我们在使用MDK5的时候,容易在增删注释的过程中出现乱码现象,可以在软件中进行字体,缩进和编码的选择。 · 2.然后开始编写时基函数。 3.后面我 ...
分类:
其他好文 时间:
2019-11-10 09:52:32
阅读次数:
78
通常的Cortex-M内核MCU一般都会内嵌并行NOR Flash,这个并行NOR Flash是直接挂在Cortex-M内核高性能AHB总线上的,知名IDE如果支持这款MCU,也都会同时集成对应Flash的下载算法,方便用户直接在IDE里下载代码进Flash和XIP调试,但是i.MXRT内部并没有F... ...
分类:
其他好文 时间:
2019-11-04 13:21:51
阅读次数:
99
Systick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器。 Systick定时器常用来做延时,或者实时系统的心跳时钟。这样可以节省MCU资源,不用浪费一个定时器。比如UCOS中,分时复用,需要一个最小的时间戳,一般在STM32+UCOS系统中,都采用Systic ...
分类:
其他好文 时间:
2019-11-03 11:03:59
阅读次数:
523
一. 感谢CmBacktrace开源项目,git项目网站:https://github.com/armink/CmBacktrace 二. 移植CmBacktrace 2.1 准备好CmBacktrace源码 2.2. 准备自己的项目源码 1. 如果没有自己的项目,可以使用CmBacktrace的d ...
分类:
其他好文 时间:
2019-10-28 00:35:39
阅读次数:
111
在这里,非常感谢《cortex-cm3权威指南》的翻译者。 PendSV 的典型使用场合是在上下文切换时(在不同任务之间切换)。 例如, 一个系统中有两个就绪的任务,上下文切换被触发的场合可以是: 1 执行一个系统调用 2 系统滴答定时器(SYSTICK)中断,(轮转调度中需要) 让我们举个简单的例 ...
分类:
其他好文 时间:
2019-10-24 10:05:04
阅读次数:
122
概述: 当前开发中,我使用的Keil开发工具较多(keil526),故以keil为例进行介绍,其他开发环境大同小异。 1. 编译链接的定义 不管我们编写的代码有多么简单,都必须经过「编译 --> 链接」的过程才能生成可执行文件: 编译就是将我们编写的源代码“翻译”成计算机可以识别的二进制格式,它们以 ...
分类:
其他好文 时间:
2019-10-03 23:47:06
阅读次数:
142
杂谈 工作了一天,脑袋比较乱。一直想把底层的知识写成一个系列,希望可以坚持下去。为什么要写底层的东西呢?首先,工作用到了这部分内容,最近和内部Flash打交道比较多,自然而然会接触到一些底层的东西;第二,近些年来Cortex-M阵营各厂商(ST、Nordic、ATMEL……)对新产品的迭代速度越来越 ...
分类:
其他好文 时间:
2019-09-30 19:50:58
阅读次数:
94
SysTick定时器简介 SysTick定时器是存在于系统内核的一个滴答定时器,只要是 ARM Cortex M0/M3/M4/M7 内核的MCU都包含这个定时器,它是一个24位的递减定时器,当计数到 0 时,将从RELOAD 寄存器中自动重装载定时初值,开始新一轮计数。使用内核的SysTick定时 ...
分类:
其他好文 时间:
2019-09-08 22:02:08
阅读次数:
101
Zynq7000系列是基于APSOC的可拓展处理平台,它的本质特征是将一个双核ARM Cortex-A9处理器和一个可编程的FPGA芯片集成到一个片上系统中。在进行Zynq7000的详细说明前,本节首先对架构的高层模型进行介绍,如图2-1所示。 通常将ARM处理器和各种存储外设资源称为处理系统(Pr ...
分类:
其他好文 时间:
2019-09-06 01:20:27
阅读次数:
112
原文 https://blog.strongwong.top/posts/%E5%85%B3%E4%BA%8E-ARM-Cortex-M3-%E7%9A%84%E5%90%AF%E5%8A%A8%E6%96%87%E4%BB%B6%E5%88%86%E6%9E%90%E5%8F%8A%E5%88%8 ...
分类:
其他好文 时间:
2019-08-24 13:05:27
阅读次数:
73