Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Микроконтроллеры Cortex-Mx и библиотека CMSIS
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
koluna
Здравствуйте!

Начал осваивать Cortex'ы.
Имеет ли смысл использовать CMSIS?
Насколько она стабильна и безбажна?
Реально ли упрощает жизнь в плане портирования на Cortex'ы других производителей и т. п.?
PoReX
Цитата
CMSIS это стандартная для всех кортексов библиотека. Как бы единый стандарт описаний ресурсов. Благодаря ей легко таскать код с одного вида ARM Cortex контроллеров на другой. Конечно периферия у всех армов разная, даже в пределах одной линейки, но вот доступ к регистрам периферии из Си стандартизирован и описан в CMSIS
© Easyelectronics.ru
Если тебе удобней работать напрямую с адресами регистров, то можешь ее не использоватьsm.gif
Кстати многие путают CMSIS и StdPeriph Library у STM - это разные вещи.
koluna
Цитата(PoReX @ Mar 21 2012, 11:02) *
© Easyelectronics.ru
Если тебе удобней работать напрямую с адресами регистров, то можешь ее не использоватьsm.gif
Кстати многие путают CMSIS и StdPeriph Library у STM - это разные вещи.


Про CMSIS и StdPeriph Library у STM читал - не путаю sm.gif

Главные фишки CMSIS, как я понимаю, это хидеры для ядра и периферии Cortex-Mx, скрипты линкера, стартапы, векторы.
Хидеры, как я понимаю, облегчают работу с ядром и периферией, упрощают портирование кода с проца одного производителя на другой (ну и в пределах "линейки").
Про остальные фишки CMSIS я пока не дочитал, в процессе...
Фактически, как я понимаю, CMSIS частично используется для всех компиляторов. По крайней мере, для ГЦЦ однозначно: оттуда, как минимум, можно поиметь все выше перечисленное (в StdPeriph Library это присутствует, но не в полном составе).

StdPeriph Library это АПИ для процов от СТМ, упрощающее работу с ядром и периферией.

Вопросы были другого плана...
Читал, что эти либы (говорим про АПИ) создают оверхед, криво написаны и являются весьма глючными, имеются дурные отзывы...
Вот я и спрашиваю, имеет ли смысл использовать с ГЦЦ (ну и не только) АПИ этих либ помимо хидеров с регистрами, стартапов и скриптов sm.gif

Кстати, что из ГЦЦ Си++ можете порекомендовать?
Это "Sourcery G++ Lite 2010q1-188 for ARM EABI" нормально?
Платформы - винда и Убунта.
PoReX
Цитата(koluna @ Mar 21 2012, 12:06) *
StdPeriph Library это АПИ для процов от СТМ, упрощающее работу с ядром и периферией.

Вопросы были другого плана...
Читал, что эти либы (говорим про АПИ) создают оверхед, криво написаны и являются весьма глючными, имеются дурные отзывы...
Вот я и спрашиваю, имеет ли смысл использовать с ГЦЦ (ну и не только) АПИ этих либ помимо хидеров с регистрами, стартапов и скриптов sm.gif

Кстати, что из ГЦЦ Си++ можете порекомендовать?
Это "Sourcery G++ Lite 2010q1-188 for ARM EABI" нормально?
Платформы - винда и Убунта.

Так все-таки CMSIS или АПИ -> StdPeriph Library?
Сам только вникаю в STM32, до этого работал с LPC17xx. CMSIS однозначно стоит использовать и дурных отзывов о ней не видел(отзывы в студию, если естьwink.gif), да и никогда проблем с ней не было.
С StdPeriph думаю могут быть проблемы, особенно от незнания принципов работы.

Насчет Sourcery G++ не знаю, сам использую Keil под виндой, либо он же в виртуалке под убунтойsm.gif Как я понял под Cortex-m3 для Linux другого компилятора и нету, так что выбирать не приходится.

koluna
Цитата(PoReX @ Mar 21 2012, 13:24) *
Так все-таки CMSIS или АПИ -> StdPeriph Library?


CMSIS содержит некоторое количество функций и структур для работы с ядром, поэтому я и назвал это АПИ sm.gif
Но, возможно, я не прав...

Цитата
Сам только вникаю в STM32, до этого работал с LPC17xx. CMSIS однозначно стоит использовать и дурных отзывов о ней не видел(отзывы в студию, если естьwink.gif), да и никогда проблем с ней не было.


Т. е., вы CMSIS использовали и все без нареканий?

На работе Кейл + LPC17xx планируется.
Параллельно хочу ГЦЦ + STM32 попробовать.



PoReX
Цитата(koluna @ Mar 21 2012, 14:11) *
Т. е., вы CMSIS использовали и все без нареканий?

Да, глюков не замечено, при том что на работе все ею пользуются. Даже если в ней есть глюки, куда деваться, какие есть альтернативы? Работать на прямую с адресами регистров, так тут еще больше вероятность ошибок наделать, а CMSIS постоянно развивается.
Сергей Борщ
QUOTE (PoReX @ Mar 21 2012, 12:20) *
Даже если в ней есть глюки, куда деваться,
Один глюк точно есть (был): http://electronix.ru/forum/index.php?showtopic=100616
PoReX
Там вопрос спорный, кто прав, а кто нет.
koluna
Цитата(PoReX @ Mar 21 2012, 14:20) *
Да, глюков не замечено, при том что на работе все ею пользуются. Даже если в ней есть глюки, куда деваться, какие есть альтернативы? Работать на прямую с адресами регистров, так тут еще больше вероятность ошибок наделать, а CMSIS постоянно развивается.


А что из нее наиболее часто используемо? Алиасы для регистров?
Читаю доки, в голове каша пока sad.gif
PoReX
В основном да.
koluna
Всем привет!

Ковыряю потихонечку "LPC1700CMSIS Standard Peripheral Firmware Library" от "NXP MCU SW Application Team".
Кое-какие драйвера уже поиспользовал.
Как можете охарактеризовать данную либу?
esaulenka
Цитата
Как можете охарактеризовать данную либу?


На мой взгляд, лучше уж с нуля всё написать. Благо в документации на контроллер всё подробно описано.

Какая-то ненужная "типа универсальная" прослойка.
Один чёрт при замене, скажем, LPC-STM придётся всё переделывать.
А если менять LPC->LPC, то с большой вероятностью всё заработает и без переделок - периферия у разных контроллеров NXP весьма совместима.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.