diff --git a/Documentation/platforms/arm/mps/boards/mps3-an547/index.rst b/Documentation/platforms/arm/mps/boards/mps3-an547/index.rst index 42e2cbe014e..4489980147f 100644 --- a/Documentation/platforms/arm/mps/boards/mps3-an547/index.rst +++ b/Documentation/platforms/arm/mps/boards/mps3-an547/index.rst @@ -28,6 +28,19 @@ Configuring and Running $ qemu-system-arm -M mps3-an547 -nographic -kernel nuttx.bin ``` +3. **Pic ostest:** + + ```bash + $ ./tools/configure.sh mps3-an547:picostest + $ make -j20 + $ genromfs -f romfs.img -d ../apps/bin/ + $ qemu-system-arm -M mps3-an547 -m 2G -nographic \ + -kernel nuttx.bin -gdb tcp::1127 \ + -device loader,file=romfs.img,addr=0x60000000 + $ nsh> /pic/hello + $ nsh> /pic/ostest + ``` + Debugging with QEMU =================== diff --git a/boards/arm/mps/mps3-an547/configs/picostest/defconfig b/boards/arm/mps/mps3-an547/configs/picostest/defconfig new file mode 100644 index 00000000000..17032146bb3 --- /dev/null +++ b/boards/arm/mps/mps3-an547/configs/picostest/defconfig @@ -0,0 +1,80 @@ +# +# This file is autogenerated: PLEASE DO NOT EDIT IT. +# +# You can use "make menuconfig" to make any modifications to the installed .config file. +# You can then do "make savedefconfig" to generate a new defconfig file that includes your +# modifications. +# +CONFIG_ARCH="arm" +CONFIG_ARCH_BOARD="mps3-an547" +CONFIG_ARCH_BOARD_MPS3_AN547=y +CONFIG_ARCH_CHIP="mps" +CONFIG_ARCH_CHIP_MPS3_AN547=y +CONFIG_ARCH_CHIP_MPS=y +CONFIG_ARCH_INTERRUPTSTACK=4096 +CONFIG_ARCH_STACKDUMP=y +CONFIG_ARMV8M_SYSTICK=y +CONFIG_BUILTIN=y +CONFIG_CMSDK_UART0=y +CONFIG_CMSDK_UART0_BASE=0x49303000 +CONFIG_CMSDK_UART0_CLOCK=25000000 +CONFIG_CMSDK_UART0_OV_IRQ=59 +CONFIG_CMSDK_UART0_RX_IRQ=50 +CONFIG_CMSDK_UART0_SERIAL_CONSOLE=y +CONFIG_CMSDK_UART0_TX_IRQ=49 +CONFIG_CMSDK_UART=y +CONFIG_DEBUG_ASSERTIONS=y +CONFIG_DEBUG_BINFMT=y +CONFIG_DEBUG_BINFMT_ERROR=y +CONFIG_DEBUG_BINFMT_INFO=y +CONFIG_DEBUG_BINFMT_WARN=y +CONFIG_DEBUG_FEATURES=y +CONFIG_DEBUG_MM=y +CONFIG_DEBUG_SCHED=y +CONFIG_DEBUG_SCHED_ERROR=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_DEFAULT_TASK_STACKSIZE=4096 +CONFIG_DEV_ZERO=y +CONFIG_ELF=y +CONFIG_EXAMPLES_HELLO=m +CONFIG_EXPERIMENTAL=y +CONFIG_FS_PROCFS=y +CONFIG_FS_ROMFS=y +CONFIG_FS_TMPFS=y +CONFIG_HAVE_CXX=y +CONFIG_HAVE_CXXINITIALIZE=y +CONFIG_IDLETHREAD_STACKSIZE=4096 +CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INTELHEX_BINARY=y +CONFIG_LIBC_EXECFUNCS=y +CONFIG_LIBC_MEMFD_ERROR=y +CONFIG_MM_BACKTRACE=0 +CONFIG_MODULE=y +CONFIG_NSH_ARCHINIT=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_FILE_APPS=y +CONFIG_NSH_READLINE=y +CONFIG_NSH_SYMTAB=y +CONFIG_PIC=y +CONFIG_PREALLOC_TIMERS=4 +CONFIG_RAMLOG=y +CONFIG_RAM_SIZE=2097152 +CONFIG_RAM_START=0x01000000 +CONFIG_RAW_BINARY=y +CONFIG_READLINE_CMD_HISTORY=y +CONFIG_RR_INTERVAL=200 +CONFIG_SPINLOCK=y +CONFIG_STACK_COLORATION=y +CONFIG_STANDARD_SERIAL=y +CONFIG_START_DAY=25 +CONFIG_START_MONTH=4 +CONFIG_START_YEAR=2023 +CONFIG_SYMTAB_ORDEREDBYNAME=y +CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_SYSTEM=y +CONFIG_TESTING_GETPRIME=y +CONFIG_TESTING_OSTEST=m +CONFIG_TIMER=y +CONFIG_TIMER_ARCH=y +CONFIG_USEC_PER_TICK=1000 diff --git a/boards/arm/mps/mps3-an547/src/mps3_bringup.c b/boards/arm/mps/mps3-an547/src/mps3_bringup.c index 7327a9f9344..1255a55f7c7 100644 --- a/boards/arm/mps/mps3-an547/src/mps3_bringup.c +++ b/boards/arm/mps/mps3-an547/src/mps3_bringup.c @@ -25,9 +25,11 @@ #include #include +#include #include #include +#include /**************************************************************************** * Pre-processor Definitions @@ -71,6 +73,23 @@ static int mps3_bringup(void) } #endif +#ifdef CONFIG_FS_ROMFS + ret = romdisk_register(1, 0x60000000, 4096, 512); + if (ret < 0) + { + syslog(LOG_ERR, "ERROR: romdisk_register failed: %d\n", -ret); + } + else + { + ret = nx_mount("/dev/ram1", "/pic", "romfs", MS_RDONLY, NULL); + if (ret < 0) + { + syslog(LOG_ERR, "ERROR: Failed to mount romfs at /mnt: %d\n", ret); + } + } + +#endif + return ret; }