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

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

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

  1. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    У меня в голове. :) Разработчики вроде разделились - новое оф. пишет только Ameba, но не выкладывает исходников ещё с версии SDK 3.4 (2015 г), хотя у них уже в Arduino более 3.5a.
    Если они такими-же темпами продолжат обновлять далее, как это делали целый год - пару мелких изменений, то на них можно будет плюнуть и все форматы у меня будут другие. То, что там сейчас творится - это просто бардак.
    Вся документация в CИ файлах и в IDA :)
     
  2. KomX

    KomX Читатель

    Сообщения:
    61
    Симпатии:
    5
    Добавлю. Все эти адреса добавляются к базовому адресу флеш - flash_base_addr = $98000000.
     
  3. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Никуда они не добавляются. Flash читается через контроллер с нулевого адреса. SPIC практически не используется из-за тормозов. Код, где можно было, уже переписан на обращение через DMA. Эти коды, дописанные в HAL не имеют исходников. Я до конца их не реверсил - нет нужды - они работают и пока не до них.
    Сравнение скоростей копирования и чтения из Spic и разных памятей, чтобы было понятна их скорость и по чему переписали/приписали новые функции обращения из SDK3.4 к области отображения через spic на работу прямо с контролером по DMA:

    <---- Init 1 ----> SpicDualBitMode
    read(): tFlash = 2326534, clk/byte = 35 (просто чтение отображения Flash клоков CPU на байт). (= 2326534 - тактов на фиксированный блок)
    memcpy(): tFlash = 10059803, clk/byte = 153 (копирование отображения Flash в RAM клоков CPU на байт).
    Speed rd RAM = 147462, clk/byte = 2 (просто чтение RAM в цикле)
    Speed rd TCM = 136536, clk/byte = 2 (просто чтение TCM в цикле)
    read(): tFlash/tTCM = 17, tFlash/tRAM = 15 (отношение скоростей чтения Flash к TCM)
    memcpy(): tFlash/tTCM = 73, tFlash/tRAM = 68 (отношение скоростей копирования из Flash в RAM и из TCM в RAM)
    Spic 1Read to RAM = 749729, clk/byte = 11 (побайтное копирование в RAM из области Flash)
    Spic 4Read to RAM = 682137, clk/byte = 10 (копирование словами 32 бит в RAM из области Flash)
    Spic 1Read to TCM = 749729, clk/byte = 11 (побайтное копирование в TCM из области Flash)
    Spic 4Read to TCM = 682136, clk/byte = 10 (копирование словами 32 бит в TCM из области Flash)

    Функции на СИ и не показывают абсолютную скорость - кажут относительную (для кода на СИ).
    Абсолютная скорость у TCM области - 1 такт на обращение в 16 или даже 32 бита.
    Но memcpy() из области отображения Flash - 153 такта на байт!
    Так что не боитесь - всё уже проверено во всех режимах :)
    Если надо прочитать до десятка байт - то можно лезть в ваши 0x98000000, если более - надо обращаться к новым функциям в hal.
    Но - отображение в SDK и Arduino Flash отключено, во избежание случайной записи. Т.е. вам надо будет сначала принициализировать spic, поставив семафор (RTOS -же) а потом отключить spic и отдать флаг системе. :) По этому даже пару байт проще и быстрее прочитать через hal... Т.е. это всё к тому, что дилетантам и "начинающим" там не место. Только верхний уровень Arduino. :)
     
    Последнее редактирование: 24 янв 2017
  4. KomX

    KomX Читатель

    Сообщения:
    61
    Симпатии:
    5
    Вспомним и это хорошо забытое уже ПО.
    Я уважаю Ваш опыт.
    Однако, и я мало-мало умею читать листинги Delphi для Rtl00flasher.exe.
    Открываем исходник Main.pas.
    Вот строка вызова подпрограммы
    Код (Text):
    1. RdFlashWrFile(rdfaddr,rdfsize,rdfname,inifmane,fname,oldfname);
    в обработчике события ButtonReadFlashClick (кнопка "Read Flash", закладка "Region", выбран "FullFlash").
    А это вызов подпрограммы уже в RdFlashWrFile:
    Код (Text):
    1. res:=JLINKARM_ReadMem(rdfaddr+flash_base_addr, rdfsize, @Buf[rdfaddr]);
    Как видите rdaddr получил прибавку flash_base_addr.
    Топаем в flasher.pas и смотрим значение flash_base_addr:
    Код (Text):
    1. flash_base_addr = $98000000;
    Для проверки запускам JLink.exe.
    Вводим команды:
    h
    mem 0x98000000, 0x100
    И созерцаем начало Image1.bin или Вашего же FullFlash.bin.
     
    Последнее редактирование: 24 янв 2017
  5. findeler

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

    Сообщения:
    94
    Симпатии:
    47
    Я потихонтку уже в сишниках ваших копаюсь но пока мало что понятно. Если честно то чем больше смотрю на это тем больше посещает мысль сделать из RTL обычный uart/wifi переходник, а программу написать на обычном СТМ32F103 каком нибудь. Ни иде, ни документации, ничего толком, блин. Вот зачем они так делают.
     
  6. sharikov

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

    Сообщения:
    574
    Симпатии:
    51
    В котельной бюджет только на топливо таков что стоимость чипов совершенно не имеет значения. А цена аварии (например из-за непрохождения команды на привод задвижки) не позволяет даже задумываться о wifi.
    Если надо работать - лучше посмотреть на openwrt модули. Там и документация есть и стабильность хороршая.
    Если нужно работать надежно - только провод!
     
  7. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    А тему читали про него? Он сделан кое-как и требует переделки, но сторонней помощи = нуль, только требования - "тавай ущё" :)
    Флешер писался до разборок с чипом и была только дурная информация от западных фриков. Вот и вляпался. Переделывать и поддерживать каждую программу я один не в состоянии. Это и есть "опыт" и он это гласит - никогда не слушать обывателей. Но я всё равно склонен доверять другим людям. Так и происходят ошибки. :)
    Дык это для флешера и ради упрощения. Не для ПО на самом контролере. Там быстрее чем работает SWD нет смысла.
     
    Последнее редактирование: 25 янв 2017
  8. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Кто так делает? Вы так делаете? :)
    Документацию и прочее вам без проблем дадут при обращении, подписании и оплате договоров с Realtek, включая всякие NDA о неразглашении. Это не наш путь :p
    OpenWRT не есть стабильность на всех вариантах чипов. Полной документации там никогда не было и не будет. Вы что-то путаете, т.к. ещё не разбирались...
    Современные сборки Linux так-же теперь собираются халтурщиками и стабильность там ниже плинтуса. Модно это ныне - каждый день устанавливать новые патчи и обновления. :) Все системы теперь заняты главной функцией - обновлением. Всё остальное - второстепенно.
    Очередная ошибка.
    Зачем автономной системе "провод"? Передавать изменения в настройках? Может такая дикая необходимость снять лог во время ядерных испытаний? :) Не подождать прохождения волны эми? :) Военные как-бы уже не таскают катушки и не надо зубами держать контакт...
    Наверно наигрались в ESP8266 и теперь кажется, что весь мир WiFi ненадежный. :)
     
    Последнее редактирование: 25 янв 2017
  9. findeler

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

    Сообщения:
    94
    Симпатии:
    47
    Правильно, вы написали но почему и как непонятно. Хорошая документация это как хорошо комментированный код. Требует очень много времени и сил. А без него копаться в чужих решениях... проще самому переписать. Ну да ладно.... Надо довольствоваться тем что имеешь.

    Понятно, значит "есть но не про вашу честь" (с) печально конечно. И денег хотят явно не 100$ :)


    Чип вроде переспективный задуман правильно, но.... Ладно хватит лирики.
     
  10. sharikov

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

    Сообщения:
    574
    Симпатии:
    51
    Прохождение данных по радио (любому) не гарантировано.
    Для передачи команд управления в индустриальных приложениях - только провод! (если не провод то система управления должна уметь функционировать при обрыве каналов связи с датчиками и/или исполнительными устройствами а это нетривиальная задача).

    И да, снятие логов во время ядерных испытаний является первоочередной задачей, ради этих логов испытания и проводятся.
     
  11. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Провод при этом не применим :)
    При конфигурировании, настройки и снятия логов с устройств применяется подобие NFC. Т.е. беспроводное. Разъемы так-же не применимы. :p Кто из них грязь выковыривать будет?
    Вы в каком веке живете? ;)
    Управление всеми роботами по радио...
    Для передачи данных даже по одной плате есть специальные микросхемы с приемо/передатчиком...
    Развивали и вариант передачи синхро сигнала по кристаллу чипа по принципу радио волны... :p
    Открываю LeCroy - проводов не вижу... трубки вижу, оптический шнур... Где провода?
     
    Последнее редактирование: 25 янв 2017
  12. vad7

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

    Сообщения:
    398
    Симпатии:
    48
    То есть я правильно понял, что тут такая же фигня, как и с esp8266 - ни нормальной документации, ни софта?
    Для esp через года только что-то более менее появилось, и то только потому, что много народу ее ковыряло.
    Получается с реалтеком можно даже не заморачиваться в ближайшие несколько лет.
    Я имею ввиду хоббийное применение..
     
  13. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Да. Скорее всего вам не стоит им заниматься, т.к. на сегодня информации на RTL871x уже больше, чем на ESP8266 и ваше участие не требуется. :)
    Для примера скажите что не работает на RTL871x или какую информацию по нему надо?

    В сравнении с ESP8266:

    1) Нету Lua (ещё не “портировали”, что есть хорошо)

    На этом пока Всё. Остальное только в плюсе – ПО больше, включая нормальную работу TSL/SSL и поддержку стандартных примеров от Arduino, ну и глюков никаких нет. Скучная вещь...

    C ESP-32S:

    1) Значительно меньшее потребление и главное - цена.
    2) Больше пользовательской RAM для стандартных примеров в Arduino даже для самого малого из семейства - RTL8710AF.
    3) Полноценные разнообразные встроенные контроллеры с нормальной работой по DMA
    4) Полный набор исходников в SDK и уже готовое RtlDuino + Ameba Arduino.

    RTL8195AM, то RTL8711AM и RTL8711AF серии Realtek в 2015 году - выиграли "Лучший выбор Golden Award" на рынке IoT. Выставка COMPUTEX 2015.
    Что тут ещё добавить? Что до вас это не дошло и нет популярных ресурсов в русских инете по этим чипам? Ну детям это сложно - интеграция в чипе большая...

    Чем вы можете помочь при таких условиях?
     
    Последнее редактирование: 25 янв 2017
  14. vad7

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

    Сообщения:
    398
    Симпатии:
    48
    @pvvx, Давайте вы тут хамить не будете.

    Повторю для тех, кто на деревянном бронепоезде еще раз - у меня нет ни времени ни желания ковыряться в потрохах чипа.
    И таких как я на этом форуме большинство.
    Вот ваяю потихоньку в Eclipse поделки для хозяйства и выкладываю на github и на свой сайт.

    О какой помощи и участии вообще речь, я не понял, вы что там себе надумали?
    Единственное помог - перевел немного денег на UDK, и еще на какую-то либу с этого форума, которой не разу не пользовался и не собираюсь.

    И от реалтека лично мне нужно, что то типа UDK на Eclipse с полным охватом функционала, архив с документацией, примеры, можно и на английском. Более того, мог и заплатить бы за это дело.
    Всякие кейлы и ардуины мне не нужны.

    Если бы не было esp8266, то с последний абзац был бы не актуален, так как пришлось бы этим заниматься.
    А так, пока меня esp8266 устраивает, за исключением глюков естественно, но мне его в космос не запускать. В случае чего - вот это на AVR повешу.
     
    Последнее редактирование: 25 янв 2017
  15. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    UDK на Eclipse с полным охватом функционала: UDK с Eclipse для модулей RTLxxx под Windows
    архив с документацией: GitHub - pvvx/RTL871x_Info
    примеры: RTL00MP3/RTL00_SDKV35a/example_sources at master · pvvx/RTL00MP3 · GitHub
    В RTL аппаратный WDT со всеми современными режимами работы. Напоминать что это за типы обработки сброса WDT - простой, оконный, ...
    Вроде ничего нового не описываю - всё уже давно выложено и созданы темы для поддержки. И У матросов нет вопросов - У матросов нет проблем. :) А у вас есть. И главное что проблемы не понятные никому кроме вас. Но выразить вы их не можете.
     
    Последнее редактирование: 25 янв 2017
  16. aloika

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

    Сообщения:
    367
    Симпатии:
    25
    Это действительно есть, работает, подтверждаю.

    Проблема-то в другом. На ESP благодаря pvvx есть "свалка" - прошивка "малого веб-сервера", в которой уже большинство стандартных нужных вещей реализовано. И можно взять эту "свалку" и на ее основе сделать что-то свое уже _прикладное_, не разбираясь с функционированием "системных" вещей. Ну да, надо там немного разобраться, как что работает, но когда оно работает - то можно только очень поверхностно понять, не вдаваясь в детали, где, грубо говоря, писать свой код и т.д. Это вполне реально для людей скромной квалификации, типа моей.

    А для RTL пока что есть куча разрозненных примеров и проект с MP3, а также Arduino (что по сути - тоже какие-то примеры, только в ардуинской обертке). Ну загрузил я проект MP3, поморгал светодиодом - пару строчек своих дописал. И всё. А хотелось бы - web-сервер, диск к нему, переменные, настройки wi-fi. Это минимум. И потом еще - cdns/captive portal, netbios, sntp, websocket - это уже роскошь, да :) Оно как-бы почти всё это есть, но в каких-то разрозненных обрывках. А соединить всё это в единый рабочий проект - у меня, например, квалификации такой нет (на данный момент по крайней мере). Вот и остается ждать, когда кто-нибудь эту работу проделает и всё готовое выложит. И, судя по предыдущему опыту, это может быть только pvvx. Ну а я, например, могу только это готовое взять и потестировать применительно к своим интересам...

    Поэтому пока что пользуемся ESP8266, и надеемся на лучшее.

    (Долго ли нам ещё ждать "свалки" на RTL? Если _ждать_ - то долго... :)))
     
  17. vad7

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

    Сообщения:
    398
    Симпатии:
    48
    Судя по вашим же сообщениям там далеко еще не все гладко и примеров пока мало.

    Лечиться не пробовали? Сейчас медицина делает чудеса.

    Да это ему не интересно, такой проект сделать нужно куча времени и терпения. Да и видать еще не так все гладко с этим реалтеком.
     
  18. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Ну пока больше, чем у обоих ESP :) А по количеству исходников - больше в стони раз. Тем более в Arduino уже есть всё. Больших конструкций как "примерище" пока не наблюдаю ни у одного проекта в Arduino. Там всегда всё несвязное и кусками. Нет смысла на Arduino делать что-то серъезное - это игра на вечер.
    И как вижу вам сказать уже конкретно нечего о том чего нету в RTL на сегодня в Arduino и других примерах...
    Это про вас. Я же так не привязан к ESP, как в песенке... :)
    Действительно не интересно, т.к. пока не требуется проектов с WiFi. Но в серийное применение уже запустил RTL-лы, а прошло всего пару месяцев с нулевой информации. Нету пока недели, чтобы перекинуть последний кусок web-свалки на RTL и протестировать (это большее время и займет, т.к. пользователи не могут описать ошибки или произвести тестирование - на это у них уйдут годы :) ). Я вообще наверно скоро слиняю на другой сайт - тут же ESP8266, а он устарел. Будете дальше тут песни петь под дудку Espressif :)

    Сейчас пытаюсь переделать CMSIS-DAP к RTL на свою версию для своих поделок/проделок на STM32F0xx или STM32F103С8. USB-COM+JTAG+SWD там уже есть, но надо допинать туда эмуляцию mbed диска для прошивки...
     
    Последнее редактирование: 26 янв 2017
  19. KomX

    KomX Читатель

    Сообщения:
    61
    Симпатии:
    5
    Не забудь оставить адресок для адептов RTL.

    Может наравне с mbed допилить связку FTP+SDCard?
    Кинул на карточку (по FTP или непосредственно через USB адаптер для SDCard) в корневуху новоиспеченный bin-файл и RTL-ка самостоятельно перепрошилась после перезагруки (программной или аппаратной) с последующим удалением bin-файла с карточки.
     
  20. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Зачем? Для загрузки по сети обычно используют протокол попроще TFTP...

    А Ameba просто пишет на диск с лайблом "MBED" файл "ram_all.bin".
    Т.е. если вы воткнете в комп SD карту или переименуете лейбу любого диска на "MBED", да создадите на нем файл "mbed.htm", тогда в Ameba Arduino, после трансляции, туда запишется файл "ram_all.bin":
    Снимок1253.gif

    А мне надо немного сложнее - в mbed есть запись по паролю - защита от "очумевших ручек" + надо обратный слив и прочие файлы....
    Вот и долблю GitHub - mbedmicro/DAPLink... Как и писал USB-COM+JTAG+SWD уже пашут, но диск ещё нет... Потом втюхаю вам через китайцев :)
     

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