1.7 KiB
1.7 KiB
使用 MDK 软件全仿真调试体验 TencentOS Tiny
有许多朋友想体验或者学习一下 TencentOS Tiny 内核,但是手上却没有合适的硬件,没关系!本文将教您如何使用 MDK 软件来仿真调试 TencentOS Tiny 内核。
我们首先在 TencentOS Tiny 官库上找到一个 STM32 工程,用 MDK 软件打开,修改 printf 函数映射,如图所示:

需要添加的代码如下:
#include "stdio.h"
#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 you need here */ };
FILE __stdout;
FILE __stdin;
int fputc(int ch, FILE *f)
{
if (DEMCR & TRCENA)
{
while (ITM_Port32(0) == 0);
ITM_Port8(0) = ch;
}
return(ch);
}
添加完毕后,在 MDK 工程上打开 option 选项,选择 debug 选项,调试方式选择 User Simulator,并修改调试参数,如下图:

完成软件仿真参数配置后,就可以点击 debug 按钮开始调试了,打开调试窗口后,选择 view->Serial windows->debug 就可以打开调试日志窗口了,如图,可以看到 TencentOS Tiny 内核的两个任务输出的日志信息。
