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

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

Тема в разделе "Realtek - SDK, прошивки и утилиты", создана пользователем findeler, 31 янв 2017.

  1. KomX

    KomX Читатель

    Сообщения:
    61
    Симпатии:
    5
    Стесняюсь спросить...
    Может это многообещающее сообщение откроет новый топик?
    Какой именно файл подвергся "расчленению" и как его получить для "кормления IDA"?
     
  2. pvvx

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

    Сообщения:
    8.762
    Симпатии:
    1.284
    Я уже вчера по данной теме нашел время - там всё неправильно. Оказалось, что вся организация сборки системы на SDK к GCC неправильная. :)
    Процедуры из ROM-BIOS используют RAM (у них свои сегменты text, rodata, bss, ...) и изменить их нет возможности. А они неправильно размаплены в *.ld для GCC без NDA.
    Надо отдельную тему - Распределение карты адресации CPU в RTL-ах, но времени на то нет. Что-то одно - или собирать правильный вариант, или описывать текущие беды и что есть "телепузикам".
    Примерно вот с таким rtl871xAx-symbol-v01-rom.ld удается собрать rom.a для boot, т.к. в области загружаемого boot находятся данные от ROM-BIOS и они используются.
    Код (Text):
    1. ENTRY(Reset_Handler)
    2.  
    3. MEMORY
    4. {
    5.   ROM  (rx)         : ORIGIN = 0x00000000, LENGTH = 1M
    6.   SRAM (rwx)         : ORIGIN = 0x10000000, LENGTH = 448K
    7.   TCM  (rwx)        : ORIGIN = 0x1FFF0000, LENGTH = 65K
    8.   SDRAM_RAM (rwx)    : ORIGIN = 0x30000000, LENGTH = 2M
    9. }
    10.  
    11. SECTIONS
    12. {
    13.   .rom :
    14.   {
    15.     __rom_image_start__ = .;
    16.     KEEP(*(.rom));
    17.     __rom_image_end__ = .;
    18.  
    19.   } > ROM
    20.  
    21.   .rom.global.variable :
    22.   {
    23.     __ram_image_start__ = .;
    24.     KEEP(*(.ram_dedecated_vector_table));     /* 0x10000000: NewVectorTable */
    25.     KEEP(*(.ram_user_define_irq_table));     /* 0x10000100: UserIrqFunTable */
    26.     KEEP(*(.ram_user_define_data_table));     /* 0x10000200: UserIrqDataTable */
    27. /*     __rom_bss_start__ = .; */
    28.     KEEP(*(.hal.ram.bss));                     /* 0x10000300: CfgSysDebugWarn .. _pHAL_Gpio_Adapter */
    29.     KEEP(*(.timer2_7_vector_table.data));    /* 0x10000358: Timer2To7VectorTable */
    30.     KEEP(*(.infra.ram.bss));                 /* 0x10000370: first .. z4 */
    31.     KEEP(*(.mon.ram.bss));                    /* 0x10000384: pUartLogCtl .. ArgvArray,  __rom_bss_end__ */
    32.     KEEP(*(.wlan_ram_map));                 /* 0x100006e0: FalseAlmCnt, ROMInfo, DM_CfoTrack */
    33.     KEEP(*(.libc.ram.bss));                 /* 0x10000760: rom_libgloss_ram_map __rtl_malloc_av_ __rtl_errno */
    34. /*    __rom_bss_end__ = .;    */
    35. /*    __ram_start_table_start__ = .;    */      /* 0x10000bc8: bootloader */
    36.     KEEP(*(SORT(.start.ram.data*)))
    37. /*    __ram_start_table_end__ = .; */
    38. /*    __image1_validate_code__ = .;    */        /* 0x10000bdc: sign */
    39.     KEEP(*(.data));          
    40.     KEEP(*(.hal.ram.data));                 /* 0x10001c60: _reent *rtl_impure_ptr .. impure_data */
    41.     KEEP(*(.text*));
    42.     KEEP(*(.text));
    43.     __ram_image_end__ = .;
    44.   } > SRAM
    45. }
    46.  
    47. SECTIONS
    48. {
    49.     __rom_bss_start__ = 0x10000300;         /* use in rom */
    50.     __rom_bss_end__ = 0x10000bc8;            /* use in rom */
    51.     __ram_start_table_start__ = 0x10000bc8;    /* use in rom */
    52.     __image1_validate_code__ = 0x10000bdc;    /* needed by ram code */
    53.     _rtl_impure_ptr = 0x10001c60;    /* for standard library */
    54. }
    55.  
    Требуется интеграция этих данных в тело boot.
    Но есть проблемы - GCC собирает некоторые сегменты в своей сортировке и адресация на данные нарушается (возникают отличия от варианта трансляции при изготовлении маски ROM к чипу внутри мелких сегментов, а общая структура не страдает)
    Берем к примеру IAR:
    Область переменных для ROM-BIOS в RAM по map (какого-то проекта) выходит такая:
    Код (Text):
    1.  
    2. 10000000 D .vector_table$$Base
    3. 10000000 D NewVectorTable
    4. 10000000 d .LANCHOR2
    5. 10000100 D .user_vector_table$$Base
    6. 10000100 D .vector_table$$Limit
    7. 10000100 D UserIrqFunTable
    8. 10000100 d .LANCHOR0
    9. 10000200 D .user_data_table$$Base
    10. 10000200 D .user_vector_table$$Limit
    11. 10000200 D UserIrqDataTable
    12. 10000200 d .LANCHOR1
    13. 10000300 A __rom_bss_start__
    14. 10000300 D .rom.bss$$Base
    15. 10000300 D .user_data_table$$Limit
    16. 10000300 D CfgSysDebugWarn
    17. 10000304 D CfgSysDebugInfo
    18. 10000308 D CfgSysDebugErr
    19. 1000030c D ConfigDebugWarn
    20. 10000310 D ConfigDebugInfo
    21. 10000314 D ConfigDebugErr
    22. 10000318 D HalTimerOp
    23. 10000318 d .LANCHOR1
    24. 10000334 D GPIOState
    25. 10000334 d .LANCHOR0
    26. 1000034c D gTimerRecord
    27. 1000034c d .LANCHOR1
    28. 10000350 D SSI_DBG_CONFIG
    29. 10000350 d .LANCHOR0
    30. 10000354 D _pHAL_Gpio_Adapter
    31. 10000354 d .LANCHOR1
    32. 10000358 D Timer2To7VectorTable
    33. 10000358 d .LANCHOR0
    34. 10000370 d .LANCHOR0
    35. 10000370 d first
    36. 10000374 d z1
    37. 10000378 d z2
    38. 1000037c d z3
    39. 10000380 d z4
    40. 10000384 D UartLogCtl
    41. 100003ac D UartLogBuf
    42. 1000042c D UartLogHistoryBuf
    43. 100006a8 D pUartLogCtl
    44. 100006ac D ArgvArray
    45. 100006d4 D rom_wlan_ram_map
    46. 100006e0 D FalseAlmCnt
    47. 100006e0 d .LANCHOR0
    48. 10000720 D ROMInfo
    49. 10000738 D DM_CfoTrack
    50. 10000760 D rom_libgloss_ram_map
    51. 10000760 d .LANCHOR0
    52. 10000780 d .LANCHOR0
    53. 10000780 d __rtl_malloc_av_
    54. 10000b88 d __rtl_malloc_trim_threshold
    55. 10000b8c d __rtl_malloc_top_pad
    56. 10000b90 d __rtl_malloc_sbrk_base
    57. 10000b94 d __rtl_malloc_max_sbrked_mem
    58. 10000b98 d __rtl_malloc_max_total_mem
    59. 10000b9c d __rtl_malloc_current_mallinfo
    60. 10000bc4 D __rtl_errno
    61. 10000bc4 d .LANCHOR0
    62. 10000bc8 A __ram_start_table_start__
    63. 10000bc8 A __rom_bss_end__
    64. 10000bc8 D .rom.bss$$Limit
    65. 10000bc8 D IMAGE1$$Base
    66. 10000bc8 D bootloader
    67. 10000bdc A __image1_validate_code__
    68. 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-овски на них уже который год...
     
    Последнее редактирование: 8 фев 2017
  3. pvvx

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

    Сообщения:
    8.762
    Симпатии:
    1.284
    rom.a использует импорт:
    Код (Text):
    1. ; Segment type: Externs
    2.                 IMPORT UartLogCtl       ; DATA XREF: RtlConsolInit+24o
    3.                                         ; RtlConsolInit+34o ...
    4. ; int (__fastcall *_ram_start_table_start__)(_DWORD)
    5.                 IMPORT __ram_start_table_start__
    6.                                         ; DATA XREF: HalResetVsr+5Ao
    7.                                         ; HalResetVsr+60o ...
    8.                 IMPORT UartLogHistoryBuf ; DATA XREF: RtlConsolInit+28o
    9.                                         ; RtlConsolInit+38o
    10.                 IMPORT __image1_validate_code__
    11.                                         ; DATA XREF: HalResetVsr:loc_72Eo
    12.                                         ; HalResetVsr+372r
    13.                 IMPORT pUartLogCtl      ; DATA XREF: UartLogIrqHandle+2Co
    14.                                         ; UartLogIrqHandle+34r ...
    15.                 IMPORT UartLogBuf       ; DATA XREF: RtlConsolInit+2o
    16.                                         ; RtlConsolInit+12w
    17.                 IMPORT rom_wlan_ram_map ; DATA XREF: mp_init+2o
    18.                                         ; mp_init+Cr ...
    19.                 IMPORT __rom_bss_start__ ; DATA XREF: HalResetVsro
    20.                                         ; HalResetVsr+8o
    21.                 IMPORT ArgvArray        ; DATA XREF: GetArgvo
    22.                                         ; GetArgv+10o ...
    23.                 IMPORT __rom_bss_end__  ; DATA XREF: HalResetVsr+4o
    24.                                         ; HalResetVsr+Co
    25.  
    Это берется из исходника примерно такого: 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: думаю, то описанное и вытекающие последствия от этого никто тут не понял и не вижу смысла в продолжении данного "банкета". Если что-то понятно - пишите. :)
     
    Последнее редактирование: 8 фев 2017
  4. pvvx

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

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

    Creep Читатель

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

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

    Сообщения:
    8.762
    Симпатии:
    1.284
    Те, кто освоил уровень ембедед, имеют другой диалог. Их посылом не запугать, а после многочисленных ковыряний в д..ме "телепузиков" вообще ничем не удивить :)
     
  7. Creep

    Creep Читатель

    Сообщения:
    57
    Симпатии:
    5
  8. pvvx

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

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

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

    artko Новичок

    Сообщения:
    6
    Симпатии:
    0
    Подскажите, плиз, как все-таки эту чертову отладку запустить :)
    Не запускается, ругается на

    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
     
  10. sharikov

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

    Сообщения:
    580
    Симпатии:
    52
    У меня в инициализации так:
    Код (Text):
    1. ...
    2. monitor rtl8195a.cpu cortex_m reset_config sysresetreq (это чтобы ресет не подключать)
    3. monitor halt
    4. monitor reset halt
    5. monitor adapter_khz 12000
    6. monitor load_image build/bin/ram_1.r.bin 0x10000bc8 bin
    7. monitor load_image build/bin/ram_2.bin 0x10006000 bin
    8. monitor mww 0x40000210 0x20200113
     
  11. pvvx

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

    Сообщения:
    8.762
    Симпатии:
    1.284
    Полного описания бит в регистре 0x40000210 нет. Есть только разрозненные - в исходниках (и в моих записях). Т.е. не доступны пользователям.
    Часть бит заведена на включение внутренних устройств, а другие биты используются как программные флаги включенных внутренних устройств и используются для указания загрузчику типов загрузок, а так-же используются в процедурах инициализации уже SDK. Например один из незадействованных аппаратно битов, в данном регистре, указывает проинициализирована или нет SDRAM.
    Очень странное значение...
    Код (Text):
    1. //2 REG_SOC_FUNC_EN
    2. // BIT(21) SDRAM
    3. #define BIT_SOC_SECURITY_ENGINE_EN BIT(20)
    4. #define BIT_SOC_GTIMER_EN BIT(16)
    5. #define BIT_SOC_GDMA1_EN BIT(14)
    6. #define BIT_SOC_GDMA0_EN BIT(13)
    7. #define BIT_SOC_LOG_UART_EN BIT(12)
    8. #define BIT_SOC_CPU_EN BIT(8)
    9. #define BIT_SOC_MEM_CTRL_EN BIT(6)
    10. #define BIT_SOC_FLASH_EN BIT(4)
    11. #define BIT_SOC_LXBUS_EN BIT(2)
    12. #define BIT_SOC_OCP_EN BIT(1)
    13. #define BIT_SOC_FUN_EN BIT(0)
    + RTL8710AF - загрузчик в ROM-BIOS
    Не стоит писать туда все биты - надо использовать операцию OR или AND с текущим значением, но в скрипте это описывается не одной командой. Т.е. из-за лени и дикого упрощения получаем "бардачек" :)
     
    Последнее редактирование: 23 май 2017
  12. Марков Алексей

    Марков Алексей Новичок

    Сообщения:
    10
    Симпатии:
    0
    Пытался собрать (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

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

    С чем это может быть связано?
     
  13. pvvx

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

    Сообщения:
    8.762
    Симпатии:
    1.284
    Что-то не так. Связано с boot...
     
  14. Марков Алексей

    Марков Алексей Новичок

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

     
  15. pvvx

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

    Сообщения:
    8.762
    Симпатии:
    1.284
    В моей сборке уже свой boot, с исходниками.
    Разметка в Flash практически идентична.
    С boot много проблем, т.к. он грузится прямо в область переменных процедур ROM. От этого сложный скрипт .ld линкеру... и ответить-догадаться, почему у вас такая ошибка сложно.
    С boot от Ameba много проблем и нестыковок с разными версиями SDK, Arduino и т.д. Большей частью связано с инициализацией SPIC и другими мелкими неувязками с переменными ROM и ошибками в выборе какую версию записи грузить... По этому сделан свой boot, который совместим со всеми вариантами и правильно инициализирует SPIC для RTL8710AF.
    Не знаю что там у вас, т.к. только что скачал zip c GitHub - pvvx/RTL00MP3: RTL00(RTL8710AF) Test MP3, развернул, в командной строке написал mingw32-make.exe >log.txt
    получил log.txt.
     

    Вложения:

    • log.txt
      Размер файла:
      11,9 КБ
      Просмотров:
      10
    Последнее редактирование: 29 май 2017
  16. Марков Алексей

    Марков Алексей Новичок

    Сообщения:
    10
    Симпатии:
    0
    Ошибка странная, с учетом того, что ни исходники, не мейк, ни скрипты линкера я не модифицировал.
    Собрал RTL00_AT - аналогичная ситуация.
     
  17. Vzzzzz

    Vzzzzz Новичок

    Сообщения:
    2
    Симпатии:
    0

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

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

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

    Сообщения:
    8.762
    Симпатии:
    1.284
    Да вроде всё нормально там:
    Код (Text):
    1. >git clone git@github.com:pvvx/RTL00MP3.git
    2. Cloning into 'RTL00MP3'...
    3. remote: Counting objects: 4902, done.
    4. remote: Compressing objects: 100% (35/35), done.
    5. remote: Total 4902 (delta 6), reused 16 (delta 5), pack-reused 4860
    6. Receiving objects: 100% (4902/4902), 46.95 MiB | 1.51 MiB/s, done.
    7. Resolving deltas: 100% (2141/2141), done.
    8. >mingw32-make.exe -s
    9. ===========================================================
    10. Compile (build)
    11. project/src/user/main.c
    12. project/src/user/wifi_console.c
    13. project/src/user/atcmd_user.c
    14. ....
    15. ....
    16. RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/ram_lib/rtl_boot.c
    17. ===========================================================
    18. Link (build)
    19. ===========================================================
    20. Build names map file
    21. build/obj/build.nmap
    22. ===========================================================
    23. Create image1r (build/bin/ram_1.r.bin)
    24. b:268438472 s:268438472 e:268446688
    25. size 8216
    26. append fw head b000
    27. copy size 8216
    28. ===========================================================
    29. Create image2ns (build/bin/ram_2.ns.bin)
    30. b:268460032 s:268460032 e:268760156
    31. size 300124
    32. copy size 300124
    33. ===========================================================
    34. Create image3 (SDRAM, build/bin/sdram.p.bin)
    35. 30000000 30000000
    36. b:805306368 s:805306368 e:805306368
    37. size 0
    38. copy size 0
    39. ===========================================================
    40. Make OTA image (build/bin/ota.bin)
    41. size = 300156
    42. checksum 1db0022
    43. ===========================================================
    44. Create image2p (build/bin/ram_2.p.bin)
    45. b:268460032 s:268460032 e:268760156
    46. size 300124
    47. copy size 300124
    48. ===========================================================
    49. Make Flash image (build/bin/ram_all.bin)
    50. total 44 k, padding data 0, name build/bin/ram_all.bin
    51. Original size zd
    52. Padding  size zd
    53. -----------------------------------------------------------
    54. Image (build/bin/ota.bin) size 300160 bytes
    55. Image (build/bin/ram_all.bin) size 345212 bytes
    56. ===========================================================
    Оно и на моем SDK4.0.0 в RTL00_WEB/USDK теперь собирается.
    Надо всего:
    1) git clone git@github.com: pvvx/RTL00_WEB.git
    2) изменить SDK_PATH = ../RTL00_WEB/USDK/ в userset.mk
    и mingw32-make.exe -s ...
     
    Последнее редактирование: 26 июн 2017
  19. Vzzzzz

    Vzzzzz Новичок

    Сообщения:
    2
    Симпатии:
    0

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

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

    Сообщения:
    8.762
    Симпатии:
    1.284
    Пока не переехало всё на SDK 4.0. Я только частично переработал под свои нужды его, в основном под проект Web-свалки. Да и он ещё не доработан - там даже примитивного описания (md файла) на git нет...
     

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