Что мерить, чем мерить, как мерить. И, естественно - зачем мерить...

При поддержке компании ПРИСТ


Ответить

Re: Реанимация ADVANTEST R6551

Пн июн 06, 2022 16:31:32

Спрошу ка в старой теме, вруг кто уже делал. На advantestinstrument@groups.io расколупали прямое чтение памяти приборов ( анализаторов спектра) используя переход в тестовый режим и команды $R ( чтение) и $W (запись). При этом GPIB кодов таких команд в прошивке найти не удалось. Может кто в курсе, каким хитрым образом реализовано декодирование таких команд?
Ну и до кучи. Где то пролетал скрипт чтения памяти калибровок для адвантеста, что то не могу найти.

Re: Реанимация ADVANTEST R6551

Пн июн 06, 2022 22:06:16

Как понять, о каком анализаторе речь - гадать, или разгребать тысячи сообщений в advantestinstrument?
Если это что-то из серии R3271/65 на МПК MC68000, то там никаких секретов нет. А есть лишь прошивка на мегабайт, в которой крутится либо самописная ОС РВ, либо VRTX32-68k. В ней при запуске создаётся целая куча задач, в том числе задачи обработчиков потоков событий в режиме отладки. А уж в одной из этих задач есть собственный интерпретатор команд интерфейса, в коем обработчик этих $R и $W. Поскольку такие короткие служебные слова скорее всего не в виде ASCIIZ представлены, искать их в дампе совершенно бесперспективно.

Re: Реанимация ADVANTEST R6551

Пн июн 06, 2022 22:37:51

Так сообщения за последние 2-3 дня. И там еще нет готового описания- еще разбираются с форматом адреса , прибор виснет при попадании в трап по недействительному адресу итд.
ОС РВ там нет- похоже не обычный main c циклом опроса и прерываниями. А вопрос по командам связан с тем, что на все другие команды видны и их символьные реализации, и индексы в таблице переходов парсера итд. А вот эти две найти просто не получилось.

Re: Реанимация ADVANTEST R6551

Вт июн 07, 2022 08:33:44

Скачал прошивку. Действительно всё намного проще, многозадачной ОС РВ там нет, на trap #0 висит не точка входа, а обычный обработчик исключений.
В таблице паттернов команд интерфейса есть "W", можете глянуть её обработчик. Но я бы (будь у меня такой аппарат), начал с переменной - флага режима отладки. По ней находятся все инстансы ветвлений, в т.ч. к обработчику этих специальных команд чтения-записи. По крайней мере в более новых Advantest-ах с адской мультизадачной ОС удалось таким способом все пути в режиме отладки проследить.

P.S.
Вот она, ваша искомая процедура:

Изображение

Забавно, что пароль "94284" к Maintenance mode указан прямо открытым текстом.

Re: Реанимация ADVANTEST R6551

Вт июн 07, 2022 11:16:08

Да, это место я нашел, сейчас пытаюсь разобраться в ветвлениях. К сожалению в асме 68000 как свинья в апельсинах разбираюсь. Надо будет еще с чексумами разобраться, а то алгоритм пока неизвестен а на groups.io уже положили один аппарат, поломав чексуммы.

Re: Реанимация ADVANTEST R6551

Чт июн 16, 2022 12:05:38

Как успехи с чексуммами? Можно создать тему (чтобы не оффтопить здесь).
При анализе трудных для понимания фрагментов кода очень удобно использовать среду симулятора EASy68K. Скачивается в Сети бесплатно.
После археологических раскопок у меня сформировалось стойкое убеждение, что при разработке прошивок Advantest-ов на платформе Motorola 68k программисты использовали одни и те же ветхозаветные библиотеки "The Standard C Library'' P.J. Plauger со своими доработками и дополнениями.

Re: Реанимация ADVANTEST R6551

Чт июн 16, 2022 14:17:40

Да копаюсь в фирмвари потихоньку.
Предположение что команды $R $W связаны с отладочным режимом- не подтвердилось. Их декодируют еще до основного парсера команд в подпрограмме коррекции вехнего-нижнего регистра.
Код:
0037288 loc_37288:                              ; CODE XREF: GPIB_corr_reg+50↑j
ROM:00037288                 movea.l (dword_200B1C).l,a1
ROM:0003728E                 cmpi.b  #$24,(a1) ; '$'
ROM:00037292                 bne.s   loc_3729E
ROM:00037294                 jsr     GPIB_Chr24_RW
ROM:0003729A                 bra.w   loc_373F2

