Перейти к содержанию

Помощь В Отладке Программатора Для Hcs12, Mc9S12Xx128


Рекомендуемые сообщения

Собрал программатор по даннной схеме

post-190074-0-25215500-1428520288_thumb.jpg

Вот весь файл проекта (могу дать ссылку на автора),

HC912 Programmer.zip

Все спаял проверил, MCU не грузит - нету, не видит.

Мой мк - MC9s12GC128. Возможности купить ETL нет в ближайшие три недели,

надо выкручиваться сейчас.

По софту (программа для режима custom спрашивает стартовый адрес и размер файла):

Во первых понятия не имею какой там стартовый адрес. Размер (флеш памяти)

я так понял 1024.

Моя задача - слить с мк прошивку и залить в другой новый мк (скажем так скопировать прошивку

с работающей стиралки на другую не работающую).

Люди, очень надо стиралку сделать до отъезда в город :)

Просьба оценить проблему и предложить решение - есть предложение добавить max232 и программно проинвертировать сигналы, убрать диоды и резисторы на входе,

Т.е. видоизменить схему (в начале схемы) таким образом:

post-190074-0-40700600-1428520846_thumb.jpg

Изменено пользователем Kuraga
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Если процессор запаян в плату и чтение производится внутрисхемно, то нужно проверить осциллографом прохождение сигналов Reset и BDM.

И ещё, есть два варианта запитки процессора:

1. Дать питание на плату и читать процессор на работающей плате. Самый лучший способ. Схема ресета включена и не мешает чтению.

Но проверить всё равно надо.

2. Запитать проц по линии 5 вольт. Схема ресета при этом, с большой долей вероятности, обесточена и мешает чтению.

Обычно в таком случае нога ресета приподнимается ( тонюсенькая такая ножечка :bye: можно оторвать в два счёта ) или отрезается дорожка, если имеется доступ. Обязательно проверить осциллографом прохождение сигналов.

912 моторола очень охотно идёт на контакт и конектится в любом случае даже залоченая.

Если процессор отпаян, то его надо запаять на специальную платку - адаптер. В адаптере установлен кварц и разведены линии питания.

Далее о программаторе.

Нормальный программатор должен сам устанавливать скорость общения с камнем.

В простых прогерах надо устанавливать скорость вручную ( очень муторное занятие :heat: ), выбрать из списка или заменить кварц.

:friends::crazy::bye:

Изменено пользователем ГОГА рижский

Мыши кололись, плакали, но продолжали жрать кактус.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

ГОГА, спасибо большое за быстрый ответ - вот это я понимаю форум!

Первое что сегодня обнаружил попробовав поправить фьюзы на attiny, так это то что заливаються

0 байт! Изучил все досконально - обнаружил причину - в приложенном файле пустая прошивка...

Сейчас нашел и залил нормальную прошивку.

1. Дать питание на плату и читать процессор на работающей плате. Самый лучший способ. Схема ресета включена и не мешает чтению.

Но проверить всё равно надо.

Здесь прошу объяснить мне как это так. То есть я включаю целевую плату и просто кидаю один провод на BDM, даже ресет не трогаю?

Получаеться сейчас я как раз делаю второй вариант так как подаю пять вольт, бдм и ресет на МК, и в итоге попадаю на то что ножка ресета на дорожке, должных пяти вольт она не получает, правильно?

Вообщем попробую оба варианта.

По скорости он там вроде подбирает разную... но конечно за лучше найти пару кварцев запасных на разные частоты.

Главный вопрос - там он на кастоме спрашивает адрес стартовый и file size, можете подсказать - это получаеться размер

flash памяти его можно найти в даташите, а вот адрес где его взять вообще? Или это не критично?

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Здесь прошу объяснить мне как это так. То есть я включаю целевую плату и просто кидаю один провод на BDM, даже ресет не трогаю?

Получаеться сейчас я как раз делаю второй вариант так как подаю пять вольт, бдм и ресет на МК, и в итоге попадаю на то что ножка ресета на дорожке, должных пяти вольт она не получает, правильно?

Нет, подключается BDM ( надо проверить, что не сидит на массе или ещё где-нибудь ).

Теперь ресет.

Ресет подключается обязательно!

Надо во время бута проца проверить осциком проходит ли ресер от прогера.

