Регистрация | Последние сообщения | Персональный список | Поиск | Настройка конференции | Личные данные | Правила конференции | Список участников | Top 64 | Статистика раздела | faq | Что нового v.2.3 | Чат
Skunk Forum - Техника, Наука, Общество » АСУТП »
ICP-DAS I-8831. Стерлась ОС. Как восстановить?

Версия для печати (настроить)

Новая тема | Написать ответ

Подписаться

Автор Тема:   ICP-DAS I-8831. Стерлась ОС. Как восстановить?
pizgin
Junior Member

Сообщений: 1
Откуда: Russia
Регистрация: Декабрь 2007

написано 18 Декабря 2007 14:28ИнфоПравкаОтветитьIP

В процессе отладки программы "Кончился" контроллер... В момент выхода из программы (стандартный выход по exit(1)), на консоли высветилась надпись [] EraseFlash и все. После этого контроллер стал неработоспособным. Перезагрузка не помогает. На команды с консоли не реагирует. Перестал светиться цифровой индикатор. Такое ощущение что стерлась прошивка. И самое непонятное - в ПО не используется работа с Flash памятью и что либо стереть в принципе нереально, потому как для этого ничего небыло написано. Откуда появилась эта надпись - без понятия...
Подскажите как быть в этом случае? Как восстановить ОС и что вообще происходит, из за чего стирается ОС? Можно ли приобрести программатор для этих флешек и попытаться восстановить его самостоятельно?
Спасибо.

bessonov3
Member

Сообщений: 44
Регистрация: Май 2007

написано 18 Декабря 2007 18:03ИнфоПравкаОтветитьIP

Virus?

pizgin
Junior Member

Сообщений: 2
Откуда: Russia
Регистрация: Декабрь 2007

написано 18 Декабря 2007 20:17ИнфоПравкаОтветитьIP

Нет. Какой может быть вирус? На всех машинах давно Linux... Шутки шутками, но это уже второй контроллер. Первый вырубился с этими же симптомами, только у него последней строкой была не EraseFlash а WriteFlash. Подскажите хоть с чем это может быть связано? Куда смотреть?

Repin
Junior Member

Сообщений: 3
Откуда: Минск
Регистрация: Декабрь 2007

написано 19 Декабря 2007 00:38ИнфоПравкаОтветитьIP

У ICPDAS часто проблемы с флэшпамятью возникают ... У меня пару лет назад подоьная проблема была.
Вскрыть корпус вынуть батарейку ... или плату с памятью ... потом все вернуть обратно.

MuadDib_guest
unregistered
написано 19 Декабря 2007 07:35  ПравкаОтветитьIP

Батарейкой или втыканием-вытыканием "платы с памятью" тут не помочь Хотя бы потому, что ни того, ни другого там нет (можно приобрести дополнительный модуль с паматью на батарейке, но к загрузке ОС он не имеет никакого отношения).
Образ ОС хранится на флешке, перепрошивка системы и ввод-вывод осуществляются именно ОС. Поэтому если контроллер не загружается, прошить ОС заново можно только программатором. Наши специалисты делали аналогичную операцию с 7188. Думаю, что с 8к - контроллерами можно провернуть то же самое. Для процедуры нужен сам программатор и рабочий контроллер, с которого можно слить образ флешки.

Вот только интересно, что за программулина вызывает такое поведение. Нельзя ли выложить исходник?

pizgin
Junior Member

Сообщений: 3
Откуда: Russia
Регистрация: Декабрь 2007

написано 19 Декабря 2007 09:53ИнфоПравкаОтветитьIP

Программы очень большие, выложить не получиться, первая была на 700 блоков, вторая примерно на 900 (т.е. к поломке приводили две разные программы).

У меня вопрос по типу микросхемы куда прошита MiniOS7. По корпусу это PLCC-32. А вот название и тип посмотреть не могу. Съемника для PLCC нет, а так снять не получается.
Никто случаем не знает как называется эта микросхема? Думаю программатор присмотреть.

Repin
Junior Member

Сообщений: 6
Откуда: Минск
Регистрация: Декабрь 2007

написано 19 Декабря 2007 12:18ИнфоПравкаОтветитьIP

*Батарейкой или втыканием-вытыканием "платы с памятью" тут не помочь
Делал это с i7188EXD и i7188D

MuadDib_guest
unregistered
написано 19 Декабря 2007 14:46  ПравкаОтветитьIP

2 Repin
Повторяю: MiniOS целиком хранится во flash памяти. Если она стерта, втыкать-вытыкать батарейку можно очень долго (там есть батарейка, которая питает часы, на загрузку и ОС она никакого влияния не оказывает). Есть дополнительные модули с памятью, где может хранится информация, необходимая для работы какого-то приложения (не ОС!), работающего на контроллере. Тогда да, манипуляции с этих хозяйством могут помочь. Но если при этом не затронута сама операционная система.

