Регистры архитектуры процессора против регистров MCU - PullRequest
0 голосов
/ 20 сентября 2018

В настоящее время я изучаю микроконтроллеры и процессоры, и у меня есть пара вопросов о некоторых различиях между ними.Как я понимаю, MCU содержит процессор, который реализует архитектуру процессора.Например, я использую микроконтроллер SAML22 с процессором ARM Cortex M0.Таким образом, он будет иметь следующее:

Архитектура - ARM

Процессор - ARM Cortex M0

MCU - SAML22

Являются ли регистры, которые я собираю изSAML22 данные, связанные с ARM Cortex M0?Если да, то как?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Нет, таблица данных микроконтроллера описывает периферийные устройства, которые не являются частью ядра ARM.

SAML22 имеет ядро ​​Cortex-M0 +, которое описано в документах ARM «Техническое справочное руководство» (TRM), DDI0484) и менее подробное «Общее руководство пользователя устройства» (DGUG, DUI0662) .

0 голосов
/ 20 сентября 2018

Вы пытаетесь это усложнить.MCU имеет процессор.Процессор имеет процессор.были процессоры, которые вы можете найти как на MCU, так и на SOC с поддержкой linux (не только rtos или uclinux).Это все равно, что иметь на своем газонокосилке двигатель мощностью в несколько лошадиных сил, а также иметь такой же или подобный на вашей тележке для гольфа.Или как школа из кирпича или дом из кирпича того же стиля или стиля.Не зацикливайтесь на этом.Особенно с остальным вопросом, который не имеет никакого отношения к процессору, используемому в чипе.

Atmel хочет создать микроконтроллер, поэтому либо для создания, повторного использования или для покупки процессора у них есть хотя бы один, если не больше, процессоры, которые являются их IP-адресами, но они предпочитают покупать чужой IP-адрес.Теперь они хотят обернуть какую-то логику вокруг этого, они могут использовать некоторые из своих собственных IP-адресов или купить некоторые.Каждый основной блок - это новое обсуждение.Делают ли они свои собственные бородавочки с нуля, берут ли они бородавку, которую они создали много лет назад, и используют ли они снова, или покупают бородавку?Делают ли они АЦП с нуля, берут ли они АЦП, которые они изготовили много лет назад, и используют ли они, покупают ли они у кого-то дизайн АЦП и используют его?Повторите эти действия для каждого основного или второстепенного блока в дизайне.Точно так же, как Honda делает автомобиль, какие части они собираются изготавливать сами и какие части они собираются покупать, и имеет ли это какое-либо отношение к дизайну, который они сделали много лет назад, или к автомобилю размером с грузовик против компактного автомобиля, они обаиметь четыре колеса, двигатель и несколько сидений, в некоторых случаях могут совместно использовать одни компоненты, а другие совершенно несовместимые компоненты.но это та же самая история, мы делаем место, используем то, что у нас уже есть, покупаем одно.сделаем ли мы зеркало заднего вида, используем ли мы уже имеющееся у предыдущего дизайна, или купим их у кого-то другого.решение о зеркале заднего вида, скорее всего, не имеет ничего общего с решением о месте.

Регистрирует это просто термин - вещь, в которую вы записываете / храните некоторую информацию. У уартов есть регистры, чтобы заставить его работать.Процессор обычно имеет регистры, чтобы заставить его работать.АЦП обычно имеет регистры, чтобы заставить его работать.Считайте каждый из этих блоков разделимым.

Ядро процессора - это логический двоичный объект, который программируется в том смысле, что у него есть набор правил, а его основной интерфейс - это шина памяти, в которой он является ведущим, и который он ожидает найти при извлечении инструкций в соответствии со своей конструкцией.это говорит ему, что делать, до производителя микросхемы, чтобы связать это с чем-то, что будет давать ему инструкции.Он может иметь несколько линий прерывания и несколько других вещей, но его основной интерфейс - это шина памяти.«Регистры» внутри являются частью дизайна, к которому обращаются внутренние компоненты процессора, и обычно не отображаются в память.

Uart - это логический двоичный объект, который программируется, имеет своего рода шину памяти / интерфейса, где он обычно является подчиненным.Он также имеет некоторые другие сигналы, которые выходят из микросхемы, RX, TX, RTS, CTS, DTR ... Регистры внутри UART адресуются через интерфейсную шину и используются для обеспечения работы Uart.Поставщик микросхемы должен подключить эту шину таким образом, чтобы она вписывалась в адресное пространство мастера шины, который прямо или косвенно может записывать / считывать регистры в UART, чтобы она работала.Он программируется в том смысле, что программирование регистров в соответствии с его спецификацией заставляет его работать.

АЦП - это логический блок, который иногда оказывается программируемым, а иногда нет.Сам конвертер обычно нет.Но при использовании в чипе, который делает больше, чем просто ADConversion, будет добавлен дополнительный логический блок, обернутый вокруг АЦП, чтобы сделать его программируемым, и этот логический блок будет иметь своего рода интерфейсную шину, где он является ведомым.Поставщик микросхемы должен подключить эту шину к мастеру шины, который каким-то образом способен программировать АЦП на выполнение каких-либо действий.

Это не ограничивается микроконтроллерами на базе ARM.Вы заглядываете внутрь процессора Intel x86, там есть сторонний IP, который не изобретен и не создан Intel, может быть, многое из этого, но не все.То же самое касается почти всех остальных.

