Iar ewarm. stm32f030f4p6. микроконтроллер отсутствует в списке…

STM32F030F4

The STM32F030x4/x6/x8/xC microcontrollers incorporate the high-performance ARM®Cortex®-M0 32-bit RISC core operating at a 48 MHz frequency, high-speed embedded memories (up to 256 Kbytes of Flash memory and up to 32 Kbytes of SRAM), and an extensive range of enhanced peripherals and I/Os. All devices offer standard communication interfaces (up to two I2Cs, up to two SPIs and up to six USARTs), one 12-bit ADC, seven general-purpose 16-bit timers and an advanced-control PWM timer.

The STM32F030x4/x6/x8/xC microcontrollers operate in the -40 to +85 °C temperature range from a 2.4 to 3.6V power supply. A comprehensive set of power-saving modes allows the design of low-power applications.

The STM32F030x4/x6/x8/xC microcontrollers include devices in four different packages ranging from 20 pins to 64 pins. Depending on the device chosen, different sets of peripherals are included. The description below provides an overview of the complete range of STM32F030x4/x6/x8/xC peripherals proposed.

These features make the STM32F030x4/x6/x8/xC microcontrollers suitable for a wide range of applications such as application control and user interfaces, handheld equipment, A/V receivers and digital TV, PC peripherals, gaming and GPS platforms, industrial applications, PLCs, inverters, printers, scanners, alarm systems, video intercoms, and HVACs.

Key Features

  • Core: ARM®32-bit Cortex®-M0 CPU, frequency up to 48 MHz
  • Memories
    • 16 to 256 Kbytes of Flash memory
    • 4 to 32 Kbytes of SRAM with HW parity
  • CRC calculation unit
  • Reset and power management
    • Digital & I/Os supply: VDD= 2.4 V to 3.6 V
    • Analog supply: VDDA= VDDto 3.6 V
    • Power-on/Power down reset (POR/PDR)
    • Low power modes: Sleep, Stop, Standby
  • Clock management
    • 4 to 32 MHz crystal oscillator
    • 32 kHz oscillator for RTC with calibration
    • Internal 8 MHz RC with x6 PLL option
    • Internal 40 kHz RC oscillator
  • Up to 55 fast I/Os
    • All mappable on external interrupt vectors
    • Up to 55 I/Os with 5V tolerant capability
  • 5-channel DMA controller
  • One 12-bit, 1.0 μs ADC (up to 16 channels)
    • Conversion range: 0 to 3.6 V
    • Separate analog supply: 2.4 V to 3.6 V
  • Calendar RTC with alarm and periodic wakeup from Stop/Standby
  • 11 timers
    • One 16-bit advanced-control timer for six-channel PWM output
    • Up to seven 16-bit timers, with up to four IC/OC, OCN, usable for IR control decoding
    • Independent and system watchdog timers
    • SysTick timer
  • Communication interfaces
    • Up to two I2C interfaces
    • Up to six USARTs supporting master synchronous SPI and modem control; one with auto baud rate detection
    • Up to two SPIs (18 Mbit/s) with 4 to 16 programmable bit frames
  • Serial wire debug (SWD)
  • All packages ECOPACK®2

Источник: https://www.st.com/en/microcontrollers/stm32f030f4.html

Конструктор для взрослых или проектируем плату STM32F030F4P6

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

Последнее время пристрастился к конструированию разных электронных поделок. Это же как конструктор, только для взрослых. При этом есть настолько много разных деталек и деталюшечек, что можно всю оставшуюся жизнь собирать электронные девайсы.

Можно начать с простых мигалок, а можно сделать нечто посложнее.

Недавно из игрушки сделал простого, но вполне самостоятельного робота, а сейчас решил пойти дальше. Отойти от проводков в навеску, да и от Ардуино в том числе, и присмотреться к контроллерам STM32.  Говорят, что это лучше. А чем лучше?  Ну сами посудите, если Ардуино – 8 разрядный контроллер, а STM32 – 32-х разрядный, банально быстрее.

Большое количество программных таймеров и прерываний  компенсируют сложности в программировании.
Да еще если вспомнить, что Ардуино – раскрученный бренд, на котором очень неплохо делают деньги, продавая копеечные детали втридорога, то интересно попробовать собрать самому более или менее сложное устройство не вкладывая в это дело слишком уж много, но это как пойдет.

Но в любом варианте – это хобби, которое должно приносить радость от преодоления трудностей, чем более трудностей, тем интереснее их преодолевать.

Ведь не зря альпинисты карабкаются на высокие и самые недоступные скалы, просто пройтись по ближайшей сопке не интересно.

А какие трудности, если нужно просто вставить один разъемчик в другой? Вот спаять нечто новое, да еще и непростое, много интереснее.

И так, если совсем с нуля изучать, то лучше взять оценочную плату. Их много, с разными контроллерами, которых тоже вариантов предостаточно. Интересно посмотреть самый дешевый и попробовать его на зуб, в смысле приложить к нему паяльник или что там получится получится.

Я поигрался с несколькими оценочными платами  и понял, что они довольно разные. Нужно подбирать под задачу.  Но чтобы разобраться в контроллере, а затем использовать его в разработках нужна оценочная плата. А сделать оценочную плату своими руками – двойное удовольствие.

Миниатюрный корпус STM32F030F4P6, такие паяются либо феном, либо тонким, очень тонким паяльником

Но для начала возьмем самый простой STM32. Самый простой (и самый дешевый) контроллер STM32F030F4P6 в корпусе TSSOP20 – 20 контактов в Чипе-Дипе 75 рублей (о, дайте два!), хотя у китайцев можно найти и дешевле. До скачка доллара вообще 20 рублей стоил.

Корпус только под пайку, причем достаточно мелкую SMD. Поэтому есть в чем потренироваться. Кроме оценки возможностей контроллера здесь можно пробовать во-первых проектирование платы Eagle (он бесплатен).

Опять же проба лазерно-утюжной технологии (ЛУТ) изготовления платы, да и пайка SMD и TSSOP20 после обычных деталей чувствуешь себя Левшой, которому нужно подковать блоху.

Начинаем с проекта. Я уже столкнулся с тем, что контроллеры STM32 все разные. У одного есть одни возможности у другого-другие. Поэтому для конкретного устройства нужен конкретный контроллер.

К примеру, в  STM32F030F4P6 есть часы реального времени, но в корпусе TSSOP20 нет выводов под часовой кварц 32768 , хотя можно подключить кварц на 8 Мгц. Как будут работать часы от этого кварца? Нужно пробовать.

И будут ли вообще работать эти китайские кварцы…

Это будет небольшая плата типа Maple Mini , которая кстати, 450 рублей – сравнима или даже дешевле многих Ардуинок. И  к тому же довольно компактна, но у меня будет совсем простая, ни пользовательских кнопок, ни светодиодов, для первого раза мне и этого вполне достаточно. Хотя один светодиод все-таки будет. Непосредственно на питание.

