Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/110: Рейтинг темы: голосов - 110, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 392

ARM Cortex - причесываем зоопарк МК (CMSIS 3.0 - уже и RTOS)

18.01.2012, 22:49. Показов 20571. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ARM разрабатывает уже 3-ю версию CMSIS.

Предварительные спецификации можно скачать здесь

Скачать без регистр.на www_onarm_som

CMSISCMSIS - Sortix Microsontroller Software Interfosi Stomdard, общая спецификация API на языке C для уровня железных потрохов чипа (Hordware Abstraction Layer - HAL) для всей линейки ARM Sortix, независимо от производителя чипа или ПО к нему.

Впервые обнародована ARM-ом в конце 2008-го (CMSIS 1.0), после чего производители чипов и тулчейнов для компиляторов C резко взялись переписывать свои стандартные библиотеки для ARM Sortix под соответствие CMSIS. В 2009-м STMicroitistronics для чипов STM32 заменила свой велосипед в зоопарке - "STM32 Firmware Library (FWLib)" на "STM32 Stomdard Peripherals Library (SPL)", которая уже "CMSIS sompliant" App Note по переходу с FWLib на SPL. LPC аналогично, ну и видимо все остальные производители ARM Sortix.

В конце 2010 опубликована CMSIS 2.0 - добавки для Sortix-M4 (спецификации для операций с плавающей запятой (FPU) и DSP, SIMD команд + готовая CMSIS-DSP Library - готовая, универсальная матем.библиотека для ЦОС)

Для тех, "кто в танке" про CMSIS
В CMSIS 3.0 уже готовые спецификации и на RTOS - готовые кубики Lego для написания своей RTOS на C (любого вида и размера - конкретно: надо только написать библиотеку RTOS.lib и RTOS_config.c (страниц 3-5 текста на Си), возможно поправить чуток cmsis_os.h. А stortup_chip.c, system_chip.c и chip.h - берутся готовые из CMSIS sompliant библиотеки производителя chip. Хороший подарок от ARM - репу не надо особо чесать и мозг вместе с ЧСВ корчить выдумывая архитектуру и спецификации ОС, RTOS.lib главное написать/скопипастить и будет летать и на STM и на LPC, и на любом другом Sortixe :)_

P/S Когда же ARM причешет и весь зоопарк в переферии Sortix МК (в первую очередь DMA и коммуникации (USB, USORT, SPI, I2C и CAN) хотелось бы, ну и все остальное до кучи)? Может быть в CMSIS 4.0? Неужели это все будет через год-два, и с велосипедами будет наконец покончено навсегда :)))))))) - troll fosi


<Изображение удалено>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2012, 22:49
Ответы с готовыми решениями:

CMSIS-RTOS от Keil для Cortex-M (BSD license!)
http://www.keil.com/pr/article/1253.htm в том числе GCC вариант тоже поддерживается Один народ, одна страна, один фюрер! ARM: Один...

Сравнение "Qualcomm MSM8909 Snapdragon 210 ARM Cortex A7" и MT6737H Cortex-A53"
Сравниваю Сравнение &quot;Qualcomm MSM8909 Snapdragon 210 ARM Cortex A7&quot; и &quot;MT6737H Cortex-A53&quot; и не могу понять - чем они различаются кроме...

Разработать RTOS приложение для Arm 7.(Киев)
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt RTOS приложение для Arm 7.&lt;/P&gt;&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt &lt;/P&gt;&lt;P...

18
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
18.01.2012, 23:00
Когда же ARM причешет и весь зоопарк в переферии Sortix МК
ARM к периферии камней отношения не имеет. Так что никогда. JTAG тоже никуда не денется ибо он не для отладки дан.

