Commit Graph

1753 Commits

Author SHA1 Message Date
xuanlin 7e63b0b288 sched/wqueue, libs/libc/wqueue, configs: Remove work queue polling delay to simplify the code logic and save the power. 2018-08-25 14:58:07 -06:00
Xiang Xiao 377eb30129 binfmt: Add binfmt_initialize(). All binary formats are now registered centrally vs. in board-specific logic. This simplifies the usage of the binfmt subsystem. 2018-08-23 09:09:39 -06:00
Gregory Nutt d52561fbef Update NSH documention to describe the optional mode argument to the poweroff and reboot commands. 2018-08-22 17:03:25 -06:00
Gregory Nutt c9792c74f7 Trivial change to Coding Standard document. 2018-08-22 06:03:56 -06:00
Gregory Nutt 993888fc97 Another tiny update to the coding standard just to make a point a little clearer. 2018-08-21 15:30:50 -06:00
Gregory Nutt 07ef3fe018 Another update to the coding standard; Add some comments detailing the POSIX non-compliance in include/signal.h 2018-08-21 15:27:37 -06:00
Gregory Nutt 30d7dbd9a6 Update C Coding standard again. Correct some comments in tools/nxstyle.c 2018-08-21 13:32:05 -06:00
Gregory Nutt b0d8a2d31f Update C coding standard. 2018-08-21 12:56:36 -06:00
Gregory Nutt bbad69ab61 Change all occurrences of CONFIG_EXAMPLES_NSH* to CONFIG_SYSTEM_NSH* to match changes in the apps/ directory. 2018-08-18 09:14:59 -06:00
Gregory Nutt a9b1940c95 Documentation/NuttX.html: Add note about CDC/ECM 2018-08-16 10:46:44 -06:00
Gregory Nutt 8c61c2f31b Remove trailing spaces at the end of lines. 2018-08-13 07:39:38 -06:00
Gregory Nutt 81c6bda341 Update README files 2018-08-13 07:22:00 -06:00
Gregory Nutt 45e61f1138 Documentation/NuttShell.html: Back out a removed feature. 2018-08-12 06:18:22 -06:00
Gregory Nutt 95e3b9ab8b Documentation/NuttShell.html: Back out part of commit 288a083d91 2018-08-11 10:50:29 -06:00
Gregory Nutt 288a083d91 Documentation/NuttShell.html: Another update to the NSH documentation. 2018-08-11 10:17:38 -06:00
Gregory Nutt 5d791547dd Documentation/NuttShell.html: Document recent changes to NSH. 2018-08-11 08:23:25 -06:00
Gregory Nutt 17c18a1347 tools/kconfig2html.c: Update tool to handle tristate types. Fix a few errors detected in Kconfig files. 2018-08-10 17:30:17 -06:00
Gregory Nutt 41bfe821d0 Documentation/NuttxPortingGuide.html: Update some directory structure information. This document is very out of date. 2018-08-10 16:12:32 -06:00
Gregory Nutt 3973640fff Update some comments. Remove references to non-existent CONFIG_MAX_TASK_ARG. 2018-08-08 17:06:46 -06:00
Gregory Nutt 8d68d9ca43 arch/arm/src/stm32, stm32f7, stm32l4, and related defconfig files: The STM32 RTC driver was being selected by the global CONFIG_RTC option. That is in correct. For example, if you want to disabled the STM32 RTC and use an external RTC you cannot because the external RTC also depends on the global CONFIG_RTC. The solution is to add a new CONFIG_STM32xx_RTC configuration option the permits to you select or deselect the STM32 RTC but still be able to selecte the external RTC. 2018-08-08 12:42:04 -06:00
Gregory Nutt 4becaea8e3 This commit extends support for the two-pass build. Its primary purpose is to incorporate source logic generated by applications into the kernel phase of the build.
In the two pass build, the application logic is built during the first phase, pass 1.  In that phase, the application may generate and install source files in the pass1/directory.  The operating system is built during phase 2 of the build.  At that time, those source files in the pass1/ directory will be built and incorporated into the kernel address space.

The primary purpose of the pass1/ directory is to such application-generated kernel symbol tables.  For an example of the use of this feature, look at apps/examples/module/drivers/Makefile.  Kernel symbol tables are needed to support kernel modules.  Of course, addition board-specific logic in, say, configs/<board>/src would have to be included to make use of the application-installed symbol tables.
2018-08-07 08:31:00 -06:00
Gregory Nutt a9d713bbcc This is the initial commit the port to the SAMD5x/E5x MCU family and also support for the Adafruit Metro M4 board. It port is untested and unfinished. It currently will not even link due to some missing clock related logic.
Squashed commit of the following:

    arch/arm/src/samd5e5: Clean-up EIC logic.
    arch/arm/src/samd5e5:  Fix some compilation issues; Still issues with the EIC logic from samd2x.
    arch/arm/src/samd5e5:  Fix some compilation issues; bring in some EIC logic from samd2x.
    arch/arm/src/samd5e5:  Add NVMCTRL header file, fix some compiler problems, misc. clean-up.
    configs/metro-m4:  Add LED support.
    arch/arm/src/samd5e5:  Bring in SAML21 clock configuration.  This is a WIP; it cannot possible even compile yet.
    arch/arm/src/samd5e5:  Leverage Cortex-M4 interrupt and SysTick logic from the SAM3/4.
    arch/arm/src/samd5e5: Add SERCOM utility function.
    arch/arm/src/samd5e5:  Bring all SERCOM USART logic from SAMD2L2 to SAMD5E5.  This is a brute coy with nothing more than more that name changes and extension from 5 to 7 SERCOMs.
    arch/arm/src/samd5e5: Add sam_config.h header file
    arch/arm/src/samd5e5/:  Add Generic Clock (GCLK) utility functions.
    arch/arm/src/samd5e5:  Add EVSYS register definition file
    arch/arm/src/samd5e5 and configs/metro-m4:  Use SERCOM3 for the Arduino serial shield as console.
    arch/arm/src/samd5e5/chip:  Add SERCOM USART, SPI, I2C master, and slave register defintions header files
    arch/arm/src/samd5e5/chip:  Add AES, PM, TRNG, and WDT header files.
    arch/arm/src/samd5e5/chip:  Add pin multiplexing header files.
    Various fixes to configuration system; fix metro-m4/nsh defconfig file.
    configs/metro-m4:  Add initial support for the Adafruit Metro M4 board.
    arch/arm/src/samd5e5:  Add peripheral clock helpers.
    arch/arm/src/samd5e5/chip:  Add PAC register definition header file.  Fix some errors in the memory map header file.
    arch/arm/src/samd5e5:  Add chip.h headerf file.
    arch/arm/src/samd5e5:  Add PORT register definitions and support from SAML21.
    arch/arm/include/samd5e5:  Add interrupt vector definitions.
    arch/arm/src/samd5e5:  Add some boilerplate files.  Correct some typos.
    arch/arm/src/samd5e5/chip/sam_eic.h:  Add EIC register definitions.
    arch/arm/src/samd5e5/chip:  Add OSC32KCTRL and OSCCTRL register definitions.
    arch/arm/src/samd5e5/chip:  Add GCLK, MCLK, and RSTC header files.
    arch/arm/src/samd5e5/chip/sam_cmcc.h:  Add CMCC register definitions
    arch/arm/src/samd5e5/chip/sam_supc.h:  Add SUPC header file.
    arch/arm/src/samd5e5:  Add start-up logic.
    arch/arm/src/samd5e5:  Add Make.defs file
    arch/arm/src/samd5e5/chip:  Add memory map header file.
    arch/arm/include/samd5e5:  Add chip.h header file.
    arch/arm/Kconfig and arch/arm/src/samd5e5/Kconfig:  Add configuration logic for the SAMD5x/Ex family.
2018-07-26 12:12:08 -06:00
Gregory Nutt 788c5bf1dd Forgot to add files before previous commit. 2018-07-19 09:07:20 -06:00
Gregory Nutt a1cddfbc8c Update READMEs 2018-07-18 08:46:53 -06:00
Gregory Nutt 4c67062457 Squashed commit of the following:
binfmt/, libs/libc/unistd, and others:  Rename CONFIG_EXECFUNCS_SYMTAB to CONFIG_EXECFUNCS_SYMTAB_ARRAY.  Rename CONFIG_EXECFUNCS_NSYMBOLS to CONFIG_EXECFUNCS_NSYMBOLS_VAR.  Unlike CONFIG_EXECFUNCS_NSYMBOLS, CONFIG_EXECFUNCS_NSYMBOLS_VAR holds the name of an 'int' variable that contains the number of symbols in the symbol table.

    configs/sama5d4-ek:  Partial update to knsh build instructions.
