Как заменить файлы в жирном разделе на этапе u-boot

В системе есть MMC с разделом FAT. Раздел FAT содержит несколько файлов, два из них называются file_A и file_B. Мне нужно подготовить сценарий для переключения между файлом_A и файлом_B на этапе u-boot, не зная заранее размер файла. Я думал использовать команды fatload и fatwrite. Я без проблем загрузил файл в оперативную память, используя fatload, используя: fatload mmc 0:1 0x0 file_A

Теперь у меня есть проблемы с копированием файла, находящегося в ОЗУ, в раздел fat с помощью fatwrite, опять же, я не знаю размер файла заранее (я заметил, что информация о печати fatload содержит размер файла, может быть, я могу его использовать как-то?).


person Ofir    schedule 01.10.2020    source источник


Ответы (1)


Большинство команд для загрузки чего-либо в память устанавливают переменную filesize в значение, которое было загружено в память.

person Tom Rini    schedule 01.10.2020
comment
Привет. Я использовал переменную размера файла, как вы предложили, но столкнулся с некоторой проблемой. Это не связано с исходной проблемой. Похоже, что копия повредила раздел. Я использовал команду fatload для загрузки файла по адресу 0x0 в ОЗУ. затем я использовал жирную запись и переменную размера файла, чтобы скопировать файл из ОЗУ. При сравнении исходного файла с новым файлом я получил эту ошибку: fat_get_cluster: недопустимая цепочка кластеров - person Ofir; 04.10.2020
comment
Не зная, какую версию вы используете, возможно, это проблема, которая была исправлена ​​выше по течению. В противном случае, пожалуйста, сообщите об этой ошибке в список рассылки U-Boot, спасибо. - person Tom Rini; 05.10.2020
comment
О версии сообщу завтра. U-boot предполагает обновить таблицу размещения FAT, верно? - person Ofir; 05.10.2020