• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

sharikov

Active member
Его бутлоадер тоже можно через усарт запрограммировать?
Можно. Шейте бут который MSD. Основную прошивку потом кинете на диск.

У меня что-то GNU ARM Eclipse Plug-ins не ставятся через сам Eclipse, у всех так?
Да. Скачивайте пакет и ставьте вручную с локального источника.[/QUOTE][/QUOTE]
 

Sprut

New member
В вкладке Make Taget кликаю по runram получаю ошибку
Пробовал пути прописывать и прочее эфекта ноль

Если же в из проводника запустить тот же JLink-RunRAM.bat то все работает модуль шется
Наверно не заданы пути в установках Eclipse
Та же ботва, только ошибки не пишет, открывается на мгновение консоль и закрывается, при запуске из папки работает отлично
Из Eclipse начинает работать если убрать start перед JLink.exe в JLink-RunRAM.bat
Система Win7 x64
 
Последнее редактирование:

pvvx

Активный участник сообщества
Та же ботва, только ошибки не пишет, открывается на мгновение консоль и закрывается, при запуске из папки работает отлично
Из Eclipse начинает работать если убрать start перед JLink.exe в JLink-RunRAM.bat
Система Win7 x64
Найдите причину - у меня на видео показано (1:10), что это работает в Win7 x64 без проблем.
Если со start - то если зависнет Jlink и т.д. то он не вешает Eclipse. А вылезшую висящую консоль можно закрыть.
 

Sprut

New member
Найдите причину
Пробовал, не выходит её найти, окно мгновенно закрывается
И вывод пустой, даже если так: start d:\_ARM_\SEGGER\JLink_V612i\JLink.exe >> JLink.log
Любую программу запустить из Eclipse через start таким образом не выходит
Предполагаю должна быть какая-то волшебная галка в настройках, либо как-то по другому работает make
 

Sprut

New member
И с mingw из шапки какая-то особая песня
QIP Shot - Screen 2017.02.14 12-32-45.png

Судя по настройкам проекта используется-то другой mingw, из UDK Espressif, с ним всё нормально работает

Полагаю из-за того что отсутствует msys
 

pvvx

Активный участник сообщества
Пробовал, не выходит её найти, окно мгновенно закрывается
И вывод пустой, даже если так: start d:\_ARM_\SEGGER\JLink_V612i\JLink.exe >> JLink.log
Любую программу запустить из Eclipse через start таким образом не выходит
Предполагаю должна быть какая-то волшебная галка в настройках, либо как-то по другому работает make
А make и не работает в проекте вообще. Работает mingw32-make.exe. Это большая разница.
start - это команда windows. К mingw отношения не имеет.
start start /?
Снимок1302.gif
Наверно пути нет к win system ..
 
Последнее редактирование:

Sprut

New member
Работает mingw32-make.exe
её и имел ввиду
start - это команда windows. К mingw отношения не имеет.
я вкурсе, поэтому и написал
Любую программу запустить из Eclipse через start таким образом не выходит
пути прописаны
QIP Shot - Screen 2017.02.14 15-39-10.png

И JLink вроде стартует, значок рядом с часами внизу появляется, но не активный, при наведении курсора пропадает

Фиг с ним с этим стартом, прижмёт буду разбираться, лучше с дебагером пойду воевать ))
 

pvvx

Активный участник сообщества
И JLink вроде стартует, значок рядом с часами внизу появляется, но не активный, при наведении курсора пропадает
Возможно стОит покапаться в этом файлике:
Снимок1304.gif
Он специально вынесен и работает для других, чтобы исправлять в одном месте на всех...
 

Sprut

New member
Возможно стОит покапаться в этом файлике:
Он специально вынесен и работает для других, чтобы исправлять в одном месте на всех...
Копался в нём естественно

Заработало с ключом /WAIT, при этом консоль закрывается после того как JLink.exe отработал, т.е. ведёт себя так же, как по идеи должна работать с start и без этого ключа

Такое ощущение, что при запуске JLink.exe просто через start , без ключа /WAIT, консоль CDT гасит консоль запуска до того как JLink.exe отработает

У меня в системе много всего понаставлено, возможно какие-нибудь Subsystem for UNIX-based Applications вносят свою лепту, может ещё что...

