打印
[MCU]

请教:CC里可以调用printf函数吗?

[复制链接]
506|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2020-11-10 14:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我看书上的C语言例程是调用了printf函数的。
但我编的一个小程序里却因为调用了printf函数,而链接不成功。

我的程序框架是这样的:
#include "regs2407.h"
#include "stdio.h"

void main(void)
{
        ……        ;初始化                                 
        int i,j, c;
        i = 1;                                   
        j = 2;
        c = i+j;
        printf("%d", c);
}
cmd文件:
MEMORY
{
    PAGE 0 :   VECS   : origin =    0h , length =   040h   /* VECTORS */
               PROG   : origin =   40h , length = 0FFC0h   /* PROGRAM */

    PAGE 1 :   MMRS   : origin =    0h , length =   060h   /* MMRS    */
               B2     : origin = 0060h , length =   020h   /* DARAM   */
               B0     : origin = 0200h , length =  0100h   /* DARAM   */
               B1     : origin = 0300h , length =  0100h   /* DARAM   */
               DATA   : origin = 8000h , length =  8000h   /* XDM     */
   

}

SECTIONS
{
        .text        :{}> PROG PAGE 0
        .cinit        :{}> PROG PAGE 0        
        .data        :{}> DATA PAGE 1
        .stack        :{}> DATA PAGE 1
        .bss        :{}> B0   PAGE 1
        .vectors:{}> VECS PAGE 0
}
注:cmd文件不是我自己写的,是从ti上下的例程中照搬过来的。
但build时编译器总是出现这样的错误提示:
>> cannot allocate .bss in B0 (page 1)
>> errors in input - SumTest.out not built
Build Complete,
  2 Errors, 0 Warnings.
把printf注释掉编译就通过了。
请问各位高手,这是什么原因?究竟能不能调用printf函数?

使用特权

评论回复

相关帖子

沙发
zhangmangui| | 2020-11-10 23:26 | 只看该作者
把堆栈改大一些试试

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1890

主题

6581

帖子

8

粉丝