По стандартным библиотекам- где бы взять SIG файлы для них для ИДы?
Тему отдельную можно, но это такая экзотика- утонет. Ну или надо правильно назвать чтобы легко поисковиками находилась.

Re: Реанимация ADVANTEST R6551

Чт июн 16, 2022 14:51:57

Значит это такие своеобразные "чит-коды" :)

Надежда найти файлы сигнатур, как и сами библиотеки, у меня угасала с каждым годом и на сегодняшний день угасла совсем. Японцы не точь-в-точь брали исходники с дискет Plauger-а, но какую-то довольно близкую версию, которую дополняли кусками из других библиотек и своим творчеством. В итоге получился монстр, в котором одних только операций копирования строк четыре вида (с терминатором и без, с прямым порядком аргументов и обратным, с результатом и void).

Изображение

Так что я махнул рукой на автоматизацию и разпарсил вручную самое критичное из STDIO, SDTLIB, MATH и STRINGS. На текущий момент в прошивке моего подопытного R6581 из 2677 функций идентифицировано 600 с чем-то штук и ещё такого же порядка разобрано структур данных. Я прекрасно понимаю, что это капля в море, и что я ещё не занимался вплотную разбором протоколов низкоуровневого обмена с железом (из-за отсутствия "широкого" логического анализатора), но в конце-концов это просто весело :music:

Re: Реанимация ADVANTEST R6551

Чт июн 16, 2022 15:16:21

Я так глубоко дизасмить фирмварь и не планировал. Главная моя задача была получить возможность сохранить калибровки, которые хранятся с RAM с батарейной поддержкой. Официально их можно было только сохранить на внешнюю карту 128кб, которую найти практически невозможно. А перекалибровывать весь прибор при слете данных- еще та задачка, хотя и выполнимая. Теперь эти данные можно считать и в перспективе записать ( когда разберусь с форматом $W).
С картой я даже разобрался и слепил эмулятор- но там проблема в том что прибор считает готовность данных с карты абсолютной- нет никакой проверки готовности. Для карты с батарейной RAM это справедливо, а вот для софтового эмулятора- уже нет.
Ну и как дополнительная хотелка- слегка модернизировать фирмварь чтобы номер рабочей гармоники выдавался на разьем parallel IO - это сильно облегчит использование внешнего следящего генератора. А остальное можно и на внешнем контроллере реализовать, благо теперь есть доступ к буферу сырых данных. Например измерение NoiseFig используя внешний ГШ и синхронно собирая данные при включенном и выключенном ГШ. Задачки конечно специфичны для РЧ и СВЧ измериловки.
Боюсь, что скоро меня ждет замена экрана на LCD- кинескоп садится. А стандартные контроллеры LCD не захватывают синхросигналы advantest-а- частоты синхросигналов отличаются. Прийдется еще с программированием контроллера LCD возится.

Re: Реанимация ADVANTEST R6551

Сб июн 18, 2022 08:43:56

Боюсь, что скоро меня ждет замена экрана на LCD- кинескоп садится. А стандартные контроллеры LCD не захватывают синхросигналы advantest-а- частоты синхросигналов отличаются. Прийдется еще с программированием контроллера LCD возится.

Да, с древней измериловкой беда, а там где еще и трубы стоят..... :cry: .
Я пытался прикрутить ХКИ монитор к Hewlett Packard HP 16500C, из ~ 20 мониторов только пара завелась.
Hewlett Packard HP 16500C
25Khz*60Hz
HIOKI 7070 WAVEFORM GENERATOR
25Khz*56Hz
А у этих, YOKOGAWA AG1200 и Hioki8852 насколько помню, вообще телевизионная строчная и кадровая.
Даже купил в Китае плату, конвертер из всех строчных и кадровых в ЖКИ монитор, но завести не смог(руки наверное кривые :)) )

Re: Реанимация ADVANTEST R6551

