Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сборка uClinux в Ubuntu 13.04 для Nios2
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
Сергей Д.
Здравствуйте!
Я новичок в работе с Linux, в данный момент пытаюсь собрать ядро uClinux для Nios2 в Ubuntu 13.04, но что-то плохо получается.
Дистрибутив Linux еще менять не пробовал. Дистрибутив uClinux вместе с дополнительными инструментами взят отсюда:
ftp://ftp.altera.com/outgoing/nios2-linux/20120802/
При сборке ядра с параметрами по умолчанию со сгенерированным .sopc для 3c120 из файлов вложенных в дистрибутив натыкаюсь на ошибку:
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------
CODE
make[3]:Entering directory `/home/sergey/nios2-linux/uClinux-dist/user/version'
CC compr_lzo.o
nios2-linux-gnu-gcc -pipe -Wall -g -O2 -mhw-mul -mno-hw-mulx -mno-hw-div -DEMBED -I/home/sergey/nios2-linux/uClinux-dist -mhw-mul -mno-hw-mulx -mno-hw-div -c -o version.o version.c
stdm++.cxx:1:18: error: stdm++: No such file or directory
stdm++.cxx:4: error: 'MATT' has not been declared
stdm++.cxx:4: error: expected constructor, destructor, or type conversion before '(' token
stdm++.cxx:21: error: 'MATT' has not been declared
stdm++.cxx:21: error: expected constructor, destructor, or type conversion before '::' token
stdm++.cxx:34: error: 'MATT' has not been declared
stdm++.cxx:34: error: 'int operator<<(char*)' must have an argument of class or enumerated type
stdm++.cxx:34: error: 'int operator<<(char*)' must take exactly two arguments
stdm++.cxx: In function 'int operator<<(char*)':
stdm++.cxx:36: error: invalid use of 'this' in non-member function
stdm++.cxx:36: error: 'fprintf' was not declared in this scope
stdm++.cxx: At global scope:
stdm++.cxx:41: error: 'MATT' has not been declared
stdm++.cxx:41: error: expected constructor, destructor, or type conversion before 'MATT'
make[5]: *** [stdm++.o] Error 1
make[5]: Leaving directory `/home/sergey/nios2-linux/uClinux-dist/user/cxxtest/sharedlib/lib'
make[4]: *** [libs] Error 2

-------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Пробовал искать ответ на просторах интернета, нашел что-то про adding the option $(SLIBPTHREAD) to the link line. Как это сделать, я не понял.
Помогите разобраться. Заранее благодарен всем, кто откликнется.
Сергей Д.
Цитата(Сергей Д. @ May 23 2013, 10:19) *
Здравствуйте!
Я новичок в работе с Linux, в данный момент пытаюсь собрать ядро uClinux для Nios2 в Ubuntu 13.04, но что-то плохо получается.
Дистрибутив Linux еще менять не пробовал. Дистрибутив uClinux вместе с дополнительными инструментами взят отсюда:
ftp://ftp.altera.com/outgoing/nios2-linux/20120802/
При сборке ядра с параметрами по умолчанию со сгенерированным .sopc для 3c120 из файлов вложенных в дистрибутив натыкаюсь на ошибку:
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------
CODE
make[3]:Entering directory `/home/sergey/nios2-linux/uClinux-dist/user/version'
CC compr_lzo.o
nios2-linux-gnu-gcc -pipe -Wall -g -O2 -mhw-mul -mno-hw-mulx -mno-hw-div -DEMBED -I/home/sergey/nios2-linux/uClinux-dist -mhw-mul -mno-hw-mulx -mno-hw-div -c -o version.o version.c
stdm++.cxx:1:18: error: stdm++: No such file or directory
stdm++.cxx:4: error: 'MATT' has not been declared
stdm++.cxx:4: error: expected constructor, destructor, or type conversion before '(' token
stdm++.cxx:21: error: 'MATT' has not been declared
stdm++.cxx:21: error: expected constructor, destructor, or type conversion before '::' token
stdm++.cxx:34: error: 'MATT' has not been declared
stdm++.cxx:34: error: 'int operator<<(char*)' must have an argument of class or enumerated type
stdm++.cxx:34: error: 'int operator<<(char*)' must take exactly two arguments
stdm++.cxx: In function 'int operator<<(char*)':
stdm++.cxx:36: error: invalid use of 'this' in non-member function
stdm++.cxx:36: error: 'fprintf' was not declared in this scope
stdm++.cxx: At global scope:
stdm++.cxx:41: error: 'MATT' has not been declared
stdm++.cxx:41: error: expected constructor, destructor, or type conversion before 'MATT'
make[5]: *** [stdm++.o] Error 1
make[5]: Leaving directory `/home/sergey/nios2-linux/uClinux-dist/user/cxxtest/sharedlib/lib'
make[4]: *** [libs] Error 2

