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

Кто доделает Flasher для RTL00 c JlinkARM.dll?

Тема в разделе "Realtek - SDK, прошивки и утилиты", создана пользователем pvvx, 30 сен 2016.

  1. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Последнее редактирование: 27 ноя 2016
  2. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    А мне всё равно на чём. goodwin начал писать на 'дельфях' - я и продолжил на них - вставил недостающие низкоуровневые процедуры работы с загружаемым бинарным flasher-ом от rebane...
    На скрипте make gсс, для gdb-Jlink примеры уже есть в кинутых проектах...
    Изначально есть на OpenOCD, но в Win-де требуется переназначать драйвер Jlink-a на libusb-win32 (к примеру с помощью zadig)...
    Но в OpenOCD и GDB Flasher работает медленнее, чем напрямую с утилитами от Jlink. И отладчик от Jlink (GDB) менее всех глючит при работе с RTL00 в Eclipse.
     
    Последнее редактирование: 30 сен 2016
  3. nikolz

    nikolz Гуру

    Сообщения:
    4.708
    Симпатии:
    452
    Как придет RTL , тогда возможно озадачусь поиском решений.
     
  4. goodwin

    goodwin Читатель

    Сообщения:
    123
    Симпатии:
    22
    Ночь не поспал, и тоже изобразил тестилку-болванку...
    Провозился с долго с "бинарным flasher-ом от rebane ".
    Компильнуть мне нечем, а массив из исходника на сайте похоже кривой...
    Прикрутил бинарник из твоего поста, задышало...
    Пока можно потестить FullFlash. Чтение - 6.5 сек, mass erase - 3 сек, прошивка - на картинке.
    Прошивка правда без каких-либо проверок. Уже не смог - заснул ;)
    Выкладываю тоже свои корявые потуги (не программер я, однако...)
    После процедуры стирания модуль изредка не стартует. Выплевывает с какого то фига на чистой флэш вот такое:
    Check boot type form eFuse
    SPI Initial
    Image1 length: 0xf, Image Addr: 0xf
    Image1 Validate OK, Going jump to Image1
    RTL8195A[HAL]: Hard Fault Error!!!!

    После чего по двум проводкам SWD не ресетится... Надо сбрасывать "железно".
    Коллективными усилиями, думаю, добьем ;)
     

    Вложения:

    Garmin нравится это.
  5. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Это частенько происходит...
    Всё возможно :)
    Пока тут пререкался с nikolz, с помощью 'левой ноги' Flasher обзавелся распознаванием заголовков Boot и Images для Амебы:
    RTL00Flasher1.gif
     
  6. nikolz

    nikolz Гуру

    Сообщения:
    4.708
    Симпатии:
    452
    Кто-то восторгался что для RTL все есть готовое и хорошо работает.
    Т е опять делаем костыли?
    Ну и что же изменилось в нашем царстве?
     
  7. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Пограмматор в oф. SDK есть в IAR. А у нас не оф. SDK - для тех, кто в море или "without_NDA_GCC". Разница не ясна?
     
  8. nikolz

    nikolz Гуру

    Сообщения:
    4.708
    Симпатии:
    452
    Ну понятно,
    т е есть красивое, но дорого, но делаем на соплях зато сами ?
    Т е та же розетка, только круче.
     
  9. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    У вас есть с чем сравнить? У нас есть.

    @goodwin - обновил немного, см. в первом посту темы.
     
  10. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Есть ещё такие вопросики:
    1) Что-то у Flash не читается зона OTP.
    2) Не нашел спецификации (описания структур) на блоки сохранения Амёбы в Flash по адресу 0xA000. Известно только, что там код наличия записей 0x8195, далее размер блока и несколько блоков, в одном из них MAC. Т.е. без ID 0x8195 по 0xA000 MAC не будет загружен в либе WiFi Амёбы.
    3) Нет спеки по так названной в Амёбе efuse. Надо уточнить, как оно влияет - просматриваются всякие свичи в либах... либы у Realtek универсальные, для разных чипов и содержат много лишнего для RTL8710.
     
  11. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    'Компильнуть мне нечем' - что mingw32-make.exe не набрать? :)
    Массив из исходника rebane / rtl8710_openocd / source / — Bitbucket , но в windows не работает make_array.exe :)
    Замену на питоне приложил.
     

    Вложения:

    • make_ar.zip
      Размер файла:
      501 байт
      Просмотров:
      4
  12. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    RTL00Flasher3.gif
    Ещё немного дописал... Не всё ещё работает, но главное пашет.
     

    Вложения:

    Garmin нравится это.
  13. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Garmin - И действительно исходники от rebane не работают - глючат на записи.
    Код в rtl8710.ocd, в бинарнике и в исходнике - разный. Это наверно прикол такой :)
     
  14. goodwin

    goodwin Читатель

    Сообщения:
    123
    Симпатии:
    22
    Вполне ништяк ;)
    Осталось добавить командную строку для линуксоидов ;)

    Подправь условие после вызова:
    res:=JLINKARM_Open();
    if res = 1 then...
    на
    if res <> 0 then...

    При неподключенном отладчике оно продолжает исполнять дальнейшие команды.
    Ибо там возвращается что угодно, а не только "1".
     
    Последнее редактирование: 3 окт 2016
  15. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    В Eclipse у меня работает через make...
    Исходник в первом посту....
    Временно 'дописывание' остановлено, т.к. надо разобраться с самим кодом, загружаемым в чип. От rebane кривой...
     
    Последнее редактирование: 4 окт 2016
  16. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Китайский программатор RTL для Jlink: Ameba Image Generator Tool
    Создает 3 скрипта:
    download.jlink:
    speed 300
    loadbin "out.bin", 0x98000000
    exit

    verify.jlink:
    speed auto
    verifybin "out.bin", 0x98000000
    exit

    erase.jlink:
    speed auto
    w4 0x400002c0 0x110011
    Sleep 10
    w4 0x40006008 0x0
    w4 0x40006000 0x01000000
    w1 0x40006060 0x06
    w4 0x40006008 0x1
    Sleep 10
    w4 0x40006008 0x0
    Sleep 10
    w4 0x40006008 0x0
    w4 0x40006000 0x01000000
    w1 0x40006060 0x60
    w4 0x40006008 0x1
    Sleep 10
    w4 0x40006008 0x0
    Sleep 10000
    qc
    exit
     
  17. goodwin

    goodwin Читатель

    Сообщения:
    123
    Симпатии:
    22
    Да уж... (чешу затылок). Три скрипта - весь программатор.
    У них, сцуко, есть ИНФОРМАЦИЯ (касаемо изящного стирания флэш через регистры).
    Наковырял сейчас 3 батничка - не шибко оптимально по скорости, но работает, етить...
    У китайцев рациональная мысль имеется - все, что требуется для работы с образами, надо производить над файлами, а не ковыряться с "кусочками" флэш.
    Не зря я остановился на "только FullFlash" в дельфях ;)

    Оптимизировать скорость записи можно. Например, проверяя записываемый файл на "чистые" блоки, которые пропускать при записи.
    Ну и время стирания тоже сильно меньше 10 сек (реально 3 с копейками).
     
    Последнее редактирование: 11 окт 2016
  18. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    По этому в проекте у меня работает make. А программатор - это так, для всяких глупостей.
    Напрямую в регистры SPIC. Там не всё почему-то работает. В дельпьхях я так и сделал команды чтения регистров flash, но OTP область не читается - не знаю что там не так.
     
  19. Seeker

    Seeker Читатель

    Сообщения:
    27
    Симпатии:
    5
    Не прошло и три месяца как я готов сообщить, что подключаюсь к теме быстрой заливки памяти в Rtl.:)
     
  20. pvvx

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

    Сообщения:
    8.726
    Симпатии:
    1.283
    Код оф.программатора на RTL лежит тут RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/misc/iar_utility/common/flashloader at master · pvvx/RTL00MP3 · GitHub
    Для быстрой заливки в RAM и SDRAM RTL8711AM пока ничего для выкладывания нет. Из нескольких алгоритмов не выбран который будет являться типа "стандартным". Нет желания ковыряться Jtag в регистрах, а есть встроить это в загрузчик (в код image1). Официалы не чешутся, чтобы принять какое-то решение по выбору алго для совместимости...
    Проблема в том, что SDRAM отключена после сброса. Код инициализации контроллера SDRAM загружается с Flash вместе с остальным и после инициализации контроллера SDRAM грузится из Flash. Т.е. чтобы загрузить код в SDRAM необходимо инициализировать контроллер SDRAM и настроить его - калибровать или с нуля или с записи сохраненных настроек в системном секторе Flash...
    Загружать доп. стартовый код с Jtag для инициализации SDRAM или копаться в регистрах через Jtag с калибровкой SDRAM контроллера на максимальную производительность SDRAM не является нормальным вариантом. Проще переписать основной загрузчик и встроить в него проверку для остановки и ожидания заливки SDRAM через Jtag после его инициализации SDRAM. Но исходного кода загрузчика в image1 нет и не дано ни кем. И он отличается у каждой версии имеющихся SDK... Каждый, из якобы официалов, гонит свою версию и стандарта распределения даже во flash не наблюдается, не говоря уже о ограничениях зашитых в image1 для своего продаваемого варианта плат у официалов...
    А я один не собираюсь издавать или устанавливать какие-либо стандарты, т.к. пока нет вообще никаких откликов и рекомендаций у пользователей по данной теме.
    Код загрузчиков тоже плохо проработан - остаются ненужные куски занимающие RAM...
     
    Последнее редактирование: 25 дек 2016

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