历史上的今天
今天是:2025年01月05日(星期日)
2021年01月05日 | cotex_m3内核提供的ITM串口打印调试
2021-01-05 来源:eefocus
cotex_m3内核的ARM提供了ITM串口打印观测的功能,可以不用ARM单片机自己的串口就可在开发时候串口打印调试.节约了宝贵的内部资源,同时也为调试提供了方便.使用方法如下:
1 将下面的SWO_Printf.c加入到工程中
/*SWO_Printf*/ #define DEMCR (*((volatile unsigned long *)(0xE000EDFC))) struct __FILE { int handle; /* Add whatever you need here */ }; int fputc(int ch, FILE *f) { 2,然后调试选择sw方式,芯片的主频率要设置正确,否则出现乱码异常,设置如下 3 在仿真下打开KEIL_MDK的view-seiral windows - debug(printf) view 4使用printf开始打印调试
#include
/*1 ÔÚkeil mdkÖÐÑ¡ÔñʹÓÃswo; 2http://blog.csdn.net/xiaolei05/article/details/8526021 */
//Add ITM Port register definitions to your source code.
#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 TRCENA 0x01000000
FILE __stdout;
FILE __stdin;
if (DEMCR & TRCENA) {
while (ITM_Port32(0) == 0);
ITM_Port8(0) = ch;
}
return(ch);
}
下一篇:LPC1768之看门狗
史海拾趣
|
GPS是美国建立的高精度全球卫星定位导航系统,在陆地、海洋、航空和航天等领域有着广泛的应用。而高动态GPS接收机则可应用于导弹、卫星、飞机导航等许多场合,但由于高动态GPS接收机涉及军工等敏感领域,故国外的相关技术或产品对我国是封锁的,有 ...… 查看全部问答> |
|
借人气给大家分享一个好资料——飞思卡尔09FTF这些资料都是EEWORLD参加了飞思卡尔今年八月底在深圳举办的FTF活动带回的,非常有价值,也非常难得! 本来把他们都分门别类的放在各个应用技术专区了,很多人都没有发现,所以在此借人气,把这些资料 ...… 查看全部问答> |
|
关于AVStream minidiver DMA 支持的物理内存块大小问题 调试driver studio V3.1中的hwcap例子,发现AVStream把每帧图像缓冲区分成若干大小为4K Byte的mapping items,每个mapping item描述一块连续物理内存,每块内存大小只有4KB。所有这些内存块的虚拟地址是可以连续串联起来的,物理地址是分散的。 根 ...… 查看全部问答> |
|
先描述一下情况:我在做一个ADC12的使用,原先扫描的数据为32(行)*24(列)*50(帧),采用的ADC12配置为12位精度,采样256个时钟,序列单次扫描,代码如下: P6SEL = 0x81; ...… 查看全部问答> |
|
【设计工具】用FPGA动态探头与数字VSA对DSP设计实时分析 随着 FPGA 在数字通信设计领域(蜂窝基站、卫星通信和雷达)的高性能信号处理电路中成为可行的选择,分析和调试工具必须包括能帮助您在最短时间内得到电路最佳性能的新技术。 虽然现在已经有多种连接仿真与射频模拟信号的信号分析工 ...… 查看全部问答> |
|
手上在做一个用atmega128通过spi控制一个CCD模块的东西,但是从SPDR中读取的反馈始终不对。程序很短,个人感觉没有什么问题。希望各路大神能帮忙看看。SS片选悬空。#include <mega128.h>#include<delay.h>#define FLAG PINB.4unsigned char ...… 查看全部问答> |




