• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

RTL00 MP3 player

Алексей.

Active member
Не получается обратить st-link/v2 в j-link
STLinkReflash (170628) говорит
Preparing for FW update (can take up to 10 seconds)...ERROR: Unsupported ST-LINK firmware

Сам st-link работает, отладочные платы на stm-ах подключаемые по swd, видит.
Версия его фирмваря V2.J30.S7 STM32+STM8 Debugger
Кто нибудь сталкивался с подобной проблемой?
 

pvvx

Активный участник сообщества
Не получается обратить st-link/v2 в j-link
STLinkReflash (170628) говорит
Preparing for FW update (can take up to 10 seconds)...ERROR: Unsupported ST-LINK firmware

Сам st-link работает, отладочные платы на stm-ах подключаемые по swd, видит.
Версия его фирмваря V2.J30.S7 STM32+STM8 Debugger
Кто нибудь сталкивался с подобной проблемой?
Значит китайский клон. У него другой загрузчик.
Есть тема https://esp8266.ru/forum/threads/ud...lej-rtlxxx-pod-windows.1621/page-3#post-39150
И подробнее в Прошивка ST-Link в J-Link
 

bob_2

New member
Добрый день! Я пытаюсь разобратся с RTL8710 и решил в качестве примера попробовать запустить на устройсте обсуждаемый здесь проект "RTL00 MP3 player". Во время сборки вываливается ошибка "Error rom-bios-boot code & data!". Нашел источник сообщения в файле rlx8195A-symbol-v04-img2.ld который используется линковщиком. В этом файле есть строчка ASSERT(__ram_image_end__ == 0x100020c0, "Error rom-bios-boot code & data!") - которая собственно и прекращает дальнейшую линковку в случае если __ram_image_end__ !=0x100020c0. Тепер соответственно несколько вопросов к знающим:
- как победить данную ошибку(проект ника не модифицировался, а компилировался после стягивания с гитхаба как есть), желательно пояснить причину ошибки и дать алгоритм действий по исправлению, типа зайди в такой файл и измени тото;
- что это за магическое число 0x100020c0 с которым производится сравнение и откуда оно берется;
- как формируется *.map файл в папке /Obj и почему в нем указано 0x100020c8 PROVIDE (__ram_image_end__, .), что на 8 байт больше чем указано в проверке ASSERT(__ram_image_end__ == 0x100020c0, "Error rom-bios-boot code & data!");
- почему после корректировке _ram_image_end__ == 0x100020c8 в файле rlx8195A-symbol-v04-img2.ld проект компилится но при запуске выдает ошибку типа
<RTL8195A>nter SRAM-Boot 1 ====
83333333 Hz, SOC FUNC EN: 0x20011113
t fail!

При этом доступна какаято консоль

----------------- COMMAND MODE HELP ------------------
HELP (?) : Print this help messag

DB <Address, Hex> <Len, Dec>:
Dump memory byte or Read Hw byte register
DHW <Address, Hex> <Len, Dec>:
Dump memory helf-word or Read Hw helf-word regi
ster
DW <Address, Hex> <Len, Dec>:
Dump memory word or Read Hw word register
EW <Address, Hex> <Value, Hex>:
Write memory word or Write Hw word register
Can write more word at the same time
Ex: EW Address Value0 Value1
SPICTOOL <Mode, Dec> <BitMode, Dec>:
Mode = 1: Init SPIC; BitMode: 0(One)/1(Dual)/2
(Quad)
Mode = 2: Erase Chip

----------------- COMMAND MODE END ------------------
 

rst

Member
В этом файле есть строчка ASSERT(__ram_image_end__ == 0x100020c0, "Error rom-bios-boot code & data!") - которая собственно и прекращает дальнейшую линковку в случае если __ram_image_end__ !=0x100020c0. Тепер соответственно несколько вопросов к знающим:
- как победить данную ошибку(проект ника не модифицировался, а компилировался после стягивания с гитхаба как есть), желательно пояснить причину ошибки
Я не "знающий", но исходя из самого названия ram_image_end следует, что эта строчка контролирует чтобы область ram_image заканчивалась на адресе 0x100020c0. Значит это почему-то необходимо программе.
И очевидно, что "после стягивания" в скомпилированной Вами прошивке ram_image заканчивается по какому-то другому адресу.
- почему после корректировке _ram_image_end__ == 0x100020c8 в файле rlx8195A-symbol-v04-img2.ld проект компилится но при запуске выдает ошибку
Раз в исходниках такая проверка стоит, значит им это необходимо. Вы же не глядя похерили эту проверку. Почему после этого программа должна работать?
Ищите почему у Вас ram_image получается больше чем надо на 8 байт. Это нужно смотреть .map-файл и разбираться - какие переменные лезут в эту область. Возможно можно включить (или выключить) оптимизацию и размер изменится.
 

bob_2

New member
Я не "знающий", но исходя из самого названия ram_image_end следует, что эта строчка контролирует чтобы область ram_image заканчивалась на адресе 0x100020c0. Значит это почему-то необходимо программе.
И очевидно, что "после стягивания" в скомпилированной Вами прошивке ram_image заканчивается по какому-то другому адресу.
Раз в исходниках такая проверка стоит, значит им это необходимо. Вы же не глядя похерили эту проверку. Почему после этого программа должна работать?
Ищите почему у Вас ram_image получается больше чем надо на 8 байт. Это нужно смотреть .map-файл и разбираться - какие переменные лезут в эту область. Возможно можно включить (или выключить) оптимизацию и размер изменится.
Я стянул с гитхаба проект, компилю его с параметрами(без каких либо модификаций) указанными в приложенному к проекту Makefile и он не собирается из-за ранее указаной проблемы. У когото "из коробки" данный проект собрался? И подскажите те, кто решил подобную проблему, как Вы ее решали. И доплнительно если например перейти на свежий компилятор то как тогда компилить проект и что нада править чтоб не возникала ранее указанная ошибка?
 
Последнее редактирование:

FGX

Member
Добрый день. Ранее я собирал прошивки в eclipse, проверял настраивал, работало. Переставил винду, захотел еще поиграться с РТЛ, но не хочет eclipse работать. Я почитал форум данный и вроде похоже на то, что путь слишком длинный, но может я ошибаюсь. Пути прописывал все что только нашел, ставил все по несколько раз. Не подскажите куда копать, прошивки для esp8266 тот же эклипс собирает.

00:30:26 **** Build of configuration Release for project RTL00MP3 ****
mingw32-make.exe -s -j 4 all
project/src/user/main.c
project/src/user/spiram_fifo.c
===========================================================
Compile (build)
RTL00_SDKV35a/sdkbuild.mk:66: recipe for target 'project/src/user/main.o' failed
process_begin: CreateProcess(NULL, arm-none-eabi-gcc -DM3 -DCONFIG_PLATFORM_8195A -DGCC_ARMCM3 -DARDUINO_SDK -DF_CPU=166666666L -DNDEBUG -mcpu=cortex-m3 -mthumb -g2 -Os -std=gnu99 -fno-common -fmessage-length=0 -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-short-enums -fsigned-char -Wall -Werror -Wno-old-style-declaration -Wno-pointer-sign -Wno-strict-aliasing -Wno-variadic-macros -Wno-empty-body -DLOGUART_STACK_SIZE=1024 -I../inc -Iproject/inc -IRTL00_SDKV35a/component/soc/realtek/common/bsp -IRTL00_SDKV35a/component/os/freertos -IRTL00_SDKV35a/component/os/freertos/freertos_v9.0.0/Source/include -IRTL00_SDKV35a/component/os/freertos/freertos_v9.0.0/Source/portable/GCC/ARM_CM3 -IRTL00_SDKV35a/component/os/os_dep/include -IRTL00_SDKV35a/component/soc/realtek/8195a/misc/driver -IRTL00_SDKV35a/component/common/api/network/include -IRTL00_SDKV35a/component/common/api -IRTL00_SDKV35a/component/common/api/platform -IRTL00_SDKV35a/component/common/api/wifi -IRTL00_SDKV35a/component/common/api/wifi/rtw_wpa_supplicant/src -IRTL00_SDKV35a/component/common/network -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/port/realtek/freertos -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/src/include -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/src/include/lwip -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/src/include/ipv4 -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/port/realtek -IRTL00_SDKV35a/component/common/test -IRTL00_SDKV35a/component/soc/realtek/8195a/cmsis -IRTL00_SDKV35a/component/soc/realtek/8195a/cmsis/device -IRTL00_SDKV35a/component/soc/realtek/8195a/fwlib -IRTL00_SDKV35a/component/soc/realtek/8195a/fwlib/rtl8195a -IRTL00_SDKV35a/component/soc/realtek/8195a/misc/rtl_std_lib/ -IRTL00_SDKV35a/component/soc/realtek/8195a/misc/rtl_std_lib/include -IRTL00_SDKV35a/component/common/drivers -IRTL00_SDKV35a/component/common/drivers/i2s -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/include -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/src/osdep -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/src/hci -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/src/hal -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/src/hal/OUTSRC -IRTL00_SDKV35a/component/common/drivers/sdio/realtek/sdio_host/inc -IRTL00_SDKV35a/component/soc/realtek/8195a/fwlib/ram_lib/wlan/realtek/wlan_ram_map/rom -IRTL00_SDKV35a/component/common/network/ssl/ssl_ram_map/rom -IRTL00_SDKV35a/component/common/mbed/api -IRTL00_SDKV35a/component/common/mbed/hal -IRTL00_SDKV35a/component/common/mbed/hal_ext -IRTL00_SDKV35a/component/common/mbed/targets/hal/rtl8195a -Iproject/inc/mad -I../inc -Iproject/inc -IRTL00_SDKV35a/component/soc/realtek/common/bsp -IRTL00_SDKV35a/component/os/freertos -IRTL00_SDKV35a/component/os/freertos/freertos_v9.0.0/Source/include -IRTL00_SDKV35a/component/os/freertos/freertos_v9.0.0/Source/portable/GCC/ARM_CM3 -IRTL00_SDKV35a/component/os/os_dep/include -IRTL00_SDKV35a/component/soc/realtek/8195a/misc/driver -IRTL00_SDKV35a/component/common/api/network/include -IRTL00_SDKV35a/component/common/api -IRTL00_SDKV35a/component/common/api/platform -IRTL00_SDKV35a/component/common/api/wifi -IRTL00_SDKV35a/component/common/api/wifi/rtw_wpa_supplicant/src -IRTL00_SDKV35a/component/common/network -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/port/realtek/freertos -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/src/include -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/src/include/lwip -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/src/include/ipv4 -IRTL00_SDKV35a/component/common/network/lwip/lwip_v1.4.1/port/realtek -IRTL00_SDKV35a/component/common/test -IRTL00_SDKV35a/component/soc/realtek/8195a/cmsis -IRTL00_SDKV35a/component/soc/realtek/8195a/cmsis/device -IRTL00_SDKV35a/component/soc/realtek/8195a/fwlib -IRTL00_SDKV35a/component/soc/realtek/8195a/fwlib/rtl8195a -IRTL00_SDKV35a/component/soc/realtek/8195a/misc/rtl_std_lib/ -IRTL00_SDKV35a/component/soc/realtek/8195a/misc/rtl_std_lib/include -IRTL00_SDKV35a/component/common/drivers -IRTL00_SDKV35a/component/common/drivers/i2s -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/include -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/src/osdep -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/src/hci -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/src/hal -IRTL00_SDKV35a/component/common/drivers/wlan/realtek/src/hal/OUTSRC -IRTL00_SDKV35a/component/common/drivers/sdio/realtek/sdio_host/inc -IRTL00_SDKV35a/component/soc/realtek/8195a/fwlib/ram_lib/wlan/realtek/wlan_ram_map/rom -IRTL00_SDKV35a/component/common/network/ssl/ssl_ram_map/rom -IRTL00_SDKV35a/component/common/mbed/api -IRTL00_SDKV35a/component/common/mbed/hal -IRTL00_SDKV35a/component/common/mbed/hal_ext -IRTL00_SDKV35a/component/common/mbed/targets/hal/rtl8195a -Iproject/inc/mad -c project/src/user/main.c -o build/obj/project/src/user/main.o, ...) failed.
make (e=2): Не удается найти указанный файл.


