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

sdk Ameba rtl8710af v3.5a without NDA GCC V1.0.0

pvvx

Активный участник сообщества
sdk-ameba-rtl8710af-v3.5a_without_NDA_GCC_V1.0.0.zip 198МБ
Код:
SDK directory is as follows, please first read the document:
UM0096 Realtek Ameba-1 build environment setup - gcc.pdf
├── component 
│   ├── common
│   │   ├── api
│   │   ├── application
│   │   ├── drivers
│   │   ├── example
│   │   ├── file_system
│   │   ├── mbed
│   │   ├── network
│   │   ├── test
│   │   └── utilities
│   ├── os
│   │   ├── freertos
│   │   └── os_dep
│   └── soc
│       └── realtek
├── doc
│   ├── AN0004 Realtek low power wi-fi mp user guide.pdf
│   ├── AN0011 Realtek wlan simple configuration.pdf
│   ├── AN0012 Realtek secure socket layer(ssl).pdf
│   ├── AN0025 Realtek at command.pdf
│   ├── AN0033 Realtek Ameba-1 over the air firmware update.pdf
│   ├── AN0038 Realtek googlenest user guide.pdf
│   ├── AN0043 Realtek mdns user guide.pdf
│   ├── AN0045 Realtek Ameba-1 power modes.pdf
│   ├── AN0046 Realtek Ameba uart adapter.pdf
│   ├── AN0049 Realtek Ameba WiGadget iot demo kit application note.pdf
│   ├── AN0075 Realtek Ameba-1 at command v2.0.pdf
│   ├── UM0006 Realtek wificonf application programming interface.pdf
│   ├── UM0014 Realtek web server user guide.pdf
│   ├── UM0023 Realtek Ameba-1 build environment setup - iar.pdf
│   ├── UM0027 Realtek Ameba-1 crypto engine.pdf
│   ├── UM0034 Realtek Ameba-1 memory layout.pdf
│   ├── UM0039 Realtek Ameba-1 SDK quick start.pdf
│   └── UM0096 Realtek Ameba-1 build environment setup - gcc.pdf
├── project
│   └── realtek_ameba1_va0_example
│       ├── example_sources
│       ├── GCC-RELEASE
│       ├── inc
│       └── src
├── release_note.txt
└── tools
    ├── arm-none-eabi-gcc
    │   ├── 4.8.3-2014q1
    │   ├── 4.8.3-2014q1.tar.gz
    │   └── gcc-arm-none-eabi-4_8-2014q1-20140314-linux.tar.bz2
    ├── autopatch
    │   └── auto_patch.bat
    ├── DownloadServer
    │   ├── DownloadServer.exe
    │   ├── readme.txt
    │   └── start.bat
    ├── file_check_sum
    │   └── file_checksum.c
    ├── iperf.exe
    ├── serial_to_usb
    │   └── mbedWinSerial_16466.zip
    ├── simple_config_wizard
    │   ├── Android
    │   └── iOS
    ├── simple_config_wizard_3.4b
    │   ├── Android
    │   └── iOS
    ├── uart_adapter
    │   └── app
    └── wigadget
        ├── Android
        └── iOS
 

pvvx

Активный участник сообщества
Прикрутил к SDK другой Falsher (базис от rebane rebane — Bitbucket), начал переделывать Makefile для использования в Eclipse + чтобы не писал в директории SDK и была возможность переключений версий SDK (каталогов) + создание либ-файлов для ускорения компиляции и т.д...
Почти разобрал boot-loader (ram_1.p.bin) в startup_v345.c для возможности изменений под себя... Возможно потом скину на git...
По умолчанию, если использовать arm-none-eabi-gcc version 5.2.1 20151202 (release) [ARM/embedded-5-branch revision 231848], SDK имеет ошибку и "варнинг".
Надо в lwipoption.h добавить:
Код:
/** LWIP_TIMEVAL_PRIVATE: if you want to use the struct timeval provided
 * by your system, set this to 0 and include <sys/time.h> in cc.h */
