You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TI Code Composer Studio中MSPM0L1306开发板puts()正常printf()无输出

解决MSPM0L1306在CCS中printf无输出但puts正常的问题

关键配置检查与修复步骤

1. 切换到完整版本的运行时库

MSPM0系列默认可能使用精简版stdio库,这类库不支持格式化printf输出:

  • 右键项目 → Properties → Build → ARM Compiler → Runtime Support
  • 将Runtime Library设置为对应版本的full库(比如TI v1.2.0+ full),而非small或baremetal版本

2. 启用格式化输出的预定义符号

printf需要额外的宏定义来启用格式化支持:

  • 右键项目 → Properties → Build → ARM Linker → Advanced Options → Command File Preprocessing
  • 添加预定义符号:PRINTF_FLOAT_ENABLE=1(若需浮点格式化)、CIO_ENABLE=1
  • 也可直接在代码开头添加:
    #define PRINTF_FLOAT_ENABLE 1
    #define CIO_ENABLE 1
    #include <stdio.h>
    

3. 确认堆内存足够

printf格式化操作比puts需要更多堆空间:

  • 打开项目的链接器配置文件(.cmd),确保堆大小至少设置为0x400(1KB),栈大小0x200(512B)以上,示例:
    __STACK_SIZE = 0x200;
    __HEAP_SIZE = 0x400;
    

4. 显式初始化CIO通道

部分项目需要手动初始化CIO才能支持printf:

  • 在main函数开头添加CIO初始化代码(需包含对应头文件):
    #include <ti/devices/msp/msp.h>
    #include <stdio.h>
    
    int main(void) {
        SystemCoreClockUpdate(); // 先初始化系统时钟
        CIO_init(); // 显式初始化CIO
    
        printf("Test printf output\n");
        puts("Test puts output\n");
    
        while(1);
    }
    

5. 验证CCS终端配置

  • 确保打开的是CIO Console:点击工具栏View → Terminal → CIO Console
  • 检查终端换行符设置为LF或CR+LF

内容的提问来源于stack exchange,提问作者user3191192

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 00:42:27