00:30:28 Build Failed. 8 errors, 0 warnings. (took 1s.153ms)
 

FGX

Member
Вот добавляю веб сервер есп и все ОК, т.е. я понимаю так, что не все так плохо и большинство программ и путей настроено правильно, но ни один пример для RTL не собирается.
Entry Point : 40106E6C ovl_init()
Total Used RAM : 3164
Free IRam : 30568 or 46952 (option 48k IRAM)
Free Heap : 80956
Total Free RAM : 127908
mingw32-make[2]: Leaving directory 'C:/githab/esp8266web/ovls/udptp'
mingw32-make[2]: Entering directory 'C:/githab/esp8266web/ovls/wdrv'
mingw32-make[3]: Entering directory 'C:/githab/esp8266web/ovls/wdrv/main'
mingw32-make[3]: Leaving directory 'C:/githab/esp8266web/ovls/wdrv/main'
Section| Description| Start (hex)| End (hex)|Used space
------------------------------------------------------------------------------
data| Initialized Data (RAM)| 3FFFDF60| 3FFFDF60| 0
rodata| ReadOnly Data (RAM)| 3FFFDF60| 3FFFE038| 216
bss| Uninitialized Data (RAM)| 3FFFE038| 3FFFE040| 8
lit4| Uninitialized Data (IRAM)| 40106CE0| 40106CE0| 0
text| Uncached Code (IRAM)| 40106600| 40106CE0| 1760
irom0_text| Cached Code (SPI)| 40210000| 40210000| 0
------------------------------------------------------------------------------
Entry Point : 40106BF8 ovl_init()
Total Used RAM : 1984
Free IRam : 31008 or 47392 (option 48k IRAM)
Free Heap : 81696
Total Free RAM : 129088
mingw32-make[2]: Leaving directory 'C:/githab/esp8266web/ovls/wdrv'
mingw32-make[1]: Leaving directory 'C:/githab/esp8266web/ovls'
mingw32-make[1]: Entering directory 'C:/githab/esp8266web/webbin'
mingw32-make[1]: 'WEBFiles.bin' is up to date.
mingw32-make[1]: Leaving directory 'C:/githab/esp8266web/webbin'

00:38:17 Build Finished. 0 errors, 0 warnings. (took 7s.565ms)
 
Сверху Снизу