2 pizgin
А с чем еще связан глюк? То есть exit(1) сам по себе вызвал сбой или еще до запуска проги что-то делали? Может, что-то прошивали на флешку? У ICP DAS нет файловой системы, и я сталкивался с ситуацией, что при записи программы на флеш через load код влезал в область флешки, размеченную софтом для служебных нужд. В результате ничего не работало. Однако, ОС я не убивал ни разу. Может, ОС не защищает свой сектор и, если попробовать запихнуть большую прогу, она может попасть в область ОС? От китаез можно ожидать чего угодно.

Кроме того, размер проги очень уж солидный. Не используете ли вы С++ и, в частности, статические объекты с деструкторами? При вызове exit() последние вызываются...

По программатору. Наши ребята использовали Elnec beeprog, а вот какой сокет нужен, сейчас не подскажу. Узнаю - напишу.

pizgin
Junior Member

Сообщений: 4
Откуда: Russia
Регистрация: Декабрь 2007

написано 19 Декабря 2007 15:48ИнфоПравкаОтветитьIP

2 MuadDib_guest
Спасибо за информацию по программатору. По поводу что прошивали что-то - нет, т.к. не умеем. Максимальный размер программы (вычисленный опытным путем) это 960-1000 блоков. Если размер попадает в этот диапазон - программа будет вести себя совершенно непредсказуемо, если размер перевалит за 1000 - она не запуститься (контроллер будет перезегружаться). Все два случая были именно после выхода из программы. Т.е. человек во время отладки смотрит что есть ошибка (в смысле логическая), жмет кнопку которая вызывает exit(1) и выходит в консоль. Затем reset. И начинает все сначала. Так вот как раз во время выхода (до консоли дело не доходит), два раза в пол-года, возникла такая вот беда. Первый раз контроллер написал WriteFlash, сейчас EraseFlash...
Да, программы пишутся на C++, все по последнему слову ООП. На чистом C не получиться, так как софт очень сложный.

Добавление от 19 Декабря 2007 15:50:

Хочу добавить. Искал что нибудь по этой тематике в интернет - ничего нет. Абсолютно. Кстати не нашел форум IPC DAS. Никто случаем не знает есть ли такой?

MuadDib_guest
unregistered
написано 19 Декабря 2007 18:28  ПравкаОтветитьIP

Раз С++, определенно "виноват" деструктор какого-то статического объекта. Но проблема похоже системная. Вероятно, при большом размере проги что-то там в недрах Mini OS сходит с ума, и оператор delete в деструкторе может вызвать что-то нехорошее. Тем более, что связь между объемом проги и стабильностью работы как раз наводит на мысль о проблемах с памятью. Что-то конкретное тут может сказать, пожалуй, лишь производитель. Попробуйте вкратце описать проблему на английском и направить запрос китайцам в тех поддержку ICP DAS.

К слову, под "прошивкой" до вызова exit я имел в виду обычную заливку программы через load. То есть, из какого состояния перед крахом ОС был запуск проги: "загрузка контроллера - запуск проги - exit" или "загрузились - load - запуск загруженной программы - exit"?

И еще к слову. Если не секрет, что вы хотите реализовать с помощью данной программы?

Форум, на который изредка заходят люди, работаюющие с ICP DAS: http://iprog.pp.ru/forum/list.php?f=2

Активность сейчас на нем почти "никакая", можете поспрошать на соседнем форуме АСУТП на этом же сайте. Еще можно попробовать forum.cta.ru, туда пользователи ICP DAS тоже изредка заходят. Но лучше китайцев в таком деле мало кто сможет подсказать.

Да, если ICP DAS вам что-то ответит, прошу поделиться информацией на форуме. Народ, как говорится, не забудет

pizgin
Junior Member

Сообщений: 5
Откуда: Russia
Регистрация: Декабрь 2007

написано 20 Декабря 2007 09:03ИнфоПравкаОтветитьIP

