Update doc

This commit is contained in:
Lee Lup Yuen 2023-11-06 21:10:25 +08:00
parent db32b59317
commit 136fcdfed6

View file

@ -2,7 +2,9 @@
# Apache NuttX RTOS for Pine64 Ox64 64-bit RISC-V SBC (Bouffalo Lab BL808) # Apache NuttX RTOS for Pine64 Ox64 64-bit RISC-V SBC (Bouffalo Lab BL808)
Read the article... Read the articles...
- ["Ox64 BL808 RISC-V SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
- ["Ox64 BL808 RISC-V SBC: Booting Linux and (maybe) Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox64) - ["Ox64 BL808 RISC-V SBC: Booting Linux and (maybe) Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox64)
@ -836,6 +838,10 @@ TODO: Print Debug Logs with OpenSBI
# Boot Apache NuttX RTOS on Ox64 BL808 # Boot Apache NuttX RTOS on Ox64 BL808
Read the article...
- ["Ox64 BL808 RISC-V SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
_What happens if we boot Star64 NuttX on Ox64 BL808?_ _What happens if we boot Star64 NuttX on Ox64 BL808?_
Let's find out! Let's find out!
@ -885,6 +891,10 @@ Let's print to the Ox64 Serial Console in the NuttX Boot Code (in RISC-V Assembl
# Print to Ox64 Serial Console in NuttX Boot Code # Print to Ox64 Serial Console in NuttX Boot Code
Read the article...
- ["Ox64 BL808 RISC-V SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
_How to print to the Ox64 Serial Console in the NuttX Boot Code? (RISC-V Assembly)_ _How to print to the Ox64 Serial Console in the NuttX Boot Code? (RISC-V Assembly)_
When we compare the BL808 and BL602 Reference Manuals, we discover that BL808 UART works the same way as BL602. When we compare the BL808 and BL602 Reference Manuals, we discover that BL808 UART works the same way as BL602.
@ -959,6 +969,10 @@ OpenSBI boots on Ox64 with Hart ID 0 (instead of 1), so we remove this code...
# Update the NuttX Boot Address for Ox64 BL808 # Update the NuttX Boot Address for Ox64 BL808
Read the article...
- ["Ox64 BL808 RISC-V SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
_What is the Linux Boot Address for Ox64 BL808?_ _What is the Linux Boot Address for Ox64 BL808?_
From the [U-Boot Settings](https://gist.github.com/lupyuen/30df5a965fabf719cc52bf733e945db7)... From the [U-Boot Settings](https://gist.github.com/lupyuen/30df5a965fabf719cc52bf733e945db7)...
@ -1021,6 +1035,10 @@ Let's fix the NuttX UART Driver...
# Fix the NuttX UART Driver for Ox64 BL808 # Fix the NuttX UART Driver for Ox64 BL808
Read the article...
- ["Ox64 BL808 RISC-V SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
_NuttX on Ox64 has been awfully quiet. How to fix the UART Driver so that NuttX can print things?_ _NuttX on Ox64 has been awfully quiet. How to fix the UART Driver so that NuttX can print things?_
Ox64 is still running on the JH7110 UART Driver (16550). Let's make a quick patch so that we will see something on the Ox64 Serial Console... Ox64 is still running on the JH7110 UART Driver (16550). Let's make a quick patch so that we will see something on the Ox64 Serial Console...
@ -1106,6 +1124,10 @@ And the offending Data Address 0xc002104. (Which looks very familiar!)
# Platform-Level Interrupt Controller for Ox64 BL808 # Platform-Level Interrupt Controller for Ox64 BL808
Read the article...
- ["Ox64 BL808 RISC-V SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
_Why did NuttX crash with this RISC-V Exception?_ _Why did NuttX crash with this RISC-V Exception?_
```text ```text
@ -1216,6 +1238,10 @@ TODO: Enable Scheduler Debug
# Handle RISC-V Exceptions in NuttX # Handle RISC-V Exceptions in NuttX
Read the article...
- ["Ox64 BL808 RISC-V SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
Now NuttX crashes at a different place, with IRQ 15... Now NuttX crashes at a different place, with IRQ 15...
```text ```text
@ -1337,6 +1363,10 @@ The offending Data Address is 0xe0002100. Which is our BL808 PLIC!
# Add PLIC to I/O Memory Map # Add PLIC to I/O Memory Map
Read the article...
- ["Ox64 BL808 RISC-V SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
_But is 0xe0002100 accessible?_ _But is 0xe0002100 accessible?_
Ah we forgot to add it to the I/O Memory Map! Let's fix it: [jh7110_mm_init.c](https://github.com/lupyuen2/wip-pinephone-nuttx/blob/b244f85065ecc749599842088f35f1b190466429/arch/risc-v/src/jh7110/jh7110_mm_init.c#L47-L50) Ah we forgot to add it to the I/O Memory Map! Let's fix it: [jh7110_mm_init.c](https://github.com/lupyuen2/wip-pinephone-nuttx/blob/b244f85065ecc749599842088f35f1b190466429/arch/risc-v/src/jh7110/jh7110_mm_init.c#L47-L50)
@ -1392,6 +1422,10 @@ static int u16550_attach(struct uart_dev_s *dev) {
# Fail to Load Initial RAM Disk # Fail to Load Initial RAM Disk
Read the article...
- ["Ox64 BL808 RISC-V SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
Now NuttX boots even further yay! But crashes in the NuttX Bringup... Now NuttX boots even further yay! But crashes in the NuttX Bringup...
```text ```text
@ -1444,6 +1478,8 @@ TODO
- [BL808 Reference Manual](https://github.com/bouffalolab/bl_docs/blob/main/BL808_RM/en/BL808_RM_en_1.3.pdf) - [BL808 Reference Manual](https://github.com/bouffalolab/bl_docs/blob/main/BL808_RM/en/BL808_RM_en_1.3.pdf)
- [XuanTie OpenC906 User Manual](https://occ-intl-prod.oss-ap-southeast-1.aliyuncs.com/resource/XuanTie-OpenC906-UserManual.pdf)
- [BL808 D0 Core: T-Head C906 480MHz 64-bit RISC-V CPU](https://www.t-head.cn/product/c906?lang=en) - [BL808 D0 Core: T-Head C906 480MHz 64-bit RISC-V CPU](https://www.t-head.cn/product/c906?lang=en)
(Multimedia Core: MIPI CSI / DSI, Neural Proc Unit) (Multimedia Core: MIPI CSI / DSI, Neural Proc Unit)