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

Работа с RTL00 под eclipse как запустить.

KomX

Member
Теперь переходим к конкретике:
Пример:
Ресерсный исходник boot (аналог от Ameba) - не работает - что-то не так проинициализировано или не хватает.
Для сборки используется:
RTL00MP3/startup.c at master · pvvx/RTL00MP3 · GitHub
RTL00MP3/boot-symbol-v03-img2.ld at master · pvvx/RTL00MP3 · GitHub
И корректированные make (свалка проекта приложена).
Поправьте пожалуйста, что там не так. А я пока тогда займусь описанием какой простой фигни или ответами на ваши вопросы :)
Загружать SDK то он загружает, ветка старта по загрузке в RAM работает, а вот виснет в самом SDK по загрузке с Flash. Что-то не хватает или не правильно какой бит в SoC инит. Ситуация аналогична новому бинарному boot от Ameba, выложенному ими в этом году для RTL8710AF :)
Вопрос вполне конкретен "Что я делаю не так?" и все исходники приведены. :)
Жду ответа... а то не дам рабочих исходников, когда займусь починкой - буду как Ameba поставлять в бинарном виде в SDK :)
Стесняюсь спросить...
Может это многообещающее сообщение откроет новый топик?
Какой именно файл подвергся "расчленению" и как его получить для "кормления IDA"?
 

pvvx

Активный участник сообщества
Стесняюсь спросить...
Может это многообещающее сообщение откроет новый топик?
Какой именно файл подвергся "расчленению" и как его получить для "кормления IDA"?
Я уже вчера по данной теме нашел время - там всё неправильно. Оказалось, что вся организация сборки системы на SDK к GCC неправильная. :)
Процедуры из ROM-BIOS используют RAM (у них свои сегменты text, rodata, bss, ...) и изменить их нет возможности. А они неправильно размаплены в *.ld для GCC без NDA.
Надо отдельную тему - Распределение карты адресации CPU в RTL-ах, но времени на то нет. Что-то одно - или собирать правильный вариант, или описывать текущие беды и что есть "телепузикам".
Примерно вот с таким rtl871xAx-symbol-v01-rom.ld удается собрать rom.a для boot, т.к. в области загружаемого boot находятся данные от ROM-BIOS и они используются.
Код:
ENTRY(Reset_Handler)

MEMORY
{
  ROM  (rx)         : ORIGIN = 0x00000000, LENGTH = 1M
  SRAM (rwx)         : ORIGIN = 0x10000000, LENGTH = 448K
  TCM  (rwx)        : ORIGIN = 0x1FFF0000, LENGTH = 65K
  SDRAM_RAM (rwx)    : ORIGIN = 0x30000000, LENGTH = 2M
}

SECTIONS
{
  .rom :
  {
    __rom_image_start__ = .;
    KEEP(*(.rom));
    __rom_image_end__ = .;

  } > ROM

  .rom.global.variable :
  {
    __ram_image_start__ = .;
    KEEP(*(.ram_dedecated_vector_table));     /* 0x10000000: NewVectorTable */
    KEEP(*(.ram_user_define_irq_table));     /* 0x10000100: UserIrqFunTable */
    KEEP(*(.ram_user_define_data_table));     /* 0x10000200: UserIrqDataTable */
/*     __rom_bss_start__ = .; */
    KEEP(*(.hal.ram.bss));                     /* 0x10000300: CfgSysDebugWarn .. _pHAL_Gpio_Adapter */
    KEEP(*(.timer2_7_vector_table.data));    /* 0x10000358: Timer2To7VectorTable */
    KEEP(*(.infra.ram.bss));                 /* 0x10000370: first .. z4 */
    KEEP(*(.mon.ram.bss));                    /* 0x10000384: pUartLogCtl .. ArgvArray,  __rom_bss_end__ */
    KEEP(*(.wlan_ram_map));                 /* 0x100006e0: FalseAlmCnt, ROMInfo, DM_CfoTrack */
    KEEP(*(.libc.ram.bss));                 /* 0x10000760: rom_libgloss_ram_map __rtl_malloc_av_ __rtl_errno */
/*    __rom_bss_end__ = .;    */
/*    __ram_start_table_start__ = .;    */      /* 0x10000bc8: bootloader */
    KEEP(*(SORT(.start.ram.data*)))
/*    __ram_start_table_end__ = .; */
/*    __image1_validate_code__ = .;    */        /* 0x10000bdc: sign */
    KEEP(*(.data));          
    KEEP(*(.hal.ram.data));                 /* 0x10001c60: _reent *rtl_impure_ptr .. impure_data */
    KEEP(*(.text*));
    KEEP(*(.text));
    __ram_image_end__ = .;
  } > SRAM
}

SECTIONS
{
    __rom_bss_start__ = 0x10000300;         /* use in rom */
    __rom_bss_end__ = 0x10000bc8;            /* use in rom */
    __ram_start_table_start__ = 0x10000bc8;    /* use in rom */
    __image1_validate_code__ = 0x10000bdc;    /* needed by ram code */
    _rtl_impure_ptr = 0x10001c60;    /* for standard library */
}
Требуется интеграция этих данных в тело boot.
Но есть проблемы - GCC собирает некоторые сегменты в своей сортировке и адресация на данные нарушается (возникают отличия от варианта трансляции при изготовлении маски ROM к чипу внутри мелких сегментов, а общая структура не страдает)
Берем к примеру IAR:
Область переменных для ROM-BIOS в RAM по map (какого-то проекта) выходит такая:
Код:
10000000 D .vector_table$$Base
10000000 D NewVectorTable
10000000 d .LANCHOR2
10000100 D .user_vector_table$$Base
10000100 D .vector_table$$Limit
10000100 D UserIrqFunTable
10000100 d .LANCHOR0
10000200 D .user_data_table$$Base
10000200 D .user_vector_table$$Limit
10000200 D UserIrqDataTable
10000200 d .LANCHOR1
10000300 A __rom_bss_start__
10000300 D .rom.bss$$Base
10000300 D .user_data_table$$Limit
10000300 D CfgSysDebugWarn
10000304 D CfgSysDebugInfo
10000308 D CfgSysDebugErr
1000030c D ConfigDebugWarn
10000310 D ConfigDebugInfo
10000314 D ConfigDebugErr
10000318 D HalTimerOp
10000318 d .LANCHOR1
10000334 D GPIOState
10000334 d .LANCHOR0
1000034c D gTimerRecord
1000034c d .LANCHOR1
10000350 D SSI_DBG_CONFIG
10000350 d .LANCHOR0
10000354 D _pHAL_Gpio_Adapter
10000354 d .LANCHOR1
10000358 D Timer2To7VectorTable
10000358 d .LANCHOR0
10000370 d .LANCHOR0
10000370 d first
10000374 d z1
10000378 d z2
1000037c d z3
10000380 d z4
10000384 D UartLogCtl
100003ac D UartLogBuf
1000042c D UartLogHistoryBuf
100006a8 D pUartLogCtl
100006ac D ArgvArray
100006d4 D rom_wlan_ram_map
100006e0 D FalseAlmCnt
100006e0 d .LANCHOR0
10000720 D ROMInfo
10000738 D DM_CfoTrack
10000760 D rom_libgloss_ram_map
10000760 d .LANCHOR0
10000780 d .LANCHOR0
10000780 d __rtl_malloc_av_
10000b88 d __rtl_malloc_trim_threshold
10000b8c d __rtl_malloc_top_pad
10000b90 d __rtl_malloc_sbrk_base
10000b94 d __rtl_malloc_max_sbrked_mem
10000b98 d __rtl_malloc_max_total_mem
10000b9c d __rtl_malloc_current_mallinfo
10000bc4 D __rtl_errno
10000bc4 d .LANCHOR0
10000bc8 A __ram_start_table_start__
10000bc8 A __rom_bss_end__
10000bc8 D .rom.bss$$Limit
10000bc8 D IMAGE1$$Base
10000bc8 D bootloader
10000bdc A __image1_validate_code__
10001c60 A _rtl_impure_ptr
И видим различие некоторых адресов переменных (в областях их сегмента, т.к. у GCC своя политика сортировки в пределах конкретного сегмента), указанных в *.ld (export-rom_v02.txt или export-rom_v03.txt) кинутых народу для GCC.
IAR не использует *.ld (export-rom_v02.txt или export-rom_v03.txt) - он берет rom.a и из неё получает адреса процедур и данных ROM-BIOS.
Так-же не совпадают структуры WiFi для бинарных либ, не имеющих исходников - различия трансялции у GCC и IAR.
Можно пофиксить адреса к примеру записями типа:
_rtl_impure_ptr = 0x10001c60; /* for standard library */
но в промежутке между ними данные становятся неизвестными, пока полной карты не собрал (закончил копашения на том, что одна переменная не там садится в GCC... Сейчас итоговый бинарник самой части кодов V00 ROM-BIOS получается совпадающим по адресации процедур и данных в области ROM, одно несовпадение в сегменте RAM). ( ROM-BIOS в чипе имеет и дописанную часть V01 - но от неё вообще нет ничего кроме заголовков - см. export-rom_v03.txt).
Описывать более подробно не имею возможности.
Подождем "водопроводчика со стажем" findeler-а :) :
Нет, надо разобраться. Всё должно быть в одном каталоге. Как я писал.

Распаковал- запустил - скомпилировал - загрузил - работает. Потом можно ковыряться.
Он "быстро стартанет" и сделает нам правильную версию под GCC cо всеми исходниками под GCC, хотя-бы на платку STM32F407 с STlink-ом и boot-loader-ом :) А то народ не может "стартануть" по findeler-овски на них уже который год...
 
Последнее редактирование:

pvvx

Активный участник сообщества
rom.a использует импорт:
Код:
; Segment type: Externs
                IMPORT UartLogCtl       ; DATA XREF: RtlConsolInit+24o
                                        ; RtlConsolInit+34o ...
; int (__fastcall *_ram_start_table_start__)(_DWORD)
                IMPORT __ram_start_table_start__
                                        ; DATA XREF: HalResetVsr+5Ao
                                        ; HalResetVsr+60o ...
                IMPORT UartLogHistoryBuf ; DATA XREF: RtlConsolInit+28o
                                        ; RtlConsolInit+38o
                IMPORT __image1_validate_code__
                                        ; DATA XREF: HalResetVsr:loc_72Eo
                                        ; HalResetVsr+372r
                IMPORT pUartLogCtl      ; DATA XREF: UartLogIrqHandle+2Co
                                        ; UartLogIrqHandle+34r ...
                IMPORT UartLogBuf       ; DATA XREF: RtlConsolInit+2o
                                        ; RtlConsolInit+12w
                IMPORT rom_wlan_ram_map ; DATA XREF: mp_init+2o
                                        ; mp_init+Cr ...
                IMPORT __rom_bss_start__ ; DATA XREF: HalResetVsro
                                        ; HalResetVsr+8o
                IMPORT ArgvArray        ; DATA XREF: GetArgvo
                                        ; GetArgv+10o ...
                IMPORT __rom_bss_end__  ; DATA XREF: HalResetVsr+4o
                                        ; HalResetVsr+Co
Это берется из исходника примерно такого: rtl_consol.c (найдете сами :)).
IAR при линковке с rom.a использует только это:
define exported symbol __rom_bss_start__ = 0x10000300; // use in rom
define exported symbol __rom_bss_end__ = 0x10000bc8; // use in rom
define exported symbol __ram_start_table_start__= 0x10000bc8; // use in rom
define exported symbol __image1_validate_code__= 0x10000bdc; // needed by ram code
define exported symbol _rtl_impure_ptr = 0x10001c60; // for standard library


В итого выходит, что все версии boot лоадеров
...
\RTL87xx\Libs\image\ram_1.r.v3.3b.bin
\RTL87xx\Libs\image\ram_1.r.v3.3c.bin
\RTL87xx\Libs\image\ram_1.r.v3.4b.bin
\RTL87xx\Libs\image\ram_1.r.v3.4b3.bin
\RTL87xx\Libs\image\ram_1.r.v3.5a.bin
\RTL87xx\Libs\image\ram_1.r.v3.5b1.bin
\RTL87xx\Libs\image\ram_1.r.v3.5b2.bin
...
содержат в своем теле по фиксед адресам данные для ROM-BIOS (хотя-бы громадную структуру _reent *rtl_impure_ptr + _reent impure_data от общей либы СИ)...

PS: думаю, то описанное и вытекающие последствия от этого никто тут не понял и не вижу смысла в продолжении данного "банкета". Если что-то понятно - пишите. :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Раскодируй строчку которая идет после Compile(Build) - например на сайте Universal online Cyrillic decoder - recover your texts

Там наверняка на русском языке написано что не хватает.
У make есть параметры. Если поставить один из них, то он покажет всю простыню, включая последовательность обработки данных.
Бросайте искать частные решения для findeler-а. Там тяжелый случай :)
Открываете каталог с проектом и командной строке вводите
mingw32-make.exe -p >log.txt
Обязательно в файл! А то ждать вывода в консоль простыни в пару мегобайт устаните...
 
