mikel 0 8 декабря, 2008 Опубликовано 8 декабря, 2008 · Жалоба Сергей, а KGP-ARM по идее поддерживает VFP в ARM926EJ-S в отличии от CodeSourcery Lite? Я что-то ни одной готовой тулчейн с поддержкой vfp не нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 12 декабря, 2008 Опубликовано 12 декабря, 2008 · Жалоба вопрос к klen : на какую папку настроена ваша сборка avr-gcc ? при запуске avr-gcc выдает сообщение что не находит сс1. при добавлении пути к сс1 в %PATH% ругается что не находит какой-то библиотечный .o файл. в сборках WinAVR этого не было. хм, заработало после создания сист.переменных GCC_EXEC_PREFIX (путь к сс1), LIBRARY_PATH (пути к lib, lib/gcc/avr/4..). gcc вроде должен находить сам, нет ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 12 декабря, 2008 Опубликовано 12 декабря, 2008 · Жалоба хм, заработало после создания сист.переменных GCC_EXEC_PREFIX (путь к сс1), LIBRARY_PATH (пути к lib, lib/gcc/avr/4..). gcc вроде должен находить сам, нет ? Это зависит от установщика пакета. Прописывает ли он автоматически все нужные пути и переменные. Не все установщики это делают. Кроме того пользователь может установить тулчейны для разных платформ. Как быть в таком случае? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 12 декабря, 2008 Опубликовано 12 декабря, 2008 · Жалоба Кроме того пользователь может установить тулчейны для разных платформ. Как быть в таком случае? у меня так и сделано - на флешке тулчейны для AVR,ARM,Win32. так вот некоторым версиям достаточно добавить путь к папке bin нужного тулчейна в начале скрипта компиляции. В новых это не проходит - ругается что не находит cc1, crt*.o и т.п. Если дополнительно прописать пути к этим файлам в переменные GCC_EXEC_PREFIX, LIBRARY_PATH в скрипте, то компилирует нормально. Непонятно почему gcc не может находить эти пути самостоятельно ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 12 декабря, 2008 Опубликовано 12 декабря, 2008 · Жалоба Кроме того пользователь может установить тулчейны для разных платформ. Как быть в таком случае?В таком случае все действия делают через вызов <имя_платформы>-gcc.exe, а уже он находит необходимые as, cc1, ld и библиотеки. Ищет как по некоторым абсолютным путям, так и по относительным путям от того места, где лежит сам. По-моему так. Можно запустить его на компиляцию с ключем -v и он расскажет где что искал и где что нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 12 декабря, 2008 Опубликовано 12 декабря, 2008 · Жалоба Ищет как по некоторым абсолютным путям, так и по относительным путям от того места, где лежит самтак вот вопрос - почему не ищет и не находит ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 12 декабря, 2008 Опубликовано 12 декабря, 2008 · Жалоба так вот вопрос - почему не ищет и не находит ?Так покажите, что пишет -v, подумаем. Попробуйте для WinAVR и сборки klen-а, сравним.echo int main() {return 0;} > test.c && gcc -v test.c >log.txt 2>&1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 12 декабря, 2008 Опубликовано 12 декабря, 2008 · Жалоба я давно порпавил код чтоб ничего прописывать не надобыло. вся путевая адресация относительно корневой директории пакетка. это какой то глюк давайте разбиратся. покажите что напишет сс1 -v на выходных пересоберу все - еще раз проверим все. все работало уде давно и долго - я и проверять престал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 12 декабря, 2008 Опубликовано 12 декабря, 2008 · Жалоба о, собралось. не знаю что за глюк был. запуск компилятора : set PATH=%GCC_ROOT%\avr_kgp\bin;%PATH% avr-gcc -v main.c >1.txt 2>2.txt pause вывод : Using built-in specs. Target: avr-kgp-elf Configured with: ../../src/gcc-4.4-20081107/configure --prefix=/kgp_avr --target=avr-kgp-elf --disable-nls --enable-languages=c,c++ -v Thread model: single gcc version 4.4.0 20081107 (experimental) (GCC) Klen's GCC package (KGP) for 8-bit AVR/elf platform see latest build in www.klen.orgCOLLECT_GCC_OPTIONS='-v' e:/work/tools/prg/lng/c/gcc/avr_kgp/libexec/gcc/avr-kgp-elf/4.4.0/cc1.exe -quiet -v -iprefix e:\work\tools\prg\lng\c\gcc\avr_kgp\bin\../lib/gcc/avr-kgp-elf/4.4.0/ main.c -quiet -dumpbase main.c -auxbase main -version -o c:\windows\Temp/cco66buf.s ignoring nonexistent directory "e:/work/tools/prg/lng/c/gcc/avr_kgp/avr-kgp-elf/sys-include" #include "..." search starts here: #include <...> search starts here: e:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0/include e:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0/include-fixed e:/work/tools/prg/lng/c/gcc/avr_kgp/avr-kgp-elf/include End of search list. GNU C (GCC) version 4.4.0 20081107 (experimental) (avr-kgp-elf) compiled by GNU C version 4.3.2, GMP version 4.2.4, MPFR version 2.3.2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: ecd85a928d73c60df54246d38c43bb7a COLLECT_GCC_OPTIONS='-v' e:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0/../../../../avr-kgp-elf/bin/as.exe -o c:\windows\Temp/ccgV11Cj.o c:\windows\Temp/cco66buf.s COMPILER_PATH=e:/work/tools/prg/lng/c/gcc/avr_kgp/libexec/gcc/avr-kgp-elf/4.4.0/;e:/work/tools/prg/lng/c/gcc/avr_kgp/libexec/gcc/;e:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0/../../../../avr-kgp-elf/bin/ LIBRARY_PATH=e:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0/;e:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/;e:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0/../../../../avr-kgp-elf/lib/ COLLECT_GCC_OPTIONS='-v' e:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0/../../../../avr-kgp-elf/bin/ld.exe -m avr2 e:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0/../../../../avr-kgp-elf/lib/crts8515.o -Le:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0 -Le:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc -Le:/work/tools/prg/lng/c/gcc/avr_kgp/lib/gcc/avr-kgp-elf/4.4.0/../../../../avr-kgp-elf/lib c:\windows\Temp/ccgV11Cj.o -lgcc -lc -lgcc проверю на других таргетах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 13 декабря, 2008 Опубликовано 13 декабря, 2008 · Жалоба Сергей, а KGP-ARM по идее поддерживает VFP в ARM926EJ-S в отличии от CodeSourcery Lite? Я что-то ни одной готовой тулчейн с поддержкой vfp не нашел. вопрос не понял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KanKan 0 14 декабря, 2008 Опубликовано 14 декабря, 2008 · Жалоба вопрос не понял. Ну вообще меня интересовало будет ли gcc генерить hardware VFP/FPU код для LPC3180 при использовании -mfpu=vfp. Как я понял, в LPC3180 есть "стандартный" армовский сопроцессор VFP9-S (VFPv2). Я вроде-бы где-то читал что халявная Codesourcery Lite не генерит hardware vfp код. Мол только платные версии это могут. Хотя теперь уже сомневаюсь... Может имелись ввиду старые версии codesourcery с GCC до 4.0 которые не поддерживали VFP вообще. А может писали про то что библиотеки в Lite версиях собраны без поддержки VFP а а новые Pro версии включают newlib которая"optimized for vfp". Меня интересует возможность использования сопроцессора в своем (не библиотечном) C-коде. Извиняюсь за непонятность вопроса :) Для меня это все несколько в новинку - что ARM что GNU toolchain. PS: задавая вопрос случайно зашел под старым (забытым) ником mikel. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 15 декабря, 2008 Опубликовано 15 декабря, 2008 · Жалоба 2_KanKan код test.c double D(double a , double b) { return (a - b) + 0.5*(a-b)*(a-b) + 0.25*(a-b)*(a-b)*(a-b); } $ arm-kgp-elf-gcc -S test.c -mfloat-abi=softfp -mfpu=vfp .file "test.c" .text .align 2 .global D .type D, %function D: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. fmdrr d4, r0, r1 fmdrr d5, r2, r3 fsubd d7, d4, d5 fldd d6, .L3 fldd d5, .L3+8 fmuld d6, d7, d6 fmuld d5, d7, d5 fcpyd d4, d7 fmuld d5, d7, d5 fmacd d4, d7, d6 fmacd d4, d7, d5 fmrrd r0, r1, d4 bx lr .L4: .align 2 .L3: .word 0 .word 1071644672 .word 0 .word 1070596096 .size D, .-D .comm z,8,4 .ident "GCC: (GNU) 4.4.0 20081003 (experimental)" оно? все инструкции начинающиеся с "f" относятся ксопроцессору VFP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KanKan 0 15 декабря, 2008 Опубликовано 15 декабря, 2008 · Жалоба 2_KanKan ....... оно? все инструкции начинающиеся с "f" относятся ксопроцессору VFP Ну да, вроде оно! Народ на других форумах правда упоминает некотрые странности/баги gcc-шного кода для VFP, но это уже баги gcc а не конкретной сборки, да и к томуже старых версий. Спасибо. Я сам пока разбираюсь с армами на примере ARM7 и Cortex-M3, до 9-го и сопроцессора еще не добрался, но уже давно лежит плата на lpc3180 которую надо запустить с поддержкой vfp для одного хобби-проекта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 17 декабря, 2008 Опубликовано 17 декабря, 2008 · Жалоба ошибка в файле avr/wdt.h:133:5: error: operator '||' has no left operand : #if || defined(__AVR_ATxmega64A1__) \ || defined(__AVR_ATxmega64A3__) \ || defined(__AVR_ATxmega128A1__) \ || defined(__AVR_ATxmega128A3__) \ || defined(__AVR_ATxmega256A3__) \ || defined(__AVR_ATxmega256A3B__) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 17 декабря, 2008 Опубликовано 17 декабря, 2008 (изменено) · Жалоба ? Изменено 17 декабря, 2008 пользователем ukpyr Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться