ELIoT
Какие режимы загрузки микросхемы предусмотрены?
Микросхема загружается либо из накристальной флеш-памяти, либо из накристальной OTP-памяти, либо из внешней флеш-памяти.
Предусмотрена ли возможность формирования программных DMA-запросов, т.е. запросов по инициативе
программиста, а не по инициативе связанного с периферийного блока?
Выбор типа запроса (программный/аппаратный) выполняется битами HS_SEL_SRC, HS_SEL_DST регистра CFGx канала DMA.Сами запросы формируются с помощью регистров, описанных в руководстве пльзователя в разделе 23.7.5 "Регистры Интерфейса Запросов".
Какие аппаратные средства предусмотрены для синхронизации работы двух ядер? Например, как обеспечить
монопольный доступ одного ядра к определенной ячейке памяти или периферийному устройству? В
некоторых зарубежных МК для этого предназначены аппаратные семафоры.
Для синхронизации в архитектуре ARM v8-M предусмотрены эксклюзивные обращения (Chapter B7 Synchronization and Semaphores, ARM v8-M Architecture Reference Manual). Подробнее здесь - https://www.st.com/resource/en/programming_manual/pm0264-stm32-cortexm33-mcus-programming-manual-stmicroelectronics.pdf, 2.3.8 Synchronization primitives. В ELIoT01 эксклюзивные обращения поддерживаются для всех банков SRAM0,1,2,3.
Как отдавать команды SD карте в процессе её инициализации и для записи/чтения данных, в каком
формате записывать данные в FIFO для пересылки между CPU и контроллером, по какому адресу
расположено FIFO?
Для работы с портом SDMMC есть соответствующий драйвер, который также будет входить в состав SDK для отладочного модуля. Данный драйвер включает в себя решение для всех указанных вопросов.
Есть ли встроенный загрузчик для UART?
Возможность загрузки по UART есть: данные можно принимать во встроенную flash по нужному адресу. Загрузкой можно управлять пином GPIO (например, 1 - загрузка во flash, 0 - исполнение программы). Встроенного загрузчика нет.
Возникла проблема с библиотекой для работы с флеш-памятью контроллера. Функция
Flash_WriteWord не записывает данные в память.
Выполнение FLASH_WriteWord из области флеш-памяти невозможно ввиду архитектуры
микросхемы. Следует переместить код FLASH_WriteWord в SRAM-память. Например, с использованием
атрибута .section: __attribute__((__section__(".ramfunc")))
Нужна информацию о процедуре калибровки процесса измерения температуры.
Для тестов ПО можно использовать такие коэффициенты:
wcal = 11'd1311;
tcal = 11'd129;
wtconf = 8'b00111101;
wtcalconf = 4'b0000;