NuttX的学习笔记 2

2023-05-16

README文档目录的第二部分

  • Configuring NuttX
    • Instantiating “Canned” Configurations
    • Refreshing Configurations
    • NuttX Configuration Tool
    • Finding Selections in the Configuration Menus
    • Reveal Hidden Configuration Options
    • Make Sure that You on on the Right Platform
    • Comparing Two Configurations
    • Incompatibilities with Older Configurations
    • NuttX Configuration Tool under DOS
  • Instantiating “Canned” Configurations

    “Canned” 配置在这个文件夹下:

    configs/<board-name>/<config-dir>

    这里我用的开发板是stm32f429i-disco,configs这个文件夹下就有,然后里面是。。。看样子文件有点多啊,LCD USB 。。。。先看看README:

    STM32f429i-disco目录

    • Contents
      • Development Environment
      • GNU Toolchain Options
      • LEDs
      • UARTs
      • Timer Inputs/Outputs
      • FPU
      • FSMC SRAM
      • STM32F429I-DISCO-specific Configuration Options
      • Configurations
  1. Development Environment

    开发环境,没说什么。
    
  2. GNU Toolchain Options

    看样子写文档的人漏掉了这个
    
  3. LEDs

    LED,可以用来表示系统的一些运行状态,自己看。
    
  4. UARTs

    串口,只有串口1和5是可以全双工的,其他的只能单工。
    
  5. Timer Inputs/Outputs

    定时器输入输出,可以输出一些波形
    
  6. FPU

    FPU,浮点运算器
    
  7. FSMC SRAM

    SDRAM,如果需要DMA,那么要配置外部SDRAM,因为内部SDRAM不能配置DMA。还可以配置FSMC SDRAM
    
  8. STM32F429I-DISCO-specific Configuration Options

    这部分超级多
    
  9. Configurations

    配置,直接使用以下指令:
    
    > cd tools
    >./configure.sh `STM32F429I-DISCO/<subdir>`
    >cd -
    >. ./setenv.sh
    

    subdir这个该怎么选啊。。无语了。。一个一个的来??仔细看了半天里面的文件,最后决定先用nsh这个文件夹。意思我猜是nuttx shell

    开始正常

    并没有什么提示出现。看样子运行成功了。

    然后错误

    喜闻乐见,找不到文件,好,cd - 是用来返回上次工作目录的,但是上次工作目录下根本没有这个文件。搜索一下,发现这个文件存在,但是都不在这个目录下。关掉终端,重新来一遍。

    找到原因,居然是从nuttx cd 到tools里去的,cd - 后正确的目录应该是 tools的上级目录nuttx,无语。。这里应该说标注一下的啊。
    你让那些闲得没事跑到configs下然后又一次性 cd 到tools目录下的人怎么办?

    再往下读居然有subdir的说明。。。nsh就是NuttShell ,看样子我猜的没错。nsh会开启uart2,下面居然又列出11条小标题。。
    往下找有一个usbmsc的subdir,是个例程,可以使用32板上的usbhub连接U盘,uart1 调试 nuttx shell。这个看起来很短,先来操作这个好了。。。重新运行一边configure.sh 和 setevn.sh

    正常

    正常。
    下面这个文档还有的就是前面提到的 mconf-based ,有空再说吧。。

    回到上一个README。下面是要拷贝一些文件到nuttx下。最后说有configure文件可以更容易操作,看样子刚刚已经搞定了。下一步。

  • Refreshing Configurations
    刷新配置,这里需要我刷新么?通过查找,发现这个make oldconfig可以备份当前的 .config 而这个文件是由刚刚 configure.sh 拷贝过来的。那就来备份一下呗。

    找不到kconfig

    真是好消息,kconfig-conf没有找到,看样子还是要安装刚刚那个mconf-based。好,在文档中寻找,提到这个kconfig在源tools下,git之。

    git tools

    git clone https://bitbucket.org/nuttx/tools

    进去看看吧。。README

    • genromfs-0.5.2.tar.gz
    • kconfig-frontends
      • General Build Instructions
      • Graphical Configuration Tools
      • –program-prefix=
      • kconfig-frontends-3.3.0-1-libintl.patch
      • kconfig-macos.patch
      • kconfig-mconf Path Issues
      • gperf
      • kconfig-frontends for Windows
      • Buildroot
    • nxfuse
    • osmocon

    好,看一看,主要内容就是编译:
    (最近系统崩溃了,新装的时候发现这里出错了,需要安装几个东西:

    sudo apt install pkg-config gperf flex bison ncurses-dev qt5-default binutils-dev automake genromfs libfuse-dev libtool
    

    先用apt全部安装即可)

    cd kconfig-frontends
    ./configure --enable-mconf
    make
    make install

    有这么一个问题,是博主zhao23333提出的,这个问题我测试了,确实有这样的问题,解决方法就如博客
    Nuttx的源码构建和编译中所说一样就可以解决。

    完成,退出tools。
    再回到刚刚的nuttx/nuttx目录下执行

    make oldconfig

    选CPU

    呵呵,这下好了,是选目标板的,还是本机的?文档中说,输入?可以获得帮助。好,试一下。

    There is no help available for this option.

    好,这样的话,我就以为是目标板了,选arm
    回显有点多,看起来它自己选了很多选项:

    *
    * ARM Options
    *
    ARM chip selection
    > 24. STMicro STM32 F1/F2/F3/F4 (ARCH_CHIP_STM32)
    choice[1-29]: 24
    Use BASEPRI Register (ARMV7M_USEBASEPRI) [N/y/?] n
    Use common ARMv7-M vectors (ARMV7M_CMNVECTOR) [N/y/?] n
    Lazy FPU storage (ARMV7M_LAZYFPU) [N/y/?] n
    FPU support (ARCH_FPU) [N/y/?] n
    MPU support (ARM_MPU) [N/y/?] n
    *
    * ARMV7M Configuration Options
    *
    Toolchain Selection
    > 5. Generic GNU EABI toolchain under Linux (or other POSIX environment) (ARMV7M_TOOLCHAIN_GNU_EABIL)
    choice[1-5]: 5
    Check for stack overflow on each function call (ARMV7M_STACKCHECK) [N/y/?] n
    ITM SYSLOG support (ARMV7M_ITMSYSLOG) [N/y/?] n
    *
    * STM32 Configuration Options
    *
    STM32 Chip Selection
    > 110. STM32F429Z (ARCH_CHIP_STM32F429Z)
    choice[1-121]: 110
    Override Flash Size Designator
    > 1. Default (STM32_FLASH_CONFIG_DEFAULT)
    choice[1-11?]: 1
    DFU bootloader (STM32_DFU) [N/y/?] n
    *
    * STM32 Peripheral Support
    *
    ADC1 (STM32_ADC1) [N/y] n
    ADC2 (STM32_ADC2) [N/y] n
    ADC3 (STM32_ADC3) [N/y] n
    Enable BKP RAM Domain (STM32_BKPSRAM) [N/y] n
    CAN1 (STM32_CAN1) [N/y] n
    CAN2 (STM32_CAN2) [N/y] n
    CMD/DATA RAM (STM32_CCMDATARAM) [N/y] n
    CRC (STM32_CRC) [N/y] n
    CRYP (STM32_CRYP) [N/y] n
    DMA1 (STM32_DMA1) [N/y] n
    DMA2 (STM32_DMA2) [N/y] n
    DAC1 (STM32_DAC1) [N/y] n
    DAC2 (STM32_DAC2) [N/y] n
    DCMI (STM32_DCMI) [N/y] n
    Ethernet MAC (STM32_ETHMAC) [N/y] n
    FSMC (STM32_FSMC) [Y/n] y
    HASH (STM32_HASH) [N/y] n
    I2C1 (STM32_I2C1) [N/y] n
    I2C2 (STM32_I2C2) [N/y] n
    I2C3 (STM32_I2C3) [N/y] n
    LTDC (STM32_LTDC) [N/y/?] n
    DMA2D (STM32_DMA2D) [N/y/?] n
    OTG FS (STM32_OTGFS) [N/y] n
    OTG HS (STM32_OTGHS) [N/y] n
    PWR (STM32_PWR) [Y/n] y
    RNG (STM32_RNG) [N/y] n
    SDIO (STM32_SDIO) [N/y] n
    SPI1 (STM32_SPI1) [N/y] n
    SPI2 (STM32_SPI2) [N/y] n
    SPI3 (STM32_SPI3) [N/y] n
    SPI4 (STM32_SPI4) [N/y] n
    SPI5 (STM32_SPI5) [N/y] n
    SPI6 (STM32_SPI6) [N/y] n
    SYSCFG (STM32_SYSCFG) [Y/n] y
    TIM1 (STM32_TIM1) [N/y] n
    TIM2 (STM32_TIM2) [N/y] n
    TIM3 (STM32_TIM3) [N/y] n
    TIM4 (STM32_TIM4) [N/y] n
    TIM6 (STM32_TIM6) [N/y] n
    TIM7 (STM32_TIM7) [N/y] n
    TIM8 (STM32_TIM8) [N/y] n
    TIM9 (STM32_TIM9) [N/y] n
    TIM10 (STM32_TIM10) [N/y] n
    TIM11 (STM32_TIM11) [N/y] n
    TIM12 (STM32_TIM12) [N/y] n
    TIM13 (STM32_TIM13) [N/y] n
    TIM14 (STM32_TIM14) [N/y] n
    USART1 (STM32_USART1) [Y/n] y
    USART2 (STM32_USART2) [N/y] n
    USART3 (STM32_USART3) [N/y] n
    UART4 (STM32_UART4) [N/y] n
    UART5 (STM32_UART5) [N/y] n
    USART6 (STM32_USART6) [N/y] n
    UART7 (STM32_UART7) [N/y] n
    UART8 (STM32_UART8) [N/y] n
    IWDG (STM32_IWDG) [N/y] n
    WWDG (STM32_WWDG) [N/y] n
    Disable the ARMv7-M EXT vectors (STM32_NOEXT_VECTORS) [N/y/?] n
    *
    * Alternate Pin Mapping
    *
    Enable FLASH Pre-fetch (STM32_FLASH_PREFETCH) [N/y/?] n
    JTAG Configuration
    > 4. Set JTAG-DP disabled and SW-DP enabled (STM32_JTAG_SW_ENABLE)
    choice[1-4?]: 4
    Disable IDLE Sleep (WFI) in debug mode (STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG) [Y/n/?] y
    Force power (STM32_FORCEPOWER) [N/y/?] n
    Custom clock configuration (ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG) [N/y/?] n
    Exclude CCM SRAM from the heap (STM32_CCMEXCLUDE) [N/y/?] n
    External SRAM on FSMC (STM32_FSMC_SRAM) [Y/n/?] y
    *
    * Timer Configuration
    *
    TIM one-shot wrapper (STM32_ONESHOT) [N/y/?] n
    TIM free-running wrapper (STM32_FREERUN) [N/y/?] n
    TIM1 Capture (STM32_TIM1_CAP) [N/y/?] n
    TIM3 Capture (STM32_TIM3_CAP) [N/y/?] n
    TIM4 Capture (STM32_TIM4_CAP) [N/y/?] n
    TIM8 Capture (STM32_TIM8_CAP) [N/y/?] n
    TIM9 Capture (STM32_TIM9_CAP) [N/y/?] n
    TIM10 Capture (STM32_TIM10_CAP) [N/y/?] n
    TIM11 Capture (STM32_TIM11_CAP) [N/y/?] n
    TIM12 Capture (STM32_TIM12_CAP) [N/y/?] n
    TIM13 Capture (STM32_TIM13_CAP) [N/y/?] n
    TIM14 Capture (STM32_TIM14_CAP) [N/y/?] n
    *
    * U[S]ART Configuration
    *
    *
    * U[S]ART Device Configuration
    *
    USART1 Driver Configuration
    > 1. Standard serial driver (STM32_USART1_SERIALDRIVER)
    choice[1-2]: 1
    RS-485 on USART1 (USART1_RS485) [N/y/?] n
    *
    * Serial Driver Configuration
    *
    Disable reordering of ttySx devices. (SERIAL_DISABLE_REORDERING) [N/y/?] n
    Use Software UART RTS flow control (STM32_FLOWCONTROL_BROKEN) [N/y/?] n
    Add TIOxSBRK to support sending Breaks (STM32_USART_BREAKS) [N/y/?] n
    Single Wire Support (STM32_USART_SINGLEWIRE) [N/y/?] n
    *
    * USB FS Host Configuration
    *
    *
    * USB HS Host Configuration
    *
    *
    * USB Host Debug Configuration
    *
    *
    * USB Device Configuration
    *
    *
    * Architecture Options
    *
    Enable MPU (ARCH_USE_MPU) [N/y/?] n
    Prioritized interrupt support (ARCH_IRQPRIO) [N/y/?] n
    Dump stack on assertions (ARCH_STACKDUMP) [Y/n/?] y
    Big Endian Architecture (ENDIAN_BIG) [N/y/?] n
    Custom IDLE loop (ARCH_IDLE_CUSTOM) [N/y/?] n
    Support RAM interrupt vectors (ARCH_RAMVECTORS) [N/y/?] n
    *
    * Board Settings
    *
    Delay loops per millisecond (BOARD_LOOPSPERMSEC) [16717] 16717
    Calibrate delay loop (ARCH_CALIBRATION) [N/y/?] n
    *
    * Interrupt options
    *
    Interrupt Stack Size (ARCH_INTERRUPTSTACK) [0] 0
    High priority interrupts (ARCH_HIPRI_INTERRUPT) [N/y/?] n
    *
    * Boot options
    *
    Boot Mode
    > 2. Boot and run from flash (BOOT_RUNFROMFLASH)
    choice[1-5]: 2
    *
    * Boot Memory Configuration
    *
    Primary RAM start address (physical) (RAM_START) [0x20000000] 0x20000000
    Primary RAM size (RAM_SIZE) [114688] 114688
    *
    * Timer Driver Support
    *
    Timer Support (TIMER) [N/y/?] n
    Oneshot timer driver (ONESHOT) [N/y/?] (NEW)

    到这里停住了,然而我并不知道这个oneshot是个啥意思。。。去官网查找。然后找到这个:

    ONESHOT
    Using a Oneshot Timer to Drive CPU Load Measurement

    看起来是一个CPU负载采样计时器,我觉得可以理解为,用来驱动CPU负载采样模块的计时器,是这样么?我并确定, 感觉这个可以有,也可以没有,毕竟这个例子里,我并不需要知道CPU的采样率。那就选N好了

    *
    * RTC Driver Support
    *
    RTC Driver Support (RTC) [N/y/?] n
    *
    * Watchdog Timer Support
    *
    Watchdog Timer Support (WATCHDOG) [N/y/?] n
    *
    * Contactless Device Support
    *
    Contactless Device Support (DRIVERS_CONTACTLESS) [N/y/?] (NEW)

    看名字就知道,no。

    *
    * Library Routines
    *
    *
    * Standard C Library Options
    *
    C STDIO buffer size (STDIO_BUFFER_SIZE) [64] 64
    STDIO line buffering (STDIO_LINEBUFFER) [Y/n/?] y
    Number unget() characters (NUNGET_CHARS) [2] 2
    Home directory (LIB_HOMEDIR) [/] /
    Standard Math library (LIBM) [N/y/?] n
    Disable sprintf support fieldwidth (NOPRINTF_FIELDWIDTH) [N/y/?] n
    Enable floating point in printf (LIBC_FLOATINGPOINT) [N/y/?] n
    Enable long long support in printf (LIBC_LONG_LONG) [Y/n/?] y
    Enable variadic ioctl() (LIBC_IOCTL_VARIADIC) [N/y/?] n
    Enable wide-characters (Unicode) support (LIBC_WCHAR) [N/y/?] (NEW)

    Unicode支持?支持有什么用,连字体都不知道怎么搞。。no

    Enable I18N (LOCALE) support (LIBC_LOCALE) [N/y/?] (NEW)

    I18N,国际化?no!

    Order of the random number generate (LIB_RAND_ORDER) [1] 1
    Newline Options
    > 4. EOL is CR or LF (EOL_IS_EITHER_CRLF)
    choice[1-4?]: 4
    Enable exec[l|v] / posix_spawn() Support (LIBC_EXECFUNCS) [N/y/?] n
    Spawn Stack Size (POSIX_SPAWN_PROXY_STACKSIZE) [1024] 1024
    Default task_spawn Stack Size (TASK_SPAWN_DEFAULT_STACKSIZE) [2048] 2048
    Enable strerror (LIBC_STRERROR) [N/y/?] n
    perror() to stdout (LIBC_PERROR_STDOUT) [N/y/?] n
    Low-level console output (ARCH_LOWPUTC) [Y/n/?] y
    localtime API call support (LIBC_LOCALTIME) [N/y/?] n
    Add day of week, year support (TIME_EXTENDED) [N/y/?] n
    sendfile() buffer size (LIB_SENDFILE_BUFSIZE) [512] 512
    Support for ROM string access (ARCH_ROMGETC) [N/y/?] n
    Enable arch optimized functions (ARCH_OPTIMIZED_FUNCTIONS) [N/y/?] n
    *
    * Thread Local Storage (TLS)
    *
    Thread Local Storage (TLS) (TLS) [N/y/?] n
    *
    * Non-standard Library Support
    *
    Fast CRC64 (LIB_CRC64_FAST) [N/y/?] n
    Keyboard CODEC (LIB_KBDCODEC) [N/y/?] n
    Segment LCD CODEC (LIB_SLCDCODEC) [N/y/?] n
    Intel HEX to binary conversion library (LIB_HEX2BIN) [N/y/?] n
    *
    * Basic CXX Support
    *
    sizeof(_Bool) is 8-bits (C99_BOOL8) [N/y/?] n
    Have C++ compiler (HAVE_CXX) [Y/n/?] y
    Have C++ initialization (HAVE_CXXINITIALIZE) [Y/n/?] y
    size_t is type long (CXX_NEWLONG) [N/y/?] n
    *
    * uClibc++ Standard C++ Library
    *
    Build uClibc++ (must be installed) (UCLIBCXX) [N/y/?] n
    *
    * Examples
    *
    Arch Buttons example (EXAMPLES_ARCHBUTTONS) [N/y/?] (NEW)

    好,回来这个是按键例程。no。

    顺便,上面提到有个库叫 uClibc++ ,貌似nuttx的git里有这个列表,另开一个终端,git它。

    git clone https://bitbucket.org/nuttx/uclibc

    完成

    Buttons driver example (EXAMPLES_BUTTONS) [N/y/?] n
    Verify C++ cctype operations (EXAMPLES_CCTYPE) [N/y/?] (NEW)

    确认C++操作?,不开。

    *
    * AT modem chat utility
    *
    AT modem chat utility (EXAMPLES_CHAT) [N/y/?] n
    Config Data example / unit test (EXAMPLES_CONFIGDATA) [N/y/?] n
    C++ test program (EXAMPLES_CXXTEST) [N/y/?] n
    DHCP server example (EXAMPLES_DHCPD) [N/y/?] n
    ELF Loader Example (EXAMPLES_ELF) [N/y/?] n
    FTP client example (EXAMPLES_FTPC) [N/y/?] n
    FTP server example (EXAMPLES_FTPD) [N/y/?] n
    “Hello, World!” example (EXAMPLES_HELLO) [N/y/?] n
    “Hello, World!” C++ example (EXAMPLES_HELLOXX) [N/y/?] n
    USB HID keyboard example (EXAMPLES_HIDKBD) [N/y/?] n
    IGMP example (EXAMPLES_IGMP) [N/y/?] n
    JSON example (EXAMPLES_JSON) [N/y/?] n
    Keypad test example program (EXAMPLES_KEYPADTEST) [N/y/?] n
    Media test (EXAMPLES_MEDIA) [N/y/?] n
    Memory management example (EXAMPLES_MM) [N/y/?] n
    FreeModBus example (EXAMPLES_MODBUS) [N/y/?] n
    File system mount example (EXAMPLES_MOUNT) [N/y/?] n
    Basic nRF24L01 terminal (EXAMPLES_NRF24L01TERM) [N/y] n
    NuttShell (NSH) example (EXAMPLES_NSH) [Y/n/?] y
    C++ Initialization (EXAMPLES_NSH_CXXINITIALIZE) [Y/n/?] y
    NULL example (EXAMPLES_NULL) [N/y/?] n
    NXFFS file system example (EXAMPLES_NXFFS) [N/y/?] n
    NX graphics “Hello, World!” example (EXAMPLES_NXHELLO) [N/y/?] n
    NX graphics image example (EXAMPLES_NXIMAGE) [N/y/?] n
    NX graphics example (EXAMPLES_NX) [N/y/?] n
    NX graphics lines example (EXAMPLES_NXLINES) [N/y/?] n
    NxTerm example (EXAMPLES_NXTERM) [N/y/?] n
    NX graphics text example (EXAMPLES_NXTEXT) [N/y/?] n
    OS test example (EXAMPLES_OSTEST) [N/y/?] n
    PCA9635 PWM LED example (EXAMPLES_PCA9635) [N/y/?] n
    posix_spawn Unit Test (EXAMPLES_POSIXSPAWN) [N/y/?] n
    pppd client example (EXAMPLES_PPPD) [N/y/?] n
    RFID Read UID example (EXAMPLES_RFID_READUID) [N/y/?] n
    RGB LED Test (EXAMPLES_RGBLED) [N/y/?] n
    RGMP example (EXAMPLES_RGMP) [N/y/?] n
    Sendmail example (EXAMPLES_SENDMAIL) [N/y/?] n
    Serial Blaster example (EXAMPLES_SERIALBLASTER) [N/y/?] n
    Serial RX example (EXAMPLES_SERIALRX) [N/y/?] n
    Serial loopback example (EXAMPLES_SERLOOP) [N/y/?] n
    Segment LCD test (EXAMPLES_SLCD) [N/y/?] n
    SMART file system example (EXAMPLES_SMART) [N/y/?] n
    SMART filesystem test tool (EXAMPLES_SMART_TEST) [N/y/?] n
    SMP example (EXAMPLES_SMP) [N/y/?] n
    Simple TCP echo server (EXAMPLES_TCPECHO) [N/y/?] n
    Telnet daemon example (EXAMPLES_TELNETD) [N/y/?] n
    TIFF file generation example (EXAMPLES_TIFF) [N/y/?] n
    Touchscreen example (EXAMPLES_TOUCHSCREEN) [N/y/?] n
    USB serial terminal example (EXAMPLES_USBTERM) [N/y/?] n
    Watchdog Timer example (EXAMPLES_WATCHDOG) [N/y/?] n
    uIP web server example (EXAMPLES_WEBSERVER) [N/y/?] n
    *
    * Interpreters
    *
    Ficl Forth interpreter (INTERPRETERS_FICL) [N/y/?] n
    Micro Python support (INTERPRETERS_MICROPYTHON) [N/y/?] n
    Mini Basic Interpreter support (INTERPRETERS_MINIBASIC) [N/y/?] (NEW)

    不知名的中断?不开。

    Pascal p-code interpreter (INTERPRETERS_PCODE) [N/y/?] n
    *
    * Disable Individual commands
    *
    Disable addroute (NSH_DISABLE_ADDROUTE) [N/y] n
    Disable basename (NSH_DISABLE_BASENAME) [N/y] n
    Disable cat (NSH_DISABLE_CAT) [N/y] n
    Disable cd (NSH_DISABLE_CD) [N/y] n
    Disable cp (NSH_DISABLE_CP) [N/y] n
    Disable cmp (NSH_DISABLE_CMP) [N/y] n
    Disable date (NSH_DISABLE_DATE) [Y/n] y
    Disable dd (NSH_DISABLE_DD) [N/y] n
    Disable df (NSH_DISABLE_DF) [N/y] n
    Disable delroute (NSH_DISABLE_DELROUTE) [N/y] n
    Disable dirname (NSH_DISABLE_DIRNAME) [N/y] n
    Disable echo (NSH_DISABLE_ECHO) [N/y] n
    Disable exec (NSH_DISABLE_EXEC) [N/y] n
    Disable exit (NSH_DISABLE_EXIT) [N/y] n
    Disable free (NSH_DISABLE_FREE) [N/y] n
    Disable get (NSH_DISABLE_GET) [N/y] n
    Disable help (NSH_DISABLE_HELP) [N/y] n
    Disable hexdump (NSH_DISABLE_HEXDUMP) [N/y] n
    Disable ifconfig (NSH_DISABLE_IFCONFIG) [N/y] n
    Disable ifup/down (NSH_DISABLE_IFUPDOWN) [Y/n] y
    Disable kill (NSH_DISABLE_KILL) [N/y] n
    Disable losetup (NSH_DISABLE_LOSETUP) [N/y] n
    Disable losmart (NSH_DISABLE_LOSMART) [Y/n] y
    Disable ls (NSH_DISABLE_LS) [N/y] n
    Disable mb (NSH_DISABLE_MB) [N/y] n
    Disable mkdir (NSH_DISABLE_MKDIR) [N/y] n
    Disable mkrd (NSH_DISABLE_MKRD) [N/y] n
    Disable mh (NSH_DISABLE_MH) [N/y] n
    Disable mount (NSH_DISABLE_MOUNT) [N/y] n
    Disable mv (NSH_DISABLE_MV) [N/y] n
    Disable mw (NSH_DISABLE_MW) [N/y] n
    Disable printf (NSH_DISABLE_PRINTF) [Y/n] (NEW)

    不开?

    Disable ps (NSH_DISABLE_PS) [N/y] n
    Disable put (NSH_DISABLE_PUT) [N/y] n
    Disable pwd (NSH_DISABLE_PWD) [N/y] n
    Disable rm (NSH_DISABLE_RM) [N/y] n
    Disable rmdir (NSH_DISABLE_RMDIR) [N/y] n
    Disable set (NSH_DISABLE_SET) [N/y] n
    Disable sh (NSH_DISABLE_SH) [N/y] n
    Disable sleep (NSH_DISABLE_SLEEP) [N/y] n
    Disable time (NSH_DISABLE_TIME) [N/y] n
    Disable test (NSH_DISABLE_TEST) [N/y] n
    Disable umount (NSH_DISABLE_UMOUNT) [N/y] n
    Disable uname (NSH_DISABLE_UNAME) [N/y] n
    Disable unset (NSH_DISABLE_UNSET) [N/y] n
    Disable usleep (NSH_DISABLE_USLEEP) [N/y] n
    Disable wget (NSH_DISABLE_WGET) [N/y] n
    Disable xd (NSH_DISABLE_XD) [N/y] n
    *
    * System Libraries and NSH Add-Ons
    *
    *
    * EMACS-like Command Line Editor
    *
    EMACS-like Command Line Editor (SYSTEM_CLE) [N/y/?] n
    *
    * CU minimal serial terminal
    *
    CU minimal serial terminal (SYSTEM_CUTERM) [N/y/?] n
    Custom Free Memory Command (SYSTEM_FREE) [N/y/?] n
    *
    * Intel HEX to binary conversion
    *
    Intel HEX to binary conversion (SYSTEM_HEX2BIN) [N/y/?] n
    *
    * Hex editor
    *
    Hex editor (SYSTEM_HEXED) [N/y/?] n
    FLASH Program Installation (SYSTEM_INSTALL) [N/y/?] n
    RAM Test (SYSTEM_RAMTEST) [N/y/?] n
    *
    * readline() Support
    *
    readline() Support (SYSTEM_READLINE) [Y/?] y
    Echo character input (READLINE_ECHO) [Y/n/?] y
    Tab completion (READLINE_TABCOMPLETION) [N/y/?] n
    Command line history (READLINE_CMD_HISTORY) [N/y/?] n
    *
    * Sudoku
    *
    Sudoku (SYSTEM_SUDOKU) [N/y/?] n
    System Command (SYSTEM_SYSTEM) [N/y/?] (NEW)

    系统命令?干脆直接NO算了。

    Tee Command (SYSTEM_TEE) [N/y/?] (NEW)

    no

    *
    * u-blox modem configuration tool
    *
    u-blox modem configuration tool (SYSTEM_UBLOXMODEM) [N/y/?] n
    *
    * VI Work-Alike Text Editor
    *
    VI Work-Alike Text Editor (SYSTEM_VI) [N/y/?] n
    *
    * Zmodem Commands
    *
    Zmodem Commands (SYSTEM_ZMODEM) [N/y/?] n
    #
    # configuration written to .config
    #
    make[1]: Entering directory ‘/home/godenfreemans/nuttx/nuttx/configs’
    make[1]: Leaving directory ‘/home/godenfreemans/nuttx/nuttx/configs’

    终于完成了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NuttX的学习笔记 2 的相关文章

  • Python爬虫抓取基金数据

    Python做网络爬虫需要学习额外基本知识 xff1a 1 HTML 基金所需的数据都通过HTML网页的形式返回 xff0c 数据和HTML tag通过一定的规范组成渲染后的形成网页 了解HTML是为了有效地剥离数据 2 Python的正则
  • ASN1.c v2x开发记录

    一 工具安装及使用 Asn1c编解码器代码git xff1a https github com vlm asn1c 当前主线版本为0 9 29 发布最新版本为0 9 28 将文件解压后 xff0c 依次执行 xff08 1 xff09 te
  • 高德地图api开发记录

    1 高德地图api使用讲解 https blog csdn net Augenstern QXL article details 120488096 具体的使用可以参考高德官方提供的demo和参考手册 2 地图坐标问题 高德地图使用的地图坐
  • vsphere远程访问ESXI端口

    如果要让VM ESXI在外网供用户访问的话 xff0c 要在路由器上面设置两个端口443 902 其中443 端口 主要 负责 别名 讯息 的 传递 xff0c 而 902 端口 主要 负责 远端 控制台 画面 的 传递 vsphere版本
  • CentOS7 下源码安装MPlayer播放器

    最近学习了build源码安装软件 xff0c 老师布置的习题 xff0c 用所学过的知识安装mplayer播放器 通过上网我了解到在linux系统下 xff0c mplayer播放器十分强大好用 但是 xff0c 在安装的过程中遇到了很多问
  • centos7 安装 mariadb 及安装设置

    使用的是linode的centos7系统 xff0c 安装mysql发现已经默认的是mariadb 但是不管是使用linode官网说明还是百度搜索到的的根本安装方法无法安装成功 总是提示这一句 xff1a ERROR 2002 HY000
  • Win8.1和Centos 7双系统, 磁盘挂在问题,Unable to access “ *** Volume”

    在装好Centos7后 xff0c 打开Win8 1系统磁盘时 xff0c 会有如下提示 xff1a Unable to access 70 GB Volume Error mounting dev sda1 at run media yo
  • 编译原理 FIRST集和FOLLOW集的求法

    前几日纠结于编译原理的First 和 Follow集合的求法 xff0c 然后发现了一片不错的博文 xff0c 记于此 原文地址 xff1a http blog sina com cn s blog a1132bf901011ylj htm
  • 今天装gocoed 出现了%path没有设置,不能进行

    今天安装gocode xff0c 虽然设置了Path xff0c 但是还是因为没有设置好 path xff0c 而不能进行 最终我找到了一篇博文 xff0c 结局了这个问题 windows 用户需要 go get u ldflags H 6
  • Broadcom Corporation BCM43227,Linux下安装网卡驱动

    平时喜欢倒腾 xff0c 特别是电脑系统的安装方面 xff0c 我基本上安装过所有系统 xff0c 在我买电脑的2年时间里 但是 xff0c 一直有个问题困扰着我 xff0c 那就是在Ubuntu xff0c Linux Mint等系统下
  • 官网下载Google Chrome离线安装包

    一直在用Google Chrome浏览器 xff0c 不过安装过chrome 的朋友都知道 xff0c 从Google官方下载安装chrome xff0c 会先下载一个小的安装管理程序 xff0c 安装时再从google 下载所需的安装文件
  • VSCode安装go语言开发环境,go插件问题解决

    在安装go插件时 xff0c 会自动更新很多依赖库文件 xff0c 都是从Github更新下来 xff0c 但是因为Github的文件中 xff0c 多有应用go官网中的文件 xff0c 导致 xff0c 因为网络缘故 xff0c 不能直接
  • VNC连接Ubuntu 16.04桌面灰色的问题解决

    1 安装gnome apt get install no install recommends ubuntu desktop gnome panel gnome settings daemon metacity nautilus gnome
  • Linux用diff比较两个文件的差异

    功能 xff1a 比较两个文件的差异 xff0c 并把不同地方的信息显示出来 语法 xff1a diff options FILES FILES的格式 xff1a FILE1 FILE2 xff1a 源是一个文件 xff0c 目标也是文件
  • 基于Qt的GPS导航系统软件源代码

    博主按 xff1a 这是我当初为了学习C 43 43 而给自己定的一个项目 xff0c 基本上实现了 通过这个项目可以说基本上掌握了C 43 43 和Qt的编程 现在将源码贡献出来给初学Qt的同志一些参考 当然其中肯定有不少地方是有问题的
  • (二十)ATP应用测试平台——websocket实现微服务版在线客服聊天室实战案例

    前言 在前面的博客内容中我们介绍了如何使用websocket实现一个网页版的在线客服聊天室 xff0c 众所周知 xff0c 由于websocket是一个长连接 xff0c 要和服务端保持会话连接 xff0c 所以其本身并不适用于微服务环境
  • 启动vncserver服务,并设置开机自启

    systemctl start vncserver 64 1 service amp amp systemctl enable vncserver 64 1 service 无论你是做网站工作 xff0c 还是运行一个家庭远程服务器 xff
  • "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

    参考资料 xff1a https blog lmlphp com archives 437 PHP 7 3 classic error continue targeting switch 找到代码那一行 xff0c 修改 xff0c 保存即
  • SLAM学习笔记2:Kalman Filter(卡尔曼滤波) 与Least Square(最小二乘法) 的比较

    对于一个问题的解决 xff0c 最根本在于怎样对它进行数学建模 对SLAM问题的建模 xff0c 基本上是基于filter和graph两大类 xff0c 今天整理了一下 xff0c 对比两种模型的区别及共性 主要参考这篇讲解 xff1a h
  • RTC实时时钟特征与原理

    RTC定义 RTC是个独立的定时器 RTC模块拥有一个连续计数的计数器 xff0c 在相应的软件配置下 xff0c 可以提供时钟日历的功能 修改计数器的值可以重新设置当前时间和日期 RTC模块和时钟配置系统 RCC BDCR寄存器 是在后备

