Перейти к содержанию
    

Микроконтроллеры Cortex-Mx и библиотека CMSIS

Здравствуйте!

 

Начал осваивать Cortex'ы.

Имеет ли смысл использовать CMSIS?

Насколько она стабильна и безбажна?

Реально ли упрощает жизнь в плане портирования на Cortex'ы других производителей и т. п.?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CMSIS это стандартная для всех кортексов библиотека. Как бы единый стандарт описаний ресурсов. Благодаря ей легко таскать код с одного вида ARM Cortex контроллеров на другой. Конечно периферия у всех армов разная, даже в пределах одной линейки, но вот доступ к регистрам периферии из Си стандартизирован и описан в CMSIS
© Easyelectronics.ru

Если тебе удобней работать напрямую с адресами регистров, то можешь ее не использовать:)

Кстати многие путают CMSIS и StdPeriph Library у STM - это разные вещи.

Изменено пользователем PoReX

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

© Easyelectronics.ru

Если тебе удобней работать напрямую с адресами регистров, то можешь ее не использовать:)

Кстати многие путают CMSIS и StdPeriph Library у STM - это разные вещи.

 

Про CMSIS и StdPeriph Library у STM читал - не путаю :)

 

Главные фишки CMSIS, как я понимаю, это хидеры для ядра и периферии Cortex-Mx, скрипты линкера, стартапы, векторы.

Хидеры, как я понимаю, облегчают работу с ядром и периферией, упрощают портирование кода с проца одного производителя на другой (ну и в пределах "линейки").

Про остальные фишки CMSIS я пока не дочитал, в процессе...

Фактически, как я понимаю, CMSIS частично используется для всех компиляторов. По крайней мере, для ГЦЦ однозначно: оттуда, как минимум, можно поиметь все выше перечисленное (в StdPeriph Library это присутствует, но не в полном составе).

 

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

 

Вопросы были другого плана...

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

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

 

Кстати, что из ГЦЦ Си++ можете порекомендовать?

Это "Sourcery G++ Lite 2010q1-188 for ARM EABI" нормально?

Платформы - винда и Убунта.

Изменено пользователем koluna

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Вопросы были другого плана...

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

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

 

Кстати, что из ГЦЦ Си++ можете порекомендовать?

Это "Sourcery G++ Lite 2010q1-188 for ARM EABI" нормально?

Платформы - винда и Убунта.

Так все-таки CMSIS или АПИ -> StdPeriph Library?

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

С StdPeriph думаю могут быть проблемы, особенно от незнания принципов работы.

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так все-таки CMSIS или АПИ -> StdPeriph Library?

 

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

Но, возможно, я не прав...

 

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

 

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

 

На работе Кейл + LPC17xx планируется.

Параллельно хочу ГЦЦ + STM32 попробовать.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Да, глюков не замечено, при том что на работе все ею пользуются. Даже если в ней есть глюки, куда деваться, какие есть альтернативы? Работать на прямую с адресами регистров, так тут еще больше вероятность ошибок наделать, а CMSIS постоянно развивается.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Даже если в ней есть глюки, куда деваться,
Один глюк точно есть (был): http://electronix.ru/forum/index.php?showtopic=100616

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, глюков не замечено, при том что на работе все ею пользуются. Даже если в ней есть глюки, куда деваться, какие есть альтернативы? Работать на прямую с адресами регистров, так тут еще больше вероятность ошибок наделать, а CMSIS постоянно развивается.

 

А что из нее наиболее часто используемо? Алиасы для регистров?

Читаю доки, в голове каша пока :(

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет!

 

Ковыряю потихонечку "LPC1700CMSIS Standard Peripheral Firmware Library" от "NXP MCU SW Application Team".

Кое-какие драйвера уже поиспользовал.

Как можете охарактеризовать данную либу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как можете охарактеризовать данную либу?

 

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

 

Какая-то ненужная "типа универсальная" прослойка.

Один чёрт при замене, скажем, LPC-STM придётся всё переделывать.

А если менять LPC->LPC, то с большой вероятностью всё заработает и без переделок - периферия у разных контроллеров NXP весьма совместима.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...