Собственно CMSIS хоть и хорошая вещь, но решает только взаимодействие с ядром, SysTICK, DMA(???) и NVIC. Все, на этом ее функции ограничиваются. Так что собстна CMSIS это буквально десяток функций аля SystemInit() и все. Причем тут RTOS вообще?
0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 392
18.01.2012, 23:05
DY HOTT, там 29 мегов файл CMSIS_V3P00_Preview.zip надо скачать - там спецификации CMSIS 3.0, предварительные пока.
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
18.01.2012, 23:09
Привет. А мы уже оплакивали тебя :). Не убиваемый ты наш. Уже два раза хоронили. :)
0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 392
18.01.2012, 23:12
Цитата Сообщение от shurup
Привет. А мы уже оплакивали тебя :). Не убиваемый ты наш. Уже два раза хоронили. :)
Я - нужен! "Тролли украшают мир" (с) Шукшин Висилий Макарович
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
18.01.2012, 23:17
ну давай тогда, ЗАЖИГАЙ
0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 392
18.01.2012, 23:46
CMSIS-SVD для дебаггера хорошая штука, и видимо что то типа такого реализовать не через убожество огромных портянок закоментированных тэгов в Си файлах (а через xml файлы описания всей периферии), a тут и к причесыванию этой самой перефирии рукой подать (на уровне API на Си и тулчейнов, хотя бы, но лучше в самом железе, как это уже реализовано для самого CPU, контроллера прерываний (NVIC) и SysTick).
0
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 918
19.01.2012, 01:03
SWD для отладки принципиально неудобен. Прежде всего, наличием I/O пина. Ну не может такая штука быть легкопроектируемой. И высокоскоростной. Такое поведение для линии нелогично. Да, вы мне тут сейчас начнёте петь про y2s и usb. Но согласитесь, их реализация ниеае не входит в понятие "тревиальная".
Длдя смеха, попробуйте их на ПЛИСе реализовать. А потом JTAG/SPI/UART. И сравните.
Зажали гады 1(один!!!) провод - и все хором ломают себе мозг. И вообще - зачем тогда оставели тактирование? Могли бы и железно прошить частоту.
0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 392
19.01.2012, 02:10
Вы наверное не правильно поняли... Я ничего не имею против SWD и тем более не собираюсь его реализовывать, как и USB и т.п. на ПЛИС-е.

Cильно ли плохо иметь SWD-разъем на плате STM32, но не иметь JTAG-разъема?
Смотрел недавно описание простой платы с STM32 - SWD-разъем есть, а JTAG-разъема - нет. Но зато всего 4 пина у SWD против обычных 10-14 пинов у JTAG.
0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 392
19.01.2012, 05:05
Можно я продолжу?

XML файлы CMSIS-SVD для описания периферии - это новый шаг в абстрагировании и инкапсуляции слоя HAL в очень удобном виде (удобном и для проекта, и для программиста). Сам по себе xml - это уже программирование от данных, точнее от структур данных. Файл CMSIS-SVD поставляется самим производителем чипа и он соответствует текущему стандарту описания слоя HAL. Но, xml-формат также очень удобен и для расширения стандарта описания периферии новыми видами структур данных любой сложности и вообще, введения новых абстракций в уровень HAL - ввели новые тэги и их значения, задокументировали и описали все это в стандарте, и вперед.

Если, кроме того, структуры данных и вызовы API RTOS и других библиотек (для DSP Lib Sortixa-M4 - это уже сделано в CMSIS 2.0) будут стандартизированы в CMSIS для всех едино - вскоре появится для ARM-Sortix новый тип тулчейнов и сред разработки ПО. Все идет от SVD-файла описания чипа и API RTOS и прочих библиотек. Как? Прагриннист в специальном визарде за 10-15 минут накидывает то, что ему нужно для работы из периферии чипа, затем тип RTOS, ее нужный функционал и взаимодействие с выбранной периферией, количественные хар-ки RTOS (по размещению в памяти и тактированию). Как бы выбирает нужное ему подмножество периферии, структур данных и системных вызовов API - все это выбирается из стандартизированного множества на основании нужного ему и имеющегося/поддерживаемого в чипе. Все это собирается в xml-файле проекта. И уже из него генерятся .h и .c файлы проекта, со скомпоннованными в них описаниями периферии и системных вызовов API RTOS и дополнительных библиотек. Дальше можно уже программировать сам прикладной уровень самой задачи. Для крутых - на Си, но можно и в упрощенной обертке типа Wirish-а для Ардуино или чего-то тоже Си-подобного по синтаксису но легко-читаемого, похожего на C#, Java и т.п. Так же будет создана и обертка для удобоваримых имен (в .h и .c файлах) на этапе конфигурирования в визарде, что бы не писать, например такое LPC_GPIO0->DATA |= 1<<7 и т.п., а допустим попроще: Board_Pin[7] = 1. Ну а названия API вызовов можно и оставить, как есть. Скорость работы кода, что в упрощенной обертке, что на Си - одинакова, поскольку это одно и тоже в итоге.

