- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 使用Clion 和STM32CubeMx开发嵌入式程序
安装和配置过程1. 下载并安装Clion,此版本为最新版,没有找到合适的破解方法,安装后可试用30天。也可以下载以前的版本并破解;2. 下载并安装ARM嵌入式开发工具链 gcc-arm-none-eabi,不建议安装最新的;3. 安装MinGW。4. 下载并解压OpenOCD5. 配置工具链如下:在CMake配置选择刚才定义的工具链6. 导入工程后,正常可编译、可下载、可调试。7. 使用STM32CubeMX生成SW4STM32类型的工程,使用Clion打开该工...
2021-10-13 00:14:21 8757
原创 详解卡尔曼滤波算法
理解卡尔曼滤波算法理解:https://www.zhihu.com/question/23971601/answer/375355599实例:http://bilgin.esme.org/BitsAndBytes/KalmanFilterForDummies逐行理解上述两个链接的内容,基本能搞懂卡尔曼滤波是个什么样的过程...
2020-12-08 15:54:43 330
原创 FreeRTOS基本原理
FreeRTOS基本原理多任务内核是操作系统的核心部分,操作系统例如Linux通过内核使用户看似同时的访问电脑,多个用户看似同时的执行多个任务。每一个执行的程序是操作系统控制的一个任务,如果一个操作系统可以执行多个任务,则被称为多任务操作系统。多任务操作系统可以简化复杂的软件应用。一个常规的处理器只能在某一时刻执行一个任务,但是多任务操作系统通过快速的任务切换,可以让多个任务看起来是并发执行,如下。调度原理调用度是内核中负责决定在某一时刻该执行什么任务的部分。内核可以挂起然后恢复一个任务许多次
2020-07-09 16:26:04 2671 2
原创 一文读懂FreeRTOS软件定时器
一文读懂FreeRTOS软件定时器软件定时器定时器概述软件定时器(定时器)用于在将来一个固定的时间点执行一个功能函数,该功能函数即是定时器的回调函数,定时器开始到回调函数执行的时间即是定时器的周期。回调函数要点定时器回到函数运行在定时服务任务的上下文中,因此回调函数绝不可以被阻塞。例如,定时器的回调函数不能调用vTaskDelay(),vTaskDelayUntil(),或者特别是访问非零阻塞时间的队列和信号量;定时器服务任务计时器功能是可选的,而不是FreeRTOS内核的一部分。 相反,它由
2020-07-09 14:51:05 1070
原创 一文看懂Stm32程序结构和启动过程
Stm32程序启动过程分析程序在Flash的结构使用Keil编译程序后,程序分为4部分:Code:代码区,指程序中代码即函数体的大小,注意程序中未使用的函数也会算在CODE中,也即会占用FLASH空间,因此不用的函数最好删除掉,以免占用过多FLASH空间;RO-data:RO就是只读的意思,程序中只读的变量(也就是带Const的)和已初始化的字符串等;RW-data:特指已初始化的可读可写全局/静态变量;ZI-data:未初始化的可读可写全局/静态变量,注意初始化为0也算做未初始化,用到的堆
2020-06-30 17:22:38 3657 6
原创 Keil下使用STlink重定向printf的配置
Keil下使用STlink重定向printf的配置1. printf 重定向Keil默认下使用Micro LIB库,该库调用 fputs 实现 printf,所以需要重新定义fputs函数,以重定向printf函数,如下:int fputc(int ch, FILE *f){ ITM_SendChar(ch);}只需要在需要打印的位置调用printf即可。 HAL_Delay(500); printf("Hello world.\n");2. STM32 ST-LINK Util
2020-06-28 11:27:08 2252
Sourcery-arm-none-eabi.rar
2020-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人