• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Как прошить, куда копать RTL8710

pvvx

Активный участник сообщества
это всегда просто говорить когда разобрался. :)
Вам это всё описал в первом ответе. Сложности с AT командами?
Зачем вам Jflash? В ней неудобно и запрограммировать итоговые бинарники сложно.
SDK и Arduino работает без Jflash.
Jflash - это просто так, чтобы было :)
Гораздо сложнее разобраться с ESP-32 - там вообще нет софта для отладки и прочего... Вчера пришел ESP-32, но оказалось что его надо допиливать чтобы включить хоть в USB - халтура ещё та. :mad: AT нет, вообще ничего нет и похоже не предвидится, может через несколько лет...
 
Последнее редактирование:

findeler

New member
Вам это всё описал в первом ответе. Сложности с AT командами?
Да нет, нюансы. Из за дурацкого терминала провозился очень долго. Когда не знаешь чего точно надо ждать, очень много времени уходит на понимание, что не так работает.

Я сейчас только разбираюсь с этими модулями, судя по всему мне придётся плотно работать с ними ближайшие пару лет. А нужен или не нужен тот или иной флешер, или ещё что то там. Я пока просто не знаю.

В предыдущем посте написал как "убил" платку. Значит не то и не туда прошил. И таких моментов .... будет.
 

KomX

Member
Расскажу я вам страшную сказку.
Итак.
Следуя инструкции пытался запустить модуль RTL00-V1.0 с прошивкой отзывающейся на набор AT команд описанный в AN0075.
Надо заметить, что после экспериментов с прошивкой (смена и откат назад скорости UART, сохранение в флеше параметров станции и т.д.) последняя стала глючить и к нежеланию поднимать AP (в первозданном виде) добавился глюк с зависанием по ATSR.
Так вот, запускаю я значит RTL00Flasher, а он ругается, мол "не могу перевести модуль в halt-режим".
К модулю подцеплен JLink (препрошитый клон STLink V2) и USB-UART. Питание модуля от внешнего импульсного DC-DC преобразователя питаемого в свою очередь от USB. "Земли" к модулю идут две: от преобразователя и от USB-UART.
Дай, думаю отключу UART. Отключаю (все 3 провода RX, TX, GND) и получаю новую ошибку от RTL00Flasher (не запомнил какую). Возвращаю UART(GND) и - О, чудо! - запустился RTL00Flasher.
На радостях сливаю эту глючную прошивку и заливаю в режиме "Авто" прошивку V02_V16_05_10.bin. Радости нет предела, прошивка загрузилась и стартанула, выдала набор команд как выше приведенный @pvvx. Кстати, что-то я не нашёл описания на этот набор команд, видно плохо искал, а посему AP точку поднять опять не получилось...
Иду на форум и вижу, что уважаемый @findeler научился делать "драгоценные камни". А чем я хуже?!
Запускаю RTL00Flasher (запустился без проблем с подключенным USB-UART) и по аналогии, в режиме "Авто", заливаю старую прошивку .
В результате имею "драгоценный камень" выдающий в UART1 следующую картинку:
Код:
=========================================================

ROM Version: 0.3

Build ToolChain Version: gcc version 4.8.3 (Realtek ASDK-4.8.3p1 Build 2003)

=========================================================
Check boot type form eFuse
SPI Initial
Image1 length: 0x3704, Image Addr: 0x10000bc8
Image1 Validate OK, Going jump to Image
                                       лi)h?nSi^оѓFsNлi)дД’•J)„ДS
                                                                 Ron’‚Vroncжз^оbгупиЖгвrПзИдсыгљnзИЁеКкDВВ
                                                                                                          љnзИЁлг’•К©ёлкqпођaШПзИ„В    пиЫлкqпллЦтпо˜Lћ›гМлi©д«Ћ^К
JLink не находит модуль, RTL00Flasher ругается: "RTL8710 not connected or SWD off (reset chip)!"

Мораль сей сказки такова, что не имея Wi-Fi свистка, а стало быть не имея возможности осуществлять OTA загрузку, можно смело клепать "драгоценные камушки" ибо RTL00Flasher не имеет никаких защит "от дурака"...

А теперь с ответным словом выступит...
 
Последнее редактирование:

pvvx

Активный участник сообщества
Мораль сей сказки такова, что не имея Wi-Fi свистка, а стало быть не имея возможности осуществлять OTA загрузку, можно смело клепать "драгоценные камушки" ибо RTL00Flasher не имеет никаких защит "от дурака"...
И не будет никакой защиты :)
Свисток-то зачем? Роутер надотъ.
AT прошивкой можно тоже положить модуль - проблем c этим нет :)
Но Jtag его вылечит.
А теперь с ответным словом выступит...
Ответов и ответчиков нет. Зажались они :) Им всем лень и жалко отдавать что-то за просто-так. :p
Сейчас пошла мода на таких “дураках” бизнес делать. Пример - Kolban's Book on the ESP32… by Neil Kolban [PDF/iPad/Kindle]
 

findeler

New member
Итак платка номер один ушилась вусмерть теперь вопрос как реанимировать. Шаги приведшие к смерти.
1. RTL00-flasher 0.0.0.2
2. Списал fullflash.
3. Записал его же в режиме images со всеми галками.
2017-01-20_12-39-38.png
4. Плата труп. (В смысле пропала записанная в неё программа и через терминал полный ноль.
5. Залил fullflash в режиме region c адреса 0x00000000 (Восемь нулей и адрес файла и флеш)
2017-01-20_12-40-00.png
6. Записывается всё ок.
6.1 Делаю ещё один бекап.
7. Сравниваю самый первый бекап с последним. Совпадают.
8. Плата тот же труп.

Куда копать ?

Если что у меня есть ещё с 10 модулей но только без борды. Ежели что нужно с них скачать.

to Komx, ну так здесь и происходит изучение. Делать по стандартной инструкции оно может и ничего, но ежели желаешь разобраться приходится пробовать всякое. Отсутствие защиты от дурака ИМХО плюс в таких вещах. Учит понимать, что нельзя а что попробуйте.

P.S. Вот я просто уверен что есть флаг защиты от чтения в RTL. :)
 
Последнее редактирование:

KomX

Member
Роутер надотъ.
Дык, нету-ти яво на этом компе. Один 8-ми портовый свич на стенке висит с кучкой проводкофф.

Следуя заветам мультяшной Машу: "Лечиться, лечиться, лечиться!", можем ли мы с @findeler надеятся на:
Но Jtag его вылечит.
:oops:
 

pvvx

Активный участник сообщества
P.S. Вот я просто уверен что есть флаг защиты от чтения в RTL. :)
До флага защиты (отключения Jtag) добраться сложно. Случайно это сделать почти ни как.
Но даже если сделали всё по инструкции - отключили JTag в eFuse, то всё равно есть метод это побороть. Для него я ничего пока не делал. Не вижу смысла, т.к. если "случайно", то модуль не в той цене, чтобы вскрывать. А так-же заплачут те, кому нужна защита :)

В мои задачи ублажение “телепузиков” не входит. Старт и начала даны, методы как и что делать описаны. Дальше должны работать писатели, “портировшики” и прочие публикаторы.
 

pvvx

Активный участник сообщества
Ну у меня ещё конечно десять модулей есть для экспериментов, но хотелось бы понять что делается не так.
Нет сигнала RESET. Сколько ещё раз говорить?
Jlink стартует и постоянно пытается пробиться, а у вас Jtag в ПО отключен.
Он включается при старте модуля, при загрузке с Flash, когда пишет вам то, что вы дали в сообщении. Но далее вываливается на протектед и всё отключает. Если вы стартанете модуль и Jlink одновременно - то он соединиться.
У меня тут и 12В падало на модуль и ничего :) Скоро уже дыра в одном в Flash будет от перезаписей. Как его убить - не знаю - научите.
 

pvvx

Активный участник сообщества
Я имел ввиду что бы не списали прошивку. (Типа как сделано у СТМ) Но это лирика и гораздо более поздний вопрос.
Для некоторого больного контингента это не лирика. От этого зависит будут ли они использовать RTL871x. Болезнь у них неизлечимая, а давать им средство, как прочитать при залоченном в eFuse Jtag нет желания. Будет истерика.
В моей версии SDK и RtlDuino запись в eFuse отключена. Чтобы её включить надо перетранслировать код с включенными подпрограммами записи в eFuse. Т.е. "случайно" это не сделать :)
Вы ищите черную кошку не в той комнате :)
 
Последнее редактирование:

findeler

New member
Нет сигнала RESET. Сколько ещё раз говорить?
Jlink стартует и постоянно пытается пробиться, а у вас Jtag в ПО отключен
1. Не знаю с какого но в терминал пошли нормальные осмысленные данные. Проверю ещё на втром порту. Но что то я там похерил.
2017-01-20_13-04-26.png 2017-01-20_13-04-05.png

2. Кнопка ресет у меня есть на борде.
3. Jlink прекрасно шьёт и читает , если я создал впечатление что это не так, извиняюсь.

4. Я так думаю что я убил следующим образом. Флеш бекапится с адреса 0x00000000 по 0х01000000 А в режиме Image что то шьётся куда то не туда. pvxx не подскажете куда шьются различные разделы Image ?
 
Последнее редактирование:

pvvx

Активный участник сообщества
1. Не знаю с какого но в терминал пошли нормальные осмысленные данные. Проверю ещё на втром порту. Но что то я там похерил.
Посмотреть вложение 3142 Посмотреть вложение 3143

