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

   # Summary
   
   This PR adds support for PINE64 PinePhone and the Allwinner A64 SoC (based 
on Arm Cortex-A53).
   
   With this PR, PinePhone boots successfully to nsh (via microSD Card) and 
runs console apps.
   
   ## Changes to Kconfig
   
   -   `arch/arm64/Kconfig`: Added Allwinner A64 SoC
   
   -   `boards/Kconfig`: Added PINE64 PinePhone
   
   -   `arch/arm64/src/a64/Kconfig`: New Kconfig for Allwinner A64 SoC
   
   -   `boards/arm64/a64/pinephone/Kconfig`: New Kconfig for PINE64 PinePhone
   
   ## Additions to arch/arm64
   
   -   `src/a64/a64_boot.c`, `a64_boot.h`: Boot functions for Allwinner A64
   
   -   `src/a64/a64_lowputc.S`: Low-level console output
   
   -   `src/a64/a64_serial.c`, `a64_serial.h`: A64 Serial Driver
   
   -   `src/a64/chip.h`: A64 SoC Definitions
   
   -   `include/a64/chip.h`: A64 Memory Map, Generic Interrupt Controller
   
   -   `include/a64/irq.h`: A64 Interrupts
   
   -   `src/a64/Make.defs`: Source files for A64
   
   ## Additions to boards/arm64/a64/pinephone
   
   -   `configs/nsh/defconfig`: Board Configuration for `pinephone:nsh`
   
   -   `src/pinephone_appinit.c`: Init PinePhone
   
   -   `src/pinephone_boardinit.c`: Init PinePhone
   
   -   `src/pinephone_bringup.c`: Start PinePhone Drivers
   
   -   `src/pinephone.h`: PinePhone Declarations
   
   -   `include/board_memorymap.h`: PinePhone Memory Map
   
   -   `scripts/dramboot.ld`: PinePhone Linker Script
   
   -   `scripts/Make.defs`: Source files for PinePhone
   
   -   `src/Makefile`: PinePhone Makefile
   
   ## Changes to Documentation
   
   -   `platforms/arm/a64/boards/pinephone/index.rst`: Building and booting 
NuttX on PinePhone
   
   -   `platforms/arm/a64/index.rst`: Overview of Allwinner A64
   
   -   `introduction/supported_platforms.rst`: Added Allwinner A64
   
   -   `introduction/detailed_support.rst`: Added Allwinner A64
   
   # Impact
   
   With this PR, PinePhone boots successfully to nsh (via microSD Card) and 
runs console apps.
   
   We select PinePhone through the new Board Configuration `pinephone:nsh`:
   
   ```bash
   ./tools/configure.sh -l pinephone:nsh
   ```
   
   There is no impact on the existing implementation of QEMU for Armv8-A 
(`qemu-armv8a`).
   
   # Testing
   
   We tested by booting PinePhone with a microSD Card that contains NuttX:
   
   ```bash
   ## Configure and build NuttX
   ./tools/configure.sh -l pinephone:nsh
   make
   
   ## Compress the NuttX Image
   cp nuttx.bin Image
   rm -f Image.gz
   gzip Image
   
   ## Copy to PinePhone Jumpdrive microSD Card
   ## https://lupyuen.github.io/articles/uboot#pinephone-jumpdrive
   cp Image.gz "/Volumes/NO NAME"
   ```
   
   When we insert the microSD Card into PinePhone and power it up, PinePhone 
boots successfully to nsh and runs console apps:
   
   -   [NuttX PinePhone 
Log](https://gist.github.com/lupyuen/e49a22a9e39b7c024b984bea40377712)
   
   Two lines of messages appear garbled because two tasks were printing 
messages simultaneously: _"nsh: sysinit: fopen failed: 2"_ and _"nsh: mkfatfs: 
command not found"_
   
   This will be fixed in a later PR.
   


-- 
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