Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

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

Чт мар 22, 2012 07:48:46

STM32 - это всего лишь первая ступенька для Вас. Рано или поздно "все выростают из штанишек" и нужно покупать новые, по-больше :) Если Вы собираетесь разрабатывать что-либо на ARM сейчас или в будущем, то лучше обзавестись J-Link, потому что STM32 может скоро не хватить, и тогда Вы посмотрите в сторону TI или Freescale, а там ST-Link уже не поможет. В любом случае решать Вам, но STM32 DISCOVERY - это тупик.

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

Чт мар 22, 2012 07:54:36

STM32 DISCOVERY - это тупик.

Не согласен категорически. Если бы она стоила хотя бы тех денег, что в ней комплектухи - еще можно было бы рассуждать, но их продают почти даром!
Имеем программатор - отладчик (пусть пока для STMок), и камень с необходимым обвязом. На первое время, для обучения, более чем достаточно.

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

Чт мар 22, 2012 09:30:16

ploop,нафига брать что-то узкоспециализированное, когда даже за меньшие деньги можно взять комбайн поддерживающий дофига чего? Речь о J-link. :wink:

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

Чт мар 22, 2012 09:39:44

Он разве дешевле? :shock:
Если так - то да...

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

Чт мар 22, 2012 10:11:30

Cat писал(а):ploop,нафига брать что-то узкоспециализированное, когда даже за меньшие деньги можно взять комбайн поддерживающий дофига чего? Речь о J-link. :wink:

Интересно, как это ты насчитал.
Или за 530р (18$ ) программатор, или за 400р демоплатка + к ней бесплатно программатор :))

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

Чт мар 22, 2012 10:59:54

Опа! А вот с этого места по-конкретней программатор за 18$. Где, как заказать? На космодроме за 50. Разница чувствуется.

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

Чт мар 22, 2012 11:02:47

mvm писал(а):Опа! А вот с этого места по-конкретней программатор за 18$. Где, как заказать? На космодроме за 50. Разница чувствуется.

Ну да, если территория бывшего сэсэсэр, то цену сразу на 3 умножай :shock:
На алибабаэкспрессе он 18 баксов с доставкой

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

Чт мар 22, 2012 11:04:55

Но, опять же - дебагер купишь, демоплатку надо еще раздобыть.
Любой другой известный мне пример стоит дороже, не несет в себе халявного дебагера и кучки ПРОВЕРЕННЫХ примеров.
То, что дают в комплекте большинство неродных производителей отладочных плат (ну кроме какого нибудь крутого и дорогущего эмбедед артистс и подобного) иначе как полный ПЭ обычно назвать нельзя

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

Чт мар 22, 2012 11:30:33

кучки ПРОВЕРЕННЫХ примеров.

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

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

Чт мар 22, 2012 11:32:30

Ясно надо брать дискавери и не тянуть кота за хвост!

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

Чт мар 22, 2012 11:59:42

Если все же решили дискавери, и все же на космодроме, то не за 200 грн.
Смотрите. У них цены разнятся на одни и те же позиции: зависит от способа заказа, наличия на складе и т.д. Сейчас эти платы у космодромов доступны на складе за 165 грн. Именно такую и заказывайте, а не с доставкой по воздуху и двухнедельным ожиданием - за 200.
ЗЫ. Ай забыл - заказ до 200 грн. - Вы оплачиваете еще 15 грн за услуги курьера по Харькову. =)

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

Чт мар 29, 2012 17:43:43

Всем привет. Вчера приобрёл дискавери, посидел в кейле, попробовал разобраться. Прочёл статью Уважаемого 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 раз(а).

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

Чт мар 29, 2012 18:03:46

TripleKill писал(а):Ну и напоследок вопрос к тем, кто уже давно работает с дискавери+кейл. Существует ли простой способ инвертирования бита в порте?

А причем тут дискавери и кейл ?

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

Чт мар 29, 2012 18:38:20

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

Пусть даже будут не кейл и не stm. Пусть будет код, который нормально скомпилируется в кейле. Можете посоветовать какие-нибудь книжки, или сетевые источники, где можно почитать о работе с портами, ну и вообще со стандартными библиотеками?

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

Чт мар 29, 2012 19:14:09

Это все никак не зависит от среды разработки и платы, на которой стоит МК.
Читай описание GPIO контроллера и про битбанг в ядре

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

Чт мар 29, 2012 19:54:01

Не помню откуда скачал, набор макросов, для работы с портами ввода вывода, может и вам пригодится..
gpio_emcu.h
(4.2 KiB) Скачиваний: 999

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

Чт мар 29, 2012 20:06:42

Код:
// 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 ...

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

Чт мар 29, 2012 20:46:06

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

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

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

Код:
GPIOC->ODR=GPIO_ODR_ODR8 & ~(GPIOC->IDR & GPIO_IDR_IDR8);


По аналогии с приведённым Вами "GPIO_SetBits", "GPIO_ToggleBits" не прокатывает.
Повторюсь, меня интересует не включение и выключение, а переключение.
Включать-выключать ещё вчера научился)

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

Пт мар 30, 2012 05:42:05

mvm писал(а):Активно пользуюсь PIC'ами, хочу разобраться с STM32 естественно с минимальными затратами.
Читал разного. Но хочется услышать совета людей, которые прошли через это.
Самый простой программатор (может что-то типа пиковского клона существует) или варианты...
Не нашел STM32 в протеусе.
Мне действительно важны Ваши рекомендации. Заранее спасибо.


В для протеуса и диптрейса недавно выложили на Казус.ру в разделе по стм. (во вложении лежит). Работает с последними версиями этих прог.
А программатором-отладчиком вот таким обзавелся http://shop.easyelectronics.ru/index.php?productID=150. В работе не пробовал еще.
А насчет того, что протеус игрушки - фигня. Не раз выручал в процессе отладке программ. Нагляднее оно как-то.
Вложения
stm32.ZIP
(514.43 KiB) Скачиваний: 677

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

Пт мар 30, 2012 08:53:14

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