Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Работа с файлами в прошивке LTR-EU-2

Вы не вошли.

 Поиск | Регистрация | Вход 

Владимир_Edge
Вчера 10:50:54
#1

Гость

Работа с файлами в прошивке LTR-EU-2

Добрый день.
Подскажите пожалуйста, для создания файлов и записи на SD карту обязательно использовать EFSL библиотеку, предложенную в файлах прошивки, или можно использовать низкоуровневые функции, на подобии функции process_sd_test()(Проверка SD в crate.c).
Объясню в чем собственно проблема, при встраивании библиотеки EFSL и использовании некоторых ее функций, при включении крейта происходит его постоянная перезагрузка. Но при этом у вас в прошивке функция process_sd_test() всегда возвращает успех даже когда SD карта отсутствует, так как g_sdtest_result заранее определенна как успех, и если это исправить и запустить проверку, так же происходит перезагрузка.
Используется SDHC карта 32ГБ, предварительно отформатированная на FAT32.

Вчера 16:58:12
#2

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,367

Re: Работа с файлами в прошивке LTR-EU-2

Добрый день.
Попробуйте взять последнюю версию исходных кодов прошивки (https://www.lcard.ru/download/user/ltr/ … master.zip, версия 3.0.0.17, номер соответствующей версии прошивки можно посмотреть номер в init.c). В ней там как раз были правки по поводу перезагрузки в  process_sd_test() из-за того, что не всегда успевал выполняться сброс сторожевого таймера. Попробуйте будет ли у Вас работать. При этом process_sd_test() тоже использует функции из efsl (функции if_xxxx). Возможно и в Вашем случая сходная проблема, что если функция долго выполняется без возврата управления, то можно не успеть сбросить сторожевой таймер и процессор перезагрузится.
По поводу флага g_sdtest_result, то запуск теста sd в штатной прошивке выполняется только по внешнему запросу (ltr030_CC_StartSDTest в ven_requests.c), который устанавливает g_sdtest_result в 0xFFFF, если Вы хотите при старте ее выполнять, то нужно либо при старте устанавливать эту переменную, либо поменять логику функции.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4

Многоканальный телефон:+7 (495) 785-95-25

Письма и запросы: lcard@lcard.ru
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск