X

Здравствуйте, гость ( Вход | Регистрация )

Скрыть объявления

Объявления

История благодарностей участнику RedYu. Спасибо сказали: 4
Дата поста: В теме: За сообщение: Спасибо сказали:
12.4.2017, 17:59 9S12 Write/Read OBD
Чтение и запись процессора не вытаскивая его из машины
Всем привет! :) Решил всё таки я проблему с D-Flash, писать напрямую в D-Flash нельзя. Нужно как я сказал делать это с помощью RAM. Код показывать не хочу, но расскажу последовательность, также всё очень хорошо расписано в даташите. Итак как я сказал ранее писать напрямую в D-Flash нельзя. То есть вот этот код не верный:
CODE
LDD #$1234; load value
LDX #$0800; load addr
STD 0,X; err


Правильная последовательность записи в D-Flash:
1. Проверяем занята ли флеша.
2. Настраиваем тактирование флеши. (Это достаточно важное действие, без него не будут работать команды работы с флешой) Но для того чтобы его настроить нужно знать тактовую частоту моторолы, и относительно этой частоты выставлять тактирование флеши. Для этого просто достаточно посмотреть на кварц, но бывают такие кварцы где не написано ничего. (Такой как у меня). То это можно сделать двумя способами. 1) Методом подбора, что достаточно долго. 2) С помощью осциллографа, просто прикоснувшись к выходу кварцевого резонатора.
3. Чистим ошибки флеши.
4. Дальше нужно снять protection с флеши.
5. Стираем сектор D-Flash. (Без этого пункта мы не запишем никакие данные)
6. Снова удаляем все ошибки.
7. Пишем данные в D-Flash. (Про этот пункт можно узнать более точно в даташите найдя "Program D-Flash")
8. Снова удаляем все ошибки.
9. Радуемся данные находятся там где нам надо.

Также нужно понимать что когда мы пишем и стираем данные используется глобальный адрес, а не локальный.
Данные можно писать по 2,4,6,8 байта.

После чего я получил готовый загрузчик для чтения и записи RAM, D-FLASH, EEPROM, P-FLASH с помощью OBD2.
У меня получилась вот такая скорость:
1. Чтение 1 кб/сек.
2. Запись 90 байт/сек.

1. Чтение D-FLASH за 30сек, 32кб памяти.
2. Запись D-FLASH за 6мин, 32кб памяти. (Написал поправки и время записи уменьшилось к 2 мин)

3. Чтение P-FLASH не меньше чем за 10мин-15мин, 1мб
4. Запись и говорить не хочу) очень долго)

При этом не нужно разбирать автомобиль. :) Получил то что и хотел:)
Буду переходить на микрокотроллеры NEC.
Saveliy, Easy, Vkvetin
8.4.2017, 12:49 Дизассемблировать прошивку 68HC11?
Цитата(Myhaylo @ 16.12.2012, 22:51) *
Чем и как дизассемблировать прошивку для 68HC11?
С помощью Cats или IDA удаётся дизассемблировать только основную программу, а участка программы, которым должна заполняться таблица векторов прерываний, - не видно... То есть, по FFF0...FFFF нет ни единой команды перехода...
Чего мы не понимаем или что может быть не так?

Потому что вы вычитали только область памяти P-FLASH. А вся память имеет вот такую структуру.

CODE
{
    REGISTERS
}
{
    EEPROM
}
{
    RAM
}
{
    P-FLASH вы вычитали только вот это
}
{
    VECTORS
}


Для вычитывания всей области нужно писать собственный код и внедрять его в процессор. (так сказать некий вирус) который выдаст вам всё полностью от А до Я.
vovas2811

  Сейчас: 16.11.2025, 9:04