Project

General

Profile

На тестировании не смог залить ни один самостоятельно скомпилированный бинарник

Added by xintrea over 11 years ago

Участвовал в удаленном тестировании.

Бинарники компилировал из стандартных примеров.

Кратко: на этапе "image loading" загрузка превышает 100% и в какой-то момент сегфолтится.

$ mc-ploader image.bin
info: selected device: "PicoTAP A"
info: erasing device: 100%
info: image loading: 1484%Segmentation fault (core dumped)

Загрузка предкомпилированных бинарников из папки Examples проходит правильно.

Последовательность действий тут:

http://www.linux.org.ru/forum/talks/9326998


Replies (7)

RE: На тестировании не смог залить ни один самостоятельно скомпилированный бинарник - Added by trott over 11 years ago

полет нормальный:) выходить нужно через rdesktop. Я просил разработчиков положить в директории Makefile, чтобы не морочить командную строку, так что подождем - думаю выложат.

RE: На тестировании не смог залить ни один самостоятельно скомпилированный бинарник - Added by krufter_multiclet over 11 years ago

Предкомпилированные бинарники из стандартных примеров были собраны средствами SDK под Windows. Поправим ошибку в загрузчике для Linux и можете ещё раз попробовать работу с платой. Функция DM2UART выдавала через COM порт содержимое памяти данных, подробнее тут http://multiclet.com/community/projects/examples/wiki/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_UART_(%D0%A1%D0%B8)
Makefile выложим в ближайшее время. В readme.txt был пример только с подключением математической библиотеки. В Makefile включим сборку со всеми существующими библиотеками.

По поводу linux.org: там вы выкладывали readme.txt(расположен прямо на рабочем столе), в котором как раз в примере подключалась библиотека luart. Язык можно переключать, кликнув правой клавишей мыши добавить панель переключения. Сейчас к ПК подключен только UART. Но для первого теста этого должно хватить, хотя можно и Ethernet подключить(можно пакеты половить сниффером). Просто я думаю вы торопились и документацию не прочитали, поэтому не всё легко давалось. Но тем не менее вы нашли ошибку в загрузчике под linux, за что вам спасибо.

RE: На тестировании не смог залить ни один самостоятельно скомпилированный бинарник - Added by Natalia_multiclet over 11 years ago

xintrea wrote:

Участвовал в удаленном тестировании.

Бинарники компилировал из стандартных примеров.

Кратко: на этапе "image loading" загрузка превышает 100% и в какой-то момент сегфолтится.

$ mc-ploader image.bin
info: selected device: "PicoTAP A"
info: erasing device: 100%
info: image loading: 1484%Segmentation fault (core dumped)

Загрузка предкомпилированных бинарников из папки Examples проходит правильно.

Последовательность действий тут:

http://www.linux.org.ru/forum/talks/9326998

Все вопросы по тестированию платы просьба задавать непосредственно на форуме Мультиклет! В настоящий момент система отрабатывается, именно поэтому для нас важны ваши комментарии. К тому же на нашем форуме на все вопросы мы отвечаем оперативнее.

RE: На тестировании не смог залить ни один самостоятельно скомпилированный бинарник - Added by mouse over 11 years ago

Хотелось бы отметить один момент:

$(LD) -o $@ -M -L$(MULTICLET_SDK)/lib/MCp0411100101 -luart $< $(MULTICLET_SDK)/lib/MCp0411100101/crt0.o > image.map
не то же самое, что:
$(LD) -o $@ -M -L$(MULTICLET_SDK)/lib/MCp0411100101 -luart $(MULTICLET_SDK)/lib/MCp0411100101/crt0.o $^ > image.map

Первый вариант линкуется без ошибок, загружается, но не работает. Второй с точностью до md5sum совпадает с образом из архива с примерами.

Ещё на Linux замечена неприятная особенность: mc-lcc отказывается искать mc-as, mc-mcpp, mc-rcc в директориях, отличных от той, где выполняется сам mc-lcc. В $PATH он не смотрит. Очень хотелось бы, чтобы на поведение mc-lcc влиял, если уж не $PATH, то хотя бы опция -B. Последняя помогает только в поиске rcc (как префикс: -B/.../bin/mc-).

RE: На тестировании не смог залить ни один самостоятельно скомпилированный бинарник - Added by krufter_multiclet over 11 years ago

А можете привести весь make файл?

В SDK для Linux находится файл USAGE.txt:

Для корректной работы драйвера сборки mc-lcc необходимо:
    1. разместить бинарные утилиты или символьные
       ссылки на них в директории, путь к которым
       задан в переменной окружения $PATH, либо
       добавить путь к переменной $PATH:
        export PATH=$PATH:<PATH_TO_MULTICLET_SDK>/bin

    2. создать переменную окружения $LCCDIR:
        export LCCDIR=<PATH_TO_MULTICLET_SDK>/bin
       либо использовать команду mc-lcc с опцией -lccdir:
        mc-lcc -lccdir=<PATH_TO_MULTICLET_SDK>/bin ...
    (1-7/7)