Сб июн 18, 2022 12:53:52

Даже купил в Китае плату, конвертер из всех строчных и кадровых в ЖКИ монитор, но завести не смог(руки наверное кривые :)) )

Про замену кинескопов на LCD в измерительной аппаратуре надо наверно отдельную тему заводить. Особенно в старой, где еще не было VGA резьемов, а частоты разверток были или свои собственные или типа древних MDA дисплеев. Для таких частот надо на китайские платы адаптеров на базе RTD2660 чипов кастомную прошивку делать. Как по разрешению LCD матрицы, потому что часто приходится искать нестандартную на теперешнее время широких экранов матрицу 4:3 и частоты H-sync V-sync нетипичные задавать.

Re: Реанимация ADVANTEST R6551

Ср июн 29, 2022 00:51:28

Вот же ж хитрые японцы! В Advantest R6581 я таки нашёл "закладку" :)
Когда я расшифровывал структуру полей ключевых слов SCPI и ADC команд и вычленял в коде отвечающие за эти команды процедуры, обнаружил, что из 484 процедур 53 шт. не описаны в руководстве и становятся доступны через GPIB интерфейс только после снятия флага защиты специальной командой. Эти "секретные" процедуры делятся на несколько классов и имеют совершенно разный синтаксис команд, начиная от простейшей WR и заканчивая монстрами, типа, CALIBRATION:INTERNAL:DCV:HOSEI:NUMBER или CALIBRATION:EXTERNAL:ZERO:FRONT:EEPROM:DEF? Кстати, "HOSEI" здесь - это отсылка к одному известному японскому университету.
В итоге можно получить низкоуровневый доступ к АЦП и всем аналоговым узлам, а так же калибровочным константам разного уровня (в RAM, EEPROM) и функций. Всё это происходит совершенно прозрачно для основной работы прибора. Т.е., к примеру, шлём управляющее слово 0x4800 (ADC Reset), и на дисплее на мгновение мелькает мусор или OVERLOAD, т.к. задачи считывания и отображения результатов получили некорректные данные.

Прошивка R6551 мне ещё не попадалась, но есть основания полагать, что и в ней тоже могут быть подобного рода служебные команды.

Re: Реанимация ADVANTEST R6551

Ср июн 29, 2022 09:30:32

Вот же ж хитрые японцы! В Advantest R6581 я таки нашёл "закладку" :)
Когда я расшифровывал структуру полей ключевых слов SCPI и ADC команд и вычленял в коде отвечающие за эти команды процедуры, обнаружил, что из 484 процедур 53 шт. не описаны в руководстве и становятся доступны через GPIB интерфейс только после снятия флага защиты специальной командой. Эти "секретные" процедуры делятся на несколько классов и имеют совершенно разный синтаксис команд, начиная от простейшей WR и заканчивая монстрами, типа, CALIBRATION:INTERNAL:DCV:HOSEI:NUMBER или CALIBRATION:EXTERNAL:ZERO:FRONT:EEPROM:DEF? Кстати, "HOSEI" здесь - это отсылка к одному известному японскому университету.
В итоге можно получить низкоуровневый доступ к АЦП и всем аналоговым узлам, а так же калибровочным константам разного уровня (в RAM, EEPROM) и функций. Всё это происходит совершенно прозрачно для основной работы прибора. Т.е., к примеру, шлём управляющее слово 0x4800 (ADC Reset), и на дисплее на мгновение мелькает мусор или OVERLOAD, т.к. задачи считывания и отображения результатов получили некорректные данные.

Прошивка R6551 мне ещё не попадалась, но есть основания полагать, что и в ней тоже могут быть подобного рода служебные команды.

Вот.
https://drive.google.com/file/d/1S5nEZG ... sp=sharing

Re: Реанимация ADVANTEST R6551

Пт июл 08, 2022 18:25:40

Прошивка R6551 мне ещё не попадалась, но есть основания полагать, что и в ней тоже могут быть подобного рода служебные команды.


И вот...
Вложения
Advantest_R6551_V01.04_MBM27C256-25_SIS-002294-04.zip
(12.58 KiB) Скачиваний: 83

Re: Реанимация ADVANTEST R6551

