共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 28BYJ-48机械臂实现人脸跟随被打赏¥24元 | |
| 基于RK3506B的片温识读功能的实现被打赏¥25元 | |
| 【瑞萨RA8D1测评】基于FreeRTOS的lvgl移植教程被打赏¥29元 | |
| 电子价签墨水屏开发被打赏¥35元 | |
| 【Ozone】RTT 打印终端使用被打赏¥29元 | |
| BMS保护板绝缘检测功能-不平衡电桥技术绝缘电阻检测设计与实现被打赏¥34元 | |
| 给28BYJ-48三自由度机械臂加一个网页控制台被打赏¥32元 | |
| 用28BYJ-48电机从零搭一台三自由度机械臂被打赏¥33元 | |
| 【英飞凌开发经验】ModusToolbox配置EdgeTalk外设被打赏¥27元 | |
| 基于BQ76952PFBR的BMS保护板热插拔损坏的原因和处理措施被打赏¥32元 | |
我要赚赏金
