Просмотр полной версии : ПЛК304. Пропадает флэшка.
arsenius
23.02.2016, 00:02
Всем привет! Пишу файлы рутинно при помощи команд SysFileOpen и SysFileWrite. Каждый час меняю имя файла. Всё пишется нормально несколько часов, потом сбой. SysFileOpen возвращает 16#FFFFFFFF. При просмотре с помощью WinSCP папка sda1 по mnt/ufs/media/ не обнаруживается, хотя никто флэшку не трогал из разъёма.
Какие будут рекомендации?
этого описания проблемы мало, сохраните в файл вывод команды dmesg, это как минимум
arsenius
23.02.2016, 11:47
Эту команду после очередного сбоя ввести через гипертерминал и кабель КС-06?
я пользусь езернетом и прогой putty
arsenius
23.02.2016, 14:55
Да, какие-то подозрительные буковки про USB были в логе, но для чистоты эксперимента перевключил контроллер. Пока мониторю.
arsenius
23.02.2016, 19:24
Поймал пока это, но до этого лог был информативнее. Половлю ещё. 22814
Со строки 313 по 330 - реакция на нажатие правой кнопкой мыши. Далее повторная команда dmesg.
По состоянию файлов на момент сбоя система отработала три часа.
22815 Это лог при нормальной работе.
ошибки чтения могут возникнуть если в проге какой то баг, пытающийся каждый цикл читать файл,недождавшись завершения предыдущей операции чтения. Попытайтесь создать проект с нуля с одним только чтением файла, строго соблюдая условия однократного выполнения функции чтения, если ошибка себя не проявит, значит нужно пересматривать построение основного проекта
arsenius
23.02.2016, 20:11
В проекте происходит только запись файла. Если не считать попытку открытия. Шаблон взял из примера http://www.owen.ru/forum/showthread.php?t=23369&page=4
Tenzo_chemodan_final.projectarchive. Ничего принципиально не менял, кроме добавления дополнительных колонок данных.
arsenius
23.02.2016, 23:14
Пока два предположения. 1. Пишу раз в пять секунд - предыдущая операция однажды не успевает завершиться. Время до сбоя всё время разное. 2. Что-то с флэшкой. Перед использованием форматировал, но быстрым форматированием. Может и размер флэшки превышает допустимый?
arsenius
24.02.2016, 10:53
22826 другая флэшка, тоже на 4Гб, но форматированная не быстрым способом. Сбой после двух с половиной часов работы.
Изменил период записи до 20сек и параллельно начал аналогичную операцию на microSD, но с прежним периодом - 5сек. Мониторю...
arsenius
24.02.2016, 13:04
С 20сек USB-flash проработала полтора часа. Лог поинтереснее, даже кажется с демонтированием флэшки системой. 22831
MicroSD пока пишется.
arsenius
24.02.2016, 15:12
MicroSD пишет до сих пор. Причём даже после того как я её на горячую вытащил и обратно вставил.
USB не радует. А нужна работа именно с USB флэшкой...
arsenius
25.02.2016, 08:42
MicroSD отработала всю ночь без вопросов. USB отвалилась через полтора часа работы.
попробуйте записывать файл посредством линукса, через бибку sysexec, например http://www.owen.ru/forum/showthread.php?t=16717&p=130917&viewfull=1#post130917
arsenius
25.02.2016, 14:58
А теперь самое интересное. Выдохнули? Не пишу на флэшку вообще ничего. Отваливается. 22856
Круг поиска сузился?
arsenius
26.02.2016, 13:49
Пробовал другую флэшку. Пробовал вместо FAT32 форматировать в FAT. Ничего не помогает. Отваливается и всё. Смотрю в WinSCP. После включения есть папка sda1 и содержимое. Пара часов работы, сперва пропадает содержимое, а затем и сама папка исчезает. Не может быть, что это только у меня такое. Или это брак?
не пропай встречается в 304-ых, возможно при продолжительной работе от нагрева что то отслаивается из контактов
arsenius
26.02.2016, 15:13
Ого! Ну если только непропай во флэшках. Ведь контроллер обесточивался на секунду перед очередным тестом, и флэшка не вытаскивалась. Но в экспериментах применяются две флэшки. И говорит ли о чём нибудь лог линукса? Не уж то непропай можно прочитать между его строк?
так задайте строчку из лога
irq 23 nobody cared (try booting with the irqpoll option)в гугле и посмотрите
arsenius
26.02.2016, 16:50
Ну уж нет. Не полезу я паяльником тыкать в кортекс. Надеюсь техподдержка прольёт свет.
Кстати, залил пустой проект. Флэшка держится три часа. Но в экспериментальном проекте операции обращения к ней я обходил жёстким условием, так что не знаю в чём тут разница. Рухнет она тут в выходные на работе или нет, но проект позже тут выложу. Я уж даже стал надеяться на кривизну рук.
arsenius
03.03.2016, 09:47
Итак. Провёл серию экспериментов с ожиданием результата не менее 8 часов работы контроллера. Выходит, что к "отваливанию" USB-носителя приводит просто использования функций из библиотеки SysFile. Причем работа функций успешна на microSD. Вот проект 22957. В подпрограмме Archive2 вызывается кусок кода Archiv в котором пишется архив на microSD. В первой строке стоит условие. Когда я его задаю жёстко на обход кода записи, тогда USB флешка не вылетает. По крайней мере с конца рабочего дня до его начала. Если ставлю как стоит в этом проекте, то есть как и положено, USB отлетает. На какой час не скажу, рядом нет, но я думаю через 2-3 часа, как это было ранее.
Лог puttyна прилагаю. 22958
Что скажете, господа специалисты?
там бибку sysexec так значит и не попробовали, раз считаете что sysfile виноват
arsenius
03.03.2016, 10:20
Дело не в интересе - "заработает или нет". Как альтернативу ArchivatorLib мне предложили вариант с sysfile. С примером. К сожалению я не гений программирования и ограничен во времени. Насколько я понял sysexec это выполнение консольных команд из runtime моего кода. На мой взгляд это выход в космос, не исследовав атмосферы. А в этом космосе может быть всё что угодно. Я б с удовольствием, если бы работал инженером проекта по разработке и поддержке ПЛК304 :)
какой космос, за Вас в файл будет писать сам Линукс, от Вас требуется только составить строку данных, в переди добавить команду эхо, а в конце в какой файл и каким образом писать. Вы уже неделю экспериментами занимаетесь на пустом месте,хотя хватило бы часа освоить простейшие команды линуксе и работы с другой бибкой
arsenius
03.03.2016, 10:49
Я уже подчёркивал, что не на пустом. Эксперименты - залил утром, в конце дня проверил. Сильно не напрягаюсь. Выходить за рамки runtime не хочу, суеверен. Хочу услышать мнение разработчиков.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot