|
Текущее время: 31 окт 2026, 22:46
|
Сообщения без ответов | Активные темы
Правила форума
Счетчик сообщений в этом форуме выключен.
 |
|
 |
|
| Автор |
|
|
valeraйфф
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 09 окт 2026, 23:41 |
| Интересующийся |
 |
 |
Зарегистрирован: 21 май 2013, 23:13 Наличности на руках: 149.05 
Сообщения: 59 Откуда: Раменское
|
Такого конфига не нашел, ориентировался по EM_IDL325
EM_IDL326_200B_V2.1 KB_pins=30 RIGHT DOWN 1MM PD0=3 PD1=7 PD2=8 PD3=11 PD4=13 PD5=14 PD6=15 PD7=16 BUSY=18 STB=1 AFD=2 INIT=4 SLIN=5 KSI4=6 KSI5=9 CHIP=IT5570E-128 (valeraйфф)
|
|
|
|
 |
|
MoneyBot
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG) |
 |
Сообщения: 44
Откуда: localhost
|
|
|
 |
|
MoneyBot
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG) |
 |
Сообщения: 44
Откуда: localhost
|
|
|
 |
|
fred24
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 16 окт 2026, 16:46 |
| Начинающий |
 |
 |
Зарегистрирован: 24 фев 2012, 14:57 Наличности на руках: 87.34 
Сообщения: 227 Откуда: Тула
|
Всем привет! На платформе GB5-360-15LNL Rev:1.0 (BA92-26042A) необходимо прошить мульт NPCX796FB0BX. Sucessor подключен по распиновке, взятой из конфигурационного файла MB connection NUVOTON: //BM5866 KB_pins=30 LEFT DOWN 08MM JEN=10 SWCLK=13 SWIO=17 CHIP=NPCX796FB0BX (VSS) (U5 remove) JEN=10 -> (KSO_07)->B9 (KSO07/GPO12/JEN0_L) - подтянут к GND SWCLK=13 -> (KSO_00)->B5 (KSO00/GPIO21) SWIO=17 -> (KSO_01)->B6 (KSO01/GPIO20) Вложение: BM5866_ec.jpg При попытке коннекта с мультом программа выдает следующее: Вложение: sucessor_log.jpg Кнопка Read при этом не активна. Подскажите в чем ошибка. Nuvoton через Sucessor ранее прошивать не приходилось.
У вас нет доступа для просмотра вложений: 1. Пожалуйста авторизуйтесь или зарегистрируйтесь. 2. Вы должны иметь 15 (ПЯТНАДЦАТЬ) или более сообщений. 3. У нас можно купить доступ к файлам.
|
|
|
|
 |
|
Vertyanov_SS
[ТС]
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 16 окт 2026, 20:09 |
| Инженер |
 |
 |
Зарегистрирован: 24 май 2012, 14:34 Наличности на руках: 858.09 
Сообщения: 313 Откуда: Екатеринбург
|
fred24 писал(а): подключен по распиновке, взятой из конфигурационного файла Ну тут два момента нужно отметить и это важные моменты. Во первых, строка не активна из программы - строка закомментирована в файле настроек. Во вторых так-же указано, что НЕ ПРОВЕРЯЛАСЬ. Что это все означает. Данная плата, а если точнее EC NPCX7 (именно 7я серия) тестировалась, но до EC так-же не достучались. Я больше скажу, на данный момент ни один программатор не работает с NPCX7. Может в ней и флеш нет - мы не знаем. Информация крайне скудная. В телеге по этой MB обсуждалось и решение найдено не было, но нашлось много нестыковок. Строка оставлена на потом, если что-то вылезет в последствии. Если коротко - по NPCX7 ни один программатор успешных логов не предоставил. Как с ним работать непонятно. По вашему скрину вижу, что технически мы внедрились в ядро и запустились, но флешку не распознали. Ее айди 000000, что не есть верное значение и поэтому что там читать кнопкой read.
У вас нет доступа для просмотра вложений: 1. Пожалуйста авторизуйтесь или зарегистрируйтесь. 2. Вы должны иметь 15 (ПЯТНАДЦАТЬ) или более сообщений. 3. У нас можно купить доступ к файлам.
_________________ Программатор SUCCESSOR/JIG V2/3. Пост карты DDR234/NGFF_GoWin/KFCT_BIG
|
|
|
|
 |
