M32c процессор чем прочитать
Monitor Program for M32C/80, M16C/80 and M16C/60 Series. After the Monitor Program is written to the MCU and the Monitor Program communicates with the Debugger, the user program can be debugged.
- Use RS-232C for communication between the Debugger and the Monitor Program.
- When debugging with the Debugger, write the Monitor Program to the MCU using a flash programmer (ex. M16C Flash Starter).
- Monitor Program for M32C/80, M16C/80 and M16C/60 Series
Support
KD version
[Latest Version]
Released Date | Software name | Version |
---|---|---|
9. June, 2004 | KD30 (M16C R8C FoUSB/UART Debugger) | Ver.4.10 Release 1 |
25. August, 2004 | KD3083 (M32C FoUSB/UART Debugger) | Ver.3.30 Release 1 |
28. May, 1999 | KD308* (M32C UART Debugger) | Ver.1.00 Release 1 |
* KD308 is a M16C/80 Group debugger for "M32C M16C UART Monitor Program". This product has no plan to support High-performance Embedded Workshop in the future.
[How to upgrade to the latest version]
Download free updates from the "Documentation & Downloads".
Upgrade Information
Debugger (High-performance Embedded Workshop version / KD version)
* Target product : M32C M16C UART Monitor Program | R8C UART Monitor Program
Debugging Method
Downloads
Preparations
- PC with Serial Port
- Communication Cable
- Target Board, Power Supply
- Flash Programmer (for writing the monitor program to the MCU)
- Monitor Program
- Debugger
* You can download the Monitor Programs and the Debuggers from the "Documentation & Downloads".
High-performance Embedded Workshop version
[Latest Version]
- Released Date : 1. July, 2007
- Software name :
- M16C R8C FoUSB/UART Debugger
- M32C FoUSB/UART Debugger
- Comes with High-performance Embedded Workshop V.4.03.00
- [Disconnect] function
- Representational function of instruction format specifier in disassembly language
- Assignment function to bit-field members
- Some more improvements
[How to upgrade to the latest version]
Download free updates from the "Documentation & Downloads". Upgradable from any previous versions.[How to install]
Each emulator and monitor debugger is not bundled with High-performance Embedded Workshop. Please download from the "Documentation & Downloads" on this page. Installing this emulator debugger add High-performance Embedded Workshop environment a debugging function.Debugging Memory Map
M16C/62A, M16C/62M Group
Example: M30624FGA (ROM:256KB, RAM:20KB)
M16C/80 Group
Example: M30800FC (ROM:128KB, RAM:10KB)
M32C/83 Group
Example: M30833FJ (ROM:512KB, RAM:31KB)
Operating Environment
The operating environment depends on your debugger.
M16C R8C FoUSB/UART debugger (High-performance Embedded Workshop Version),
M32C FoUSB/UART debugger (High-performance Embedded Workshop Version)Item Description PC IBM PC/AT or compatible PC with Intel Pentium III 600MHz or higher OS Windows XP, Windows 2000, Windows ME, Windows 98 SE (98) Memory 128MB or higher Interface 9-pin D-SUB Serial Interface M16C R8C FoUSB/UART debugger (KD30 Version),
M32C UART debugger (KD308 Version),
M32C FoUSB/UART debugger (KD3083 Version)Item Description PC IBM PC/AT or compatible PC with Intel DX4 100MHz/Pentium II 75MHz or higher OS Windows XP, Windows 2000, Windows ME, Windows 98 SE (98), Windows 95 Memory 16MB or higher Interface 9-pin D-SUB Serial Interface info Additional Details
Target Devices
The debugger depends on your MCU. In addition, the High-performance Embedded Workshop version of the debugger is the successor debugger of the KD30/KD3083 version. The High-performance Embedded Workshop version is only scheduled for release in the future.
M16C R8C FoUSB/UART debugger (High-performance Embedded Workshop Version) or
M16C R8C FoUSB/UART debugger (KD30 Version)Family Series Group Part No. M16C M16C/60 M16C/62A M30624FGAFP/GP M30625FGAGP M16C/62M M30624FGMFP/GP M30625FGMGP M32C FoUSB/UART debugger (High-performance Embedded Workshop Version) or
M32C FoUSB/UART debugger(KD3083 Version)Подскажи пожалуйста, в каких блоках Volvo стоят именно такие процессоры, нужен такой проц.
я имел ввиду s90 2004 год двиг., 2,4
Volvo S90 — автомобиль бизнес-класса производства компании Volvo. Выпускался с 1997 по апрель 1998 года.
))))) я не так выразился, в каких моделях стоит блок управления именно с этим процессором? Я хочу найти блок управления на разборе, мне нужен именно процессор (m32c m30835) с этого блока.
Этот процессор ставился 46 недель всего лишь. На горбатые семы. Серийник сема 00004хх
Добрый день всем! подскажите M32C это семейство процессоров ренесас, мне надо читать/писать R7F701223 то чем вы читали это оно?
Ренесас. Семейство 32
А почему ID code все нули? Это же незащищённый флеш, такое в горбатом CEM бывает?
Почему не защищенный? Защита у него есть
На второй картинке снизу, пишет что кода нет (всё по-нулям).
Так для этого программатора это и есть код
Это код для ренесаса, программатор типа E8/E8a и ему подобные обязан предварительно пославть ренесасу верный код, иначе чтение блока сотрёт его содержимое.
Сам код размазан в самом конце флешки по байтам векторов. Все нули или все ff — это незалоченный флеш. Вот и возник вопрос, как в вольвовском дампе оказались нули в ID?
Или ты заливал прошивку в CEM, указав все нули в ID, таким образом разлочив CEM?
Этот ID не имеет отношение к дампу. Это доступ к чтению процессора
"The ID codes are 7-byte data stored consecutively, starting with the first byte, into addresses 0FFFFDF 16, 0FFFFE3 16, 0FFFFEB 16, FFFFEF 16, 0FFFFF3 16, 0FFFFF7 16 and 0FFFFFB 16 . The flash memory must have a program with the ID codes set in these addresses."
Программатор, работающий с ренесасами внутрисхемно, в этом не нуждаются
Это потому что ты сдул ренесас и читал его в параллельном режиме, где код не нужен. Если к serial1 подпаиваться, грузить проц в бут-режим, то нужен.
ID в программе сей, наверное, не считывается, если в параллельном режиме прошивка вытащена была. Или просто пишется то, чего юзер ввёл перед считыванием.
У меня E8 с софтом тоже есть, но хотелка ещё не выросла настолько, чтобы ренесас сдувать =)
Предисловие: пост длинный и я уверен, что большинству людей это будет вообще не интересно, но думаю некоторым людям, которые сталкивались с этими проблемами будет наоборот — очень любопытно. Поэтому если если первый абзац не интересен(не понятен), то дальше можно не читать(ну или просто посмотрите картинки ) :)
Было это в воскресенье. Лежал я на диване, отдыхал от насущих творческих процессов(надеюсь как-нибудь до них дойдет время и я их расскажу) и думал "Чем бы заняться … таким, вроде бы полезным, но не особо мне нужным, тем где особо думать не надо, а просто что-нибудь проверить?!" И тут вспомнил что на последней неделе один из подписчиков интересовался "смогу ли я починить окирпиченный LM2?", потом я вспомнил еще людей, у которых вместо LM2 кирпич … и подумал что пора бы попробовать разобраться в основном процессоре LM2, а именно m306n4fggp.
Renesas МК много где используются, но к сожалению(или счастью) любители электронщики их не используют и инфы в отечественном интернете особо и нет.(я помню это потому что немного изучал этот вопрос пол года назад )
В общем лежал я на диване и изучал … даташит, иностранные форумы, всякие буржуйские статьи. гуглил на тему программаторов и так далее. Нашел несколько программ которые работают с МК по юарту. Достатоно полезный ресурс и pdf на нем. Ну думаю — один фиг, надо пробовать и подключать. Скачал софтину от Renesas'a, скачал коды программы для линукса и начал. Скажу так — наскоком решить вопросы не получилось.
У МК есть несколько юартов и так как на иностранных форумах все подключаются через юарт, я решил тоже это попробовать. Нашел по даташиту нулевой юарт и решил подпаяться к нему. (он . кстати идет на max202 и в обычной жизни служит выходом показаний прибора) Плюс надо было еще подпаяться к некой ножке CNVss при помощи которой можно зайти в заводской бутлоадер(если он не изменен).ДЕНЬ ОДИН
Припаиваться к МК не очень люблю, но делать был нечего. ПрипаялсяПробовал и так и сяк — не работает ничего. ни бут, ничего. Опять засел за изучения вопроса. В общем вечер воскресенья и понедельника я гуглил, читал, опять гуглил. думал… В итоге понял что ножек для входа в бут должно быть несколько. Плюс понял что есть два режима программирования (mode1 и mode2)
Потом я подумал — а может быть диагностический разъем не просто так на плате ?! Эврика блин…Стал прозванивать разъем и понял что он действительно диагностический. На нем есть питание. земля, CNV есть. загуглил еще и понял что это стандартный диагностический разъем который используется в программаторах Renesas. Нашел доку на программатор
и на 11 странице есть картинка с пинами. Стал их прозванивать и понял что все необходимые ножки есть, что я зря припаивался к UART0, в бут заходят по UART1. Запаял гребенку и стал экспериментировать.
Также я понял что на одних МК пин CNVss для захода в бут должен быть соединен с Vcc, на других c GND
Плюс осознал что два режима это UART(mode1) и SPI(mode2)
В итоге путем разных экспериментов, все получилось.
Картинка этой таракашкиВ итоге в бут зашел. Ну думаю … УРА! Победа! но все оказалось гораздо веселее.
У этих МК можно поставить защиту от считывания в виде 7 байт и как мне казалось на LM2 врятли он будет. Инновейт обычно не ставит защит. Но тут стояла защита … облом.ДЕНЬ ДВА
Все бы на этом и закончилось, но тут я вспомнил что день назад находил любопытную статью на хабре, по взлому кода Renesas
Тут я понял что веселье только начинается… Короче стало действительно любопытно повторить этот опыт и найти код. Мотивации придавало то, что я все таки программирую простые вещи на STM32 и я в таких же условиях что и автор статьи. Правда мне морально проще, так как я знаю что у некоторых людей это получилось. В общем в первый день на работе я набросал быстренько код для STM32 . Хотел для интереса взять что-нибудь менее распространенное, типа L053 или F072, но вспомнил что на работе их нет(они дома), а попробовать в деле хотелось побыстрее. нашел stm32f103 "синюю таблетку" и в итоге стал писать на ней. Хотя в принципе это дело не сложное, но я давно ничего не писал под F1, а старые все коды на SPL. Сейчас я пишу на CMSIS, поэтому пришлось смотреть доки и писать. Но в целом за пару часов были успехи. Код связывался с МК, запрашивал статус, получал ответ. Но не работал нормально ресет и приходилось вручную сбрасывать МК.
Думая на эту тему я понял что неправильно настроил ножку и тут же в голове вспомнилась фраза из статьи на хабре — " а ногу, которая дергает RESET M16 не забываем перевести в режим выхода с открытым стоком. Я вот забыл, и это еще +2ч в копилку упущенного времени."
Ну я обрадовал и немного огорчился. Радость была в том, что я сам до этого допер, а огорчение от того, что я понял что если бы прочел статью внимательнее, я бы не стал наступать на эти грабли.
После того как я стал видеть в отладчике статус, я решил что пора собирать данные и слать их куда-то на ПК. Настроил юарт и стал слать на ПК(если я не использую свое ПО, то я пользуюсь терминалом CoolTerm, он кросплатформенный, удобный и может нормально сохранять лог в фаил). В общем стал подбирать первый ключ и обрабатывать данные в эксель. Получалось что-то типаНачали терзать сомнения, что что-то я делаю не так. если в первых ключах были какие-то выбросы, то в других вообще наблюдалась какая то лажа.
ДЕНЬ ТРИ
Сегодня задумался и понял что много времени отнимает перенос данных из файлы в эксель. Да, это примерно 15-20 секунд, но задалбливает включать записаь файлы, выключать запись файлы, преобразовывать текстовый фаил в столбик, запихивать в эксель, смотреть результат.
В итоге решил фразой из мультика "Лучше один день потерять, потом за 5 минут долететь" и засел в написание простой программы, которая бы принимала данные и сразу же их отображала. После написания программы я стал дальше экспериментировать с прошивкой, обменом с "жертвой", с алгоритмом детектирования временем отклика. Одно дело читать статью и понимать алгоритм, совсем другое его самому делать. Всплывают разные мелочи, ошибки. Но после того как я сделал нормальное отображение работа ускорилась и наконец все получилось.
Вот картинкаНу думаю тут сомнений быть не может . байт 221 — 0xDD
В общем после того как было настроено, 6 байт я нашел за 6 минут (а может и 2-3, особо не считал) Седьмой байт интуитивно уже был понятен, но для чистоты эксперимента(и потому что было лень переключать провода на юарт) я решил сделать как в статье на хабре: после перебора проверять статус и если код не подходит, то делать сброс. В итоге спустя 1-2 минуты был найден последний 7 байт ключа.
После перекура я переключил провода на uart, подключился программой M16C-Flasher и ввел ключ. Это была победа.
Далее я считал прошивку два раза. первый в формате mot(и очень хорошо), второй в bin (тоже хорошо)как устроен формат mot я не разбирался и hex редактор выдал какую-то ерунду. но во bin в хексе отображался нормально и там были заметны слова типа "Innovate" . Прошивка у меня была и решил пойти дальше.
Для чистоты эксперманта, я отключил провода и убедился что прибор включается. Потом подключил все обратно и нажал на кнопку Erase . Программа спросила "Are you sure?", я секунду поколебался, но нажал "Yes"Далее для проверки я опять считал прошивку и увидел что там везде 0xFF. Отключил провода и убедился что прибор не включается. Опять подключил провода и решил залить прошивку. Кстати bin что-то не захотел, а mot сразу "полетел"(как хорошо что я считал в этом формате и не нужно думать о конвертере)
Отключил провода и прибор включается, как и раньше. В общем — победа.
Выкладываю схему подключения к разъему для двух режимов
В общем при острой необходимости можно менять МК и заливать прошивку. Код я естественно говорить не планирую, так как для всей этой операции нужно много сил и времени и поэтому рядовой пользователь врятли будет сам менять МК, а продвинутому думаю будет интересно самому повторить весь этот путь. Я же готов попробовать реанимировать какой-нибудь "кирпич" (пока опыта мало — первым людям 5т.р(МК включен) +300 за доставку, дальше будет чуть дороже)
Для людей у которых такой кирпич и которые еще не готовы отсылать его мне, я могу посоветовать такие действия:
0. Подключать можно только по USB, этого достаточно для питания МК.
1. (без включения)Вначале тестером, по последней картинке проверить не звонятся ли контакты на пинах Vcc и Vdd. Если звонятся, то МК на 99% мертв и возможно была переплюсовка. Думаю тут надо только менять МК
2. (с включением) Посмотреть сигнал на пине CNVss диагностического разъема. в обычной жизни он должен быть землей, ну или по крайней мере явно меньше 1В. Если это не так, то возможно что-то не так. насколько я понимаю(возможно ошибаюсь) этот пин имеет две подтяжки и если к примеру в одной линии перегорел резистор и пин ушел в плюс, то прибор все время находится в режиме входа в бут. Если это так, то надо попробовать подключить этот пин на землю и проверить. Если мое предположение у кого-нибудь сработает, то обязательно отпишитесь.
3. Если все нормально то можно попробовать зайти в бут через программу M16C-Flasher и посмотреть "живой ли вообще МК"?! для этого нужно подключить ножки диагностического разъема по схеме что я нарисовал в режиме mode1(правда в программе это mode2 . в своей картинке я ошибся) к обычному ttl-usb преобразователю (ножки rx, tx и gnd) и попробовать подключиться. для ресета можно просто передергивать шнур юсб или пинцетом аккуратно замыкать пины reset и Vss(GND)
если МК жив, то значит или дело в прошивке или где-то в схеме. В чем именно я пока сказать не могу, так как с кирпичами еще дел не имел.В общем на этом наверно тему LM2 можно закрывать и переходить к другим делам. В общем время провел весело и c пользой, отдохнул от других своих проектов, которыми собираюсь продолжить заниматься в ближайшее время :) Надеюсь тоже будет любопытно почитать. Всем мир!
P.S. для программистов МК и просто заинтересованных изучать это дело, повторно прорекламирую свой новый форум mcumpu
P.P.S перечитал. часто использую фразу "тут я понял" :)))) жесть, но исправлять лень.
Итак, сегодня распишу немного по тому, как программировать ваши микроконтроллеры, из которых вы сделали всевозможные устройства. Не будем же мы только отладочную плату мучать .
Контроллеры STM32 можно прошить двумя путями.
1) Через встроеный бутлоадер (бутлоадер, это такая маленькая программка внутри каждого микропроцессора STM32, которая прикидывается программатором — это если по простому). Прошивка в таком варианте происходит через UART (для связи с компьютером используется переходник USB>COM)2)Внешним программатором. Из внешних программаторов на данный момент есть большой выбор. Это может быть и ваша отладочная плата STM32 Discovery, и китайский аналог ST-LINK V2 mini, и оригинальный ST-Link.
Первым вариантом я не пользовался, но сложного в нём вроде ничего нет. Нужно скачать утилиту STM32 ST-LINK Utility и на вашем прошиваемом микроконтроллере выставить определённый сигнал на ножке\ножках BOOT0\BOOt1. Допустим возьмём для примера самый дешёвый и простой микроконтроллер STM32F030F4P6 в корпусе TSSOP20. У него есть ножка BOOT0, которую если мы замыкаем на массу — то у нас контроллер будет прошиваться через SWD (то есть от внешнего программатора), а если на эту ножку подать напряжения питания, то контроллер будет стартовать с встроенного бутлоадера, и ждать пока мы его прошьём через UART, то есть с помощью программы ST-LINK Utility.
Вторым вариантом намного проще работать, так как помимо того что вы можете прошивать свои микроконтроллеры так ещё и в режиме реального времени отлаживать свои программы (дебажить))
Для прошивки в таких случаях используется всего 4 ножки (по минимуму)
1)Vcc — питание 3 Вольт
2)VSS(Gnd) — масса
3)SWCLK
4)SWDIOТакой вариант подключения для прошивки используется в том случае, если вы не сконфигурировали ножки SWCLK и SWDIO в качестве портов ввода-вывода. Если же вы эти ножки используете в качестве портов ввода-вывода, то прийдётся ещё подключать "физичесу" линию сброса. — RST . В таком варианте у нас получается 5 проводов для подключения
1)Vcc — питание 3 Вольт
2)VSS(Gnd) — масса
3)SWCLK
4)SWDIO
5)NRSTВот так выглядит распиновка на плате STM32F4Discovery разъёма для программирования внешних микроконтроллеров. Пин VDD_Target является пином, для снятия показаний напряжения с прошиваемого устройства. Этот если по простому — для согласования уровня напряжений между программатором и прошиваемым устройством.
Вот так выглядит разъём программатора ST-LINK V2 mini. В нём есть дополнительные средства для работы с STM8 и т.д, поэтому для работы с STM32 нам нужны пины
1)Vcc — питание 3 Вольт
2)SWDIO
3)VSS(Gnd) — масса
4)SWCLK
10)NRSTВот так выглядит схема подключения для прошивки нашего простейшего микроконтроллера STM32F030F4P6
Как видите, никаких заморочек нет. На этом думаю всё, если будут вопросы, то пишите в коментах, я добавлю эти нюансы в статью.
What’s the best programming tool for Volvo CEM R32C R5F64524KFD read?
VVDI Prog: Need luck?
Xhorse support: M32C renesas don’t work with vvdi-programmers.
But received some complaints: tried to read Volvo cem from 2013 s60 USA. unsuccessful
How to use volvo software to read this M32C:
Read 93c86 (nearby M32C)
You can get PIN code for M32C renesas from software log file
But I tried with an Chinese one I got no details
You have to use original volvo software with an official account to get correct loggingThe Di-CE uses a Renesas M32C/85 microprocessor which has internal flash memory. This flash memory is used for storage of the firmware image alosng with device specific configuration data. Flash block 1 is used to store, among other things, the serial number and the bluetooth id of the particular DiCE. If you’re getting all zero’s when the Di-CE is connected to your computer then it’s likely the contents of flash block 1 have been erased.
This can happen under unusual conditions, I’ve caused it once by adding a bluetooth card to a clone Di-CE. If you happen to cut power to the Di-CE when it’s in the middle of rewriting block 1 then you can end up with an erased block. In my case it was likely recreating block 1 with the bluetooth id when I turned it off.
One of the other pieces of data stored in block 1 is a “flight recorder” of Di-CE hardware failures. When the software detects there is something wrong with the hardware it logs it in block 1. Again, if you cut the power when the log is full and it needs to rewrite block 1 you can end up with an empty block 1.
I’d be inclined to blame the crap clone hardware rather than malicious Di-CE firmware. The scanner is recoverable if you have a programmer for the M32C/85 and know the programming key, if one has been set.
You can read M32C renesas with Londor k518ise and Kprog 2 adapter
Steps can be:
Lonsdor K518ise – adapter – mcu – renesas – r32c/m16c/spi – read flash – read dataflashnote: cut off the power when wiring.
use needle 1 of the adapter to connect gnd
use needle 2 of the adapter to connect vcc
use needle 9 of the adapter to connect rxd
use needle 10 of the adapter to connect reset
use needle 11 of the adapter to connect txd
use needle 13 of the adapter to connect sclk
use needle 14 of the adapter to connect cnvss
use needle 15 of the adapter to connect busy
remove this chip when reading data. cut off the power supply and wire the chip back after reading data.Documentation
Debugging Communication Port
The serial port of MCU is used for communication between the monitor program and debugger.
The serial port used by the monitor program is shown below.MCU Channel RxD (Reception) TxD (Transmission)* M16C/62A, 62M 1 P6_6/RxD1 P6_7/TxD1 * Please connect a pull-up resistor (approx. 5kΩ) to the TxD pin. M16C/80 1 P6_6/RxD1 P6_7/TxD1 M32C/83 1 P6_6/RxD1 P6_7/TxD1 The monitor program offered by Renesas uses the same serial port as the flash programmer supporting Renesas Standard Serial I/O Mode 2 (serial programming mode). Therefore, if the circuit for reference use of the flash programmer which supports Standard Serial I/O Mode 2 is used, you can easily create the environment from writing the monitor program to MCU to debugging.
Renesas provides M16C Flash Starter as a flash programmer supporting Standard Serial I/O Mode 2.System Configuration
Читайте также: