[an error occurred while processing this directive]
|
Заметил потерю первых байт при начале передачи по PPI при интенсивной работе с SDRAM. Считывать пытался данные из SDRAM. Если данные считывались из внутренней памяти BF532 то было всё нормально. Написал тестовую программу в которой непрерывно производилось чтение SDRAM по DMA. Одновременно считывал из неё же данные по PPI на частоте 24 МГц. И вот что обнаружил, что время доступа к памяти SDRAM по PPI в таком режиме составляет около 1 мкс при тактовой частоте внешней шины 80 МГц! Т.е. примерно 80 тактов! Никаких обращений ядром к SDRAM не происходило, поэтому этот бит в EBIU_AMGCTL не менялся. Победить это не смог. Пришлось извращаться и считывать данные маленькими пакетами по 16 байт из FIFO :-(. Благо объёмы данных передаваемых по PPI не большие. Есть правда одно замечание - при работе с PPI чтобы притормозить передачу по ней я отключал тактовую. Может это как то влияло.