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

 
 
> Косяк 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
Ответов
amw
сообщение Apr 28 2007, 14:27
Сообщение #2


Знающий
****

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



Не важно, есть ли FP. Все зависит от ключей компиляции. Пример:
файл x.c
Код
void x()
{
}


Код
arm-elf-gcc -c -msoft-float -o xs.o x.c
arm-elf-gcc -c -mhard-float -o xh.o x.c

Дизассемблер файлов xs.o и xh.o дает одинаковый результат. А вот
Код
arm-elf-objdump -x xs.o

xs.o:     file format elf32-littlearm
xs.o
architecture: arm, flags 0x00000010:
HAS_SYMS
start address 0x00000000
private flags = 200: [APCS-32] [FPA float format] [software FP]

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000010  00000000  00000000  00000034  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00000000  00000000  00000044  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00000000  00000000  00000044  2**0
                  ALLOC
  3 .comment      00000012  00000000  00000000  00000044  2**0
                  CONTENTS, READONLY
SYMBOL TABLE:
00000000 l    df *ABS*    00000000 x.c
00000000 l    d  .text    00000000
00000000 l    d  .data    00000000
00000000 l    d  .bss    00000000
00000000 l     F .text    00000000 $a
00000000 l    d  .comment    00000000
00000000 g     F .text    00000010 x

Код
arm-elf-objdump -x xh.o

xh.o:     file format elf32-littlearm
xh.o
architecture: arm, flags 0x00000010:
HAS_SYMS
start address 0x00000000
private flags = 0: [APCS-32] [FPA float format]

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000010  00000000  00000000  00000034  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00000000  00000000  00000044  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00000000  00000000  00000044  2**0
                  ALLOC
  3 .comment      00000012  00000000  00000000  00000044  2**0
                  CONTENTS, READONLY
SYMBOL TABLE:
00000000 l    df *ABS*    00000000 x.c
00000000 l    d  .text    00000000
00000000 l    d  .data    00000000
00000000 l    d  .bss    00000000
00000000 l     F .text    00000000 $a
00000000 l    d  .comment    00000000
00000000 g     F .text    00000010 x

Обратите внимание на строчку private flags.


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

Сообщений в этой теме
- krofork   Косяк GCC или мой? реализация LPC кодека под ARM7   Apr 28 2007, 06:14
- - beer_warrior   В принципе могут быть различия в тонкостях - напри...   Apr 28 2007, 07:37
|- - krofork   поставил я значит GNUARM 4.1.1 вместо 3.1.1, тепер...   Apr 28 2007, 12:01
|- - amw   Цитата(krofork @ Apr 28 2007, 12:01) пост...   Apr 28 2007, 13:04
|- - krofork   >libaduc7024.a откуда? это из кейла - C:...   Apr 28 2007, 14:03
|- - amw   Цитата(krofork @ Apr 28 2007, 14:03) ...   Apr 28 2007, 14:16
|- - krofork   в общем есть линкерный скрипт (взят из примера) в ...   Apr 28 2007, 14:30
|- - 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
- - beer_warrior   ЦитатаНе уверен, но мне кажется (да, глупая фраза ...   Apr 28 2007, 14:40


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

 


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


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