|
TASKING VX-Toolset v2.0r1, Компилятор для NiosII |
|
|
|
Apr 15 2008, 15:03
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Компилятор С/С++ для NiosII: TASKING VX-Toolset v2.0r1 - залил в ..upload/FPGA/_Altera_/NiosII/Tasking Плугинится в NiosII IDE. Генерит более быстрый и более компактный код по сравнению с NiosII GCC. Подробности здесь. Это триальная версия. Она полнофункциональная, работает 15 дней (ичсх, рабочих дней, субботу и воскресенье не считает  ). От триальности отучивается путем периодического снесения некоторых ключей в реестре. Может это и не слишком элегантно, зато имеется полная легальность использования, никакие проверяющие органы подкопаться не смогут  Огромный Кнкн за исследования ! А теперь, собственно проблема. Не получается запустить этот компилятор из-под NiosII IDE. Т.е. таскинговскитй проект в NiosII IDE создается, отображаются все установки таскинга, но при попытке билда упорно запускается nios2-elf-gcc (который, есс-но, ругается на таскинговские ключи). Лог NiosII IDE, который при этом выдается, прилагаю. Тема, наверное, перекликается вот с этой : Вопросы по Eclipse, CDT, Zylin embedded CDT Может, кто подскажет волшебное слово, чтобы заставить таскинговский компилятор работать в NiosII IDE по умолчанию ?
Прикрепленные файлы
log.txt ( 30.95 килобайт )
Кол-во скачиваний: 982
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 29)
|
Apr 18 2008, 13:58
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Победа! Все заработало. Дело было в некоторой туповатости таскинговского инсталлятора. Он считает, что альтеровская библиотека ip-ядер находится в той же папке, где и NiosII EDS, и, пытаясь патчить несуществующие файлы  , создает рядом с папкой nios2eds папку ip\nios2_ip\altera_nios2\Hal, куда и ссыпает свои файлы. Но, поскольку библиотека ip-ядер оказалась установленной совсем в другом месте, то ниосовский HAL там остался непропатченым. После того, как все HAL-овские файлы были врукопашную перемещены в соответствующие папки по их реальному месту жительства, все заработало на ура! Баг репорт в таскинг отправлен, в следующей версии они обещали подработать инсталлятор. Результаты компиляции впечатляют, особенно по сравнению со встроенным в NiosII EDS GCC'шником. Я сделал проекты из стандартного ниосовского примера "Hello World!"  для конфигурации системы full_featured (файл NiosII_cycloneII_2c35_full_featured_sopc.ptf) для таскинга и для gcc. Результаты билда для того и другого (по отчетам билдера) следующие : TASKING : Размер кода : 27 kBytes code size (code + initialized data) Время компиляции : - библиотеки проекта : 297,307 сек. - приложения : 36,838 сек. GCC : Размер кода : 76 kBytes code size (code + initialized data) Время компиляции : - библиотеки проекта : 257,313 сек. - приложения : 49,699 сек. Несколько большее время компиляци библиотеки проекта для таскинга объясняется, скорее всего, тем, что он много времени тратит на ввод-вывод сообщений. Каждый раз при запуске очередного файла на компиляцию выдается предупреждение о триальности и количестве дней до окончания срока функционирования (про отшибание памяти об этом сроке я уже писал). А поскольку при компиляции библиотек проекта используется туева хуча файлов, то сами понимаете...  P.S. Цитата(vetal @ Apr 17 2008, 20:41)  Для правильной работы плагина после установки программы следует запустить nios2-eds с ключем -clean. Это для того, чтобы таскинговские заготовки сразу отображались в меню при создании проекта.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Apr 18 2008, 15:09
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(Kuzmi4 @ Apr 18 2008, 18:24)  На счёт размера - GCC с ключём -Os был ?? GCC я пробовал и с этим ключом, и без него - однохренственно. TASKING я запускал с установками по умолчанию, без оптимизаци. Оптимизатор нужно исследовать отдельно  . Цитата(Kuzmi4 @ Apr 18 2008, 18:24)  Так а какие ключи в реестре сносить то ?? Все на fpt (еще раз респект Кнкн!).
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Apr 21 2008, 06:59
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
2 Stewart Little - Проверил, в принципе у меня получилось 30% разница в коде (код правда простой - но всё работает как задуманно).. (ключи -О3(для обоих), + увеличить скорость(для таскинга) ) Вопросик правда есть -  - поставил я его - везьде Next и ОК. Переместил патчи как вы писали, но он у меня виснет зараза когда доходит до копирования шаблонов... При чём если туде же потом создать прожект - выкинет ошибку - что он уже есть и потом после Cancel`а - прожект появляется в левой панели(..при чём иногда надо 2-3 раза..).... Собсно вопрос - у вас тот же геморой ? Если нет - расскажите как ставили ? Спасибо...
|
|
|
|
|
Apr 29 2008, 16:42
|
carpe manana
  
Группа: Свой
Сообщений: 321
Регистрация: 2-06-05
Пользователь №: 5 659

|
мини-отчет: GCC Код -O2 Info: (b_cpu.elf) 9680 Bytes program size (code + initialized data). Info: 6704 Bytes free for stack + heap.
-O3 Info: (b_cpu.elf) 10 KBytes program size (code + initialized data). Info: 6040 Bytes free for stack + heap.
-Os Info: (b_cpu.elf) 9812 Bytes program size (code + initialized data). Info: 6572 Bytes free for stack + heap. Tasking Код -O2 Info: (c_cpu.elf) 9616 Bytes program size (code + initialized data). Info: 6768 Bytes free for stack + heap.
-O3 Info: (c_cpu.elf) 9940 Bytes program size (code + initialized data). Info: 6444 Bytes free for stack + heap.
-Os Info: (c_cpu.elf) 9404 Bytes program size (code + initialized data). Info: 6980 Bytes free for stack + heap. Для таскинга оптимизация по размеру была сделана вручную ключом -Os и trade-off перенесен в пользу размера. На ключ компилятор не ругался, пробовал, также, ключ -О3 при level4 - результат практически такой-же. По умолчанию, кстати, в таскинге отключен дебаггер, хотя разница совсем небольшая. Остальные настройки не трогались. В железе проверить не удалось, поскольку собранного проекта под этот код с новым ниосом нет. В коде присутствуют custom_instruction в довольно небольшом количестве (влиять на оптимизацию, по моим подсчетам, сильно не должно). Интересно, это я так плохо пишу? или так хорошо?
|
|
|
|
|
Jul 30 2008, 19:01
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Stewart Little @ Apr 15 2008, 19:03)  таскинговскитй проект в NiosII IDE создается подскажите пожалуйста, каким образом создается? установил Tasking v2.0r2, в IDE при создании file->new->niosII c/c++ application (project type: nios) появились примеры c tasking, но нет возможности создать project type: Tasking
|
|
|
|
|
Jul 31 2008, 19:04
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Stewart Little @ Jul 31 2008, 12:30)  В этой ветке - третий пост сверху, читать внимательно. Спасибо, "nios2-eds -clean" выполнил(компилируются таскинговые примеры) Цитата инсталлятор создает рядом с папкой nios2eds папку ip\nios2_ip\altera_nios2\Hal, куда и ссыпает свои файлы. Но, поскольку библиотека ip-ядер оказалась установленной совсем в другом месте, то ниосовский HAL там остался непропатченым. После того, как все HAL-овские файлы были врукопашную перемещены в соответствующие папки по их реальному месту жительства, все заработало на ура! куда скопировать содержимое ip\nios2_ip\altera_nios2\Hal? (по этому я не могу подключить system.h и т.п.?)
|
|
|
|
|
Aug 1 2008, 07:58
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(yura-w @ Jul 31 2008, 23:04)  куда скопировать содержимое ip\nios2_ip\altera_nios2\Hal? В одноименную папку в библиокеке альтеровских ip-ядер. В версии 8.0 библиотека инсталлируется одновременно с квартусом. В предыдущих версиях ее нужно было ставить отдельно. Только нужно не всю папку HAL копировать, а переносить файлы по одному.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Aug 5 2008, 17:46
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Stewart Little @ Aug 1 2008, 11:58)  В версии 8.0 библиотека инсталлируется одновременно с квартусом. В предыдущих версиях ее нужно было ставить отдельно. это понятно. Извините, но не понял куда скопировать содержимое ip\nios2_ip\altera_nios2\Hal? Цитата(Stewart Little @ Aug 1 2008, 11:58)  В одноименную папку в библиокеке альтеровских ip-ядер. вижу что, quartus создал папки: 80\ip, 80\nios2eds, 80\qdesigns, 80\quartus TASKING зоздал: 80\TASKING, не могу найти место где не хватает того, что есть 80\ip\nios2_ip\altera_nios2\Hal
|
|
|
|
|
Aug 6 2008, 07:42
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(yura-w @ Aug 5 2008, 21:46)  вижу что, quartus создал папки: 80\ip, 80\nios2eds, 80\qdesigns, 80\quartus TASKING зоздал: 80\TASKING, не могу найти место где не хватает того, что есть 80\ip\nios2_ip\altera_nios2\Hal Давайте разбираться. Во-первых, квартус не мог создать папку ..\nios2eds - эта папка создается при инсталяции NiosII EDS, которая не является частью квартуса. Но это так, к слову  У Вас, насколько я понял, все инсталлировано в одну папку - и квартус, и ниос, и библиотека IP-ядер, и таскинг. Скорее всего, у Вас все должно было пропатчиться автоматически. Проверьте даты создания файлов : 80\ip\nios2_ip\altera_nios2\Hal\inc\nios2.h 80\ip\nios2_ip\altera_nios2\Hal\inc\sys\alt_irq_entry.h 80\ip\nios2_ip\altera_nios2\Hal\inc\sys\alt_sim.h 80\ip\nios2_ip\altera_nios2\Hal\inc\sys\alt_warning.h 80\ip\nios2_ip\altera_nios2\Hal\src\alt_busy_sleep.c 80\ip\nios2_ip\altera_nios2\Hal\src\alt_gmon.c 80\ip\nios2_ip\altera_nios2\Hal\src\component.mk Эти даты должны совпадать с датами одноименных файлов, находящихся в : Tasking\cnios_v2.0r2\altera\patches\components\Hal\inc Tasking\cnios_v2.0r2\altera\patches\components\Hal\inc\sys Tasking\cnios_v2.0r2\altera\patches\components\Hal\src Если даты совпадают, то это значит, что таскинг при инсталляции сам все пропатчил, и Ваша проблема совсем не в этом. Если же нет, то скопируйте вышеуказанный файлы из таскинговских папок в ip-шные папки врукопашную.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Aug 6 2008, 19:23
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Stewart Little @ Aug 6 2008, 11:42)  У Вас, насколько я понял, все инсталлировано в одну папку - и квартус, и ниос, и библиотека IP-ядер, и таскинг. Скорее всего, у Вас все должно было пропатчиться автоматически. а как устанавливали Вы? я б пошел вашим путем, чтоб наверняка!(да и время сэкономить) Цитата(Stewart Little @ Aug 6 2008, 11:42)  Эти даты должны совпадать с датами одноименных файлов, находящихся в : Tasking\cnios_v2.0r2\altera\patches\components\Hal\inc Tasking\cnios_v2.0r2\altera\patches\components\Hal\inc\sys Tasking\cnios_v2.0r2\altera\patches\components\Hal\src смотрел, совпадают  (даты похожи на время установки ниоса 8 - прошлый месяц), но только путь к указанным файлам (у таскинга)немного другой: 80\TASKING\cnios_v2.0r2\altera\patches\components\altera_nios2\HAL\inc\ 80\TASKING\cnios_v2.0r2\altera\patches\components\altera_nios2\HAL\inc\sys\ 80\TASKING\cnios_v2.0r2\altera\patches\components\altera_nios2\HAL\src\ А вообще в папке: Tasking\cnios_v2.0r2\altera\patches\components\ у меня папки: altera_hal, altera_hostfs, altera_iniche, altera_nios2, в них поглядел и "новых" не увидел. возможно неважно, но обратил внимание в NiosII-ds.pdf (с сайта таскинга) приведен способ создания таскингового проекта который мне не доступен (см. рис)(не появилась новая опция в file/new), проект создаю через file/new/project(см. рис) (повторюсь: вот только system.h не подключить  )
Эскизы прикрепленных изображений
|
|
|
|
|
Aug 7 2008, 15:21
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(yura-w @ Aug 6 2008, 23:23)  (повторюсь: вот только system.h не подключить  ) Что-то Вы, похоже, не то делаете... Новый проект хорошо бы создавать в новой папке, и с новым воркспейсом (судя по Вашей картинке Вы лепите все в одну кучу). Если мне склероз не изменяет, то файл system.h добавлять никуда не надо - он создается и добавляется автоматически во время компиляции библиотеки пректа. Завтра попробую повспоминать на каком-нибудь примере.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Aug 7 2008, 19:40
|
Местный
  
Группа: Свой
Сообщений: 305
Регистрация: 22-06-07
Из: Санкт-Петербург
Пользователь №: 28 617

|
Цитата(Stewart Little @ Aug 7 2008, 19:21)  Новый проект хорошо бы создавать в новой папке, и с новым воркспейсом  получилось! создал новый воркспейс (папки .metadata, altera.components), появилась возможнось создавать таскинговый проект через file/new. Подсунул рабочий проект, все откомпилировалось  . Есть некоторые неясности: - в окне nios IIc/c++ project, в папке includes только таскинговые инклуды, нет подключенных компонентов системы (altera_avalon_jtag_uatr, altera_avalon_epcs_controller и т.п. ) - попытка вызвать присутствующие в системе файлы через окно заканчивается неудачей(см. рис. на примере вызова system.h), вобщем надо еще с настройками поразбираться.
Эскизы прикрепленных изображений
|
|
|
|
|
Feb 24 2009, 07:41
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 24-01-08
Пользователь №: 34 395

|
ест новая версия v2.0r4
как лечит ???
|
|
|
|
|
Feb 24 2009, 09:38
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(darek @ Feb 24 2009, 10:41)  ест новая версия v2.0r4 как лечит ??? Лечить аналогично предыдущим версиям. Только ключики в файле clear15tn.reg и bat-файле поменять надо. Новые имена ключей для v2.0r4 можно regedit-ом посмотреть.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Feb 25 2009, 08:38
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 24-01-08
Пользователь №: 34 395

|
можно подробне? если не трудна
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|