Рабочий (для меня) вариант:
Код:
@echo off
chcp 1251
call paths.bat
start /WAIT JLink.exe -Device CORTEX-M3 -If SWD -Speed 4000 flasher\RTL_RunRAM.JLinkScript
 
Последнее редактирование:

VVN

New member
Всё по умолчанию через сам Eclipse + "запуск в обход Flash, сразу в RAM"
+ небольшие изменения в проекте ))

Посмотреть вложение 3531
Спасибо, и приношу извинения.
С отладкой разобрался еще когда создал пост, но замотался и не отписался.
В моем случае неверно указал
Device name -> Cortex-M3
 

pvvx

Активный участник сообщества
Флаги, записываемые в регистр 0x40000210 перед стартом ROM-BIOS частично описаны тут RTL8710AF - загрузчик в ROM-BIOS. "Частично" т.к. описана старая процедура из ROM первых версий, а на модулях у вас новая версия - V01 кода ROM и там загрузчик имеет дополнения, в основном связанные с SDIOD...
Не все варианты и не всегда проходят для старта с разными выставленными битами "стартового выбора". На то есть множество условий и для отладки вы должны сами подобрать необходимый вариант (в старших битах, отвечающих за ветку запуска из ROM-BIOS одной из 5-ти процедур в bootloader, а так-же старту модуля в режиме SDIOD). Младшие биты в данном регистре, в примере, установлены согласно тому, какое оборудование в чипе включено и при сбросе чипа может быть другим. Надо не запись значения в регистр 0x40000210, а OR с битом "стартового выбора"... Всё это очень актуально при разных чипах (RTL871?A?) и разных версиях boot-loader-ов.
 

craftmail

New member
Это только попытка создать полный 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):
Посмотреть вложение 2173 Посмотреть вложение 2174
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
fc /b STLinkReflash.exe FixSTLinkReflash.exe >FixSTLinkReflash.txt
Код:
Сравнение файлов STLinkReflash.exe и FixSTLinkReflash.exe
00002568: 75 90
00002569: 66 90
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
Пожалуйста выложите STLinkReflash.exe версии 161007.
В форуме, да и в интернете рабочих ссылок я не нашел.
в версия 161221 которая доступна сегодня
по адресам
00002568: 75
00002569: 66
000026AA: С7 (вместо 74)
их замена на 90 90 EB к сожалению уже ничего не даёт....
 

FGX

Member
Я прошил свой Стлинк последней версией с сайта Сегер, предварительно ее пропатчив. Работает "Стлинк" и с STM32 даже лучше оригинала, в отладку быстро входит, хотя нужно еще понаблюдать конечно, может что вывалится, но пока полет нормальный.
 

Вложения

Pavel_x

New member
Это только попытка создать полный UDK с Eclipse для модулей RTLxxx!
Возможно, по мере обсуждения и наличия времени на это, что и выйдет. Включайтесь :)
Для теста сборка исходников моего SDK GitHub - pvvx/RTL00MP3: RTL00(RTL8710AF) Test MP3
Уважаемые знатоки, подскажите пожалуйста.
Пробую собрать проект RTL00MP3
и получаю следующую ошибку:
Link (build)
===========================================================
Build names map file
build/obj/build.nmap
===========================================================
Create image1r (build/bin/ram_1.r.bin)
process_begin: CreateProcess(E:\RTL87xx\ttt\RTL00MP3\RTL00_SDKV35a\component\soc\realtek\8195a\misc\iar_utility\common\tools\pick.exe, RTL00_SDKV35a/component/soc/realtek/8195a/misc/iar_utility/common/tools/pick.exe 0x10000bc8 0x10002be4 build/bin/ram_1.r.bin build/bin/ram_1.p.bin head+reset_offset 0x0B000, ...) failed.
make (e=193): Error 193
mingw32-make.exe[1]: *** [RTL00_SDKV35a/flasher.mk:254: build/bin/ram_1.p.bin] Error 193
mingw32-make.exe: *** [Makefile:9: ram_all] Error 2

Подскажите, что не так?
 

Neov

