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

查看: 4067|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版