Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F103xxx от ST
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
zltigo
Сегодня попал мне в руки
http://www.st.com/mcu/contentid-105-110-STM3210B_PRIMER.html
http://www.stm32circle.com/resources/stm32primer.php
в качестве демоборды, всвязи с этим ознакомился с STM32F103 стоящем у него в потрохах. Очень достойный контроллер на первый взгляд. 72MHz, питание начиная с 2V, достаточно скромные милиамперы. Набор прериферии джентельменский по 2-3 UART, SPI, I2C, Timer, CAN, RTC, USB. Куча PWM и ADC. Из необычного - встроенный термодатчик. Для любителей помахать ножками тоже не плохо - 18MHz. Продвинутый контроллер прерываний и 16! внешних источников прерываний (ох как я несколько раз выкручивался с 4 штуками у LPC21xx sad.gif ). Памяти, которой никогда много не бывает sad.gif, правда 128 FLASH и 20 RAM по максимуму. Но все это в ценовой категории 4-5-6 баксов!
Железяка несколько выходит за пределы моих нынешних интересов, но на заметке иметь буду, особенно если что-то батарейное на моем горизонте нарисуется. Найду свободное время, прицеплю внешние железки, натяну системку, посмотрю попугайчиков....
AlexandrY
Самое интересное, что каких-то выдающихся показателей по удельной производительности и плотности кода в STM32 обнаружить не удалось.

http://aly.projektas.lt/Tests/AllCPU/WhetsRes.htm#4


Как оказалось защита памяти расхваленная в Cortex-M3 тоже в большинстве реальных чипов не реализуется.

Но это так, ложка дегтя. laughing.gif

STM32 во всяком случае сильно переплюнул Luminary.


Цитата(zltigo @ Oct 17 2007, 21:12) *
Железяка несколько выходит за пределы моих нынешних интересов, но на заметке иметь буду, особенно если что-то батарейное на моем горизонте нарисуется. Найду свободное время, прицеплю внешние железки, натяну системку, посмотрю попугайчиков....
zltigo
Цитата(AlexandrY @ Oct 17 2007, 21:56) *
Самое интересное, что каких-то выдающихся показателей по удельной производительности и плотности кода в STM32 обнаружить не удалось.

Думаю, что за пару недель найду время свое портировать и тестики погонять, тогда и доложусь, что получилось.
Цитата
STM32 во всяком случае сильно переплюнул Luminary.

Это понятно, и время прошло со времени первой ласточки, и фирма мощнее, и планку они себе изначально повыше определили.
PKM
Тоже хотелось бы воткнуть STM32 в свой девайс, выполненный сейчас на LPC - хотя бы потому что потребление меньше и всяких обещанных защит от сбоев больше - взять хотя бы переход на внутренний генератор при сбое кварцевого осциллятора или "честный" WDT. Возможность калибровки RTC - тоже круто.
Если в плане помехоустойчивости STM32 будет хотя бы близок к PIC - однозначно перепрыгну на него.
Ну и ковыряться с первыми версиями кристаллов как-то не хочется: хоть STM и не NXP, но нет никаких гарантий, что в очередной еррате они не признаются, типа, "а проц может и не запуститься, пока вы не навесите на него это и то... или выкиньте купленную партию и юзайте след. версию кристалла".
Вобщем, очень интересны отзывы не только по производительности данного нового семейства армов (тут более-менее уже понятно), но и по остальным параметрам.
etoja
Кто продаёт процессоры в Москве?
amw
Кто продает их в Украине?

Судя по описаниям ядра - очень привлекательно.
Интересует также информация о применении GCC - есть/нет, версия.
А так-же плюсы и минусы THUMB2 на практике. А то THUMB расписан золотом а на практике IMHO проиграш скорости затмевает выиграш компактности.
zltigo
Цитата(amw @ Oct 18 2007, 10:56) *
Интересует также информация о применении GCC - есть/нет, версия.

Есть. Пробовал 4.2.1
Цитата
А так-же плюсы и минусы THUMB2 на практике.

Да ерунда все эти нюансы по большому счету. Тем более для Cortex вариантов не предусмотрено smile.gif. В принципе явно не хуже THUMB, хотя-бы отсутствием дергания между ARM/THUMB и наличием 32bit кодов, там, где нужно.
Со скоростью из FLASH, конкретно у ST думаю ничего особо шустрого нет - скорее всего, предполагаю, максимум, что есть это выбор одновременно двух команд из 32 из FLASH порядка 70ns. Хотя, конечно, надо будет и почитать рекламу и попробовать....
klen
Цитата(amw @ Oct 18 2007, 11:56) *
Интересует также информация о применении GCC - есть/нет, версия.