2018-07-15 11:20:37 -06:00
Gregory Nutt 15f07b81d2 Upate the NuttX.html 'About NuttX' document; update a README file. 2018-07-12 14:25:11 -06:00
Alan Carvalho de Assis 283b73edc5 Fix lots of typos in C comments and Kconfig help text 2018-07-08 18:24:45 -06:00
Gregory Nutt 22cd0d47fa This commit attempts remove some long standard confusion in naming and some actual problems that result from the naming confusion. The basic problem is the standard MTU does not include the size of the Ethernet header. For clarity, I changed the naming of most things called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now CONFIG_NET_ETH_PKTSIZE.
This makes the user interface a little hostile.  People thing of an MTU of 1500 bytes, but the corresponding packet is really 1514 bytes (including the 14 byte Ethernet header).  A more friendly solution would configure the MTU (as before), but then derive the packet buffer size by adding the MAC header length.  Instead, we define the packet buffer size then derive the MTU.

The MTU is not common currency in networking.  On the wire, the only real issue is the MSS which is derived from MTU by subtracting the IP header and TCP header sizes (for the case of TCP).  Now it is derived for the PKTSIZE by subtracting the IP header, the TCP header, and the MAC header sizes.  So we should be all good and without the recurring 14 byte error in MTU's and MSS's.

Squashed commit of the following:

    Trivial update to fix some spacing issues.
    net/: Rename several macros containing _MTU to _PKTSIZE.
    net/: Rename CONFIG_NET_SLIP_MTU to CONFIG_NET_SLIP_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_6LOWPAN_MTU to CONFIG_NET_6LOWPAN_PKTSIZE and similarly for CONFIG_NET_TUN_MTU.  These are not the MTU which does not include the size of the link layer header.  These are the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename CONFIG_NET_ETH_MTU to CONFIG_NET_ETH_PKTSIZE.  This is not the MTU which does not include the size of the link layer header.  This is the full size of the packet buffer memory (minus any GUARD bytes).
    net/: Rename the file d_mtu in the network driver structure to d_pktsize.  That value saved there is not the MTU.  The packetsize is the memory large enough to hold the maximum packet PLUS the size of the link layer header.  The MTU does not include the link layer header.
2018-07-04 14:10:40 -06:00
Juha Niskanen 044d538da3 Fix some errors found during upstream merge 2018-06-28 07:06:57 -06:00
Gregory Nutt fe592d502c include/limits.h: Fix a signed-ness error introduced in a recent commit. Documentation/: Update acronym list. 2018-06-23 17:43:55 -06:00
Gregory Nutt 34aeb08722 Documentation/: Remove some old, early prototype NuttX logo images. 2018-06-23 16:23:13 -06:00
Gregory Nutt 5393622d07 Documentation/NuttShell.html: Clarify arguments to the mkrd command. 2018-06-22 11:34:31 -06:00
Gregory Nutt 0eb9a05b9e Update Documentation/NuttX.html in preparation for the NuttX-7.25 release. 2018-06-03 08:32:47 -06:00
Gregory Nutt 1c4bdfd8fc libs/libdsp: Trivial typo fixes from review of last PR; hook README file into documentation. 2018-05-30 06:49:48 -06:00
Gregory Nutt 4697a74cc7 libs/: Add a README file. 2018-05-29 13:44:12 -06:00
Gregory Nutt a540806ecf configs/indium-f7: Removes support for the Indium-F7 board. This was done for two reasons: (1) The board support was just clone of the Nucleo-144 board support with naming changes. There has been no support and no further development for the board support. (2) There does not seem to be any available Indium-F7 board available to the public anywhere on the internet. There is not even a reference to the board on the rafresearch.com web stie. Gotta go. Its in the way. 2018-05-24 13:09:20 -06:00
Gregory Nutt 9da3d4a2a9 drivers/lcd and configs/olimex-lpc1766stk: Remove support for the Nokia6100 LCD. That LCD uses a 9-bit SPI interface (the 9th bit being the command/data bit that is normally a discrete). That communication was never successfully integrated. I now believe that it would would require some special support from the low-level, MCU SPI driver to manage that 9th bit. The deleted code is still available in the Obsoleted repository in the nuttx/drivers/lcd, nuttx/configs/olimex-lpc1766stk, and Patches directories. 2018-05-19 16:46:21 -06:00
Gregory Nutt f11dec3e20 Documentation/NuttShell.html: Document the mkfatfs the -r option which can be used to specify the number of entries in the FAT12/FAT16 root directory. 2018-05-11 09:52:08 -06:00
Gregory Nutt f12f2c3828 Documentation: Use a little more care with the trademarked Unix name. 2018-05-11 08:15:51 -06:00
Gregory Nutt 50106f0d2a Fix a couple more reference to cd'ing to tools before executing configure.sh. 2018-05-09 17:04:00 -06:00
Gregory Nutt d2def725d9 This commits adds initial support for the Kinetis Freedom-K28F board. Not you ready for prime time.
Squashed commit of the following:

    arch/arm/src/kinetis:  A fixes from first (unsuccessful) attempt to build the Freedom-K28F configuration.
    configs/freedom-k28f:  Add basic board support for Freedom-K28F.  Initial commit is basically just the Teensy-3.x brought up to date and with name changes.
