Почему все ARM Cortex не одинаковы? - PullRequest
0 голосов
/ 27 апреля 2020

Некоторое время назад я думал, что увеличу свою игру и перейду "вверх" из Arduino к чему-то более причудливому. Платформа nRF52 от Nordi c Semiconductor выглядела очень хорошо, так как я хотел играть с Bluetooth. Итак, я получил DK (комплект разработчика).

У меня все работает, и я могу создавать и развертывать код. Но я скучаю по богатой платформе, которую Arduino имел с библиотеками и прочим. Теперь я знаю, что вы можете запустить Arduino на nRF, но он не будет полностью функционировать.

У меня есть пара датчиков I2 C, которые я хотел бы попробовать, и с Arduino кто-то уже сделал он и сделал библиотеку, супер приятно. Для нрф? Не так много. Это трудоемкая работа через таблицу данных и выяснение всех команд активации, времени и тому подобного.

Итак, я осмотрелся ... Платформа STM32 также начинает выглядеть действительно хорошо. Но подождите немного, на ARM Cortext M4 работает и STM32, и nRF52 (STM32 работает на нескольких). Что мешает мне использовать те же библиотеки, которые были разработаны для STM32 на nRF52?

Я быстро взглянул и даже системные вызовы c для задержки отличаются, почему это так? Разве они не делают одну и ту же инструкцию для процессоров для задержки? Что такое Cortex M4? Просто «пустая» архитектура, на которую любой мог бы лицензировать и добавить, например, стек Bluetooth, как это сделал Nordi c со своим nRF? И можно ли по-прежнему использовать функции generi c для ожидания / задержки? Для nRF52 - nrf_delay_ms, на STM32 - HAL_Delay. Каждый производитель должен внедрить весь свой набор инструкций на чипе? И, таким образом, не делает какой-либо код перемещаемым даже для его сборки на чипе Cortex M4?

1 Ответ

0 голосов
/ 28 апреля 2020

Ответ прост.

Потому что они производятся разными компаниями. ARM Cortex - это ядро, лицензированное разработанным и лицензированным ARM Holdings. T

Периферийные устройства разработаны и внедрены фактическим поставщиком кремния. У каждого свои. Если вы решите выйти на этот рынок, вам нужно будет спроектировать (или лицензию от кого-либо) свои периферийные реализации.

...