ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
924589
maizezoidberg (31.05.2019 10:40, просмотров: 9404)
Бьются данные на карте памяти FATFS STM32L496. Имеется STM32L496ZG, на борту свежая сборка FreeRTOS и FATFS с последними патчами от Чана. Работа с картой организована через SDIO и DMA (4 бит шина). Еррату прочитал. Иногда бьются данные на карте памяти при записи. Система ошибок не выдает, FAT и SDIO исправно выдают RESULT == FR_OK. Чекаю все данные до записи - все ок. Симптомы такие, будто бьется пару бит при записи. Такое бывает крайне редко. Решается заменой карты памяти, но это не точно. Пример: пишу блок 2048 байт (4 блока по 512 байт) в котором в заголовке есть константа-маркер 0x5424 на выходе в файле 0x5524, т.е. побился один бит. В следующей группе блоков снова валидные данные 0x5424, константу не трогаю, т.е. в памяти она больше нигде не завязана и задается 1 раз при создании файла и инициализации работы всей системы. Находил похожие симптомы в интернете, связаные с выравниванием буфера на 4. Но у меня буфер выровнен на 4 и размером ровно с сектор 512 байт. - т.е. как бы отпадает. Версии FATFS и FreeRTOS значения не имеют.. Также иногда дохнут наглухо карты памяти. Из серии приборов 1000 штук - по 30 карточек стабильно сваливается. Раньше такого не наблюдалось. Может подскажете идеи, что проверить?