lupyuen opened a new pull request, #10069:
URL: https://github.com/apache/nuttx/pull/10069

   ## Summary
   
   This PR adds support for the StarFive JH7110 RISC-V SoC. This will be used 
by the upcoming port of NuttX for PINE64 Star64 SBC. [The source files are 
explained in the articles here](https://github.com/lupyuen/nuttx-star64)
   
   ### Modified Files in arch/risc-v
   
   `Kconfig`: Added ARCH_CHIP_JH7110 for JH7110 SoC
   
   ### New Files in arch/risc-v
   
   `include/jh7110/chip.h`: JH7110 Definitions
   
   `include/jh7110/irq.h`: Support 127 External Interrupts
   
   `src/jh7110/chip.h`: Interrupt Stack Macro
   
   `src/jh7110/jh7110_allocateheap.c`: Kernel Heap
   
   `src/jh7110/jh7110_head.S`: Linux Header and Boot Code
   
   `src/jh7110/jh7110_irq.c`: Configure Interrupts
   
   `src/jh7110/jh7110_irq_dispatch.c`: Dispatch Interrupts
   
   `src/jh7110/jh7110_memorymap.h`: Memory Map
   
   `src/jh7110/jh7110_mm_init.c`, `jh7110_mm_init.h`: Memory Mgmt
   
   `src/jh7110/jh7110_pgalloc.c`: Page Allocator
   
   `src/jh7110/jh7110_start.c`: Startup Code
   
   `src/jh7110/jh7110_timerisr.c`: Timer Interrupt
   
   `src/jh7110/hardware/jh7110_memorymap.h`: PLIC Base Address
   
   `src/jh7110/hardware/jh7110_plic.h`: PLIC Register Addresses
   
   `src/jh7110/Kconfig`: JH7110 Config
   
   `src/jh7110/Make.defs`: Makefile
   
   ## Impact
   
   This PR is needed for the upcoming port of NuttX for PINE64 Star64 SBC.
   
   No impact on existing code, since the JH7110 source files are not used by 
existing code.
   
   ## Testing
   
   We tested the JH7110 source files on PINE64 Star64 SBC. NuttX boots 
correctly to NSH Shell:
   
   - [NuttX Log for Star64 
JH7110](https://gist.github.com/lupyuen/427843f1de298e1a916d58c9a37bc7cb)
   
   ```text
   Starting kernel ...
   clk u5_dw_i2c_clk_core already disabled
   clk u5_dw_i2c_clk_apb already disabled
   BCnx_start: Entry
   uart_register: Registering /dev/console
   uart_register: Registering /dev/ttyS0
   work_start_lowpri: Starting low-priority kernel worker thread(s)
   nx_start_application: Starting init task: /system/bin/init
   elf_symname: Symbol has no name
   elf_symvalue: SHN_UNDEF: Failed to get symbol name: -3
   elf_relocateadd: Section 2 reloc 2: Undefined symbol[0] has no name: -3
   up_exit: TCB=0x40409890 exiting
   nx_start: CPU0: Beginning Idle Loop
   
   NuttShell (NSH) NuttX-12.0.3
   nsh> uname -a
   posix_spawn: pid=0xc0202978 path=uname file_actions=0xc0202980 
attr=0xc0202988 argv=0xc0202a28
   exec_spawn: ERROR: Failed to load program 'uname': -2
   nxposix_spawn_exec: ERROR: exec failed: 2
   NuttX 12.0.3 7a92743-dirty Aug  3 2023 18:06:04 risc-v star64
   nsh> free
   posix_spawn: pid=0xc0202978 path=free file_actions=0xc0202980 
attr=0xc0202988 argv=0xc0202a28
   exec_spawn: ERROR: Failed to load program 'free': -2
   nxposix_spawn_exec: ERROR: exec failed: 2
                      total       used       free    largest  nused  nfree
           Kmem:    2065400      14600    2050800    2049440     50      3
           Page:   20971520     643072   20328448   20328448
   nsh> ls -l
   posix_spawn: pid=0xc0202978 path=ls file_actions=0xc0202980 attr=0xc0202988 
argv=0xc0202a28
   exec_spawn: ERROR: Failed to load program 'ls': -2
   nxposix_spawn_exec: ERROR: exec failed: 2
   /:
    dr--r--r--       0 dev/
    dr--r--r--       0 proc/
    dr--r--r--       0 system/
   nsh>
   ```
   
   We may ignore the `exec_spawn` messages, they are caused by NSH attempting 
to load the app binaries from the NuttX Apps Filesystem (initrd), when they are 
actually built-in NSH Commands.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to