Здравствуйте! У меня вопрос по прошивке контроллера 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 Уже наверное к дому моему подъезжает, выписал месяц назад. Программу скачал. Загрузчика как я понял нет в контроллере. Как установить загрузчик?
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Никак. Только что написать свой загрузчик. Есть апликуха на эту тему и есть для этого место во флэш 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 режим передачи данных.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения