mokongking

2026年9月17日 #

关于RTOS操作系统的那些事

摘要: 一、Cortex‑M3 异常与栈机制(RTOS 根基,必须吃透) 1. 两个栈指针 MSP / PSP MSP 主栈指针:复位默认使用,main、中断服务函数全部默认跑在 MSP 上。 PSP 进程栈指针:专门给任务(线程)使用。所有任务跑在 PSP。 RTOS 核心设计:中断用 MSP,任务用 P 阅读全文

posted @ 2026-09-17 19:05 虎啸岳林 阅读(29) 评论(0) 推荐(0)

2026年9月16日 #

关于CAN的理解

摘要: CAN分为两种,经典CAN CANFD: 这个只讲CAN : 1、硬件层面需要配置哪些: 开 GPIO AF、CAN 时钟、收发器相关脚 can_deinit → 进初始化模式 配波特率、正常模式 配过滤器(本机 ID) 使能 FIFO 非空中断 经典 CAN(CAN 2.0,如GD32F10x 这 阅读全文

posted @ 2026-09-16 18:25 虎啸岳林 阅读(10) 评论(0) 推荐(0)

2026年9月11日 #

移植freeRTOS的小bug

摘要: FreeRTOS 跑不起来 现象: 调度器启动后进不了任务,或一跑就卡死/断言。 常见原因: 启动前 SysTick 优先级太高,抢在 SVC 前面,第一个任务切不进去。,应该设置最低的中断 外设中断里调了 FreeRTOS 的 FromISR,但中断优先级太高,触发断言停住。 记住: 内核用的中断 阅读全文

posted @ 2026-09-11 20:22 虎啸岳林 阅读(33) 评论(0) 推荐(0)

2026年5月12日 #

freertos的临界区中断问题。

摘要: 在使用ch395q网络协议芯片与电机结合,ch395发送函数必须保持不被打断,为了不被打断只能在其他任务增加临界区,临界区回有禁用中断的功能,电机的步数是在定时器中断中进行计数,所有在网口发送的状态会影响电机的步数,所以在 电机移动的过程中使用网口查询电机步数或者状态会应会影响电机的实际步数。 为了 阅读全文

posted @ 2026-05-12 15:09 虎啸岳林 阅读(19) 评论(0) 推荐(0)

2026年5月10日 #

linux执行应用程序或者shell脚本关于污不污染的问题

摘要: 先贴脚本: bash 运行 # 业务脚本:处理数据 cd /data/backup rm -rf *.log TMP_FILE="tmp.tmp" 第一行:# 业务脚本:处理数据 以 # 开头,是注释,Shell 直接忽略,只是给人看说明用的。 第二行:cd /data/backup bash 运行 阅读全文

posted @ 2026-05-10 19:11 虎啸岳林 阅读(28) 评论(0) 推荐(0)

2026年5月7日 #

keil分散加载表与ide的ld文件

摘要: 在 Keil MDK 使用的 分散加载文件 (.sct) 中,没有 (NOLOAD) 这个关键字。它的等价替代者是 UNINIT。 在你提供的 .sct 修改建议中,我使用的 RW_SHARED 0x38000000 UNINIT 0x00002000 里的 UNINIT,其作用与 GCC 链接脚本 阅读全文

posted @ 2026-05-07 15:54 虎啸岳林 阅读(79) 评论(0) 推荐(0)

关于stm32h747双核内存分布

摘要: 1. 核心专属内存 (TCM - Tightly Coupled Memory) 这类内存与核心通过专用总线连接,延迟极低(接近 0 等待周期),主要用于存放关键代码或频繁操作的数据。 ITCM (Instruction TCM): 64 KB。仅限 M7 核心访问,通常存放时间敏感的代码(如中断处 阅读全文

posted @ 2026-05-07 14:53 虎啸岳林 阅读(144) 评论(0) 推荐(0)

2026年5月6日 #

关于分散加载表

摘要: ; 非缓冲区段 - 用于通信相关变量,避免缓存一致性问题 ; 该区域将被配置为non-cacheable 64kb ; 0x24070000~ 0x2407FFFF分配的地址 RW_NOCACHE 0x24070000 0x00010000 { *(NO_CACHE_SECTION) }这个写在分散 阅读全文

posted @ 2026-05-06 16:52 虎啸岳林 阅读(27) 评论(0) 推荐(0)

2026年4月24日 #

DMA循环与单次的区别,串口加dma通信注意事项

摘要: 如果是用DMA单次传输到缓冲区中,重新开启dma传输的话会从缓冲区0开始传输,如果是循环是一直往下写然后写满缓冲区之后覆盖掉之前的。 使用指针传输的时候最好的方式是定义一个局部变量承接指针传过来的值之后在区做处理防止运行dma传输过快导致缓冲区的内容改变 阅读全文

posted @ 2026-04-24 17:14 虎啸岳林 阅读(19) 评论(0) 推荐(0)

2026年4月16日 #

H7双核调试

摘要: 1、stm32H747有两个内核使用,都可以跑freertos操作系统,如果用这个芯片做电机控制,一个内核跑算法,一个内核跑通信逻辑,借助M7核的mpu配置D3区域的地址0x38000000地址开始配置成共享区域,mpu控制共享区域要注意4字节对齐,非对齐读写都有问题,受mpu保护的访问不对齐的直接 阅读全文

posted @ 2026-04-16 22:25 虎啸岳林 阅读(140) 评论(0) 推荐(0)

导航