Перейти к содержанию
    

Сборка uClinux в Ubuntu 13.04 для Nios2

Здравствуйте!

Я новичок в работе с Linux, в данный момент пытаюсь собрать ядро uClinux для Nios2 в Ubuntu 13.04, но что-то плохо получается.

Дистрибутив Linux еще менять не пробовал. Дистрибутив uClinux вместе с дополнительными инструментами взят отсюда:

ftp://ftp.altera.com/outgoing/nios2-linux/20120802/

При сборке ядра с параметрами по умолчанию со сгенерированным .sopc для 3c120 из файлов вложенных в дистрибутив натыкаюсь на ошибку:

-------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------------------------------

 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. Как это сделать, я не понял.

Помогите разобраться. Заранее благодарен всем, кто откликнется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Я новичок в работе с Linux, в данный момент пытаюсь собрать ядро uClinux для Nios2 в Ubuntu 13.04, но что-то плохо получается.

Дистрибутив Linux еще менять не пробовал. Дистрибутив uClinux вместе с дополнительными инструментами взят отсюда:

ftp://ftp.altera.com/outgoing/nios2-linux/20120802/

При сборке ядра с параметрами по умолчанию со сгенерированным .sopc для 3c120 из файлов вложенных в дистрибутив натыкаюсь на ошибку:

-------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------------------------------

 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.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И как - работает ? Может мне не очень повезло, но поднятие Линукса на НИОСе - прекрасная возможность возненавидеть и Линукс и НИОС. Больно медленное ядро НИОСа (в смысле НИОС на доступных Циклонах 4 не шибко выше 100 Мгц выходит) и довольно капризное по загрузке. А Линукс ресуурсов хочет немалых

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И как - работает ? Может мне не очень повезло, но поднятие Линукса на НИОСе - прекрасная возможность возненавидеть и Линукс и НИОС. Больно медленное ядро НИОСа (в смысле НИОС на доступных Циклонах 4 не шибко выше 100 Мгц выходит) и довольно капризное по загрузке. А Линукс ресуурсов хочет немалых

На 3с120 по дефолту я думаю все в порядке, вот как только начнет свое добавлять, тогда начнется настоящий сакес.

Скорость понятие относительное, у меня NIOS на 60Мгц работает и на все хватает и еще ресурсов остается немеряно.

Главное из сборки хлам всякий повыкидывать и на конфигурации NIOS не экономить.

А за "капризы" надо отдельно Altera поблагодарить. 13-й квартус вышел и опять в комьюнити шум поднялся и патчей под uCLinux немеряно посыпалось,

то то не работает то это.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну да.. у меня три SDRAM контроллера висело, и несколько своих модулей. Секаса было столько что мама не горюй, теперь на SmartFusion со встроенным Cortex-M3 просто душа поет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Согласен, Linux под nios2 просто секас. Ядро собралось и даже загрузилось в простейшей системе. Сейчас разбираюсь с TSE. Драйвер запустился, но пинговаться

не хочет. Использую ПЛИС EP4CE55F23C6N, PHY - 88E1111, система работает на 125МГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Товарищи, помогите! Разбираюсь с Ethetnet, чип 8Е1111, драйвер запускается, eth0 поднимается, в статистике принятых пакетов показывает даже, что что-то

принимает. Когда пингуешь даже показывает, что что-то передает, но пинг не проходит :smile3046:

Изменено пользователем Сергей Д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Товарищи, помогите! Разбираюсь с Ethetnet, чип 8Е1111, драйвер запускается, eth0 поднимается, в статистике принятых пакетов показывает даже, что что-то

принимает. Когда пингуешь даже показывает, что что-то передает, но пинг не проходит :smile3046:

Разобрался. В драйвере для TSE не устанавливались аппартные паузы для TX и RX интерфейса RGMII. Пришлось немного переписать драйвер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...