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
 
Последнее редактирование:
Сверху Снизу