This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new e696e99d9a arm64: Update readme.txt for FVP platform
e696e99d9a is described below

commit e696e99d9aa50594fcb5264faec314a0ac71c37a
Author: qinwei1 <qinw...@xiaomi.com>
AuthorDate: Sat Mar 4 23:02:31 2023 +0800

    arm64: Update readme.txt for FVP platform
    
    Summary:
    
       Updating Readme.TXT for FVP platform.
    
    Signed-off-by: qinwei1 <qinw...@xiaomi.com>
---
 boards/arm64/fvp-v8r/fvp-armv8r/README.txt | 140 +++++++++++++++++++++++++++--
 1 file changed, 134 insertions(+), 6 deletions(-)

diff --git a/boards/arm64/fvp-v8r/fvp-armv8r/README.txt 
b/boards/arm64/fvp-v8r/fvp-armv8r/README.txt
index 421256e853..56d4b38deb 100644
--- a/boards/arm64/fvp-v8r/fvp-armv8r/README.txt
+++ b/boards/arm64/fvp-v8r/fvp-armv8r/README.txt
@@ -24,9 +24,9 @@ Getting Started
   https://github.com/apache/nuttx/tree/master/boards/arm64/qemu/qemu-armv8a
 
 Note:
-1. My host environment is Ubuntu 22.04.1 LTS, Ubuntu 18.04 will work too
-2. The newest GNU toolchain is 12.2, available from:
-   https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
+  1 My host environment is Ubuntu 22.04.1 LTS, Ubuntu 18.04 will work too
+  2 The newest GNU toolchain is 12.2, available from:
+     https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
 
 
 2. Getting Armv8-R AEM FVP
@@ -39,6 +39,24 @@ Note:
    AEMv8R_FVP/AEMv8R_base_pkg/models/Linux64_GCC-9.3/FVP_BaseR_AEMv8R
 
 3. Configuring and building
+  3.1 FVP Overview
+     Just like QEMU, Fixed Virtual Platforms (FVP) are complete simulations of 
an Arm system,
+   including processor, memory and peripherals. These are set out in a 
"programmer's view",
+   which gives you a comprehensive model on which to build and test your 
software.
+
+     The FVP tools simulate 4 serial port and implement them to wait on local 
socket port:
+
+     $ 
/home/qinwei/workdir/tools/AEMv8R_FVP/AEMv8R_base_pkg/models/Linux64_GCC-9.3/FVP_BaseR_AEMv8R
 \
+        -f boards/arm64/fvp-v8r/fvp-armv8r/scripts/fvp_cfg.txt -a ./nuttx
+      terminal_0: Listening for serial connection on port 5000
+      terminal_1: Listening for serial connection on port 5001
+      terminal_2: Listening for serial connection on port 5002
+      terminal_3: Listening for serial connection on port 5003
+
+     FVP has four UART port and I choice UART1 as tty, so just telnet to port 
5001
+     will enter nsh:
+     telnet localhost 5001
+
   3.1 Single Core
    Configuring NuttX and compile:
    $ ./tools/configure.sh -l fvp-armv8r:nsh
@@ -49,15 +67,125 @@ Note:
    $ ./tools/configure.sh -l fvp-armv8r:nsh_smp
    $ make
 
-3. Running
-  Single Core
+4. Running
+
+  4.1 Single Core
+
+  Step1: Booting NuttX
+
   $ AEMv8R_FVP/AEMv8R_base_pkg/models/Linux64_GCC-9.3/FVP_BaseR_AEMv8R \
            -f boards/arm64/fvp-v8r/fvp-armv8r/scripts/fvp_cfg.txt \
            -a ./nuttx