|
Mender
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 19 окт 2026, 18:08 |
| Интересующийся |
 |
 |
Зарегистрирован: 04 дек 2013, 16:21 Наличности на руках: 167.02 
Сообщения: 129 Откуда: Кавказ
|
Сергей, приветствую! Наткнулся на такой косяк - на недобуке JOAR56-G-G13_V10 не могу достучаться до 9028, притом что Ваша двойка и читает и пишет с тем же шлейфом (даже не отключал) без проблем. Лог приложил. В чем может быть проблема? Мать еще несколько дней будет у меня, если что померить - скажите.
User select MB: JOAR56-G-G13_V10 KB_pins=26 LEFT DOWN 1MM KSO3=18 KSI4=9 KSI7=12 KSI6=1 KSI5=8 CHIP=KB9028Q (kkv) Added choices for USER_FFC: 18 20 22 24 25 26 User selected FFC 26 pin, type A Chance FFC from first pin on MB -> GOOD Chance FFC from end pin on MB -> GOOD Formula number [1] is chosen ------------------------------------------------------------- Pin original location: KSO3=18 KSI4=9 KSI5=8 KSI6=1 KSI7=12 Pin calculated location: KSO3=18 KSI4=9 KSI5=8 KSI6=1 KSI7=12 ------------------------------------------------------------- Connect FFC cable on JIG from first pin!
16.10.2026 17:42:45 ENE settings sent successfully Working on supply voltage 3v3
1. Check GND. 2. Connect the motherboard power adapter. 3. We are ready for Get_ID/Reading/Writing.
16.10.2026 17:42:50 No connection to the ENE! Check the settings and ground! Motherboard is connected and powered ?
|
|
|
|
 |
|
Mender
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 20 окт 2026, 12:42 |
| Интересующийся |
 |
 |
Зарегистрирован: 04 дек 2013, 16:21 Наличности на руках: 167.02 
Сообщения: 129 Откуда: Кавказ
|
Не сообразил, что есть еще изделия, кроме наследника... Сорри. Да, тест - ок.
Found SUCCESSOR50 HW, DC_DC diagnostic DC_DC, GND FET, FPGA READY/DONE All OK ZIF pin voltage [PUP_3V3] Z1 0x0F9E 3221v/1000 Z2 0x0FAA 3230v/1000 Z3 0x0FAA 3230v/1000 Z5 0x0FA6 3227v/1000 Z6 0x0FA8 3229v/1000 Z7 0x0FAC 3232v/1000 GoWin output and short circuit test Search short circuit on gnd [0x3FFFF_FFFFFFFF] All OK Set log.0 to all outputs [0x00000_00000000] All OK Set log.1 to all outputs [0x0FFFF_FFFFFFFF] All OK Feedback check [05MM pin step] (Need an adapter with a short circuit between 1+2, ... n+(n+1)) SKIPPED Short circuit between pins All OK Only one zero for every pin and check All OK
Лог из двойки:
Version FW -> ENE_EDID_KB 28_06_17. Communication with programmer installed. Communication with KB90XX installed. Embedded Debug Version ID = 7
|
|
|
|
 |
|
samsonov54
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 22 окт 2026, 06:50 |
| Продвинутый форумчанин |
 |
 |
Зарегистрирован: 15 сен 2015, 10:17 Наличности на руках: 3,681.30 
Сообщения: 2901 Откуда: Новосибирск
|
Haik писал(а): Есть ли пиноут для платы NM-G381 А есть ли такая плата? Чет ни гугл, ни яндекс о ней не знают. Ошибка в названии? Ну и да, i2c в разъеме аккума использовать, если совсем туго
_________________ Black.Service г.Новосибирск. Компонентный ремонт ноутбуков, неттопов
|
|
|
|
 |
|
Haik
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 22 окт 2026, 23:51 |
| Интересующийся |
 |
 |
Зарегистрирован: 27 июн 2013, 10:58 Наличности на руках: 295.82 
Сообщения: 187 Откуда: РНД
|
samsonov54 писал(а): ни гугл, ни яндекс о ней не знают. Ошибка в названии? Нет, есть такая плата, только ни схемы ни борды.
|
|
|
|
 |
