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

 
 
> Компиляция gnu c в uVision3
EKirshin
сообщение Oct 2 2006, 16:25
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 2-10-06
Из: Москва
Пользователь №: 20 904



Здравствуйте!

Использую STR912FW44, пакет разработки KEIL, плата MCBSTR9

У меня такая проблема:

Хочется написать программу для USB. Скомпилировать пример джойстика не удаётся по причине ограничения 16кб линкера (никто, случаем лекарства не подкинет?). Поэтому хочу скомпилировать средствами gnu, зашить во внутреннюю флэш и запустить отладку - всё средствами uVision3. Откомпилиорвать удалось после переписания файла startup (насколько верно, сомневаюсь). Создаётся файл elf. Потом пытаюсь загружать его во флэш из uVision3. Выдаёт ошибку Incorrect line... (что-то типа этого - точно не помню).

Нет ли у кого примера стартап-файла для компиляции с использованием gnu?
И, кстати, в тестовых программках keil'a есть файлик retarget.c. Без него примеры не работают. Зачем он нужен, не поясните? В хелпе написано как-то невразумительно: для перенаправления каких-то потоков...
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 17)
Andy Great
сообщение Oct 18 2006, 09:16
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Цитата
Откомпилиорвать удалось после переписания файла startup (насколько верно, сомневаюсь). Создаётся файл elf. Потом пытаюсь загружать его во флэш из uVision3. Выдаёт ошибку Incorrect line... (что-то типа этого - точно не помню).

Ха, щас глянул - эта ошибка пофиксена в 3.02. Качайте обновления.
Go to the top of the page
 
+Quote Post
klen
сообщение Oct 21 2006, 06:15
Сообщение #17


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Andy Great @ Oct 4 2006, 17:00) *
А ошибка какая? Попробуйте скомпилировать для ARM7 тестовые примеры и загрузить их в симулятор. Не уверен, гляну дома, может быть в той версии ГЦЦ нет поддержки ARM9?


Ну как это не поддержывает. Не нада грязи smile.gif Вот что с третей версии вроде поддерживается.
Код
ARM_CORE("arm2",   arm2,    2,    FL_CO_PROC | FL_MODE26, slowmul)
ARM_CORE("arm250", arm250,    2,    FL_CO_PROC | FL_MODE26, slowmul)
ARM_CORE("arm3",   arm3,    2,    FL_CO_PROC | FL_MODE26, slowmul)

/* V3 Architecture Processors */
ARM_CORE("arm6",          arm6,        3,    FL_CO_PROC | FL_MODE26, slowmul)
ARM_CORE("arm60",         arm60,    3,    FL_CO_PROC | FL_MODE26, slowmul)
ARM_CORE("arm600",        arm600,    3,    FL_CO_PROC | FL_MODE26 | FL_WBUF, slowmul)
ARM_CORE("arm610",        arm610,    3,                 FL_MODE26 | FL_WBUF, slowmul)
ARM_CORE("arm620",        arm620,    3,    FL_CO_PROC | FL_MODE26 | FL_WBUF, slowmul)
ARM_CORE("arm7",          arm7,        3,    FL_CO_PROC | FL_MODE26, slowmul)
ARM_CORE("arm7d",         arm7d,    3,    FL_CO_PROC | FL_MODE26, slowmul)
ARM_CORE("arm7di",        arm7di,    3,    FL_CO_PROC | FL_MODE26, slowmul)
ARM_CORE("arm70",         arm70,    3,    FL_CO_PROC | FL_MODE26, slowmul)
ARM_CORE("arm700",        arm700,    3,    FL_CO_PROC | FL_MODE26 | FL_WBUF, slowmul)
ARM_CORE("arm700i",       arm700i,    3,    FL_CO_PROC | FL_MODE26 | FL_WBUF, slowmul)
ARM_CORE("arm710",        arm710,    3,                 FL_MODE26 | FL_WBUF, slowmul)
ARM_CORE("arm720",        arm720,    3,                 FL_MODE26 | FL_WBUF, slowmul)
ARM_CORE("arm710c",       arm710c,    3,                 FL_MODE26 | FL_WBUF, slowmul)
ARM_CORE("arm7100",       arm7100,    3,                 FL_MODE26 | FL_WBUF, slowmul)
ARM_CORE("arm7500",       arm7500,    3,                 FL_MODE26 | FL_WBUF, slowmul)
/* Doesn't have an external co-proc, but does have embedded fpa.  */
ARM_CORE("arm7500fe",     arm7500fe,    3,    FL_CO_PROC | FL_MODE26 | FL_WBUF, slowmul)

/* V3M Architecture Processors */
/* arm7m doesn't exist on its own, but only with D, ("and", and I), but
   those don't alter the code, so arm7m is sometimes used.  */
ARM_CORE("arm7m",         arm7m,    3M,    FL_CO_PROC | FL_MODE26, fastmul)
ARM_CORE("arm7dm",        arm7dm,    3M,    FL_CO_PROC | FL_MODE26, fastmul)
ARM_CORE("arm7dmi",       arm7dmi,    3M,    FL_CO_PROC | FL_MODE26, fastmul)

