Итак, учили мы учили стм8, но останавливаться нельзя, и кто читал блог, наверняка уже видел что была давненько уже приобретена плата STM32F4Discovery с процессором STM32F407VG на борту. Собственно с этой платы я и начну входить мелкими шагами в мир STM32.
Да, многие могут воскликнуть, — ЗАЧЕМ? ведь есть давно вдоль и поперёк изученный Atmel с мегами, ардуины и прочяя атмелятина, а также PIC и т.д.))). Кто то даже отметит что STM32это барахло, а надо идти за дорого брат процессоры от Freescale и им подобным. Но тут никто никого не призывает с чего то спрыгивать, на что то пересаживаться. Мне нравиться продукция STM всеми своими сторонами, и то что она заполонила мир — это её заслуга, как в своё Windows захватил мир компов. Вобщем я тут учу STM32 , а кому чего не нравиться, идите жалуйтесь в свой двор)))
Почему СТМ32 а не АтМега 2560 или AtXmega. Начну с того, что для начала советую посмотреть цены. Вот маленький пример для сравнения
СТМ32F030F4P6 -самый малыш в линейке. Корпус TSSOP20, (48 МГц, 16 Кбайт Flash, 4 Кбайта SRAM, 4 таймера 16 бит, 11 каналов 12-битного АЦП, по 1 интерфейсу SPI, I2C и USART). Да конечно, тяжеловато по первой данный корпус поставить на плату, да и расстояние между дорожками 0,25мм тоже может тяжеловато для изготовления, но это всего лишь издержки.
Цена его — 21грн
А теперь давайте попробуем найти ему альтернативу хотя бы по простейшим параметрам типа памяти
Attiny2313 — 36 грн (1кб флэш)
Atmega8 — 27 грн (8кб флэш)
Атмега16 — 52грн (16кб флэш)
STM8S003K3T6 — 21грн (8кб флэш)
ATX меги не пишу так как им цену сложить не могут
Ну а теперь всё это дело нафаршируем 32х битной математикой за один такт и получим то, что уже не остановить — технический прогресс.
Кто не желает учиться, тот в принципе может вообще всё на логике собирать, работать то оно будет, но зачем, если для нас всё разработали уже.
Итак, что нам вообще нужно для работы с STM32.
Первое — либо купленный процессор, либо как в моём варианте — отладочная плата STM32 Discovery. Я взял одну из старших плат в линейке, чтобы так сказать иметь "топовое" орудие)) Оно нам потом ещё пригодится.
Кто не покупал STM32 Discovery - тому просто нужно купить вот такой программатор ST_Link mini
Также, для начала можно вообще обойтись простым загрузчиком на базе UART-преобразователя (FT232RL и ему подобным) и заливать прошивку через UART, через программу ST-LINK Utility
IAR — давно известный но платный (в бесплатном ограничение по коду)
CooCox + GNU компилятор — бесплатный вариант (один из лучших)
Keil uVision 4\5 — платный, но возможны варианты))
Также STM сделало не совсем давно супер решение STM32CubeMx — программа для настройки всей периферии в любом контроллере и получении уже готового проекта. единственное что по простому данная программа не может экспортировать проект в CooCox, но это решается небольшими танцами с бубном. НО — РЕШАЕТСЯ.
Это решение стало доступно с момента выпуска библиотеки HAL, которая позволяет нам для любого процессора STM32 с минимальнейшими изменениями писать инициализацию всей нашей периферии, настраивать тактирование и т.д.
В своих же уроках я начну с Keil, и если всё таки CooCox понравиться — то буду делать уроки для двух сред.
На этом я думаю вступление можно заканчивать (може чего и добавлю по мелочи). В следующем уроке, Уроке1, мы будем изучать нашу программу STM32CubeMX и создавать первый проект типа Hello World — моргание светодиодами.
Да, многие могут воскликнуть, — ЗАЧЕМ? ведь есть давно вдоль и поперёк изученный Atmel с мегами, ардуины и прочяя атмелятина, а также PIC и т.д.))). Кто то даже отметит что STM32это барахло, а надо идти за дорого брат процессоры от Freescale и им подобным. Но тут никто никого не призывает с чего то спрыгивать, на что то пересаживаться. Мне нравиться продукция STM всеми своими сторонами, и то что она заполонила мир — это её заслуга, как в своё Windows захватил мир компов. Вобщем я тут учу STM32 , а кому чего не нравиться, идите жалуйтесь в свой двор)))
Почему СТМ32 а не АтМега 2560 или AtXmega. Начну с того, что для начала советую посмотреть цены. Вот маленький пример для сравнения
СТМ32F030F4P6 -самый малыш в линейке. Корпус TSSOP20, (48 МГц, 16 Кбайт Flash, 4 Кбайта SRAM, 4 таймера 16 бит, 11 каналов 12-битного АЦП, по 1 интерфейсу SPI, I2C и USART). Да конечно, тяжеловато по первой данный корпус поставить на плату, да и расстояние между дорожками 0,25мм тоже может тяжеловато для изготовления, но это всего лишь издержки.
Цена его — 21грн
А теперь давайте попробуем найти ему альтернативу хотя бы по простейшим параметрам типа памяти
Attiny2313 — 36 грн (1кб флэш)
Atmega8 — 27 грн (8кб флэш)
Атмега16 — 52грн (16кб флэш)
STM8S003K3T6 — 21грн (8кб флэш)
ATX меги не пишу так как им цену сложить не могут
Ну а теперь всё это дело нафаршируем 32х битной математикой за один такт и получим то, что уже не остановить — технический прогресс.
Кто не желает учиться, тот в принципе может вообще всё на логике собирать, работать то оно будет, но зачем, если для нас всё разработали уже.
Итак, что нам вообще нужно для работы с STM32.
Первое — либо купленный процессор, либо как в моём варианте — отладочная плата STM32 Discovery. Я взял одну из старших плат в линейке, чтобы так сказать иметь "топовое" орудие)) Оно нам потом ещё пригодится.
Программатор
Кто взял — Discovery — тому программатор не нужен. Так как в этом случае сама плата помимо отладки ещё и выполняет функцию программатора. Вам потребуется лишь USB->microUSB кабель для работы с отладочной платой.Кто не покупал STM32 Discovery - тому просто нужно купить вот такой программатор ST_Link mini
Также, для начала можно вообще обойтись простым загрузчиком на базе UART-преобразователя (FT232RL и ему подобным) и заливать прошивку через UART, через программу ST-LINK Utility
Среда разработки
Тут на выбор несколько вариантовIAR — давно известный но платный (в бесплатном ограничение по коду)
CooCox + GNU компилятор — бесплатный вариант (один из лучших)
Keil uVision 4\5 — платный, но возможны варианты))
Также STM сделало не совсем давно супер решение STM32CubeMx — программа для настройки всей периферии в любом контроллере и получении уже готового проекта. единственное что по простому данная программа не может экспортировать проект в CooCox, но это решается небольшими танцами с бубном. НО — РЕШАЕТСЯ.
Это решение стало доступно с момента выпуска библиотеки HAL, которая позволяет нам для любого процессора STM32 с минимальнейшими изменениями писать инициализацию всей нашей периферии, настраивать тактирование и т.д.
В своих же уроках я начну с Keil, и если всё таки CooCox понравиться — то буду делать уроки для двух сред.
На этом я думаю вступление можно заканчивать (може чего и добавлю по мелочи). В следующем уроке, Уроке1, мы будем изучать нашу программу STM32CubeMX и создавать первый проект типа Hello World — моргание светодиодами.




Комментариев нет:
Отправить комментарий