Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Отладочные платы » SK-MSTM32F107
Программирование через UART
Pavel Ivanchenko
Добавлено 16.01.2010 14:08 Редактировалось 16.01.2010 14:52
0
Сообщение: 1
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Поведение пер8воначального (нестираемого) загрузчика определяется состоянием двух пинов (Boo0 и Boot1) на момен после сброса/включения питания. В контексте платы актуальны два режима:
1) запуск приложения из внутренней flash (Boot0=0 Boot1=0)
2) остаться в загрузчике для последующей взаимосвязи через UART0 (Boot0=1 Boot1=0)
Аналогичный механизм действует и у LPC ...
Для реализации 2-го режима я ввел цепь из VT2,VT3,J5 и их обвязка, по замыслу, когда на линии RTS ничего нет или неактивный уровень (до -15В), транзистор VT3 открыт и Boot0=0, если RTS активен (до +15В), то Boot0=1.
Сброс контроллера управляется аналогично DTR (только идет через RS232 преобразователь) сигналом.
Т.е. чтобы контроллер остался в загрузчике, нужно активизировать DTR и RTS, после деактивизировать DTR, а потом и RTS.
STMicroelectronics предоставляет UM0462 Flash loader demonstrator - утилиту для программирования внутренней флешки через UART, причем в исходниках!!!
Собранный GUI вариант этой утилиты не подразумевает управление DTR/RTS, а вот консольный подразумевает возможность манипулирования сигналами DTR/RTS через командную строку, причем совершая последовательность действий, например, аргумент запуска:
Код
-Dtr --Hi -Rts --Hi -Dtr --Lo -Rts --Lo
позволяет последовательно активировать DTR, затем RTS, затем деактивировать DTR, а потом деактивировать RTS (что и требуется для того чтобы контроллер остался в загрузчике), это можно понять из последовательности сообщений самой утилиты.
"Печаль" в том что в реальности эта утилита не управляет сигналами DTR и RTS (хотя и говорит об этом), я не стал разбираться в чем причина, может она "криво" общается с портом под вистой, может от того что у меня порт не COM1, хотя номер порта и передается через аргументы, она явно больше не возвращается к манипуляции DTR/RTS после открытия порта ...
Вобщем, кому очень нужно программировать флешку через UART, пока придется самостоятельно устанавливать RTS (напрмер через терминалку), сбрасывать контроллер кнопкой сброса, а после запускать утилиту.
Спуститься к концу Подняться к началу
Персональная информация
vooon
Добавлено 05.02.2010 22:25 Редактировалось 06.02.2010 03:15 Сообщение: 2
vooon
0

Пункты: 47
Регистрация: 24.10.2009
Так ничего и не получилось с примером от ST.
Плюнул и написал сам.

http://hg.vehq.ru/st-boot

Нужен python 2.6, pyserial, opster

Код

vovan@desinto:~/src/st-boot$ time st-boot.py program -s /dev/ttyUSB0 ../stm32/chibios/demos/ARMCM3-STM32F107-GCC/ch.bin 2>/dev/null
st-boot.py program -s /dev/ttyUSB0 2> /dev/null 0,19s user 0,04s system 5% cpu 4,032 total
vovan@desinto:~/src/st-boot$ ls -l ../stm32/chibios/demos/ARMCM3-STM32F107-GCC/ch.bin
-rwxr-xr-x 1 vovan vovan 9616 2010-02-05 22:04 ../stm32/chibios/demos/ARMCM3-STM32F107-GCC/ch.bin*
vovan@desinto:~/src/st-boot$ st-boot.py
usage: /usr/local/bin/st-boot.py <command> [options]

commands:

erase Erase flash (GLOBAL!)
help Show help for a given help topic or a help overview
info Get information
program Program flash
read Read memory
Спуститься к концу Подняться к началу
Персональная информация
vitecd
Добавлено 17.02.2010 00:05 Сообщение: 3
vitecd
0

Пункты: 36
Регистрация: 13.02.2010
Пол: Мужчина
Из: С-Пб
приобрел кит, житага приобрести пока не получается :(

прочитал тему, но до конца не понял... можно этим способом закидывать код во флеш, и стартовать его?

т.е. интересует процесс начала работы с КИТом до приобретения житага, в наличии ожидается еще не скоро :(
Спуститься к концу Подняться к началу
Персональная информация
vitecd
Добавлено 18.02.2010 23:10 Сообщение: 4
vitecd
0

Пункты: 36
Регистрация: 13.02.2010
Пол: Мужчина
Из: С-Пб
отцы, окажите поддержку начинаещему ;)
Спуститься к концу Подняться к началу
Персональная информация
vitecd
Добавлено 22.02.2010 23:03 Сообщение: 5
vitecd
0

Пункты: 36
Регистрация: 13.02.2010
Пол: Мужчина
Из: С-Пб
гуру, я могу надеяться на поддержку купленного мною товара?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 23.02.2010 09:54 Сообщение: 6
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Интересное заявление ...
Мне добавить к первому посту больше нечего.
Может сделаете над собой усилие и попробуете воспользоваться тем что Вам любезно предоставил vooon.
Спуститься к концу Подняться к началу
Персональная информация
vitecd
Добавлено 23.02.2010 22:29 Сообщение: 7
vitecd
0

Пункты: 36
Регистрация: 13.02.2010
Пол: Мужчина
Из: С-Пб
я ARM только начинаю изучать, а не восьмую реинкарнацию пробую, от сюда и тупые вопросы.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.02.2010 23:18 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
прочитал тему, но до конца не понял... можно этим способом закидывать код во флеш, и стартовать его?


usage: /usr/local/bin/st-boot.py <command> [options]
commands:
erase Erase flash (GLOBAL!)
help Show help for a given help topic or a help overview
info Get information
program Program flash
read Read memory

для старта я полагаю нажать кнопку Reset..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
vitecd
Добавлено 24.02.2010 01:33 Редактировалось 24.02.2010 01:34 Сообщение: 9
vitecd
0

Пункты: 36
Регистрация: 13.02.2010
Пол: Мужчина
Из: С-Пб
это все из под линукса?
у меня винда

или из консоли линукса в процессоре?

ну в общемто понял
а из винды? или транслятор питона ставить, или линукс, так?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 28.02.2010 00:10 Сообщение: 10
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
это все из под линукса?
у меня винда
или из консоли линукса в процессоре?
ну в общемто понял
а из винды? или транслятор питона ставить, или линукс, так?

ну судя по строчке usage: /usr/local/bin/st-boot.py вероятно это линукс..
давайте рассуждать логически - вы купили некий товар, в данном случае "кит". видимо имея определенные цели. например запустить на нем линукс, смею предположить, что для этого надо знать собственно линукс, ну хоть чуть-чуть. в случае желания запускать WinCE, тоже необходимо иметь определенные навыки :)
в случае отладки на целевой плате линукса вам придется иметь линукс на "большом брате" в любом удобном для работы виде - можно нативно или из под VMWare или Cygwin.

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-MSTM32F107