Skip to content

Commit 0a2f004

Browse files
committed
doc: update changelog and rtos documentation
1 parent 8949807 commit 0a2f004

2 files changed

Lines changed: 25 additions & 6 deletions

File tree

doc/source/changelog.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ This is release version of ``0.9.0`` of Nuclei SDK, which is still under develop
1414
- Enable __LD/__SD macro when Zilsd extension present for rv32 in ``core_feature_base.h``
1515
- Add comments for updating ECLIC threshold MTH setting recommendations in ``core_feature_eclic.h``
1616

17-
1817
* Application
1918

2019
- Add new application :ref:`design_app_demo_eclic_umode` to show how to use U-Mode with ECLIC running in M-Mode
@@ -42,6 +41,7 @@ This is release version of ``0.9.0`` of Nuclei SDK, which is still under develop
4241
* Documentation
4342

4443
- Fix typo ``reuqests`` to ``requires`` in ``app.rst``
44+
- Update ``rtos.rst`` to mention about recent bugfix for RTOS porting, and other RTOSes supported but not in Nuclei SDK
4545

4646
* Tools
4747

doc/source/design/rtos.rst

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Overview
99
--------
1010

1111
In Nuclei SDK, we have support four most-used RTOSes in the world,
12-
**FreeRTOS**, **UCOSII**, **ThreadX** and **RT-Thread from China**.
12+
**FreeRTOS**, **UCOSII**, **ThreadX** and **RT-Thread Nano**.
1313

1414
Our RTOS port require Nuclei ECLIC interrupt controller, please make sure
1515
your Nuclei CPU is configured with ECLIC present.
@@ -19,9 +19,11 @@ of the supported RTOSes.
1919

2020
.. note::
2121

22-
When you want to develop RTOS application in Nuclei SDK, please
23-
don't reconfigure ``SysTimer`` and ``SysTimer Software Interrupt``,
24-
since it is already used by RTOS portable code.
22+
- From 0.9.0, we have fixed task stack alignment to match psABI requirement,
23+
please see changes happened in ``RTOS`` folder in git repo.
24+
- When you want to develop RTOS application in Nuclei SDK, please
25+
don't reconfigure ``SysTimer`` and ``SysTimer Software Interrupt``,
26+
since it is already used by RTOS portable code.
2527

2628
.. _design_rtos_freertos:
2729

@@ -44,7 +46,7 @@ In our FreeRTOS porting, we also allow FreeRTOS configuration variable
4446
The ``configMAX_SYSCALL_INTERRUPT_PRIORITY`` should be set to be a
4547
absolute interrupt level range from 1 to (2^lvlbits-1) while ``lvlbits = min(nlbits, CLICINTCTLBITS)``.
4648

47-
If you set configMAX_SYSCALL_INTERRUPT_PRIORITY to value above the accepted
49+
If you set ``configMAX_SYSCALL_INTERRUPT_PRIORITY`` to value above the accepted
4850
value range, it will use the max value.
4951

5052
If you want to learn about how to use FreeRTOS APIs, you need to go to
@@ -70,6 +72,8 @@ for details, please check ``OS/FreeRTOS/build.mk``.
7072

7173
.. note::
7274

75+
* From 0.9.0, when ``configMAX_SYSCALL_INTERRUPT_PRIORITY >= 255``, the FreeRTOS interrupt masking will
76+
use MSTATUS.MIE to disable/enable interrupts, otherwise it will use ECLIC MTH as before.
7377
* You can check the ``application\freertos\`` for freertos application reference
7478
* From Nuclei SDK 0.6.0, we introduced FreeRTOS SMP support, both Nuclei RV32 and RV64 processors are supported.
7579
* Current version of FreeRTOS used in Nuclei SDK is ``V11.1.0``
@@ -106,6 +110,8 @@ And in your application code, you need to do the following things:
106110

107111
.. note::
108112

113+
* From 0.9.0, we have fixed UCOS-II interrupt masking to use MSTATUS.MIE only,
114+
no longer mess up with ECLIC MTH.
109115
* You can check the ``application\ucosii\`` for ucosii application reference
110116
* The UCOS-II application configuration template files can also be found in
111117
https://github.com/SiliconLabs/uC-OS2/tree/master/Cfg/Template
@@ -209,6 +215,19 @@ And in your application code, you need to do the following things:
209215
* You can check the ``application\threadx\`` for threadx application reference
210216
* Currently we only support single core version, the SMP version is not yet supported.
211217

218+
.. _design_rtos_others:
219+
220+
Others
221+
------
222+
223+
We also support other RTOSes, but not maintained in Nuclei SDK, please see following links:
224+
225+
- **OpenHarmony LiteOS-M**: https://github.com/riscv-mcu/kernel_liteos_m/tree/nuclei/OpenHarmony-3.0-LTS/targets/riscv_nuclei_evalsoc_gcc
226+
- **RT-Thread**: https://github.com/riscv-mcu/rt-thread/issues/1
227+
- **Nuttx variants such Appache NuttX, Xiaomi Vela, LiAuto HaloOS**: https://github.com/riscv-mcu/nuttx/tree/nuclei_trunk/Documentation/platforms/risc-v/nuclei-evalsoc/boards/nuclei-fpga-eval
228+
- **Zephyr RTOS**: https://github.com/riscv-mcu/zephyr/blob/nuclei/4.1-branch/boards/nuclei/fpga_eval/doc/index.rst
229+
- **Little Kernel**: https://github.com/littlekernel/lk/pull/281
230+
212231
.. _FreeRTOS: https://www.freertos.org/
213232
.. _UCOSII: https://www.micrium.com/
214233
.. _RT_Thread: https://www.rt-thread.org/

0 commit comments

Comments
 (0)