Страница 1 из 2

Замена полудохлого LPC2468

Добавлено: Пт июл 14, 2023 00:58:24
Kuzma2000
Привет всем!

Принесли в ремонт несколько промышленных плат с LPC2468.
Один совсем мертвый а на остальных помер один из входов где прицеплен датчик.

В общем нужно процессоры заменить, но тут у меня не хватает знаний.

По мануалу в проце 512 кб флешка.
Также по шине I2C прицеплена флешка 24С265

1. А может прошивка быть на этой флешке или только внутри проца или на SD карте?

2. Читать и писать эти процы через что и как?
UART0 на плате не разведен нормально. Но можно подпаяться.

3. Itag-а на плате нет. Но на колодку выведен I2C

4. Чтобы читать (ну пытаться) и писать проц нужно снимать с платы или будет достаточно подать 3.3 и Rx Tx

5. Какое ПО использовать? Нашел Flash Magic

6. А если проц залочен, что использовать для чтения (J-Link)?
Или в этом случае финиш и прочитать никак.
То есть мне не понятно, производитель может при производстве залочить от чтения, но оставить возможность обновления?

Помогите, просветите темного...

Re: Замена полудохлого LPC2468

Добавлено: Пт июл 14, 2023 01:53:29
Kuzma2000
О, 6 значные значения...

Про Jtag был не прав был, есть разъем-площадки. Не признал, не заметил, виноват.

А чем пробовать читать?
Нашел ULINK mini в продаже...

Re: Замена полудохлого LPC2468