|
Vertyanov_SS
[ТС]
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 25 окт 2026, 13:59 |
| Инженер |
 |
 |
Зарегистрирован: 24 май 2012, 14:34 Наличности на руках: 858.09 
Сообщения: 313 Откуда: Екатеринбург
|
AndreF писал(а): Считалось и прошилось только со шлейфом 26 pin 0.8, при использовании на 30 pin 0.8 не получалось Вы точно все проверили и соединили верно? Я вот сомневаюсь очень сильно и вот почему ... AndreF писал(а): PD0=33 во всем файле нет совпадения по PD0=33
_________________ Программатор SUCCESSOR/JIG V2/3. Пост карты DDR234/NGFF_GoWin/KFCT_BIG
|
|
|
|
 |
|
MoneyBot
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG) |
 |
Сообщения: 44
Откуда: localhost
|
|
|
 |
|
Exploitman
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 28 окт 2026, 13:59 |
| Я тут случайно |
 |
 |
Зарегистрирован: 04 июл 2025, 03:12 Наличности на руках: 0.00 
Сообщения: 0 Откуда: Тула
|
|
Vertyanov_SS Сергей, добрый день. Флеш внутри NPCX796FB0BX всё же есть. Немного не моя специфика работы (я занимаюсь промышленными контроллерами, автоматикой и тому подобное), но по воле случая, для ремонта Samsung Galaxy Book5 360 NP750QHA-LG3IN пришлось заняться реверс-инженерингом его прошивки, прошивки NPCX796FB0BX, прошивки PD-контроллера CYPD8225, оф. драйвера Nuvoton и некоторых других вещей, в объёме необходимом для решения существующей задачи. Была отработана методика общения с внутренней флеш-памятью мультиконтроллера, разобрано взаимодействие NPCX796FB0BX и CYPD8225, получен полный дамп, который был исправлен и прошит. На данный момент ноутбук полностью работоспособен. Писал Вам на почту, но наверное вы её редко читаете. Корректный дамп NPCX796FB0BX для этого ноутбука приложен к письму.
|
|
|
|
 |
|
MoneyBot
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG) |
 |
Сообщения: 44
Откуда: localhost
|
|
|
 |
|
Exploitman
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 28 окт 2026, 16:12 |
| Я тут случайно |
 |
 |
Зарегистрирован: 04 июл 2025, 03:12 Наличности на руках: 0.00 
Сообщения: 0 Откуда: Тула
|
Vertyanov_SS Сергей, я писал на почту 2959149@gmail.com, которая указана на сайте https://www.vss.store. Сюда написал только потому, что там ответа нет. А по поводу наработок - да, хотел поделиться, не пропадать же добру. Но расписывать простыни на форуме для ремонтников желания нет, непрофильное место. В кратце - работа организована на базе вашего successor-а, но только в качестве интерфейса SWD, ради удобства. Исходная процедура инициализации (FIU/SCFG) и RAM-помощник полностью переписаны. На данный момент реализована поддержка EF4013 и EF4014.
|
|
|
|
 |
|
Haik
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 28 окт 2026, 22:55 |
| Интересующийся |
 |
 |
Зарегистрирован: 27 июн 2013, 10:58 Наличности на руках: 295.82 
Сообщения: 187 Откуда: РНД
|
Haik писал(а): Есть ли пиноут для платы NM-G381? Варианты 34пин 0.8мм не определяют чип IT8227VG-256. Дело было в мульте. Эта строка заработала. NM-G381 KB_pins=34 (JKB1) LEFT DOWN 08MM PD0=20 PD1=16 PD2=14 PD3=9 PD4=13 PD5=17 PD6=10 PD7=12 BUSY=23 STB=15 AFD=26 INIT=19 SLIN=18 KSI4=22 KSI5=21 FLASH=256 CHIP=IT8227VG-256
У вас нет доступа для просмотра вложений: 1. Пожалуйста авторизуйтесь или зарегистрируйтесь. 2. Вы должны иметь 15 (ПЯТНАДЦАТЬ) или более сообщений. 3. У нас можно купить доступ к файлам.
|
|
|
|
 |
|
Vertyanov_SS
[ТС]
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 29 окт 2026, 09:13 |
| Инженер |
 |
 |
