mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-24 15:27:41 +08:00
The per-channel send mutex is genuinely recursive: callers hold lock_send() while the MAVLink C library re-enters send_start()/send_finish() on the same mutex via MAVLINK_START_UART_SEND. On NuttX a recursive mutex only works with CONFIG_PTHREAD_MUTEX_TYPES; without it pthread_mutexattr_settype() is a no-op and the nested lock deadlocks. Only a handful of boards happened to enable the option (for Zenoh), so mavlink could deadlock at startup on most boards, e.g. when bringing up a USB link. Enable CONFIG_PTHREAD_MUTEX_TYPES on the NuttX boards that build mavlink, add a compile-time guard so a board missing the option fails the build loudly instead of deadlocking silently, and check the settype() return. Enabling the option is free in flash and RAM on these boards since they already enable CONFIG_PRIORITY_INHERITANCE / CONFIG_PTHREAD_MUTEX_ROBUST. Signed-off-by: Julian Oes <julian@oes.ch>
228 lines
5.9 KiB
Plaintext
228 lines
5.9 KiB
Plaintext
#
|
|
# 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_OS_API is not set
|
|
# CONFIG_KINETIS_EDMA_HOE is not set
|
|
# CONFIG_MMCSD_HAVE_WRITEPROTECT is not set
|
|
# CONFIG_MMCSD_MMCSUPPORT is not set
|
|
# CONFIG_MMCSD_SPI is not set
|
|
CONFIG_ARCH="arm"
|
|
CONFIG_ARCH_BOARD_CUSTOM=y
|
|
CONFIG_ARCH_BOARD_CUSTOM_DIR="../../../../boards/nxp/fmuk66-e/nuttx-config"
|
|
CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
|
|
CONFIG_ARCH_BOARD_CUSTOM_NAME="px4"
|
|
CONFIG_ARCH_CHIP="kinetis"
|
|
CONFIG_ARCH_CHIP_KINETIS=y
|
|
CONFIG_ARCH_CHIP_MK66FN2M0VMD18=y
|
|
CONFIG_ARCH_INTERRUPTSTACK=768
|
|
CONFIG_ARCH_STACKDUMP=y
|
|
CONFIG_ARMV7M_MEMCPY=y
|
|
CONFIG_ARMV7M_USEBASEPRI=y
|
|
CONFIG_BOARDCTL_RESET=y
|
|
CONFIG_BOARD_ASSERT_RESET_VALUE=0
|
|
CONFIG_BOARD_LOOPSPERMSEC=15175
|
|
CONFIG_BOARD_RESET_ON_ASSERT=2
|
|
CONFIG_BUILTIN=y
|
|
CONFIG_CAN_CONNS=1
|
|
CONFIG_CDCACM=y
|
|
CONFIG_CDCACM_BULKIN_REQLEN=96
|
|
CONFIG_CDCACM_PRODUCTID=0x001c
|
|
CONFIG_CDCACM_PRODUCTSTR="PX4 FMUK66 v3.x"
|
|
CONFIG_CDCACM_RXBUFSIZE=600
|
|
CONFIG_CDCACM_TXBUFSIZE=8000
|
|
CONFIG_CDCACM_VENDORID=0x1FC9
|
|
CONFIG_CDCACM_VENDORSTR="NXP SEMICONDUCTORS"
|
|
CONFIG_DEBUG_FULLOPT=y
|
|
CONFIG_DEBUG_HARDFAULT_ALERT=y
|
|
CONFIG_DEBUG_SYMBOLS=y
|
|
CONFIG_DEV_FIFO_SIZE=0
|
|
CONFIG_DEV_PIPE_SIZE=70
|
|
CONFIG_ETH0_PHY_TJA1100=y
|
|
CONFIG_FAT_DMAMEMORY=y
|
|
CONFIG_FAT_LCNAMES=y
|
|
CONFIG_FAT_LFN=y
|
|
CONFIG_FAT_LFN_ALIAS_HASH=y
|
|
CONFIG_FDCLONE_STDIO=y
|
|
CONFIG_FS_AUTOMOUNTER=y
|
|
CONFIG_FS_BINFS=y
|
|
CONFIG_FS_CROMFS=y
|
|
CONFIG_FS_FAT=y
|
|
CONFIG_FS_FATTIME=y
|
|
CONFIG_FS_PROCFS=y
|
|
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_RESET=y
|
|
CONFIG_IDLETHREAD_STACKSIZE=750
|
|
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
|
CONFIG_INIT_STACKSIZE=3194
|
|
CONFIG_IOB_NBUFFERS=48
|
|
CONFIG_IOB_NCHAINS=18
|
|
CONFIG_KINETIS_ADC0=y
|
|
CONFIG_KINETIS_ADC1=y
|
|
CONFIG_KINETIS_CRC=y
|
|
CONFIG_KINETIS_EDMA=y
|
|
CONFIG_KINETIS_EDMA_ELINK=y
|
|
CONFIG_KINETIS_EDMA_ERCA=y
|
|
CONFIG_KINETIS_EDMA_ERGA=y
|
|
CONFIG_KINETIS_EDMA_NTCD=16
|
|
CONFIG_KINETIS_EMAC_RMIICLK1588CLKIN=y
|
|
CONFIG_KINETIS_ENET=y
|
|
CONFIG_KINETIS_FLEXCAN0=y
|
|
CONFIG_KINETIS_FLEXCAN1=y
|
|
CONFIG_KINETIS_GPIOIRQ=y
|
|
CONFIG_KINETIS_I2C0=y
|
|
CONFIG_KINETIS_I2C1=y
|
|
CONFIG_KINETIS_LPTMR0=y
|
|
CONFIG_KINETIS_LPUART0=y
|
|
CONFIG_KINETIS_LPUART0_RXDMA=y
|
|
CONFIG_KINETIS_MERGE_TTY=y
|
|
CONFIG_KINETIS_PDB=y
|
|
CONFIG_KINETIS_PIT=y
|
|
CONFIG_KINETIS_PORTAINTS=y
|
|
CONFIG_KINETIS_PORTBINTS=y
|
|
CONFIG_KINETIS_PORTCINTS=y
|
|
CONFIG_KINETIS_PORTDINTS=y
|
|
CONFIG_KINETIS_PORTEINTS=y
|
|
CONFIG_KINETIS_RTC=y
|
|
CONFIG_KINETIS_SDHC=y
|
|
CONFIG_KINETIS_SERIALBRK_BSDCOMPAT=y
|
|
CONFIG_KINETIS_SPI0=y
|
|
CONFIG_KINETIS_SPI1=y
|
|
CONFIG_KINETIS_SPI1_DMA=y
|
|
CONFIG_KINETIS_SPI2=y
|
|
CONFIG_KINETIS_SPI_DMA=y
|
|
CONFIG_KINETIS_UART0=y
|
|
CONFIG_KINETIS_UART0_RXDMA=y
|
|
CONFIG_KINETIS_UART1=y
|
|
CONFIG_KINETIS_UART1_RXDMA=y
|
|
CONFIG_KINETIS_UART2=y
|
|
CONFIG_KINETIS_UART2_RXDMA=y
|
|
CONFIG_KINETIS_UART4=y
|
|
CONFIG_KINETIS_UART4_RXDMA=y
|
|
CONFIG_KINETIS_UARTFIFOS=y
|
|
CONFIG_KINETIS_UART_BREAKS=y
|
|
CONFIG_KINETIS_UART_EXTEDED_BREAK=y
|
|
CONFIG_KINETIS_UART_INVERT=y
|
|
CONFIG_KINETIS_USBDCD=y
|
|
CONFIG_KINETS_LPUART_LOWEST=y
|
|
CONFIG_LIBC_MAX_EXITFUNS=1
|
|
CONFIG_LIBC_STRERROR=y
|
|
CONFIG_LPUART0_BAUD=57600
|
|
CONFIG_LPUART0_SERIAL_CONSOLE=y
|
|
CONFIG_MEMSET_64BIT=y
|
|
CONFIG_MEMSET_OPTSPEED=y
|
|
CONFIG_MMCSD=y
|
|
CONFIG_MMCSD_MULTIBLOCK_LIMIT=1
|
|
CONFIG_MMCSD_SDIO=y
|
|
CONFIG_MTD=y
|
|
CONFIG_MTD_BYTE_WRITE=y
|
|
CONFIG_MTD_PARTITION=y
|
|
CONFIG_MTD_RAMTRON=y
|
|
CONFIG_NETDEV_IFINDEX=y
|
|
CONFIG_NETDEV_LATEINIT=y
|
|
CONFIG_NETUTILS_TELNETD=y
|
|
CONFIG_NET_BROADCAST=y
|
|
CONFIG_NET_CAN=y
|
|
CONFIG_NET_CAN_NOTIFIER=y
|
|
CONFIG_NET_CAN_RAW_FILTER_MAX=0
|
|
CONFIG_NET_CAN_RAW_TX_DEADLINE=y
|
|
CONFIG_NET_CAN_SOCK_OPTS=y
|
|
CONFIG_NET_ICMP=y
|
|
CONFIG_NET_ICMP_SOCKET=y
|
|
CONFIG_NET_TCP=y
|
|
CONFIG_NET_TIMESTAMP=y
|
|
CONFIG_NET_UDP=y
|
|
CONFIG_NSH_ARCHINIT=y
|
|
CONFIG_NSH_BUILTIN_APPS=y
|
|
CONFIG_NSH_CROMFSETC=y
|
|
CONFIG_NSH_DISABLE_BASENAME=y
|
|
CONFIG_NSH_DISABLE_DD=y
|
|
CONFIG_NSH_DISABLE_DIRNAME=y
|
|
CONFIG_NSH_DISABLE_HEXDUMP=y
|
|
CONFIG_NSH_DISABLE_LOSETUP=y
|
|
CONFIG_NSH_DISABLE_MKFIFO=y
|
|
CONFIG_NSH_DISABLE_MKRD=y
|
|
CONFIG_NSH_DISABLE_PUT=y
|
|
CONFIG_NSH_DISABLE_REBOOT=y
|
|
CONFIG_NSH_DISABLE_UNAME=y
|
|
CONFIG_NSH_DISABLE_WGET=y
|
|
CONFIG_NSH_DISABLE_XD=y
|
|
CONFIG_NSH_FILEIOSIZE=512
|
|
CONFIG_NSH_IOBUFFER_SIZE=256
|
|
CONFIG_NSH_LINELEN=128
|
|
CONFIG_NSH_MAXARGUMENTS=15
|
|
CONFIG_NSH_NESTDEPTH=8
|
|
CONFIG_NSH_READLINE=y
|
|
CONFIG_NSH_ROMFSETC=y
|
|
CONFIG_NSH_ROMFSSECTSIZE=128
|
|
CONFIG_NSH_STRERROR=y
|
|
CONFIG_NSH_TELNETD_CLIENTSTACKSIZE=1280
|
|
CONFIG_NSH_TELNETD_DAEMONSTACKSIZE=1024
|
|
CONFIG_NSH_VARS=y
|
|
CONFIG_PIPES=y
|
|
CONFIG_PREALLOC_TIMERS=50
|
|
CONFIG_PRIORITY_INHERITANCE=y
|
|
CONFIG_PTHREAD_MUTEX_TYPES=y
|
|
CONFIG_PTHREAD_STACK_MIN=512
|
|
CONFIG_RAMTRON_EMULATE_PAGE_SHIFT=5
|
|
CONFIG_RAMTRON_EMULATE_SECTOR_SHIFT=5
|
|
CONFIG_RAMTRON_SETSPEED=y
|
|
CONFIG_RAM_SIZE=262144
|
|
CONFIG_RAM_START=0x1fff0000
|
|
CONFIG_RAW_BINARY=y
|
|
CONFIG_RTC=y
|
|
CONFIG_SCHED_HPWORK=y
|
|
CONFIG_SCHED_HPWORKPRIORITY=249
|
|
CONFIG_SCHED_HPWORKSTACKSIZE=1280
|
|
CONFIG_SCHED_INSTRUMENTATION=y
|
|
CONFIG_SCHED_INSTRUMENTATION_EXTERNAL=y
|
|
CONFIG_SCHED_INSTRUMENTATION_SWITCH=y
|
|
CONFIG_SCHED_LPWORKPRIORITY=50
|
|
CONFIG_SCHED_LPWORKSTACKSIZE=1632
|
|
CONFIG_SCHED_WAITPID=y
|
|
CONFIG_SEM_PREALLOCHOLDERS=32
|
|
CONFIG_SERIAL_IFLOWCONTROL_WATERMARKS=y
|
|
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=32
|
|
CONFIG_SYSTEM_CDCACM=y
|
|
CONFIG_SYSTEM_CUTERM=y
|
|
CONFIG_SYSTEM_CUTERM_DEFAULT_BAUD=57600
|
|
CONFIG_SYSTEM_NSH=y
|
|
CONFIG_SYSTEM_PING=y
|
|
CONFIG_TASK_NAME_SIZE=24
|
|
CONFIG_TELNET_IOTHREAD_STACKSIZE=512
|
|
CONFIG_TELNET_MAXLCLIENTS=1
|
|
CONFIG_TELNET_RXBUFFER_SIZE=128
|
|
CONFIG_TELNET_TXBUFFER_SIZE=128
|
|
CONFIG_UART0_IFLOWCONTROL=y
|
|
CONFIG_UART0_OFLOWCONTROL=y
|
|
CONFIG_UART1_RXBUFSIZE=600
|
|
CONFIG_UART1_TXBUFSIZE=1100
|
|
CONFIG_UART4_BAUD=57600
|
|
CONFIG_UART4_IFLOWCONTROL=y
|
|
CONFIG_UART4_OFLOWCONTROL=y
|
|
CONFIG_UART4_RXBUFSIZE=600
|
|
CONFIG_UART4_TXBUFSIZE=1100
|
|
CONFIG_USBDEV=y
|
|
CONFIG_USBDEV_BUSPOWERED=y
|
|
CONFIG_USBDEV_DUALSPEED=y
|
|
CONFIG_USBDEV_MAXPOWER=500
|
|
CONFIG_USEC_PER_TICK=1000
|
|
CONFIG_WATCHDOG=y
|