Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа BSL
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
d7d1cd
Привет всем! Подскажите в решении следующей проблемы. При работе BSL я отправляю в порт байт 0х80 и получаю ответ 0х90. Вроде бы все нормально. Но если второй раз отправить 0х80, то ответа нет. Так и должно быть или какие-то ошибки имеют место быть?
rezident
См. MSP430 Programming Via the Bootstrap Loader User's Guide - slau319b.pdf.
Первый байт после входа в режим BSL 0x80 является байтом синхронизации. Он передается первым и только один раз. См раздел 2.1 Synchronization Sequence
Все команды имеют определенный формат и состоят из нескольких байт. 0x80 у них это преамбула. Ответ ACK или NAK BSL в МК посылает после передачи всего пакета команды см. 2.4.1 Data-Stream Structure
d7d1cd
Я написал программу, с помощью которой отправляю команды в BSL. После "запуска" BSL я отправляю байт 0х80 (получаю ответ 0х90). Затем отправляю команду на запрос версии BSL (показано с контрольной суммой в шестнадцатеричных кодах):
80 1E 04 04 00 00 00 00 7B E5

Однако в ответ получаю какие-то обрывки по 2-4 байта, а не строку с информацией об идентификаторе чипа и версии BSL. Подскажите, может я запрос неправильно сформировал?
rezident
Возможно CRC неправильно посчитана.
d7d1cd
Цитата(rezident @ May 17 2012, 22:36) *
Возможно CRC неправильно посчитана.
Проверил метод расчета CRC на примере из MSP430 Programming Via the Bootstrap Loader. Все правильно считается. Не подскажите, что еще может быть причиной? И еще такой вопрос: чтобы перевести МК в режим BSL необходимо в строгой последовательности "поиграть" логическими уровнями на выводах МК. Подскажите, с какой частотой должна быть эта "игра"?

rezident
Цитата(d7d1cd @ May 22 2012, 21:13) *
Не подскажите, что еще может быть причиной?
Ваша схема преобразователя уровней, например.
Цитата(d7d1cd @ May 22 2012, 21:13) *
И еще такой вопрос: чтобы перевести МК в режим BSL необходимо в строгой последовательности "поиграть" логическими уровнями на выводах МК. Подскажите, с какой частотой должна быть эта "игра"?
Я в очередной раз вам удивляюсь, вы вообще самостоятельно с документами работать способны? cranky.gif Ведь там же все написано английским по белому! См. ранее упомянутый документ MSP430 Programming Via the Bootstrap Loader User's Guide - slau319b.pdf. Примечания к рисункам Figure 1-1, 1-2 и 1-3.
Цитата
NOTE: The recommended minimum time for pin states is 250 ns. See the device-specific errata for
any differences, because some 5xx and 6xx device revisions contain specific entry sequence
requirements.

А также нелишне обратить внимание на одно из ограничений в разделе 1.4 UART Protocol.
Цитата
Minimum time delay before sending new characters after characters have been received from the
MSP430 BSL: 1.2 ms

Несоблюдение этого ограничения тоже может быть вероятной причиной ваших затруднений в реализации BSL.
MrYuran
За основу можно взять BSLdemo от TI, с исходниками.
Хотя мне намного больше понравилось MSP430-bsl из состава ранних MSPGCC с исходниками на Python'e.
Хотел было добавить туда инверсию одного из сигналов, оказалось - из командной строки можно управлять, ничего не колупая.
Жаль, в нынешние версии не кладут.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.