There are problems using Ameba - rtos - D. Namely, on the RTL8720DN model. The examples use the target for RTL8721D, but I did not find the use of RTL8720DN anywhere in the code, as well as the targets for its assembly. The question arises how to build the firmware for this module and whether it is possible to use the current SDK from this git repository to write firmware for the RTL8720DN. Is it possible to use a target based on RTL8721D or how to make a custom target? I also wanted to clarify that I am not considering using the Arduino SDK. I am only interested in the standard SDK in c/c++.
Hello,
I am currently encountering a similar issue like @SaiCnvrr and would greatly appreciate any guidance on this matter. My goal is to build and flash firmware on the RTL8720DN without using Arduino, but I have not yet managed to get it working correctly.
@neok511, unfortunately, I haven’t been able to compile a program for the RTL8720DN at the moment, but I’ll try to do something with it at the end of the week once the debug board arrives.
I am happy to hear from you. I was able to successfully build the firmware in a Linux environment and generate the corresponding binary files. After that, I switched to Windows and tried to flash the binaries using ImageTool v2.3.2 for Ameba D (8721D).
As far as I can tell, the flashing process was successful since no errors were reported. The same applies to the firmware build process. I am also confident that the board was correctly set to UART_DOWNLOAD mode.
In the final step, I tried to monitor the flashed firmware using PuTTY, but unfortunately nothing appears in the terminal.
Is the COM port of the device detected in the Device Manager?
yes, it is.
But I assume this is related to the fact that the RTL8720DN is not listed among the supported chips in the README file of this repository:
https://github.com/Ameba-AIoT/ameba-rtos
Therefore, I assume that I either need to build the firmware via Arduino or switch to another chip that is supported by the workflow / the Ameba RTOS SDK.
Could someone confirm whether this assumption is correct or clarify if I might be misunderstanding something?
I use this SDK for BW16 (RTL8720DN):
https://github.com/Ameba-AIoT/ameba-rtos-d
But it seems kinda abandoned
Hi @nextbit9,
thank you for your message. My mistake — I actually also used ameba-rtos-d instead of ameba-rtos for the flashing attempt I described. Since you used this version as well, were you successful in building, flashing, and testing non-Arduino firmware on the BW16?
Yes, currently I use IAR (EWARM-RELEASE), because with GCC I weren’t able to flash and debug by “make” commands, but I could compile it and then flash it using ImageTool. IAR can do all 3 out-of-the-box (compile, flash and debug), but it needs a license.
If you don’t see any output on Log UART at all, check if you are flashing correct images at correct offset:
km0_boot_all.bin @ 0x08000000
km4_boot_all.bin @ 0x08004000
km0_km4_image2.bin @ 0x08006000
Edit: Oh, the EWARM-RELEASE was removed from the repository
So I guess IAR support has been dropped
Thank you so much. I adapted the addresses as you suggested. Now I can monitor my firmware code with PuTTY, so the flashing was successful.
@nextbit9 Can I ask you how one can determine which address is needed for each .bin file in general?
You can find it in Application note document AN0400 in chapter 9 Memory Layout
This document used to be included in the SDK repository in directory “doc” but it seems it have been removed as well, so now you can download it on realmcu website:
Development Resources > Software Resources > FreeRTOS SDK Guide > Link
But you might need to register there in order to be able to download it.
@nextbit9 thank you. I will take a look.