ATmega128 + большой кусок констант + CodeVision - в чем грабли?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ATmega128 ? 19 ноября 2004 г. 16:59

Здравствуйте, уважаемые, может кто сталкивался помогите плизз..., а то крышу уже рвет.
Есть программа на С для ATmega128, в теле программы файл загрузки ПЛИС, подключен как массив байтовых констант:
//-------------------------------------------------------------
const unsigned int FileSize = 35705
flash unsigned char RBFmassiv[]= {...и т.д.
//-------------------------------------------------------------
компилирую,(Code Vision 1.24.2C) в итоге:
Chip: ATmega128
Program type: Application
Memory model: Small
Optimize for: Size
(s)printf features: int, width
(s)scanf features: int, width
Promote char to int: No
char is unsigned: Yes
8 bit enums: Yes
Enhanced core instructions: On
Automatic register allocation: On

11147 line(s) compiled
No errors
No warnings

Bit variables area: 2h to 3h
Bit variables size: 2 byte(s)

Data Stack area: 100h to 2FFh
Data Stack size: 512 byte(s)
Estimated Data Stack usage: 85 byte(s)

Global variables area: 300h to BB7h
Global variables size: 2232 byte(s)

Hardware Stack area: BB8h to 10FFh
Hardware Stack size: 1352 byte(s)

Heap size: 0 byte(s)

EEPROM usage: 41 byte(s) (1,0% of EEPROM)
Program size: 31096 words (47,4% of FLASH)

//-------------------------------------------------------------
Creating 'main.eep'
Creating 'main.obj'
Creating 'main.lst'

Assembling 'main.asm'
Including 'main.vec'
Including 'main.inc'

Program memory usage:
Code : 12820 words
Constants (dw/db): 18276 words
Unused : 0 words
Total : 31096 words

Assembly complete with no errors.
//-------------------------------------------------------------
все работает на ура.
Чуть правлю проект ПЛИС, размер файла загрузки увеличивается, программу не трогаю. Содержимое ПЛИС на работу контроллера не влияет.
Компилирую:
Chip: ATmega128
Program type: Application
Memory model: Small
Optimize for: Size
(s)printf features: int, width
(s)scanf features: int, width
Promote char to int: No
char is unsigned: Yes
8 bit enums: Yes
Enhanced core instructions: On
Automatic register allocation: On

11408 line(s) compiled
No errors
No warnings

Bit variables area: 2h to 3h
Bit variables size: 2 byte(s)

Data Stack area: 100h to 2FFh
Data Stack size: 512 byte(s)
Estimated Data Stack usage: 85 byte(s)

Global variables area: 300h to BB7h
Global variables size: 2232 byte(s)

Hardware Stack area: BB8h to 10FFh
Hardware Stack size: 1352 byte(s)

Heap size: 0 byte(s)

EEPROM usage: 41 byte(s) (1,0% of EEPROM)
Program size: 33218 words (50,7% of FLASH)

Creating 'main.eep'
Creating 'main.obj'
Creating 'main.lst'

Assembling 'main.asm'
Including 'main.vec'
Including 'main.inc'

Program memory usage:
Code : 12820 words
Constants (dw/db): 20398 words
Unused : 0 words
Total : 33218 words

Assembly complete with no errors.
//--------------------------------------------
Все. Программа не работает..
При вхождении в прерывание по приему UARTa улетает черти куда и виснет :-(.
В чем могут грабли быть??

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru