platformio / platformio-core

Your Gateway to Embedded Software Development Excellence :alien:
https://platformio.org
Apache License 2.0
7.97k stars 796 forks source link

Add support for Realtek MCUs #769

Open kissste opened 8 years ago

kissste commented 8 years ago

Contains ARM Cortex-M3 processor

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.

joscha commented 7 years ago

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

Alxandr commented 6 years ago

$15 bounty added to the issue.

treii28 commented 6 years ago

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)

Alxandr commented 6 years ago

bounty

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

treii28 commented 6 years ago

Cool, matching $15 added.

ivankravets commented 6 years ago

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

mtiutiu commented 6 years ago

@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.

kgunnar commented 6 years ago

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.

chris-hatton commented 4 years ago

@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?

ivankravets commented 4 years ago

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!

chris-hatton commented 4 years ago

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.

benhadad commented 3 years ago

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.

chris-hatton commented 3 years ago

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.

M4rkoV2 commented 2 years ago

Any update on that?

kuba2k2 commented 2 years ago

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.