• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 нет...
 
Сверху Снизу