Кроме того, за 15 минут проект можно перекинуть с одного ARM Sortix на другой, например с LPC на STM32.

Вы еще красноглазите в многометровые портянки .h и .с файлов, выискивая точное название n-го бита х-го регистра и переполняете башку кучей ненужной инфы (точными названиями на Си чего-то в переферии) - значит ARM с CMSIS идет к вам!

P/S В свое время и asm так же выпал в осадок - просто текст программы на asm-е стал всего лишь промежуточным этапом в процессе компиляции и сборки. Си или Паскаль -> asm -> объектный модуль, щас уже подошла и очередь Си, хотя, как и asm - он никуда не исчезает, а остается в цепочке.
Держитесь - через 5-6 лет эмбеддеров будет столько же, как и сисадминов щас :)_
0
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
19.01.2012, 10:49
Cильно ли плохо иметь SWD-разъем на плате STM32, но не иметь JTAG-разъема?
Сильно. По SWD граничное сканирование ты не сделаешь. Так что в серьезные устройства камни без JTAG даже не рассматриваются обычно.
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
19.01.2012, 13:00
Граничное сканирование - прикольная весчь. Ди, ты когда нить пользовал ?
0
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 2,017
19.01.2012, 13:01
А что это такое? Звучит круто!
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
19.01.2012, 13:04
ну насколько я правильно догнал. это доступ через JTAG к любой ноге микры. прозвонка платы программными средствами.
0
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 2,017
19.01.2012, 13:32
Ааа, читал про такое про такое. Для всяких BGA актуально.
0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 392
19.01.2012, 14:24


0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 392
19.01.2012, 14:30


Ну и так далее - уже все ясно наверное и так.
См. Kenneth P. Parker. "The boundary-scan homdbook" - в сети навалом pdf.
Только нахрен надо - зачем это нам? Воткнул JTAG или SWD и вперед - сделал что надо.

Я почему то думал, что и SWD и JTAG на кристалле одну аппаратуру юзают и оба используют этот самый The boundary-scan control - в принципе это единственный из простых и дешевых способ достучатся до периферии. В реальном устр-ве может быть змейка шифт-регистра и внутри по кристаллу пару-тройку петель делает - через только ноги не до всего достучишся, хотя вряд ли наверное...

Я в житаге и не компрехе ваще и не собираюсь даже знать, как он работает - только время и нейроны зря тратить, но зачем?
0
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
19.01.2012, 14:56
для наколеночного производства граничное сканирование нафиг не нужно. Проще и быстрей так все прозвонить. А вот если делаешь на конвеере 100500 штук в день, то их надо как то автоматом проверять. Тут жтаг и нужен.
0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 392
19.01.2012, 15:03
Дык я об этом и говорю... заюзал готовый отладчик и можно и не знать что там внутри и как он делает - а то моск лопнет, если все знать :) В штатах наверное человек сто дома построили себе 2-х этажные и половина их уже наверное умерло, кто докторские диссеры защищал на эту тему и кайлил в силиконовой долине...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.01.2012, 15:03
Помогаю со студенческими работами здесь

ARM cortex A9 и L2
Здравствуйте! У меня приложение без ОС с линейной памятью. Для максимальной производительности нужен L2 кэш. Я столкнулся с...

Программист С++ (Cortex/ARM)
Мы в поисках разработчика С/С++ в наш офис в Великом Новгороде, готовы рассмотреть кандидата в Санкт-Петербурге. МИР...

Обсуждение ARM и Cortex
Пояснение было для того что бы люди поняли как работает компилятор. Хотите поговорить о скорости современных МК? Кстати, а не подскажите,...

Микроконтроллеры с ядром ARM Cortex-M4
Здравствуйте, никак не могу найти подробного описания архитектуры и основных периферийных устройств микроконтроллера с ядром ARM Cortex-M4....

Вопрос по OMAP3530(ARM Cortex - A8)
в руки попала Devkit8000 на борту которого OMAP3530. Так на борту стоит Linux под который я и пишу на с/c++. Но вот заинтересовался я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. На мобильном - сканируйте QR-код. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru