纬图虚拟仪器论坛

 找回密码
 立即注册
搜索
查看: 4956|回复: 2

有关Jlink函数重定义问题

[复制链接]
发表于 2020-9-2 09:56:12 | 显示全部楼层 |阅读模式
QQ图片20200902095520.png
同时用到USB与GPIO后编译失败
回复

使用道具 举报

发表于 2020-9-2 09:58:50 | 显示全部楼层
QQ图片20200902095739.png
全部屏蔽 ,将重定义部分注释掉并不影响功能,因为,这个只是打印函数的重定向,工程本身每个都是独立的
#define ITM_Port8(n)    (*((volatile unsigned char *)(0xE0000000+4*n)))
#define ITM_Port16(n)   (*((volatile unsigned short*)(0xE0000000+4*n)))
#define ITM_Port32(n)   (*((volatile unsigned long *)(0xE0000000+4*n)))

#define DEMCR           (*((volatile unsigned long *)(0xE000EDFC)))
#define TRCENA          0x01000000

struct __FILE { int handle; /* Add whatever needed */ };
FILE __stdout;
FILE __stdin;

int fputc(int ch, FILE *f) {
  if (DEMCR & TRCENA) {
     while (ITM_Port32(0) == 0);
    ITM_Port8(0) = ch;
  }
  return(ch);
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|纬图虚拟仪器

GMT+8, 2024-12-22 01:53 , Processed in 0.741409 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表