STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: STM32 новичку в ARM что к чему

Сообщение Satyr »

qwerky писал(а):Вот не знаю что делать если размер конфига приближается к размеру страницы Flash... И прибором пользуются каждый день, то есть несколько десятков перезаписей в день.

Меня не так волнует то, на сколько хватит, как то, что произойдет, когда единственная траница флеша стирается, а все данные в памяти.
В моем случае это тоже самое, что девайс выбросить на помойку :))
Реклама
demiurg301
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Re: STM32 новичку в ARM что к чему

Сообщение demiurg301 »

ээээ, коты...
Это чо получается, я могу flash пользовать как eeprom ? Или есть какие то ограничения(кроме кол-ва перезаписей)?

Мне раз в год по USB прошить настройки надо...
Реклама
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение qwerky »

Или есть какие то ограничения
есть - страничное стирание и запись 32-битными словами
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: STM32 новичку в ARM что к чему

Сообщение Satyr »

qwerky писал(а):
Или есть какие то ограничения
есть - страничное стирание и запись 32-битными словами

Ну почему, записать хоть я 1 бит за раз можешь.
Но стирать, в случае Stm32f2xx, 131072 бита за раз и более :)))
Реклама
Эиком - электронные компоненты и радиодетали
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение qwerky »

Ну почему, записать хоть я 1 бит за раз можешь.
но словами быстрее.
Еще огромный гемор - при записи прошивальщиками типа stm32-flash они стирают всю память вместе с ранее прописанным конфигом
Реклама
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: STM32 новичку в ARM что к чему

Сообщение Foks »

Просматривая сайт Atmel в поисках оптимального микроконтроллера для нового домашнего проекта, я разочаровался и решил свалить на ARM Cortex-M (собирался вобщем-то давно, и теперь наконец решился). Естественно выбор остановился на STM32.

Вот выбираю программатор между J-Link и ST-Link/V2. Основное требование - нормальная поддержка в Linux (особенно внутрисхемной отладки), так как это моя единственная ОС.

Собственно вопрос в том, как с этим дела обстоят у СТ-линка? Документации СТ никакой не предоставляет. Единственный, относительно новый проект по поддержке этих линков - https://github.com/texane/stlink . Мб кто-то имеет опыт, насколько он надёжно работает на данном этапе развития?

Не хочется выкидывать три штуки на J-Link, но в то же время не хочется иметь гемор. К тому-же J-Link универсален, что несомненно ему в плюс, однако мне для домашних проектов это не нужно.

----------

Add: Думал, что Discovery не позволяет шить внешние таргеты, оказалось что позволяет. Поэтому купил одну единственную плату VL-Discovery, буду ковырять.
Giggity giggity goo!
Реклама
marz
Родился
Сообщения: 3
Зарегистрирован: Ср апр 25, 2012 20:10:58
Откуда: Екатеринбург

Re: STM32 новичку в ARM что к чему

Сообщение marz »

mvm писал(а):ткните носом где прочитать, что такое GPIO_BSRR_BS8 или RCC_APB2ENR_AFIOEN, даже не что такое, а где оно документировано? Ну не с неба же люди эти записи берут!

Все эти записи берут из библиотеки StdPeriph_Lib. Для серии STM32F10x - файл stm32f10x.h, для серии STM32L - файл stm32l1xx.h и т.д. Там все регистры периферии заданы в виде структур. Вот, например, структура GPIO для портов ввода-вывода, в качестве ее элементов заданы регистры порта:

typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;

А записи вида GPIO_BSRR_BS8 или RCC_APB2ENR_AFIOEN это готовые битовые маски для соответствующих регистров, заданы они в тех же файлах и снабжены комментариями. С их помощью устанавливают/сбрасывают нужные биты регистров.
К примеру, как создать проект в IAR и настроить порты (серия STM32L) можно почитать здесь:
http://chipspace.ru/project-iar-ewarm-porty-1/
http://chipspace.ru/project-iar-ewarm-porty-2/
demiurg301
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

Re: STM32 новичку в ARM что к чему

Сообщение demiurg301 »

marz писал(а):typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;


о, вопрос возник у мну тоже. Изучал либу переферии.
Что такое "__IO" ? Чот искал искал определение - так и не нашёл.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: STM32 новичку в ARM что к чему

Сообщение ploop »

Смотри в файле core_cm4.h или core_cm3.h (смотря какой МК)
Настройка ограничений, IO - чтение и запись.
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: STM32 новичку в ARM что к чему

Сообщение TripleKill »

