Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
ob:o7:stm32f103c8t6 [2017/10/03 10:54] prospero78 [Компиляция] |
ob:o7:stm32f103c8t6 [2020/10/29 07:08] (текущий) |
| |
==== Почему именно этот контроллер? ==== | ==== Почему именно этот контроллер? ==== |
Как уже было сказано в одной статье, этот контроллер достаточно дешёвый (130 рублей на январь 2017 года), есть компилятор под него на языке **Oberon-07**, который работает как подсистема в среде **BlackBox Component Builder**. Контроллер весьма развит, так что это вполне разумный выбор. | Как уже было сказано в одной статье, этот контроллер достаточно дешёвый (130 рублей на январь 2017 года), есть [[ob:o7|компилятор под него на языке **Oberon-07**]], который работает как подсистема в среде **BlackBox Component Builder**. Контроллер весьма развит, так что это вполне разумный выбор. |
| |
==== Заказ контроллера ==== | ==== Заказ контроллера ==== |
| |
==== Прошивка контроллера ==== | ==== Прошивка контроллера ==== |
Для успешной прошивки контроллера необходимо установить программу stm32flash. На контроллере, для успешной прошивки необходимо перемычку boot0 поставить в положение ON((изначально обе перемычки стоят в OFF)). Это разрешит прошивку контроллера в его системную память. И в завершении всего, необходимо нажать кнопку RESET. Это заставит контроллер войти в режим прошивки и ожидать информацию с порта UART1 (те самые две ножки на боковой гребёнке контроллера). | Для успешной прошивки контроллера необходимо установить программу **stm32flash**. На контроллере, для успешной прошивки необходимо перемычку boot0 поставить в положение ON((изначально обе перемычки стоят в OFF)). Это разрешит прошивку контроллера в его системную память. И в завершении всего, необходимо нажать кнопку RESET. Это заставит контроллер войти в режим прошивки и ожидать информацию с порта UART1 (те самые две ножки на боковой гребёнке контроллера). |
| |
После этого, из каталога, где лежит готовый файл-прошивка с именем нашего модуля, но расширением *.hex, необходимо выполнить команду: | После этого, из каталога, где лежит готовый файл-прошивка с именем нашего модуля, но расширением *.hex, необходимо выполнить команду: |
stm32flash -w ./SlowLed.hex -v -g 0x0 /dev/ttyUSB0 | stm32flash -w ./SlowLed.hex -v -g 0x0 /dev/ttyUSB0 |
| |
Обратите внимание, что имя файла указано без названия подсистемы. Утилита stm32flash не понимает таких выкрутасов. Кроме того, устройство /dev/ttyUSB0 -- у читателя может называться по-другому. Чтобы узнать название устройства, необходимо запустить stm32flash без параметров((если не получится посмотрите видео Ивана Денисова)). | Обратите внимание, что имя файла указано без названия подсистемы. Утилита **stm32flash** не понимает таких выкрутасов. Кроме того, устройство `/dev/ttyUSB0` -- у читателя может называться по-другому. Чтобы узнать название устройства, необходимо запустить **stm32flash** без параметров ((если не получится посмотрите видео **Ивана Денисова** )). |
| |
Если прошивка прошла успешно, утилитка stm32flash выведет сообщение, что прошивка залита на 100%. У автора статьи за примерно 20 попыток прошить -- не было ни одного сбоя. Признаком передачи информации будет моргание светодиода на контроллере UART (Если, конечно, такой есть. А он обычно есть). | Если прошивка прошла успешно, утилитка **stm32flash** выведет сообщение, что прошивка залита на 100%. У автора статьи за примерно 20 попыток прошить -- не было ни одного сбоя. Признаком передачи информации будет моргание светодиода на контроллере `UART` (Если, конечно, такой есть. А он обычно есть). |
| |
После окончания прошивки контроллер сразу перейдёт к исполнению программы. Смотрим ссылку на видео: [[https://vk.com/videos309656471?z=video309656471_456239142%2Fpl_309656471_-2|вот так оно работает]], и, как говорится, не забываем ставить лайки :-) | После окончания прошивки контроллер сразу перейдёт к исполнению программы. Смотрим ссылку на видео: [[https://vk.com/videos309656471?z=video309656471_456239142%2Fpl_309656471_-2|вот так оно работает]], и, как говорится, не забываем ставить лайки :-) |
| |
Для того, чтобы контроллер работал сразу после подачи питания в автономном режиме, необходимо перемычку boot0 вернуть в положение OFF. В качестве источника питания подойдёт любая зарядка от сотового телефона с выходным током от 250 мА. | Для того, чтобы контроллер работал сразу после подачи питания в автономном режиме, необходимо перемычку `boot0` вернуть в положение `OFF`. В качестве источника питания подойдёт любая зарядка от сотового телефона с выходным током от 250 мА. Если будет необходимость питать дополнительную периферию -- не следует стесняться взять блок питания под 1000 мА. |
| |
==== Заключение ==== | ==== Заключение ==== |
Большая часть операций выполняется один раз, привыкание к языку Oberon-O7 происходит быстро. На долю без повторений выпадает, по сути, только написание кода и полезной обвязке ((Схемотехника очень схожа на Arduino, с той лишь разницей, что напряжение 3,3 Вольта вместо 5 Вольт у Arduino. Все схемы адаптируются достаточно легко.)) Необходимо обратить внимание читателей: использование силовой электроники (от 50 Вольт переменки и выше) опасно для жизни. Поэтому, обязательно -- почитайте про правильную работу с высокими напряжениями при завязке на низковольтные контроллеры. | Большая часть операций выполняется один раз, привыкание к языку **Oberon-O7** происходит быстро. На долю без повторений выпадает, по сути, только написание кода и полезной обвязке ((Схемотехника очень схожа на **Arduino** , с той лишь разницей, что напряжение 3,3 Вольта вместо 5 Вольт у **Arduino** . Все схемы адаптируются достаточно легко.)) Необходимо обратить внимание читателей: использование силовой электроники (от 50 Вольт переменки и выше) опасно для жизни. Поэтому, обязательно -- почитайте про правильную работу с высокими напряжениями при завязке на низковольтные контроллеры. |
| |
И удачи всем в освоении Oberon-O7! :-) | И удачи всем в освоении **Oberon-O7**! :-) |
| |