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

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

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

Сообщение coredumped »

STM32 - это всего лишь первая ступенька для Вас. Рано или поздно "все выростают из штанишек" и нужно покупать новые, по-больше :) Если Вы собираетесь разрабатывать что-либо на ARM сейчас или в будущем, то лучше обзавестись J-Link, потому что STM32 может скоро не хватить, и тогда Вы посмотрите в сторону TI или Freescale, а там ST-Link уже не поможет. В любом случае решать Вам, но STM32 DISCOVERY - это тупик.
Все будет только лучше, в крайнем случае - хуже.
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

STM32 DISCOVERY - это тупик.
Не согласен категорически. Если бы она стоила хотя бы тех денег, что в ней комплектухи - еще можно было бы рассуждать, но их продают почти даром!
Имеем программатор - отладчик (пусть пока для STMок), и камень с необходимым обвязом. На первое время, для обучения, более чем достаточно.
Реклама
Аватара пользователя
Cat
Электрический кот
Сообщения: 1087
Зарегистрирован: Вт май 05, 2009 10:43:42
Откуда: Россия
Контактная информация:

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

Сообщение Cat »

ploop,нафига брать что-то узкоспециализированное, когда даже за меньшие деньги можно взять комбайн поддерживающий дофига чего? Речь о J-link. :wink:
Боевой ватник.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

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

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

Сообщение Satyr »

Cat писал(а):ploop,нафига брать что-то узкоспециализированное, когда даже за меньшие деньги можно взять комбайн поддерживающий дофига чего? Речь о J-link. :wink:
Интересно, как это ты насчитал.
Или за 530р (18$ ) программатор, или за 400р демоплатка + к ней бесплатно программатор :))
Реклама
mvm
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс янв 30, 2011 18:52:55

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

Сообщение mvm »

Опа! А вот с этого места по-конкретней программатор за 18$. Где, как заказать? На космодроме за 50. Разница чувствуется.
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

mvm писал(а):Опа! А вот с этого места по-конкретней программатор за 18$. Где, как заказать? На космодроме за 50. Разница чувствуется.
Ну да, если территория бывшего сэсэсэр, то цену сразу на 3 умножай :shock:
На алибабаэкспрессе он 18 баксов с доставкой
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

Но, опять же - дебагер купишь, демоплатку надо еще раздобыть.
Любой другой известный мне пример стоит дороже, не несет в себе халявного дебагера и кучки ПРОВЕРЕННЫХ примеров.
То, что дают в комплекте большинство неродных производителей отладочных плат (ну кроме какого нибудь крутого и дорогущего эмбедед артистс и подобного) иначе как полный ПЭ обычно назвать нельзя
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

кучки ПРОВЕРЕННЫХ примеров.
Не считая русскоязычных статей на эту тему. STM32F1 облизан вдоль и поперёк, всё на примерах той же дискавери.
mvm
Открыл глаза
Сообщения: 40
Зарегистрирован: Вс янв 30, 2011 18:52:55

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

Сообщение mvm »

Ясно надо брать дискавери и не тянуть кота за хвост!
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

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

Сообщение SubDia »

Если все же решили дискавери, и все же на космодроме, то не за 200 грн.
Смотрите. У них цены разнятся на одни и те же позиции: зависит от способа заказа, наличия на складе и т.д. Сейчас эти платы у космодромов доступны на складе за 165 грн. Именно такую и заказывайте, а не с доставкой по воздуху и двухнедельным ожиданием - за 200.
ЗЫ. Ай забыл - заказ до 200 грн. - Вы оплачиваете еще 15 грн за услуги курьера по Харькову. =)
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

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

Сообщение TripleKill »

Всем привет. Вчера приобрёл дискавери, посидел в кейле, попробовал разобраться. Прочёл статью Уважаемого Aheir'a (http://radiokot.ru/articles/43/), очень помогло. В процессе копания получилось прошить контроллер прямиком из кейла, по нажатию на Download. Не знаю, может это и не новость уже, но напишу, может кому-то полезно будет. В последней версии, 4.50, для того, чтоб можно было прошить контроллер из среды, в настройках делаем следующее.

1). Открываем меню "Project" - "Options for target ... ", и переходим на вкладку "Debug". В правой части окна отмечаем "Use:", из списка выбираем ST-Link Debugger. Жмём Settings.

Изображение

2). В открывшемся меню на вкладке Debug выбираем Port = SW, а также справа внизу ставим галочки "Download to Flash" и "Verify Code Download". Жмём ОК и возвращаемся в предыдущее меню.

Изображение

3). Переходим на вкладку "Utilities", выбираем "Use target driver...", из списка вновь выбираем ST-Link Debugger, и снова жмём Settings.

Изображение

