最近作一个项目,是基于ARM CPU + TI DSP的一个平台,由于DSP并不具备串口,只能通过仿真器调试DSP程序,非常麻烦,所以想到借助CPU的串口输出能力来完成DSP的调试信息打印,通过这种方式输出调试信息速度更快,对DSP系统影响更小,更有利于调试。为了能够方便编程,所以这个输出功能使用了printf的形式,具体就是通过了C的变长参数来实现这个功能。
下边是源代码
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
void cpuprintf(const char * format, ...)
{
va_list arg_ptr;
char printbuf[MAXLEN];
va_start(arg_ptr, format);
vsprintf(printbuf, format, arg_ptr);
va_end(arg_ptr);
//printf("%s", printbuf);
/*
此处代码将printbuf的数据传送给CPU,CPU再负责将接收到的数据输出到串口即可
*/
}
下边是源代码
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
void cpuprintf(const char * format, ...)
{
va_list arg_ptr;
char printbuf[MAXLEN];
va_start(arg_ptr, format);
vsprintf(printbuf, format, arg_ptr);
va_end(arg_ptr);
//printf("%s", printbuf);
/*
此处代码将printbuf的数据传送给CPU,CPU再负责将接收到的数据输出到串口即可
*/
}
本文介绍了一种基于ARM CPU和TI DSP平台的创新调试方法。由于DSP缺少串口,传统上只能通过仿真器进行调试,这给开发带来了不便。为解决此问题,本文提出利用ARM CPU的串口功能来辅助DSP调试,通过C语言的变长参数实现类似printf的功能,极大提高了调试效率。
1368

被折叠的 条评论
为什么被折叠?



