The LED of QF stays solid green in download mode

Post Reply
juanyi
Posts: 19
Joined: Thu Jan 28, 2021 7:38 am

I had downloaded the qf_bootloader.bin file to QF, successfully. However, when I try to download a M4app (qf_helloworldsw) afterwards, the LED just stays solid green in download mode, the download in tinyfpga doesn't seem running, it freeze at the step to erase flash pages. Did I just brick it? Any other way to recover it except using JLINK ?

In BASH:

Code: Select all

ABCDEF@PC1234:/mnt/c/QF/qorc-sdk/qf_apps/qf_helloworldsw/GCC_Project/output/bin$ qfprog --port /dev/ttyS10 --m4app qf_helloworldsw.bin --mode m4
CLI mode
ports =  ['/dev/ttyS10 (QuickFeather)'] 1
Using port  /dev/ttyS10 (QuickFeather)
Programming m4 application with  qf_helloworldsw.bin
Erasing designated flash pages
Erase  64.0 KiB ( 0xd8 ) at  0x80000

In Putty terminal:

Code: Select all

##########################
Quicklogic QuickFeather Bootloader
SW Version: qorc-sdk/qf-apps/qf_bootloader(v2.1) (GCC)
Feb 27 2021 21:34:07
##########################

User button pressed: switch to download mode
****ASSERT****
assert: /mnt/c/QF/qorc-sdk/qf_apps/qf_bootloader/GCC_Project/../../../freertos_g                        ateware/src/eoss3_hal_fpga_usbserial.c
line: 65
SOFT FAULT
anthony-ql
Posts: 49
Joined: Thu Jun 04, 2020 1:26 am

Can you let us know if the sequence of downloading? The QuickFeather is shipped with several binaries programmed into flash. When the power first applied to the board and reset button is pressed, the EOS S3 starts with loading the bootloader form Flash device into memory and execute. The blue flashes for 5 seconds and check for user button press during this time.

Since you mentioned that the green LED is flashing, this means that the board has entered flash mode. However, the UART message shows that the FW has encountered soft fault before it complete transition into flash mode.

Please try to power the board, press reset button and let the board goes into application mode. If successful, the system shows a COM port for QuickFeather and the device is ready for command input from a terminal program.
juanyi
Posts: 19
Joined: Thu Jan 28, 2021 7:38 am

I was able to run some application (e.g., helloworldsw, helloworldhw, ssi ai app) before this happen, using stock/original bootloader. So I tried to follow the FPGA webinar, flashing the FPGA bin files to the quickfeather but result in no expected response (which is the breathing LED effect), I guess that is because my bootloader is old version which doesn't support FPGA mode. Therefore I flash the quickfeather with bin file from qorc-sdk/qf_apps/qf_bootloader. The programming is successful, but when I flash with the FPGA bin file, the green LED stays solid and rest of the story is already explained above.
For now, the board can reset (blue LED blink) and can enter to flash mode (green LED lit) but it doesn't seems working since green LED doesn't blink. Do I need to use JLINK to re-program it? Can I use this? https://my.element14.com/segger/8-08-91 ... ?st=j-link
anthony-ql
Posts: 49
Joined: Thu Jun 04, 2020 1:26 am

Thanks for the details. It seems that you have the issue with mismatch bootloader and the previous programmed binaries.

1. I could not open the link that you have provided due to firewall setting. Based on the description, the JLINK-EDU pod will work for reprogramming the board.

2. Build the new qf_bootloader

3. Use JLINK to get the QuickFeather into flash mode; do this by installing the boot-strap jumpers, power on the board and press reset button.

4. Use the TinyFPGAProgrammer to flash bootloader, FPGAboot.

5. Use the TinyFPGAProgrammer to load m4app application to run m4app.

6. Use the TinyFPGAProgrammer to load appfpga application to run example of breathefpga.

Let me if this works for you.
juanyi
Posts: 19
Joined: Thu Jan 28, 2021 7:38 am

Thanks Anthony. I managed to recover the board and get the breathing fpga example running. Thanks again.
anthony-ql
Posts: 49
Joined: Thu Jun 04, 2020 1:26 am

I am glad that the demo works for you.
frankie
Posts: 14
Joined: Fri Apr 23, 2021 7:06 am

I got the same problem. I use JTAG to load qf_loadflash.bin to make QF in download mode, but don't know how to use TinyFPGAProgrammer to load m4app in step5 and load appfpga in step 6.
BTW, where can I get the example of breathefpga?

4. Use the TinyFPGAProgrammer to flash bootloader, FPGAboot.
5. Use the TinyFPGAProgrammer to load m4app application to run m4app.
6. Use the TinyFPGAProgrammer to load appfpga application to run example of breathefpga.
Post Reply