Последнее редактирование:

Creep

Member
имхо, ТС не прав как минимум в том, что для "легкого старта" надо выбирать простые решения, а не конечный продукт "эволюции инструментов".
хочешь поморгать светодиодом - Arduino IDE в помощь, когда разобрался, что где лежит, откуда берется и куда и как пишется, наконец нашел в чем именно тебя ограничивает конкретный продукт - велкам дальше. хотя бы начинаешь понимать, что происходит в этом "черном ящике" и он перестанет быть "черным ящиком".
я уже неделю читаю все подряд топики этого раздела форума и ссылки, которые там встречаются, и вот только начал понимать смысл и содержание диалогов.
и еще - нашествие "телепузиков" (с) pvvx - не добавит на форум "первопроходцев". в лучшем случае будет масса вопросов по "С", вызовам процедур и обращению к портам - с чем прекрасно справится документация и гугл. вообще, наблюдения наводят меня на мысль, что у многих телега впереди коня. сначала ставится среда разработки и потом решается, что с ней делать. вместо сначала конкретизируется задача, и подбираются под нее возможные решения с последующим выбором наилучшего. понимаю, что так делать "не спортивно" и это противоречит "идеи" DIY, но это логично и практично. тех кто занимается именно реализацией задачи, а не играми со светодиодом единицы и не думаю, что pvvx их бы отпугнул, о чем наглядно свидетельствует этот форум.
 

pvvx

Активный участник сообщества
тех кто занимается именно реализацией задачи, а не играми со светодиодом единицы и не думаю, что pvvx их бы отпугнул, о чем наглядно свидетельствует этот форум.
Те, кто освоил уровень ембедед, имеют другой диалог. Их посылом не запугать, а после многочисленных ковыряний в д..ме "телепузиков" вообще ничем не удивить :)
 

pvvx

Активный участник сообщества
С RTL, в данном случае, странность... Все абстракции работают. :confused:
Чего не сказать о ESP.
И пусть они описаны ужасно и не оптимально, но главное - работают (!).
К каждому устройству драйвера (HAL) имеют ГРОМАДНЫЕ структуры с указателями процедур, которые используются для совместимости с разным "высоким уровнем" (абстракциями). Это позволяет менять любую функцию в них.
Как пример - даже к либе FS FAT32 заделан переходник, который позволяет использовать её с несколькими разными физическими дисками одновременно - USB, SD, Flash...
У ADC данная структурка 444 байта :)

PS: Автор статьи ещё зелен для ембедед. Его можно простить за непонимание алгоритмов в многопоточных системах (RTOS), чтобы не нарушалась атомарность при обращении к периферии...
Для ковыряния в битах при RTOS в ARM (для поддержки атомарности) существует аппаратная поддержка Что такое Bit Banding на примере stm32 | Blablacode
 
Последнее редактирование:

artko

New member
Подскажите, плиз, как все-таки эту чертову отладку запустить :)
Не запускается, ругается на

Error in final launch sequence
Failed to execute MI command:
set (int)0x40000210=0x4000157
Error message from debugger back end:
Left operand of assignment is not an lvalue.
Failed to execute MI command:
set (int)0x40000210=0x4000157
Error message from debugger back end:
Left operand of assignment is not an lvalue.
Left operand of assignment is not an lvalue.


если убрать эту команду (set) - старт проходит, но черт знает куда. Как правильно все-таки? из консоли gdb не подобрал вариант удовлетворяющий его.

демо-проект RTL_00AT
 

sharikov

Active member
Подскажите, плиз, как все-таки эту чертову отладку запустить :)
Не запускается, ругается на
Error in final launch sequence
Failed to execute MI command:
set (int)0x40000210=0x4000157
У меня в инициализации так:
Код:
...
monitor rtl8195a.cpu cortex_m reset_config sysresetreq (это чтобы ресет не подключать)
monitor halt
monitor reset halt
monitor adapter_khz 12000
monitor load_image build/bin/ram_1.r.bin 0x10000bc8 bin
monitor load_image build/bin/ram_2.bin 0x10006000 bin
monitor mww 0x40000210 0x20200113
 

pvvx