-  SMP
+    terminal_0: Listening for serial connection on port 5000
+    terminal_1: Listening for serial connection on port 5001
+    terminal_2: Listening for serial connection on port 5002
+    terminal_3: Listening for serial connection on port 5003
+    - Ready to Boot Primary CPU
+    - Boot from EL2
+    - Boot from EL1
+    - Boot to C runtime for OS Initialize
+    [ 0] (null): arm64_chip_boot: Main CPU 0x80000000
+    [ 0] (null): nx_start: Entry
+    [ 0] (null): up_allocate_heap: heap_start=0x0x3c000, heap_size=0x7fc4000
+    [ 0] Idle Task: gic_validate_dist_version: GICv3 version detect
+    [ 0] Idle Task: gic_validate_dist_version: GICD_TYPER = 0x490067
+    [ 0] Idle Task: gic_validate_dist_version: 224 SPIs implemented
+    [ 0] Idle Task: gic_validate_dist_version: 0 Extended SPIs implemented
+    [ 0] Idle Task: gic_validate_dist_version: Distributor has no Range 
Selector support
+    [ 0] Idle Task: gic_validate_dist_version: MBIs is present, But No support
+    [ 0] Idle Task: gic_validate_redist_version: GICR_TYPER = 0x0
+    [ 0] Idle Task: gic_validate_redist_version: 16 PPIs implemented
+    [ 0] Idle Task: gic_validate_redist_version: no VLPI support, no direct 
LPI support
+    [ 0] Idle Task: up_timer_initialize: up_timer_initialize: cp15 timer(s) 
running at 100.00MHz, cycle 100000
+    [ 0] Idle Task: uart_register: Registering /dev/console
+    [ 0] Idle Task: uart_register: Registering /dev/ttyS0
+    [ 0] Idle Task: work_start_highpri: Starting high-priority kernel worker 
thread(s)
+    [ 0] Idle Task: nx_start_application: Starting init thread
+    [ 0] Idle Task: task_spawn: name=nsh_main entry=0xa590 file_actions=0 
attr=0x3bf88 argv=0x3bf80
+    nsh: mkfatfs: command not found
+    
+    NuttShell (NSH) NuttX-12.0.0
+    nsh> [ 0] Idle Task: nx_start: CPU0: Beginning Idle Loop
+
+  Step2: telnet to UART1
+  Starting another terminal and enter:
+  $ telnet localhost 5001
+    Trying 127.0.0.1...
+    Connected to localhost.
+    Escape character is '^]'.
+    nsh: mkfatfs: command not found
+    NuttShell (NSH) NuttX-12.0.0
+    nsh>
+
+  4.2 SMP
   $ AEMv8R_FVP/AEMv8R_base_pkg/models/Linux64_GCC-9.3/FVP_BaseR_AEMv8R \
            -f boards/arm64/fvp-v8r/fvp-armv8r/scripts/fvp_cfg_smp.txt \
            -a ./nuttx
+    terminal_0: Listening for serial connection on port 5000
+    terminal_1: Listening for serial connection on port 5001
+    terminal_2: Listening for serial connection on port 5002
+    terminal_3: Listening for serial connection on port 5003
+    - Ready to Boot Primary CPU
+    - Boot from EL2
+    - Boot from EL1
+    - Boot to C runtime for OS Initialize
+    [CPU0] [ 0] (null): arm64_chip_boot: Main CPU 0x80000000
+    [CPU0] [ 0] (null): nx_start: Entry
+    [CPU0] [ 0] (null): up_allocate_heap: heap_start=0x0x4a000, 
heap_size=0x7fb6000
+    [CPU0] [ 0] CPU0 IDLE: gic_validate_dist_version: GICv3 version detect
+    [CPU0] [ 0] CPU0 IDLE: gic_validate_dist_version: GICD_TYPER = 0x490067
+    [CPU0] [ 0] CPU0 IDLE: gic_validate_dist_version: 224 SPIs implemented
+    [CPU0] [ 0] CPU0 IDLE: gic_validate_dist_version: 0 Extended SPIs 
implemented
+    [CPU0] [ 0] CPU0 IDLE: gic_validate_dist_version: Distributor has no Range 
Selector support
+    [CPU0] [ 0] CPU0 IDLE: gic_validate_dist_version: MBIs is present, But No 
support
+    [CPU0] [ 0] CPU0 IDLE: gic_validate_redist_version: GICR_TYPER = 0x0
+    [CPU0] [ 0] CPU0 IDLE: gic_validate_redist_version: 16 PPIs implemented
+    [CPU0] [ 0] CPU0 IDLE: gic_validate_redist_version: no VLPI support, no 
direct LPI support
+    [CPU0] [ 0] CPU0 IDLE: up_timer_initialize: up_timer_initialize: cp15 
timer(s) running at 100.00MHz, cycle 100000
+    [CPU0] [ 0] CPU0 IDLE: uart_register: Registering /dev/console
+    [CPU0] [ 0] CPU0 IDLE: uart_register: Registering /dev/ttyS0
+    - Ready to Boot Second CPU
+    - Boot from EL2
+    - Boot from EL1
+    - Boot to C runtime for OS Initialize
+    [CPU1] [ 1] CPU1 IDLE: gic_validate_redist_version: GICR_TYPER = 
0x100000100
+    [CPU1] [ 1] CPU1 IDLE: gic_validate_redist_version: 16 PPIs implemented
+    [CPU1] [ 1] CPU1 IDLE: gic_validate_redist_version: no VLPI support, no 
direct LPI support
+    [CPU1] [ 1] CPU1 IDLE: nx_idle_trampoline: CPU1: Beginning Idle Loop
+    - Ready to Boot Second CPU
+    - Boot from EL2
+    - Boot from EL1
+    - Boot to C runtime for OS Initialize
+    [CPU2] [ 2] CPU2 IDLE: gic_validate_redist_version: GICR_TYPER = 
0x200000200
+    [CPU2] [ 2] CPU2 IDLE: gic_validate_redist_version: 16 PPIs implemented
+    [CPU2] [ 2] CPU2 IDLE: gic_validate_redist_version: no VLPI support, no 
direct LPI support
+    [CPU2] [ 2] CPU2 IDLE: nx_idle_trampoline: CPU2: Beginning Idle Loop
+    - Ready to Boot Second CPU
+    - Boot from EL2
+    - Boot from EL1
+    - Boot to C runtime for OS Initialize
+    [CPU3] [ 3] CPU3 IDLE: gic_validate_redist_version: GICR_TYPER = 
0x300000310
+    [CPU3] [ 3] CPU3 IDLE: gic_validate_redist_version: 16 PPIs implemented
+    [CPU3] [ 3] CPU3 IDLE: gic_validate_redist_version: no VLPI support, no 
direct LPI support
+    [CPU3] [ 3] CPU3 IDLE: nx_idle_trampoline: CPU3: Beginning Idle Loop
+    [CPU0] [ 0] CPU0 IDLE: work_start_highpri: Starting high-priority kernel 
worker thread(s)
+    [CPU0] [ 0] CPU0 IDLE: nx_start_application: Starting init thread
+    [CPU0] [ 0] CPU0 IDLE: task_spawn: name=nsh_main entry=0xc41c 
file_actions=0 attr=0x43f68 argv=0x43f60
+    [CPU0] [ 0] CPU0 IDLE: nx_start: CPU0: Beginning Idle Loop
+    nsh: mkfatfs: command not found
+    
+    NuttShell (NSH) NuttX-12.0.0
+    nsh>
+
+  Step2: telnet to UART1
+  Starting another terminal and enter:
+  $ telnet localhost 5001
+    Trying 127.0.0.1...
+    Connected to localhost.
+    Escape character is '^]'.
+    nsh: mkfatfs: command not found
+    NuttShell (NSH) NuttX-12.0.0
+    nsh>
 
 Status
 ======

Reply via email to