Close

How to arrange Arduino IDE with my Amebe writer

A project log for RTL8710 easy programming by Arduino IDE

Recent progress of WiFi modules does not need external MCU anymore. Now I just try to focus on ARM Cortex-M3 based RTL8710!

kodera2tkodera2t 12/29/2016 at 01:070 Comments

This information below is obsolete, due to official support of RTL8710 by Realtek is done. Please see my update (it gets quite easy!!)

Here I would like to introduce how to arrange programming environment. Indeed most part is contributed by lvvx, RtlDuino project and I just change the way from JTAG to SWD.

Step 1 : Add Ameba (Realtek) support in your Arduino IDE by board manager.

Putting

https://github.com/Ameba8195/Arduino/raw/master/release/package_realtek.com_ameba_index.json

Additional board manager is enough to see

Detailed procedure is explained in Realtek's homepage.

Step 2: Add RTL8710 support in your Arduino IDE by copying required items.

This process is not automatic, firstly we need to download files from lvvx, RtlDuino project.

The downloaded item should be put inside Arduino IDE installed directory as above. Just this procedure you will see new addition of board support as

BUT this is not my final goal since This support is assuming Jlink binary upload.

We should modify these two files boards.txt and platform.txt for DAP uploading. The below one showing the modified boards.txt. Reading clock frequency of 166.66MHz is something weird (because real one in RTL8710 is 83.33MHz), and I changed once but it seems it does not matter. Just commented out Jlink related lines and add DAP information in boards.txt and...
menu.device_variant=Variant
menu.upload_method=Upload method


rtlmodule_rtl8710.name=RTL00 (RTL8710)
rtlmodule_rtl8710.vid.0=0x2341
rtlmodule_rtl8710.pid.0=0x003d
rtlmodule_rtl8710.upload.tool=ameba_tools
rtlmodule_rtl8710.upload.protocol=mbed_dap
#rtlmodule_rtl8710.upload.protocol=jlink
rtlmodule_rtl8710.upload.maximum_size=372736
rtlmodule_rtl8710.upload.use_1200bps_touch=false
rtlmodule_rtl8710.upload.wait_for_upload_port=false
rtlmodule_rtl8710.upload.native_usb=false
rtlmodule_rtl8710.build.mcu=cortex-m3
rtlmodule_rtl8710.build.f_cpu=166666666L
rtlmodule_rtl8710.build.usb_product="Module RTL8710"
rtlmodule_rtl8710.build.board=rtlmodule
rtlmodule_rtl8710.build.core=arduino
rtlmodule_rtl8710.build.extra_flags=-mthumb -DBOARD_RTL8710
rtlmodule_rtl8710.build.ldscript=linker_scripts/gcc/rtl8710-symbol-v03-img2_arduino_arduino.ld
rtlmodule_rtl8710.build.variant=rtl8710

#rtlmodule_rtl8710.menu.upload_method.jlinkram=JLink RAM
#rtlmodule_rtl8710.menu.upload_method.jlinkram.upload.protocol=jlink
#rtlmodule_rtl8710.menu.upload_method.jlinkram.upload.tool=jlink

#rtlmodule_rtl8710.menu.upload_method.jlgdbimg=JLink IMG
#rtlmodule_rtl8710.menu.upload_method.jlgdbimg.upload.protocol=jlgdbimg
#rtlmodule_rtl8710.menu.upload_method.jlgdbimg.upload.tool=jlgdbimg


#rtlmodule_rtl8710.menu.upload_method.jlgdbota=JLink OTA
#rtlmodule_rtl8710.menu.upload_method.jlgdbota.upload.protocol=jlgdbota
#rtlmodule_rtl8710.menu.upload_method.jlgdbota.upload.tool=jlgdbota

#rtlmodule_rtl8710.menu.upload_method.networkota=Network OTA
#rtlmodule_rtl8710.menu.upload_method.networkota.upload.protocol=network
#rtlmodule_rtl8710.menu.upload_method.networkota.upload.tool=network

In the "platform.txt", I added several lines for DAP support

# rtlmodule Uploader tools
# -------------------
tools.ameba_tools.upload.params.verbose=
tools.ameba_tools.upload.params.quiet=
tools.ameba_tools.upload.pattern="{runtime.tools.ameba_tools.path}/upload_dap.sh" {upload.verbose}
tools.ameba_tools.upload.pattern.windows="{runtime.tools.ameba_tools.path}/upload_dap.exe" "{runtime.tools.ameba_tools.path}\ram_all.bin" {upload.verbose}
tools.ameba_tools.upload.pattern.macosx="{runtime.tools.ameba_tools.path}/upload_dap_mac" "{runtime.tools.ameba_tools.path}/ram_all.bin" {upload.verbose}
tools.ameba_tools.upload.network_pattern="{runtime.tools.ameba_tools.path}/upload_ota.exe" -i "{serial.port}" -p "{network.port}" -f "{runtime.tools.ameba_tools.path}\ota.bin"
tools.ameba_tools.upload.network_pattern.windows="{runtime.tools.ameba_tools.path}/upload_ota.exe" -i "{serial.port}" -p "{network.port}" -f "{runtime.tools.ameba_tools.path}\ota.bin"
tools.ameba_tools.upload.network_pattern.macosx="{runtime.tools.ameba_tools.path}/upload_ota_mac" -i "{serial.port}" -p "{network.port}" -f "{runtime.tools.ameba_tools.path}/ota.bin"
These two files modification will change the way from JTAG to DAP. FINISHED!

Discussions