|
|
  |
Cyclone V HPS компилятор, Ошибка gcc |
|
|
|
Jan 16 2015, 13:01
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Собираю под armcc, компиляция проходит успешно. Попробовал альтерный проект для gcc, выдаёт следующую ошибку: Код /usr/bin/sh: mkimage: command not found make: *** [hello-mkimage.bin] Error 127 Есть идеи, как лечить? И сразу еще вопрос, кто в основном это чудо чем собирает? gcc или armcc?
|
|
|
|
|
Jan 16 2015, 20:48
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата mkimage -- это ехе-шник, который где-то в недрах DS-5 родится, если самому компилить Прелоадер. Надо поискать *mkimage* -- исходники его поставляются. Помогло добавлением в переменную PATH пути до cygwin, который поставляется с Квартусом Но так и не смог запустить ваш пример инициализации MMU  Подцепил вроде все нужные инклуды, но компилятор упорно ругается на альтерные функции, которые в примере используются. Собирал gcc. Не поделитесь мудростью, как вы этот код все таки запустили? ЗЫ: как я понял, инициализация MMU и является тем узким местом, которое влияет на конечную производительность ядра? В случае загрузки линукса она встроена в процесс запуска ОС, а в случае baremetal приходится делать ее вручную?
Сообщение отредактировал serjj - Jan 16 2015, 20:49
|
|
|
|
|
Jan 16 2015, 21:34
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(WitFed @ Jan 16 2015, 19:53)  Никак не могу найти, как хоть где-то из С вызывать NEON-команды, Если собирать gcc, то: 1) автоматическая оптимизация, через -ftree-vectorize -mfpu=neon -mfloat-abi=softfp - компилятор сам векторизирует обычные С-циклы. 2) https://gcc.gnu.org/onlinedocs/gcc-4.6.1/gc...Intrinsics.htmlЕсли armcc это rvct - то там интринсики те же, что и в gcc. А вот tree-vectorizer-а нету. И, кстати, далеко не в каждой сборке gcc этот векторайзер имеется (он требует кучи всяких хитрых либ навроде cloog и ppl, поэтому мне пришлось собирать gcc самому, чтобы он с этими опциями был)
|
|
|
|
|
Jan 19 2015, 15:46
|
Местный
  
Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701

|
Ага, спасибо, будем искать... Значит, мои наезды в большинстве случаев от плохого образования  ...MMU и MPU -- это немного разное. Одно management, другое -- protection. ...А когда я компилил пример инита MMU, там была только проблема инита в структурах -- точка, имя поля, потом = значение. Если это хитро-красивое расширение С откинуть и оставить одни значения через запятую в {}, то проблем нет. А поля шли в порядке объявления, ничего не свопалось, чтобы сильно наглючить. И BigEndian/LowEndian вроде далеко...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|