Добавлено: Вс июл 16, 2023 10:36:55
Kuzma2000
В общем проц не лоченый.
Купил J-Link проц прочитался.

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 11:40:44
jcxz
[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4445850#p4445850"]1. А может прошивка быть на этой флешке или только внутри проца или на SD карте?[/uquote]Только внутри.

[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4445850#p4445850"]2. Читать и писать эти процы через что и как?[/uquote]Flash Magic, JTAG.

[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4445850#p4445850"]4. Чтобы читать (ну пытаться) и писать проц нужно снимать с платы или будет достаточно подать 3.3 и Rx Tx[/uquote]Достаточно запитать, выставить нужный уровень BOOT-ног и снять RESET.

[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4445850#p4445850"]6. А если проц залочен, что использовать для чтения (J-Link)?
Или в этом случае финиш и прочитать никак.[/uquote]Финиш.

[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4445850#p4445850"]производитель может при производстве залочить от чтения, но оставить возможность обновления?[/uquote]Может.

[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4446968#p4446968"]Купил J-Link проц прочитался.[/uquote]А что именно прочиталось? Файл состоящий из одних 0xFF? :)))

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 12:11:51
Shuspano
Когда читал залоченный SM8958BW, оттуда читалось что-то отличное от 0xFF, но это была не программа. Так что не факт, что LPC прочитался.

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 13:13:51
Kuzma2000
Прочиталась прошивка :))
FF конечно есть но в конце.

Не по теме но все-же.

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

Сбойная проходит тест и ругаеться на один из оптодатчиков.
Прямо миганием светодиодов указывает какой.

Я проверил/разрисовал эту цепь. Сигнал через цифровые транзисторы и триггер шоттки попадает на цифровой вход проца.
Осциллограмма импульсов на этом входе на нормальной и на сбойной одинаковая (насколько я могу сравнить прямоугольные импульсы).
Из чего я сделал вывод что вход проца в порядке (хотя как я понимаю лучьше в разрыв поставить резистор и глянуть не его концах).

То что сбойная цепь того самого датчика на который указывает проц тоже вопрос хороший и не окончательный.
Никаких даташитов на плату конечно нет.
Если этот датчик откинуть - плата сразу в стоп падает.
Тут же вроде тест проходит но в конце ошибка.

Я считаю прошивку с рабочей платы.

Заменю горелый проц на новый и залью в него эту прошивку.

Потом попробую залить эту прошиву на сбойные - может это поможет.

Дальше сравню длительность и форму сигнала рабочей и сбойной - возможно тут косяк.

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

Добавлено after 2 minutes 3 seconds:
[uquote="Shuspano",url="/forum/viewtopic.php?p=4447646#p4447646"]Когда читал залоченный SM8958BW, оттуда читалось что-то отличное от 0xFF, но это была не программа. Так что не факт, что LPC прочитался.[/uquote]

Ну я попробовал считать и зашить на одной из сбойных плат.
Работает.

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 13:25:03
jcxz
[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4447700#p4447700"]Потом попробую залить эту прошиву на сбойные - может это поможет.[/uquote]Каким образом? Думаете прошивка восстановит сгоревшую ногу? (если уж нога сгорела)
Насчёт проблемы в ноге МК - весьма сомнительно, раз сигнал проходит через много компонентов, а не напрямую с разъёма идёт. Искать проблему нужно в этих компонентах или в датчике, а не в прошивке МК.
Хотя конечно да: проще ведь искать не там где потеряли, а там где светлее. :)))

[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4447700#p4447700"]Ну а дальше, как я понимаю, смотреть в режиме отладки или пробовать диассемблировать прошивку[/uquote]Бессмысленная и бесперспективная затея. Тем более для человека, впервые их увидевшего.

[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4447700#p4447700"]Ну я попробовал считать и зашить на одной из сбойных плат.Работает.[/uquote]Т.е. - у вас что-то считалось (мусор?), потом - ничего не зашилось (в МК осталась исходная прошивка) и плата работает. Кто бы сомневался. :)))

Добавлено after 2 minutes 35 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4447709#p4447709"]Но мож и повезет... я как-то с ЭБУ автомобиля считал, дорогущего, тоже думал - наверняка залочена, а оказалось - заходи, бери что хочешь :)[/uquote]Бывает, что в банке забудут закрыть сейф с золотыми слитками. Бывает. Может и повезёт. 8)

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 14:05:20
jcxz
Кстати - здесь, на форуме есть соответствующий раздел для LPC2468. И называется он: "ARM".

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 14:07:23
Kuzma2000
Конечно прошивка не восстановит горелую ногу.

Предварительно, уже были заменены все элементы, которые есть в цепи датчика.
Это не дало результата.

Также, я замерял падение напряжения на этой ноге и на других входах при снятом триггере.
Оно отличалось на обоих сбойных платах.

Поэтому возникло подозрение о проблеме именно этого входа.

Но, как оказалось, падение на рабочей плате аналогично сбойным.

В даташите процессора указано что у флешки есть ограничение на количество циклов записи. Аппарат не молодой.
Как написана прошивка я не знаю.
Возможно это проблема самой флешки или входа.

Вы пишите что может прочитаться мусор.
Так как понять что процессор не залочен?
Считать, затереть и проверить что чип пустой?

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 14:24:13
Kuzma2000
Глянул дамп. Не мохоже что мусор.

Добавлено after 10 minutes 49 seconds:
[uquote="jcxz",url="/forum/viewtopic.php?p=4447713#p4447713"]Т.е. - у вас что-то считалось (мусор?), потом - ничего не зашилось (в МК осталась исходная прошивка) и плата работает. Кто бы сомневался. :)))
Добавлено after 2 minutes 35 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4447709#p4447709"]Но мож и повезет... я как-то с ЭБУ автомобиля считал, дорогущего, тоже думал - наверняка залочена, а оказалось - заходи, бери что хочешь :)[/uquote]Бывает, что в банке забудут закрыть сейф с золотыми слитками. Бывает. Может и повезёт. 8)[/uquote]

По умолчанию J-Flash сначала затирает проц а потом шьет.
У меня так и было. Сначала стер, потом прошил.

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 15:17:19
jcxz
[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4447760#p4447760"]Глянул дамп. Не мохоже что мусор.[/uquote]По дампу определили, без дизассемблера?? Вы видимо реально - гуру программирования.
ЗЫ: Приблизительно можно глянуть по дампу начала прошивки - там должна быть таблица векторов прерываний, формат которой описан в мануале.
Можете просто сюда запостить дамп. Здесь есть знающие человеки. 8)

[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4447760#p4447760"]По умолчанию J-Flash сначала затирает проц а потом шьет.[/uquote]Это откуда такой вывод?
Открываю свой проект-файл для LPC1758. Вижу: Изображение
Видно, что в конфиг-файле определены номера секторов флешь стирания. JFlash может как стереть всю флешь, так и только сектора, занятые прошивкой (в зависимости от настроек). Стереть весь чип он может только по команде "Production programming" и то - если на вкладке ей соответствующей выбрано "стирать весь чип". По умолчанию там стоит посекторное стирание: Изображение
Да и "Production programming" - вы это делали?

Таким образом: Если в заливаемой вами новой прошивке (считанном дампе) указаны сектора, не относящиеся к началу флешь, то и исходная прошивка в МК окажется нестёртой. И выполняться будет она, а не то что вы думали что зашилось.

PS: LPC2468 похож по флешу на LPC1758.

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 16:14:56
Kuzma2000
Я считывал флешку используя меню Read Back - Entire Chip
При это считывалось 28 секторов (504 Кб).

Настройки не менял, что J-Flash выставил то и использовал.

Потом делал Production Programming..

Внутри дампа есть текстовые строки поэтоу я предпологаю, что это не мусор.

Могу ошибаться и Entire Chip это не вся память, но тогда все мои телодвижения зря.

Новый процессор куплен, будет к концу недели. Вот и проверю что я начитал. :))

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 18:36:36
jcxz
[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4447827#p4447827"]Внутри дампа есть текстовые строки поэтоу я предпологаю, что это не мусор.[/uquote]Текстовые строки - не надёжно. Если скажем - не прочитался первый сектор, то строки будут, но прошивка работать не будет. Ещё бывает - всякий мусор (типа строк) остаётся от предыдущих прошивок, когда отлаживаешь программу, так как каждая новая заливка затирает только необходимые ей сектора, и если раньше была большая прошивка, а заливается - меньшая, то за её хвостом останется мусор от старой. Хотя это вряд-ли ваш случай.
Содержимое первого сектора - вектора прерываний - можно и визуально проверить их корректность (что я вам выше и предлагал).
Но дело ваше.

Re: Замена полудохлого LPC2468

Добавлено: Пн июл 17, 2023 21:21:09
Kuzma2000
Только добрался до компа.
Вот дамп.

Re: Замена полудохлого LPC2468

Добавлено: Вт июл 18, 2023 13:54:40
jcxz
[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4448011#p4448011"]Вот дамп.[/uquote]Выглядит нормальным. Похоже там реально в начале находится таблица векторов (8 элементов). 5-й элемент её (по адресу 0x14) должен содержать контрольную сумму остальных векторов (согласно документации на МК). Можете проверить. Остальные вектора у вас заполнены командой LDR PC, [PC, #24] (как и в моих прошивках), кроме 6-го вектора, указывающего на обработчик IRQ.

Re: Замена полудохлого LPC2468

Добавлено: Пт июл 21, 2023 09:45:35
Kuzma2000
Проц приехал.
Горелую плату восстановил, проц поставил, прошил и плата стартанула.
На днях подъеду поставлю на стенд а то без моторчиков и датчиков не проходит тест полностью.

Да, дамп с работающей платы аналогичен скачанному ранее.

Re: Замена полудохлого LPC2468

Добавлено: Пт июл 21, 2023 16:12:31
jcxz
[uquote="Kuzma2000",url="/forum/viewtopic.php?p=4449717#p4449717"]Да, дамп с работающей платы аналогичен скачанному ранее.[/uquote]Значит вам повезло. Считай - нашли сейф заполненный золотыми монетками, который забыли запереть. 8)

Re: Замена полудохлого LPC2468

Добавлено: Пт июл 28, 2023 19:15:53
Kuzma2000
[uquote="jcxz",url="/forum/viewtopic.php?p=4449938#p4449938"][uquote="Kuzma2000",url="/forum/viewtopic.php?p=4449717#p4449717"]Да, дамп с работающей платы аналогичен скачанному ранее.[/uquote]Значит вам повезло. Считай - нашли сейф заполненный золотыми монетками, который забыли запереть. 8)[/uquote]

Таки да:)

Горелую плату восстановил, завеласть, все тесты прошла.
Буду пробовать сделать оставшиеся 2 платы.

Спасибо за помошь и поддержку!