Активный участник сообщества
set (int)0x40000210=0x4000157
Полного описания бит в регистре 0x40000210 нет. Есть только разрозненные - в исходниках (и в моих записях). Т.е. не доступны пользователям.
Часть бит заведена на включение внутренних устройств, а другие биты используются как программные флаги включенных внутренних устройств и используются для указания загрузчику типов загрузок, а так-же используются в процедурах инициализации уже SDK. Например один из незадействованных аппаратно битов, в данном регистре, указывает проинициализирована или нет SDRAM.
У меня в инициализации так:
monitor mww 0x40000210 0x20200113
Очень странное значение...
Код:
//2 REG_SOC_FUNC_EN
// BIT(21) SDRAM
#define BIT_SOC_SECURITY_ENGINE_EN BIT(20)
#define BIT_SOC_GTIMER_EN BIT(16)
#define BIT_SOC_GDMA1_EN BIT(14)
#define BIT_SOC_GDMA0_EN BIT(13)
#define BIT_SOC_LOG_UART_EN BIT(12)
#define BIT_SOC_CPU_EN BIT(8)
#define BIT_SOC_MEM_CTRL_EN BIT(6)
#define BIT_SOC_FLASH_EN BIT(4)
#define BIT_SOC_LXBUS_EN BIT(2)
#define BIT_SOC_OCP_EN BIT(1)
#define BIT_SOC_FUN_EN BIT(0)
+ RTL8710AF - загрузчик в ROM-BIOS
Не стоит писать туда все биты - надо использовать операцию OR или AND с текущим значением, но в скрипте это описывается не одной командой. Т.е. из-за лени и дикого упрощения получаем "бардачек" :)
 
Последнее редактирование:
Пытался собрать (2й релиз RTL00MP3, SDK 3.5.2). Поставил всё, что надо и, видимо, верно, потому что процесс пошел.
Но ругается линкер:

ld.exe: section .romheap VMA [10002400,10002fff] overlaps section .ram_image1.text VMA [10000bc8,10002be7]

Происходит это при вызове all -> sdkbuild.mk -> application

Код:
@$(LD) $(LFLAGS) -o $(ELFFILE) $(OBJ_LIST) $(LIBFLAGS) -T$(LDFILE)
LDFILE в данном случае rlx8195A-symbol-v04-img2.ld

С чем это может быть связано?
 
