Sketch uses 321804 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
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.