Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

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

Тема в разделе "Realtek - SDK, прошивки и утилиты", создана пользователем findeler, 18 янв 2017.

  1. pvvx

    pvvx Активный участник сообщества

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

    findeler Авторитетный участник сообщества

    Сообщения:
    94
    Симпатии:
    47
    Да нет, нюансы. Из за дурацкого терминала провозился очень долго. Когда не знаешь чего точно надо ждать, очень много времени уходит на понимание, что не так работает.

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

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

    KomX Читатель

    Сообщения:
    61
    Симпатии:
    5
    Расскажу я вам страшную сказку.
    Итак.
    Следуя инструкции пытался запустить модуль 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 следующую картинку:
    Код (Text):
    1. =========================================================
    2.  
    3. ROM Version: 0.3
    4.  
    5. Build ToolChain Version: gcc version 4.8.3 (Realtek ASDK-4.8.3p1 Build 2003)
    6.  
    7. =========================================================
    8. Check boot type form eFuse
    9. SPI Initial
    10. Image1 length: 0x3704, Image Addr: 0x10000bc8
    11. Image1 Validate OK, Going jump to Image
    12.                                        лi)h?nSi^оѓFsNлi)дД’•J)„ДS
    13.                                                                  Ron’‚Vroncжз^оbгупиЖгвrПзИдсыгљnзИЁеКкDВВ
    14.                                                                                                           љnзИЁлг’•К©ёлкqпођaШПзИ„В    пиЫлкqпллЦтпо˜Lћ›гМлi©д«Ћ^К
    JLink не находит модуль, RTL00Flasher ругается: "RTL8710 not connected or SWD off (reset chip)!"

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

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

    pvvx Активный участник сообщества

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

    findeler Авторитетный участник сообщества

    Сообщения:
    94
    Симпатии:
    47
    Итак платка номер один ушилась вусмерть теперь вопрос как реанимировать. Шаги приведшие к смерти.
    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. :)
     
    Последнее редактирование: 20 янв 2017
  6. KomX

    KomX Читатель

    Сообщения:
    61
    Симпатии:
    5
    Дык, нету-ти яво на этом компе. Один 8-ми портовый свич на стенке висит с кучкой проводкофф.

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

    findeler Авторитетный участник сообщества

    Сообщения:
    94
    Симпатии:
    47
    Ну у меня ещё конечно десять модулей есть для экспериментов, но хотелось бы понять что делается не так.
     
  8. pvvx

    pvvx Активный участник сообщества

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

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

    pvvx Активный участник сообщества

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

    findeler Авторитетный участник сообщества

    Сообщения:
    94
    Симпатии:
    47
    Я имел ввиду что бы не списали прошивку. (Типа как сделано у СТМ) Но это лирика и гораздо более поздний вопрос.
     
  11. pvvx

    pvvx Активный участник сообщества

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

    findeler Авторитетный участник сообщества

    Сообщения:
    94
    Симпатии:
    47
    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 ?
     
    Последнее редактирование: 20 янв 2017
  13. pvvx

    pvvx Активный участник сообщества

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

    KomX Читатель

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

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

    findeler Авторитетный участник сообщества

    Сообщения:
    94
    Симпатии:
    47
    У меня все пять подключены. Смотрите первое сообщение в теме. Вам судя по всему про это говорит pvxx, что у вас ресет не срабатывает. У вас он же не подключен (если правильно понимаю это GE0). И меня шьётся прекрасно. Вот только что то я вне области ROM зацепил.
     
  16. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.698
    Симпатии:
    1.282
    Нет - reset это вывод с подписью на модуле CHIP_EN. А на полном Jtag - это вывод NRST
    RTL00.jpg
     
  17. KomX

    KomX Читатель

    Сообщения:
    61
    Симпатии:
    5
    Ясно. Вы на JTAG интерфейсе, а я на SWD. И победить с этого интерфейса "камушек", как видно, не получится.
     
  18. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.698
    Симпатии:
    1.282
    Нет - мы на SWD, но пущен и RESET. Можно вручную.
    При использовании PL-2303HX подключенной к RT-TX модуля, он не пересбрасывается правильно с некоторыми прошивками по питанию. При отключении питания модуля PL-2303HX опускает выход TX в 0 и не возвращает. Это как-то влияет на чип.
     
  19. KomX

    KomX Читатель

    Сообщения:
    61
    Симпатии:
    5
    Сигнальная линия NRST у меня на "клоне" есть, вот только осциллограф на неё показывает постоянный ноль. Может этот вывод с открытым истоком и на него резистор какой подцепить надо?

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

    pvvx Активный участник сообщества

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

Поделиться этой страницей