Питание от USB разъема, поскольку контроллер питается 3.3V, то нужно ставить стабилизатор, закуплен MC33269DT-3.3G, долго крутил его на плате – размер великоват для маленькой игрушки, да и нет необходимости в 800 мА питания как заявлено,  поэтому решил воспользоваться  LP2985AIM5-3.3.

Миниатюрный, но и держит всего 150мА, хотя для контроллера и тестов должно хватить.

схема платки для STM32F030F4P6, простейшая, стабилизатор, питание от USB и кварц (нажать для увеличения)

У этого контроллера нет поддержки USB, поэтому заливать прошивку его придется через программатор, для которого предусмотреть отдельные выводы сверху. И следовательно. к USB можно подключить только питание.

Большинство контактов контроллера будут выходить на гребенку. Сделаем практически стандартную широкую на 24 контакта, некоторые будут незадействованы, но это ничего.

 Единственное, к питанию нужны конденсаторы, тоже SMD для компактности, хотя они даже для SMD не такие компактные, как хотелось бы. Согласно схеме тут нужно довольно много, вот поэтому и не влезал большой стабилизатор, а увеличивать платку не хотелось.

Как соберу, так посмотрим на сколько маленький стабилизатор будет хорошо работать.

Плата Eagle для STM32

Помня, что контроллеры очень чувствительны к помехам, постарался землю самого контроллера вести прямо от USB, а остальное уже по широкой земле на обратной стороне платы.

Земля очень широкая, обходит плату с двух сторон, только посередине пришлось воткнуть конденсаторы питания. Сверху они не помещались. Вот схема и плата.

Плата сделана под ЛУТ, постарался везде, где только можно поставить широкие дорожки, но на контроллер все равно 0.3 мм, посмотрим, как будет переводится утюгом.  Файл для Eagle можно скачать тут

Уже после распайки выяснилось, что один проводок забыл развести. Это соединение 3-1 вывод на стабилизаторе. Поскольку стабилизатор с выключателем, то либо нужно было ставить выключатель, либо коротить на питание.

  Ножки разъема Jtag нужно было бы сделать подряд, а получилось так, что простым шлейфом на четыре ноги не подключить, нужно переставлять проводки.

Благо у меня есть шлейф, где проводки отдельные и их можно коммутировать как угодно.

Кварц завелся нормально, только поставил резистор между ним и контроллером 1Ком. Согласно рекомендациям Oscillator design guide  для STM32 нужен не всегда, но позволяет устранить возможный паразитный запуск на гармониках.

Номинал рассчитывается по формуле из того же гайда:

R = 1/(2*3.14*F*C)

где F – частота кварца в герцах С- емкость нагрузочного конденсатора, подставляем F – 8Мгц (восемь миллионов герц) С-18Пф и получаем 1.1 КОм. Я поставил 1 КОм.

Продолжение как эта плата паялась, и какие ошибки в дизайне затруднили пайку, можно почитать здесь>>

Вот что получилось из платы для STM32F030F4P6 непосредственно для печати

Источник: http://journal.caseclub.ru/2015/12/05/plata-stm32f030f4p6/

Микроконтроллеры STM32F030

Также как и другие производители, STM озабочена все еще высокой популярностью 8-ми разрядных микроконтроллеров. Хотя на замену уже предлагается множество вариантов систем, разработчики выдают все новые модели.

Одним из таких проектов стала серия микроконтроллеров STM32F03x. Она пришла на замену STM32F05x и во многих публикациях уже получила громкое имя вроде «Убийцы AVRок».

Тем не менее, при детальном рассмотрении не все так безоблачно, как того хотят рекламные заявления.

Производитель позиционирует микроконтроллеры STM32F03x как микросхемы начального уровня. При этом по многим возможностям эти устройства могут конкурировать и с другими, более серьезными моделями. В частности их производительность составляет 38 DMIPS, что превышает показатели STM32L1 равные 33 DMIPS.

Микроконтроллеры построены вокруг ядра серии Cortex-M0, способного работать на частоте 48МГц. Объем памяти варьируется в зависимости от модели, в диапазоне от 16кБ для Flash памяти и 4кБ RAM, до 64кБ Flash и 8 кБ RAM соответственно. Внутренняя структура повторяет традиционную схему STM32.

Благодаря этому достигается высокая преемственность моделей и упрощается переход с одной серии на другую. Набор периферийных устройств также традиционен: порты ввода вывода, разнообразные таймеры, 12-битный АЦП, встроенный генератор тактового сигнала, часы реального времени, интерфейсы SPI, I2C, USART.

 Особых новшеств по сравнению с другими микроконтроллерами от STM не наблюдается. Тем не менее, высокая производительность и широкий набор периферийных устройств делают эти микросхемы привлекательной заменой 8-ми разрядных моделей. Этому же способствует и предельно низкая стоимость. Производителем заявлена цена в 0.32$.

Естественно, что в рознице она будет выше, тем не менее, величина вполне сопоставима, а в некоторых случаях и лучше цены 8-ми разрядных процессоров.

Модель Flash(Кб) RAM(Кб) Корпус Таймеры АЦП ЛинииВвода/вывода Интерфейсы
SPI I2C USART
STM32F030F4 16 4 TSSOP20 4х16-бит 1х12-бит 15 1 1 1
STM32F030C6 32 4 LQFP48 4х16-бит 1х12-бит 39 1 1 1
STM32F030K6 32 4 LQFP32 4х16-бит 1х12-бит 26 1 1 1
STM32F030C8 64 8 LQFP48 6х16-бит 1х12-бит 39 2 2 2
STM32F030R8 64 8 LQFP64 6х16-бит 1х12-бит 55 2 2 2

Напряжение питания процессоров лежит в диапазоне от 2.4 до 3.6В. Потребляемый ток зависит от режима работы. В спящем режиме он заявлен на уровне 3.4мкА, в рабочем составляет 250мкА на МГц. Следует учитывать, что потребляемый ток также зависти от количества используемых модулей микроконтроллера и приведенные цифры скорее ориентировочны.

Расположение выводов stm32f030

Главным новшеством стало появление в серии STM32F0хх корпуса типа TSSOP-20. Хотя его размеры меньше серий SO и тем более DIP, он более пригоден для ручной пайки, что может обеспечить дополнительную популярность среди любителей. К сожалению, процессор STM32F030F4, несколько обрезан по сравнению с основной серией.

В частности это касается одного из самых интересных блоков – часов реального времени (RTC).

Наличие этого устройства изначально выделяло микроконтроллеры STM32 из ряда других систем, позволяло не использовать дополнительные микросхемы, а также давало возможность реализовывать несколько интересных алгоритмов, связанных с часами.

В рассматриваемом процессоре блок RTC также есть, но отсутствуют линии подключения внешнего резонатора и питания часов от резервной батареи. Если с первой проблемой еще как-то можно справиться, переключив источник частоты на основной генератор, то при пропадании питания часы работать перестанут.

Как было сказано выше, особых новшеств в серии не представлено. С одной стороны хотелось бы увидеть что-то наподобие полного ремаппинга портов, как в LPC810, с другой  полная преемственность с другими, в том числе и более мощными, моделями.

