From 34bae015df48e6a829d885782c627cf5fcc3679f Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sun, 19 Nov 2017 13:31:04 -0600 Subject: [PATCH] Squashed commit of the following: libnx/nxfonts: Cosmetic; reduce amount of debug output. configs/open1788/pdcurses: Add a configuration for testing pdcurses. --- configs/open1788/README.txt | 135 ++++++++++++++-------------- configs/open1788/pdcurses/defconfig | 64 +++++++++++++ libnx/nxfonts/nxfonts_getfont.c | 12 ++- 3 files changed, 140 insertions(+), 71 deletions(-) create mode 100644 configs/open1788/pdcurses/defconfig diff --git a/configs/open1788/README.txt b/configs/open1788/README.txt index b5d66c7970..85e557397d 100644 --- a/configs/open1788/README.txt +++ b/configs/open1788/README.txt @@ -245,6 +245,44 @@ Loading Code with the ISP Board CONFIGURATION ============= +Information Common to All Configurations +---------------------------------------- + + 1. These configurations use the mconf-based configuration tool. To + change this configuration using that tool, you should: + + a. Build and install the kconfig-mconf tool. See nuttx/README.txt + see additional README.txt files in the NuttX tools repository + README.txt. + + b. Execute 'make menuconfig' in nuttx/ in order to start the + reconfiguration process. + + 2. Most (but not all) configurations use the "GNU Tools for ARM + Embedded Processors" that is maintained by ARM: + + https://developer.arm.com/open-source/gnu-toolchain/gnu-rm + + unless otherwise stated. + + That toolchain selection can easily be reconfigured using + 'make menuconfig'. Here are the relevant current settings: + + Build Setup: + CONFIG_HOST_WINDOWS=y : Window environment + CONFIG_WINDOWS_CYGWIN=y : Cywin under Windows + + System Type -> Toolchain: + CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU ARM EABI toolchain + + 3. By Default, UART0 is used as the serial console in all configurations. + This may be connected to your computer via an external RS-232 driver or + via the WaveShare USB ISP/VCOM module. See the section above entitled + "Serial Console" for other options. + +Configuration Directories +------------------------- + fb -- @@ -256,32 +294,7 @@ CONFIGURATION NOTES: - 1. This configuration uses the mconf-based configuration tool. To - change this configuration using that tool, you should: - - a. Build and install the kconfig-mconf tool. See nuttx/README.txt - see additional README.txt files in the NuttX tools repository - README.txt. - - b. Execute 'make menuconfig' in nuttx/ in order to start the - reconfiguration process. - - 2. This configuration uses the "GNU Tools for ARM Embedded Processors" - that is maintained by ARM: - - https://developer.arm.com/open-source/gnu-toolchain/gnu-rm - - That toolchain selection can easily be reconfigured using - 'make menuconfig'. Here are the relevant current settings: - - Build Setup: - CONFIG_HOST_WINDOWS=y : Window environment - CONFIG_WINDOWS_CYGWIN=y : Cywin under Windows - - System Type -> Toolchain: - CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU ARM EABI toolchain - - 3. In this configuration, the SDRAM is not added to heap but is + 1. In this configuration, the SDRAM is not added to heap but is dedicated to supporting an LCD frame buffer at address 0xa0010000. knsh @@ -299,24 +312,13 @@ CONFIGURATION Make the user-space binaries first (pass1), then make the kernel-space binaries (pass2) - NOTES: - - 1. This configuration uses the mconf-based configuration tool. To - change this configuration using that tool, you should: - - a. Build and install the kconfig-mconf tool. See nuttx/README.txt - see additional README.txt files in the NuttX tools repository. - - b. Execute 'make menuconfig' in nuttx/ in order to start the - reconfiguration process. - - 2. Uses the older, OABI, buildroot toolchain. But that is easily + 1. Uses the older, OABI, buildroot toolchain. But that is easily reconfigured: CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y : Buildroot toolchain CONFIG_ARMV7M_OABI_TOOLCHAIN=y : Older, OABI toolchain - 3. This configuration has DMA-based SD card support enabled by + 2. This configuration has DMA-based SD card support enabled by default. That support can be disabled as follow: CONFIG_LPC17_GPDMA=n : No DMA @@ -326,7 +328,7 @@ CONFIGURATION CONFIG_MMCSD=n : No MMC/SD driver support CONFIG_FS_FAT=n : No FAT file system support - 4. At the end of the build, there will be several files in the top-level + 3. At the end of the build, there will be several files in the top-level NuttX build directory: PASS1: @@ -348,7 +350,7 @@ CONFIGURATION load objects twice to account for write failures. I have not yet found a simple foolproof way to reliably get the code into FLASH. - 5. Combining .hex files. If you plan to use the .hex files with your + 4. Combining .hex files. If you plan to use the .hex files with your debugger or FLASH utility, then you may need to combine the two hex files into a single .hex file. Here is how you can do that. @@ -399,25 +401,16 @@ CONFIGURATION NOTES: - 1. This configuration uses the mconf-based configuration tool. To - change this configuration using that tool, you should: - - a. Build and install the kconfig-mconf tool. See nuttx/README.txt - see additional README.txt files in the NuttX tools repository./README.txt. - - b. Execute 'make menuconfig' in nuttx/ in order to start the - reconfiguration process. - - 2. Uses the older, OABI, buildroot toolchain. But that is easily + 1. Uses the older, OABI, buildroot toolchain. But that is easily reconfigured: CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y : Buildroot toolchain CONFIG_ARMV7M_OABI_TOOLCHAIN=y : Older, OABI toolchain - 3. This NSH has support for built-in applications enabled, however, + 2. This NSH has support for built-in applications enabled, however, no built-in configurations are built in the defulat configuration. - 4. This configuration has DMA-based SD card support enabled by + 3. This configuration has DMA-based SD card support enabled by default. That support can be disabled as follow: CONFIG_LPC17_GPDMA=n : No DMA @@ -427,12 +420,12 @@ CONFIGURATION CONFIG_MMCSD=n : No MMC/SD driver support CONFIG_FS_FAT=n : No FAT file system support - 5. This configuration has been used for verifying SDRAM by modifying + 4. This configuration has been used for verifying SDRAM by modifying the configuration in the following ways: CONFIG_LPC17_EMC=y : Enable the EMC - CONFIG_LPC17_EXTDRAM=y : Configure external DRAM - CONFIG_LPC17_EXTDRAMSIZE=67108864 : DRAM size 2x256/8 = 64MB + CONFIG_LPC17_EXTDRAM=y : Configure external DRAM + CONFIG_LPC17_EXTDRAMSIZE=67108864 : DRAM size 2x256/8 = 64MB CONFIG_SYSTEM_RAMTEST=y : Enable the RAM test built-in In this configuration, the SDRAM is not added to heap and so is @@ -460,7 +453,7 @@ CONFIGURATION CONFIG_SPI_EXCHANGE=n : exchange() method is not supported System Type: - CONFIG_LPC17_GPIOIRQ=y : GPIO interrupt support + CONFIG_LPC17_GPIOIRQ=y : GPIO interrupt support CONFIG_LPC17_SSP1=y : Enable support for SSP1 RTOS Features: @@ -514,22 +507,26 @@ CONFIGURATION NOTES: - 1. This configuration uses the mconf-based configuration tool. To - change this configuration using that tool, you should: - - a. Build and install the kconfig-mconf tool. See nuttx/README.txt - see additional README.txt files in the NuttX tools repository - README.txt. - - b. Execute 'make menuconfig' in nuttx/ in order to start the - reconfiguration process. - - 2. Uses the older, OABI, buildroot toolchain. But that is easily + 1. Uses the older, OABI, buildroot toolchain. But that is easily reconfigured: CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y : Buildroot toolchain CONFIG_ARMV7M_OABI_TOOLCHAIN=y : Older, OABI toolchain - 3. In this configuration, the SDRAM is not added to heap but is + 2. In this configuration, the SDRAM is not added to heap but is + dedicated to supporting an LCD frame buffer at address 0xa0010000. + + pdcurses + ------- + + A simple NSH configuration used for some basic (non-graphic) debug of + the framebuffer character drivers using both apps/examples/pdcurses and + apps/examples/fb as NSH built-in applications. This configuration + enables SDRAM to hold the LCD framebuffer and enables the LPC178x LCD + driver in order to support the WaveShare 4.3 inch TFT panel. + + NOTES: + + 1. In this configuration, the SDRAM is not added to heap but is dedicated to supporting an LCD frame buffer at address 0xa0010000. diff --git a/configs/open1788/pdcurses/defconfig b/configs/open1788/pdcurses/defconfig new file mode 100644 index 0000000000..f0095b5f7d --- /dev/null +++ b/configs/open1788/pdcurses/defconfig @@ -0,0 +1,64 @@ +# CONFIG_NSH_DISABLE_IFCONFIG is not set +# CONFIG_NSH_DISABLE_PS is not set +CONFIG_ARCH_BOARD_OPEN1788=y +CONFIG_ARCH_BOARD="open1788" +CONFIG_ARCH_CHIP_LPC1788=y +CONFIG_ARCH_CHIP_LPC17XX=y +CONFIG_ARCH_STACKDUMP=y +CONFIG_ARCH="arm" +CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y +CONFIG_BCH=y +CONFIG_BOARD_LOOPSPERMSEC=11934 +CONFIG_BUILTIN=y +CONFIG_DEV_LOOP=y +CONFIG_DRIVERS_VIDEO=y +CONFIG_EXAMPLES_FB=y +CONFIG_EXAMPLES_NSH=y +CONFIG_EXAMPLES_PDCURSES=y +CONFIG_FAT_LCNAMES=y +CONFIG_FAT_LFN=y +CONFIG_FS_FAT=y +CONFIG_FS_ROMFS=y +CONFIG_GRAPHICS_PDCURSES=y +CONFIG_HOST_WINDOWS=y +CONFIG_INTELHEX_BINARY=y +CONFIG_LPC17_EXTDRAM=y +CONFIG_LPC17_EXTDRAMSIZE=67108864 +CONFIG_LPC17_GPDMA=y +CONFIG_LPC17_LCD=y +CONFIG_LPC17_SDCARD=y +CONFIG_LPC17_UART0=y +CONFIG_MAX_TASKS=16 +CONFIG_MAX_WDOGPARMS=2 +CONFIG_MM_REGIONS=2 +CONFIG_MMCSD_SDIO=y +CONFIG_MMCSD=y +CONFIG_NFILE_DESCRIPTORS=8 +CONFIG_NFILE_STREAMS=8 +CONFIG_NSH_ARCHINIT=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_FILEIOSIZE=512 +CONFIG_NSH_READLINE=y +CONFIG_NXFONTS_DISABLE_24BPP=y +CONFIG_NXFONTS_DISABLE_2BPP=y +CONFIG_NXFONTS_DISABLE_32BPP=y +CONFIG_NXFONTS_DISABLE_4BPP=y +CONFIG_NXFONTS_DISABLE_8BPP=y +CONFIG_PIPES=y +CONFIG_PREALLOC_MQ_MSGS=4 +CONFIG_PREALLOC_TIMERS=4 +CONFIG_PREALLOC_WDOGS=4 +CONFIG_RAM_SIZE=65536 +CONFIG_RAM_START=0x10000000 +CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_HPWORK=y +CONFIG_SCHED_HPWORKPRIORITY=192 +CONFIG_SCHED_WAITPID=y +CONFIG_START_DAY=19 +CONFIG_START_MONTH=11 +CONFIG_SYMTAB_ORDEREDBYNAME=y +CONFIG_TASK_NAME_SIZE=0 +CONFIG_UART0_SERIAL_CONSOLE=y +CONFIG_USER_ENTRYPOINT="nsh_main" +CONFIG_VIDEO_FB=y +CONFIG_WDOG_INTRESERVE=0 diff --git a/libnx/nxfonts/nxfonts_getfont.c b/libnx/nxfonts/nxfonts_getfont.c index afe0f7bc68..bcc6169929 100644 --- a/libnx/nxfonts/nxfonts_getfont.c +++ b/libnx/nxfonts/nxfonts_getfont.c @@ -480,7 +480,7 @@ static inline FAR const struct nx_fontset_s * { /* Someday, perhaps 16-bit fonts will go here */ - gerr("ERROR: 16-bit font not currently supported\n"); + gwarn("WARNING: 16-bit font not currently supported\n"); return NULL; } @@ -491,7 +491,15 @@ static inline FAR const struct nx_fontset_s * return fontset; } - gerr("ERROR: No bitmap for code %02x\n", ch); + /* Too much debug output for the case of space which never resides in the + * font. + */ + + if (ch != ' ') + { + gwarn("WARNING: No bitmap for code %02x\n", ch); + } + return NULL; }