一开始我以为是 jlink 的问题,后面发现是 tickless 模式搞鬼 tickless 模式下 ,内核 会 根据任务需求,会停止工作,这个时候 jlink rtt 打印就会失效!!! 不过 NRF52832 在 低功耗情况下是怎么实现打印的 这个得好好研究研究!!!…
以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 本身支持的低功耗模式 tickless 实现方法,tickless 低功耗机制是当前小型 RTOS 所采用的通用低功耗方法,比如 embOS,RTX 和 uCOS-III(类似方法)都有这种机制. tickless 低功耗模式介绍tickless 低功耗机制是当前小型 RTOS 所采用的通用低功耗方法,比如 embOS,RTX 和 uCOS-III (类似方法)都有这种…
1.问题详述, M3/M4内核在sleep 或者 STOP模式 下,内核是不工作的,因此需要 以下 几步操作 第一步: 开启 低功耗模式下,debug 的连接 DBGMCU_Config(DBGMCU_SLEEP, ENABLE); DBGMCU_Config(DBGMCU_STOP, ENABLE); 第二步: 判断 RTT 缓冲区有多少字节,然后进行 MCU 空转,空转时间 给JLINK 进行读取 数据,就可以正常打印了 extern unsigned _GetAvailWriteSpace…
MCU:STM32F407VE MDK:5.29 IAR:8.32 目录--点击可快速直达 目录 写在前面 什么是RTT? RTT的工作原理 RTT的性能 快速使用教程 高级使用教程 附上测试代码 2019年12月27日更新--增加打印float的功能 写在前面 本文介绍了J-Link RTT的部分使用内容,很多地方参考和使用了J-Link的官方资料,有的地方可能翻译的不太准确,请见谅. 如果想了解更加准确详细的内容,请点此处. 什么是RTT? RTT(Real Time Transfer)是一…
linux内核打印"BUG: scheduling while atomic"和"bad: scheduling from the idle thread"错误的时候, 通常是在中断处理函数中调用了可以休眠的函数,如semaphore,mutex,sleep之类的可休眠的函数, 而linux内核要求在中断处理的时候,不允许系统调度,不允许抢占,要等到中断处理完成才能做其他事情. 因此,要充分考虑中断处理的时间,一定不能太久. 另外一个能产生此问题的是在idle进程里…
已经实现  ,2018年11月17日11:56:42,具体 如下: 第一步 : 修改 void vPortSetupTimerInterrupt( void ) 函数 ,修改原来的 systick 定时器初始化 改为  RTC 初始化  void vPortSetupTimerInterrupt( void ) { NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; /* Enable PWR and…
1.打开J-Link安装目录,确保SEGGER目录中有J-Link RTT Client,没有的话必须安装4.9以上版本: 2.打开SEGGER目录下软件SEGGER目录,硬件版本Hardware是8.0就可以了: 3.下载RTT的文件 http://download.segger.com/J-Link/RTT/RTT_Implementation_140925.zip 4.将SEGGER_RTT.c   SEGGER_RTT.h   SEGGER_RTT_Conf.h   SEGGER_RTT…
查看开发环境里面,是否有这个文件,如果没有你的话,则添加文件. 然后要在sdk_config.h中添加使能 然后打开刚才添加的文件retarget.c,主意里面这些地方 这里它进行判断,要么使用RTT打印,要么使用串口打印,我们把红圈起来的注释了,就可以同时使用串口打印和RTT打印了. 当然在这里设置的打印,并不会将RTT的日志打印输出到串口,要想输出到串口的话,可以对打印的宏进行扩展,就可以了.            …
因为想分析下mysql中一些操作的内部执行过程,单纯的看源码太枯燥了,所以决定结合mysql的执行过程来分析,mysql作为一款成熟的数据库软件,在设计的时候就考虑到了调试的问题,只是想开启调试模式的话,要编译源代码不能直接用rpm的安装方式,我是编译安装的5.7.16的版本,这里记录一下安装过程,以后再用就不用四处查资料了. 这里记录的只是最简单的编译安装模式,只是开启了DEBUG模式.首先编译过程中会产生大于3.6G左右临时文件,时间大约花费30分钟左右. 编译或者安装过程中如果出现任何错误…
以下转载自安富莱电子: http://forum.armfly.com/forum.php 低功耗是 MCU 的一项重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验. STM32F103 睡眠模式介绍说明:在 FreeRTOS 系统上面实现睡眠方式仅需了解这里讲解的知识基本就够用了,更多睡眠方式的知识请看 STM32F103 参考手册和 Cortex-M3 权威指南.在系统或电源复位以后,微控制器处于运行状态.当 CP…