说明: 1、当前RTX5的教程已经在制作中,使用CMSIS-RTOS V2封装层,含FreeRTOS,配套V7,V6和V5板子?。 2、我们各种开发板和模块的资料汇总贴,搞了个cnblogs,临时先用着?,会实时更新的: https://www.cnblogs.com/armfly/p/112702 ...
分类:
其他好文 时间:
2019-07-31 01:00:58
阅读次数:
160
模板下载: 链接:https://pan.baidu.com/s/1idoQYcR3SOzVC3KTFcMGMA 提取码:i8k5 1、MDK使用MDK5.26及其以上版本。 2、进入到MDK5后,经典的RTX4就没有单独发布了,被封装了CMSIS-RTOS V1封装层,这个封装层比较臃肿, 我们这 ...
分类:
其他好文 时间:
2019-07-27 19:47:53
阅读次数:
175
CMSIS标准及库层次关系 库目录、文件简介 我们写 STM32F4 的工程,必须用到其中的四个文件: core_cm4.h、 core_cmFunc.h、corecmInstr.h、 core_cmSimd.h,其它的文件是属于其它内核的,还有几个文件是 DSP 函数 库使用的头文件。 core_ ...
分类:
其他好文 时间:
2019-07-18 19:28:38
阅读次数:
156
keil 515提示..\CMSIS\stm32f10x.h(383): error: #67: expected a "}"错误。解决方法是修改(增加或者不要)c/c++选项的Define里的“STM32F10X_HD”(我用的是103ZG所以是HD,看使用情况) 使用keil 5自带的选择芯片型 ...
分类:
其他好文 时间:
2018-11-13 17:14:01
阅读次数:
354
最后整理结构如下所示,├─cmsis│ startup_stm32f401xx.s│ startup_stm32f40xx.s│ startup_stm32f40_41xxx.s│ startup_stm32f410xx.s│ startup_stm32f411xe.s│ startup_stm32 ...
分类:
其他好文 时间:
2018-11-03 15:20:19
阅读次数:
260
信号量Semaphores 和信号类似,信号量也是一种同步多个线程的方式,简单来讲,信号量就是装有一些令牌的容器。当一个线程在执行过程中,就可能遇到一个系统调用来获取信号量令牌,如果这个信号量包含多个令牌,线程就会继续执行,同时信号量令牌的数量就会减一。如果此时信号量中没有令牌,线程就会被置于等待状 ...
分类:
其他好文 时间:
2018-08-28 14:20:31
阅读次数:
196
RTOS中断处理Interrupt Handling 在RTOS中使用信号来触发线程间的行为是比较简单和高效的,而对于Cortex-M微控制器来讲,从中断源获取信号来触发线程同样是一种重要的方式。虽然在中断服务程序ISR中运行一段代码也可以,但在RTOS系统中,在中断运行的时间越短越好,因为太长的时 ...
分类:
其他好文 时间:
2018-08-28 14:15:37
阅读次数:
589
虚拟定时器Virtual Timers CMSIS-RTOS API里有几个向下计数的虚拟定时器,它们实现计数完成时用户的回调功能。每个定时器都可以配置成单次计数或重复计数模式,它们可以在定义定时器结构体的时候被创建: 在上面的代码中给定时器定义了一个名字timer0,并同时定义了回调函数led_f ...
分类:
其他好文 时间:
2018-08-28 13:04:43
阅读次数:
364
时间管理 Time Management 此RTOS除了可以把你的应用代码作为线程运行,它还可以提供一些时间服务功能,使用这些功能你就可以访问RTOS的一些系统调用。 时间延迟Time Delay 在所有的时间服务功能中,最基本的一个就是延时函数。它可以在你的应用中提供非常简单易用的延时功能。也许你 ...
分类:
其他好文 时间:
2018-08-28 13:01:28
阅读次数:
202
创建线程Creating Threads 一旦RTOS开始运行,就会有很多系统调用来管理和控制活跃的线程。默认情况下,main()函数自动被创建为第一个可运行的线程。在第一个例子里我们使用main()函数创建了其他线程,并且随后让main()结束运行。然而我们还可以让main当成一个真正的threa ...
分类:
编程语言 时间:
2018-08-28 12:13:57
阅读次数:
691