Здравствуйте! У меня вопрос по прошивке контроллера STM8S103F3P6. Прошивал AVR, PIC контроллеры, а вот с этим контроллером столкнулся впервые. Прочитал в интернете много статей, в голове полная каша и так я ничего и не нашел объяснительного как и с помощью чего прошить этот контроллер. Если у кого есть терпение, объясните пошагово.
В этом контроллере нет встроенного загрузчика, поэтому прошивка записывается только при помощи ST-LINK. Саму прошивку зашивать или при помощи ST-LINK utility или в самой среде программирования, если там это реализовано(например в IAR). ST-LINK можно купить готовый или сделать его клон самому.
Попробую пошагово. 1) купить железку, можно такую: http://ru.aliexpress.com/item/Free-Shop ... eb201560_4 а можно "фирменную", типа такую: http://ru.aliexpress.com/item/FREE-SHIP ... eb201560_4 можно самому спаять - все для этого есть в интернете. Это не только программатор а и полноценный отладчик-дебагер и не только STM8, а и STM32. 2) Скачать ST MCU Toolset тут: http://www.st.com/web/en/catalog/tools/PF210568# установить, запустить ST Visual Programmer (STVP), настроить, загрузить HEX для прошивки, защиту от считывания установить, если надо во вкладке OPTION BYTE - ROP (остальное в OPTION BYTE можно пока не трогать), прошить и вуаля - готово.
Спасибо за ответ! http://ru.aliexpress.com/item/Free-Shop ... eb201560_4 Уже наверное к дому моему подъезжает, выписал месяц назад. Программу скачал. Загрузчика как я понял нет в контроллере. Как установить загрузчик?
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Никак. Только что написать свой загрузчик. Есть апликуха на эту тему и есть для этого место во флэш UBC называется. У других СТМ8 просто есть уже встроенный от рождения. В этом его нет.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Может идти если этим озадачивался разработчик устройства. Как телефон можно воткнуть в комп, нажать магическую комбинацию клавиш, запустить спец. программу и перешить. Также и здесь нужна какая-то прога загрузки для компа. Если этот чип новый, то никакие загрузчики не помогут без программатора. Только заливать ST-Link-ом. Ну как у ПИКов или АВР.
Да это все понятно, программатор скоро приедет. Еще сейчас нашел немного информации. По сути я понял так, что прошивка этого контроллера ни чем почти не отличается от прошивки AVR допустим. В отличие от AVR fuses, у STM8 запись в Option Bytes доступна из программы. Достаточно сделать в своей программе при старте проверку на разрешение Bootloader и если он запрещен, записать в Option bytes нужные значения. Также можно включить и альтернативные функции. Изменения в Option Bytes актуализируются только после Reset. Уже кое что нашел на свой вопрос. Хотя пока все равно темный лес. - актуализируются только после Reset. Мне не понятно это.
По сути я понял так, что прошивка этого контроллера ни чем почти не отличается от прошивки AVR допустим.
Я вообще не знаю контроллера, программирование которого сильно отличалось бы от других. Логически управление периферией везде реализовано на одном и том же принципе - запись в регистры, физически заливаем прошивку либо через бутлоадер, либо подключая программатор. Это везде так. Только разъемы бывают разные и протокол программирования обычно везде свой, но последнее неважно, если только мы сами не делаем программатор.
СпойлерКстати, SWIM, через который прошиваются STM8, достаточно прост. На уровне передачи бит он напоминает 1-Wire. На уровне протокола в нем есть всего три команды: сброс системы, писать память по адресу, читать память по адресу - все. Писать и читать можно любую память, даже регистры процессора. Так реализуется и отладка, и программирование. Прошивка заливается прямым взаимодействием с FLASH через чтение-запись в адресном пространстве.
Цитата:
- актуализируются только после Reset. Мне не понятно это.
Ну так, измененные настройки вступают в силу после первого сброса системы.
Цитата:
Достаточно сделать в своей программе при старте проверку на разрешение Bootloader и если он запрещен, записать в Option bytes нужные значения.
А вам надо менять option bytes на лету из своей программы?
Что вам непонятно? Стоит задача залить прошивку? Есть три подхода.
1. Купить ST-LINK v2 (обязательно v2, первая версия глючная) или его клон. Поставить его драйвера, поставить ST Visual Programmer.
Подключаем пины RESET и SWIM (ну и землю, есесно) к программатору, запускаем STVP. Все. Можно писать/читать память, выставлять option bytes - все, что душа пожелает.
2. Надо прошивать МК без ST-LINK? Нужен бутлоадер.
Я как-то прошивал STM8L152 через плату Discovery для STM8S. Там на плате уже реализован программатор/отладчик, с помощью которого можно прошивать и отлаживать код в МК вне платы Discovery.
Спасибо, YS, полезно будет знать. Моё знакомство с STM8 далее одного проекта тогда так и пошло, видимо и не пойдет уже. А на остальные случаи у меня уже есть Segger Jlink. Demo65 - Вам почта, наверное, новогодний подарок готовит. Удачи!
Да, почта наша "готовит подарок". У меня куча деталей из Китая буквально ползет по вине нашей почты. И так отложил несколько недоделанных плат из-за отсутствия деталей.
Я STM8 активно ставлю в те устройства, куда обычно ставил меги, не в последнюю очередь по той причине, что STM8 сейчас почти в два раза дешевле даже в розницу. Увы-увы, приходится констатировать, что с Atmel случилось что-то не то. В ближайшем ко мне магазине ATtiny13 стоит 52 р/шт, ATmega48 - 98 р/шт, при этом STM8L051F3P6 стоит 56 р/шт. А надо сказать, что STM8L051F3P6 будет покруче даже меги - он имеет такие интересные блоки, как таймер с поддержкой квадратурного энкодера (да-да, аппаратно получаем позицию энкодера в регистре таймера), двенадцатибитный АЦП, RTC, причем ток потребления в режиме сна с включенным блоком RTC составляет менее 2 мкА. Понятное дело, что стандартная периферия типа простых таймеров и UART/SPI/I2C там тоже присутствует.
Так что увы-увы, я все реже ставлю AVR в свои изделия. Вообще, у меня ситуация какая-то такая: AVR дорог, MSP430 еще дороже, чипы на ARM-ядрах тоже подороже и для простых изделий сильно избыточны. Так что в какой-то момент я обнаружил, что использую STM8. Сейчас у этих МК самое оптимальное соотношение цена/возможности. Единственный минус - проблема с компилятором. GCC для STM8 почему-то нет, нынешний IAR имеет долбанутую систему регистрации. Остается Cosmic, но он, э-э-э, странноват - например, в стандартной поставке демо-версии нет stdint.h (или я до сих пор не разобрался). Тем не менее, пока мой выбор - STVD + Cosmic. Перешел на эту связку с IAR. Бесплатная версия Cosmic имеет огранчение в 8KB сгенерированного машинного кода, но у того же STM8L051F3P6, например, памяти как раз 8KB. Так что ограничений фактически нет. Еще у них есть какая-то акция про то, чтобы получить бесплатные версии компиляторов для STM8 и STM32 с ограничением поболее, 32 KB, но там уже регистрироваться надо, так что я пока не заморачивался.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
AVR дорог, MSP430 еще дороже, чипы на ARM-ядрах тоже подороже и для простых изделий сильно избыточны.
Насколько??? STM32F030F4P6 дороже на четверть копейки... по сравнению с STM8L051F3P6... а ресурсов больше... и возможностей тоже... А избыточность... чем меряли... китайским мультиметром???
_________________ "Я не даю готовых решений, я заставляю думать!"(С)
Да, похоже по ценам на МК Вы правы - STM8/STM32L0 весьма разумное решение. Однако, если возможности 32-битной архитектуры для простого проекта кажутся избыточными, с вышеупомянутыми может конкурировать силлабовская серия C8051, которые еще дешевле, и их новая серия EFM8. У IAR для них бесплатный компилятор без ограничения кода, как и для CM0 от ST. YS - a не пробовали писать код для STM8 на ASMe? Свой единственный проект я так и сделал, да и IAR не имеет ограничения для проектов на ASMe. Если портирование не нужно, для простых проектов на МК с 8КБ флеша код на АСМе не сложнее чем на С.
Сам я "сижу" на Kinetis серий KL и К2. По цене первые сравнимы с низшими моделями MSP430. Да, они дороже чем STM32, но для меня +/- доллар за МК роли не играет. А что играет роль - так это "нежные и трогательные" отношения с производителем и дистрибъюторами. ST в этом плане для меня сильно позади TI, Freescale/NXP и других. В серии КL имеются модели в 16/24/32-выводных корпусах, как и сейчас у STM32L0. Кстати, в 2016 ST планирует выпуск бюджетной серии STM32G по цене в 1.5 раза ниже чем нынешние STM32L0, именно около 30 центов в куче. У Kinetis весьма разумное оснащение периферией для моих проектов, но они не делают СМ3. Зато у них есть СМ4 модели серии К2 в 32-выводных корпусах с FPU, что для меня также решающий фактор (а судя по мнению ряда разработчиков и не только для меня). Я не знаю изделий других производителей СМ4F в таких корпусах. Может таковые и есть, если знаете - дайте и мне знать. Очень мне нравится СМ3 серия EFM32TG от Energy Micro. Однако, у них чрезвычайно много выводов в 24/32-корпусах для блокировочных конденсаторов в цепи питания. Это единственное, что меня останавливает у них. Да и по цене они несколько дороже чем Kinetis.
В самое последнее время я бросил всё и разбираюсь с PSoC/RSoC от Cypress. Они недешёвые, но мне нужен встроенный BLE блок. По сравнению с Anaren/Broadcom (моя последняя статья здесь) у этих более просто и естественно конфигурировать GATT/GAP уровни стека для реализации стандартных профилей. Следующая моя статья будет про них.
Да, Вы правы. Я имел в виду, что эта бюджетная серия G будет ещё где-то в 1.5 раза дешевле чем нынешняя дешёвая серия F0. По крайней мере так нам объявили на семинаре и я потом с ним разговариал отдельно. Так что, за что купил... Было это где-то в Октябре или Ноябре (не помню) и на то время представитель фирмы не был уполномочен давать какие-либо дополнительные детали по этому (пока) секрету фирмы.
И по поводу Силабса... Ну вот... "Умерла, и умерла!"(С)... Ну не пользуется эта шняга популярностью... да хоть ты тресни... В местном ларьке... даже для приличия... в списке отсутствует напрочь...
Цитата:
Устройства от Silicon Laboratories не пользуются широкой популярностью в любительских кругах, им далеко до таких флагманов, как Atmel. Однако у них есть и вполне доступные простому смертному микроконтроллеры основных линеек в корпусе TQFP
А подобное... ну просто умиляет...
Цитата:
Наиболее тонким местом является то, что библиотека закрыта, и узнать насколько надежным является это решение невозможно, к тому же доступен только BULK режим передачи данных.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения