diff --git a/boards/nxp/mr-canhubk3/nuttx-config/sysview/defconfig b/boards/nxp/mr-canhubk3/nuttx-config/sysview/defconfig new file mode 100644 index 0000000000..3484811943 --- /dev/null +++ b/boards/nxp/mr-canhubk3/nuttx-config/sysview/defconfig @@ -0,0 +1,254 @@ +# +# 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_DISABLE_ENVIRON is not set +# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set +# CONFIG_DISABLE_PTHREAD is not set +# CONFIG_MMCSD_HAVE_CARDDETECT is not set +# CONFIG_MMCSD_HAVE_WRITEPROTECT is not set +# CONFIG_MMCSD_MMCSUPPORT is not set +# CONFIG_NSH_DISABLEBG is not set +# CONFIG_NSH_DISABLESCRIPT is not set +# CONFIG_NSH_DISABLE_ARP is not set +# CONFIG_NSH_DISABLE_CAT is not set +# CONFIG_NSH_DISABLE_CD is not set +# CONFIG_NSH_DISABLE_CP is not set +# CONFIG_NSH_DISABLE_DATE is not set +# CONFIG_NSH_DISABLE_DF is not set +# CONFIG_NSH_DISABLE_ECHO is not set +# CONFIG_NSH_DISABLE_ENV is not set +# CONFIG_NSH_DISABLE_EXEC is not set +# CONFIG_NSH_DISABLE_EXPORT is not set +# CONFIG_NSH_DISABLE_FREE is not set +# CONFIG_NSH_DISABLE_GET is not set +# CONFIG_NSH_DISABLE_HELP is not set +# CONFIG_NSH_DISABLE_IFCONFIG is not set +# CONFIG_NSH_DISABLE_IFUPDOWN is not set +# CONFIG_NSH_DISABLE_ITEF is not set +# CONFIG_NSH_DISABLE_KILL is not set +# CONFIG_NSH_DISABLE_LOOPS is not set +# CONFIG_NSH_DISABLE_LS is not set +# CONFIG_NSH_DISABLE_MKDIR is not set +# CONFIG_NSH_DISABLE_MKFATFS is not set +# CONFIG_NSH_DISABLE_MOUNT is not set +# CONFIG_NSH_DISABLE_MV is not set +# CONFIG_NSH_DISABLE_NSLOOKUP is not set +# CONFIG_NSH_DISABLE_PS is not set +# CONFIG_NSH_DISABLE_PSSTACKUSAGE is not set +# CONFIG_NSH_DISABLE_PWD is not set +# CONFIG_NSH_DISABLE_RM is not set +# CONFIG_NSH_DISABLE_RMDIR is not set +# CONFIG_NSH_DISABLE_SEMICOLON is not set +# CONFIG_NSH_DISABLE_SET is not set +# CONFIG_NSH_DISABLE_SLEEP is not set +# CONFIG_NSH_DISABLE_SOURCE is not set +# CONFIG_NSH_DISABLE_TELNETD is not set +# CONFIG_NSH_DISABLE_TEST is not set +# CONFIG_NSH_DISABLE_TIME is not set +# CONFIG_NSH_DISABLE_UMOUNT is not set +# CONFIG_NSH_DISABLE_UNSET is not set +# CONFIG_NSH_DISABLE_USLEEP is not set +# CONFIG_SPI_CALLBACK is not set +CONFIG_ALLOW_GPL_COMPONENTS=y +CONFIG_ARCH="arm" +CONFIG_ARCH_BOARD_CUSTOM=y +CONFIG_ARCH_BOARD_CUSTOM_DIR="../../../../boards/nxp/mr-canhubk3/nuttx-config" +CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y +CONFIG_ARCH_BOARD_CUSTOM_NAME="px4" +CONFIG_ARCH_CHIP="s32k3xx" +CONFIG_ARCH_CHIP_S32K344=y +CONFIG_ARCH_CHIP_S32K3XX=y +CONFIG_ARCH_STACKDUMP=y +CONFIG_ARMV7M_DCACHE=y +CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y +CONFIG_ARMV7M_DTCM=y +CONFIG_ARMV7M_ICACHE=y +CONFIG_ARMV7M_MEMCPY=y +CONFIG_ARMV7M_USEBASEPRI=y +CONFIG_BOARDCTL_RESET=y +CONFIG_BOARD_LOOPSPERMSEC=14539 +CONFIG_BUILTIN=y +CONFIG_DEBUG_BUSFAULT=y +CONFIG_DEBUG_ERROR=y +CONFIG_DEBUG_FEATURES=y +CONFIG_DEBUG_FULLOPT=y +CONFIG_DEBUG_HARDFAULT_ALERT=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_DEFAULT_SMALL=y +CONFIG_DEV_FIFO_SIZE=0 +CONFIG_DEV_PIPE_MAXSIZE=1024 +CONFIG_DEV_PIPE_SIZE=70 +CONFIG_DRIVER_NOTE=y +CONFIG_FAT_DMAMEMORY=y +CONFIG_FAT_LCNAMES=y +CONFIG_FAT_LFN=y +CONFIG_FAT_LFN_ALIAS_HASH=y +CONFIG_FDCLONE_STDIO=y +CONFIG_FS26_SPI_FREQUENCY=5000000 +CONFIG_FSUTILS_IPCFG=y +CONFIG_FS_CROMFS=y +CONFIG_FS_FAT=y +CONFIG_FS_FATTIME=y +CONFIG_FS_LITTLEFS=y +CONFIG_FS_PROCFS=y +CONFIG_FS_PROCFS_MAX_TASKS=64 +CONFIG_FS_PROCFS_REGISTER=y +CONFIG_FS_ROMFS=y +CONFIG_GRAN=y +CONFIG_GRAN_INTR=y +CONFIG_HAVE_CXX=y +CONFIG_HAVE_CXXINITIALIZE=y +CONFIG_I2C=y +CONFIG_I2C_RESET=y +CONFIG_IDLETHREAD_STACKSIZE=800 +CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_INIT_STACKSIZE=2944 +CONFIG_IOB_NBUFFERS=24 +CONFIG_IOB_THROTTLE=0 +CONFIG_IPCFG_BINARY=y +CONFIG_IPCFG_CHARDEV=y +CONFIG_IPCFG_PATH="/fs/qspi/mtd_net" +CONFIG_LIBC_FLOATINGPOINT=y +CONFIG_LIBC_LONG_LONG=y +CONFIG_LIBC_STRERROR=y +CONFIG_LPI2C0_DMA=y +CONFIG_LPI2C1_DMA=y +CONFIG_LPUART2_SERIAL_CONSOLE=y +CONFIG_MEMSET_64BIT=y +CONFIG_MEMSET_OPTSPEED=y +CONFIG_MMCSD=y +CONFIG_MMCSD_SPICLOCK=7500000 +CONFIG_MM_REGIONS=2 +CONFIG_MTD=y +CONFIG_MTD_MX25RXX=y +CONFIG_MTD_PARTITION=y +CONFIG_MTD_PARTITION_NAMES=y +CONFIG_MX25RXX_LXX=y +CONFIG_MX25RXX_PAGE128=y +CONFIG_MX25RXX_QSPI_FREQUENCY=80000000 +CONFIG_NET=y +CONFIG_NETDB_DNSCLIENT=y +CONFIG_NETDB_DNSCLIENT_ENTRIES=8 +CONFIG_NETDB_DNSSERVER_NOADDR=y +CONFIG_NETDEV_LATEINIT=y +CONFIG_NETINIT_DHCPC=y +CONFIG_NETINIT_DNS=y +CONFIG_NETINIT_DNSIPADDR=0XC0A800FE +CONFIG_NETINIT_DRIPADDR=0XC0A800FE +CONFIG_NETINIT_THREAD=y +CONFIG_NETINIT_THREAD_PRIORITY=49 +CONFIG_NETUTILS_TELNETD=y +CONFIG_NET_ARP_IPIN=y +CONFIG_NET_ARP_SEND=y +CONFIG_NET_BROADCAST=y +CONFIG_NET_CAN=y +CONFIG_NET_CAN_RAW_FILTER_MAX=1 +CONFIG_NET_CAN_SOCK_OPTS=y +CONFIG_NET_ETH_PKTSIZE=1518 +CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_SOCKET=y +CONFIG_NET_SOLINGER=y +CONFIG_NET_TCP=y +CONFIG_NET_TCPBACKLOG=y +CONFIG_NET_TCP_DELAYED_ACK=y +CONFIG_NET_TCP_WRITE_BUFFERS=y +CONFIG_NET_UDP=y +CONFIG_NET_UDP_CHECKSUMS=y +CONFIG_NET_UDP_WRITE_BUFFERS=y +CONFIG_NSH_ARCHINIT=y +CONFIG_NSH_ARGCAT=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_CMDPARMS=y +CONFIG_NSH_CROMFSETC=y +CONFIG_NSH_LINELEN=128 +CONFIG_NSH_MAXARGUMENTS=15 +CONFIG_NSH_MMCSDSPIPORTNO=1 +CONFIG_NSH_NESTDEPTH=8 +CONFIG_NSH_QUOTE=y +CONFIG_NSH_ROMFSETC=y +CONFIG_NSH_ROMFSSECTSIZE=128 +CONFIG_NSH_STRERROR=y +CONFIG_NSH_TELNET=y +CONFIG_NSH_TELNET_LOGIN=y +CONFIG_NSH_VARS=y +CONFIG_PIPES=y +CONFIG_PREALLOC_TIMERS=50 +CONFIG_PRIORITY_INHERITANCE=y +CONFIG_PTHREAD_STACK_MIN=512 +CONFIG_RAM_SIZE=272000 +CONFIG_RAM_START=0x20400000 +CONFIG_RAW_BINARY=y +CONFIG_S32K3XX_DTCM_HEAP=y +CONFIG_S32K3XX_EDMA=y +CONFIG_S32K3XX_EDMA_EDBG=y +CONFIG_S32K3XX_EDMA_NTCD=64 +CONFIG_S32K3XX_EIRQINTS=y +CONFIG_S32K3XX_ENET=y +CONFIG_S32K3XX_ENET_NTXBUFFERS=4 +CONFIG_S32K3XX_FLEXCAN0=y +CONFIG_S32K3XX_FLEXCAN1=y +CONFIG_S32K3XX_FLEXCAN2=y +CONFIG_S32K3XX_FLEXCAN3=y +CONFIG_S32K3XX_FS26=y +CONFIG_S32K3XX_GPIOIRQ=y +CONFIG_S32K3XX_LPI2C0=y +CONFIG_S32K3XX_LPI2C1=y +CONFIG_S32K3XX_LPI2C_DMA=y +CONFIG_S32K3XX_LPSPI1=y +CONFIG_S32K3XX_LPSPI1_PINCFG=3 +CONFIG_S32K3XX_LPSPI2=y +CONFIG_S32K3XX_LPSPI2_DMA=y +CONFIG_S32K3XX_LPSPI2_PINCFG=3 +CONFIG_S32K3XX_LPSPI3=y +CONFIG_S32K3XX_LPSPI3_PINCFG=3 +CONFIG_S32K3XX_LPSPI4=y +CONFIG_S32K3XX_LPSPI4_PINCFG=3 +CONFIG_S32K3XX_LPSPI5=y +CONFIG_S32K3XX_LPSPI5_DMA=y +CONFIG_S32K3XX_LPSPI5_PINCFG=3 +CONFIG_S32K3XX_LPSPI_DMA=y +CONFIG_S32K3XX_LPUART0=y +CONFIG_S32K3XX_LPUART10=y +CONFIG_S32K3XX_LPUART13=y +CONFIG_S32K3XX_LPUART14=y +CONFIG_S32K3XX_LPUART1=y +CONFIG_S32K3XX_LPUART2=y +CONFIG_S32K3XX_LPUART9=y +CONFIG_S32K3XX_LPUART_INVERT=y +CONFIG_S32K3XX_LPUART_SINGLEWIRE=y +CONFIG_S32K3XX_QSPI=y +CONFIG_SCHED_HPWORK=y +CONFIG_SCHED_HPWORKPRIORITY=249 +CONFIG_SCHED_HPWORKSTACKSIZE=1280 +CONFIG_SCHED_INSTRUMENTATION=y +CONFIG_SCHED_INSTRUMENTATION_FILTER=y +CONFIG_SCHED_INSTRUMENTATION_FILTER_DEFAULT_MODE=0x0B +CONFIG_SCHED_INSTRUMENTATION_IRQHANDLER=y +CONFIG_SCHED_INSTRUMENTATION_SWITCH=y +CONFIG_SCHED_LPWORK=y +CONFIG_SCHED_LPWORKPRIORITY=50 +CONFIG_SCHED_LPWORKSTACKSIZE=1768 +CONFIG_SCHED_WAITPID=y +CONFIG_SEGGER_RTT_MAX_NUM_UP_BUFFERS=12 +CONFIG_SEGGER_SYSVIEW=y +CONFIG_SEGGER_SYSVIEW_PREFIX=y +CONFIG_SEGGER_SYSVIEW_RTT_BUFFER_SIZE=4096 +CONFIG_SEM_PREALLOCHOLDERS=32 +CONFIG_SERIAL_TERMIOS=y +CONFIG_SIG_DEFAULT=y +CONFIG_SIG_SIGALRM_ACTION=y +CONFIG_SIG_SIGUSR1_ACTION=y +CONFIG_SIG_SIGUSR2_ACTION=y +CONFIG_SIG_SIGWORK=4 +CONFIG_STACK_COLORATION=y +CONFIG_START_DAY=30 +CONFIG_START_MONTH=11 +CONFIG_STDIO_BUFFER_SIZE=256 +CONFIG_SYSTEM_DHCPC_RENEW=y +CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_PING=y +CONFIG_TASK_NAME_SIZE=24 diff --git a/boards/nxp/mr-canhubk3/sysview.px4board b/boards/nxp/mr-canhubk3/sysview.px4board new file mode 100644 index 0000000000..afaefec9cd --- /dev/null +++ b/boards/nxp/mr-canhubk3/sysview.px4board @@ -0,0 +1,53 @@ +# CONFIG_BOARD_ROMFSROOT is not set +CONFIG_BOARD_SERIAL_GPS1="/dev/ttyS1" +CONFIG_BOARD_SERIAL_RC="/dev/ttyS5" +CONFIG_BOARD_SERIAL_TEL1="/dev/ttyS2" +CONFIG_COMMON_LIGHT=y +CONFIG_DRIVERS_GPS=y +CONFIG_DRIVERS_IRLOCK=y +CONFIG_DRIVERS_MAGNETOMETER_ISENTEK_IST8310=y +CONFIG_DRIVERS_MAGNETOMETER_LIS3MDL=y +CONFIG_DRIVERS_OSD=y +CONFIG_DRIVERS_RC_INPUT=y +CONFIG_DRIVERS_RPM=y +CONFIG_EXAMPLES_FAKE_GPS=y +CONFIG_MODULES_AIRSPEED_SELECTOR=y +CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q=y +CONFIG_MODULES_CAMERA_FEEDBACK=y +CONFIG_MODULES_COMMANDER=y +CONFIG_MODULES_ESC_BATTERY=y +CONFIG_MODULES_EVENTS=y +CONFIG_MODULES_FLIGHT_MODE_MANAGER=y +CONFIG_MODULES_FW_ATT_CONTROL=y +CONFIG_MODULES_FW_AUTOTUNE_ATTITUDE_CONTROL=y +CONFIG_MODULES_FW_POS_CONTROL_L1=y +CONFIG_MODULES_GYRO_CALIBRATION=y +CONFIG_MODULES_GYRO_FFT=y +CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y +CONFIG_MODULES_LAND_DETECTOR=y +CONFIG_MODULES_LOAD_MON=y +CONFIG_MODULES_LOCAL_POSITION_ESTIMATOR=y +CONFIG_MODULES_LOGGER=y +CONFIG_MODULES_MAG_BIAS_ESTIMATOR=y +CONFIG_MODULES_MANUAL_CONTROL=y +CONFIG_MODULES_MC_ATT_CONTROL=y +CONFIG_MODULES_MC_AUTOTUNE_ATTITUDE_CONTROL=y +CONFIG_MODULES_MC_HOVER_THRUST_ESTIMATOR=y +CONFIG_MODULES_MC_POS_CONTROL=y +CONFIG_MODULES_MC_RATE_CONTROL=y +CONFIG_MODULES_NAVIGATOR=y +CONFIG_MODULES_RC_UPDATE=y +CONFIG_MODULES_ROVER_POS_CONTROL=y +CONFIG_MODULES_SIH=y +CONFIG_MODULES_TEMPERATURE_COMPENSATION=y +CONFIG_MODULES_VTOL_ATT_CONTROL=y +CONFIG_SYSTEMCMDS_ACTUATOR_TEST=y +CONFIG_SYSTEMCMDS_DMESG=y +CONFIG_SYSTEMCMDS_DUMPFILE=y +CONFIG_SYSTEMCMDS_NETMAN=y +CONFIG_SYSTEMCMDS_NSHTERM=y +CONFIG_SYSTEMCMDS_PERF=y +CONFIG_SYSTEMCMDS_PWM=y +CONFIG_SYSTEMCMDS_REFLECT=y +CONFIG_SYSTEMCMDS_SERIAL_TEST=y +CONFIG_SYSTEMCMDS_TUNE_CONTROL=y diff --git a/platforms/nuttx/NuttX/nuttx b/platforms/nuttx/NuttX/nuttx index b527c6a0af..170673b5e5 160000 --- a/platforms/nuttx/NuttX/nuttx +++ b/platforms/nuttx/NuttX/nuttx @@ -1 +1 @@ -Subproject commit b527c6a0af07dc184f4d9bfe5acd9a6546bd04a6 +Subproject commit 170673b5e50bc5cdff7f453de55cebdfef454ba7 diff --git a/platforms/nuttx/src/px4/common/cpuload.cpp b/platforms/nuttx/src/px4/common/cpuload.cpp index 62c5c6205d..38f7899788 100644 --- a/platforms/nuttx/src/px4/common/cpuload.cpp +++ b/platforms/nuttx/src/px4/common/cpuload.cpp @@ -51,6 +51,13 @@ __BEGIN_DECLS __EXPORT struct system_load_s system_load; +#if defined(CONFIG_SEGGER_SYSVIEW) +# include +# ifndef CONFIG_SEGGER_SYSVIEW_PREFIX +# error Systemview enabled but prefix is not +# endif +#endif + static px4::atomic_int cpuload_monitor_all_count{0}; void cpuload_monitor_start() @@ -124,6 +131,10 @@ void sched_note_start(FAR struct tcb_s *tcb) } } } + +#ifdef CONFIG_SEGGER_SYSVIEW + sysview_sched_note_start(tcb); +#endif } void sched_note_stop(FAR struct tcb_s *tcb) @@ -141,6 +152,10 @@ void sched_note_stop(FAR struct tcb_s *tcb) } } } + +#ifdef CONFIG_SEGGER_SYSVIEW + sysview_sched_note_stop(tcb); +#endif } void sched_note_suspend(FAR struct tcb_s *tcb) @@ -166,6 +181,10 @@ void sched_note_suspend(FAR struct tcb_s *tcb) } } } + +#ifdef CONFIG_SEGGER_SYSVIEW + sysview_sched_note_suspend(tcb); +#endif } void sched_note_resume(FAR struct tcb_s *tcb) @@ -190,6 +209,34 @@ void sched_note_resume(FAR struct tcb_s *tcb) } } } + +#ifdef CONFIG_SEGGER_SYSVIEW + sysview_sched_note_resume(tcb); +#endif } + +#ifdef CONFIG_SEGGER_SYSVIEW + +#ifdef CONFIG_SCHED_INSTRUMENTATION_IRQHANDLER +void sched_note_irqhandler(int irq, FAR void *handler, bool enter) +{ + sysview_sched_note_irqhandler(irq, handler, enter); +} +#endif + +#ifdef CONFIG_SCHED_INSTRUMENTATION_SYSCALL +void sched_note_syscall_enter(int nr); +{ + sysview_sched_note_syscall_enter(nr); +} + +void sched_note_syscall_enter(int nr); +{ + sysview_sched_note_syscall_enter(nr); +} +#endif + +#endif + __END_DECLS #endif // PX4_NUTTX && CONFIG_SCHED_INSTRUMENTATION