platformio-core icon indicating copy to clipboard operation
platformio-core copied to clipboard

Add support for Realtek MCUs

Open kissste opened this issue 9 years ago • 16 comments

Contains ARM Cortex-M3 processor

  • http://www.realtek.com/products/productsView.aspx?Langid=1&PNid=33&PFid=45&Level=4&Conn=3
  • RTL8720 / RTL8710 / RTL8711 / RTL8195, etc.

RTL8720DN

Realtek RTL8720DN is a Wi-Fi and Bluetooth IC that supports 2.4GHz and 5GHz dual bands for Wi-Fi communication, and Bluetooth Low Energy (BLE) 5.0. BW16 is a module manufactured by B&T, this module is a highly integrated Wi-Fi and Bluetooth module with the RTL8720DN as the main SoC (System on Chip), it can be regarded as an SoC for the Wi-Fi and Bluetooth application with typical SBCs.

  • https://www.amebaiot.com/en/amebad-bw16-arduino-getting-started/
  • https://github.com/ambiot/ambd_arduino
  • https://github.com/platformio/platformio-core/issues/4809
  • https://github.com/platformio/platformio-core/issues/4906
  • https://github.com/platformio/platformio-core/issues/5046

kissste avatar Sep 06 '16 02:09 kissste

Is there any news on this? Anyone working on it?

joscha avatar Sep 16 '17 00:09 joscha

$15 bounty added to the issue.

Alxandr avatar Jan 01 '18 21:01 Alxandr

I would be interested as well. How does one add a bounty? I'll match any bounty (up to $50 - i.e. I'll match that $15 and up to $35 more if anyone else follows suit)

treii28 avatar Apr 07 '18 23:04 treii28

bounty

@treii28 https://www.bountysource.com/issues/37603319-add-platform-rtl8710-rtl8711-rtl8195

Alxandr avatar Apr 08 '18 09:04 Alxandr

Cool, matching $15 added.

treii28 avatar Apr 10 '18 01:04 treii28

Could someone explain how do you program these chips now? Does Realtek have own SDK/IDE?

ivankravets avatar Jul 19 '18 10:07 ivankravets

@ivankravets It seems to be supported by this arduino core Ameba IOT. Works with rtl8710/8195 only and the project seems to be still alive. Regarding the flashing part it works via swd using openocd and a stlink device because it's stm32 based. I gave it a try some time ago and it worked. For openocd integration I used this. I didn't played too much with it so I cannot offer more details. Hope it helps.

mtiutiu avatar Aug 04 '18 05:08 mtiutiu

While not immediately noticeable due to their re-branding, it's clear when looking at the specifications that PINE64's $1.99 PADI IoT Stamp is a RTL8710AF module.

In addition to the Ameba link above providing Arduino support, there is also RtlDuino.

kgunnar avatar Nov 16 '18 03:11 kgunnar

@ivankravets Yes, Realtek do provide their 'Standard SDK', based on mbed/RTOS, for these RTL8710 / RTL8195 chips. I am also interested in the potential of interfacing PlatformIO directly with this SDK and not via the Arduino support. I will happily add US$25 to the bounty for this feature. Presumably with the mbed + RTOS + gcc basis for the Realtek 'Ameba' SDK, most of the interface mechanisms have already been build and it will not be a huge work to drive from PlatformIO?

chris-hatton avatar Feb 14 '20 04:02 chris-hatton

Could someone help us with adding new dev-platform? There are a lot of examples how to do it https://github.com/platformio/platform-espressif32

Thanks in advance!

ivankravets avatar Feb 14 '20 13:02 ivankravets

There is an effort by 8Devices to bring the RTL8710 ('Standard' GCC SDK) to PlatformIO.
See: https://github.com/8devices/platformio-realtek-rtl8710b Hasn't been touched in nearly 2 years but is released under the MIT license meaning we're free to maintain & fork it if necessary. Going to give it a test run.

chris-hatton avatar Apr 11 '20 01:04 chris-hatton

I am coming back to this board myself as it seems a library based on this board will be useful going forward. For one, you can run rust embedded on it in a FreeRTOS setup.

benhadad avatar Feb 10 '21 04:02 benhadad

I've just added a further $50 USD to the BountySource issue taking it up to 💰 $95 USD 💰 ...just in case anyone with the knowledge is 'on the edge' about spending the time...

To help spark interest, here are some potential routes to integrating Ameba (meaning RTL8710/RTL8195) with PlatformIO:

C SDK ✅

The official C SDK for the so-called Ameba1 chips in question (RTL8710/RTL8195) can be found here on GitHub.

The PlatformIO documentation for defining new boards, frameworks etc. can be found here.

Arm Mbed 🤔 ✔️

The Ameba Board is supposedly Arm Mbed compatible, and PlatformIO has framework support for Arm Mbed - but not a board definition.

CMSIS 🔌

The Ameba Board is apparently CMSIS-DAP compatible (at least for debugging), while PlatformIO has framework support for CMSIS - but again no board definition for Ameba.

Arduino ⛔

While both Ameba and PlatformIO support the Arduino framework; once more, the requisite Arduino Board Definition for Platform IO is missing. Pursuing this option cannot be considered a full integration in terms of the bounty, due to the reduced control vs. the full C SDK, and reduced ability to integrate 3rd party libraries.

chris-hatton avatar Aug 23 '21 05:08 chris-hatton

Any update on that?

M4rkoV2 avatar Sep 02 '22 07:09 M4rkoV2

RTL8195A, RTL8710B, RTL8720C and RTL8720D are totally different chips. Currently, there's an Arduino Core implementation for RTL8710B available in my project: https://github.com/kuba2k2/libretuya I don't have support for other Realtek chips yet, but it's planned to be available in the future.

kuba2k2 avatar Sep 15 '22 10:09 kuba2k2