Member
Уважаемые знатоки, подскажите пожалуйста.
Пробую собрать проект RTL00MP3
и получаю следующую ошибку:
Link (build)
===========================================================
Build names map file
build/obj/build.nmap
===========================================================
Create image1r (build/bin/ram_1.r.bin)
process_begin: CreateProcess(E:\RTL87xx\ttt\RTL00MP3\RTL00_SDKV35a\component\soc\realtek\8195a\misc\iar_utility\common\tools\pick.exe, RTL00_SDKV35a/component/soc/realtek/8195a/misc/iar_utility/common/tools/pick.exe 0x10000bc8 0x10002be4 build/bin/ram_1.r.bin build/bin/ram_1.p.bin head+reset_offset 0x0B000, ...) failed.
make (e=193): Error 193
mingw32-make.exe[1]: *** [RTL00_SDKV35a/flasher.mk:254: build/bin/ram_1.p.bin] Error 193
mingw32-make.exe: *** [Makefile:9: ram_all] Error 2

Подскажите, что не так?
magres / wafmeba — Bitbucket
:)
 

VVN

New member
Здравствуйте, уважаемые.
Хочу немного оживить тему.

Года 2 назад, настроил полностью среду и самое главное отладку, немного поигрался и пришлось забросить.
Весь проект лежал в отдельной папке и ничего не менялось, правда система с win7 переехала на win10.
Сейчас вернулся к теме, уже с неделю барахтаюсь, «не выходит каменный цветок” и все тут.

Не работает отладка в эклипсе. Не запускается программа из RAM если загружаем файл build.axf.

Остальное все работает.

Если взять пример от уважаемого, pvvx, из RTL00MP3 то

В эклипс проект собираться, далее запускаем батники из директории RTL00MP3 и смотрим вывод на терминал

JlinkGDB-WrFlash.bat — все работает программа загружается в флешь
JLink-RunRAM_PATH.bat — все работает из RAM

JlinkGDB-RunRAM.bat не работает. Соответственно не работает отладка из эклипс.

Значения 0x40000210 менял по кругу

0x40000210 = 0x80011117
0x40000210 = 0x20011117
0x40000210 = 0x10011117
0x40000210 = 0x8011117
0x40000210 = 0x4011117

В зависимости от значений 0x40000210 реакция в терминале на загрузку была разная от Хардфаулт до простого висяка.

Одинаково было только полная неработоспособность.

Я пришел к выводу что проблема в создаваемом фале build.axf, из него загружаемся а RAM через JlinkGDB.

Собирал разными версиями тулчейнов от ARM
GNU Toolchain | GNU Arm Embedded Toolchain – Arm Developer

Менял версии Jlink Gdb, пробовал V612i, 614f, 640.

Самое главное если загружаем бинарники то все работает, если фалы типа ELF то нет.

Экспериментов было много, но наверное все не те.
Может кто наведет на мысль, а то что то уже скучно стало.
 

pvvx

Активный участник сообщества
Значения 0x40000210 менял по кругу

0x40000210 = 0x80011117
0x40000210 = 0x20011117
0x40000210 = 0x10011117
0x40000210 = 0x8011117
0x40000210 = 0x4011117

В зависимости от значений 0x40000210 реакция в терминале на загрузку была разная от Хардфаулт до простого висяка.
Как я помню, это всего разные опции используемые при перезагрузке - типа включить/отключить что-то.
Как оно может влиять на Gdb?
Адаптер Jtag должен перехватить управление при перезагрузке, когда программа в ROM включит Jtag доступ...
В примере RTL00MP3, в коде Jtag доступ отключен. Выводы используются для другого.
pvvx/RTL00MP3
 

VVN

New member
Как я помню, это всего разные опции используемые при перезагрузке - типа включить/отключить что-то.
pvvx/RTL00MP3
Тут Вы писали пункт 6
https://esp8266.ru/forum/threads/rtl8710af-zagruzchik-v-rom-bios.1602/Мне подумалось что это переключение вариантов старта после загрузки в RAM
Как оно может влиять на Gdb?
pvvx/RTL00MP3
gdb пробовал от разных тулченов предварительно собрав этими же инструментами.

Адаптер Jtag должен перехватить управление при перезагрузке, когда программа в ROM включит Jtag доступ...
В примере RTL00MP3, в коде Jtag доступ отключен. Выводы используются для другого.
pvvx/RTL00MP3
Да не суть, в флешь все перешиваться, вывод ресет с jlink подключен, так что проблем нет.
Работает Ваша RTL DUINO, работает отладка и загрузка в IAR c Ameba SDK 4.0.

Думаю что все таки неправильно собираться ELF файл, а вот что неправильно пока не знаю
 
Сверху Снизу