Зарегистрирован: 24 май 2012, 14:34 Наличности на руках: 858.09 
Сообщения: 313 Откуда: Екатеринбург
|
Exploitman писал(а): Но расписывать простыни на форуме для ремонтников желания нет Моя почта в подписи указана или так-же нет желания расписывать? Смысл тогда было заикаться? Вы меня простите, но пару раз в месяц приходят господа, то чужое выдают за свое, то кто-то считает, что мое дорого, а его не выпущенное это здорово, кто-то что-то там нашел, но ему лень расписывать ... Для чего вообще тогда тратить время на описание того, что я сделал, но мне лень расписывать? )) Вы лично уже во все места похвастались, но полезного ровным счетом ноль. Время свое уже потратили, а в мою почту так и не написали. Честно говоря и мне уже даже не интересно, что Вы там накопали и накопали ли вообще ... Ну держите в себе тогда, а я/мы будем довольствоваться тем, что есть и что выложено. PS Смотри какая цаца у меня есть, но я тебе не покажу ))
_________________ Программатор SUCCESSOR/JIG V2/3. Пост карты DDR234/NGFF_GoWin/KFCT_BIG
|
|
|
|
 |
|
Exploitman
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 29 окт 2026, 12:08 |
| Я тут случайно |
 |
 |
