реклама на сайте
подробности

 
 
> Проблемы с GNUARM, генерация странных бинарников
sff
сообщение May 18 2006, 20:48
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404



Скачал я набор компилятора GCC 4.1 с проекта GNUARM (http://www.gnuarm.com/)
Базовые файлы нашёл на at91.com:
http://www.at91.com/www/phpBB2_mirror/download.php4?id=211

И скомпилил протенький приерчик (мигает свтодиодом, под 91SAM7S128)
... инклуды и всё такое
#define SPEED (MCKKHz/10)
unsigned int LedSpeed = SPEED *50;

void wait ( void )
{
unsigned int waiting_time ;
change_speed () ;
for(waiting_time = 0; waiting_time < LedSpeed; waiting_time++) ;
}

int main()
{
AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_PIOA ) ;

AT91F_PIO_CfgOutput( AT91C_BASE_PIOA, LED2 ) ;
AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED2 ) ;
for (;;) {
AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, LED2) ;
wait();
AT91F_PIO_SetOutput( AT91C_BASE_PIOA, LED2 ) ;
wait();
wait();
}
}

всё прошло хорошо на на этапе генерации бинарника
arm-elf-objcopy --output-target=binary a.out BasicGNU.bin

он из a.out (71кб) сгенерил бинарник на 2mb + 4bytes!!!

открыв в hex редакторе увидил что первые ~900 байт ненулевые далее идут 0 и по смечению 2mb записано чило, очень похожее на SPEED *50.

Объявив эту переменную просто глобально, без инициализации, и проделав инициализацую в mian бинарник стал 924байта, успешно залился и на платке мигает диод..

На IAR первоначальный код генерирует нормальный бинарник.


Может кто-то работал с GNUARM и знает в чём дело? (даже если кто-то и не работа, всё равно интересно мнения =)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.02733 секунд с 7
ELECTRONIX ©2004-2016