Typically, there's no need to rebuild your project from the ground
up. Instead, simply enter the Maixduino
package URL in the Additional Boards Manager URLs
section.
However, when needed, Maixduino Github
repository offers open-source resource that you can utilize as a
foundation for further development.
The W
cse475 course from the University of Washington provides
comprehensive course content, serving as an excellent tutorial for those
interested in following along.
Highlight: MUST add the following two
lines and useBurn Baudo Rate "500
kbps"
Sketch uses 95791 bytes (1%) of program storage space. Maximum is 8388608 bytes. [INFO] ANSI colors not used [INFO] COM Port Selected Manually: /dev/ttyUSB0 [INFO] Default baudrate is 115200 , later it may be changed to the value you set. [INFO] Trying to Enter the ISP Mode... * [INFO] Greeting Message Detected, Start Downloading ISP
~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp: In member function 'void Adafruit_I2CDevice::end()': ~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp:52:10: error: 'class TwoWire' has no member named 'end'; did you mean 'read'? _wire->end(); ^~~ read
Sketch uses 161412 bytes (1%) of program storage space. Maximum is 8388608 bytes. [INFO] ANSI colors not used [INFO] COM Port Selected Manually: /dev/ttyUSB0 [INFO] Default baudrate is 115200 , later it may be changed to the value you set. [INFO] Trying to Enter the ISP Mode... * [INFO] Greeting Message Detected, Start Downloading ISP
Sketch uses 322004 bytes (3%) of program storage space. Maximum is 8388608 bytes. [INFO] ANSI colors not used [INFO] COM Port Selected Manually: /dev/ttyUSB0 [INFO] Default baudrate is 115200 , later it may be changed to the value you set. [INFO] Trying to Enter the ISP Mode... * [INFO] Greeting Message Detected, Start Downloading ISP
➜ qorc-sdk git:(master) ✗ qfprog --port=/dev/ttyACM0 --bootfpga ./qf_apps/quickfeather-initial-binaries/qf_bootfpga.bin CLI mode ports = ['/dev/ttyACM0 (QuickFeather)'] 1 Using port /dev/ttyACM0 (QuickFeather) Programming FPGA image used during programming ./qf_apps/quickfeather-initial-binaries/qf_bootfpga.bin Erasing designated flash pages Erase 64.0 KiB ( 0xd8 ) at 0x20000 Erase 4.0 KiB ( 0x20 ) at 0x30000 Erase 4.0 KiB ( 0x20 ) at 0x31000 Erase 4.0 KiB ( 0x20 ) at 0x32000 Writing binary Write 75960 bytes [XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] Verifying binary FastREAD 0x0B ( 75960 ) [XXXXXXXXXXXXXXXXXXXXXXXXXXXXTraceback (most recent call last): File "/opt/TinyFPGA-Programmer-Application/tinyfpga-programmer-gui.py", line 206, in program fpga.program_bitstream(addr, bitstream, "binary") File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 311, in program_bitstream if self.program(addr, bitstream, what): File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 237, in program read_back = self.read(addr, len(data)) File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 72, in read data += self.cmd(0x0b, addr, b'\x00', read_len=read_length) File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 45, in cmd response = self.ser.read(read_len) File "~/.local/lib/python3.10/site-packages/serial/serialposix.py", line 595, in read raise SerialException( serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?) Writing metadata Erasing designated flash pages Traceback (most recent call last): File "~/.local/lib/python3.10/site-packages/serial/serialposix.py", line 621, in write n = os.write(self.fd, d) OSError: [Errno 5] Input/output error
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/opt/TinyFPGA-Programmer-Application/tinyfpga-programmer-gui.py", line 218, in program fpga.program_bitstream(meta_addr, meta_bitstream, "metadata") File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 311, in program_bitstream if self.program(addr, bitstream, what): File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 229, in program self.quick_erase(addr, len(data)) File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 179, in quick_erase self._erase(start_addr, 0x1000) File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 108, in _erase self.write_enable() File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 86, in write_enable self.cmd(0x06) File "/opt/TinyFPGA-Programmer-Application/q-series/python/tinyfpgaq.py", line 43, in cmd self.ser.write(bytearray(cmd_write_string)) File "~/.local/lib/python3.10/site-packages/serial/serialposix.py", line 655, in write raise SerialException('write failed: {}'.format(e)) serial.serialutil.SerialException: write failed: [Errno 5] Input/output error
2.2.3 Bricked
Unfortunately, my QuickFeather
is bricked. Whenever reset or even
entering user mode, the LED on QuickFeather
turns to red in the end.
In my test, no matter MicroPython Download
RPI_PICO is dragged-and-dropped, or a customized
program is uploaded via Arduino IDE as in the following
picture:
I got the solution from my posted issue Boot
from eMMC or NVME? Existing Doubts on the official RVspace forum.
The solution is just hidden in the file
/boot/extlinux/extlinux.conf. Well, to modify this file
correspondingly, you need to:
mount /boot using
sudo mount /dev/sdc3 /mnt
take a look at the file
/boot/extlinux/extlinux.conf
➜ extlinux cat extlinux.conf ## /extlinux/extlinux.conf ## ## IMPORTANT WARNING ## ## The configuration of this file is generated automatically. ## Do not edit this file manually, use: u-boot-update
default l1 menu title U-Boot menu prompt 0 timeout 50
label l1r menu label Debian GNU/Linux bookworm/sid 5.15.0-starfive (rescue target) linux /vmlinuz-5.15.0-starfive initrd /initrd.img-5.15.0-starfive fdtdir /dtbs append root=/dev/nvme0n1p4 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 single
Now, I'm able to boot from both SD card or
NVME, however, there seems to be NO
such a thing similar to grub? And I'll have to
manually edit the value of default l1 accordingly whenever
I want to boot from a different device.
Anyway, I've got to stop here for now. I'll talk about how to build a
fresh distro for VisionFive2
from scratch in my next post.
Typically, there's no need to rebuild your project from the ground
up. However, when needed, Arduino UNO R4
Wifi USB Bridge offers open-source resource that you can utilize as
a foundation for further development.
2. Demonstrate Arduino
Examples
2.1 Environment Configuration
Install Arduino Environment When I tried to run
the basic
example blink, I was asked to install the package
renesas_uno@1.0.5, as shown in the Output console of Arduino IDE:
2.2 Flash a Sketch
Sketch Verify/Compile
1 2
Sketch uses 51488 bytes (19%) of program storage space. Maximum is 262144 bytes. Global variables use 6744 bytes (20%) of dynamic memory, leaving 26024 bytes for local variables. Maximum is 32768 bytes.
Sketch uses 51488 bytes (19%) of program storage space. Maximum is 262144 bytes. Global variables use 6744 bytes (20%) of dynamic memory, leaving 26024 bytes for local variables. Maximum is 32768 bytes. Erase flash
Done in 0.001 seconds Write 51496 bytes to flash (13 pages)
Please upgrade the firmware Attempting to connect to SSID: TELUSXXXX SSID: TELUSXXXX IP Address: 192.168.1.YY signal strength (RSSI):-52 dBm
3.2 Upgrade Firmware of UNO R4
Wifi
It's confusing that I received the error message Please
upgrade the firmware, right after I installed/upgraded
renesas_uno@1.0.5 from within Arduino IDE.
In the end, I noticed there are 2 main chips on Arduino
UNO R4 WiFi, and renesas's firmware is
installed/upgraded, but ESP32's firmware hasn't yet.
Therefore, I proceeded with upgrading ESP32's firmware
by following Arduino
UNO R4 WiFi Upload to ESP32.
Different from 1.1, by shorting the
download pin and GND, now we have a
different lsusb result:
1 2 3
...... Bus 011 Device 007: ID 303a:1001 Espressif USB JTAG/serial debug unit ......
Again, I was asked to install the esp32 package(s),
as shown:
For LLVM-related variable LLVM_ENABLE_PROJECTS, if
you want to build ALL projects by specifying
-DLLVM_ENABLE_PROJECTS=all, all the following projects
clang;clang-tools-extra;cross-project-tests;libc;libclc;lld;lldb;openmp;polly;pstl
are to be built. Particularly, libc is also to be
built, which will bring me the following error:
1 2
....../llvm-project/libc/src/string/strcpy.cpp:17:28: error: ‘char*__llvm_libc_18_0_0_git::strcpy(char*, const char*)’ aliased to external symbol ‘strcpy’ 17 | LLVM_LIBC_FUNCTION(char*, strcpy,
I tried to build Intel Open3D from source, using
GCC/G++ONLY. Of
course, I used ALL 3rdparty libraries either from
default Ubuntu repository, or manually installed the newest version,
rather than using the 3rdparty
libraries coming with Open3D itself.
Today, May 9, 2024, I had this annoying Open3D successfully built
again, with my PR
6788.