RT-Thread串口接收的BUG(DMA缓存区太小) RT-Thread串口接收的问题(ringbuffer溢出) 问题描述 问题是怎么发生的 目前的解决方式 问题描述 串口+DMA接收数据,发送数据一般会用到缓存区.这几天使用UART+DMA+ringbuff+缓存区的方式处理json数据时,发现程序会跑飞,也就是ringbuffer溢出. 按理说,官方的代码应该不会有什...
RT-Thread QSPI bug解决 调试基于ART-PI开发板的QBoot工程,使用到了SPI和QSPI。其中型号为W25Q64JV和W25Q128JV。8M QSPI Flash用于存储运行程序,16M SPI Flash用于存储数据和文件系统。 现象 QSPI Flash在0x8000后面的地址无法写,其中读取到的数据也全部使0XFF。 解决 更改components\drivers\spi\qspi_core.c文件中...
RT_Thread中的CANfestival存在的BUG 问题描述:假设某个从机的ID为3,当从机第一次接入的CAN网络中的...
遇到的bug(只打开了USART1,导致程序虽然无错误,但无法正常运行,默认shell和finsh采用USART2通信) 移植时需要打开的串口是USART2,选择Asynchronous,而非USART1(如果只使用USART1,按照下面更改) 在E:\code\project\Middlewares\Third_Party\RealThread_RTOS\bsp\_template\cubemx_config\board.c路径下 或者直接搜索 sta...
_usage_init(void){/* set idle thread hook */rt_thread_idle_sethook(cpu_usage_idle_hook);} Copy 以上的代码网上找的,首先分析这两个宏,第二个宏就是前面所说的防止变量溢出用的,而第一个值就是CPU计算周期,这个值比较关键,后面再说。 首先在系统启动前设置钩子函数:...
这三个方面RT-Thread可以骄傲的说做得比DOOLOO RTOS都要好很多,小型:RT-Thread核心能够小到4K ROM,1K RAM;实时:线程调度核心是完全bitmap方式,计算时间是完全固定的;可剪裁性,配置文件rtconfig.h包含多种选项,对Kernel细节进行精细调整,对各种组件(文件系统,使用EFSL、ELM FatFs;网络协议栈,finsh shell)进行可...
RT-Thread Version 5.1.0 Hardware Type/Architectures stm32f407vet6 Develop Toolchain GCC Describe the bug 在设备上电启动时有通过 rt_thread_init 创建线程,当调用rt_thread_startup 时可能会出现线程没有启动,但返回成功的情况,经调试在函数 rt_err_t rt_sched_thread_ready(struct rt_thread *thread) ...
rt-thread 定义的软件定时器还细分两种,“硬定时器” “软定时器”,前一种是在 SysTick 中断中执行回调函数的,多数用于线程内置定时器,应用层也可以用,但是要时刻谨记它的回调函数是在中断中执行的。 后一种,是在一个线程中运行的,应用层对定时精度要求不是很高的可以用这种,但是也要注意“定义定时器和执行定...
触发这个bug的方法很假单,在putty中连接UART,在fish中,直接右击粘贴一长串字符,如果驱动采用中断接收的话,就会直接触发这个bug,fish出现不能输入,只能输出的现象。 解决方法: 在rt_thread_suspend自己之前再次加锁保护的情况下,检查是否已经有数据ready。