摘要: 一、注释部分: 每个文件应包含注释及对应版本,描述参考下面代码块 /******************************************************************************** * Copyright (C) 2024 Alanla, Inc.(G 阅读全文
posted @ 2026-03-26 12:56 alanala 阅读(8) 评论(0) 推荐(0)
摘要: HardFault 启动崩溃问题日志 项目:F411_Cmake_Jlink_FreeRTOSTest 芯片:STM32F411CE (Cortex-M4F) RTOS:FreeRTOS Kernel V11.3.0 LTS 日期:2026-05-29 1. 现象 FreeRTOS 移植完成后首次编 阅读全文
posted @ 2026-05-30 10:12 alanala 阅读(24) 评论(0) 推荐(0)
摘要: GDB 调试命令完整指南(ARM Cortex-M 嵌入式版) 目标平台:ARM Cortex-M4 (STM32F411),工具链:arm-none-eabi-gdb 目录 命令语法约定 x — 内存查看 print — 变量/表达式打印 info — 信息查询 break — 断点 监视点 执行 阅读全文
posted @ 2026-05-19 20:43 alanala 阅读(204) 评论(0) 推荐(2)
摘要: 预想功能 程序在FreeRTOS中部署 按下按键后,程序进入外部中断回调函数中处理中断逻辑。 实际现象 按键按下后,程序卡死在 vPortEnterCritical() 的 configASSERT 死循环中,整个系统瘫痪。 void vPortEnterCritical( void ) { por 阅读全文
posted @ 2026-05-10 20:25 alanala 阅读(13) 评论(0) 推荐(0)
摘要: 现象 LCD 显示明显滞后于串口输出 LCD 偶尔丢失 M1 的 PWM 更新,RPM 刷新不稳定 根因 status_queue(1 个队列)被 USART 和 LCD 两个任务同时消费: MotorCtrlTask --→ status_queue --+--→ UartCommTask(pri 阅读全文
posted @ 2026-05-05 23:38 alanala 阅读(5) 评论(0) 推荐(0)
摘要: sizeof( ) 函数和 strlen( ) 函数区别 1、虽然两者都能得到“长度”,但本质完全不同:一个是运算符,一个是函数;一个看内存大小,一个看字符串内容。 2、sizeof()不将‘\0’加入长度计算。他计算的是内存长度,哪怕内存没填满。 strelen()计算的是字符串长度。包括'\0' 阅读全文
posted @ 2026-04-28 21:13 alanala 阅读(4) 评论(0) 推荐(0)
摘要: 一、案例描述 /************************************************************************/ /*打印中文,要先用sprintf将中文打印进字符串 在嵌入式/RTOS 开发中,用 sprintf通常是为了组合多条信息 + 方便调试 阅读全文
posted @ 2026-04-28 21:13 alanala 阅读(5) 评论(0) 推荐(0)
摘要: 问题概述 高版本 STM32CubeMX6.17.0 打开低版本6.9.0项目,配置被篡改。 问题1:GPIO引脚配置篡改 main.h // 原始配置(低版本) #define KEY_Pin GPIO_PIN_0 #define KEY_GPIO_Port GPIOA // 篡改后配置(高版本) 阅读全文
posted @ 2026-04-28 21:13 alanala 阅读(9) 评论(0) 推荐(0)
摘要: 一、开发环境介绍+参考视频 笔者使用的是cubemx + cmake + arm-none-eabi-gcc +openocd的开发环境。 b站视频 注:移植之前一定要找到对应芯片的LCD程序,F1和F4的结构体定义不统一,跨芯片移植需要改的东西很多 二、具体流程 1、拷贝四个 .c 和 .h 文件 阅读全文
posted @ 2026-03-26 13:37 alanala 阅读(30) 评论(0) 推荐(0)