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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> TASKING VX-Toolset v2.0r1, Компилятор для NiosII
Stewart Little
сообщение Apr 15 2008, 15:03
Сообщение #1


Лентяй
******

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



Компилятор С/С++ для NiosII: TASKING VX-Toolset v2.0r1 - залил в ..upload/FPGA/_Altera_/NiosII/Tasking
Плугинится в NiosII IDE. Генерит более быстрый и более компактный код по сравнению с NiosII GCC.
Подробности здесь.
Это триальная версия. Она полнофункциональная, работает 15 дней (ичсх, рабочих дней, субботу и воскресенье не считает smile.gif ). От триальности отучивается путем периодического снесения некоторых ключей в реестре. Может это и не слишком элегантно, зато имеется полная легальность использования, никакие проверяющие органы подкопаться не смогут smile.gif
Огромный a14.gif Кнкн за исследования !

А теперь, собственно проблема. Не получается запустить этот компилятор из-под NiosII IDE. Т.е. таскинговскитй проект в NiosII IDE создается, отображаются все установки таскинга, но при попытке билда упорно запускается nios2-elf-gcc (который, есс-но, ругается на таскинговские ключи).
Лог NiosII IDE, который при этом выдается, прилагаю.
Тема, наверное, перекликается вот с этой : Вопросы по Eclipse, CDT, Zylin embedded CDT
Может, кто подскажет волшебное слово, чтобы заставить таскинговский компилятор работать в NiosII IDE по умолчанию ?
Прикрепленные файлы
Прикрепленный файл  log.txt ( 30.95 килобайт ) Кол-во скачиваний: 982
 


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
vetal
сообщение Apr 17 2008, 16:41
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Для правильной работы плагина после установки программы следует запустить nios2-eds с ключом -clean.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 18 2008, 13:58
Сообщение #3


Лентяй
******

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



Победа! 08.gif

Все заработало.
Дело было в некоторой туповатости таскинговского инсталлятора. Он считает, что альтеровская библиотека ip-ядер находится в той же папке, где и NiosII EDS, и, пытаясь патчить несуществующие файлы smile.gif, создает рядом с папкой nios2eds папку ip\nios2_ip\altera_nios2\Hal, куда и ссыпает свои файлы.
Но, поскольку библиотека ip-ядер оказалась установленной совсем в другом месте, то ниосовский HAL там остался непропатченым. После того, как все HAL-овские файлы были врукопашную перемещены в соответствующие папки по их реальному месту жительства, все заработало на ура!

Баг репорт в таскинг отправлен, в следующей версии они обещали подработать инсталлятор.

Результаты компиляции впечатляют, особенно по сравнению со встроенным в NiosII EDS GCC'шником.
Я сделал проекты из стандартного ниосовского примера "Hello World!" smile.gif для конфигурации системы 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) 07.gif
Время компиляции : - библиотеки проекта : 257,313 сек.
- приложения : 49,699 сек.

Несколько большее время компиляци библиотеки проекта для таскинга объясняется, скорее всего, тем, что он много времени тратит на ввод-вывод сообщений. Каждый раз при запуске очередного файла на компиляцию выдается предупреждение о триальности и количестве дней до окончания срока функционирования (про отшибание памяти об этом сроке я уже писал). А поскольку при компиляции библиотек проекта используется туева хуча файлов, то сами понимаете... smile.gif

P.S.
Цитата(vetal @ Apr 17 2008, 20:41) *
Для правильной работы плагина после установки программы следует запустить nios2-eds с ключем -clean.

Это для того, чтобы таскинговские заготовки сразу отображались в меню при создании проекта.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 18 2008, 14:24
Сообщение #4


Гуру
******

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



Вы прямо заинтриговали..
На счёт размера - GCC с ключём -Os был ??

Так а какие ключи в реестре сносить то ??
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 18 2008, 15:09
Сообщение #5


Лентяй
******

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



Цитата(Kuzmi4 @ Apr 18 2008, 18:24) *
На счёт размера - GCC с ключём -Os был ??

GCC я пробовал и с этим ключом, и без него - однохренственно.
TASKING я запускал с установками по умолчанию, без оптимизаци. Оптимизатор нужно исследовать отдельно smile.gif .

Цитата(Kuzmi4 @ Apr 18 2008, 18:24) *
Так а какие ключи в реестре сносить то ??

Все на fpt (еще раз респект Кнкн!).


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 18 2008, 15:39
Сообщение #6


Гуру
******

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



2 Stewart Little - спасибо, посмотрим на досуге..
Вроде зверюга не плохой smile.gif
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Apr 21 2008, 06:59
Сообщение #7


Гуру
******

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



2 Stewart Little -
Проверил, в принципе у меня получилось 30% разница в коде (код правда простой - но всё работает как задуманно).. (ключи -О3(для обоих), + увеличить скорость(для таскинга) )
a14.gif

Вопросик правда есть -smile3046.gif - поставил я его - везьде Next и ОК. Переместил патчи как вы писали, но он у меня виснет зараза когда доходит до копирования шаблонов...
При чём если туде же потом создать прожект - выкинет ошибку - что он уже есть и потом после Cancel`а - прожект появляется в левой панели(..при чём иногда надо 2-3 раза..)....
Собсно вопрос - у вас тот же геморой ? Если нет - расскажите как ставили ?
Спасибо...
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 21 2008, 07:26
Сообщение #8


Лентяй
******

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



Цитата(Kuzmi4 @ Apr 21 2008, 10:59) *
... но он у меня виснет зараза когда доходит до копирования шаблонов...

Бывает иногда. Но это, имхо, прихват эклипса, а не таскинга.
Я обычно делаю так. В рабочей директории эклипсовский воркспейс создаю в папке eclipse, а софтовый проек - в папке software. В случае чего эту папку software можно целиком снести и создать проект заново. Но, как правило, повторное открытие (не создание!) проекта выправляет ситуацию.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
id_gene
сообщение Apr 28 2008, 13:05
Сообщение #9


carpe manana
***

Группа: Свой
Сообщений: 321
Регистрация: 2-06-05
Пользователь №: 5 659



Требует Nios II 7.2.

Что же делать с младшими версиями? (6.0 - 7.1)
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 28 2008, 13:45
Сообщение #10


Лентяй
******

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



Цитата(id_gene @ Apr 28 2008, 17:05) *
Что же делать с младшими версиями? (6.0 - 7.1)

Менять на v7.2 sp3.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
id_gene
сообщение Apr 29 2008, 16:42
Сообщение #11


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 в довольно небольшом количестве (влиять на оптимизацию, по моим подсчетам, сильно не должно).

Интересно, это я так плохо пишу? или так хорошо? smile.gif
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jul 22 2008, 12:11
Сообщение #12


Лентяй
******

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



Tasking обновил версию VX-Toolset до v2.0r2 - она синхронизирована с QuartusII v8.0.
Скачивается с исторической родины. Подробно пока не смотрел.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jul 22 2008, 13:41
Сообщение #13


Лентяй
******

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



Из нового, кроме синхронизайии с QII_v80 :

- Full time.h support in TASKING C library using system clock from Altera's Nios II HAL;
- PR36546 solved: Incorrect loop optimization leading to endless loop;
- New advanced loop unrolling optimizations in compiler.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
yura-w
сообщение Jul 30 2008, 19:01
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jul 31 2008, 08:30
Сообщение #15


Лентяй
******

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



Цитата(yura-w @ Jul 30 2008, 23:01) *
но нет возможности создать project type: Tasking

В этой ветке - третий пост сверху, читать внимательно.
Нихрена таскинговцы инсталлятор не подправили crying.gif


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post

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

 


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


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