У кого-нибудь есть простой пример того, как в кейле врубить усарт, и работать с ним через printf?
Я нашёл в инете текст программы, но по-моему там не хватает дефайнов.
Вложения
gpio_and_usart_on_stm32discovery.txt
(3.39 КБ) 510 скачиваний
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: STM32 новичку в ARM что к чему

Сообщение ploop »

Похоже не хватает инклудов. Например gpio.h, rcc.h
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: STM32 новичку в ARM что к чему

Сообщение md5sum »

demiurg301 писал(а):Что такое "__IO" ? Чот искал искал определение - так и не нашёл.

Код: Выделить всё

#define     __IO    volatile                  /*!< defines 'read / write' permissions   */
— Не говорите мне что делать и я не скажу куда Вам идти...
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: STM32 новичку в ARM что к чему

Сообщение TripleKill »

У платы VLdiscovery питание заводится с usb. Но он, конечно, многое не потянет. Беру блок зарядки от телефона, но там-то ток больше, чем в usb, если соединить напрямую, забыв выдернуть шнур usb, можно наверно и хост сжечь. Подумал диодов прилепить, чтоб при подключении зарядки питание схемы переводилось на неё, и в то же время, напряжение с неё не попадало бы на усб.

Вот обычная схема "двойного питания":
Изображение
На выход U3 обязательно попадает одно из напряжений U1, U2, а друг на друга они не влияют.
Не знаю, понятно ли я высказываюсь, но в случае с дискавери напряжение может появиться и на U3, и туда же надо подавать резервное U1. Но они не должны влиять друг на друга. Можно ли такое сделать с помощью диодов, или придётся делать ключ?
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: STM32 новичку в ARM что к чему

Сообщение Foks »

Можно, а кто мешает? Только придется отрезать дорожку питания и поставить туда диод.
Giggity giggity goo!
Аватара пользователя
WolfTheGrey
Потрогал лапой паяльник
Сообщения: 370
Зарегистрирован: Вс май 06, 2012 09:58:33
Откуда: Магадан

Re: STM32 новичку в ARM что к чему

Сообщение WolfTheGrey »

Скажите какую книгу скачать чтоб начать изучать Cortex M3 ?????????
то кроме рекламных брашур ни чего не поподается.
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: STM32 новичку в ARM что к чему

Сообщение Foks »

А Вам как - чтобы выучить, или чтобы клепать мигалки светодиодами?

Если первое, то
1) Cortex M3 reference manual с сайта ARM
2) даташит на процессор
3) Reference Manual от ST
4) Programming Manual от ST
...
Giggity giggity goo!
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: STM32 новичку в ARM что к чему

Сообщение TripleKill »

Foks писал(а):отрезать дорожку питания и поставить туда диод.


Так-то да, но я без отрезания чего-либо хотел обойтись.
Аватара пользователя
WolfTheGrey
Потрогал лапой паяльник
Сообщения: 370
Зарегистрирован: Вс май 06, 2012 09:58:33
Откуда: Магадан

Re: STM32 новичку в ARM что к чему

Сообщение WolfTheGrey »

Foks писал(а):А Вам как - чтобы выучить, или чтобы клепать мигалки светодиодами?

Если первое, то
1) Cortex M3 reference manual с сайта ARM
2) даташит на процессор
3) Reference Manual от ST
4) Programming Manual от ST
...

Вот этими словами напрочь отбивают тягу детей к прекрасному. И поворачивают их лицами к табаку и алкоголю.
Ну на куя неокрепшему разуму впадать в архитектурные дебри? Знания без практики - пустой багаж, который сожрет докуя времени на погрузку, и там ни капельки не останется.
Эх, пойду обиду вылью на тину 861 :cry:

В свое время отбили так от АВР, Но я выучил их в тихоря по своему, на злоо вам! 8)
Аватара пользователя
WolfTheGrey
Потрогал лапой паяльник
Сообщения: 370
Зарегистрирован: Вс май 06, 2012 09:58:33
Откуда: Магадан

Re: STM32 новичку в ARM что к чему

Сообщение WolfTheGrey »

Да! я хочу светодиодами мигать! А там сами собой подтянутся прерывания, TWI, USART, и всякая дребедень из даташита.
Аватара пользователя
MIF
Друг Кота
Сообщения: 21071
Зарегистрирован: Ср апр 11, 2007 16:50:39
Откуда: Riga

Re: STM32 новичку в ARM что к чему

Сообщение MIF »

А что-то я для Дискавери не вижу дополнительных плат "шилдов". Конкретно интересует модуль работы с карточкой памяти. Можно ПИКовский использовать, конечно.. или вообще самому собрать, но если не дорого взял бы готовый для STM32.
Ткните воронёнка клювом. :dont_know:
Искусство общения было до нас.
Ответить

Вернуться в «ARM»