Дело в том, что на плате имеется схема ресета. Она может мешать чтению и просто глушить прогер.

По этому надо исключить ресет на плате.

Адресация.

Если прогер запрашивает стартовый адрес, то надо в даташите посмотреть его.

То же самое с объёмом памяти.

Я работал многими прогерами: ETL, CyclonePro, болгарским( не помню название ), Xporg и т.д.

У каждого по-разному и каждый работает по-своему.

Основной у меня был CyclonePro.

Зы.

Что бы не было проблем с пяти вольтами, все подтягивающие резисторы подключаются к питанию проца,

а не к пяти вольтам прогера.

post-46176-0-80948500-1428582519_thumb.jpg

Изменено пользователем ГОГА рижский

Мыши кололись, плакали, но продолжали жрать кактус.

Ссылка на комментарий
Поделиться на другие сайты

Ещё раз спасибо! Схему скорректировал, подтяжку вывел на МК, зачем правда не понял, т.к. не стал запитывать схему от штатного бп, а дал пять вольт стабильных с компьютерного БП, в качестве земли пятый вывод COM порта.

Ножку ресета отпилил от общей схемы (10 ком подтяжка и конденсатор). Все четыре провода есть.

Вообщем прогресс однозначно есть т.к. теперь ошибка уже Impossible to Enter BDM Mode, до этого была вообще Boot Error.

Осциллограф С1-112 (поблизости нет никаких марок или моделей) показывает немного, судя по всему на BDM ножку есть сигналы. Отредактировал - ресет видны слабые импульсы (5 м/в одна клетка) разной частоты, на наводки не похоже.

Вопрос по адресации пока все ещё висит - по ходу пьесы читаю огромный даташит, не знаю куда глядеть, но короче с этим разберусь, не ленивый :).

Вопрос такой - может стоит все таки переделать схему, оттойти от диодно резисторного решения, поставить макс 232 и перезалить инвертированную прошивку? Хотя уже вроде близко к цели.

Также по резонатору - думаю без разницы что на плате с HCS12 (MC9S12) висит кварц с кондерами, при том что на программаторе моем самопальном висит тоже на 12 мегагерц? Или стоит посмотреть какой там кварц и такой же попробовать поставить за место того что у меня сейчас. Программка софт всмысле, поддерживает много разных режимов, MHz всмысле

Очень жду очередного совета :)

ЗЫ

Вот ещё нашел по адресации и памяти

17.3.1 Module Memory Map

The HCS12 architecture places the Flash array

addresses between 0xC000

and 0xFFFF. The content of the HCS12 Core PPAGE register is used to map

the logical page ranging from address 0x8000 to 0xBFFF to a physical 16K byte page in the Flash array

memory.

1

The FPROT register (see

Section 17.3.2.5

) can be set to globally protect the entire Flash array

or

one growing downward from the Flash array end address. The higher address area is mainly targeted to

hold the boot loader code since it covers the vector space. Default protection settings as well as security

information that allows the MCU to restrict access to the Flash module are stored in the Flash configuration

field described in

Table 17-1

.

1. By placing 0x3F in the HCS12 Core PPAGE register, the 16 Kbyte page can be seen twice in the MCU memory map.

Table 17-1. Flash Configuration Field

Flash Address

Size

(bytes)

Description

0xFF00–0xFF07 8 Backdoor Key to unlock security

0xFF08–0xFF0C 5 Reserved

0xFF0D 1 Flash Protection byte

Refer to

Section 17.3.2.5, “Flash Protection Register (FPROT)”

0xFF0E 1 Reserved

0xFF0F 1 Flash Security/Options byte

Refer to

Section 17.3.2.2, “Flash Security Register (FSEC)

Изменено пользователем Kuraga
Ссылка на комментарий
Поделиться на другие сайты

- ресет видны слабые импульсы (5 м/в одна клетка) разной частоты, на наводки не похоже.

Должны быть чёткие импульсы от нуля до 5 вольт. ( до питания проца )

Иногда на ресете что-то висит и прогер не может пробить до нуля или, наоборот нету верхнего уровня 5 вольт.

Изменено пользователем ГОГА рижский

Мыши кололись, плакали, но продолжали жрать кактус.

Ссылка на комментарий
Поделиться на другие сайты

