共2条
1/1 1 跳转至页
LF2407,can,allocate,bbs,in,b2 LF2407编译出现的错误“can't allocate .bbs in b2”
问
我用的是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.
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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
| 【S32K3XX】LIN 通讯模块使用被打赏¥31元 | |
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
我要赚赏金