随机推荐

  • 树莓派配置,小白教程,无键盘显示屏鼠标

    树莓派配置 xff0c 小白教程 xff0c 无键盘显示屏鼠标 实验步骤 xff1a xff08 1 xff09 在树莓派官网下载树莓派的系统 树莓派官网下载地址 xff1a http www raspberrypi org downloa
  • CAN总线综述-转发一篇关于CAN总线的详细介绍文章

    CAN总线 一 原文出处 xff1a http www cnblogs com jacklu p 4729638 html 嵌入式的工程师一般都知道CAN总线广泛应用到汽车中 xff0c 其实船舰电子设备通信也广泛使用CAN xff0c 随
  • Python 安装 MaxMind GeoLite City

    1 先安装 geoip c library geoip c library gt 61 1 4 6 installed on your machine gt 61 1 4 6 installed on your machine wget h
  • 华为MA5626-8密码恢复

    设备型号 xff1a 华为MA5626 8 display version VERSION MA5626V800R308C00 PATCH SPC500 SPH505 HP5105 PRODUCT MA5626 准备工作 xff1a 超级终
  • SNMP 获取交换机端口相关信息

    我们想用snmpwalk查看网络设备的端口 xff0c MIB库中相关定义的信息如下 xff1a root 64 redcock lifeng snmpwalk v 2c c lifeng 192 168 100 100 注意后面的点 xf
  • phpMyAdmim和Yii 连接Mysql报错。

    故障 xff1a 之前phpMyAdmim和Yii连接Mysql都好着的 xff0c 某天 xff0c 同时出现如下报错 xff1a 1 linux下phpMyAdmin 出现 缺少 mysqli 扩展 xff0c 请检查 PHP 配置 2
  • linux shell 执行多个命令的方法

    xff08 1 xff09 在每个命令之间用 xff1b xff08 分号 xff09 隔开 xff08 2 xff09 在每个命令之间用 amp amp 隔开 amp amp 表示 xff1a 若前一个命令执行成功 xff0c 才会执行下
  • ARP 属于哪层协议

    教材上把ARP 协议划到网络层 xff0c 是因为 ARP 协议属于 TCP IP 协议簇 在TCP IP 模型中 xff0c 它所有定义的协议是在网际层上的 再看按照OSI 的标准 xff0c 数据在传递时每层会加上自己的信息 当网络层的
  • 什么叫一层交换机,二层交换机,三层交换机?

    转自 xff1a http blog csdn net happypolo article details 5934429 简单地说 xff1a 一层交换机 只支持物理层协议 电话程控交换机可以算一个 二层交换机 支持物理层和数据链路层协议
  • Linux Shell 脚本中字符串的连接方法

    Linux Shell 脚本中字符串的连接方法 如果想要在变量后面添加一个字符 xff0c 可以用一下方法 xff1a value1 61 home value2 61 value1 34 61 34 echo value2 把要添加的字符
  • linux 如何将路径加入环境变量

    PATH 61 PATH 后面加路径 PATH是环境变量 要大写那几个目录是你放置linux命令的目录 输入命令后系统会去PATH中寻找是否存在该命令 查看当前环境变量 echo PATH也可以用set命令看一下设置 export PATH
  • expect spawn、linux expect 用法

    使用expect实现自动登录的脚本 xff0c 网上有很多 xff0c 可是都没有一个明白的说明 xff0c 初学者一般都是照抄 收藏 可是为什么要这么写却不知其然 本文用一个最短的例子说明脚本的原理 脚本代码如下 xff1a usr bi
  • python 调用 shell python shell 间变量传递

    python gt shell xff1a 1 环境变量 python view plain copy print import os var 61 123 或var 61 123 os environ var 61 str var env
  • vSphere,ESXi和vCenter 的区别

    最近在看 VMware 一直没有搞清楚这几个产品之间的区别和联系 正好在网上搜索到一个好文 xff0c 翻译下来 本文翻译自 xff1a http www mustbegeek com difference between vsphere
  • equals和hashCode详解

    在学习的过程中 xff0c 特别是学习集合的时候 xff0c equals和hashCode一直是经常出现的方法 xff0c 而且在面试题中 xff0c 也经常出现equals和 61 61 的区别等问题 xff0c 现在我们就从底层详细的
  • NuttX的应用记录 4 (小记录)

    好久没看过NuttX了 xff0c 做个移植试一试 板子是STM32F407ZE xff0c 有两块屏幕 xff0c 蜂鸣器 xff0c FLASH xff0c E2PROM xff0c LED 先找个类似的 xff0c 复制一个副本 st
  • PetaLinux学习笔记 3

    过年回家没带开发板 终于可以搞一搞了 更新petaLinux到2019 2 重建项目 xff0c flash调整一下 启动过程中提示 xff1a m25p80 spi0 0 found w25q256 expected n25q512a m
  • 高云GW1N-9的SerDes笔记

    GW1NR 9的片子 xff1a 看起来还是很强的 xff0c 但是在工程中使用后会这样提示 xff1a 看起来有点虚标啊 那就按1G来先 xff0c 做个后仿 直接用OSER来输出数据 看起来还可以 输出可以 在做一个输入 xff0c 根
  • NuttX的学习笔记 1

    学习这个系统 xff0c 开始是在PIX的飞控上了解到的 xff0c 感觉这个系统很有兴趣 xff0c 当然 xff0c 这是我第一次接触RTOS xff0c 有不正确的地方 xff0c 请予以指正 注意 过程是我边操作边写的 xff0c
  • NuttX的学习笔记 2

    README文档目录的第二部分 Configuring NuttX Instantiating Canned ConfigurationsRefreshing ConfigurationsNuttX Configuration ToolFi