Как мне сопоставить четыре физических адреса Cortex M0 в одном массиве для разделения битов?

В моей конструкции Cortex M0 у меня есть старое оборудование, которое прошло много обновлений и имеет 128 битов unit_enable, которые выделены четырем физическим регистрам по адресу 0x40000000 + 4*[0, 9, 18, 20]. В моей прошивке я хотел бы использовать unit_enable[128] для адресации каждого из битов для R/W, как если бы это был массив. Я просмотрел некоторые документы по ARM, но безрезультатно. Как я могу это сделать?

1 ответ

Процессоры ARM Cortex-M0 и Cortex-M0+ не имеют функции битовой полосы. Можно использовать упаковщик шины, чтобы добавить функцию битовой полосы к процессорам Cortex-M0 и Cortex-M0+. В этом случае оболочка шины должна сохранять правильный порядок памяти.

источники

Набор для разработки систем Cortex-M (CMSDK) включает в себя пример модуля, упаковщика битовой полосы AHB ( cmsdk_ahb_bitband.v), который обеспечивает функциональность битовой полосы для процессора Cortex-M0 и Cortex-M0+.

Однако этот SDK предназначен для разработчиков микросхем и FPGA, работающих с процессорами Cortex M.

Другие вопросы по тегам