mirror of
https://github.com/lupyuen/nuttx-ox64.git
synced 2025-01-12 20:58:31 +08:00
Add article
This commit is contained in:
parent
bdb6f8beeb
commit
2a44285514
1 changed files with 26 additions and 0 deletions
26
README.md
26
README.md
|
@ -4,6 +4,8 @@
|
|||
|
||||
Read the articles...
|
||||
|
||||
- ["RISC-V Ox64 BL808 SBC: NuttX Apps and Initial RAM Disk"](https://lupyuen.github.io/articles/app)
|
||||
|
||||
- ["RISC-V Ox64 BL808 SBC: Sv39 Memory Management Unit"](https://lupyuen.github.io/articles/mmu)
|
||||
|
||||
- ["RISC-V Ox64 BL808 SBC: Starting Apache NuttX RTOS"](https://lupyuen.github.io/articles/ox2)
|
||||
|
@ -1607,6 +1609,10 @@ TODO: Enable UART Interrupts
|
|||
|
||||
# Initial RAM Disk for Ox64 BL808
|
||||
|
||||
Read the article...
|
||||
|
||||
- ["RISC-V Ox64 BL808 SBC: NuttX Apps and Initial RAM Disk"](https://lupyuen.github.io/articles/app)
|
||||
|
||||
Two ways we can load the Initial RAM Disk...
|
||||
|
||||
1. Load the Initial RAM Disk from a __Separate File: initrd__ (similar to Star64)
|
||||
|
@ -2498,6 +2504,10 @@ TODO: [SATP Log](https://gist.github.com/lupyuen/aa9b3e575ba4e0c233ab02c32822152
|
|||
|
||||
# Start NuttX Apps on Ox64 BL808
|
||||
|
||||
Read the article...
|
||||
|
||||
- ["RISC-V Ox64 BL808 SBC: NuttX Apps and Initial RAM Disk"](https://lupyuen.github.io/articles/app)
|
||||
|
||||
NuttX Kernel starts a NuttX App (in ELF Format) by calling...
|
||||
|
||||
- [__ELF Loader: g_elfbinfmt__](https://github.com/lupyuen2/wip-pinephone-nuttx/blob/ox64b/binfmt/elf.c#L84-L94), which calls...
|
||||
|
@ -2546,6 +2556,10 @@ Right after that, [__nx_bringup__](https://github.com/apache/nuttx/blob/master/s
|
|||
|
||||
# Simple NuttX App for Ox64 BL808
|
||||
|
||||
Read the article...
|
||||
|
||||
- ["RISC-V Ox64 BL808 SBC: NuttX Apps and Initial RAM Disk"](https://lupyuen.github.io/articles/app)
|
||||
|
||||
_What's inside the simplest app for NuttX?_
|
||||
|
||||
From [hello_main.c](https://github.com/lupyuen2/wip-pinephone-nuttx-apps/blob/ox64b/examples/hello/hello_main.c#L36-L40)
|
||||
|
@ -2646,6 +2660,10 @@ Then `printf` will appear in our disassembly.
|
|||
|
||||
![NuttX App calls NuttX Kernel](https://lupyuen.github.io/images/app-syscall.jpg)
|
||||
|
||||
Read the article...
|
||||
|
||||
- ["RISC-V Ox64 BL808 SBC: NuttX Apps and Initial RAM Disk"](https://lupyuen.github.io/articles/app)
|
||||
|
||||
_How does a NuttX App make a System Call to NuttX Kernel?_
|
||||
|
||||
Our NuttX App calls `write`, which is a Proxy Version...
|
||||
|
@ -2756,6 +2774,10 @@ PROXY_waitpid.c
|
|||
|
||||
# Kernel Handles App Call
|
||||
|
||||
Read the article...
|
||||
|
||||
- ["RISC-V Ox64 BL808 SBC: NuttX Apps and Initial RAM Disk"](https://lupyuen.github.io/articles/app)
|
||||
|
||||
_Our App makes an ecall to jump to NuttX Kernel..._
|
||||
|
||||
_What happens on the other side?_
|
||||
|
@ -2948,6 +2970,10 @@ create_region --> mmu_ln_setentry["Set MMU Page Table Entry: \n mmu_ln_setentry
|
|||
click mmu_ln_setentry href "https://github.com/apache/nuttx/blob/master/arch/risc-v/src/common/riscv_mmu.c#L62-L109" "arch/risc-v/src/common/riscv_mmu.c" _blank
|
||||
```
|
||||
|
||||
Read the article...
|
||||
|
||||
- ["RISC-V Ox64 BL808 SBC: NuttX Apps and Initial RAM Disk"](https://lupyuen.github.io/articles/app)
|
||||
|
||||
_Phew so NuttX Apps can call NuttX Kernel..._
|
||||
|
||||
_But how does NuttX Kernel start a NuttX App?_
|
||||
|
|
Loading…
Reference in a new issue