2. Кнопка ресет у меня есть на борде.
3. Jlink прекрасно шьёт и читает , если я создал впечатление что это не так, извиняюсь.
Какие ещё извинения? Тут чип без полной документации, который вытащил сюда всего пару месяцев как. Только через год будут какие-то популярные описания для него со всех сторон, и то, если он покатит.
Вот кусок из старта в ROM, хотя я уже где-то описывал полностью что там происходит:
Стартуетет чип по вектору:
Код:
//----- (00000100) --------------------------------------------------------
void Reset_Handler()
{
  HalResetVsr();
}
В процедуре HalResetVsr() первые команды:
Код:
  memset(&_rom_bss_start__, 0, &_rom_bss_end__ - &_rom_bss_start__);
  HalRomInfo();
  REG(0x40000230) |= 0x40u;  // BIT_SOC_ACTCK_VENDOR_REG_EN
  REG(0x40000230) |= 0x80u; // BIT_SOC_SLPCK_VENDOR_REG_EN
  HalPinCtrlRtl8195A(JTAG, 0, 1);      // включить Jtag интерфейс
  REG(0x40000338) = REG(0x40000338) & 0xFFFFFFFC | 2; // BIT_GPIO_GPE0_PULL_CTRL(2)
Теперь расскажите, как его отключить :)
 
Последнее редактирование:

KomX

Member
"Камушек" иногда подхватывается JLink-ом (при имитации сброса включением).
Вот реакция на команды h и r
nohr.png

@findeler
У Вас какими сигналами идёт управление с J-tag? Может мне мало 2-х SWD линий?
 

findeler

New member
У Вас какими сигналами идёт управление с J-tag? Может мне мало 2-х SWD линий?
У меня все пять подключены. Смотрите первое сообщение в теме. Вам судя по всему про это говорит pvxx, что у вас ресет не срабатывает. У вас он же не подключен (если правильно понимаю это GE0). И меня шьётся прекрасно. Вот только что то я вне области ROM зацепил.
 

pvvx

Активный участник сообщества
У меня все пять подключены. Смотрите первое сообщение в теме. Вам судя по всему про это говорит pvxx, что у вас ресет не срабатывает. У вас он же не подключен (если правильно понимаю это GE0). И меня шьётся прекрасно. Вот только что то я вне области ROM зацепил.
Нет - reset это вывод с подписью на модуле CHIP_EN. А на полном Jtag - это вывод NRST
RTL00.jpg
 

KomX

Member
У меня все пять подключены. Смотрите первое сообщение в теме. Вам судя по всему про это говорит pvxx, что у вас ресет не срабатывает. У вас он же не подключен (если правильно понимаю это GE0). И меня шьётся прекрасно. Вот только что то я вне области ROM зацепил.
Ясно. Вы на JTAG интерфейсе, а я на SWD. И победить с этого интерфейса "камушек", как видно, не получится.
 

pvvx

Активный участник сообщества
Ясно. Вы на JTAG интерфейсе, а я на SWD. И победить с этого интерфейса "камушек", как видно, не получится.
Нет - мы на SWD, но пущен и RESET. Можно вручную.
При использовании PL-2303HX подключенной к RT-TX модуля, он не пересбрасывается правильно с некоторыми прошивками по питанию. При отключении питания модуля PL-2303HX опускает выход TX в 0 и не возвращает. Это как-то влияет на чип.
 

KomX

Member
Нет - мы на SWD, но пущен и RESET. Можно вручную.
Сигнальная линия NRST у меня на "клоне" есть, вот только осциллограф на неё показывает постоянный ноль. Может этот вывод с открытым истоком и на него резистор какой подцепить надо?

... Хотя что это изменит? Моментом включения я наловчился уже входить в режим опознавания модуля JLink-ом. Можно и кнопку на CHIP-EN повесить. Но, повторяюсь, что это изменит, если чип ни в какую не желает останавливаться.
В тоже время, как следует из опыта @findeler, на полном JTAG работает усё.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Сигнальная линия NRST у меня на "клоне" есть, вот только осциллограф на неё показывает постоянный ноль. Может этот вывод с открытым истоком и на него резистор какой подцепить надо?
Не знаю - у меня китайские ST-Link-и маленькие и убогие. На них NRST нет.
Новых китайских клонов Jlink у меня нет. Есть боарды с STM32F103. Если в них записать Jlink OB или Jlink V7 - то там есть NRST и полный JTAG (вроде до 4.5MHz).
Jlink на них говорит так:
Код:
Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware version: V7.00
S/N: *******
VTref = 3.300V
Иногда приходиться такую карусель крутить, т.к. SEGGER в новых версиях не поддерживает некоторые старые MCU, но которые ещё выпускаются :) Софт на них писался производителем десятки лет назад :)
Но я использую древнюю большую черную коробку от SEGGER. Надо-бы её выкинуть, да купить новую версию... Но всё некогда и не до этого пока...
 
Последнее редактирование:
Сверху Снизу