草庐IT

CMSIS-DAP

全部标签

STM32 FreeRTOS CMSIS—OS

STM32FreeRTOSCMSIS—OS前言1.关于osThreadNew()1.1FreeRTOS线程与任务的关系1.2osThreadNew()1.2.1osThreadNew()如何实现动态创建与静态创建的选择1.2.2xTaskCreate()任务栈空间理解1.2.3CMSIS-OS与FreeRTOS任务栈空间单位不同!1.2.4选择动态分配时osThreadNew()分配的任务栈空间前言使用STM32CubeMX代码生成,在STM32Cube固件中,通过ARM提供的通用CMSIS-OS封装层,将FreeRTOS用作实时操作系统。也就是说在一套代码里有着两套标准,在阅读源码时需要注意

鸿蒙开发板HI3861 利用蜂鸣器播放音乐 open Harmony1.0.0(附cmsis_os2.h源码)

    本文利用鸿蒙开发板HI3861在鸿蒙1.0.0源码下利用蜂鸣器播放音乐。pwm_buz.c#include#include"ohos_init.h"#include"cmsis_os2.h"#include"wifiiot_gpio.h"#include"wifiiot_gpio_ex.h"#include"wifiiot_pwm.h"#include"hi_pwm.h"#include"hi_time.h"staticconstuint16_tg_tuneFreqs[]={ 0, //Defaultclock,40MHz //高音 38223,//1 34052,//2 30338,

关于DAP-Link在keil中显示RDDI-DAP Error的解决办法以及串口驱动安装及串口下载程序

初学单片机,小白一个,但是在解决此问题中遇到各种各样的其他问题,虽然最终的原因哭笑不得,还是想记录一下关于问题的解决方法,我说的应该比较浅薄,请各位指正哈。首先记录一下DAP-LINK连接方式,以正点原子的MINI板为例,用20pin引脚连接,此外还需单独给板子供电,即将usb口插电并打开开关(不确定是不是所以板子都要单独供电,因为我接触的第一块开发板是学校发的,当时是用J-link插上就可以用的,所以当时在这里卡了特别久,说来丢人,问淘宝客服好久,像个大傻子。)确认连接无误之后在keil中配置,如果显示如下图可以使用串口下载一个没有关闭调试接口的的代码到芯片,就可以解决此问题。串口下载程序需

合宙AIR32F103CBT6刷回CMSIS-DAP固件和DAP升级固件以及刷ST-LINK V2-1固件方法

合宙AIR32F103CBT6刷回CMSISDAP固件和DAP升级固件以及刷ST-LINKV2-1固件方法📌官方介绍文档:https://wiki.luatos.com/chips/air32f103/index.html📍原理图:https://cdn.openluat-luatcommunity.openluat.com/attachment/20220605164915340_AIR32CBT6.pdf🎈相关篇《【开源电路】ST-LINK/V2、ST-LINK/V2-1、DAP-LINK烧录器(已验证)》✨手上购买的这个两块板子已有2个月了,一直放在这着没动,今天想拿出来给其STM32F

HI3861学习笔记(7)——LiteOS(CMSIS-RTOS2)信号量

一、简介1.1信号量信号量(Semaphore)是一种实现任务间通信的机制,实现任务之间同步或临界资源的互斥访问。在多任务操作系统中,不同的任务之间需要同步运行,信号量功能可以为用户提供这方面的支持。1.2信号量的使用方式信号量可以被任务获取或者申请,不同的信号量通过信号量索引号来唯一确定,每个信号量都有一个计数值和任务队列。通常一个信号量的计数值用于对应有效的资源数,表示剩下的可被占用的互斥资源数,其值的含义分两种情况:0:表示没有积累下来的Post操作,且有可能有在此信号量上阻塞的任务;正值:表示有一个或多个Post下来的释放操作;当任务申请(Pend)信号量时,如果申请成功,则信号量的计

HI3861学习笔记(8)——LiteOS(CMSIS-RTOS2)事件管理

一、简介1.1事件基本概念事件是一种实现任务间通信的机制,可用于实现任务间的同步,但事件通信只能是事件类型的通信,无数据传输,一个任务可以等等多个事件的发生:可以是任意一个事件发生时唤醒任务进行事件处理;也可以是几个事件都发生后才唤醒任务进行事件处理。事件集合用32位无符号整型变量来表示,每一位代表一个事件。多任务环境下,任务之间往往需要同步操作。事件可以提供一对多、多对多的同步操作。一对多同步模型:一个任务等待多个事件的触发;多对多同步模型:多个任务等待多个事件的触发。任务可以通过创建事件控制块来实现对事件的触发和等待操作。LiteOS的事件仅用于任务间的同步。1.2事件运作机制读事件时,可

【开源电路】ST-LINK/V2、ST-LINK/V2-1、DAP-LINK烧录器(已验证)

【开源电路】ST-LINK/V2、ST-LINK/V2-1、DAP-LINK烧录器(已验证)📽PCBA实物图📺最终的的PCB3D效果图✨本硬件电路未解决采用合宙的Air32F103CBT6芯片,当ST-LINK/V2使用时,对stm8在线调试功能的友好支持(仅对stm8支持下载,对stm32所有功能正常),ST的STM32F103CBT6以及极海的APM32F103C8T6使用STM32CubeProgrammer软件序列号显示异常的问题。后两款芯片都支持对stm8在线调试功能,但是不支持STM32CubeProgrammer软件烧录程序,这一点,合宙的Air32F103CBT6芯片支持STM

【开源电路】ST-LINK/V2、ST-LINK/V2-1、DAP-LINK烧录器(已验证)

【开源电路】ST-LINK/V2、ST-LINK/V2-1、DAP-LINK烧录器(已验证)📽PCBA实物图📺最终的的PCB3D效果图✨本硬件电路未解决采用合宙的Air32F103CBT6芯片,当ST-LINK/V2使用时,对stm8在线调试功能的友好支持(仅对stm8支持下载,对stm32所有功能正常),ST的STM32F103CBT6以及极海的APM32F103C8T6使用STM32CubeProgrammer软件序列号显示异常的问题。后两款芯片都支持对stm8在线调试功能,但是不支持STM32CubeProgrammer软件烧录程序,这一点,合宙的Air32F103CBT6芯片支持STM

OpenOCD + DAP-LINK调试ESP32的失败经历(2)

背景https://www.cnblogs.com/liteng0305/p/17018299.html上次使用乐鑫编译好的OpenOCD失败,可能是因为没有开启CMSIS-DAP支持,手动开启编译试一下平台UbuntuLinux5.4.0官方OpenOCD直接下载的OpenOCD没有打开CMSIS-DAP支持aptinstallopenocd下载官方OpenOCD源码打开CMSIS-DAP支持,编译安装可以正常识别CMSIS-DAP调试器,确定硬件没有问题乐鑫魔改OpenOCD下载乐鑫魔改OpenOCD源码打开CMSIS-DAP支持,编译安装运行指令执行失败Error:CMSIS-DAPco

OpenOCD + DAP-LINK调试ESP32的失败经历(2)

背景https://www.cnblogs.com/liteng0305/p/17018299.html上次使用乐鑫编译好的OpenOCD失败,可能是因为没有开启CMSIS-DAP支持,手动开启编译试一下平台UbuntuLinux5.4.0官方OpenOCD直接下载的OpenOCD没有打开CMSIS-DAP支持aptinstallopenocd下载官方OpenOCD源码打开CMSIS-DAP支持,编译安装可以正常识别CMSIS-DAP调试器,确定硬件没有问题乐鑫魔改OpenOCD下载乐鑫魔改OpenOCD源码打开CMSIS-DAP支持,编译安装运行指令执行失败Error:CMSIS-DAPco