你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 3991|回复: 7

[评估板] JLinkOB社区赠送板试用

[复制链接]

68

主题

3266

回帖

82

蝴蝶豆

社区小助手

最后登录
2020-12-9
发表于 2018-5-19 11:48:13 | 显示全部楼层 |阅读模式
本帖最后由 wenyangzeng 于 2018-5-19 13:16 编辑

JLinkOB社区赠送板试用

  感谢社区赠送JLinkOB板。
   使用JLinkOB下载调试STM32可以直接利用板上的3.3V供电而无需对目标板外加供电。同时,Coreex-M3/M4支持仪器化跟踪单元(ITM),允许不同的软件把数据输出到不同的端口,用这个JLinkOB下载器可以利用板上的SWO引脚以printf格式将调试信息打印在PC端控制台。

无标题.png

在WIN10环境下,无需安装USB驱动就可以识别JLinkOB板子。本次试用,选择STM32F401discovery开发板和MDK5来调试。


无标题0.png
JLinkOB与目标版的连接


在CubeMX中生成新的工程,在main.c中添加代码:

  1. #include <stdio.h>

  2. int fputc(int ch, FILE *f)
  3. {
  4.                 ITM_SendChar(ch);
  5.     return(ch);
  6. }


  7. int main(void)
  8. {
  9.   /* USER CODE BEGIN 1 */

  10.   /* USER CODE END 1 */

  11.   /* MCU Configuration----------------------------------------------------------*/

  12.   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  13.   HAL_Init();

  14.   /* USER CODE BEGIN Init */

  15.   /* USER CODE END Init */

  16.   /* Configure the system clock */
  17.   SystemClock_Config();

  18.   /* USER CODE BEGIN SysInit */

  19.   /* USER CODE END SysInit */

  20.   /* Initialize all configured peripherals */
  21.   MX_GPIO_Init();
  22.   /* USER CODE BEGIN 2 */
  23.         printf("Hello:STM32\n");
  24.   /* USER CODE END 2 */

  25.   /* Infinite loop */
  26.   /* USER CODE BEGIN WHILE */
  27.   while (1)
  28.   {

  29.   /* USER CODE END WHILE */

  30.   /* USER CODE BEGIN 3 */

  31.   }
  32.   /* USER CODE END 3 */

  33. }
复制代码




无标题1.png

选择J-LINK/J-TRACE Cortex

无标题2.png

Port选择SW

无标题3.png

Trace-ITM Stimulus Ports配置


无标题4.png
编译下载后运行,在View->Serial Windows->点击Debug (printf)Viewer


无标题5.png

printf信息显示在Debug (printf)Viewer
这款JLinkOB的下载速度挺快的。只不过STM32 ST-Link Utility与其不兼容。




回复

使用道具 举报

6

主题

2397

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2018-5-19 19:34:02 | 显示全部楼层
回复 支持 反对

使用道具 举报

40

主题

210

回帖

92

蝴蝶豆

金牌会员

最后登录
2020-12-4
发表于 2018-5-20 11:56:26 | 显示全部楼层
好高级啊
int fputc(int ch, FILE *f)
{
                ITM_SendChar(ch);
    return(ch);
}
这个是printf的

  ITM_SendChar(ch);的实现在哪儿啊
(因为我都是串口出去的 看到你keil在线仿真也看的debug了 挺高级的 问问)
回复 支持 反对

使用道具 举报

68

主题

3266

回帖

82

蝴蝶豆

社区小助手

最后登录
2020-12-9
 楼主| 发表于 2018-5-20 16:09:55 | 显示全部楼层
本帖最后由 wenyangzeng 于 2018-5-20 16:12 编辑
与龙共舞 发表于 2018-5-20 11:56
好高级啊
int fputc(int ch, FILE *f)
{

在core_cm3.h
core_cm4.h
core_cm7.h


M0没有


无标题.png


回复 支持 反对

使用道具 举报

40

主题

210

回帖

92

蝴蝶豆

金牌会员

最后登录
2020-12-4
发表于 2018-5-21 17:17:13 | 显示全部楼层
wenyangzeng 发表于 2018-5-20 16:09
在core_cm3.h
core_cm4.h
core_cm7.h

谢谢 根据你的提示 果然成功了
有一个问题在请教一下
配置页面 我没有修改 也是可以printf ok的
这个配置页面是做啥用的 QQ截图20180521171544.png
回复 支持 反对

使用道具 举报

68

主题

3266

回帖

82

蝴蝶豆

社区小助手

最后登录
2020-12-9
 楼主| 发表于 2018-5-21 17:25:36 | 显示全部楼层
与龙共舞 发表于 2018-5-21 17:17
谢谢 根据你的提示 果然成功了
有一个问题在请教一下
配置页面 我没有修改 也是可以printf ok的

ITM 好像是 “Enable"的D0位。
回复 支持 反对

使用道具 举报

36

主题

1996

回帖

32

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2018-5-21 18:13:54 | 显示全部楼层
赞一个
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2018-5-22 14:11:08 | 显示全部楼层
学习了~
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版