Amazon FreeRTOS on HiFive RevB

Hi, I tried to run an example of amazon freertos on hifive rev B board, the source code from here (https://github.com/sifive/Amazon-FreeRTOS)

I have built successfully aws_demo and aws_test projects by Freedom Studio. However I get some errors when try to download and run program.

The debugger showed that it was trapped in an infinite loop in file entry.S

/* For sanity's sake we set up an early trap vector that just does nothing.  If
 * you end up here then there's a bug in the early boot code somewhere. */
.section .text.metal.init.trapvec
.align 2
early_trap_vector:
    .cfi_startproc
    csrr t0, mcause
    csrr t1, mepc
    csrr t2, mtval
    j early_trap_vector
    .cfi_endproc

In think the issue is in the Debug Configuration.

The repository above is targeting learn inventor board (although hifive1 is mentioned in the repo)

Thanks for replying. Can it be used for Hifive1. How to solve my issue

The HiFive1, HiFive1 RevB, and Learn Inventor boards aren’t compatible with each other. The AWS freeRTOS port is just for the Learn Inventor board as far as I know.

But there is a HiFive1 RevB freeRTOS port upstream.


I don’t have a HiFive1 RevB board, so I’ve never tried it and can’t answer questions about it.

I had used demo project of FreeRTOS for HiFive1 RevB before and it worked well. Then to communicate with AWS, I used POST and GET methods.
In posted this question to know if I could use Amazon-FreeRTOS for my HiFive1 RevB

1 Like

Hello @TaLucGiaHoang

I found your repository here. Is this the demo project you were talking about?

I tried running it on my system, but for some reason I cannot get SPI to work when using the JTAG in debug mode. I do not think anything is coming across the the ESP.

I got it to work. For some reason, when running in Freedom Studio debug mode, no SPI/AT commands go out the the ESP. I took the elf file from Freedom Studio, converted it to hex using objcopy in Ubuntu, then uploaded to the hifive board using the USB drag and drop feature.

Hi @lfolkerts
You can watch my video here.

I found your repository here. Is this the demo project you were talking about?
I tried running it on my system, but for some reason I cannot get SPI to work when using the JTAG in debug mode. I do not think anything is coming across the the ESP.

  • Yes, that repo is used for my video.
  • I used Freedom Studio to build and download binary. To run this FreeRTOS demo you need to disconnect debugger, press reset button and use a UART terminal to get the log.

I got it to work. For some reason, when running in Freedom Studio debug mode, no SPI/AT commands go out the the ESP. I took the elf file from Freedom Studio, converted it to hex using objcopy in Ubuntu, then uploaded to the hifive board using the USB drag and drop feature.

  • You cannot get AT command from SPI because my demo uses delay method of FreeRTOS API, that is different from SiFive delay API.

For details, in my drv_esp32.c file:

#define delay_ms(ms)    vTaskDelay( ( TickType_t )ms / portTICK_PERIOD_MS ) //delay ms