summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKody Stribrny <89810515+kstribrnAmzn@users.noreply.github.com>2022-11-09 10:34:04 -0800
committerGitHub <noreply@github.com>2022-11-09 10:34:04 -0800
commit54d4eeaa261ce8c5e2423231c91c5d377e474d93 (patch)
treeb4b26a3694a3a8cf5a52788953017fa58d546a6a
parent1fc8a8ee42a1c9377f7445490cdbe6b4c0f4af03 (diff)
downloadfreertos-git-54d4eeaa261ce8c5e2423231c91c5d377e474d93.tar.gz
Add Vectored Interrupt Support To SiFive RISC-V Demo (#871)
Update SiFive IAR demo to support vectored interrupts. This is a near copy of https://github.com/FreeRTOS/FreeRTOS/pull/797. Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com> Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
-rw-r--r--FreeRTOS-Plus/Demo/AWS/Device_Shadow_Windows_Simulator/Device_Shadow_Demo/FreeRTOSConfig.h13
-rw-r--r--FreeRTOS-Plus/Demo/AWS/Jobs_Windows_Simulator/Jobs_Demo/FreeRTOSConfig.h13
-rw-r--r--FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Http_Demo/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Mqtt_Demo/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/Common/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Mutual_Auth/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Plaintext/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download_Multithreaded/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Upload/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/Common/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Mutual_Auth_wolfSSL/FreeRTOSConfig.h10
-rw-r--r--FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Serializer/FreeRTOSConfig.h12
-rw-r--r--FreeRTOS-Plus/Demo/corePKCS11_MQTT_Mutual_Auth_Windows_Simulator/FreeRTOSConfig.h13
-rw-r--r--FreeRTOS-Plus/Demo/corePKCS11_Windows_Simulator/FreeRTOSConfig.h12
-rw-r--r--FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/README.md2
-rw-r--r--FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewd2
-rw-r--r--FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewp11
-rw-r--r--FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/main.c45
-rw-r--r--FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/vector_table.S101
m---------FreeRTOS/Source0
-rw-r--r--FreeRTOS/Test/CBMC/patches/FreeRTOSConfig.h10
-rw-r--r--manifest.yml2
23 files changed, 174 insertions, 162 deletions
diff --git a/FreeRTOS-Plus/Demo/AWS/Device_Shadow_Windows_Simulator/Device_Shadow_Demo/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/AWS/Device_Shadow_Windows_Simulator/Device_Shadow_Demo/FreeRTOSConfig.h
index 03c7548c6..ea45aec6e 100644
--- a/FreeRTOS-Plus/Demo/AWS/Device_Shadow_Windows_Simulator/Device_Shadow_Demo/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/AWS/Device_Shadow_Windows_Simulator/Device_Shadow_Demo/FreeRTOSConfig.h
@@ -20,7 +20,8 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
- * https://aws.amazon.com/freertos
+ * https://github.com/FreeRTOS
+ *
*/
#ifndef FREERTOS_CONFIG_H
@@ -101,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/AWS/Jobs_Windows_Simulator/Jobs_Demo/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/AWS/Jobs_Windows_Simulator/Jobs_Demo/FreeRTOSConfig.h
index 03c7548c6..ea45aec6e 100644
--- a/FreeRTOS-Plus/Demo/AWS/Jobs_Windows_Simulator/Jobs_Demo/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/AWS/Jobs_Windows_Simulator/Jobs_Demo/FreeRTOSConfig.h
@@ -20,7 +20,8 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
- * https://aws.amazon.com/freertos
+ * https://github.com/FreeRTOS
+ *
*/
#ifndef FREERTOS_CONFIG_H
@@ -101,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Http_Demo/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Http_Demo/FreeRTOSConfig.h
index b7bd694d7..95be42e82 100644
--- a/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Http_Demo/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Http_Demo/FreeRTOSConfig.h
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Mqtt_Demo/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Mqtt_Demo/FreeRTOSConfig.h
index a6e41b74c..ea45aec6e 100644
--- a/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Mqtt_Demo/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/AWS/Ota_Windows_Simulator/Ota_Over_Mqtt_Demo/FreeRTOSConfig.h
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/Common/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/Common/FreeRTOSConfig.h
index b55331c03..802a6af23 100644
--- a/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/Common/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/FreeRTOS_Cellular_Interface_Windows_Simulator/Common/FreeRTOSConfig.h
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Mutual_Auth/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Mutual_Auth/FreeRTOSConfig.h
index a6e41b74c..ea45aec6e 100644
--- a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Mutual_Auth/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Mutual_Auth/FreeRTOSConfig.h
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Plaintext/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Plaintext/FreeRTOSConfig.h
index a6e41b74c..ea45aec6e 100644
--- a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Plaintext/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_Plaintext/FreeRTOSConfig.h
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download/FreeRTOSConfig.h
index a6e41b74c..ea45aec6e 100644
--- a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download/FreeRTOSConfig.h
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download_Multithreaded/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download_Multithreaded/FreeRTOSConfig.h
index a6e41b74c..ea45aec6e 100644
--- a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download_Multithreaded/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Download_Multithreaded/FreeRTOSConfig.h
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Upload/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Upload/FreeRTOSConfig.h
index a6e41b74c..ea45aec6e 100644
--- a/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Upload/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/coreHTTP_Windows_Simulator/HTTP_S3_Upload/FreeRTOSConfig.h
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/Common/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/Common/FreeRTOSConfig.h
index 3bcee4a97..ba7a2b15b 100644
--- a/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/Common/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/Common/FreeRTOSConfig.h
@@ -104,15 +104,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Mutual_Auth_wolfSSL/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Mutual_Auth_wolfSSL/FreeRTOSConfig.h
index 056a7a2bb..b52a70a7d 100644
--- a/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Mutual_Auth_wolfSSL/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Mutual_Auth_wolfSSL/FreeRTOSConfig.h
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Serializer/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Serializer/FreeRTOSConfig.h
index 059ceea23..25d31a7eb 100644
--- a/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Serializer/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/coreMQTT_Windows_Simulator/MQTT_Serializer/FreeRTOSConfig.h
@@ -20,7 +20,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
- * https://aws.amazon.com/freertos
+ * https://github.com/FreeRTOS
*
*/
@@ -102,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/corePKCS11_MQTT_Mutual_Auth_Windows_Simulator/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/corePKCS11_MQTT_Mutual_Auth_Windows_Simulator/FreeRTOSConfig.h
index 03c7548c6..ea45aec6e 100644
--- a/FreeRTOS-Plus/Demo/corePKCS11_MQTT_Mutual_Auth_Windows_Simulator/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/corePKCS11_MQTT_Mutual_Auth_Windows_Simulator/FreeRTOSConfig.h
@@ -20,7 +20,8 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
- * https://aws.amazon.com/freertos
+ * https://github.com/FreeRTOS
+ *
*/
#ifndef FREERTOS_CONFIG_H
@@ -101,15 +102,7 @@
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS-Plus/Demo/corePKCS11_Windows_Simulator/FreeRTOSConfig.h b/FreeRTOS-Plus/Demo/corePKCS11_Windows_Simulator/FreeRTOSConfig.h
index 70c4fd8b3..9dab58e75 100644
--- a/FreeRTOS-Plus/Demo/corePKCS11_Windows_Simulator/FreeRTOSConfig.h
+++ b/FreeRTOS-Plus/Demo/corePKCS11_Windows_Simulator/FreeRTOSConfig.h
@@ -20,7 +20,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* https://www.FreeRTOS.org
- * https://aws.amazon.com/freertos
+ * https://github.com/FreeRTOS
*
*/
@@ -99,15 +99,7 @@ to exclude the API function. */
#define INCLUDE_xEventGroupSetBitsFromISR 1
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_pcTaskGetTaskName 1
-
-/* This demo makes use of one or more example stats formatting functions. These
-format the raw data provided by the uxTaskGetSystemState() function in to human
-readable ASCII form. See the notes in the implementation of vTaskList() within
-FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
-is set to 2 so the formatting functions are included without the stdio.h being
-included in tasks.c. That is because this project defines its own sprintf()
-functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
#ifdef _DEBUG
diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/README.md b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/README.md
new file mode 100644
index 000000000..70b04ccc3
--- /dev/null
+++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/README.md
@@ -0,0 +1,2 @@
+# RISC-V SiFive HiFive1 Rev B Demo
+View https://www.freertos.org/RTOS-RISC-V-FreedomStudio-IAR-HiFive-RevB.html for more information on how to run this demo \ No newline at end of file
diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewd b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewd
index f9e73bae5..137a3096b 100644
--- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewd
+++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewd
@@ -454,7 +454,7 @@
</option>
<option>
<name>CThirdPartyDriverDll</name>
- <state>Browse to your third-party driver</state>
+ <state>###Uninitialized###</state>
</option>
<option>
<name>CThirdPartyLogFileCheck</name>
diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewp b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewp
index da551e006..8bbe234a6 100644
--- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewp
+++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewp
@@ -483,7 +483,7 @@
</option>
<option>
<name>AsmDefines</name>
- <state>portasmHANDLE_INTERRUPT=vApplicationHandleTrap</state>
+ <state></state>
</option>
<option>
<name>PreInclude</name>
@@ -553,7 +553,7 @@
<option>
<name>OOCOutputFormat</name>
<version>0</version>
- <state>0</state>
+ <state>2</state>
</option>
<option>
<name>OCOutputOverride</name>
@@ -561,7 +561,7 @@
</option>
<option>
<name>OOCOutputFile</name>
- <state></state>
+ <state>RTOSDemo.bin</state>
</option>
<option>
<name>OOCCommandLineProducer</name>
@@ -569,7 +569,7 @@
</option>
<option>
<name>OOCObjCopyEnable</name>
- <state>0</state>
+ <state>1</state>
</option>
</data>
</settings>
@@ -2009,4 +2009,7 @@
<file>
<name>$PROJ_DIR$\main.c</name>
</file>
+ <file>
+ <name>$PROJ_DIR$\vector_table.S</name>
+ </file>
</project>
diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/main.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/main.c
index 852b7e2a2..aff103dcc 100644
--- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/main.c
+++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/main.c
@@ -58,6 +58,17 @@
or 0 to run the more comprehensive test and demo application. */
#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 0
+/* Set to 1 to use direct mode and set to 0 to use vectored mode.
+ *
+ * VECTOR MODE=Direct --> all traps into machine mode cause the pc to be set to the
+ * vector base address (BASE) in the mtvec register.
+ *
+ * VECTOR MODE=Vectored --> all synchronous exceptions into machine mode cause the
+ * pc to be set to the BASE, whereas interrupts cause the pc to be set to the
+ * address BASE plus four times the interrupt cause number.
+*/
+#define mainVECTOR_MODE_DIRECT 0
+
/* UART hardware constants. */
#define mainUART_BASE_ADDRESS ( *( volatile uint32_t * ) 0x20000000UL )
#define mainUART_TX_DATA 0x00
@@ -99,6 +110,9 @@ or 0 to run the more comprehensive test and demo application. */
/*-----------------------------------------------------------*/
+extern void freertos_risc_v_trap_handler( void );
+extern void freertos_vector_table( void );
+
/*
* main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1.
* main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0.
@@ -172,6 +186,16 @@ static void prvSetupHardware( void )
mainUART0_TXCTRL_REG |= mainUART_TXEN_BIT;
mainUART0_GPIO_SEL_REG &= mainUART0_PIN;
mainUART0_GPIO_SEL_EN |= mainUART0_PIN;
+
+ #if( mainVECTOR_MODE_DIRECT == 1 )
+ {
+ __asm__ volatile( "csrw mtvec, %0" :: "r"( freertos_risc_v_trap_handler ) );
+ }
+ #else
+ {
+ __asm__ volatile( "csrw mtvec, %0" :: "r"( ( uintptr_t )freertos_vector_table | 0x1 ) );
+ }
+ #endif
}
/*-----------------------------------------------------------*/
@@ -263,19 +287,26 @@ void vApplicationTickHook( void )
}
/*-----------------------------------------------------------*/
-/* Called from the kernel's port layer to handle device specific external
- * interrupts. */
-void vApplicationHandleTrap( uint32_t mcause )
+void freertos_risc_v_application_interrupt_handler( uint32_t ulMcause )
{
char pcCause[ 20 ];
- #warning vApplicationHandleTrap not implemented.
/* Not implemented yet! */
- sprintf( pcCause, "%u", mcause );
- vSendString( pcCause );
- configASSERT( mcause == 0 );
+ sprintf( pcCause, "%u", ulMcause );
+ configPRINT_STRING( pcCause );
+ configASSERT( ulMcause == 0 );
}
+/*-----------------------------------------------------------*/
+
+void freertos_risc_v_application_exception_handler( uint32_t ulMcause )
+{
+char pcCause[ 20 ];
+ /* Not implemented yet! */
+ sprintf( pcCause, "%u", ulMcause );
+ configPRINT_STRING( pcCause );
+ configASSERT( ulMcause == 0 );
+}
/*-----------------------------------------------------------*/
void *malloc( size_t xSize )
diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/vector_table.S b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/vector_table.S
new file mode 100644
index 000000000..fd67784b5
--- /dev/null
+++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/vector_table.S
@@ -0,0 +1,101 @@
+/*
+ * FreeRTOS V202112.00
+ * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * https://www.FreeRTOS.org
+ * https://github.com/FreeRTOS
+ *
+ */
+
+ EXTERN freertos_risc_v_exception_handler
+ EXTERN freertos_risc_v_interrupt_handler
+ EXTERN freertos_risc_v_mtimer_interrupt_handler
+
+ SECTION `.text`:CODE:ROOT(7)
+ CODE
+ .option norvc
+ PUBLIC freertos_vector_table
+
+freertos_vector_table:
+IRQ_0:
+ j freertos_risc_v_exception_handler
+IRQ_1:
+ j freertos_risc_v_interrupt_handler
+IRQ_2:
+ j freertos_risc_v_interrupt_handler
+IRQ_3:
+ j freertos_risc_v_interrupt_handler
+IRQ_4:
+ j freertos_risc_v_interrupt_handler
+IRQ_5:
+ j freertos_risc_v_interrupt_handler
+IRQ_6:
+ j freertos_risc_v_interrupt_handler
+IRQ_7:
+ j freertos_risc_v_mtimer_interrupt_handler
+IRQ_8:
+ j freertos_risc_v_interrupt_handler
+IRQ_9:
+ j freertos_risc_v_interrupt_handler
+IRQ_10:
+ j freertos_risc_v_interrupt_handler
+IRQ_11:
+ j freertos_risc_v_interrupt_handler
+IRQ_12:
+ j freertos_risc_v_interrupt_handler
+IRQ_13:
+ j freertos_risc_v_interrupt_handler
+IRQ_14:
+ j freertos_risc_v_interrupt_handler
+IRQ_15:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC0:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC1:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC2:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC3:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC4:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC5:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC6:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC7:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC8:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC9:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC10:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC11:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC12:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC13:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC14:
+ j freertos_risc_v_interrupt_handler
+IRQ_LC15:
+ j freertos_risc_v_interrupt_handler
+/*-----------------------------------------------------------*/
diff --git a/FreeRTOS/Source b/FreeRTOS/Source
-Subproject b0a8bd8f28d0138b5eb70e8b53da3e9d17ce8d4
+Subproject f789a0e7907feca1a9019637219f0fd113a6c38
diff --git a/FreeRTOS/Test/CBMC/patches/FreeRTOSConfig.h b/FreeRTOS/Test/CBMC/patches/FreeRTOSConfig.h
index 8e84e1c62..914b691e2 100644
--- a/FreeRTOS/Test/CBMC/patches/FreeRTOSConfig.h
+++ b/FreeRTOS/Test/CBMC/patches/FreeRTOSConfig.h
@@ -118,15 +118,7 @@
#define INCLUDE_xTimerPendFunctionCall 1
#define INCLUDE_xTaskGetCurrentTaskHandle 1
#define INCLUDE_xTaskAbortDelay 1
-
-/* This demo makes use of one or more example stats formatting functions. These
- * format the raw data provided by the uxTaskGetSystemState() function in to human
- * readable ASCII form. See the notes in the implementation of vTaskList() within
- * FreeRTOS/Source/tasks.c for limitations. configUSE_STATS_FORMATTING_FUNCTIONS
- * is set to 2 so the formatting functions are included without the stdio.h being
- * included in tasks.c. That is because this project defines its own sprintf()
- * functions. */
-#define configUSE_STATS_FORMATTING_FUNCTIONS 1
+#define configUSE_STATS_FORMATTING_FUNCTIONS 0
/* Assert call defined for debug builds. */
extern void vAssertCalled( const char * pcFile,
diff --git a/manifest.yml b/manifest.yml
index bf776033f..3babe5ce4 100644
--- a/manifest.yml
+++ b/manifest.yml
@@ -4,7 +4,7 @@ description: "This is the standard distribution of FreeRTOS."
dependencies:
- name: "FreeRTOS-Kernel"
- version: "b0a8bd8"
+ version: "f789a0e79"
repository:
type: "git"
url: "https://github.com/FreeRTOS/FreeRTOS-Kernel.git"