STM32 новичку в ARM что к чему
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: STM32 новичку в ARM что к чему
STM32 - это всего лишь первая ступенька для Вас. Рано или поздно "все выростают из штанишек" и нужно покупать новые, по-больше
Если Вы собираетесь разрабатывать что-либо на ARM сейчас или в будущем, то лучше обзавестись J-Link, потому что STM32 может скоро не хватить, и тогда Вы посмотрите в сторону TI или Freescale, а там ST-Link уже не поможет. В любом случае решать Вам, но STM32 DISCOVERY - это тупик.
Все будет только лучше, в крайнем случае - хуже.
- Реклама
Re: STM32 новичку в ARM что к чему
Не согласен категорически. Если бы она стоила хотя бы тех денег, что в ней комплектухи - еще можно было бы рассуждать, но их продают почти даром!STM32 DISCOVERY - это тупик.
Имеем программатор - отладчик (пусть пока для STMок), и камень с необходимым обвязом. На первое время, для обучения, более чем достаточно.
- Cat
- Электрический кот
- Сообщения: 1087
- Зарегистрирован: Вт май 05, 2009 10:43:42
- Откуда: Россия
- Контактная информация:
Re: STM32 новичку в ARM что к чему
ploop,нафига брать что-то узкоспециализированное, когда даже за меньшие деньги можно взять комбайн поддерживающий дофига чего? Речь о J-link. 
Боевой ватник.
Re: STM32 новичку в ARM что к чему
Он разве дешевле?
Если так - то да...
Если так - то да...
Re: STM32 новичку в ARM что к чему
Интересно, как это ты насчитал.Cat писал(а):ploop,нафига брать что-то узкоспециализированное, когда даже за меньшие деньги можно взять комбайн поддерживающий дофига чего? Речь о J-link.
Или за 530р (18$ ) программатор, или за 400р демоплатка + к ней бесплатно программатор
- Реклама
Re: STM32 новичку в ARM что к чему
Опа! А вот с этого места по-конкретней программатор за 18$. Где, как заказать? На космодроме за 50. Разница чувствуется.
Re: STM32 новичку в ARM что к чему
Ну да, если территория бывшего сэсэсэр, то цену сразу на 3 умножайmvm писал(а):Опа! А вот с этого места по-конкретней программатор за 18$. Где, как заказать? На космодроме за 50. Разница чувствуется.
На алибабаэкспрессе он 18 баксов с доставкой
Re: STM32 новичку в ARM что к чему
Но, опять же - дебагер купишь, демоплатку надо еще раздобыть.
Любой другой известный мне пример стоит дороже, не несет в себе халявного дебагера и кучки ПРОВЕРЕННЫХ примеров.
То, что дают в комплекте большинство неродных производителей отладочных плат (ну кроме какого нибудь крутого и дорогущего эмбедед артистс и подобного) иначе как полный ПЭ обычно назвать нельзя
Любой другой известный мне пример стоит дороже, не несет в себе халявного дебагера и кучки ПРОВЕРЕННЫХ примеров.
То, что дают в комплекте большинство неродных производителей отладочных плат (ну кроме какого нибудь крутого и дорогущего эмбедед артистс и подобного) иначе как полный ПЭ обычно назвать нельзя
Re: STM32 новичку в ARM что к чему
Не считая русскоязычных статей на эту тему. STM32F1 облизан вдоль и поперёк, всё на примерах той же дискавери.кучки ПРОВЕРЕННЫХ примеров.
Re: STM32 новичку в ARM что к чему
Ясно надо брать дискавери и не тянуть кота за хвост!
- SubDia
- Держит паяльник хвостом
- Сообщения: 995
- Зарегистрирован: Сб апр 02, 2011 17:59:22
- Откуда: Город-герой Севастополь
Re: STM32 новичку в ARM что к чему
Если все же решили дискавери, и все же на космодроме, то не за 200 грн.
Смотрите. У них цены разнятся на одни и те же позиции: зависит от способа заказа, наличия на складе и т.д. Сейчас эти платы у космодромов доступны на складе за 165 грн. Именно такую и заказывайте, а не с доставкой по воздуху и двухнедельным ожиданием - за 200.
ЗЫ. Ай забыл - заказ до 200 грн. - Вы оплачиваете еще 15 грн за услуги курьера по Харькову. =)
Смотрите. У них цены разнятся на одни и те же позиции: зависит от способа заказа, наличия на складе и т.д. Сейчас эти платы у космодромов доступны на складе за 165 грн. Именно такую и заказывайте, а не с доставкой по воздуху и двухнедельным ожиданием - за 200.
ЗЫ. Ай забыл - заказ до 200 грн. - Вы оплачиваете еще 15 грн за услуги курьера по Харькову. =)
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

-
TripleKill
- Вымогатель припоя
- Сообщения: 671
- Зарегистрирован: Вт июн 29, 2010 12:31:49
Re: STM32 новичку в ARM что к чему
Всем привет. Вчера приобрёл дискавери, посидел в кейле, попробовал разобраться. Прочёл статью Уважаемого 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), без них тоже возможны проблемы, но не проверял, т.к. установил их до прошивки.
Ну и напоследок вопрос к тем, кто уже давно работает с дискавери+кейл. Существует ли простой способ инвертирования бита в порте? А то уж больно конструкции в среде мудрёные?
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 раза.
Re: STM32 новичку в ARM что к чему
А причем тут дискавери и кейл ?TripleKill писал(а): Ну и напоследок вопрос к тем, кто уже давно работает с дискавери+кейл. Существует ли простой способ инвертирования бита в порте?
-
TripleKill
- Вымогатель припоя
- Сообщения: 671
- Зарегистрирован: Вт июн 29, 2010 12:31:49
Re: STM32 новичку в ARM что к чему
Не понял вопроса. Я пишу код в кейле, хочу инвертировать бит порта.
В инетовских примерах есть вот такой пример установки бита: GPIOC->BSRR=GPIO_BSRR_BS4. Чтобы бит обнулить, надо писать уже GPIOC->BSRR=GPIO_BSRR_BR4. Т.е. я не могу написать нечто вроде GPIOC->BSRR=!GPIO_BSRR_BS4 или как раньше делал в mikroC, !PORTC.F4, чтоб при каждом вызове такой команды состояние бита менялось на противоположное? Другими словами, какой самый простой вариант записи команды инвертирования бита?
Пусть даже будут не кейл и не stm. Пусть будет код, который нормально скомпилируется в кейле. Можете посоветовать какие-нибудь книжки, или сетевые источники, где можно почитать о работе с портами, ну и вообще со стандартными библиотеками?
В инетовских примерах есть вот такой пример установки бита: GPIOC->BSRR=GPIO_BSRR_BS4. Чтобы бит обнулить, надо писать уже GPIOC->BSRR=GPIO_BSRR_BR4. Т.е. я не могу написать нечто вроде GPIOC->BSRR=!GPIO_BSRR_BS4 или как раньше делал в mikroC, !PORTC.F4, чтоб при каждом вызове такой команды состояние бита менялось на противоположное? Другими словами, какой самый простой вариант записи команды инвертирования бита?
Пусть даже будут не кейл и не stm. Пусть будет код, который нормально скомпилируется в кейле. Можете посоветовать какие-нибудь книжки, или сетевые источники, где можно почитать о работе с портами, ну и вообще со стандартными библиотеками?
Re: STM32 новичку в ARM что к чему
Это все никак не зависит от среды разработки и платы, на которой стоит МК.
Читай описание GPIO контроллера и про битбанг в ядре
Читай описание GPIO контроллера и про битбанг в ядре
-
phanis
- Вымогатель припоя
- Сообщения: 513
- Зарегистрирован: Сб фев 19, 2011 18:04:08
- Откуда: Татарстан, пос. Актюбинский
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Не помню откуда скачал, набор макросов, для работы с портами ввода вывода, может и вам пригодится..
Re: STM32 новичку в ARM что к чему
Код: Выделить всё
// Set pin - установка битов порта по маске. Например: spin_m (PORTC,(1<<4)|((1<<5)); // Установить PC4, PC5.
#define spin_m(port,mask) (*(port+4)=(mask))
Код: Выделить всё
GPIO_SetBits(GPIOD,GPIO_Pin_12 | GPIO_Pin_14)
GPIO_ResetBits ... -
TripleKill
- Вымогатель припоя
- Сообщения: 671
- Зарегистрирован: Вт июн 29, 2010 12:31:49
Re: STM32 новичку в ARM что к чему
phanis, спасибо, посмотрю.
ploop, в стандартном GPIO есть команда, чтоб изменять состояние бита на противоположное?
Я пока вот к такому пришёл:
По аналогии с приведённым Вами "GPIO_SetBits", "GPIO_ToggleBits" не прокатывает.
Повторюсь, меня интересует не включение и выключение, а переключение.
Включать-выключать ещё вчера научился)
ploop, в стандартном GPIO есть команда, чтоб изменять состояние бита на противоположное?
Я пока вот к такому пришёл:
Код: Выделить всё
GPIOC->ODR=GPIO_ODR_ODR8 & ~(GPIOC->IDR & GPIO_IDR_IDR8);Повторюсь, меня интересует не включение и выключение, а переключение.
Включать-выключать ещё вчера научился)
Re: STM32 новичку в ARM что к чему
В для протеуса и диптрейса недавно выложили на Казус.ру в разделе по стм. (во вложении лежит). Работает с последними версиями этих прог.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 что к чему
TripleKill, насколько я знаю, такой специальной возможности у контроллера GPIO нет. Поэтому менять бит либо через BSRR/BRR, либо через bit-band, либо путем "чтение-модификация-запись"(т.е. чтение IDR, инверсия битов, запись в ODR). В последнем случае надо предпринять все меры предосторожности чтобы не нарушить атомарность этой операции, иначе вы рискуете получить "странные" эффекты если в прерывании тоже производится запись в порт.


