这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » LF2407,can,allocate,bbs,in,b2 LF2407编译出现

共2条 1/1 1 跳转至

LF2407,can,allocate,bbs,in,b2 LF2407编译出现的错误“can't allocate .bbs in b2”

院士
2006-09-17 18:14:16     打赏
LF2407,can,allocate,bbs,in,b2 LF2407编译出现的错误“can't allocate .bbs in b2”



关键词: LF2407     allocate     编译     出现     错误    

院士
2006-12-22 22:43:00     打赏
2楼
问 我用的是cc2000 ,cmd 文件如下:

MEMORY
{
  PAGE 0:
        VECS            origin = 0000h,         length = 0040h
        FLASH:          origin = 100h,         length = 7F00h
        SARAM_P:        origin = 8100h,         length = 1000h

  PAGE 1:
        B2:             origin = 0060h,         length = 020h
        B0:             origin = 200h,         length = 100h
        B1:             origin = 300h,         length = 100h
        SARAM_D:        origin = 0C00h,         length = 400h
}

SECTIONS
{
        vectors:        > VECS          PAGE 0
        .text:          > FLASH         PAGE 0
        .data:          > FLASH         PAGE 0
        .bss:           > B2            PAGE 1
        stack:          > B1            PAGE 1
        buffer:         > SARAM_D       PAGE 1
}
主函数如下:
#include "inc.h"


int a;
void    asdfsdf(void)
{
    int    i;
    for(i=0;i<10000;i++)
        {
            a++;
            
        }

}    

void    main(void)
{
    int i=0;
    a=1;
    a=SSS;
    for(i=0;i<10000;i++)
        {
            asdfsdf();
            a+=i;
            a++;    
        }
}
编译后出现如下错误:
>> CANnot allocate .bss in B2 (page 1)
>> errors in input - wen2.out not built
Build Complete,
  2 Errors, 0 Warnings.


请高手指教一二!!!不胜感激!!

1: re不要把。bss放在B2看看
还有project->options中路径没有设定好 2: .bss变量分配不成功.bss:           > B2            PAGE 1
把B2 改为SARAM_D较为合适
3: 改了,出现新错误!!!>> CAN't allocate .stack, size 00000400 (page 1)
>> errors in input - wen2.out not built
Build Complete,
  2 Errors, 0 Warnings. 4: 一般是存储器空间不够出上面的错误. 5: 在cmd 文件中加条语句,好使!!!-STACK 40 /*后加的*/
MEMORY
{
  PAGE 0:
        VECS :          origin = 0000h,         length = 003fh
        FLASH:          origin = 44h,          length = 7fbbh
        SARAM_P:        origin = 8000h,         length = 7ffh

  PAGE 1:
        B2:             origin = 0060h,         length = 020h
        B0:             origin = 200h,          length = 100h
        B1:             origin = 300h,          length = 100h
        SARAM_D:        origin = 0800h,         length = 800h
}

SECTIONS
{       
        .vectors:        > VECS          PAGE 0
        .text:          > FLASH         PAGE 0
        .data:          > FLASH         PAGE 0  
        .bss:           > SARAM_D       PAGE 1
        .stack:         > B1            PAGE 1
        .buffer:         > SARAM_D       PAGE 1
}


虽然好使,但是,不知为什么! 6: 制定stack区的大小,具体可见help->stack optionThe C/C++ compiler uses an uninitialized section, .stack, to allocate space for the run-time stack. You CAN set the size of this section at link time with the -stack option. Specify the size as a constant immediately after the option. The example below creates a stack that is 4K words in size:
lnk2000 -stack 0x1000  /* defines a 4K stack (.stack section) */
If you specify a different stack size in an input section, the input section stack size is ignored. Any symbols defined in the input section remain valid; only the stack size is different.

When the linker defines the .stack section, it also defines a global symbol, __STACK_SIZE, and assigns it a value equal to the size of the section. The default software stack size is 1K words.

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]