А у Вас Memory Map отличается от амебовской или такая же? В теме про Memory Map (https://esp8266.ru/forum/threads/rtl871x-flash-memory-map.2117/) Вы говорили, что то, что там приведено относится только к амебе:

*Для стандартного устаревшего SDK и Ameba Arduino(!) - подразумевается, что данную разметку поддерживает только Ameba. Пользовательские прошивки и другие источники ПО на модуль могут иметь другую общую разметку и другие поля данных.
 

pvvx

Активный участник сообщества
А у Вас Memory Map отличается от амебовской или такая же? В теме про Memory Map (https://esp8266.ru/forum/threads/rtl871x-flash-memory-map.2117/) Вы говорили, что то, что там приведено относится только к амебе:
В моей сборке уже свой boot, с исходниками.
Разметка в Flash практически идентична.
С boot много проблем, т.к. он грузится прямо в область переменных процедур ROM. От этого сложный скрипт .ld линкеру... и ответить-догадаться, почему у вас такая ошибка сложно.
С boot от Ameba много проблем и нестыковок с разными версиями SDK, Arduino и т.д. Большей частью связано с инициализацией SPIC и другими мелкими неувязками с переменными ROM и ошибками в выборе какую версию записи грузить... По этому сделан свой boot, который совместим со всеми вариантами и правильно инициализирует SPIC для RTL8710AF.
Не знаю что там у вас, т.к. только что скачал zip c GitHub - pvvx/RTL00MP3: RTL00(RTL8710AF) Test MP3, развернул, в командной строке написал [inline]mingw32-make.exe >log.txt [/inline]
получил log.txt.
 

Вложения

  • 11.9 KB Просмотры: 12
Последнее редактирование:

Vzzzzz

New member
Пытался собрать (2й релиз RTL00MP3, SDK 3.5.2). Поставил всё, что надо и, видимо, верно, потому что процесс пошел.
Но ругается линкер:

ld.exe: section .romheap VMA [10002400,10002fff] overlaps section .ram_image1.text VMA [10000bc8,10002be7]

Проверь версию gcc-arm-none-eabi.

PS. Видимо уже не актуально.
 

pvvx

Активный участник сообщества
Проверь версию gcc-arm-none-eabi.

PS. Видимо уже не актуально.
Да вроде всё нормально там:
Код:
>git clone git@github.com:pvvx/RTL00MP3.git
Cloning into 'RTL00MP3'...
remote: Counting objects: 4902, done.
remote: Compressing objects: 100% (35/35), done.
remote: Total 4902 (delta 6), reused 16 (delta 5), pack-reused 4860
Receiving objects: 100% (4902/4902), 46.95 MiB | 1.51 MiB/s, done.
Resolving deltas: 100% (2141/2141), done.
>mingw32-make.exe -s
===========================================================
Compile (build)
project/src/user/main.c
project/src/user/wifi_console.c
project/src/user/atcmd_user.c
....
....
RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/ram_lib/rtl_boot.c
===========================================================
Link (build)
===========================================================
Build names map file
build/obj/build.nmap
===========================================================
Create image1r (build/bin/ram_1.r.bin)
b:268438472 s:268438472 e:268446688
size 8216
append fw head b000
copy size 8216
===========================================================
Create image2ns (build/bin/ram_2.ns.bin)
b:268460032 s:268460032 e:268760156
size 300124
copy size 300124
===========================================================
Create image3 (SDRAM, build/bin/sdram.p.bin)
30000000 30000000
b:805306368 s:805306368 e:805306368
size 0
copy size 0
===========================================================
Make OTA image (build/bin/ota.bin)
size = 300156
checksum 1db0022
===========================================================
Create image2p (build/bin/ram_2.p.bin)
b:268460032 s:268460032 e:268760156
size 300124
copy size 300124
===========================================================
Make Flash image (build/bin/ram_all.bin)
total 44 k, padding data 0, name build/bin/ram_all.bin
Original size zd
Padding  size zd
-----------------------------------------------------------
Image (build/bin/ota.bin) size 300160 bytes
Image (build/bin/ram_all.bin) size 345212 bytes
===========================================================
Оно и на моем SDK4.0.0 в RTL00_WEB/USDK теперь собирается.
Надо всего:
1) [inline]git clone git@github.com: pvvx/RTL00_WEB.git[/inline]
2) изменить [inline]SDK_PATH = ../RTL00_WEB/USDK/[/inline] в userset.mk
и mingw32-make.exe -s ...
 
Последнее редактирование:

Vzzzzz

New member
Оно и на моем SDK4.0.0 в RTL00_WEB/USDK теперь собирается.
Надо всего:
1) [inline]git clone git@github.com: pvvx/RTL00_WEB.git[/inline]
2) изменить [inline]SDK_PATH = ../RTL00_WEB/USDK/[/inline] в userset.mk
и mingw32-make.exe -s ...

make без ошибок:
Код:
===================================================
Make Flash image (build/bin/ram_all.bin)
total 44 k, padding data ff, name build/bin/ram_all.bin
Original size 8232
Padding  size 45056
-----------------------------------------------------------
Image (build/bin/ota.bin) size 262352 bytes
Image (build/bin/ram_all.bin) size 307404 bytes
================================================
А make flashburn даёт ошибку:
Код:
Image1Size = 8640
Image1LoadAddr = 0x10000bc8
Image2FlashAddr = 0x0000b000
Image2 - None
Get ImagesSize:
Restoring binary file build/bin/ram_all.bin into memory (0x10000300 to 0x10000320)
Downloading 32 bytes @ address 0x10000300
Read 4 bytes @ address 0x10000310 (Data = 0x10002B75)
Read 4 bytes @ address 0x10000314 (Data = 0x10002B6F)
Read 2 bytes @ address 0x10000318 (Data = 0x2B69)
Image not format Firmware!
flasher/gdb_wrflash.jlink:149: Error in sourced command file:
Undefined command: "error".  Try "help".
Если вместо ram_all.bin прошиваю V02_V16_05_10.bin, то ошибок нет.
Что-то совсем не так делаю?
 

pvvx

Активный участник сообщества
Если вместо ram_all.bin прошиваю V02_V16_05_10.bin, то ошибок нет.
Что-то совсем не так делаю?
Пока не переехало всё на SDK 4.0. Я только частично переработал под свои нужды его, в основном под проект Web-свалки. Да и он ещё не доработан - там даже примитивного описания (md файла) на git нет...
 
Сверху Снизу