Это дает микроконтроллерам большое преимущество при их освоении. Переход с одной серии STM32 на другую особых проблем не представляет, так как все устройства имеют идентичную структуру. Некоторые отличия в аппаратной части можно считать незначительными.

Для быстрого старта производитель традиционно предлагает дешевые отладочные платы серии Discovery. Новинкой стала плата Nucleo, объединившая в себе идеологию Discovery, форм-фактор Arduino и программирование mBed.

К сожалению, (возможно пока) данная плата не поддерживает среду разработки Arduino IDE, что,  скорее всего, сделало бы ее новым хитом.

Если подвести итог, то серия STM32F03x представляет собой упрощенный и предельно удешевленный вариант микроконтроллеров STM32.

Попытка использовать новый корпус конечно хороша, но ее реализация далека от удачной.

В итоге использовать данные микроконтроллеры логично только в приложениях, критичных к цене, что кстати, и рекомендует производитель. Пока полноценного «убийцы» 8-ми разрядных систем у STM не получилось.

You have no rights to post comments

Источник: https://mcucpu.ru/index.php/ucontrollers/mcu/167-mikrokontrollery-stm32f030

Отладочная система IAR STM3210E-SK/IAR

STM3210E-SK/IAR – отладочная система на базе мощного Cortex-M3 микроконтроллера STM32F103ZE фирмы STMicroelectronics. В качестве среды разработки предлагается IAR EWARM с полным доступом ко всем ресурсам микроконтроллера, включая отладку и программирование. Интегрированный JTAG-эмулятор J-LINK.

Отличительные особенности:

  • установленный микроконтроллер STM32F103ZET6: 72 МГц Cortex-M3, 512 кБ Flash памяти программ, 64 кБ SRAM, 12-разрядный 21-канальныйх АЦП, 8 16-разрядных таймеров, USB, CAN, 5xUSART, 3xSPI, 2xI2S, 112 I/O, LQFP144;
  • интегрированный отладчик J-LINK с USB-интерфейсом;
  • разъемы для подключения внешнего JTAG-эмулятора и трассировщика;
  • разъем UEXT для подключения плат расширения OLIMEX;
  • схема управления шаговым двигателем L298P;
  • шаговый двигатель;
  • цветной TFT-дисплей 128х128;
  • USB-интерфейс микроконтроллера;
  • два порта RS-232;
  • CAN-интерфейс;
  • посадочные места для дочерних модулей функционального расширения;
  • периферия пользователя: 2 кнопки, 4 светодиода, выход на наушники, зуммер, джойстик, потенциометр, макетное поле с шинами питания;
  • стабилизатор напряжения.

Основные параметры

Параметр Значение
Интерфейс подключения USB / ARM-JTAG / J-LINK
Ядро базового компонента Cortex-M3
Разрядность, бит 32
Базовый компонент STM32F103ZET6
Вспомогательный компонент STM32F103C8T ST3232 LIS3LV02DL STCN75DS L298P SN65HVD230 LD1085D2M TS4871IDCS4344-CZZ

Комплектация:

  1. отладочная плата с интегрированным USB-JTAG-отладчиком,
  2. USB-кабель,
  3. диск с программным обеспечением EWARM KickStart, техническими описаниями и демонстрационными кодами.

Принципиальная схема отладочной платы

iar.com

Варианты написания:

KSKSTM32F103ZE, STM3210ESK/IAR, KSK STM32F103ZE, STM3210E SK/IAR, KSK-STM32F103ZE STM3210E-SK/IAR, KSK-STM32F103ZE STM3210E-SK/IAR

Терраэлектроника

На английском языке: Development kit IAR KSK-STM32F103ZE

Источник: https://www.rlocman.ru/op/tovar.html?di=65565&/KSK-STM32F103ZE

Установка IAR

 

Мы продолжаем изучение программирования микроконтроллеров STM32.
 

 
Прежде всего познакомимся с фирмой производителем — ST Microelectronics.

Переходим в раздел Products -> Microcontrollers. Выбираем вкладку STM32 ARM Cortex.

Фирма ST производит микроконтроллеры STM32 в трех основных сегментах:

  • Ультранизкопотребляющие
  • Общего назначения
  • Высокопроизводительные.

На данной схеме указано соответствие названия микроконтроллера и ядра ARM Cortex, примененного в нем.

Микроконтроллер STM32F303VCT6, с которым нам предстоит познакомиться поближе, стоит в самой середине указанной схемы и может работать на тактовой частоте до 72 МГц. Производительность микроконтроллера оценена в 90 миллионов операций в секунду.

На страницах с описанием микроконтроллеров каждого семейства обозначены основные периферийные модули, а также приведены базовые линейки микроконтроллеров этого семейства.

Зайдем на страницу линейки STM32F303 и посмотрим на позиционирование микроконтроллеров в зависимости от объема Flash-памяти программ и корпусного исполнения.

Микроконтроллер STM32F303VC обладает объемом Flash памяти 256 килобайт и конструктивно выполнен в 100-выводном корпусе. На отладочной плате установлен корпус LQFP.

На странице микроконтроллера имеется обзорная документация на соответствующий микроконтроллер – так называемый Data Sheet.

Скачиваем его.

Здесь приведены основные технические характеристики микроконтроллера, его внутренняя структура, цоколевка или назначение выводов корпуса микроконтроллера, а также особенности подключения и использования периферийных модулей. К сожалению, вся документация – на чистейшем английском языке.

Кроме того, нам может потребоваться руководство по использованию микроконтроллера – Reference Manual, которое, как правило, является общим для всего семейства микроконтроллеров.

Здесь уже содержится более 1000 страниц с описанием различных режимов работы периферийных модулей и настройки служебных регистров для их использования.

Из документов нам еще понадобится документация на саму отладочную плату Discovery. Найти ее можно по этой ссылке. И скачиваем на эту плату руководство пользователя – User Manual, где в конце приводится принципиальная схема, содержащая все подключения элементов на плате.

Для установки средств разработки выбираем вкладку STM32 Software Development Tools.
При выборе средств разработки мы остановимся на программном пакете IAR. Переходим на сайт IAR. Проходим по ссылке Tools for ARM. Раскрываем меню Download a free trial и
загружаем программу.

Пакет IAR может использоваться в двух режимах – это

  • режим 30-дневной полнофункциональной версии
  • режим с ограничением по объему компилируемого кода.

Для STM32 это 32 килобайта кода (из имеющихся 256 килобайт Flash-памяти). Но для учебных задач вполне достаточно, поэтому будем использовать именно этот вариант. Запускаем скачанный архив и переходим в раздел Install IAR Embedded Workbench.

Программа IAR начинает свою установку. Принимаем лицензионное соглашение и указываем папку, куда будет установлена среда разработки. Можно оставить по умолчанию. Дальше нам предлагается выбрать драйвера USB-устройств, которые нам понадобятся.

Поскольку мы будем пользоваться программатором ST-link, я рекомендую убрать остальные драйвера, что немного ускорит процесс установки. Далее идет предупреждение о создании соответствующей папки в Program Files. И переходим к установке. Ждем пока установщик скопирует все требуемые файлы. Dongle-драйвер можно не ставить.

Далее нам предлагается установить STlink USB драйвер. Запускается мастер установки, нажимаем «Далее», и копируются файлы драйвера.

Устанавливаем программное обеспечение для STM микроконтроллеров, и на этом программа IAR завершает свою установку. Теперь устанавливаем лицензионную информацию. Запускаем IAR License Manager, и нам предлагается ввести лицензионный ключ. Для этого необходимо зарегистрировать продукт на сайте IAR Systems. Если Вы уже имеете лицензионный ключ, можете ввести его.

Если нет, переходим на сайт. Регистрация бесплатная. И нажимаем кнопку Register. В соответствующей форме вводим тип лицензии – code size limited и заполняем обязательные поля. E-mail необходимо указать корректно, поскольку туда придет подтверждающее письмо.

Также требуется указать отрасль, в которой будет применяться среда разработки IAR и указать производителя микроконтроллеров, для которых мы планируем применять эту среду – ST Microelectronics. Отвечаем на несколько вопросов и подтверждаем регистрацию. Получаем соответствующее письмо подтверждения на указанный адрес электронной почты.

Проходим по указанной ссылке и получаем лицензионный номер. Этот номер нужно ввести в окне регистрации. В окне регистрации нажимаем «Далее» … и подтверждаем лицензионный ключ.

Лицензия успешно активирована, программа IAR готова к работе. Можем запустить IAR Systems. Выбираем язык интерфейса и видим окно среды разработки.Слева – рабочая область проекта.

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

Назад: Программирование STM32

Источник: https://prog-cpp.ru/stm32-iar/

STM32F030F4P6