Синхронизировал и откалибровал аппарат - осциллограф имею виду. Импульсы есть от нуля до пяти вольт на ресете, целая куча, на BKGD ещё чаще и больше.

В какую сторону копать? Частота? Кварц? Или софт?

Попробую на код вариор как закачается.

Но мне кажется дело не в софте, а в чем-то более простом типа скорости кварца.

На край оставляю вариант по переделке схемы и программном инвертировании с максом232.

Ссылка на комментарий
Поделиться на другие сайты

Похоже, что проц вышел на конект.

Прога пишет Impossible to Enter BDM Mode - Невозможно войти в BDM режим .

Скорее всего проц под защитой.

Мыши кололись, плакали, но продолжали жрать кактус.

Ссылка на комментарий
Поделиться на другие сайты

Ай да какой молодец! Может её можно снять подав например 12 воль? Оставить на аттини 5, на процессор подать 12? Слышал так делают, если проц чего-то требует или хотят от него избавиться... :crazy: Если бы дело в кварце то наверное он вообще бы его не увидел, да?

Как думаете? Как эта защита подбирается -битами в сигнале? Мотокррэкер попробую - пошел в гараж....

Добавил:

Может в исходниках какая проблема с реализацией BDM? высылаю asm, если не впадлу будет посмотреть :)

Пока крэкер пытаеться что-то сделать, паяю max232 связке с 74hc14d

Prog_HC912_orig.zip

Изменено пользователем Kuraga
Ссылка на комментарий
Поделиться на другие сайты

Задача с двумя неизвестными.

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

Определится что не идёт.

Защита в этих моторолах обходится, только надо спец прогер покупать.

А что за Мотокррэкер? Новый какой-то, какая версия?

Мыши кололись, плакали, но продолжали жрать кактус.

Ссылка на комментарий
Поделиться на другие сайты

Понятно. Процессор рабочий - из рабочей машинки. В том то вся и суть чтобы скинуть с этого проца прошивку на мою не рабочую, пока хозяин не вернулся :). Проклятый Бош! :umnik2:

Мотокрэкеры - версии 6.2, 7 - только там hc12, hsc12 нету....

Насчет спец прогера - накопал кое что-то:post-190074-0-00702100-1428780533_thumb.jpg

Это в точности моя плата. Здесь подключение прогера TLP1506 к моему процессору.

Во первых - ноги питания другие, не общие VDDX, VSSX, а вместо них подключение к VDDR, VSSR.

Во вторых - отдельный проводок на CLK. Это меня пугает - не хочу переделывать прошивку под attiny с какой-то там

не пойми какой синхронизацией для записи/чтения регистра.

Исходя из этого становиться частично понятно что допиливать в моем прогере, но частично больше вопросов

Теперь про макс 232 (навязчивая идея модификации схемы которая ко мне прицепилась) - мало знаком с этой микросхемой, всю жизнь программировал AVR на usb.

Я так понял он преобразует UART в TTL. Но это уже сделано без него, судя по сигналам на осциллографе. А вот обратно TTL в UART, на компьютер, я ещё не проверил, но народ здесь http://www.auto-bk.r...14/page__st__40

почему то предлагает его ставить к данному прогеру вместе с инвертором 74hc04

Изменено пользователем Kuraga
Ссылка на комментарий
Поделиться на другие сайты

Процессор рабочий - из рабочей машинки

Это хорошо, что рабочий :yes:

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

Если бы у тебя был другой, гарантированно читабельный процессор, тогда можно было бы грешить на интерфейс.

А так, хрен его знает, то ли проц закрытый, то ли прогер глючит.

По поводу МАКСов и прочего ничего сказать не могу.

Работал самопальным интерфейсом с 908 моторолой и болгарской прогой.

Потом плюнул и купил CyclonePro и забыл про все мытарства.

Так же работал спец прогерами для закрытых 912 и 9s12.

В принципе, разницы никакой, только проводков на несколько штук больше запаивать и несколько ног проца поднимать надо.

Ноги питания разные? Так они соединяются все вместе.

Мыши кололись, плакали, но продолжали жрать кактус.

Ссылка на комментарий
Поделиться на другие сайты

Хмм.... да насчет программатора согласен вызывает большие сомнения т.к. ни поддержки ни понимания процедуры задержек и кодов к hcs12 бутлодеру у меня пока полностью нет.

Я продолжал поиски и наткнулся на данный программатор

http://sourceforge.net/projects/usbdm/files/Version%204.10.6/

Это типа свободная реализация USB BDM, только она какая-то живая, со всеми исходниками, схемами и т.п.

Только чтобы его собрать нужен HC08 и собственно его нужно будет прошить, чем непонятно. Вообще завтра попробую ещё пару вариантов со схемой которую имею, после этого если все равно не будет получаться, попробую почитать исходники данного проекта и перекомпилировать данный прогер, может что получиться, дай Бог. Посмотрите, там ведь реализация схемы не сложнее USBASP, плюс там ещё несколько разных - вообщем мне надо на свежую голову все прикинуть что сейчас выгоднее будет - стать Freescale инженером или заплатить 5000 за прогер. Так что либо побеждать, либо ехать к барыгам, брать TLP 1506 с ключами и аля улю.

Ссылка на комментарий
Поделиться на другие сайты

Читал закрытые 9s12 программатором Xprog и другими, но они дороже.

Ещё вариант - поискать людей которые занимаются программированием автоэлектроники.

Тут ты картинку выкладывал.

Судя по подключению ( добавочный провод на кварц ) проц закрытый.

К открытым процам подключение ТОЛЬКО к Reset и BDM, ну и питание разумеется.

Зы.

Я тут писал, что ноги поднимать надо - это не так.

Спутал с MICRONASом.

Всё таки три года прошло, уже подзабылось что-то.

Изменено пользователем ГОГА рижский

Мыши кололись, плакали, но продолжали жрать кактус.

Ссылка на комментарий
Поделиться на другие сайты

Понял, спасибо. Пообщался с человеком о покупке сего девайса, он сказал что мой процессор не обязательно защищен,

скорее всего косяк в интерфейсе. Говорит что защищенные 12-шки выдают просто нули, но идентификатор и коннект будет.

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

Ссылка на комментарий
Поделиться на другие сайты

Вообщем почитал я Freescale, почитал тонну всякой документашки, схемы, сырцы бутлодеров - единственно что можно самому собрать более менее приличное это jm60, j16 usbdm - TBDML - там есть такие проекты у них в сообществе со схемами и т.п.

Но необходимо будет прошить 08Jb16,JMLCD. Пока решил покупать, но руки дойдут точно соберу никуда не денеться.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Все! Решено - тему можно закрывать! USBDM вещь.

Вот описание как я считал прошивку:

1. ставим usbdm по версии прошивки jb16/js16 или что там у вас - есть open source проект на http://sourceforge.net. Обязательно отметить галочкой mcu 6.3, 5.1 (либо после второго шага т.е установки CW, не помню - не суть)

2. регистрируемся на freescale, заходим во вкладку Code Warrior development, special editions. Для восьмерок ставим CW 6.3, для mc9s качаем 5.1 3. проверяем в корневой папке кодевариора (CW 6.3 например) появился ли txt файлик usbdm - не появился, значит где-то косяк - неправильная версия программы, запоротый реестр, и т.п.

3. Подразумеваеться что дрова у вас уже стоят и usbdm подключаеться без проблем. Теперь заходим в папку /program files/freescale/cw6.3(5.1)/prog, открываем hi-wave.exe.

4. Подключаемся к TBDML или HCS08 opensource,выбираем 3.3. вольта в выпадающем меню

5. дальше просматриваем окошко с памятью (memory), помечаем себе где-нибудь pp области (защищенные), естственно не во всей памяти, а во флеш области по даташиту. Например MC9S12Q128 - 0x4000 - 0xFFFF.

6. Если ничего нет то командной строке (In) пишем - save 0x(address)..0x(address) filename.s19

7. Если будет ругаться на защищенные области, вычисляем их, копируем до и после области, потом объединяем файл.

Ну затем сделал компару двух прошивок, нашел область с идентификатором и все - БОШ...ммм.... рабочь короче :) Спасибо за подсказки и поддержку

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Извиняюсь за некропостинг, может быть кому-то будет интересно.

Перечитал сейчас тему и понял, что сейчас знаю ответ который я тогда искал.

Чтобы собрать свой программатор нужно всего лишь посмотреть в даташит моторолы и найти opcode в хексе на чтение/запись бита.

Подключиться к UART портам и выдавать эти коды через преобразователь уровней и маленький процессор как буффер.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...