Семейство RH850 (только для автомобилей)
RH850 - это последнее семейство автомобильных микроконтроллеров Renesas Electronics, которое предлагает высокую производительность, сбалансированную с очень низким энергопотреблением в широком и масштабируемом ассортименте продуктов. Это семейство предлагает богатую функциональную безопасность и встроенные функции безопасности, необходимые для новых и передовых автомобильных приложений.
Семейство RH850 предлагается в 40-нм технологическом процессе Renesas, впервые в отрасли, и предлагает огромные возможности и функции в качестве экономически эффективных цен. Семейство предлагает ряд структур ядра ЦП (одно-, многократные, ступенчатые и их комбинации) для поддержки требований высокой производительности и / или высокой надежности.
Наиболее встречаемые в нашем деле контроллеры это RH850 / F1x
Микроконтроллеры серии RH850 / F1x являются наследниками V850E2 / Fx4 и V850E2 / Fx4-L. Он расширяет встроенную флэш-память и добавляет небольшой 48-контактный корпус.
И так ближе к делу, DATA FLASH процессоров этого семейства имеет очень интересную организацию памяти, она делится на страницы размером 16 байт и блоки страниц размером 64 байта (не трудно посчитать что в каждом блоке 4 страницы памяти)
Каждая страница имеет 2 состояния - Записана или НЕ Записана, то есть содержится в ней информация или она пуста
При чтении памяти DATA FLASH учитывается чистая страница или нет, для этого проверяется ее состояние перед чтением, и если она пуста, то просто игнорируется, так как при запросе чтения пустой страницы, процессор выдает нам набор случайных данных, а не привычные 16 байт "FF"
В обновлении 2.0.0.10 для работы с данными процессорами добавлены некоторые инструменты.
При чтении DATA FLASH выделяются пустые (НЕ ЗАПИСАННЫЕ) страницы памяти в процессоре
Как видите если прочитано на странице FF это не значит что страница стерта!!! "FF" это такой же байт как и все остальные
Добавлены Чек боксы для выбора режима стирания памяти
Два CheckBox "Erase All Data Flash" и "Erase Emply Sectors After Write"
"Erase All Data Flash" - При выбранном пункте, при записи или просто стирании будет стерта ВСЯ DATA FLASH процессора
В ином случае при стирании программа попросит у вас Стартовый и Конечный адрес для стирания, кратный 0x40 (64 байтным блокам)
"Erase Emply Sectors After Write" - При данном выборе, после записи DATA FLASH все Пустые Блоки в Дампе, будут стерты
Теперь естественно вопрос, ЗАЧЕМ ВСЕ ЭТО НАДО?)))
При работе допустим с блоком SRS, процессор блока проверяет статусы страниц, куда он записал данные об аварии, если они чисты,
то все ок и их можно использовать, или если они записаны, то там хранится что то важное (Например данные об инциденте) и он их не
трогает, или он размечает память создает разметку (Memory MAP) и размещает данные "согласно занятым билетам"
В общем все это зависит от программы которая управляет блоком, но как еще один пример, на блоке TOYOTA с процессором RH850
для удаления данных об инциденте аварии, нужно стереть DATA FLASH, не записать туда "FF", не что то еще из донорского блока, а
именно СТЕРЕТЬ! Ведь даже записанные "FF" - это тоже данные.
Или еще один блок с интересной организацией - VAG RH850, если его просто считать и записать обратно то что считали - блок труп,
молчит и не отзывается, но если стереть часть дампа, или записать часть DATA FLASH - все отлично все работает.
В общем при работе с данными процессорами соблюдайте осторожность и всегда делайте BACKUP дампов.