Зарегистрирован: 04 июл 2025, 03:12 Наличности на руках: 0.00 
Сообщения: 0 Откуда: Тула
|
|
Vertyanov_SS Переходите, пожалуйста, к нормальному режиму общения, как инженер. Здесь все взрослые люди. Штатную процедуру инициализации (FIU/SCFG) в вашей программе пришлось отключить, так как выполняемая ею конфигурация FIU и мультиконтроллера, а именно 6 байтовых записей в регистры BURST_CFG, RESP_CFG, SPI_FL_CFG, DEVCNT, DEV_CTL4, DEVALT0 мешала нормально инициализировать внутренний флеш. Вот здесь я потратил много времени. Не стал разбираться что там конкретно не так, просто забайпасил её и сделал по-нормальному (конечно, это повлияет на штатную инициализацию других поддерживаемых моделей Nuvoton, но в частном случае почему бы и да. В дальнейшем, несомненно, инициализацию других nuvoton-ов нужно будет восстановить, а работу с NPCX796 выделись в отдельную ветку. Но это потом.). В точке вызова 0x0040609В сделал следующую замену - было: call 0x0040A9A8 стало: mov eax, 1. Обе инструкции занимают пять байт. Вместо выполнения процедуры программа получает признак успешного завершения и продолжает подключение. Сама процедура остаётся внутри EXE, но этот вызов больше её не выполняет. Меня устроило. Инициализацию перенёс в RAM-помощник и ограничил необходимыми изменениями - DEVALT0 |= 0x80; // Установить NO_F_SPI FIU_EXT_CFG &= ~0x04; // Сбросить только бит 2 UMA_ECTS = 0x03; // Привести CS в неактивное состояние. DEVCNT, DEV_CTL4, BURST_CFG, RESP_CFG и SPI_FL_CFG мы оставляем исходными значениями, а для DEVALT0 используем операцию OR, сохраняющую остальные биты. В процессе отладки, в успешном сеансе получилась такая конфигурация: регистр: значение: DEVCNT F8 DEV_CTL4 1A BURST_CFG 00 RESP_CFG 80 SPI_FL_CFG 00 DEVALT0 80 Далее будет продолжение по RAM-помощнику. Переписал его, сохранив существующую систему команд successor. Буду дополнять/писать сообщемния по мере возможности. Перейдём к RAM-помощнику. Опишу этап инициализации и подготовки к собственной работе поподробнее, по шагам. Начнём с момента, когда ваш программатор останавливает ядро и загружает помощника в RAM. Через SWD программа записывает 4096 байт по адресу 0x100A0000, устанавливает стек SP = 0x100A3000, точку входа PC = 0x100A006D и запускает ядро. Далее помощнику необходимо подготовить собственную работу. Не разбирал как это устроено у вас, написал и интегрировал свой, рабочий вариант. Механизм такой: Перво-наперво запрещаем маскируемые прерывания командой CPSID I; - это необходимо, чтобы во время чтения и записи flash ядро не переключалось на обработчики прерываний штатной прошивки EC. Далее очищаем поля обмена командами и ошибок в RAM. записываем свою сигнатуру (0x796FB011) по адресу 0x100A0040. Ну и останавливаем watchdog последовательностью байтов 87h > 61h > 63h в регистр 0x400D800A. После этого переходим, к ранее упоминавшейся, процедуре инициализации, а именно выполняем 3(!) изменения FIU/SCFG: Регистр DEVALT0 по адресу 0x400C3010 - устанавливаем бит NO_F_SPI, прежнее значение было OR 0x80. Тем самым отключаем внешние выводы FIU, сохраняя остальные биты. Регистр FIU_EXT_CFG по адресу 0x40020033 - сбрасываем только бит 2, ранее было AND 0xFB ну и наконец регистр UMA_ECTS, адрес 0x4002001F, записываем 0x03, тем самым переводим CS0 и CS1 в высокий, неактивный уровень. Обратите внимание ещё раз, что мы не трогаем DEVCNT, DEV_CTL4, BURST_CFG, RESP_CFG, SPI_FL_CFG, которые в вашей штатной процедуре заменялись фиксированными значениями. После этого помощник сообщает о готовности и начинает принимать команды (записывает 0x6969 по адресу 0x100A0014). Устройство FIU №1 выбирается в каждой UMA-операции битом 6 регистра UMA_CTS. _______________________________________________________________________ В качестве отступления, давайте разберём механизм выбора FIU устройства №1, а не FIU №0. Думаю Вас это также интересует, так как изначально в коде successor, судя по вашей логике, вы стучитесь именно в FIU устройство №0, что неправильно. В нашем случае FIU device №1 - это внутренний flash, куда нам очень нужно. FIU device №0 - внешняя shared-память, куда нам совсем не нужно. Устройство FIU №1 выбирается установкой бита 6 DEV_NUM в регистре UMA_CTS по адресу 0x4002001E. Маска этого бита - 0x40 : Значение 0 выбирает устройство №0, значение 1 - устройство №1. Приведу пример, как это работает в моём RAM-помощнике. Чтение идентификатора начинается так: </> asm movs r0, #0x9F ; команда чтения JEDEC ID movs r1, #0xC3 ; параметры операции, включая устройство №1 bl uma_transfer внутри uma_transfer выполняется </> asm strb r0, [r4, #0x16] ; UMA_CODE = 9Fh strb r1, [r4, #0x1E] ; UMA_CTS = C3h здесь r4 = 0x40020000, поэтому вторая инструкция записывает C3h именно в 0x4002001E. Разложим C3h - 0x80 - запуск UMA-операции 0x40 - выбор устройства №1 0x03 - читаем 3 байта данных Для аналогичного чтения с устройства №0 значение было бы 0x83 вместо 0xC3. И этот выбор я задаю при каждой UMA-операции. Все используемые в дальнейшем управляющие значения C1h, C3h, D4h и т.д. содержат установленный бит 0x40. Отдельно UMA_ECTS = 01h удерживает CS1 в активном низком уровне, чтобы команда, адрес и данные прошли одним непрерывным кадром. Таким образом, DEV_NUM выбирает устройство для операции, а UMA_ECTS управляет удержанием его линии CS. _______________________________________________________________________ Продолжим. К примеру, JEDEC ID выполняется командой 9Fh со значением UMA_CTS = C3h. На моём контроллере был получен EF4014, соответствующий объёму 1Мб. При адресным операциях помощник дополнительно управляет CS1: UMA_ECTS = 01h -> CS1 активен; команда -> три байта адреса -> данные; UMA_ECTS = 03h -> CS1 отпущен. В общем смысл такой - сохранение имеющихся настроек контроллера, минимальная подготовка FIU и дальнейшее выполнение всех Flash-команд RAM-помощником через FIU устройство №1. Надеюсь понятно описал. Именно так действует штатный механизм Nuvoton при общении с внутренней памятью для NPCX796. P.S. сам я вашего программатора не имею, вся отладка выполнялась удалённо, на другом ПК в сервисе коллег. Это вносило некоторые неудобства в рабочий процесс. Так что буду рад, если пришлёте. Есть много вопросов, на которые очень хотелось бы найти ответы (например то, что контроллер перестал выходить на связь по SWD после успешной прошивки. Хотелось бы разобраться с дампом именно рабочего контроллера), много того, чего можно было бы ещё доработать, но останавливает именно отсутствие девайса во владении. Продолжение, конечно же, следует....
|
|
|
|
 |