-------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Пробовал искать ответ на просторах интернета, нашел что-то про adding the option $(SLIBPTHREAD) to the link line. Как это сделать, я не понял.
Помогите разобраться. Заранее благодарен всем, кто откликнется.
Разобрался, нужно просто поставить пакет cxxtest.deb.
DASM
И как - работает ? Может мне не очень повезло, но поднятие Линукса на НИОСе - прекрасная возможность возненавидеть и Линукс и НИОС. Больно медленное ядро НИОСа (в смысле НИОС на доступных Циклонах 4 не шибко выше 100 Мгц выходит) и довольно капризное по загрузке. А Линукс ресуурсов хочет немалых
Petr_I
Цитата(DASM @ May 31 2013, 16:45) *
И как - работает ? Может мне не очень повезло, но поднятие Линукса на НИОСе - прекрасная возможность возненавидеть и Линукс и НИОС. Больно медленное ядро НИОСа (в смысле НИОС на доступных Циклонах 4 не шибко выше 100 Мгц выходит) и довольно капризное по загрузке. А Линукс ресуурсов хочет немалых

На 3с120 по дефолту я думаю все в порядке, вот как только начнет свое добавлять, тогда начнется настоящий сакес.
Скорость понятие относительное, у меня NIOS на 60Мгц работает и на все хватает и еще ресурсов остается немеряно.
Главное из сборки хлам всякий повыкидывать и на конфигурации NIOS не экономить.
А за "капризы" надо отдельно Altera поблагодарить. 13-й квартус вышел и опять в комьюнити шум поднялся и патчей под uCLinux немеряно посыпалось,
то то не работает то это.
DASM
Ну да.. у меня три SDRAM контроллера висело, и несколько своих модулей. Секаса было столько что мама не горюй, теперь на SmartFusion со встроенным Cortex-M3 просто душа поет.
Сергей Д.
Согласен, Linux под nios2 просто секас. Ядро собралось и даже загрузилось в простейшей системе. Сейчас разбираюсь с TSE. Драйвер запустился, но пинговаться
не хочет. Использую ПЛИС EP4CE55F23C6N, PHY - 88E1111, система работает на 125МГц.
Сергей Д.
Товарищи, помогите! Разбираюсь с Ethetnet, чип 8Е1111, драйвер запускается, eth0 поднимается, в статистике принятых пакетов показывает даже, что что-то
принимает. Когда пингуешь даже показывает, что что-то передает, но пинг не проходит smile3046.gif
Сергей Д.
Цитата(Сергей Д. @ Jun 27 2013, 16:34) *
Товарищи, помогите! Разбираюсь с Ethetnet, чип 8Е1111, драйвер запускается, eth0 поднимается, в статистике принятых пакетов показывает даже, что что-то
принимает. Когда пингуешь даже показывает, что что-то передает, но пинг не проходит smile3046.gif

Разобрался. В драйвере для TSE не устанавливались аппартные паузы для TX и RX интерфейса RGMII. Пришлось немного переписать драйвер
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.