4). В открывшемся окне проверяем наличие галок "Program" и "Verify". Можно поставить ещё и "Reset and Run", чтоб программа запустилась сразу после прошивки контроллера. В область ниже необходимо добавить прошивочный алгоритм, чтобы кейл не ругался при прошивке. Жмём кнопку "Add", и в появившемся списке выбираем подходящий МК (для STM32F10x есть варианты с разным объёмом памяти, у дискавери её вроде как 128k). Закрываем окно выбора МК, сохраняем настройки.

Изображение

После этих манипуляций у меня получилось прошить контроллер прямо из среды, описанных в статье проблем не возникло. Помните, что на сайте ST есть дрова для ST-Link (http://www.st.com/internet/evalboard/product/219866.jsp), без них тоже возможны проблемы, но не проверял, т.к. установил их до прошивки.

Ну и напоследок вопрос к тем, кто уже давно работает с дискавери+кейл. Существует ли простой способ инвертирования бита в порте? А то уж больно конструкции в среде мудрёные?
Последний раз редактировалось TripleKill Ср апр 04, 2012 23:29:55, всего редактировалось 2 раза.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

TripleKill писал(а): Ну и напоследок вопрос к тем, кто уже давно работает с дискавери+кейл. Существует ли простой способ инвертирования бита в порте?
А причем тут дискавери и кейл ?
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

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

Сообщение TripleKill »

Не понял вопроса. Я пишу код в кейле, хочу инвертировать бит порта.
В инетовских примерах есть вот такой пример установки бита: GPIOC->BSRR=GPIO_BSRR_BS4. Чтобы бит обнулить, надо писать уже GPIOC->BSRR=GPIO_BSRR_BR4. Т.е. я не могу написать нечто вроде GPIOC->BSRR=!GPIO_BSRR_BS4 или как раньше делал в mikroC, !PORTC.F4, чтоб при каждом вызове такой команды состояние бита менялось на противоположное? Другими словами, какой самый простой вариант записи команды инвертирования бита?

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

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

Сообщение Satyr »

Это все никак не зависит от среды разработки и платы, на которой стоит МК.
Читай описание GPIO контроллера и про битбанг в ядре
phanis
Вымогатель припоя
Сообщения: 513
Зарегистрирован: Сб фев 19, 2011 18:04:08
Откуда: Татарстан, пос. Актюбинский
Контактная информация:

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

Сообщение phanis »

Не помню откуда скачал, набор макросов, для работы с портами ввода вывода, может и вам пригодится..
gpio_emcu.h
(4.2 КБ) 1146 скачиваний
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

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

Сообщение ploop »

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

// Set pin - установка битов порта по маске. Например: spin_m (PORTC,(1<<4)|((1<<5)); // Установить PC4, PC5.
#define spin_m(port,mask) (*(port+4)=(mask))
А не проще ли использовать стандартный stm32F10x_gpio.h ?

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

GPIO_SetBits(GPIOD,GPIO_Pin_12 | GPIO_Pin_14)
GPIO_ResetBits ... 
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

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

Сообщение TripleKill »

phanis, спасибо, посмотрю.

ploop, в стандартном GPIO есть команда, чтоб изменять состояние бита на противоположное?

Я пока вот к такому пришёл:

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

GPIOC->ODR=GPIO_ODR_ODR8 & ~(GPIOC->IDR & GPIO_IDR_IDR8);
По аналогии с приведённым Вами "GPIO_SetBits", "GPIO_ToggleBits" не прокатывает.
Повторюсь, меня интересует не включение и выключение, а переключение.
Включать-выключать ещё вчера научился)
Alexmif
Родился
Сообщения: 15
Зарегистрирован: Пн мар 19, 2012 05:52:42

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

Сообщение Alexmif »

mvm писал(а):Активно пользуюсь PIC'ами, хочу разобраться с STM32 естественно с минимальными затратами.
Читал разного. Но хочется услышать совета людей, которые прошли через это.
Самый простой программатор (может что-то типа пиковского клона существует) или варианты...
Не нашел STM32 в протеусе.
Мне действительно важны Ваши рекомендации. Заранее спасибо.
В для протеуса и диптрейса недавно выложили на Казус.ру в разделе по стм. (во вложении лежит). Работает с последними версиями этих прог.
А программатором-отладчиком вот таким обзавелся http://shop.easyelectronics.ru/index.php?productID=150. В работе не пробовал еще.
А насчет того, что протеус игрушки - фигня. Не раз выручал в процессе отладке программ. Нагляднее оно как-то.
Вложения
stm32.ZIP
(514.43 КБ) 802 скачивания
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

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

Сообщение uk8amk »

TripleKill, насколько я знаю, такой специальной возможности у контроллера GPIO нет. Поэтому менять бит либо через BSRR/BRR, либо через bit-band, либо путем "чтение-модификация-запись"(т.е. чтение IDR, инверсия битов, запись в ODR). В последнем случае надо предпринять все меры предосторожности чтобы не нарушить атомарность этой операции, иначе вы рискуете получить "странные" эффекты если в прерывании тоже производится запись в порт.
Ответить

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