2018-05-02 13:14:32 -06:00
Gregory Nutt f4cc435b3f Fix a couple of typos in a README file. 2018-04-21 12:30:14 -06:00
Gregory Nutt 524c0884a6 Update for new README.txt file. 2018-04-21 12:26:26 -06:00
Ivan Ucherdzhiev 1672f8d0ce configs/tms570ls31x-usb-kit: Adds support for the TI Hercules TMS570LS31x USB Kit 2018-04-18 09:21:38 -06:00
Juha Niskanen 8814533e78 Documentation: remove non-existent CONFIG_NSH_TMPDIR from docs 2018-04-17 05:55:57 -06:00
Gregory Nutt e470846356 Remove all references to the Yahoo group. 2018-04-15 17:15:48 -06:00
Ivan Ucherdzhiev cf8c25df64 This commit brings in basic support fo the i.MX RT 1050 'crossover' SoC. The basic support is complete and compiles without error, but is still untested.
This port was the joing effort of Janne Rosberg, Ivan Ucherdzhiev, and myself.  I give credit to Ivan for the kill because he is the one to held on to the end.

Squashed commit of the following:

  Author: Gregory Nutt <gnutt@nuttx.org>
    configs/imxrt1050-evk/scripts:  Add section to linker script to handle the case where RAMFUNCs are enabled.  RAMFUNCs appear to be enabled in the default configuration ... they probably should not be enabled.

  Author: Ivan Ucherdzhiev <ivanucherdjiev@gmail.com>
    arch/arm/src/imxrt:  imxrt_lowputc.c is finished. Now everything needed for the initial port is done and ready for testing.
    arch/arm/src/imxrt:  Add logic to imxrt_lowputc.c.  Still incomplete.

  Author: Ivan Ucherdzhiev <ivanucherdjiev@gmail.com>
    arch/arm/src/imxrt:  Add serial support.  configs/imxrt1050-evk:  Add linker script.

  Author: Gregory Nutt <gnutt@nuttx.org>
    arch/arm/src/imxrt:  Add initial cut at imxrt_allocateheap.c

  Author: Ivan Ucherdzhiev <ivanucherdjiev@gmail.com>
    arm/arm/src/imxrt:  Completes all definitions for PADMUX, CTLMUX, and IOMUX_INPUT and mapping tables on imxrt_gpio.c and imxr_iomuxc.c.
    arch/arm/src/imxrt/chip:  Add definitions for IMXRT_PADCTL and IMXRT_PADMUX registers.  Only the IMXRT_INPUT definitions in this commit.
    arch/arm/src/imxrt/chip:  Add more IOMUXC register definitions.

  Author: Gregory Nutt <gnutt@nuttx.org>
    configs/imxrt1050-evk:  Add STRIP definition to Make.defs.
    arch/arm/src/imxrt:  Bring in i.MX6 memory configuration settings.
    arch/arm/src/imxrt:  Remove call to non-existent imxrt_gpioinit() from imxrt_start.c.
    arch/arm/src/imxrt:  Bring in incomplete imxrt_iomuxc.c file from i.mx6.
    arch/arm/src/imxrt:  Add first cut at GPIO interrupt logic.
    arch/arm/include:  Add definitions to support a second level of GPIO pin interrupts.

  Author: Janne Rosberg <janne.rosberg@offcode.fi>
    arch/arm/src/imxrt:  Add imxrt_wdog.c/.h

  Author: Gregory Nutt <gnutt@nuttx.org>
    arch/arm/src/imxrt:  Port SAMv7 interrupt logic to imxrt_irq.c.
    arch/arm/src/imxrt:  More clarification of the start-up memory map.
    arch/arm/src/imxrt:  Some mostly cosmetic clean-up to the imxrt_start.c file that was so rudely taken from the SAMv7.
    arch/arm/src/imxrt:  Add imxrt_start.c.  Initial commit is the the SAMv7 startup logic with name changes.

  Author: Ivan Ucherdzhiev <ivanucherdjiev@gmail.com>
    arch/arm/src/imxrt:  Adds a few IOMUXC register definitions.

  Author: Janne Rosberg <janne.rosberg@offcode.fi>
    arch/arm/src/imxrt:  Add imxrt_clockconfig.c/.h
    configs/imxrt1050-evk:  Add clock configuration definitions to board.h
    arch/arm/src/imxrt:  Fix CCM register name; Fix doubly defined in LPUART bit field.
    arch/arm/src/imxrt:  Add analog defines to CCM register definition header file.

  Author: Gregory Nutt <gnutt@nuttx.org>
    arch/arm/src/imxrt:  Bring in GPIO C files from i.MX6.  Things are in disarray now because that GPIO logic depends on IOMUXC logic which is not yet in place.
    arch/arm/src/imxrt:  Add a few more GPIO definitions to make the header file compatible with i.MX6
    arch/arm/src/imxrt/chip:  Add GPIO register definition file.

  Author: Janne Rosberg <janne.rosberg@offcode.fi>
    arch/arm/src/imxrt:  Add DCDC register definitions.
    arch/arm/srch/imxrt: Add CCM register bit definitions

  Author: Gregory Nutt <gnutt@nuttx.org>
    Purely cosmetic
    arch/arm/src/imxrt:  Add system reset controller register definition header file.
    Embarassingly trivial change left in compiler.
    arch/arm/src/imxrt:  Finishes i.MX RT1050 LPUART register definition header file.
    arch/arm/src/imxrt:  Beginning of an i.MX RT1050 LPUART register definition header file.
    Some trivial things

  Author: Janne Rosberg <janne.rosberg@offcode.fi>
    arch/arm/src/imxrt:  Add imxrt_wdog.h
    arch/arm/src/imxrt:  Add initial imxrt_ccm.h

  Author: Gregory Nutt <gnutt@nuttx.org>
    Trivial update to README.
    arch/arm/src/imxrt:  The i.MX Rt implements 4 bits of interrupt priority, not two.  Thanks, Janne.
    arch/arm/src/imxrt:  Fix some initial compile issues.  Still a long way from complete, but there is a buildable environment now for the imxrt1050-evk.
    configs/imxrt1050-evk:  Add an initial NSH configuration for testing.
    configs/Kconfig:  Hook the i.MX RT 1050 board configuration into the NuttX configuration system.
    configs/imxrt_evk:  Add the framework for i.MX RT 1050 board support.
    arch/arm/src/imxrt:  Bring in a few more files from LPC54xxx.
    arch/arm/src/imxrt:  Bring in imxrt_clrpend() from the LPC54xxx.
    arch/arm/src/imxrt:  Bring in Cortex-M7 SysTick setup from the SAMv7.
    arch/arm/src/imxrt:  Add a few easy files.
    arch/arm/src/imxrt/chip:  Add memory map header files.
    arch/arm/src/imxrt:  A few basic files to start the port to the i.MX RT 1050.
