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

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

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

  1. Seeker

    Seeker Читатель

    Сообщения:
    27
    Симпатии:
    5
    Сейчас беру JlinkARM.dll, и при помощи почти самодельного C# враппера работаю с rtl8710. Камней в брод намыло, но MAC читается.

    P.s. с враппером стало проще, до Нового Года постараюсь показать свою реализацию, а там смотри и народ подтянется которому язык по вкусу.
     
    Последнее редактирование: 26 дек 2016
    Victor и A_D нравится это.
  2. goodwin

    goodwin Читатель

    Сообщения:
    123
    Симпатии:
    22
    А смысл? "Самодельный" был весьма актуален месяца три назад. Сейчас появилась возможность шить чип с помощью Segger JFlash.exe или вообще пользовать утилиту JLink.exe от того же Segger с простейшими скриптами, используя особенности чипа (прямое чтение и запись flash). А китайцы выложили скрипт для стирания...
     
  3. Neov

    Neov Читатель

    Сообщения:
    209
    Симпатии:
    7
    у кого самая актуальная версия флешера на дельфи? скиньте
     
  4. pvvx

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

    Сообщения:
    8.749
    Симпатии:
    1.284
    Скрипт бредовый - ужасный тормоз и каждый записанный байт вызывает запись в сектор :) - китайцы :) - "аппаратная особенность чипа" :) :) :)
     
  5. pvvx

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

    Сообщения:
    8.749
    Симпатии:
    1.284
    Ну и где решения? :)
     
  6. Seeker

    Seeker Читатель

    Сообщения:
    27
    Симпатии:
    5
    @goodwin, враппер в студию!! Просьба не путать со скриптами.
    Прикрепил импорт методов для си шарп, от индексирования запаролил ником.
     

    Вложения:

    • AntiGoogle.rar
      Размер файла:
      845 байт
      Просмотров:
      19
  7. pvvx

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

    Сообщения:
    8.749
    Симпатии:
    1.284
    Какого фигу:
    Снимок1006.gif ?
    У меня переключается Keil. На некоторые процы работают только некоторые версии Keil.
    И нафиг мне всякие крякнутые ftp://ftp.newlifex.com/MDK/MDK_v5.17_20151121200259.zip ?
    Это разрушитель системы?
     
    Последнее редактирование: 27 дек 2016
  8. Seeker

    Seeker Читатель

    Сообщения:
    27
    Симпатии:
    5
    Что за Lite C не знаю. Кину код так.
    Но побоялся кеша гугла и уже удалил.
    Dll версии 6.12
    Проект C# в студии 2012.
    Архив для не обнаружения враппера из интернета. Там их нет, возможно потерли посты с ними. У китайцев есть, но он не годный.
    Проверил залитый мною архив, там только код выше.
     
    Последнее редактирование: 27 дек 2016
  9. pvvx

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

    Сообщения:
    8.749
    Симпатии:
    1.284
    Это типа превращает ваш комп в "New line Cinema" :) :)
    Вот тут этот бардак RTL8710AF_GCC/JFlash at Mini · WsLink/RTL8710AF_GCC · GitHub
     
  10. Seeker

    Seeker Читатель

    Сообщения:
    27
    Симпатии:
    5
    Скрипты, компилятор да не более. Моя цель это видовые консольное/оконное приложение работающее с JlinкАRM.dll. Не люблю скрипты, с ними не разгуляешся.
    А на ftp нет директории mdk.
     
  11. pvvx

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

    Сообщения:
    8.749
    Симпатии:
    1.284
    http://www.amobbs.com/forum.php?mod=viewthread&action=printable&tid=5598475

    GitHub - markrages/jlinkpy: Python wrapper for JLink dlls, for nRF51 programming
     
    Последнее редактирование: 27 дек 2016
  12. Seeker

    Seeker Читатель

    Сообщения:
    27
    Симпатии:
    5
    Видел, самая доделанная вещь. Но на ней с места не уедешь. Нет JLINKARM_ExecCommand.
    Не хватает.
    CallingConvention = CallingConvention.Cdecl

    public void JLINKARM_WriteMem(UInt32 addr, UInt32 size, byte[] buf)
    public static extern int JLINKARM_WriteMem(uint Addr, uint NumBytes, IntPtr pData);
    И множество мелких нехороших мелочей.
    Просто вставить код в проект, и мы получаем не одну, так другую ошибку. Уже испытано.
    Пример как использовать - ниочем.
    Там же у них в 45 комменте прикреплена ссылка на файл с внешки, и они пишут мол здорово. На внешке это что-то с далекого прошлого и комменты там гневные.

    В интернете нет реального SDK Seggera c проетами для C++ и #.
    Ещё где-то в интернете есть код импорта 5-ти методов, и всё.
    Видел враппер для питона и для delphi от rebane.

    У меня среда не Эклипс, могу компилить и видеть ошибки. Но стандартная запись (что в Makefile) в МК ну уж слишком долгая (30 сек). А так при желании зашить жму кнопку, стартует мое приложение с gui фентифлюшками и шьет мк за несколько секунд. В теме есть два проекта на delphi быстро работающих. Сделаю свое на #.
     
    Последнее редактирование: 27 дек 2016
  13. pvvx

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

    Сообщения:
    8.749
    Симпатии:
    1.284
    Заголовков dll нет? :confused:
    А я не видел никакого враппера "для питона и для delphi от rebane." В сети есть только неработающие исходники программатора от rebane.
    Выложенные им работающий hex не согласуется с исходниками - это такой прикол :)

    Самое оптимальное для проектов под Дурино и т.д. - это питон. Он крос.плат.
    Требует знаний не более чем написания батника под виндовс и такие-же манипуляции для вставки каких-то спец фич в личные проекты.
     
    Последнее редактирование: 27 дек 2016
  14. Seeker

    Seeker Читатель

    Сообщения:
    27
    Симпатии:
    5
    Полностью годных для # нет. Да и на ++ я не видел.
    Нет (не нашел) JLinkARM.lib и JLinkARMDLL.h.
     
  15. goodwin

    goodwin Читатель

    Сообщения:
    123
    Симпатии:
    22
    2 pvvx: Ну и фиг с ним, что пишет побайтно - работает же. Аккурат используя особенности RTL ;)

    2 Seeker: Враппер для дельфей имеется в шапке этой темы (jlinkarm.pas). Подточить для C#, думаю, несложно...
     
  16. pvvx

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

    Сообщения:
    8.749
    Симпатии:
    1.284
    Дыру протрет. три года ждать и нет гарантии записи вообще...
    xvcd-jlink/JLinkARM.h at master · fantomgs/xvcd-jlink · GitHub
     
    Seeker нравится это.
  17. pvvx

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

    Сообщения:
    8.749
    Симпатии:
    1.284
    все функции 610a
     

    Вложения:

    Seeker нравится это.
  18. Neov

    Neov Читатель

    Сообщения:
    209
    Симпатии:
    7
    в линуксе работать будет?
     
  19. sharikov

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

    Сообщения:
    579
    Симпатии:
    52
    Разъясните что не так с исходниками rebane ?
    Они не настолько сложны чтобы в них нельзя было разобраться

    --
    UPD
    Прикольно, дамп флэша прочитанный rebane не совпадает с тем что читает jflash.
    Verification failed @ address 0x98009080 (Read: 0x02, Expected: 0xFF)
     
    Последнее редактирование: 28 дек 2016
  20. sharikov

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

    Сообщения:
    579
    Симпатии:
    52
    Собрал флэшер rebane из rebane / rtl8710_openocd / source / — Bitbucket
    проверил вручную:
    Код (Text):
    1. openocd -f interface/jlink.cfg -c 'transport select swd' -f rtl8710.ocd
    2.  
    3. ...
    4.  
    5. telnet localhost 4444
    6. Trying 127.0.0.1...
    7. Connected to localhost.
    8. Escape character is '^]'.
    9. Open On-Chip Debugger
    10. > reset halt
    11. rtl8710.cpu: target state: halted
    12. target halted due to debug-request, current mode: Thread
    13. xPSR: 0x01000000 pc: 0x00000100 msp: 0x1ffffffc
    14. > init
    15. > reset halt
    16. rtl8710.cpu: target state: halted
    17. target halted due to debug-request, current mode: Thread
    18. xPSR: 0x01000000 pc: 0x00000100 msp: 0x1ffffffc
    19.  
    20. > rtl8710_flash_read_id
    21. initializing RTL8710 flasher
    22. faultmask (/1): 0x01
    23. sp (/32): 0x20000000
    24. pc (/32): 0x10001000
    25. RTL8710 flasher initialized
    26. manufacturer ID: 0xC2, memory type: 0x20, memory capacity: 1048576 bytes
    27.  
    28. > rtl8710_flash_read_mac
    29. MAC address: 00:F8:87:11:00:12
    30.  
    31. > rtl8710_flash_read dump.bin 0 1048576
    32. read offset 0
    33. dumped 262144 bytes in 9.208965s (27.799 KiB/s)
    34. read 262144 bytes
    35. read offset 262144
    36. dumped 262144 bytes in 9.208883s (27.799 KiB/s)
    37. read 262144 bytes
    38. read offset 524288
    39. dumped 262144 bytes in 9.210377s (27.795 KiB/s)
    40. read 262144 bytes
    41. read offset 786432
    42. dumped 262144 bytes in 9.208920s (27.799 KiB/s)
    43. read 262144 bytes
    44.  
    45. > rtl8710_flash_verify dump.bin 0
    46. read offset 0
    47. 262144 bytes written at address 0x10008020
    48. downloaded 262144 bytes in 8.847416s (28.935 KiB/s)
    49. verify offset 0
    50. read offset 262144
    51. 262144 bytes written at address 0x10008020
    52. downloaded 262144 bytes in 8.845944s (28.940 KiB/s)
    53. verify offset 262144
    54. read offset 524288
    55. 262144 bytes written at address 0x10008020
    56. downloaded 262144 bytes in 8.866574s (28.872 KiB/s)
    57. verify offset 524288
    58. read offset 786432
    59. 262144 bytes written at address 0x10008020
    60. downloaded 262144 bytes in 8.869291s (28.864 KiB/s)
    61. verify offset 786432
    62.  
    63. > rtl8710_flash_mass_erase    
    64.  
    65. > rtl8710_flash_verify dump.bin 0
    66. read offset 0
    67. 262144 bytes written at address 0x10008020
    68. downloaded 262144 bytes in 8.846901s (28.937 KiB/s)
    69. verify offset 0
    70. rtl8710.ocd:195: Error: verify error, offset 0
    71. in procedure 'rtl8710_flash_verify'
    72. in procedure 'rtl8710_flasher_verify_block' called at file "rtl8710.ocd", line 303
    73. at file "rtl8710.ocd", line 195
    74.  
    75. > rtl8710_flash_read dump_erased.bin 0 1024
    76. read offset 0
    77. dumped 1024 bytes in 0.040359s (24.778 KiB/s)
    78. read 1024 bytes
    79.  
    80. > rtl8710_flash_write dump.bin 0        
    81. write offset 0
    82. 262144 bytes written at address 0x10008020
    83. downloaded 262144 bytes in 8.855712s (28.908 KiB/s)
    84. wrote 262144 bytes
    85. write offset 262144
    86. 262144 bytes written at address 0x10008020
    87. downloaded 262144 bytes in 8.850438s (28.925 KiB/s)
    88. wrote 262144 bytes
    89. write offset 524288
    90. 262144 bytes written at address 0x10008020
    91. downloaded 262144 bytes in 8.858675s (28.898 KiB/s)
    92. wrote 262144 bytes
    93. write offset 786432
    94. 262144 bytes written at address 0x10008020
    95. downloaded 262144 bytes in 8.869229s (28.864 KiB/s)
    96. wrote 262144 bytes
    97.  
    98. > rtl8710_flash_verify dump.bin 0      
    99. read offset 0
    100. 262144 bytes written at address 0x10008020
    101. downloaded 262144 bytes in 8.846508s (28.938 KiB/s)
    102. verify offset 0
    103. read offset 262144
    104. 262144 bytes written at address 0x10008020
    105. downloaded 262144 bytes in 8.846881s (28.937 KiB/s)
    106. verify offset 262144
    107. read offset 524288
    108. 262144 bytes written at address 0x10008020
    109. downloaded 262144 bytes in 8.865390s (28.876 KiB/s)
    110. verify offset 524288
    111. read offset 786432
    112. 262144 bytes written at address 0x10008020
    113. downloaded 262144 bytes in 8.875544s (28.843 KiB/s)
    114. verify offset 786432
    115.  
    116. > shutdown
    Если по-человечески то слил дамп AT прошивки из модуля, стер его, убедился что флэш стерлась после чего залил дамп обратно.
    После openocd сделал верификацию в JFlash с дампом слитым с помощью него - совпало.

    Итого: у меня rebane flasher работает. Наверно я что-то делаю неправильно.
     

    Вложения:

    • rtl8710.ocd.zip
      Размер файла:
      3,4 КБ
      Просмотров:
      10

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