Микросхемы на базе процессоров - это просто машины с сиденьями и двигателем и колесами, которые были в соответствии с той конструкцией, полученной откуда-то, а затем взаимодействовали друг с другом, используя больше IP-адресов от кого-либо, будь то домаили нет.

Для любого из этих чипов у каждого IP-объекта есть документация UART, документация ADC, документация ядра процессора.Иногда лицензионное соглашение не позволяет поставщику микросхем публиковать документацию, и вам нужно получить драйвер от них в виде пакета поддержки платы или SDK в той или иной форме, бесчисленное множество примеров этого с поставщиками микросхем, о которых вы слышали от atmel до intel toZilog.Аналогичным образом, существуют лицензионные соглашения или общие практики, которые определяют, какие части поставщик микросхем собирается документировать, а какие, а какие нет.Как правило, но не всегда, когда у вас есть ядро ​​ARM или MIPS в качестве части дизайна.Документация по процессору, как вы обычно делаете всегда, поступает от производителя процессоров, поэтому ARM, MIPS и т. Д. Uart, ADC и некоторые другие, будь то внутренние или приобретенные IP, обычно содержатся в документации производителей микросхем.Производитель микросхемы в идеале создал адресное пространство в правилах различных ip, поэтому поставщик микросхем часто документирует, где в адресном пространстве процессоров живет каждый логический блок, а затем вы переходите к документации по этому логическому блоку, чтобы увидеть, что представляет собой отдельный интерфейс управления.делать, регистры или память отображена в памяти.Хотя это не всегда так, как, например, в случае с uarts, вы иногда обнаруживаете, что это 16550-совместимый аппарат, и вам нужно найти документ 16550 у кого-то другого и самостоятельно соединить точки.Raspberry Pi включает в себя, например, другие периферийные устройства, где они в основном говорят, что это просто купленный рукой блоб, идите на вооружение для этого, или здесь есть капля, и мы не покажем вам, как она работает (но мы опубликуем драйвер для Linux и, еслистремясь вы можете перепроектировать из этого).

С продуктом Atmel, основанным на Microchip ARM, вы (как правило) идете в руки, чтобы получить информацию о ядре процессора, его регистрах общего назначения, а также о очень немногих внутренних по отношению к периферии ядра, таких как таймер с ручкой, если таковой имеется.,Uart, gpio, адресное пространство, spi, i2c и т. Д. Будут в одном или нескольких документах Atmel для этой части, они охватывают спецификации регистра для этих периферийных устройств.

Сколько документов требуется от производителя микросхем, который очень сильно зависит от производителя микросхем и с течением времени зависит от семейства или линейки продуктов.Некоторым поставщикам микросхем, как и некоторым покупателям, нравится, когда плата оформляется в один документ, обычно называемый таблицей данных.Распиновка, электроприборы и т. Д. И другие документы касаются спецификаций регистра UART и тому подобного.Некоторые проекты таковы, что они используют одни и те же основные компоненты.если у вас есть уарт, то здесь есть спецификация регистра, все наши уарты одинаковы.так что будет руководство для всех периферийных устройств микросхем и, возможно, процессора или, возможно, самого ядра процессора, в отдельном руководстве.В некоторых случаях с этим дизайнерским решением периферийные устройства, если они есть, всегда находятся по одному и тому же адресу или нет.Тот, о котором я думаю, вы найдете информацию о дизайне платы в таблице данных вместе с картой адресов, но остальная информация для программистов находится в справочном руководстве по семейству, поэтому вам нужны как минимум эти два документа.

И, конечно, есть поставщики, которые либо делают плохие документы с дырами в качестве печальной привычки, либо те, которые намеренно не предоставляют документацию без NDA, из-за страха, что конкурент может сделать клон, или просто привычку для этой компании.это идет далеко назад.Иногда эти закрытые книжные компании работают очень хорошо, иногда это причиняет им боль.Broadcom и allwinner, кажется, справляются, документы allwinner, как правило, остаются без внимания производителей микросхем, и я полагаю, что они не будут наказаны, но другие компании, которых вы получите за это, возможно, с финансовым или иным наказанием.Все это в юридическом соглашении.

Есть несколько периферийных устройств, в которых есть только один или два дизайна, и каждый просто покупает их, и, несмотря на то, что они не имеют документов, глядя на драйверы linux / unix, можно увидеть, что все используют один и тот же IP.,

Гораздо больше, чем вы просили, но по вашему вопросу вы могли бы сказать, что выбрали неверный путь.

Как правило, ARM не входит в число поставщиков микросхем, поэтому нет, вы его не найдететам.Иногда (редко) производитель чипов будет повторно публиковать документ руки полностью или частично.Лучше взять его прямо из руки.В случае cortex-m периферийные устройства на ядре находятся по фиксированным / хорошо известным адресам.Для cortex-a и более старых моделей arm11, arm10, arm9 ... Производитель микросхемы связывает базовый адрес периферии в адресном пространстве, которое они разработали для этого продукта, и периферийные устройства внутренней ветви, если таковые имеются, исходя из этого.поэтому вы можете найти два продукта, вероятно, от разных производителей с одним и тем же ядром, но периферия с отображенной памятью находится по разным адресам по этой причине.(в технических справочных руководствах по различным сердечникам кронштейнов).

...