roboforum.ru

Технический форум по робототехнике.

STM32 шаг за шагом для начинающих.

STM32 шаг за шагом для начинающих.

avr123.nm.ru » 15 сен 2013, 01:46

Давно назрела похоже тема по первым шагам с STM32 но с конкретикой. :D

Этот топик для изложения публикации материалов, примеров, программ и мануалов.

Прошу вопросы задавать в топике STM32 FAQ вопросы и ответы
forum59/topic13357.html

1) Качаем журнал Радиоаматор 2012 с 3 по 12 номера и 2013 номера с 4 по 7 и далее
rkniga.ru/zhurnaly/radioamator/4081-zhurnal-radioamator-2013-7.html Постепенно материалы буду тут выкладывать с правкой на текущий момент времени.

Добавлено спустя 10 минут 56 секунд:
2) Качаем среду разработки CooCox CoIDE http://www.coocox.org/CooCox_CoIDE.htm и файлы к статьям с сайта журнала Радиоаматор.
3) Качаем журнал "Современная электроника" 2013 - номера 5, 6 и 7

Начинаем чтение... :) и работу. Продолжение следует... :x

Re: STM32 шаг за шагом для начинающих.

avr123.nm.ru » 15 сен 2013, 12:44

Полезно скачать среду разработки на http://www.IAR.com Она может работать в урезаном режиме неограничено или в полном режиме но 30 дней.

Если поставить ее на виртуальную машину то 30 дней можно повторять многократно. Для этого надо сохранить состояние виртуальной машины после установки и настройки IAR и установки библиотек для выбранного семейства STM32 (библы скачать на страничке продукта на сайте производителя).

Re: STM32 шаг за шагом для начинающих.

dccharacter » 15 сен 2013, 16:49


Re: STM32 шаг за шагом для начинающих.

linvinus » 16 сен 2013, 17:21

Кому нужно open source GPL3 и под линукс, то советую посмотреть в сторону http://www.chibios.org.

Учтите что STM32 standard peripheral library не GPL! http://ru.wikipedia.org/wiki/STM32F10x_ ... ls_Library

Для ubuntu компилятор берём тут https://launchpad.net/gcc-arm-embedded
прошивать проще всего через SWD, под линукс есть st-link https://github.com/texane/stlink
SWD есть на всех отладочных платах STM32 discovery.
он так же поддерживает отладку на процессоре.
Его же можно использовать и для прошивки внешних контроллеров http://microtechnics.ru/programmator-mi ... discovery/
Так что под линукс, хотя бы одну плату STM32 discovery лучше купить, если конечно у вас нет подходящего J-Tag программатора.

Кому нужна полноценная IDE можно почитать как настроить Eclipse http://www.chibios.org/dokuwiki/doku.ph ... eclipse1&s[]=eclipse#installation
Я лично использую geany + консольный отладчик gdb.

Стоит отметить что chibios не совместима с STM32 standard peripheral library , поэтому за основу,при программировании, лучше всего брать reference manual и документацию на chibios, а не примеры в интернете.
По примерам можно понять общую логику, но из за того что конфигурация регистров описывается разными структурами, перенести чужие примеры в chibios становится сложно.

Полезности для линукса:
Если процессор STM32 натыкается на некорректный указатель то он вываливается в hardfault обработчик, но gdb не понимает этого и в результате bt теряет историю.
Чтобы исправить это нужно в main.c добавить эти строчки.
Код: Выделить всёРазвернуть
void **HARDFAULT_PSP;
register void *stack_pointer asm("sp");

void HardFaultVector()
{
    // Hijack the process stack pointer to make backtrace work
    asm("mrs %0, psp" : "=r"(HARDFAULT_PSP) : :);
    stack_pointer = HARDFAULT_PSP;
    while(1);
}

источник http://koti.kapsi.fi/jpa/stuff/other/st ... trace.html
Последний раз редактировалось linvinus 17 сен 2013, 18:00, всего редактировалось 3 раз(а).

Re: STM32 шаг за шагом для начинающих.

dccharacter » 16 сен 2013, 17:32

***лучше всего брать reference manual и документацию на chibios, а не примеры в интернете.

Лучший способ разбить лоб об бетонную стену ИМХО

Re: STM32 шаг за шагом для начинающих.

linvinus » 16 сен 2013, 17:51

dccharacter писал(а):***лучше всего брать reference manual и документацию на chibios, а не примеры в интернете.

Лучший способ разбить лоб об бетонную стену ИМХО

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

Главное понять
1) как назначаются на ножки функции (IO, analog in, PWM, SPI, USART, USB ....)
2) как включить необходимые устройства

Re: STM32 шаг за шагом для начинающих.

dccharacter » 16 сен 2013, 17:54

Не, с функций на ножки начинать плохо. Вот с чего надо начинаь: http://www.gaw.ru/html.cgi/txt/doc/micr ... ortex_arh/
Читается как художественная литература на одном дыхании

Re: STM32 шаг за шагом для начинающих.

Madf » 16 сен 2013, 21:36

dccharacter писал(а):Вот с чего надо начинаь: http://www.gaw.ru/html.cgi/txt/doc/micr ... ortex_arh/

жаль pdf-ка на английском (

Re: STM32 шаг за шагом для начинающих.

Angel71 » 16 сен 2013, 22:36

linvinus писал(а):Новички будут биться и не раз и не важно какая среда разработки, хотя зачастую в мануалее всё доходчиво написано, просто нужно накопить минимальный набор знаний после которого мануал читается легко.

да вот как-то подмечено, что и далеко не новички лоб с stm`ками разбивают. вроде доки и примеров море, вроде всё разжевано, только в общем у многих мнение, что всё глобально через одно место. :pardon: имхо иногда проще взять доку на максимально подобный камень другой конторы и изучить на них нормальную доку и примеры.

Re: STM32 шаг за шагом для начинающих.

linvinus » 17 сен 2013, 10:25

Что то во флейм ушли, предлагаю оставить только полезную информацию
Ссылку
Вот с чего надо начинаь: http://www.gaw.ru/html.cgi/txt/doc/micr ... ortex_arh/

закрепить остальное удалить.
Возможно в перспективе (если будет активное обсуждение) chibios нужно будет перенести в другую ветку.


Rambler\'s Top100 Mail.ru counter