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

JLinkOB社区赠送板试用

[复制链接]
wenyangzeng 提问时间:2018-5-19 11:48 /
本帖最后由 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与其不兼容。




收藏 1 评论7 发布时间:2018-5-19 11:48

举报

7个回答
zwei99999999 回答时间:2018-5-19 19:34:02
GKoSon 回答时间:2018-5-20 11:56:26
好高级啊
int fputc(int ch, FILE *f)
{
                ITM_SendChar(ch);
    return(ch);
}
这个是printf的

  ITM_SendChar(ch);的实现在哪儿啊
(因为我都是串口出去的 看到你keil在线仿真也看的debug了 挺高级的 问问)
wenyangzeng 回答时间: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


GKoSon 回答时间: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
wenyangzeng 回答时间:2018-5-21 17:25:36
与龙共舞 发表于 2018-5-21 17:17
谢谢 根据你的提示 果然成功了
有一个问题在请教一下
配置页面 我没有修改 也是可以printf ok的

ITM 好像是 “Enable"的D0位。
andey 回答时间:2018-5-21 18:13:54
提示: 作者被禁止或删除 内容自动屏蔽
zero99 回答时间:2018-5-22 14:11:08
学习了~

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版