По поводу как было дело, второй вариант, т.е. "загрузились - load - запуск загруженной программы - exit". С помощью этой программы, точнее программ (всего 5 контроллеров) реализовано управление БСУ. Проект уже сдан, сейчас идет разбор так сказать полетов. Т.е. из за чего это было и когда это может повториться. По поводу китайцев - это да, буду писать что нибудь хотя вероятность что помогут крайне низкая (был когда то опыт общения с ними по поводу Linux'ового драйвера к сенсорной панели).

MuadDib_guest
unregistered
написано 20 Декабря 2007 10:09  ПравкаОтветитьIP

Раз вариант с load до запуска, нельзя исключать возможность того, что сектор Mini OS уже был затерт загруженной программой на момент ее старта. В результате на момент перезагрузки ОС могло уже не быть. Смущает только сообщение Erase Flash. Откуда оно может взяться при таком предположении о развитии событий, я не знаю.

Кстати, почему вы не хотите использовать какую-нибудь soft-logic систему? Скажем, тот же ISaGRAF?

pizgin
Junior Member

Сообщений: 6
Откуда: Russia
Регистрация: Декабрь 2007

написано 20 Декабря 2007 11:22ИнфоПравкаОтветитьIP

Много наработок на C++ (библиотека своя), много нестандартного оборудования (про протоколы), нет windows машин, ну и еще много чего... И дело в том, что на более мощные контроллеры/компьютеры пишут на C++ и могут помочь с DOS'овыми.
Да, нужно еще раз досконально пройтись по коду, может что и обнаружиться. Но работы с Flash памятью в нем 100% нет.

bessonov3
Member

Сообщений: 45
Регистрация: Май 2007

написано 20 Декабря 2007 18:18ИнфоПравкаОтветитьIP

vozmozno biblioteka ili bios ot icpdas glichat

Proshe otkazatsya ot miniOS7 v polzu Linux, tem bolee esli soft slozniy.

ipc2u
unregistered
написано 21 Декабря 2007 16:55  ПравкаОтветитьIP

Образ операционной системы MiniOS7 есть на сайте ICP DAS.
INIT замкнули и контроллер ждет заливки программы, залили программу - и всё должно работать.
Это если всё исправно.

MuadDib_guest
unregistered
написано 24 Декабря 2007 06:46  ПравкаОтветитьIP

ipc2u

Как все просто. А мы все - программатор, программатор

ЗЫ: цитата из первого поста темы: "...После этого контроллер стал неработоспособным. Перезагрузка не помогает. На команды с консоли не реагирует."

ipc2u
unregistered
написано 24 Декабря 2007 11:13  ПравкаОтветитьIP

Как то попробовали мы поставить MiniOS7 на контроллер I7188 с DOSом. В результате получили неработоспособный контроллер, который писал на дисплее ERROR. И перезагрузка не помогала. Помогла только установка DOS обратно проделанная описанным выше методом. И если железо работоспособно, то операцию можно повторить и с Вашим контролером.

pizgin
Junior Member

Сообщений: 7
Откуда: Russia
Регистрация: Декабрь 2007

написано 24 Декабря 2007 11:48ИнфоПравкаОтветитьIP

> Помогла только установка DOS обратно проделанная описанным выше методом. И если железо работоспособно, то операцию можно повторить и с Вашим контролером.

Вы имеете ввиду перепрошивку программатором? Если да - подскажите как это сделать в "домашних условиях", т.е. какой нужен программатор, где взять прошивку, может особенности какие есть.

ipc2u
unregistered
написано 25 Декабря 2007 12:23  ПравкаОтветитьIP

Никакой программатор не нужен. Контроллер с замкнутым INIT соединяется с компьютером по RS-232. На компьютере запускается утилита MiniOS7 Utility, и операционная система заливается в контроллер. Утилита и операционка есть на сайте ICP DAS.
В общем, если железо целое, то всё будет работать.

pizgin
Junior Member

Сообщений: 8
Откуда: Russia
Регистрация: Декабрь 2007

написано 26 Декабря 2007 07:09ИнфоПравкаОтветитьIP

Контроллер не подает никаких "признаков жизни". Утилита его не опознает. Ведь чтобы обновить ОС - прежняя ОС тоже должна работать, но ее вроде как нет вообще. Контроллер ведь не загружается.

wild_guest
unregistered
написано 04 Января 2008 17:10  ПравкаОтветитьIP

Для начала неплохо взять осциллограф и при подключении (инициализации) контроллера проверить сигналы идущие через преобразователь TTL-уровня MAX232 (возможны варианты - ADM202,HIN202 и др) на консольном порту. Вполне возможно что не работает линия RxD.

GVG123
unregistered
написано 09 Января 2008 13:16  ПравкаОтветитьIP

На контроллере I-7188XA была такая же проблема. Разработчики ПО (не буду указывать фирму) дали .ЕХЕ-шники для нашего объекта и сказали, что они работают только с предоставленной прошивкой(имидж ОС). С помощью стандарной утилиты "MiniOS7utility" перепрошил ОС, в результате никакой связи с контроллером. Только на контроллере светодиод подмыргивает.
Пробовал различные варианты описанные на форуме - не помогало.
Стандартный порт для загрузки программ в контроллер I-1788XA - COM4. Оказалось что в предоставленной прошивке для загрузки используется COM3. "Дурная" прошивка - XA031128.img. Перепрошил по COM3 порту "нормальную" прошивку - все заработало нормально.
Но в Вашем случае, скорее всего без программатора не обойтись.
Если у Вас получится без программатора сообщите пожалуйста на форуме.

Виктор Городский.

Ваш ответ:

Коды форума
Смайлики


Ник:    Пароль       
Отключить смайлики

Все время MSK

Склеить | Разбить | Закрыть | Переместить | Удалить

Новая тема | Написать ответ
Последние сообщения         
Перейти к:

Свяжитесь с нами | skunksworks.net

Copyright © skunksworks.net, 2000-2018

Разработка и техническая поддержка: skunksworks.net


Рейтинг@Mail.ru Яндекс.Метрика