/* V4 Architecture Processors */
ARM_CORE("arm8",          arm8,        4,                 FL_MODE26 | FL_LDSCHED, fastmul)
ARM_CORE("arm810",        arm810,    4,                 FL_MODE26 | FL_LDSCHED, fastmul)
ARM_CORE("strongarm",     strongarm,    4,                 FL_MODE26 | FL_LDSCHED | FL_STRONG, fastmul)
ARM_CORE("strongarm110",  strongarm110,    4,                 FL_MODE26 | FL_LDSCHED | FL_STRONG, fastmul)
ARM_CORE("strongarm1100", strongarm1100, 4,                 FL_MODE26 | FL_LDSCHED | FL_STRONG, fastmul)
ARM_CORE("strongarm1110", strongarm1110, 4,                 FL_MODE26 | FL_LDSCHED | FL_STRONG, fastmul)

/* V4T Architecture Processors */
ARM_CORE("arm7tdmi",      arm7tdmi,    4T,    FL_CO_PROC          , fastmul)
ARM_CORE("arm7tdmi-s",    arm7tdmis,    4T,    FL_CO_PROC          , fastmul)
ARM_CORE("arm710t",       arm710t,    4T,                 FL_WBUF, fastmul)
ARM_CORE("arm720t",       arm720t,    4T,                 FL_WBUF, fastmul)
ARM_CORE("arm740t",       arm740t,    4T,                 FL_WBUF, fastmul)
ARM_CORE("arm9",          arm9,        4T,                             FL_LDSCHED, fastmul)
ARM_CORE("arm9tdmi",      arm9tdmi,    4T,                             FL_LDSCHED, fastmul)
ARM_CORE("arm920",        arm920,    4T,                             FL_LDSCHED, fastmul)
ARM_CORE("arm920t",       arm920t,    4T,                             FL_LDSCHED, fastmul)
ARM_CORE("arm922t",       arm922t,    4T,                             FL_LDSCHED, fastmul)
ARM_CORE("arm940t",       arm940t,    4T,                             FL_LDSCHED, fastmul)
ARM_CORE("ep9312",        ep9312,    4T,                             FL_LDSCHED |             FL_CIRRUS, fastmul)

/* V5T Architecture Processors */
ARM_CORE("arm10tdmi",     arm10tdmi,    5T,                             FL_LDSCHED, fastmul)
ARM_CORE("arm1020t",      arm1020t,    5T,                             FL_LDSCHED, fastmul)

/* V5TE Architecture Processors */
ARM_CORE("arm9e",         arm9e,    5TE,                             FL_LDSCHED, 9e)
ARM_CORE("arm946e-s",     arm946es,    5TE,                             FL_LDSCHED, 9e)
ARM_CORE("arm966e-s",     arm966es,    5TE,                             FL_LDSCHED, 9e)
ARM_CORE("arm968e-s",     arm968es,    5TE,                             FL_LDSCHED, 9e)
ARM_CORE("arm10e",        arm10e,    5TE,                 FL_LDSCHED, fastmul)
ARM_CORE("arm1020e",      arm1020e,    5TE,                 FL_LDSCHED, fastmul)
ARM_CORE("arm1022e",      arm1022e,    5TE,                 FL_LDSCHED, fastmul)
ARM_CORE("xscale",        xscale,    5TE,                             FL_LDSCHED | FL_STRONG | FL_XSCALE, xscale)
ARM_CORE("iwmmxt",        iwmmxt,    5TE,                             FL_LDSCHED | FL_STRONG | FL_XSCALE | FL_IWMMXT, xscale)

/* V5TEJ Architecture Processors */
ARM_CORE("arm926ej-s",    arm926ejs,    5TEJ,                             FL_LDSCHED, 9e)
ARM_CORE("arm1026ej-s",   arm1026ejs,    5TEJ,                             FL_LDSCHED, 9e)

/* V6 Architecture Processors */
ARM_CORE("arm1136j-s",    arm1136js,    6J,                             FL_LDSCHED, 9e)
ARM_CORE("arm1136jf-s",   arm1136jfs,    6J,                             FL_LDSCHED | FL_VFPV2, 9e)
ARM_CORE("arm1176jz-s",      arm1176jzs,    6ZK,                 FL_LDSCHED, 9e)
ARM_CORE("arm1176jzf-s",  arm1176jzfs,    6ZK,                 FL_LDSCHED | FL_VFPV2, 9e)
ARM_CORE("mpcorenovfp",      mpcorenovfp,    6K,                 FL_LDSCHED, 9e)
ARM_CORE("mpcore",      mpcore,    6K,                 FL_LDSCHED | FL_VFPV2, 9e)
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Oct 21 2006, 09:04
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Я имел в виду версию 3.31, поставляемую Кейлом. Зная любовь некоторых товарищей к оптимизации (ГЦЦ для х86, АРМ, АВР и т.д., урезанные в части целевых платформ) я предположил такую возможность.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 02:15
Рейтинг@Mail.ru


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