J-Scope的RTT模式
目录
前言
环境:
芯片:
Keil:V5.35.0.2
一、代码准备
通过网盘分享的文件:Jscope.7z
链接: https://pan.baidu.com/s/1CR6yCq2Lev1D5Mzlep5Q9w?pwd=8nsh 提取码: 8nsh
将文件下载并解压
将文件放到工程内:
添加注意事项:
需要将头文件包含进去。
代码编写:初始化代码
uint8_t buf[1048]; //定义全局变量
int main(void)
{ SEGGER_RTT_ConfigUpBuffer(1, "JScope_u2u2u2u2u2u2u2u2", buf, 1048, SEGGER_RTT_MODE_NO_BLOCK_SKIP);//初始化RTT模块 while(1){//...}
}
参数说明:
第一个参数:索引值,好像都是1,
第二个参数:类型:char* sName;这个值有讲究,所以我传输的值是8个无符号16位数据
示例:
第三个参数:定义的全局变量名
第四个参数:定义的全局变量大小,需要一一对应。上同
第五个参数:RTT模式固定参数:SEGGER_RTT_MODE_NO_BLOCK_SKIP
数据传输代码:这个代码可以随处放置。看需要,如果放在100us中断,则频率就是10K。
uint16_t rtt_data[8]={0};rtt_data[0] = 0;rtt_data[1] += 1;rtt_data[2] <<= 1;rtt_data[3] += 3;SEGGER_RTT_Write(1,&rtt_data,16);
参数说明
1.固定值
2.调用数据地址
3.每次更新的字节,配合我上面的8个16位数据
以上为代码部分。
二、J-Scope设置
1.
1.选择芯片型号,如果没有自己的芯片型号。看下面的操作步骤
2.速度,最好选择高速以便兼容。
无芯片操作步骤:
在打开的快捷方式路径里添加: --rttsearch "0x20000000 0x2000"
注意前面有一个空格。
参数说明:数据来自芯片的大小,根据这两个数据来修改就可以了。
2.直接开始
连接芯片,通电让MCU工作起来。然后点击Jscope开始。
Jscope会自己搜索RTT的参数。
因为是上传的参数,所以程序的变更也不会影响搜索的参数。