реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Работа BSL
d7d1cd
сообщение May 17 2012, 13:43
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Привет всем! Подскажите в решении следующей проблемы. При работе BSL я отправляю в порт байт 0х80 и получаю ответ 0х90. Вроде бы все нормально. Но если второй раз отправить 0х80, то ответа нет. Так и должно быть или какие-то ошибки имеют место быть?
Go to the top of the page
 
+Quote Post
rezident
сообщение May 17 2012, 15:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



См. 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
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение May 17 2012, 16:29
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Я написал программу, с помощью которой отправляю команды в BSL. После "запуска" BSL я отправляю байт 0х80 (получаю ответ 0х90). Затем отправляю команду на запрос версии BSL (показано с контрольной суммой в шестнадцатеричных кодах):
80 1E 04 04 00 00 00 00 7B E5

Однако в ответ получаю какие-то обрывки по 2-4 байта, а не строку с информацией об идентификаторе чипа и версии BSL. Подскажите, может я запрос неправильно сформировал?

Сообщение отредактировал d7d1cd - May 17 2012, 16:29
Go to the top of the page
 
+Quote Post
rezident
сообщение May 17 2012, 18:36
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Возможно CRC неправильно посчитана.
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение May 22 2012, 16:13
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



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

Go to the top of the page
 
+Quote Post
rezident
сообщение May 22 2012, 20:18
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(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.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 23 2012, 05:27
Сообщение #7


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



За основу можно взять BSLdemo от TI, с исходниками.
Хотя мне намного больше понравилось MSP430-bsl из состава ранних MSPGCC с исходниками на Python'e.
Хотел было добавить туда инверсию одного из сигналов, оказалось - из командной строки можно управлять, ничего не колупая.
Жаль, в нынешние версии не кладут.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016