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

UDK с Eclipse для модулей RTLxxx под Windows

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

  1. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Это только попытка создать полный UDK с Eclipse для модулей RTLxxx!
    Возможно, по мере обсуждения и наличия времени на это, что и выйдет. Включайтесь :)

    Для теста сборка исходников моего SDK GitHub - pvvx/RTL00MP3: RTL00(RTL8710AF) Test MP3
    ( Далее мой SDK будет расходиться с оф. версией всё больше и больше... Версии на git, на основной странице, будут "не стабильные", пока не допилю следующий этап, а их предполагается много. Каждый этап, при достижении более менее стабильности сохраняется в Releases · pvvx/RTL00MP3 · GitHub. К другим моим примерам указывается, какой вариант SDK брался. ) На сегодня использует версию "Eclipse Cpp Neon".

    Базовый sdk-ameba-rtl8710af-v3.5a_without_NDA_GCC_V1.0.0 и дополнительная документация о модуле типа RTL00 V1.0:
    PADI IoT Stamp Resources – PINE64
    + GitHub - pvvx/RTL871x_Info
    По умолчанию, в качестве JTAG используется 'J-Link STLink V2' (см. Converting ST-LINK on-board into a J-Link):
    STLch.jpg STLch_sch.gif
    RB0 в варианте прошивки Jlink работает как RESET(!)
    Работает загрузка в RAM - JLinkGDB-RunRAM.bat и отладка в Eclipse.

    Необходимое ПО:
    JTAG/SWD Drivers:
    * ST-Link
    ST-LINK/V2 - ST-LINK/V2 in-circuit debugger/programmer for STM8 and STM32 - STMicroelectronics
    * J-Link
    SEEGER J-Link Software and Documentation Pack
    SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace
    * Converting ST-LINK on-board into a J-Link
    SEGGER - The Embedded Experts - ST-LINK on-board
    Fix (раскрыть)
    fc /b STLinkReflash.exe FixSTLinkReflash.exe >FixSTLinkReflash.txt
    Код (Text):
    1. Сравнение файлов STLinkReflash.exe и FixSTLinkReflash.exe
    2. 00002568: 75 90
    3. 00002569: 66 90
    4. 000026AA: 74 EB

    MinGW
    MinGW-w64 - for 32 and 64 bit Windows
    Minimalist GNU for Windows
    + Python27 для дальнейших скриптов, к примеру, вариантов программатора...
    GNU ARM Embedded Toolchain
    GNU ARM Embedded Toolchain project files : GNU ARM Embedded Toolchain
    OpenOCD: Open On-Chip Debugger
    GNU ARM Eclipse - Browse /OpenOCD at SourceForge.net

    Eclipse IDE for C/C++ Developers
    Eclipse IDE for C/C++ Developers | Packages
    GNU ARM Eclipse Plug-ins
    How to download the binary files?
    GNU ARM Eclipse OpenOCD
    info: How to install the OpenOCD binaries?


    Слеплено по аналогии с "Tutorial: Using Eclipse + ST-LINK/v2 + OpenOCD to debug"
    Tutorial: Using Eclipse + ST-LINK/v2 + OpenOCD to debug
     
    Последнее редактирование: 8 апр 2017
    kissste и Garmin нравится это.
  2. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Для теста сборка 'RTL00 Test Minimal AmebaV3.5a GCC' что пока есть, очищенная от всех лишних файлов для сокращения размера GitHub - pvvx/rtl00TstMinAmebaV35a: RTL00 Test Minimal AmebaV3.5a GCC
    Подключен 'программатор' от Rebane rebane — Bitbucket
    Изначальные версии для дополнений исходников и т.д.:
    от PADI IoT Stamp Resources – PINE64
    sdk-ameba-rtl8710af-v3.5a_without_NDA_GCC_V1.0.0.zip
    от Realtek IoT/Arduino Solution
    sdk-ameba1-v3.4b3_without_NDA.zip
    GitHub - Ameba8195/Arduino: This is Arduino SDK for Ameba Arduino board.
     
    Последнее редактирование: 21 сен 2016
    Garmin нравится это.
  3. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Sdk-ameba-rtl8710af-v3.5a_without_NDA_GCC_V1.0.0 странная...
    Китайцы в ней сделали два активных UART, и по обоим кусками работают AT команды :)
    Второй порт UART2_IN (GA0) и UART2_OUT (GA4).
    Ввожу в UART_LOG_IN/OUT (GB1/GB0) "help" - во втором порту ответ :eek:
    Вводим ATW? - часть ответа в одном порту, часть в другом :D
    -----------
    Китайский STLink2 за 100 рупь, прошитый в J-link оф.конвертером всё-таки работает во много раз лучше, т.к. без OCD, да и скорость SWD сильно выше...
    В такой конфиге, с добавкой команды "запуск в обход Flash, сразу в RAM" :
    GDB_J-link.gif
    {int} 0x40000210 = 0x8011157 - boot from ram, igonore loading flash
    Больше не требуется протирать дырку в Flash при отладке...
     
    Последнее редактирование: 22 сен 2016
  4. dosikus

    dosikus Новичок

    Сообщения:
    35
    Симпатии:
    3
    MinGW для чего?
     
  5. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Для GCC и стандартных команд.
     
  6. Seeker

    Seeker Читатель

    Сообщения:
    27
    Симпатии:
    5
    Добавил в PATH расположение MinGW. Выдаёт мне непонятные проблемы типа
    process_begin: CreateProcess(NULL, rm -rf build/obj build/bin, ...) failed.
    make (e=2): Не удается найти указанный файл.

    А в проекте HelloWorld, после добавления MinGW в PATH и пары не туда смотрящих includ'ов, ругается на ARM инструкции.
    P.S. С eclips'ом не дружу, по мне так удобны EMbitz и конечно студия.
     
  7. dosikus

    dosikus Новичок

    Сообщения:
    35
    Симпатии:
    3
    Seeker, а я так понял что MinGW для сборки тулчайна , а не самого проекта ...
     
  8. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Не - MinGW для совместимости с Linux подобными системами. В основном, для обработки команд make (makefile).
    Стандартный SDK для RTL-ов идет под IAR. Версия для GCC содержит gcc-arm-none-eabi-4.8.3-2014q1 (т.е. старый) и возможность сборки только в командной строке...
    Копаться в командной строке и редактировать файлы в простом редакторе неудобно. Для этого и используется Eclipse...
     
    dosikus нравится это.
  9. Neov

    Neov Читатель

    Сообщения:
    209
    Симпатии:
    7
    правильно ли я понял, что рабочих связок RTL-00 + Eclipse + J-Link GDB ещё нет, и нужно пользоваться IAR, рекомендованный Ameba SDK ?
     
  10. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Рабочии "связки Eclipse + J-Link GDB" были до RTL-00. Добавление RTL-00 не сменило ситуацию.
    IAR, или Eclipse, или Arduino, или другая оболочка - это дело вкуса.
    На сайте Ameba для RTL00 пока Sdk Ameba1 V3.4b3 Without NDA для RTL-00
    А все уже пользуются V3.5a и более новым GCC, чем идет в SDK...
    Есть и такое GitHub - WsLink/RTL8710AF_GCC: WiFi芯片RTL8710AF的GCC版SDK,采用C#脚本进行编译
     
    Последнее редактирование: 13 ноя 2016
  11. Neov

    Neov Читатель

    Сообщения:
    209
    Симпатии:
    7
    понятно что связка была и есть, вопрос в IDE для программирования RTL-00.
    Редактор IAR (SDK v. 3.4b) лично для меня не удобен. Собирать и отлаживать из консоли (SDK v. 3.5a) ещё меньше радости.

    Был бы признателен, если кто-нибудь выложит полностью настроенный проект helloworld для GNU ARM Eclipse, проект со всеми Paths & Symbols etc.
     
  12. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Это слишком специфическая вещь. В "среду", UDK, входит масса разнообразных продуктов и у всех разные предпочтения и даже операционные среды.
    Пример, для Eclipse под Windows, с моими установками есть - GitHub - pvvx/RTL00MP3: RTL00(RTL8710AF) Test MP3 , но в нем нет полной "среды". Она устанавливается отдельно, согласно описанию в первом посту темы. Сваливать всё в один архив грозит его очень большим его размером, а так-же нет возможности на распространение всех продуктов от других производителей ПО - требуются всякие согласования и лицензии... на это уйдет больше всего времени. Таков современный мир. :)
     
  13. aloika

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

    Сообщения:
    371
    Симпатии:
    25
    Пытаюсь скомпилировать этот проект, начинает компилироваться, потом ошибка:

    Код (Text):
    1. 00:24:43 **** Build of configuration Debug for project RTL00MP3 ****
    2. mingw32-make.exe -s all
    3. ===========================================================
    4. Compile (build)
    5. RTL00_SDKV35a/component/common/drivers/ethernet_mii/ethernet_mii.c
    6. ===========================================================
    7. Make BootLoader (ram_1.p.bin, ram_1.r.bin)
    8. ===========================================================
    9. Link (build)
    10. arm-none-eabi-gcc.exe: error: bui: No such file or directory
    11. sdkbuild.mk:47: recipe for target 'application' failed
    12. mingw32-make.exe[1]: *** [application] Error 1
    13. Makefile:7: recipe for target 'ram_all' failed
    14. mingw32-make.exe: *** [ram_all] Error 2
    15.  
    16. 00:24:48 Build Finished (took 5s.345ms)
    17.  

    Pvvx, подскажите, пожалуйста, что это может быть, хотя бы направление, куда смотреть.
     
  14. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Что-то попорчено. Вместо директории build пишет bui. :)
    Возможно порезало строку параметров для gcc.exe. Не лезет в память. Старая винда или ограничено что-то "шаловливыми ручками" в винде....
    Там выходит длинная строка параметров - на несколько килобайт :) у меня на 20059 байт.

    "Мало памяти" у вашего компа для данного проекта ;)
    Примерно такая (в сообщение не лезет - тоже мало памяти, в zip лезет :) ):
     

    Вложения:

    • string.zip
      Размер файла:
      2,2 КБ
      Просмотров:
      9
    Последнее редактирование: 17 дек 2016
  15. aloika

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

    Сообщения:
    371
    Симпатии:
    25
    Интересно, что проект rtl00TstMinAmebaV35a компилируется:

    Код (Text):
    1. 01:31:17 **** Build of configuration Debug for project rtl00TstMinAmebaV35a ****
    2. mingw32-make.exe -s all
    3. ===========================================================
    4. Build application
    5. ===========================================================
    6. ../../../component/common/api/at_cmd/atcmd_sys.c
    7. ../../../component/common/drivers/ethernet_mii/ethernet_mii.c
    8. e:/karpesh/rtl00/tools/5.4 2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: warning: section `.valid' type changed to PROGBITS
    9. ===========================================================
    10. Image manipulating
    11. ===========================================================
    12. b:268460032 s:268460032 e:268760020
    13. size 299988
    14. copy size 299988
    15. b:268460032 s:268460032 e:268760020
    16. size 299988
    17. copy size 299988
    18. total 44 k, padding data ff, name application/Debug/bin/ram_1.p.bin
    19. Original size 15032
    20. Padding  size 45056
    21. size = 300004
    22.  
    23. checksum 1ce5a59
    24.  
    25.  
    26. 01:31:35 Build Finished (took 18s.486ms)

    А этот - нет. Комп современный, винда десятая.
     
  16. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Могу посоветовать вписать в маке отправку параметра, к примеру $(OBJ_LIST), в файл и потом передать этот файл gcc c опцией, что часть параметров в файле. :)
     
  17. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Там меньше передаваемых файлов, т.к. меньше исходников.
    Обращайтесь к Биллу :) Не вижу причин ограничивать командную строку...

    Уберите у указанной строки в маке символ @ и посмотрите какие параметры там идут...
    А может вы включили трансляцию на много потоков? У меня тогда антивирус дурит - не успевает и глючит примерно так-же - не найти каталога в который писать, а он есть. Можно даже заранее создать каталог, но при трансляции раза-на раз его не находит - сотня пролетает, а на сто первый выскакивает и орет что не найти каталог, в который только что предыдущий файл писал... :) Многоядерные Баги в mingw и антивирусах... Реальных ядер в CPU то у меня больше чем у стандартных проверяльщиков mingw... В один поток всё всегда Ok.
     
    Последнее редактирование: 17 дек 2016
  18. aloika

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

    Сообщения:
    371
    Симпатии:
    25
    Убираю @ - всё также, в выводе ничего не меняется.

    Вот здесь вот люди про что-то такое пишут:
    Проблема 2000h (или как собрать GCC-ARM-embedded линкером большой проект) / Алгоритмы и программные решения / Сообщество EasyElectronics.ru

    Т.к. не знаю, как включать трансляцию во много потоков, то, наверное, не включал.
     
  19. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    У меня стоит mingw64. Если же запустить просто make.exe - то вообще будет полный бардак. Наверно строки вообще ограничивает до килобайта... По тому надо запускать mingw32-make.exe...
    Он у вас и запускается, но mingw наверно из серии 32, а не 64....
    А плохо это. При хотя-бы 8 потоках реально в 8 раз быстрее собирается после "clean", если 20-ть, то в 20 раз... Но никак не сделать - баги в mingw и т.д. :( Временно даже так пользовался, просто повторно жал транслировать - со второго раза проскакивало :) Даже так быстрее, но надо следить, что написал сборщик -> неудобно.
     
    Последнее редактирование: 18 дек 2016
  20. pvvx

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

    Сообщения:
    9.091
    Симпатии:
    1.303
    Сейчас попробую преодолеть их новый предел в 32 кило...
    Вышла строка в 42669 символа...
    Итого: make (e=87): Параметр задан неверно. :)
     
    Последнее редактирование: 18 дек 2016

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