Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не получается прошить по BSL
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
arhiv6
Добрый день. Решил попробовать прошить МК используя BSL. Собрал программатор на FT2232: один канал - UART, со второго - управление ножками TEST и RESET. Сначала провожу процедуру активации BSL, дергая ножками по алгоритму:
После этого запускаю BSLDEMO2 или MSPFET и пытаюсь стереть/записать прошивку, но обе программы не работают, выдавая ошибку синхронизации. Контроллер не переходит в режим BSL, а начинает выполнение программы из Flash. Смотрел логическим анализатором - вроде всё делаю правильно: сначала идет заданная последовательность на линиях TEST и RESET (пауза между фронтами не менее 5мс), через 50мс запись в UART символа синхронизации(0x80), на который МК не отвечает. Проверял с MSP430F5529 и CC430F6147 - по SBW контроллеры прошиваются, UART работает, проблема только с переходом в режим BSL. Возможно, я что-то делаю не так?
MrYuran
Цитата(arhiv6 @ Nov 25 2015, 08:13) *
Возможно, я что-то делаю не так?

емнип, BSLDEMO до 4 семейства работает, а 5-6 нужно скриптером шить
mcheb
MSPDEBUG чем не устраивает?
MrYuran
Цитата(mcheb @ Nov 25 2015, 11:55) *
MSPDEBUG чем не устраивает?

а он BSL умеет? Круто, не знал. Тогда это, конечно, наиболее универсальный вариант
mcheb
Цитата(MrYuran @ Nov 25 2015, 12:07) *
а он 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 файл подправить
arhiv6
mcheb, огромное спасибо, с mspdebug заработало!
arhiv6
Решил попробовать прошить под Windows, но не смог собрать mspdebug, хотя для linux собиралось без проблем. Исходники брал отсюда. У кого-нибудь есть собранный?
mcheb
А как GCC ругается? Я когда собирал, там инклюдов не хватало,править пришлось
arhiv6
Сегодня на свежую голову попробовал ещё раз. Не хватало инклюдов windows.h + в составе mingw нет библиотек libusb и regex, как их добавить написано тут.
Jack-S
Очень давно писал прогу (на основе каких то ДОСовских примерах) заливки по БСЛ, не сразу, но заработало. БСЛ запускал кнопками, времянка не критична, сигнала ТЕСТ в моем случае не было. 3 года назад пришлось вспомнить эту историю. Клиент шил МК программатором и по ошибке пережог фьюз на F47197. Прогу пришлось модернизировать поскольку RAM в другом адресном пространстве.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.