2018-04-12 09:31:09 -06:00
Gregory Nutt 730f7450b7 Remove all support for the CC3200 and CC3200-Launchpad. This was a port that was started but never completed. What good is partial CC3200-Launchpad board support with no wireless support?
Squashed commit of the following:

    Remove final references to CC3200 from the repository.
    arch/arm/include/tiva:  Remove all CC3200 support.
    arch/arm/src/tiva:  Remove all CC3200 support.
    configs/cc3200-launchpad:  Remove the board support directory.
2018-04-09 16:41:27 -06:00
Alan Carvalho de Assis b4c1ac0659 This commit removes all support and all references to the Spark board and to the CC3000 wireless part.
Squashed commit of the following:

Author: Gregory Nutt <gnutt@nuttx.org>
    Fix a few remaining refereces to cc3000.

Author: Alan Carvalho de Assis <acassis@gmail.com>
    drivers/wireless/cc3000: emove the driver to support CC3000 because it doesn't use the USRSOCKET

Author: Alan Carvalho de Assis <acassis@gmail.com>
    configs:  Remove board support to CC3000 from all relevant configurations.

Author: Gregory Nutt <gnutt@nuttx.org>
    configs/spark:  Removes Spark board configuration.  Still available in the Obsoleted repository.  This is preparation for removal of CC3000 support by Alan Carvalho de Assis.  If there is no CC3000 support, then there is no purpose in supporting the Spark either.
2018-04-04 09:34:23 -06:00
Janne Rosberg d608f6943b arch/arm/src/nrf52: Initial support for the NRF52 2018-03-26 10:37:32 -06:00