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

 
 
> Косяк GCC или мой? реализация LPC кодека под ARM7
krofork
сообщение Apr 28 2007, 06:14
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 15-12-06
Пользователь №: 23 530



Есть самописный LPC кодек, написан на С (переделанный OpenLPC).
Есть его конкретная реализация на ПК (моя dll + не мой GUI, C++Builder)
Есть его конкретная реализация под ARM7 (Keil в качестве IDE+ поставляемый с ним GCC)

Проблема в том, что со стороны ПК работает всё, а со стороны ARM только(!!!) кодирование. Процедура декодирования на ARM не работает (точнее она не корректно работает, проверялось отсылкой результатов по rs232 при обработке 1-го фиксированного кадра). С код кодека: процедур кодирования, декодирования, инициализации - абсолютно идентичен как для ПК, так и для ARM7.

Проц: ADuC7021
Компилятор: GCC3.1.1

правильно ли моё подозрение, что это косяк GCC?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
beer_warrior
сообщение Apr 28 2007, 07:37
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



В принципе могут быть различия в тонкостях - например в упаковке структур и прочих прагмах.
А вообще надо смотреть подробнее.

P.S. В ходу уже gcc 4.1 попробуйте собрать свежим.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
krofork
сообщение Apr 28 2007, 12:01
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 15-12-06
Пользователь №: 23 530



поставил я значит GNUARM 4.1.1 вместо 3.1.1, теперь Keil материтcя:
....libaduc7024.a(irq.o) uses hardware FP, whereas ....elf uses software FP
когда он так матерился на startup я ему -mno-fp прописал, а тут куда чего он хочет?
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 28 2007, 13:04
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(krofork @ Apr 28 2007, 12:01) *
поставил я значит GNUARM 4.1.1 вместо 3.1.1, теперь Keil материтcя:
....libaduc7024.a(irq.o) uses hardware FP, whereas ....elf uses software FP
когда он так матерился на startup я ему -mno-fp прописал, а тут куда чего он хочет?

libaduc7024.a откуда? Если это не в комплекте GCC, то нужно ее пересобрать с software fp, или GCC с hardware fp.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
krofork
сообщение Apr 28 2007, 14:03
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 15-12-06
Пользователь №: 23 530



>libaduc7024.a откуда?

это из кейла - C:\Keil\ARM\INC\ADI\ - инклюды для аналог-девайсез процов smile.gif

Это же в GCC3.1.1 работало без подобных сообщений, да и не может ЭТО быть hardware FP, если это(libaduc7024.a) относится только к ADuC'ам у которых (насколько мне известно) ни одного нет этого hardware FP
Go to the top of the page
 
+Quote Post
amw
сообщение Apr 28 2007, 14:16
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(krofork @ Apr 28 2007, 14:03) *
>libaduc7024.a откуда?

это из кейла - C:\Keil\ARM\INC\ADI\ - инклюды для аналог-девайсез процов smile.gif

Это же в GCC3.1.1 работало без подобных сообщений, да и не может ЭТО быть hardware FP, если это(libaduc7024.a) относится только к ADuC'ам у которых (насколько мне известно) ни одного нет этого hardware FP

libaduc7024.a - это библиотека, инклюды здесь ни при чем.
Скомпилирована она можеть быть с разными флагами.
Отсутствие FP, еще не факт, что нельзя скомпилировать файл с HWFP.
Суть в том, что объектник (как часть либы) содержит признаки HWFP (формат ELF).
Возможно есть библиотека libfloat.a. Возмодно нужно ее ипользовать или наоборот, не использовать.
В общем библиотеки, скомпилированые разными версиями GCC могут быть не совместимыми по признакам (флагам) ELF файлов. Как правило спасает перекомпиляци библиотеки.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
krofork
сообщение Apr 28 2007, 14:30
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 15-12-06
Пользователь №: 23 530



в общем есть линкерный скрипт (взят из примера)
в котором есть строка INPUT(-laduc7024)
эта строка РАБОТАЛА с предыдущим GCC3.1.1.

Не уверен, но мне кажется (да, глупая фраза для инженера smile.gif ) что она нужна чтобы потом можно было сделать IRQ = MY_IRQ_FUNC;
Потому как если её удалть, то линкер матерится на нересолвенные ссылки, относящиеся к прерываниям
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- krofork   Косяк GCC или мой? реализация LPC кодека под ARM7   Apr 28 2007, 06:14
|- - amw   Цитата(krofork @ Apr 28 2007, 14:30) в об...   Apr 28 2007, 14:36
- - Ivan_Kov   Весьма вероятна следующая причина. Для 80x86 - в...   Apr 28 2007, 09:48
- - beer_warrior   ЦитатаДля 80x86 - выравнивание пофигу.А для ARM ...   Apr 28 2007, 10:37
|- - SpiritDance   Цитата(beer_warrior @ Apr 28 2007, 11:37)...   Apr 28 2007, 11:14
- - amw   Упаковка структур выполняется по разному для разны...   Apr 28 2007, 10:43
- - beer_warrior   ЦитатаА на самом деле бинарники не нужны. Можно вп...   Apr 28 2007, 12:24
- - beer_warrior   Стоп, я че-то тормознул. А зачем gcc специфичиские...   Apr 28 2007, 14:19
- - amw   Не важно, есть ли FP. Все зависит от ключей компил...   Apr 28 2007, 14:27
- - beer_warrior   ЦитатаНе уверен, но мне кажется (да, глупая фраза ...   Apr 28 2007, 14:40


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

 


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


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