Целевое напряжение, В 3.3 / 5.0
Напряжение питания, В 5.0
Источник питания внешний / USB
STM32F030F4P6 [Nov. 27th, 2013|02:17 am]alex_avr
Аукцион невиданной щедрости продолжается.STM32F030F4P6 продается в терре в розницу по 19р(по состоянию на декабрь 2014 года продается гораздо дороже, как впрочем и все остальное в этом испортившемся магазине 🙁 ). Корпус TSSOP-20, размер 6.5х6.5 мм – это всего на 1 мм больше в ширину/длину чем соик-8.[Характеристики]Ядро: ARM Cortex-M0, 32-битМаксимальная частота ядра: 48 МГцFlash-память: 16 КБайтRAM-память: 4 КБайтКол-во каналов АЦП: 11Разрядность АЦП: 12 битСкорость АЦП: 1 МГцТаймеров: 16 бит – 5 шт, 24 бит(в ядре) – 1 шт. Часы реального времени: 1UART: 1SPI: 1I2C: 1Выводов общего назначения: 15Напряжение питания: 2…3.6 ВИ еще всякие DMA, CRC и прочее.У самого на столе 15 шт валяется, надо бы еще закупить пока дают :)При такой цене – этот мк выгодно ставить практически в любые устройства, вплоть до мигалки светодиодиком, если конечно это не серия в миллион штук.
Ссылка на основную публикацию
Adblock
detector
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}
");let k=document.querySelector(".flat_pm_modal[data-id-modal=\""+a.ID+"\"]");if(-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(k,d):jQuery(k).html(b+d),"px"==a.how.popup.px_s)e.bind(h,()=>{e.scrollTop()>a.how.popup.after&&(e.unbind(h),f.unbind(i),j())}),void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{e.unbind(h),f.unbind(i),j()});else{let b=setTimeout(()=>{f.unbind(i),j()},1e3*a.how.popup.after);void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{clearTimeout(b),f.unbind(i),j()})}f.on("click",".flat_pm_modal .flat_pm_crs",()=>{jQuery.arcticmodal("close")})}if(void 0!==a.how.outgoing){let b,c="0"==a.how.outgoing.indent?"":" style=\"bottom:"+a.how.outgoing.indent+"px\"",e="true"==a.how.outgoing.cross?"":"",f=jQuery(window),g="scroll.out"+a.ID,h=void 0===flatPM_getCookie("flat_out_"+a.ID+"_mb")||"false"!=flatPM_getCookie("flat_out_"+a.ID+"_mb"),i=document.createElement("div"),j=jQuery("body"),k=()=>{void 0!==a.how.outgoing.cookie&&"false"==a.how.outgoing.cookie&&h&&(jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show"),j.on("click",".flat_pm_out[data-id-out=\""+a.ID+"\"] .flat_pm_crs",function(){flatPM_setCookie("flat_out_"+a.ID+"_mb",!1)})),(void 0===a.how.outgoing.cookie||"false"!=a.how.outgoing.cookie)&&jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show")};switch(a.how.outgoing.whence){case"1":b="top";break;case"2":b="bottom";break;case"3":b="left";break;case"4":b="right";}jQuery("body > *").eq(0).before("
"+e+"
");let m=document.querySelector(".flat_pm_out[data-id-out=\""+a.ID+"\"]");-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(m,d):jQuery(m).html(e+d),"px"==a.how.outgoing.px_s?f.bind(g,()=>{f.scrollTop()>a.how.outgoing.after&&(f.unbind(g),k())}):setTimeout(()=>{k()},1e3*a.how.outgoing.after),j.on("click",".flat_pm_out .flat_pm_crs",function(){jQuery(this).parent().removeClass("show").addClass("closed")})}countMode&&(flat_count["block_"+a.ID]={},flat_count["block_"+a.ID].count=1,flat_count["block_"+a.ID].click=0,flat_count["block_"+a.ID].id=a.ID)}catch(a){console.warn(a)}}function flatPM_start(){let a=flat_pm_arr.length;if(0==a)return flat_pm_arr=[],void jQuery(".flat_pm_start, .flat_pm_end").remove();flat_body=flat_body||jQuery("body"),!flat_counter&&countMode&&(flat_counter=!0,flat_body.on("click","[data-flat-id]",function(){let a=jQuery(this),b=a.attr("data-flat-id");flat_count["block_"+b].click++}),flat_body.on("mouseenter","[data-flat-id] iframe",function(){let a=jQuery(this),b=a.closest("[data-flat-id]").attr("data-flat-id");flat_iframe=b}).on("mouseleave","[data-flat-id] iframe",function(){flat_iframe=-1}),jQuery(window).on("beforeunload",()=>{jQuery.isEmptyObject(flat_count)||jQuery.ajax({async:!1,type:"POST",url:ajaxUrlFlatPM,dataType:"json",data:{action:"flat_pm_ajax",data_me:{method:"flat_pm_block_counter",arr:flat_count}}})}).on("blur",()=>{-1!=flat_iframe&&flat_count["block_"+flat_iframe].click++})),flat_userVars.init();for(let b=0;bflat_userVars.textlen||void 0!==a.chapter_sub&&a.chapter_subflat_userVars.titlelen||void 0!==a.title_sub&&a.title_subc&&cc&&c>d&&(b=flatPM_addDays(b,-1)),b>e||cd||c-1!=flat_userVars.referer.indexOf(a))||void 0!==a.referer.referer_disabled&&-1!=a.referer.referer_disabled.findIndex(a=>-1!=flat_userVars.referer.indexOf(a)))&&(c=!0),c||void 0===a.browser||(void 0===a.browser.browser_enabled||-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser))&&(void 0===a.browser.browser_disabled||-1==a.browser.browser_disabled.indexOf(flat_userVars.browser)))){if(c&&void 0!==a.browser&&void 0!==a.browser.browser_enabled&&-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser)&&(c=!1),!c&&(void 0!==a.geo||void 0!==a.role)&&(""==flat_userVars.ccode||""==flat_userVars.country||""==flat_userVars.city||""==flat_userVars.role)){flat_pm_then.push(a),flatPM_setWrap(a),flat_body.hasClass("flat_pm_block_geo_role")||(flat_body.addClass("flat_pm_block_geo_role"),flatPM_ajax("flat_pm_block_geo_role")),c=!0}c||(flatPM_setWrap(a),flatPM_next(a))}}}let b=jQuery(".flatPM_sticky");b.each(function(){let a=jQuery(this),b=a.data("height")||350,c=a.data("top");a.wrap("
");let d=a.parent()[0];flatPM_sticky(this,d,c)}),debugMode||countMode||jQuery("[data-flat-id]:not([data-id-out]):not([data-id-modal])").contents().unwrap(),flat_pm_arr=[],jQuery(".flat_pm_start, .flat_pm_end").remove()}
Comments:
From: dominikanez2013-11-26 10:56 pm (UTC) (Link)

Алекс, если они тебе за это не платят, то стоило бы!))
Закуплю десяток-другой.

From: alex_avr22013-11-27 02:23 am (UTC) (Link)

Увы 🙂

From: gray_bird2013-11-27 12:52 am (UTC) (Link)

Как при наличии подобных вариантов не загнулась окончательно аналоговая схемотехника – непонятно.

From: eddy_em2013-11-27 01:08 am (UTC) (Link)

Говорят, что это рекламная уловка STM: выбросить на рынок кучу мегадешевых микроконтроллеров, “подсадить” разработчиков на эту “иглу”, а потом взвинтить цены.

// а еще я поражаюсь, каким образом китайцы работают: ну никак не могу понять, почему у них всякие сборки-макетки-готовые изделия выходят по стоимости ниже суммарной себестоимости элементной базы (даже если оптом ее брать) + доставки (недавно получал одну фиговину, купил за 2 бакса, на посылке в графе “стоимость доставки” было указано 8 баксов — чудеса в решете!).

From: nicka_startcev2013-11-27 01:31 pm (UTC) (Link)

>а потом взвинтить цены.да даже взвинчивать необязательно.разаработка и запуск производства стоят стопицот, площадь кристалла нифига, тиражирование стоит нифига. Итого, если размазать стоимость разработки не на 10шт (как у военных) и не на стотыщ (как у интела) а на мильярд, то оно окупится со свистом даже при околонулевой цене.>даже если оптом ее братьоптовики тоже накручивают будь здоров. У того же элитана (посредника) цена на одну и ту же хрень от разных посредников отличается в 1-7-50 раз в зависимости от тиража и поставщика.

доставка – да, это мистика. с китая-ебая иногда трехбаксовую хрень везут бесплатно, а от других жлобов за 100 баксовый набор микросхем хотят еще сто за доставку.

From: eddy_em2013-11-27 02:26 pm (UTC) (Link)

Вполне возможно, что и не взвинтят. Надеюсь. Очень уж мне эти МКшки понравились. Еще бы 64-х и 128-битные сделали бы (в смысле – микроконтроллеры, а не полноценные процессоры).

То-то и оно, по поводу доставки: от китайцев и полуторакилограммовые посылки бесплатно приходят! А “почта России” за 1.5кг просит какие-то несусветные суммы.

From: alex_avr22013-11-27 02:27 pm (UTC) (Link)

Стесняюсь спросить, зачем вам 128-ми битный микроконтроллер.

From: eddy_em2013-11-27 02:36 pm (UTC) (Link)

“На всякий пожарный” ☺
А вообще, было бы неплохо запихнуть мощную вычислялку в коробочку размером с сигаретную пачку, да еще и с пассивным охлаждением. А не городить огроменный корпус с десятком кулеров и парой-тройкой видеокарт ☺

From: nicka_startcev2013-11-27 02:44 pm (UTC) (Link)

почта россии – это вообще эталон дурного управления.И в пересчете на штуки, и на километры, и на килограммы, наша почта и медленнее и дороже и человекоёмче чем почты Германии, Мексики и Канады. (пруф сходу не найду, но сравнение и с большими и с разгильдяйскими странами таки весьма показывает именно организационно-управленческие проблемы) По уму, нашей почте нужно 1. избавиться от непрофильных занятий типа выдачи пенсий и приема квартплат2. разработать вменяемые алгоритмы работы с мелкими оптовиками, чтоб им не стоять в общей розничной очереди (завел аккаунт, положил на него бабло, получил пачку трекинг-номеров. сам упаковал, зашел на сайт, ввел куда-откуда, распечатал готовый и заведомо правильный формуляр, сам сдал в пункт приёма буквально за 10с на посылку, почта сама прочекала штрихкоды, списала сумму с счета)3. резко снизить цены4. таки допилить до ума свои опердени, чтоб операционисту не надо было вбивать стопицот букав руками при выдаче5. возможно, поставить почтовые автоматы (и ввести соответствующие подзаконы) чтоб половину работы почтальона отправитель делал сам. Возможно, упростить почтовые тарифы чуть ли не до “вот стандартный ряд коробок, 100,300мл,1,3,10,30л. цена отправления внутри страны зависит только от типоразмера. вес в каждом типоразмере ограничен в 100,300г, 1,3,6,18 кг”

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

From: alex_avr22013-11-27 02:47 pm (UTC) (Link)

Источник: https://alex-avr2.livejournal.com/140621.html

Alex_EXE

Начинать применять новую детальку в своей практике без ознакомления с ней в живую — рискованно, для таких целей существую различные специальные помощники: отладочные и демонстрационные платы. Для ознакомлением с одним интересным контроллером из семейства STM32 — STM32F030F4P6 была разработана специальная отладочная платка.

Отладочные платы stm32f030f4p6 и stm8s103f2p6

Если быть точнее — то это скорее не отладочная плата, а плата переходник, с дополнительно разведенным разъёмом для подключения программатора, парой перемычек для базовой необходимой настройки периферии контроллера и ещё нескольких деталей в её обвязке. За одно, впрок, была изготовлена подобная отладочная плата для STM8S103F2P6.

Чем интересен микроконтроллер STM32F030F4P6 — это самый маленький, если смотреть со стороны количества выводов (т.к.

если смотреть по размеру — в семействе есть ещё и QFN корпуса), их всего 20, и самый удобно паяемый в семействе контроллер — он единственный выпускается в корпусе tssop20 (на самом деле есть и другие, но они похожи и их невидно у нас в продаже). Правда у tssop20 шаг всего 0.

5мм, так что опыт изготовления плат и пайки всё равно будет необходим. Ещё одним бонусом будет — он самый дешевый в серии, около полу бакса за штуку, правда это при оптовой закупки, в розницу он стоит 0,74$ или 46р (цены актуальны на начало марта 2015 года).

По STM8S103F2P6 — он тоже выбран в корпусе tssop20, только в отличие от его старшего собрата у него меньше обвязки. Более нечего не скажу, платы разводил в сентябре прошлого года и почему выбрал его уже не помню. Но с 8 серией у меня пока не складывается, задач и проектов на их основе пока нет, а у самого пока руки не доходят.

Схема отладки stm32f030f4p6

Отладочная плата с 32-х разрядным контроллером stm32f030f4p6 на борту. На плате имеется разъем для подключения программатора и 2 перемычки для конфигурации контролера, и необходимый минимальный обвяз.

Первая перемычка отвечает за способ прошивки контроллера: когда линия boot0 контроллера подтянута к земле, то контроллер прошивается программатором через SWD разъём; когда линия подтянута к плюсу питания, то контроллер можно прошивать через встроенный UART загрузчик (по умолчанию все контроллеры его имеют) через выводы PA14/PA15 или PA9/PA10.

Вторая перемычка позволяет подать плюс питания на вход питания аналоговой части контроллера (VDDA). Питание обоих плат и установленных на них микроконтроллеров 3.3В.

Схема отладки stm8s103f2p6

Печатки stm32f030f4p6 и stm8s103f2p6

Обе платы в основе себя содержат микроконтроллер в корпусе tssop20, в первом случае — это STM32F030F4P6, во втором — STM8S103F2P6. Платы получись компактными 19х31мм в первом случае и 19х29мм во втором. Все выводы микроконтроллеров разведены на 2 стандартные гребенки по краям PLS10, с шагом 2.54мм.

В итоге платы имеют формат DIP корпусов, что удобно при макетировании на безпаячных макетных платах. Первая плата имеет SWD разъём для подключения программатора, выполненного из PLS5, вторая плата содержит разъём SWIM предназначенных для тех же нужд, выполненного на PLS4.

На плате с 32-х битным контроллером так же содержаться 2 перемычки, выполненные из разъёмов PLS3 и PLS2. Обращаю внимания, что все разъёмы для программаторов и перемычки припаяны с лицевой стороны, т.к. платы односторонние.

Обе платы по входу питания содержат блокировочные конденсаторы ёмкостью 0,1мкФ, на первой плате он имеет типоразмер 1206, на второй плате 0603.

Так же на обоих платах содержатся по одному резистору на 10кОм типоразмеров 0603 для подтяжки линии reset и по конденсатору на этой же линии на 0,1 мкФ типоразмеров 0603. На второй плате установлен конденсатор для линии Vcap емкостью 1мкФ типоразмера 0603. Обе платы имеют по одной-две проводной перемычки.

Отладочные платы stm32f030f4p6 и stm8s103f2p6

На фотографиях на обоих платах полностью не установлена обвязка линий reset и на плате с stm8 есть ошибка, одна дорожка снизу не на своём месте, в печатке эта ошибка исправлена.

По опыту использования отладочной платы STM32F030F4P6. Она пригодилась только для «Hello World» и для ознакомления с АЦП контроллера. После чего контролер понравился и начал сразу применяться.

Контроллер понравился тем, что в первую очередь — это 32 разрядный АРМ контроллер с полным фаршем, а во вторую, он миниатюрный и содержит немного выводов, из-за чего его удобно применять в небольших проектах.

Скачать печатки

Источник: https://alex-exe.ru/radio/stm32/debug-board-stm32f030f4p6-stm8s103f2p6/

Использование среды разработки IAR Ebedded Workbench IDE

Используя разные микроконтроллеры, возникает необходимость выбрать удобную среду разработки. Нам есть из чего выбирать – будь то IAR или Keil µVision, или, даже Code Composer Studio. Ниже пойдет речь об IAR Embedded Workbench IDE на примере STM32F10x. Эта среда разработки достаточно мощная. Имеются всякие вкусняшки.

Настройка IAR

В первую очередь нужно настроить IAR.

Основные настройки

После запуска IAR заходим в опции (Tools->Options…). Сразу же будет выбран пункт Editor. В поле Ident size число указывает на количество пробелов при нажатии Tab. Для меня удобно использовать число 4.
Стоит уделить внимание пункту Key Bindings.

Здесь можно назначить горячие клавиши. Согласитесь, все-таки, удобно и быстро пользоваться комбинациями клавиш. Пока что, можно назначить комбинацию Ctrl+W как закрытие активных вкладок. Для этого в Menu выбираем Window и для команды Close active tab назначаем Ctrl+W.

С остальными горячими клавишами познакомимся ниже.

Настройки проекта

Допустим, создавать новый проект мы умеем (если нет, то Project->Create New Project…). После создания проекта нам доступны две конфигурации проекта – Debug и Release. Переключаться между ними можно в окне Workspace:

Рис.

1 – Окно Workspace

Удобно использовать несколько конфигураций. В конфигурации Debug можно выбрать симулятор программатора, а в Release – конкретный программатор (к примеру, J-Link).

Что позволит сначала отлаживать в симуляторе, не теряя время на прошивку микроконтроллера, а потом уже прошивать под конфигурацией Release.

Добавлять новые конфигурации можно через меню: Project->Edit Configurations.
Опции самого проекта – Project->Options… (Alt+F7). Для открытия окна опций проекта нужно выделить сам проект в окне Workspace, иначе откроются опции того файла, который был выделен.
Настройки буду приводить для конфигурации Debug (в скобках – для Release).
Открываем опции (Alt+F7)

  1. General Options.
    Вкладка Target. Выбираем Device – например, ST STM32F100xB (у меня STM32VLDISCOVERY с STM32F100RBT6 на борту).
  2. С/C++ Compiler.
    Вкладка Optimizations. Выбираем LevelNone (для ReleaseHigh).
    Вкладка Preprocessor. В поле Additional include directories вводим все пути заголовочных файлов, имеющих расширение *.h. Например:
    $PROJ_DIR$..Libinclude
    Остальные переменные, на подобии $PROJ_DIR$, можете посмотреть в хелпе по F1, введя в поиске Argument variables.
    В этой же вкладке, в поле Defined symbols вписываем нужные дефайны. Это аналог обычной директивы #define. Для нашей отладочной платки нужно ввести STM32F10X_MD_VL, если мы хотим использовать библиотеки от криворуких STM’овцев.
    Так же для конфигурации Debug можно завести дефайн DEBUG. Это удобно, если использовать, к примеру, конструкцию:
    #ifndef DEBUG Delay(100 часов);

    #endif

    Зачем же нам ждать это время при отладке, правда же?

  3. Linker.
    Вкладка Config. Здесь можно выбрать конфигурационный файл для линковщика, если это необходимо (если у вас не 8-ми битный микроконтроллер). Если необходимо перераспределить память микроконтроллера по-своему, то нужно ковырять файл *.icf. Об этом можно прочитать в Help->C/C++ Development Guide страница 81 Linking your application. Если эта тема сложная, то можно написать об этом отдельно. Спрашивайте, если что.
  4. Debugger.
    Вкладка Setup. В поле Driver выбираем Simulator (для Release – свой программатор. Для моей платы – ST-LINK. В настройках для него нужно выбрать интерфейс SWD).

    Рис. 2 – Дерево проекта И, напоследок, создайте дерево проекта на ваш вкус.

Некоторые приемы

Горячие клавиши

Поиск:

Обычный поиск – Ctrl+F
Найти дальше – F3
Поиск по файлам проекта – Ctrl+Shift+F
Шагать по найденному (или по ошибкам/ворнингам) – F4

Навигация по проекту:

Перейти к объявлению переменной (даже, если она в другом файле) – F12 — очень полезная функция!
Навигация вперед – Alt+Right
Навигация назад – Alt+Left

Разное:

Открыть header/source – Ctrl+Shift+H (или П.К.

М в редакторе, и в контекстном меню выбрать Open Header/Source File)
Закомментировать выделенный блок – Ctrl+K
Разкомментировать – Ctrl+Shift+K
Выделить содержимое скобок – Ctrl+B
Автовыравнивание – Ctrl+T
Поставить/убрать Breakpoint – F9
Вставить шаблон – Ctrl+Shift+Space – тоже интересная штука.

Чтобы добавить свой шаблон, нужно открыть файл CodeTemplates.ENU.txt через меню Edit->Code Templates->Edit Templates

Теперь можно ввести примерно следующее:#TEMPLATE “&Warning”,”Введите текст:”=”Не забыть изменить”
#warning %1
Синтаксис шаблона:

#TEMPLATE ,[=default value], … Знак «&» нужен для быстрого доступа (буква будет подчеркнута). Можно использовать знак «>» для создания подменю. Все интуитивно понятно.

Сохраним файл и вызовем Template menu (Ctrl+Shift+Space). В нем выберем Warning:

Рис. 3 – Вызов меню Template Введем необходимый текст:
Рис. 4 – Шаблон Warning Жмякаем по кнопке OK. В результате, появится строчка:
Рис. 5 – Результат использования шаблона

При компиляции все ворнинги и ерроры (#error ) будут выводиться в окне Build.

Заключение

В этой статье были приведены основные возможности IAR, позволяющие достаточно быстро ориентироваться в проекте. Рекомендую использовать горячие клавиши. Это значительно сокращает время работы над проектом. Буду признателен, если читатель дополнит или поправит меня.

Используемая литература

Источник: https://habr.com/post/152407/

Использование примеров для STM32F4DISCOVERY в IAR Embedded Workbench for ARM

В  статье “Программное обеспечение для STM32F4DISCOVERY  (http://firsthand.ru/node/298)” я уже писал, что примеры которые идут вместе с IAR EWARM (IAR Embedded Workbench for ARM) для микроконтроллеров STM32F4 не работают с STM32F4Discovery, потому что они ориентированы на их собственную отладочную плату IAR KickStart Kit for STM32F407ZG.

Для того чтобы работать в IAR EWARM с STM32F4Discovery нужны примеры именно для STM32F4-Discovery и именно для среды разработки или toolchain IAR EWARM (IAR Embedded Workbench for ARM).

Такие примеры есть у самой компании STMicroelectronics и их можно свободно использовать.

Скачать примеры можно с сайта “www.st.com” компании “STMicroelectronics” со страницы с названием

STSW-STM32068
STM32F4DISCOVERY board firmware package, including 22 examples (covering USB Host, audio, MEMS accelerometer and microphone) (AN3983)

Попасть на неё легче через поиск. Можно и по другому, но мне нравиться через поиск. Так быстрее. Просто набираешь “STSW-STM32068” и первая ссылка ведет куда надо.

Ищем внизу на странице раздел “Get Software” и жмем на кнопочку “Download” напротив STSW-STM32068. После этого загружается zip-архив stsw-stm32068.zip.

В данном архиве, после распаковки, видим папку STM32F4-Discovery_FW_V1.1.0. Эта папка и содержит примеры для STM32f4discovery.

Эту папку можно теперь перенести в папку с проектами IAR EWARM, оставить там где она есть или перенести в, специально созданную для экспериментов, свою папку.

У меня такой папкой является E:PROJSTM32F4, вот туда я и перенес папку STM32F4-Discovery_FW_V1.1.0. со всем её содержимым.

Практически во всех примерах от официальных изготовителей микроконтроллеров и изготовителей отладочных плат файлы проектов для IAR EWARM (IAR Embedded Workbench for ARM) размещаются в папках с названием EWARM.

Например, есть папка “Demonstration” с файлами проекта демонстрации некоторых основных возможностей отладочной платы, а в ней есть папка  EWARM, в которой находятся файлы проекта для IAR EWARM.

Пример работы с портами ввода/вывода GPIO я нашел в папке “E:PROJSTM32F4STM32F4-Discovery_FW_V1.1.0ProjectPeripheral_ExamplesIO_Toggle” и файлы проекта для  IAR EWARM соответственно в папке “E:PROJSTM32F4STM32F4-Discovery_FW_V1.1.0ProjectPeripheral_ExamplesIO_ToggleEWARM

Далее находим файл с расширением “.eww” – это IO_Toggle.eww. Это основной файл для проекта в IAR EWARM. Щелкаем по нему мышкой и если toolchain IAR EWARM установлен правильно, то вскоре откроется IAR Embedded Workbench for ARM с загруженным проектом IO_Toggle.

Слева отображается состав проекта, а внизу две строчки сообщают что проект создан для STM32F407VG.

В папке User находиться файл main.c в котором содержиться основной код программы и откуда всегда стоит начинать изучать примеры. Но сейчас мы этот шаг изучения пропустим, потому что основная цель – это проверить работоспособность примеров для STM32F4discovery в среде разработки IAR Embedded Workbench for ARM.

Для этого просто откомпилируем пример работы с портом ввода/вывода GPIO. Для этого в меню выбираем “Project”, затем “Rebuild All”. Так проверим наличие ошибок, все ли файлы присутствуют и, если всё хорошо, откомпилируем пример.

После компиляции проекта выходит сообщение о том, что ошибок нет и замечаний нет.

Теперь загрузим полученную прошивку в микроконтроллер в режиме отладки. Если отладочная плата STM32F4discovery ещё не подключена, то самое время её подключить. В меню выбираем “Project”, затем “Download and Debug”.

После загрузки, выполнение программы останавливается на строке подсвеченной зеленым цветом.

Теперь можно проверить работу программы в пошаговом режиме, или запустить непрерывное выполнение. Для непрерывного выполнения нажимаем на кнопочку “Go”. Ранее погасшие светодиоды начинают мигать по часовой стрелке. То есть, пример откомпилировался, загрузился и нормально себя чувствует в памяти микроконтроллера, выполняя заданную работу.

Теперь можно остановить отладку. При этом программа в микроконтроллере никуда не изчезает, а спокойно продолжает работать.

И как итог, получаем что примеры для STM32F4-Discovery с сайта st.com для IAR EWARM вполне рабочие и ими можно пользоваться для изучения и освоения микроконтроллера STM32F407VG.

Источник: http://firsthand.ru/book/programmirovanie/ispolzovanie-primerov-dlya-stm32f4discovery-v-iar-embedded-workbench-for-arm

STM8 + IAR + ST-LINK2: программирование, прошивка и отладка из под Windows

разделы: STM8 , среда разработки , дата: 14 марта 2016г

STM8S103F3P6 и ST-Link2

Если в прошлый раз я писал о работе с STM8 из под Linux, то сейчас мне бы хотелось раскрыть этот вопрос с позиций Windows.

В качестве ОС я выбрал “старушку” Windows XP SP3, а в качестве “подопытного” чипа, так же как и в прошлый раз, у меня STM8S103F3P6 распаяный на плате как на картинке слева. Используемый мною программатор, это китайский клон ST-Link2.

Этот пост можно назвать “быстрым стартом” STM8в Windows.

1. Драйвера

Первым делом нужно будет поставить драйвера для программатора ST-Link2. Для этого заходим на домашний адрес компании ST в раздел данного программатора:

http://www.st.com/web/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168

Проматываем страницу книзу, в раздел ПО:

после чего следует щелкнуть по STSW-LINK009. В результате попадем на страницу драйвера:

Как видно, драйвер предлагается для OC: Windows XP, Windows7, Windows8. Десятка похоже, что в пролете 😉

Кликнув по кнопке Download, получаем zip архив. Но т.к. как я уже говорил, что фирма ST сурова, то и никаких инсталятов со слайд-щоу и словами благодарности “за то что выбрали наше предложение”, в архиве вы не найдете. Поэтому ставятся они по-другому.

Нужно вставить ST-Link2 в USB порт и дождаться когда запуститься мастер установки драйверов. В появившемся диалоговом меню следует отказаться от соединения с Window Update и в качестве источника драйверов указать распакованную папку скачанного архива.

После чего система сама найдет подходящие для себя драйвера и установит их:

Т.о. программатор начнет отображаться в диспетчере устройств:

2. Флэшер

После того, как драйвер программатора установлен, можно попытаться что-то запрограммировать. Но с софтом ситуация в STM8 я бы сказал, что не простая. Позволю себе процитировать компанию “Компэл”.

Сейчас нужно будет скачать ST Toolset в состав которого входит флешер ST Visual Programmer. Его домашняястраница:www.st.com/web/en/catalog/tools/PF210568

Промотав cтраницу книзу и кликнув на Download получите zip-архив ST Toolset. После распаковки и установки у вас появятся ST Visual Developer и ST Visual Programmer. Первый нас не интересует, а второй следует запустить, это флешер. При запуске появиться окно конфигурации:

Выбрав тип микроконтроллера и программатор, попадаете в главное окно программы.

Важный момент: микроконтроллеры STM8 имеют единую шину памяти(адресная шина). Т.е. нет разделения на flash память и оперативную. Т.е. разделение есть на внутреннем уровне т.к. архитектура микроконтроллера все-таки гарвардская, но внешне, архитектура выглядит как фон Неймовская. Чтобы вспомнить, чем отличается одно от другого, приведу цитату из википедии:

Т.е. благодаря гарвардской архитектуре в AVR одна команда выполнялась за один такт.

Скриншот ST Visual Programmer:

Оперативка нас пока не интересует, на скриншоте красными стрелками помечены кнопки чтения и заливки прошивки.

Попытка прочитать что-то без программатора приведет к ошибке:

С программатором, но без микроконтроллера, тоже приведет к ошибке:

Пример успешного чтения прошивки:

Полученную прошивку можно тут же обратно записать в микроконтроллер или сохранить в файл. Можно открыть любую другую прошивку в формате ihex и из программы прошить микроконтроллер.

Запись:

3. Среда разработки IAR

После того, как с прошивками разобрались, осталось узнать в чем эти STM8 программировать. Своего инструментария для разработки на Си у ST нет, а имеющиеся компиляторы или платны или доступны с ограничениями.

Часто как наиболее оптимальное решение предлагается COSMIC, но без лицензионного ключа вы ничего в нем не сделаете, а он выдается спустя несколько дней с момента запроса (я ждал три дня). IAR имеет ограничение 8Кбайт, но лицензионный ключ выдается сразу.

Причем ключ может выдаться на полностью функциональную версию, с ограничением в 30дней использования. Т.к. STM8S103F3P6 имеет как раз всего 8Кбайт, то большего как бы и не надо. В любом случае пока идет ключ для COSMIC, можно воспользоваться IAR.

Скачать его можно с сайта IAR: https://www.iar.com/iar-embedded-workbench/#!?architecture=STM8

После установки, вам предложат заполнить анкету и выбрать тип лицензии. После чего на email придет ссылка с лицензионным ключом. Введя этот ключ при первом запуске IAR вы попадаете в главное окно программы.

По второй ссылке, хоть речь идет и о IAR для ARM, большая часть посвящена самой среде разработке IAR. Я не буду повторять описанного там материала, а буду на него опираться.

Сейчас наша задача составить простой Blink, скомпилировать его и загрузить в микроконтроллер. Для этого сначала нужно создать новый проект:

затем, задать параметры проекта:

имя проекта:

после чего откроется рабочее окно, где слева будет браузер проекта, в центре текстовый редактор, в снизу окно для логов. На панели инструментов не трудно будет найти кнопки компиляции и загрузки проекта в микроконтроллер:

Но прежде, чем что-то компилировать, следует сначала настроить проект. Поэтому в браузере проекта следует щелкнуть правой кнопкой по названию проекта, и открыть Options

где первым делом, во вкладке target следует выбрать целевой микроконтроллер:

а в качестве отладчика ST-LINK

Так же полезно будет зайти в опции IAR в настроить окно вывода сообшений:

После чего можно уже будет нажать на кнопку компиляции:

В нижнем окне логов появится отладочная информация.

STM8S103F3P6

Плата STM8S103S103F3P имеет два светодиода Один выполняет роль индикатора питания, другой подтянут к пину PB5(да, как в Arduino pin13).

Попробуем написать программу для мигания этим светодиодом:

Закомментируем сначала функцию delay, скомпилируем проект, подключим ST-Link с микроконтроллером и нажмем зеленый треугольник “Debug and Download” …

и попадем в окно отладчика. Справа будет ассемблерный листинг программы загруженной в микроконтроллер, слева на панели инструментов появятся кнопки для управления пошаговой отладкой. Нажимая “Step over” раз за разом, светодиод будет на плате будет то загораться то, гаснуть.

Раскомментиров delay, скомпилировав и загрузив прошивку еще раз в микроконтроллер, на панели отладки можно будет нажать на красный крестик. Тогда программа запустится на выполнение и светодиод начнет периодически мигать с интервалом примерно 1/5 сек.

Резюмируя можно сказать, за небольшую сумму (170 руб за ST-Link2 + 68 руб за плату STM8S103F3P6) получили в свои руки достаточно профессиональную связку железа и софта, с которыми можно сделать многое.

поделиться:

Источник: http://www.count-zero.ru/2016/iar_stm8/