Bugfix для утилиты программатора mbftdi

Обнаружена ошибка в утилите программатора mbftdi. При программировании в Ubuntu Linux платы Марсоход2 из командной строки был возможен выход указателя за границы выделенного буфера. Ошибка вызывала Segmentation Fault и загрузки образа из SVF файла в ПЛИС Cyclone III не происходило. Сейчас ошибка исправлена.

Исходный текст (и exe для Windows) обновленной программы можно взять в разделе загрузки

Второй способ получить исходные тексты - это GitHub:

git clone https://github.com/marsohod4you/MBFTDI-SVF-Player.git

Для использования в Linux нужно откомпилировать программу. Для этого сперва возьмите библиотеки FTDI на их сайте: http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx1.1.12.tar.gz и распакуйте где-то в домашней директории. Затем исправьте пути к библиотекам FTDI в файле linux/Makefile. Потом компиляция:

make

Получается исполняемый файл mbftdi.

К сожалению загрузка SVF файла в ПЛИС в Linux требует сперва выгрузить родной драйвер последовательного порта (так написано в документации FTDI):

sudo rmmod ftdi_sio

Затем программирование ПЛИС:

sudo ./mbftdi YourFile.svf

Потом можно опять загрузить драйвер последовательного порта:

sudo insmod ftdi_sio.ko

Только нужно знать путь к этому драйверу ftdi_sio.ko, обычно он лежит где-то в директории /lib

В ОС Windows можно просто брать исполняемый файл mbftdi.exe из архива и запускать его.

Добавить комментарий