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

RDA5981

Тема в разделе "Другие WiFi модули и оборудование", создана пользователем pvvx, 17 ноя 2017.

Метки:
  1. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    RDA5981.gif
    ~ 90 руб на tao-bao.
    Доки с NDA: RDA5981/RDA5995 资料汇总 - Wi-Fi - 锐迪科技术社区 - Powered by RDA SpreadLink

    Wi-Fi Features:
    • CMOS single chip fully-integrated
    • radio/PHY/MAC
    • Internal PA, LNA
    • 2.4GHz IEEE 802.11b/g/n
    • 20/40MHz bandwidth
    • Support WEP/WPA/WPA2
    • Support WPS/WMM/A-MPDU
    • Dynamic TX power saving
    MCU Features:
    • ARM cotex-M4F, @160MHz
    • Up to 288K-Byte internal SRAM for user
    • Up to 32M-bit internal Flash
    • 160K-Byte SRAM for Wi-Fi stack, Flash cache
    • UART/USB/SDMMC/SPI/I2C/I2S/ADC/PWM
    • Watchdog and low power timer
    • Support Timer/GPIO wakeup
    • Hardware crypto accelerator AES RSA
    • CRC accelerator and TRNG

    https://esp8266.ru/forum/attachments/mbed-wifi-target-uno-91h-zhongpyao-song-rda-pdf.5032/
    или mbed Wifi Target:UNO 91H(宋忠耀,RDA高级工程师)

    Практически аналог RTL8711BU...
    Чип RDA5981 объявлен в разработке с 2016 года, начальный этап проработок завершен.
    RDA5981_.gif RDA5981_2.jpg

    RDA5981_Dev.jpg
    Отладочная плата ~ 230 руб.

    Полный набор RDA wifi开发板 UNO-91H RDA5856+RDA5981C 物联网开发板-淘宝网
    UNO_91H_V1.0.pdf
     
    Последнее редактирование: 17 ноя 2017
    Andy Korg нравится это.
  2. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    Пошли мелкие движения...
    Чип уже типа продается RDA5981X1 WIFI Module, RDA5981A - ElectroDragon
    Появились более менее даташиты. RDA5981 (RDA5x) · GitHub
    Памяти совсем у чипа нет и вся порвана на куски:
    Снимок73.gif
    Предел, что ему грозит - конкуренция с ESP8266 :) На большее это не потянет.
    RTL серии "B" вышли получше, а разница в цене незначительна.
    Для такого класса чипов WiFi-SoC особое применение видно только в автономных устройствах, где критично питание. А в даташите на данные чипы заявлено к 1 мА deep-sleep. По другим архитектурным особенностям видно, что чип совсем не подходит для основной своей сферы применения. По этому его и позиционируют в рекламах как какой-то звуковой проигрыватель по типу MP3, где питания дофига...
     
    Последнее редактирование: 13 янв 2018
  3. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    MBED (RDA5981 SDK MbedOS V1.3.5) на RDA в принципе готов.
    Проверка сборки примеров показывает примерно такие данные по использованию памяти
    Пример timer:
    Код (Text):
    1. +-----------+-------+-------+--------+
    2. | Module    | .text | .data |   .bss |
    3. +-----------+-------+-------+--------+
    4. | Misc      | 30763 |   247 | 294656 |
    5. | Subtotals | 30763 |   247 | 294656 |
    6. +-----------+-------+-------+--------+
    7. Allocated Heap: unknown
    8. Allocated Stack: unknown
    9. Total Static RAM memory (data + bss): 294903 bytes
    10. Total RAM memory (data + bss + heap + stack): 294903 bytes
    11. Total Flash memory (text + data + misc): 31010 bytes
    С включенным WiFi - пример sniffer:
    Код (Text):
    1. +-----------+-------+-------+--------+
    2. | Module    | .text | .data |   .bss |
    3. +-----------+-------+-------+--------+
    4. | Misc      | 30763 |   247 | 294656 |
    5. | Subtotals | 30763 |   247 | 294656 |
    6. +-----------+-------+-------+--------+
    7. Allocated Heap: unknown
    8. Allocated Stack: unknown
    9. Total Static RAM memory (data + bss): 294903 bytes
    10. Total RAM memory (data + bss + heap + stack): 294903 bytes
    11. Total Flash memory (text + data + misc): 31010 bytes
    Выходной Image 291 460 байт.

    Утилиты для записи Flash:
    https://developer.dueros.baidu.com/doc/lite/download/RDA5981_Flash_Test_Tool_0224.rar
    https://developer.dueros.baidu.com/doc/lite/download/MergeTool_V01.00.01_20170407.rar
     
    Последнее редактирование: 23 янв 2018
  4. A_D

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

    Сообщения:
    362
    Симпатии:
    56
  5. inotrom

    inotrom Новичок

    Сообщения:
    10
    Симпатии:
    0
    Ну вот опять..смешались в кучу кони люди....
    Код (Text):
    1. libwifi_sta_ap.a objdump -p
    2. ....
    3. wlan_rx_data_sta.o:     file format elf32-little
    4. wlan_rx_mgmt_sta.o:     file format elf32-little
    5. dma.o:     file format elf32-little
    6. sdio_host_if.o:     file format elf32-little
    7. sdio_host_if_isr.o:     file format elf32-little
    8. usb_dscr.o:     file format elf32-little
    9. usb_host_if.o:     file format elf32-little
    10. usb_hw.o:     file format elf32-little
    11. usbd_core.o:     file format elf32-little
    12. virtual_host_if.o:     file format elf32-little
    13. ....
    14.  
    Зачем в библиотеку работы с wifi тулить объектники с usb и другим, более того - эта вся парафия предоставляется arm документацией.
    Взяли чистый C-код пообвязывали С++, наплодили сущностей и довольны.
    Если выкроить "универсализм", можно знатно сэкономить место Flash, глядишь и внешняя не пригодится.
    Код (Text):
    1. if(actual_txlen == p->tot_len)
    2.     {
    3.         if(netif->name[0] == 's' && netif->name[1] == 't')
    4.             wland_txip_data((void*)data, actual_txlen, 0);
    5.         else if(netif->name[0] == 'a' && netif->name[1] == 'p')
    6.             wland_txip_data((void*)data, actual_txlen, 1);
    Типа такого там вся библиотека обмазана.
    Кстати, неужто RTOS так действительно необходима, для wifi и ip/tcp стека? Реально ли совсем без нее? И что там с поддержкой, swd выводов не увидел.
     
  6. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    Предложите свою ОС для MBED проекта "мигания светодиодом"? Arduino? :)
    Зачем пользователю закрытых либ SWD?

    Странные какие-то вопросы по игре в MBED...
     
  7. inotrom

    inotrom Новичок

    Сообщения:
    10
    Симпатии:
    0
    Не совсем понял, причем тут embed мигание светодиода и работа lwip без os, ровно как и "закрытые либы" к SWD, и закрытого там только библиотека, которую я указал в листинге, никто не мешает (с точки зрения ядра ARM) использовать только CMSIS, и это собственно то к чему я веду. В плане вопросов, не вижу странностей, ибо есть железка а есть программа - у них мало чего общего.
    ЗЫ. Судя по линкеру, памяти в чипе поболее, чем пишут.
    RDA5981A
    Код (Text):
    1. MEMORY
    2. {
    3.     /* If ICache is enable, use virtual flash base address */
    4.     /* Use partition index: 0 */
    5.     FLASH (rx)      : ORIGIN = 0x18001000, LENGTH = 500K
    6.     /* Use partition index: 1 */
    7.     /* FLASH (rx)      : ORIGIN = 0x1807E000, LENGTH = 500K */
    8.  
    9.     /* If ICache is disable, use real flash base address. Depends on macro: RDA_ICACHE_DISABLE */
    10.     /* Use partition index: 0 */
    11.     /* FLASH (rx)      : ORIGIN = 0x14001000, LENGTH = 500K */
    12.     /* Use partition index: 1 */
    13.     /* FLASH (rx)      : ORIGIN = 0x1407E000, LENGTH = 500K */
    14.  
    15.     IRAM (rwx)      : ORIGIN = 0x00100080, LENGTH = (128K - 0x80)
    16.     DRAM (rwx)      : ORIGIN = 0x00180000, LENGTH = 64K
    17.     MACLIB_RAM(rwx) : ORIGIN = 0x40100000, LENGTH = 99K
    18.     AES_RAM(rwx)    : ORIGIN = 0x40118C00, LENGTH = 1K
    19.     WLAN_RAM(rwx)   : ORIGIN = 0x40119000, LENGTH = 28K
    20. }
    RDA5981AM
    Код (Text):
    1. MEMORY
    2. {
    3.     /* If ICache is enable, use virtual flash base address */
    4.     /* Use partition index: 0 */
    5.     FLASH (rx)      : ORIGIN = 0x18001000, LENGTH = 500K
    6.     /* Use partition index: 1 */
    7.     /* FLASH (rx)      : ORIGIN = 0x1807E000, LENGTH = 500K */
    8.  
    9.     /* If ICache is disable, use real flash base address. Depends on macro: RDA_ICACHE_DISABLE */
    10.     /* Use partition index: 0 */
    11.     /* FLASH (rx)      : ORIGIN = 0x14001000, LENGTH = 500K */
    12.     /* Use partition index: 1 */
    13.     /* FLASH (rx)      : ORIGIN = 0x1407E000, LENGTH = 500K */
    14.  
    15.     IRAM (rwx)      : ORIGIN = 0x00100080, LENGTH = (128K - 0x80)
    16.     DRAM (rwx)      : ORIGIN = 0x00180000, LENGTH = 96K
    17.     MACLIB_RAM(rwx) : ORIGIN = 0x40100000, LENGTH = 99K
    18.     AES_RAM(rwx)    : ORIGIN = 0x40118C00, LENGTH = 1K
    19.     WLAN_RAM(rwx)   : ORIGIN = 0x40119000, LENGTH = 28K
    20. }
    RDA5981C
    Код (Text):
    1. MEMORY
    2. {
    3.     /* If ICache is enable, use virtual flash base address */
    4.     /* Use partition index: 0 */
    5.     FLASH (rx)      : ORIGIN = 0x18001000, LENGTH = 2000K
    6.     /* Use partition index: 1 */
    7.     /* FLASH (rx)      : ORIGIN = 0x181F5000, LENGTH = 2000K */
    8.  
    9.     /* If ICache is disable, use real flash base address. Depends on macro: RDA_ICACHE_DISABLE */
    10.     /* Use partition index: 0 */
    11.     /* FLASH (rx)      : ORIGIN = 0x14001000, LENGTH = 2000K */
    12.     /* Use partition index: 1 */
    13.     /* FLASH (rx)      : ORIGIN = 0x141F5000, LENGTH = 2000K */
    14.  
    15.     IRAM (rwx)      : ORIGIN = 0x00100080, LENGTH = (128K - 0x80)
    16.     DRAM (rwx)      : ORIGIN = 0x00180000, LENGTH = 160K
    17.     MACLIB_RAM(rwx) : ORIGIN = 0x40100000, LENGTH = 99K
    18.     AES_RAM(rwx)    : ORIGIN = 0x40118C00, LENGTH = 1K
    19.     WLAN_RAM(rwx)   : ORIGIN = 0x40119000, LENGTH = 28K
    20. }
     
    Последнее редактирование: 8 фев 2018
  8. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    MBED - это операционная система для которой написаны данные либы.
    MBED, как среда разработки и система не сильно отличается от Arduino и рассчитана на быстрое освоение пользователем "миганием светодиода". На более сложные проекты расчет не ведется. Для набора стандартных решений в данной среде и для совместимости к ней и собрана либа.
    При закрытом коде смысл отладки отпадает. Залить код в чип проще через UART.
     
  9. A_D

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

    Сообщения:
    362
    Симпатии:
    56
    Где купить:
    SDK:
     
  10. kissste

    kissste Читатель

    Сообщения:
    51
    Симпатии:
    16
    Support in zephyr - Arm: Add soc support for rda5981a by liliu-l · Pull Request #133 · zephyrproject-rtos/zephyr

    96Boards -
    New 96Boards IoT Edition Boards Showcased at Linaro Connect 2017: BlueSky IE and WRTNode IE
    The first board is BlueSky IE board with the following key specifications:

    • SoC – RDA Micro RDA5981A ARM Cortex-M4 Wireless MCU with 64KB ROM, and 32KB cache
    • System Memory – 485KB SRAM. It’s unclear if that’s only the on-chip SRAM, and there’s also some external PSRAM added.
    • Storage – 8Mb NOR flash 802.11 b / g / n HT20 / 40 mode
    • Connectivity – 802.11 b/g/n WiFi with support for HT20 / 40 modes
    • Crypto security hardware
     
  11. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    Кто уже пробовал или сделал что на USB у RDA5981?
    Или так ничего и нет по USB?
     
  12. kissste

    kissste Читатель

    Сообщения:
    51
    Симпатии:
    16
    IMG_20180316_173505.jpg
    I have received some RDA5981A at baud rate 921600 8,N,1 it does this:

    RDA Wlan Boot ROM for RDA5991H v1.0
    Build Time: 07:20:54 - Jan 24 2017
    RDA Microelectronics Copyright(C) 2004-2017

    Enter Mcu Mode
    count_left=5
    count_left=4
    count_left=3
    count_left=2
    count_left=1
    Ready to boot...
    Partition addr:4010901c
    Find newest partition index:0, total:1, buf_addr:0x00100000, size:0x00000138
    Partition[0] info
    flag:00000001, version:rda5991h
    p_address:00001000, r_address:00001000, psize_in_bytes:0x0007b000, dsize_in_bytes:503808
    ## START_FLASH_BOOT, pc is 0x18001091 ...

    AT INIT OK!
     
    Последнее редактирование: 24 мар 2018
  13. kissste

    kissste Читатель

    Сообщения:
    51
    Симпатии:
    16
    USB: It is something that I would like to explore too. Have seen:
    1/ a pdf in Chinese and bin file to upload to the soc.
    2/ on the internet that to do USB requires a licensed library/compiler (or take a look what that bin file above does)

    Another thing, Debugging: remote debugging is something
     
  14. kissste

    kissste Читатель

    Сообщения:
    51
    Симпатии:
    16
    I have taken a look at Dump Tool.

    It enters into Mcu Mode by sending \r at the boot time and then once it gets 'Boot >'

    and then a whole new set of commands become available.

    'help' does not work.

    Boot >help
    Unknown command 'help' - try 'help'

    This is used for dumping data
    Boot >md
    Usage:
    md [.b, .w, .l] address [# of objects]
    - Memory Display

    Boot >md 0 100
    0000-0000: 40110800 0000B0B1 000013C7 0000B0FD ...@▒▒..▒...▒..
    0000-0010: 0000B10F 0000B121 0000B133 0000B145 .▒..!▒..3▒..E▒..
    0000-0020: 0000B145 0000B145 0000B145 0000B157 E▒..E▒..E▒..W▒..
    0000-0030: 0000B169 0000B145 0000B17B 0000183B i▒..E▒..{▒..;...
    0000-0040: 0000B18F 0000B18F 00005B97 00006331 .▒...▒...[..1c..
    0000-0050: 00006DFD 0000B18F 00002565 00001B03 ▒m...▒..e%......
    0000-0060: 0000B18F 0000B18F 0000B18F 0000B18F .▒...▒...▒...▒..
    0000-0070: 0000B18F 0000B18F 0000B18F 0000B18F .▒...▒...▒...▒..
    0000-0080: 8009F3EF F3804770 47708809 8008F3EF ▒▒..pG.▒..pG▒▒..
    0000-0090: F3804770 47708808 4770BA40 4770BAC0 pG.▒..pG@▒pG▒pG
    0000-00A0: 8F2FF3BF 8011F3EF F3804770 47708811 ▒▒/.▒▒..pG.▒..pG
    0000-00B0: 8010F3EF F3804770 47708810 8013F3EF ▒▒..pG.▒..pG▒▒..
    0000-00C0: F3804770 47708813 8014F3EF F3804770 pG.▒..pG▒▒..pG.▒
    0000-00D0: 47708814 88004881 0000F3C0 487F4770 ..pG.H..▒▒..pG.H
    0000-00E0: F3C08800 47700040 8800487C 0080F3C0 ..▒▒@.pG|H..▒▒..
    0000-00F0: 487A4770 F3C08800 477000C0 88004877 pGzH..▒▒▒.pGwH..

    I have not checked, but I think loadx/loady - xmodem/ymodem is used to send the data and then flash to write them to the flash

    Boot >flash
    Usage:
    flash
    - flash - update flash 4KB partition info
    1:param load
    2:data load
    3:write flash
    4:index select
    5:set param - flag size newest_index p_num buf_addr
    6:set partition - flag version p_addr r_addr p_size d_size
    7:flash erase - addr sizCommand handler do not well, ret = -1


    Boot >dbga
    Debug Area(0x3B):
    HOST SDIO MSG TMR IRQ

    Boot >uploadb
    Usage:
    uploadb addr len - upload binary data over console from 'addr' with 'len'
    - Upload binary data over console

    Boot >loadb
    Usage:
    loadb addr len - load binary data over console from 'addr' with 'len'
    - Load binary data over console

    Boot >sd
    Usage:
    sd addr [value]
    - Get/Set SD register

    Boot >trace
    Trace : Enable
    Show DBGL: Enable
    Show Time: Enable
    Show DBGA: Enable

    Boot >dbgl
    Debug Level(2): Warn

    Boot >stackchk
    Stack checking...
    P stack total size: 2048Byte, usage: 0Byte == %0
    M stack total size: 14336Byte, usage: 664Byte == %4

    Boot >mm
    Usage:
    mm [.b, .w, .l] dest_addr src_addr length
    - Memory Move

    Boot >checksum
    Usage:
    checksum type addr len - CRC 1, SHA1 2, MD5 3 CRC_DMA 4
    - Calculate Checksum from 'addr' with 'len'

    Boot >flashinfo
    Partition addr:40100800
    Find newest partition index:0, total:1, buf_addr:0x00100000, size:0x00000138
    Partition[0] info
    flag:00000001, version:rda5991h
    p_address:00001000, r_address:00001000, psize_in_bytes:0x0007b000, dsize_in_bytes:503808

    Boot >go
    Usage:
    go type addr - Auto 1, Custom 2
    - start application at 'addr' with different type

    Boot >usbstat
    State: Default, Speed: ???, Addr: 0, Remote Wakeup: Disable
    Boot >hoststat
    Host curr interface: , buffer base: 0x40101000, size: 2048, num: 16
    interface: un-ready, used buff: 0

    Boot >decrypt
    Usage:
    decrypt type addr len - RC4 1, AES 2
    - Decrypt from 'addr' with 'len'

    Boot >flashtest
    enter spi_flash_init
    writedata == 12ab34cd
    writedata == a30c6cee
    writedata == 72b1df11
    writedata == 8b467885
    writedata == fc715f61
    writedata == 7d8e0fc0
    writedata == e552e7cf
    writedata == aa02579f
    writedata == dfddf53f
    writedata == ee650189
    140fe000 == 12ab34cd
    140fe004 == a30c6cee
    140fe008 == 72b1df11
    140fe00c == 8b467885
    140fe010 == fc715f61
    140fe014 == 7d8e0fc0
    140fe018 == e552e7cf
    140fe01c == aa02579f
    140fe020 == dfddf53f
    140fe024 == ee650189

    Boot >mw
    Usage:
    mw [.b, .w, .l] address value [count]
    - Memory Write(fill)

    Boot >loadx
    ## Ready for binary (xmodem) download to 0x18001000 at 921600 bps...
    CC

    Boot >loady
    ## Ready for binary (ymodem) download to 0x18001000 at 921600 bps...
    CCCCCCCCCCTimed out
    xyzModem - Cksum mode, 0(SOH)/0(STX)/0(CAN) packets, 20 retries
    ## Total Size = 0x00000000 = 0 Bytes

    An example of a crash:
    #E MemManage_Handler
    [Hard Faults Report - all numbers in hex]
    R0 = 0x40110800
    R1 = 0x0000b0b1
    R2 = 0x000013c7
    R3 = 0x0000b0fd
    R12 = 0x0000b10f
    LR [R14] = 0x0000b121
    PC [R15] = 0x0000b133
    PSR = 0x0000b145
    PRIMASK = 0, IRQ:Enable
    FAULTMASK = 0x00000000
    BASEPRI = 0x00000000
    CONTROL = 0x00000000
    BFAR = 0xe000ed38
    CFSR = 0x00000000
    HFSR = 0x00000000
    DFSR = 0x00000000
    AFSR = 0x00000000
    SCB_SHCSR = 0x00070000


    [Detail report]
    APSR Flags: nzcv
    ProcStack:0x00000000 MainStack:0x40110760

    Memory Manage Faults
    MM_FAULT_STAT:0x00
    IACCVIOL:0x00 IACCVIOL:0x00
    MUNSTKERR:0x00 MSTKERR:0x00
    MLSPERR:0x00 MMARVALID:0x00
    Bus Faults
    BUS_FAULT_STAT:0x00
    IBUSERR:0x00 PRECISERR:0x00
    IMPRECISERR:0x00 UNSTKERR:0x00
    STKERR:0x00 LSPERR:0x00
    BFARVALID:0x00
    Usage Faults
    USG_FAULT_STAT:0x00
    UNDEFINSTR:0x00 INVSTATE:0x00
    INVPC:0x00 UFSR.NOCP:0x00
    UNALIGNED:0x00 DIVBYZERO:0x00

    [Report done]
    Panic...
     
  15. kissste

    kissste Читатель

    Сообщения:
    51
    Симпатии:
    16
    Based on what I seen so far, shouldn't be a problem rewriting these tools in Python.

    Next Flash Tool.

    Open port...
    ==============================
    Running...
    Waiting for plug in...
    Find new device!
    Prepare partiton...
    15% done!
    30% done!
    45% done!
    60% done!
    70% done!
    80% done!
    90% done!
    100% done!
    Send XModem...
    [Recieve: 0x06]
    [Send Packet: 1/49]
    [Recieve: 0x06]
    [Send Packet: 2/49]
    [Recieve: 0x06]
    .....
    [Recieve: 0x06]
    [Send Packet: 49/49]
    Send Xmodem done!
    Verify...
    Verify done.
     
  16. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    Пока нету у производителя такого модуля как HLK-M50. uart wifi;uart wifi module;serial wifi module;serial wifi;wifi control module;power module;rs232 wifi module,wifi module
    Так-же его нет в "опте" у других продавцов, а указано только "new".
    Может это пока только пробная партия, для разведки рынка... "Ждите заказа" называется?
     
    Последнее редактирование: 19 мар 2018
  17. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
  18. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    Там описаны варианты, на той-же странице, но ниже. Магазин тут не при чем - вы спрашивали сколько, там это и указано с вариантами.
    Вы всегда выбираете самый худший. :)
     
    Последнее редактирование: 19 мар 2018
  19. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    Не выдумывайте. У вас плохая привычка тыкать только рекламу.
    От туда-же:
    upload_2018-3-19_19-33-3.png
     
  20. pvvx

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

    Сообщения:
    10.240
    Симпатии:
    1.349
    На ElectroDragon | Millions of Prototyping Components Online! один модуль
    upload_2018-3-19_19-42-37.png
    Вам привел пример почему.
     

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