реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Микроконтроллеры Cortex-Mx и библиотека CMSIS
koluna
сообщение Mar 21 2012, 06:43
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



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

Начал осваивать Cortex'ы.
Имеет ли смысл использовать CMSIS?
Насколько она стабильна и безбажна?
Реально ли упрощает жизнь в плане портирования на Cortex'ы других производителей и т. п.?


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
PoReX
сообщение Mar 21 2012, 07:02
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Цитата
CMSIS это стандартная для всех кортексов библиотека. Как бы единый стандарт описаний ресурсов. Благодаря ей легко таскать код с одного вида ARM Cortex контроллеров на другой. Конечно периферия у всех армов разная, даже в пределах одной линейки, но вот доступ к регистрам периферии из Си стандартизирован и описан в CMSIS
© Easyelectronics.ru
Если тебе удобней работать напрямую с адресами регистров, то можешь ее не использоватьsm.gif
Кстати многие путают CMSIS и StdPeriph Library у STM - это разные вещи.

Сообщение отредактировал PoReX - Mar 21 2012, 07:04


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
koluna
сообщение Mar 21 2012, 08:06
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(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" нормально?
Платформы - винда и Убунта.

Сообщение отредактировал koluna - Mar 21 2012, 08:01


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
PoReX
сообщение Mar 21 2012, 09:24
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Цитата(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 другого компилятора и нету, так что выбирать не приходится.



--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
koluna
сообщение Mar 21 2012, 10:11
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



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


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

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


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

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





--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
PoReX
сообщение Mar 21 2012, 10:20
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



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

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


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 21 2012, 10:38
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
PoReX
сообщение Mar 21 2012, 13:38
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Там вопрос спорный, кто прав, а кто нет.


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
koluna
сообщение Mar 21 2012, 14:19
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(PoReX @ Mar 21 2012, 14:20) *
Да, глюков не замечено, при том что на работе все ею пользуются. Даже если в ней есть глюки, куда деваться, какие есть альтернативы? Работать на прямую с адресами регистров, так тут еще больше вероятность ошибок наделать, а CMSIS постоянно развивается.


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


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
PoReX
сообщение Mar 22 2012, 06:13
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



В основном да.


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
koluna
сообщение Apr 12 2012, 13:35
Сообщение #11


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Всем привет!

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


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Apr 13 2012, 10:14
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



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


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

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


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01476 секунд с 7
ELECTRONIX ©2004-2016