随笔分类 -  STM32\RTOS

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