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

Не получается прошить по BSL

Добрый день. Решил попробовать прошить МК используя BSL. Собрал программатор на FT2232: один канал - UART, со второго - управление ножками TEST и RESET. Сначала провожу процедуру активации BSL, дергая ножками по алгоритму: fig_2.gif

После этого запускаю BSLDEMO2 или MSPFET и пытаюсь стереть/записать прошивку, но обе программы не работают, выдавая ошибку синхронизации. Контроллер не переходит в режим BSL, а начинает выполнение программы из Flash. Смотрел логическим анализатором - вроде всё делаю правильно: сначала идет заданная последовательность на линиях TEST и RESET (пауза между фронтами не менее 5мс), через 50мс запись в UART символа синхронизации(0x80), на который МК не отвечает. Проверял с MSP430F5529 и CC430F6147 - по SBW контроллеры прошиваются, UART работает, проблема только с переходом в режим BSL. Возможно, я что-то делаю не так?

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


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

Возможно, я что-то делаю не так?

емнип, BSLDEMO до 4 семейства работает, а 5-6 нужно скриптером шить

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


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

MSPDEBUG чем не устраивает?

а он BSL умеет? Круто, не знал. Тогда это, конечно, наиболее универсальный вариант

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


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

а он BSL умеет? Круто, не знал. Тогда это, конечно, наиболее универсальный вариант

Как-то так

#!/bin/sh
echo "Compiling"
#make
PROG="RFModem433"
echo ">>>> Размер программы <<<<"
msp430-size --total $PROG.elf
echo ">>>> Generate assembler listing (optional): "
msp430-objdump -DS $PROG.elf > $PROG.lst
msp430-objcopy -O ihex $PROG.elf $PROG.hex
srec_cat  -O $PROG.txt -I  $PROG.hex -I --Output_Block_Size 64 --Output_Block_Alignment
#cat RFModem433.txt|awk -F\n '{print $0"\r"}' > ModemBsl.txt
# echo "Coping"
# cp -f Modem868.hex ~/Share/Mail/Modem868.hex "prog JTAG_LOCK.txt"
echo "Programming"
#mspdebug rf2500 "erase all" "prog RFModem433.txt" "reset""erase segment 0x1900"
#mspdebug flash-bsl -d /dev/ttyUSB0 --long-password "erase" "erase segment 0x1900"  "prog RFModem433.elf" "reset"
#mspdebug flash-bsl -d /dev/ttyUSB0 --long-password "erase" "prog RFModem433.txt" "reset"

под Win надо cmd файл подправить

 

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


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

Решил попробовать прошить под Windows, но не смог собрать mspdebug, хотя для linux собиралось без проблем. Исходники брал отсюда. У кого-нибудь есть собранный?

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


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

Сегодня на свежую голову попробовал ещё раз. Не хватало инклюдов windows.h + в составе mingw нет библиотек libusb и regex, как их добавить написано тут.

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


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

Очень давно писал прогу (на основе каких то ДОСовских примерах) заливки по БСЛ, не сразу, но заработало. БСЛ запускал кнопками, времянка не критична, сигнала ТЕСТ в моем случае не было. 3 года назад пришлось вспомнить эту историю. Клиент шил МК программатором и по ошибке пережог фьюз на F47197. Прогу пришлось модернизировать поскольку RAM в другом адресном пространстве.

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


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

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

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

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

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

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

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

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

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

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