|
Vertyanov_SS
[ТС]
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 29 окт 2026, 18:42 |
| Инженер |
 |
 |
Зарегистрирован: 24 май 2012, 14:34 Наличности на руках: 858.09 
Сообщения: 313 Откуда: Екатеринбург
|
Exploitman писал(а): Переходите, пожалуйста, к нормальному режиму общения, как инженер. Здесь все взрослые люди. Издержки профессии. Это Вы привыкли общаться со взрослыми людьми, а у меня частенько все иначе. Что сказать. Полезное вероятно есть, но к этому надо вернуться и делать/пробовать/переделывать. То, что работает на одном чипе, не работало на другом. Я про неоптимальный протокол при работе с FIU у меня. В моей реализации он работает медленнее, но тогда нужно с этим так, а с этим так работать. То, что заработало с NPCX796FB0BX, может совсем не заработать с другим. Я вижу дока какая-то есть? Какая? ---------- Добавлено спустя 2 минуты 54 секунды: ---------- Exploitman писал(а): FIU_EXT_CFG по адресу 0x40020033 - сбрасываем только бит 2, ранее было AND 0xFB Придираться не будем, может опечатка, сейчас это не суть важно. Детали важны в моменте будут... AND 1111 1011 разве не сбрасывает 2ой бит?
_________________ Программатор SUCCESSOR/JIG V2/3. Пост карты DDR234/NGFF_GoWin/KFCT_BIG
|
|
|
|
 |
|
Exploitman
|
Заголовок сообщения: Re: Программатор для ENE/ITE/MEC/Nuvoton TETRIS/SPIDER/JAWS (Vertyanov_JIG)  Добавлено: 29 окт 2026, 20:42 |
| Я тут случайно |
 |
 |
Зарегистрирован: 04 июл 2025, 03:12 Наличности на руках: 0.00 
Сообщения: 0 Откуда: Тула
|
Vertyanov_SS Доков нет, Вы сами знаете, что они под NDA. Для сохранения совместимости с Вашим программатором пришлось дизассемблировать его исполняемый файл, так как исходников у меня нет. Это позволило определить загрузку помощника в RAM по адресу 0x100A0000, точку входа 0x100A006D, расположение полей команды, адреса, состояния и ответа, значения состояния 0x1122 и 0x6969, буфер 0x100A02B8 и обмен блоками по 1024 байта, механизм передачи данных через программатор и запуска ядра по SWD. Сам механизм работы с flash NPCX воссоздан в процессе реверса прошивки мультиконтроллера, которая лежала в BIOS ноутбука, всего 256кб. Но отсюда только частично, а именно чтение статуса — по адресу 0x1009E5B8 и разрешение записи, Write Enable — по адресу 0x100A8358. Всё основное далее. Есть такой дебаггер OpenOCD, отличная штука, постоянно им пользуюсь. У него есть общий драйвер внутренней flash семейства Nuvoton NPCX, за авторством инженеров Nuvoton. Вот здесь реально бинго! Драйвер использует собственный, загружаемый в RAM алгоритм работы с FIU, но для вашего программатора он естественно не подходит, да и чёрт с ним. Зато из его содержимого удалось выяснить механизм передачи SPI-команды через UMA_CODE, как запускать её записью управляющей маски в UMA_CTS и обслуживать операции записи. В управляющих масках используется основа 0xC0, содержащая запуск операции и выбор FIU устройства №1, что явно дало возможность сопоставить FIU устройство №1 с внутренним flash. Собственно на основе последовательности работы этого драйвера с NPCX и его RAM-ассистента и был сначала написан RAM-помощник который через ваш программатор собирал состояния интересующих меня регистров при различных условиях и выводил их в LOG-окно вашей программы, а в последствии когда всё прояснилось был написан окончательный вариант RAM-загрузчика для successor. Vertyanov_SS писал(а): AND 1111 1011 разве не сбрасывает 2ой бит? Совершенно верно, просто кода пишешь такое длинное описание, иногда приходится по нескольку раз переформулировать фразы и вылезают подобные косяки.
|
|
|
|
 |
|
|
 |
|
 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|