Пт июл 08, 2022 18:55:27

При ближайшем рассмотрении этот мультиметр оказался всё-таки другого рода-племени в плане структуры ПО.
К тому же он не поддерживает SCPI стек, и соответственно, что-то подобного для него получить вряд ли возможно.

Изображение

Re: Реанимация ADVANTEST R6551

Пт июл 08, 2022 19:00:04

Прошивка R6551 мне ещё не попадалась, но есть основания полагать, что и в ней тоже могут быть подобного рода служебные команды.


И вот...

В моем:Изображение
V1.10

Добавлено after 2 minutes 39 seconds:
При ближайшем рассмотрении этот мультиметр оказался всё-таки другого рода-племени в плане структуры ПО.
К тому же он не поддерживает SCPI стек, и соответственно, что-то подобного для него получить вряд ли возможно.

Изображение

Понятно что R6551 проще, чем ТОПОВЫЙ ADVANTEST :)) .

Re: Реанимация ADVANTEST R6551

Ср ноя 09, 2022 02:04:26

Привет


У меня есть Advantest R3273, в котором я нашел 3 скрытых меню.

Но есть еще одно последнее меню, к которому я хотел бы получить доступ. «Меню отладки».

Я нашел строки в файле "DFM":

DFM.txt: DEBUG MODE
DFM.txt: TBC SEND 595
DFM.txt: TBC SEND DAC
DFM.txt: TBC SEND DAC 500
DFM.txt: TBC SEND CXD
DFM.txt: TBC SEND 87086/16
DFM.txt: TBC SEND 87086/20
DFM.txt: TBC SEND AD7008
DFM.txt: TBC READ 0831
DFM.txt: TBC EEPROM WRITE
DFM.txt: TBC EEPROM READ
DFM.txt: TBC SRAM WRITE
DFM.txt: TBC SRAM READ

Но я не могу найти, как получить к нему доступ. Может быть, кто-то мог посмотреть на него?

Я прикрепил содержимое карты CF. вы можете распаковать "GZX/DFM.GZX" с помощью 7zip.

Анализатор работает на VRTX32 RTOS.

Спасибо!!

----------

I have a Advantest R3273 here, where I found 3 hidden menus.

But there is one last menu, I would like to access. the "Debug Menu".

I found strings in the "DFM" File:

DFM.txt: DEBUG MODE
DFM.txt: TBC SEND 595
DFM.txt: TBC SEND DAC
DFM.txt: TBC SEND DAC 500
DFM.txt: TBC SEND CXD
DFM.txt: TBC SEND 87086/16
DFM.txt: TBC SEND 87086/20
DFM.txt: TBC SEND AD7008
DFM.txt: TBC READ 0831
DFM.txt: TBC EEPROM WRITE
DFM.txt: TBC EEPROM READ
DFM.txt: TBC SRAM WRITE
DFM.txt: TBC SRAM READ

But I cant find out how to access it. Maybe someone could have a look at it?

I attached the content of the CF Card. you can unpack the "GZX/DFM.GZX", with 7zip.

The analyzer runs on VRTX32 RTOS.

Thanks!!
Вложения
orig cf.zip
(1017.93 KiB) Скачиваний: 62

Re: Реанимация ADVANTEST R6551

Пт ноя 11, 2022 13:57:05

Я даже считывал вспышку 29F400.

Я думаю, что ядро VRTX находится во флэш-памяти. И исполняемые файлы считываются с CF-карты.

Меню DEBUG в файле DFM запускает TBC.X. Есть приятные функции (Чтение данных CAL в удобочитаемой форме)
Вложения
Flash_Eprom_CPU_Board.zip
(274.8 KiB) Скачиваний: 59

Re: Реанимация ADVANTEST R6551

Пт ноя 11, 2022 19:27:33

Ядро действительно находится в 29F400. Можно смело брать 68040 дизассемблер и грузить прошивку с 0x100000. Как в самом образе ROM, так и в загружаемых файлах присутствует отладочная информация. Так что разобраться с DEBUG режимами Advantest R3273 - лишь вопрос времени. Правда при отсутствии самого прибора изучать прошивку - дело совершенно не интересное и бесперспективное.
Ответить