#define LWIP_TIMEVAL_PRIVATE 0
Как исправить этот warning: ?
ld.exe: warning: section `.valid' type changed to PROGBITS
Что-то связанное с заполнением нулями bss.... кто что подскажет?
 

ToJIka4

New member
В SDK отсутствует какая-либо реализация [inline]start_interactive_mode[/inline]. Или нет? Вообще ваша сборка работает? У меня консолька работает, но вот Wifi походу нет.
 

pvvx

Активный участник сообщества
В SDK отсутствует какая-либо реализация [inline]start_interactive_mode[/inline]. Или нет?
Сборка не моя. Это из PADI IoT Stamp Resources – PINE64
Она работает.
Вопрос про [inline]start_interactive_mode[/inline] не ясен. Это про надпись в console при загрузке? :)
Вообще ваша сборка работает? У меня консолька работает, но вот Wifi походу нет.
В данной сборке AT команды работают, но не все. Меняйте конфигурацию в sdk-ameba-rtl8710af-v3.5a_without_NDA_GCC_V1.0.0\project\realtek_ameba1_va0_example\inc\platform_opts.h
Практически все команды Wifi по умолчанию там работают. Не работают команды типа ATS? и т.д. Т.е. информационные.
Отладка и прошивка c JLink/STLink в Eclipse с данным Makefile в MinGW по умолчанию глючит. Надо исправлять Makefile.
Т.к. используемое ПО у всех разное - что менять и исправлять будет разное. Для этого создал тему UDK с Eclipse для модулей RTLxxx под Windows
В ней и попытаемся всё запустить... Пишите конкретнее. Исправленный makefile у меня есть, но под мой конфиг.
application.mk.zip для mingw, запуск mingw32-make.exe [опции]
Но этот бардак я не использую - в нем ещё много надо исправить для работы с Jlink/STLink...
 

Вложения

Последнее редактирование:

ToJIka4

New member
Вопрос про [inline]start_interactive_mode[/inline] не ясен. Это про надпись в console при загрузке? :)
Нет. Мне нужен интерактивный режим. Иду в platform_opts.h и объявляю
[inline][HASHTAG]#define[/HASHTAG] SUPPORT_INTERACTIVE_MODE 1[/inline]
что объявляет ниже
[inline][HASHTAG]#define[/HASHTAG] CONFIG_INTERACTIVE_MODE 1[/inline]
Теперь идём в component\common\api\network\src\wlan_network.c и видим вызов [inline]start_interactive_mode[/inline] в [inline]init_thread[/inline]. Да вот только [inline]start_interactive_mode[/inline] нет ни в исходниках, ни в статических библиотеках. Из-за этого линковщик ругается и выкидывает. А вообще в SDK по коду есть ещё куча дыр.
 

pvvx

Активный участник сообщества
Нет. Мне нужен интерактивный режим. Иду в platform_opts.h и объявляю
[inline][HASHTAG]#define[/HASHTAG] SUPPORT_INTERACTIVE_MODE 1[/inline]
что объявляет ниже
[inline][HASHTAG]#define[/HASHTAG] CONFIG_INTERACTIVE_MODE 1[/inline]
Теперь идём в component\common\api\network\src\wlan_network.c и видим вызов [inline]start_interactive_mode[/inline] в [inline]init_thread[/inline]. Да вот только [inline]start_interactive_mode[/inline] нет ни в исходниках, ни в статических библиотеках. Из-за этого линковщик ругается и выкидывает.
Вставил [inline][HASHTAG]#define[/HASHTAG] SUPPORT_INTERACTIVE_MODE 1[/inline] в первые строчки platform_opts.h.
Собирается и линкуется - всё OK. Т.к. далее в platform_opts.h оно отключается по условиям -> стоит [inline][HASHTAG]#define[/HASHTAG] SUPPORT_INTERACTIVE_MODE 0[/inline]

А вообще в SDK по коду есть ещё куча дыр.
Можно конкретнее - какие "дыры"? Разная конфигурация - там надо смотреть, что влезет в RTL8710.
 
Последнее редактирование:

pvvx

Активный участник сообщества
И зачем вам эта ерунда SUPPORT_INTERACTIVE_MODE? Это ещё один дубль AT команд. :) А их и так уже несколько в данной сборке :mad:
Если оно необходимо, то возьмите из sdk-ameba1-v3.4b3_without_NDA wifi_interactive_mode.c, wifi_interactive_ext.h
и добавьте в component\common\api и список файлов make

Ещё про приколы c AT на данном китайском SDK описал тут
@ToJIka4 - возможно это и есть причина, почему у вас "нет" INTERACTIVE_MODE.
Так-же в *.h всё запутано и десять раз переназначается - Eclipse не может понять, что ей показывать серым (где код не активен по #if..) - такая китайская фича.
Отладчик бежит по серому коду... :D
Странслировать с опцией -Werror не удалось. Куча неисправимых варнингов, а если включить -Wextra, то выходной листинг компиляции краситься в неприятные цвета... :rolleyes:
Но итого - работает, правда в два порта UART как попадя - в SDK несколько printf (и для каждой сторонней либы куча их переназначений и дублей кода printf-оф.. ) и все перемешаны на разный вывод в разные порты... :)
 
Последнее редактирование:

ToJIka4

New member
Но итого - работает, правда в два порта UART как попадя - в SDK несколько printf (и для каждой сторонней либы куча их переназначений и дублей кода printf-оф.. ) и все перемешаны на разный вывод в разные порты... :)
Вооот! Дебажил и понял. Просто в component\common\api\at_cmd\atcmd_wifi.h надо переобъявить
[inline][HASHTAG]#define[/HASHTAG] at_printf(fmt, args...) do{printf(fmt, ##args);}while(0)[/inline]
 

pvvx

Активный участник сообщества
Вооот! Дебажил и понял. Просто в component\common\api\at_cmd\atcmd_wifi.h надо переобъявить
[inline][HASHTAG]#define[/HASHTAG] at_printf(fmt, args...) do{printf(fmt, ##args);}while(0)[/inline]
А ввод AT команд? Он тоже идет с разных портов и по разным путям :)
И на while(0) - варнинг :p Новые GCC говорят, что так описывать не стоит...
Переназначением printf проблему не поправить. Зачем в системе две UART concole с AT? Надо править установки в хидерах автоконфигов. Допустим один порт UART для debug и т.д, а второй для AT, чтобы в AT поток не лезло всякое... А так можно ещё третий UART включить и туда тоже часть AT распределить - сделать побуквенный interlive на 3 UART :) :)
AT v2.2
http://www.amebaiot.com/wp-content/uploads/2016/06/AN0075-Realtek-Ameba-1-at-command-v2.2.pdf
AT22.gif
 
Последнее редактирование:
Сверху Снизу