Как прошить, куда копать 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. Надо-бы её выкинуть, да купить новую версию... Но всё некогда и не до этого пока...
 
Последнее редактирование:
Сверху Снизу