усЁ есть! поддерживается thumb2 в общем случае, в частном можно подтюнить ключиками под armv7-a/r/m/a8/r4/m3
zltigo
Цитата(amw @ Oct 18 2007, 10:56) *
А так-же плюсы и минусы THUMB2 на практике. А то THUMB расписан золотом а на практике IMHO проиграш скорости затмевает выиграш компактности.

Попробовал немножко кода скомпилить IAR-ом в THUMB2 - по компактности выигрыш почти 9% по сравнению с THUMB. На живое железо пока не вышел, посему о быстродействии ничего не скажу.
Axel
Это из CrossWorks STM32F10x_Startup.s:

/*****************************************************************************
* Preprocessor Definitions
* ------------------------
*
* STARTUP_FROM_RESET
*
* If defined, the program will startup from power-on/reset. If not defined
* the program will just loop endlessly from power-on/reset.
*
* This definition is not defined by default on this target because the
* debugger is unable to reset this target and maintain control of it over the
* JTAG interface. The advantage of doing this is that it allows the debugger
* to reset the CPU and run programs from a known reset CPU state on each run.
* It also acts as a safety net if you accidently download a program in FLASH
* that crashes and prevents the debugger from taking control over JTAG
* rendering the target unusable over JTAG. The obvious disadvantage of doing
* this is that your application will not startup without the debugger.
*
* We advise that on this target you keep STARTUP_FROM_RESET undefined whilst
* you are developing and only define STARTUP_FROM_RESET when development is
* complete.
*
*****************************************************************************/

Чья проблема - Cortex или CrossWorks?
Сергей Борщ
Цитата(Axel @ Nov 1 2007, 10:47) *
Чья проблема - Cortex или CrossWorks?
CW. Та же проблема у него с остальными ARM, хотя все другие отладчики останавливают ядро на лету без циклов. И опять же остается непонятность - ведь хоть и в цикле, но программа крутится, так чем же такой останов отличается от останова при выполнении другой части программы?
Dron_Gus
Цитата(Сергей Борщ @ Nov 1 2007, 12:06) *
так чем же такой останов отличается от останова при выполнении другой части программы?




Тут у человека в соседней ветке lpc "заклинило", потому что у него WatchDog включается раньше, чем отладчик успевает перехватить управление... Таких примеров много. Уж лучше так.
Сергей Борщ
Цитата(Dron_Gus @ Nov 2 2007, 13:46) *
Тут у человека в соседней ветке lpc "заклинило", потому что у него WatchDog включается раньше, чем отладчик успевает перехватить управление... Таких примеров много. Уж лучше так.
Спорный вопрос. Встречается рекомендация делать при старте задержку ~0.5c, а уже потом запускать такую критичную периферию. Мне тоже удавалось отключить JTAG записью в P2SEL - один раз записал, с загрузчиком через терминалку пообщался - запомнил надолго. Теперь эти биты в исходнике особо закомментированы. С собакой хорошо сделано у атмела - на время останова отладчиком собака тоже тормозится. И зачем при работе с ним весь этот геморрой с #define?
Сергей Борщ
Цитата(Dron_Gus @ Nov 2 2007, 13:46) *
Уж лучше так.
Да, вы правы - это заглушка от подобных неприятных последствий некоторых действий. Сегодня на сахаре проскочила ссылка, где в конце они пишут, что могут остановить проц на всем скаку в любой момент.
Different
Цитата(zltigo @ Oct 17 2007, 20:42) *
Но все это в ценовой категории 4-5-6 баксов!

Такие цены за бугром только. У нас умножаем на 1,5-3.
zltigo
Цитата(Different @ Nov 7 2007, 21:50) *
Такие цены за бугром только. У нас умножаем на 1,5-3.

Ну с некоторыми привычками типа покупки компектации в "привычном месте на ближайшем углу" надо завязывать, если речь идет не о нескольких штуках, для которых цена имеет мало значения.
Velund
Цитата(zltigo @ Nov 7 2007, 22:59) *
Ну с некоторыми привычками типа покупки компектации в "привычном месте на ближайшем углу" надо завязывать, если речь идет не о нескольких штуках, для которых цена имеет мало значения.


Воистину... Нефига стимулировать накручивателей "двух процентов" wink.gif Особенно тех, кто держат огромные списки того, чего у них реально нет, "для ассортимента", а потом тупо перезаказывают в том же DigiKey или Arrow, умножая попутно цену на два-три...

Порой сильно выгоднее самим привезти и растаможить (или заплатить баксов 80 таможенным брокерам UPS, сверх НДС и пошлины, за всю головную боль).
Vitaliy_ARM
Ядро вроде бы более быстро реагирует на прерывания - всего 12 тактов, только переферия слабовата, нет SDIO контроллера и Ethernet. По характеристикам по-лучше арма 7-го будет. Думаю, стоит использовать в новых проектах. В компеле уже доступны несколько образцов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.