随笔分类 - STM32\RTOS
摘要:近两年,微软越来越拥抱开源支持跨平台,win10搭载Linux子系统,开源VSCode作为跨平台编辑器,VS2017官方支持了Linux和嵌入式开发功能。 ST也是,近两年开发的软件工具基本都是跨平台(基于Java)的,比如STM32CubeMX,MCUFinder,STM32CubeProgram
阅读全文
摘要:目的 完成一个CDC + MSC的复合USB设备 可以方便在CDC,MSC,复合设备三者间切换 可移植性强 预备知识 cube中USB只有两个入口。 main函数中的MX_USB_DEVICE_Init函数。 USB中断。USB的所有动作都是主机发起的,设备只是做响应。所以在cube中,所有的USB
阅读全文
摘要:1,上TI官网下载CDCE913的datasheet和配置软件clock Pro。如果只需要配置CDCE913成某一个固定频率,那么用clock Pro可以很方便快捷。http://www.ti.com.cn/general/cn/docs/lit/getliterature.tsp?baseLit
阅读全文
摘要:先了解下如何使用PendSV异常。(为何要使用PendSV而不是其他的异常,请参考《cortex-M3权威指南》)1,如何设定PendSV优先级?NVIC_SYSPRI14 EQU 0xE000ED22NVIC_PENDSV_PRI EQU 0xFF LDR R0, =NVIC_SYSPRI14 ...
阅读全文
摘要:OK,继续向操作系统迈进。由简入繁,先实现两个小功能。第一个是system tick,第二个是任务切换(PendSV)。一个是操作系统的心跳,一个是操作系统的并发处理的具体实现。System tick,在裸机程序里面,这个功能一直是用来做延时功能用的,用STM32做项目,基本都会用到。这里不准备再从...
阅读全文
摘要:要移植操作系统,汇编是道不得不跨过去的坎。所以承接上篇的思路,我准备用汇编写一个简单的闪烁LED灯的程式。以此练习汇编,为操作系统做准备。第一步,还是和上篇一样,建立一个空的文件夹。 第二步,因为是要用汇编来写程式,所以不需要启动代码,这里选择否。 第三步,建立一个.s文件,并把文件添加到工程中。 ...
阅读全文
摘要:本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看。第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED。。。第一步,建立一个文件夹0.0第二步,打开keil,建立工程在弹出来的对话框中选择你所用的STM32的芯片。在接下来弹出来的对话框中...
阅读全文
摘要:预备知识: DCD指令:用于分配一片连续的字存储单元(32bit),并将表达式的值初始化给该字存储单元,类似于C中定义数组并初始化。比如: DCD 0 的意思是:分配一个字存储单元,并将该单元初始化为0。 分析: 在STM32的启动文件中可以看到有如下代码: EXPORT __Vectors __V...
阅读全文
摘要:在使用STM32读取SD Card的文件时,总是会卡死在读函数那里res = f_read(&fsrc, gbuffer, sizeof(gbuffer)-1, &br);而且出现很奇怪的现象。若是我只定义全局变量BYTE gbuffer[TEMP_SIZE];// file copy gbuffe...
阅读全文