如何使用printf调试

2019-03-23 22:18发布

刚接触ti的芯片,用的是tms320f28069的芯片,现在使用的工具是ccs6,想使用printf调试,应该怎么做,有大神解决的麻烦指导一下
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
电容器
1楼-- · 2019-03-23 23:29
< 使用Code Composer Studio  Version: 6.1.1.00022,建立TMS320F2812工程。[url=][/url]
1 /*2 * main.c3  */4 #include <stdio.h>5 6 int main(void) {7     printf("Hello DSP! ");8     return 0;9 }[url=][/url]

添加了printf函数想测试一下,然后编译出错。1 #10099-D</a> program will not fit into available memory. placement with alignment/blocking fails for section ".text" size 0x1be0 page 0. Available memory ranges:    2812_RAM_lnk.cmd    /2812Test    line 86    C/C++ Problem
查阅资料,应该调整-stack和-heap的大小,并且工程库文件必须选择rts2800_ml.lib而不是rts2800.lib。不过我修改-stack和-heap如下图,无效。更改工程库文件为rts2800_ml.lib也无效,最后在Project-Properties-Build-Advanced Options-Library Function Assumptions下,Level of printf/scanf support required(--printf_support)选择minimal,如下图。编译通过。

as78er96
2楼-- · 2019-03-24 03:44
 精彩回答 2  元偷偷看……
BasaraTama
3楼-- · 2019-03-24 04:27
电容器 发表于 2018-11-26 10:41
使用Code Composer Studio  Version: 6.1.1.00022,建立TMS320F2812工程。
1 /*2  * main.c3  */4 #includ ...

老兄,图看不到
lcn1992
4楼-- · 2019-03-24 05:03
  1. static void esp8266_print(char* fmt,...)
  2. {
  3.     uint8_t i = 0, j = 0;
  4.     va_list ap;
  5.     (void)j;
  6.     va_start(ap,fmt);
  7.     vsprintf((char*)send_data_buf,fmt,ap);
  8.     va_end(ap);
  9.     /* 发送的数据长度 */
  10.     i=strlen((const char*)send_data_buf);

  11.     /* 将字符串轮询输出 */
  12.     for(j = 0; j < i; j ++) {
  13.         ESP8266_SEND_DATA(send_data_buf[j]);
  14.     }
  15. }
复制代码

可以自己写一个,这段代码刚好是28069用的,把ESP8266_SEND_DATA换成你自己的发送函数。
stm32可以做输出重定向
  1. int fputc(int ch, FILE *f)
  2. {
  3. /* 将Printf内容发往串口 */
  4.   USART_SendData(USART1, (unsigned char) ch);
  5.   while (!(USART1->SR & USART_FLAG_TXE));

  6.   return (ch);
  7. }
复制代码
28069没这么用过,不确定是否一样。
木犯001号
5楼-- · 2019-03-24 06:16
 精彩回答 2  元偷偷看……
alan000345
6楼-- · 2019-03-24 07:37
给了这么多建议,楼主的问题解决否/

一周热门 更多>

相关问题

    相关文章