Commit Graph

1861 Commits

Author SHA1 Message Date
Gregory Nutt
a037aeec5d Trivial update to a comments and to SPIFFS comments and debug output. 2018-09-30 07:15:15 -06:00
Gregory Nutt
ec498d2660 This commit brings in an inital port of the SPIFFS flash file system into NuttX. The file system is still untested at this point (and subject to some additional review). It is, however, marked EXPERIMENTAL should this should not cause a problem for anyone.
Squashed commit of the following:

    fs/spiffs:  Fix last compilation issue.  Now compiles without error.  It is still not quite ready for testing as there is additional code review that must be be performed.  It is now marked as EXPERIMENTAL so that it can be brought onto the master branch with little risk.

    fs/spiffs:  Remove some dead code.

    fs/spiffs:  Weak start of analysis of spiffs_nucleus.c.  Renamed to spiffs_core.c

    fs/spiffs:  Rename spiffs_nucleus.c to spiffs_core.c

    fs/spiffs:  Remove spiffs_config.h.  All configuration settings are now available in the SPIFFS Kconfig options.

    fs/spiffs:  Finished review, update, and repartitioning of spiffs_check.c.  Added spiffs_check.h.

    fs/spiffs:  Finished review, update, and repartitioning of spiffs_cache.c.  Added spiffs_cache.h.

    fs/spiffs:  Clean up some defines used in debug output statements.

    fs/spiffs:  Finished review, update, and repartitioning of spiffs_gc.c.  Added spiffs_gc.h.

    fs/spiffs:  Now that VFS interface is completed, I have begun the long march of repartitioning the remaining functionality, reviewing logic, identifying dead code, and cleaning up loose ends.

    fs/spiffs:  Initial integration of MTD interface, replacing the SPIFFS native flash interface.  Lots of open issues such as the use of pages vs. blocks vs. erase blocks and units of addresses, offsets, and lengths that are passed in function calls.  Remove SPIFFS_USE_MAGIC support.  That option (which default to OFF anyway), wrote a magic value at the beginning of every sector and support verifiable identification of the file system.  It was not being and used and removing it makes life simpler.

    fs/spiffs:  Remove semaphore lock on the file object structure.  Ultimately, the file access must modify the volume and access the volume structue which also has a exclusivity lock.  So use of the volume lock alone should be sufficient.

    Integrated the SPIFFS rename logic into the NuttX VFS.  Removed non-standard application calls or convert them to IOCTL commands.  These were converted to IOCTL commands:  (1) integrity check, (2) garbage collection, and (3) format flash.  These were removed:  (1) Integrity check callback.  These provided a lot of good information about the state of the file system, but such callbacks are not compatible with a POSIX compliant file system.  (2) Index maps.  The index maps were a performance improvement feature.  The user could provide the memory and request that a region of a a file use that memory for improved lookup performance when accessing parts of the file.  The fallback is the less performance lookup by traversing the FLASH memory.  (3) Removed the quick garbage collection interface (the code is still used internally).  Only the full garbage collection is available to the user application via IOCTL.

    configs/sim/spiffs:  A simulator configuration to use for testing SPIFFS.

    fs/spiffs:  Integrate SPIFFS logic into NuttX VFS bind() and unbind() methods.

    fs/mount/fs_mount.c:  Add SPIFFS to the list of drivers that require MTD vs block drivers.

    fs/spiffs:  Trivial changes, mostly from analysis of how to integrate the rename() VFS method.

    fs/spiffs:  Connect NuttX VFS unlink method to the SPIFFS_remove() function.  Lots of name-changing.

    fs/spiffs:  Remove non-standard errno support.  Remove bogus SPIFFS_LOCK() and SPIFFS_UNLOCK() macros.

    fs/spiffs:  Add NuttX VFS implementation for statfs() method.  Clean up some of the accumulating compilation problems.

    fs/spiffs:  Add stat(), truncate() methods.  Dummy out unsupport mkdir() and rmdir() methods.

    fs/spiffs:  Replace some of the custom error numbers with standard error numbers.

    fs/spiffs:  Hooks read(), write(), fstat(), ioctl(), opendir(), closedir(), rewindif(), and readdir() into the NuttX VFS.

    fs/spiffs:  Beginning the organization to work with the NuttX VFS.  Lots of things are get broken!

    fs/spiffs:  Add spiffs.c which will be the interface between SPIFFS and NuttX.  No very close at present, however.

    fs/spiffs:  Clean up some compile problems introduced by coding standard changes.

    fs/spiffs:  A little closer to NuttX coding standard.

    fs/spiffs:  Ran tools/indent.sh against all files.  Closer to NuttX coding standard, but needs a lot more effort to be fully compliant.

    fs/spiffs:  This commit brings in version 0.3.7 of Peter Anderson's SPIFFS.  The initial commit includes the core FS files (with some definitions destributed to their correct header files) and hooks into the build system.
2018-09-24 18:05:09 -06:00
Gregory Nutt
ef8ebe5e93 Documentation: Update the documentation to reflect that fact that NxWidgets is now a part of apps/ 2018-09-16 10:40:24 -06:00
Gregory Nutt
9479ad54f9 Update of Documents/NuttX.html in preparation for the 7.26 release. 2018-09-08 06:56:01 -06:00
Gregory Nutt
fa5822f255 Partial update of Documents/NuttX.html in preparation for the 7.26 release. There is still more to be done. 2018-09-07 15:35:45 -06:00
Gregory Nutt
a7265d71c6 This commit adds support for default signal actions for SIGSTOP, SIGSTP, and SIGCONT.
Squashed commit of the following:

    Add procfs support to show stopped tasks.  Add nxsig_action() to solve a chicken and egg problem:  We needed to use sigaction to set default actions, but sigaction() would refuse to set actions if the default actions could not be caught or ignored.

    sched/signal:  Add configuration option to selectively enabled/disable default signal actions for SIGSTOP/SIGSTP/SIGCONT and SIGKILL/SIGINT.  Fix some compilation issues.

    sched/sched:  Okay.. I figured out a way to handle state changes that may occur while they were stopped. If a task/thread was already blocked when SIGSTOP/SIGSTP was received, it will restart in the running state.  I will appear that to the task/thread that the blocked condition was interrupt by a signal and returns the EINTR error.

    sched/group and sched/sched:  Finish framework for continue/resume logic.

    sched/signal:  Roughing out basic structure to support task suspend/resume
2018-08-30 10:27:18 -06:00
Gregory Nutt
84ede4a25a Minor update to the coding standing. 2018-08-28 18:15:23 -06:00
Gregory Nutt
0756cf66ed sched/signal: Add support for SIGINT in addition to SIGKILL. drivers/serial: Use SIGINT instead of SIGKILL when control-C is pressed. 2018-08-28 12:15:31 -06:00
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
Gregory Nutt
00d8d6698e Documentation/NuttxPortingGuide.html: Some updated wording of description of the directories need for a complete board configuration. 2018-03-22 15:54:03 -06:00
Gregory Nutt
e6cecb5a58 fs/cromfs: Add a README file. 2018-03-22 07:44:37 -06:00
Juha Niskanen
6575480d5e Documentation: Fix some typos. 2018-03-22 06:40:58 -06:00
Gregory Nutt
52673b5633 Redo commit 7244ae9a98. The same trivial change was done with an online edit, but this resulted in some corruption of special characters in the file, likely because of differences with the character set used by the Bitbucket online editor. 2018-03-21 20:10:00 -06:00
Gregory Nutt
0199af6551 Revert "NuttxPortingGuide.html edited online with Bitbucket"
This reverts commit 7244ae9a98.
2018-03-21 20:07:39 -06:00
Gregory Nutt
7244ae9a98 NuttxPortingGuide.html edited online with Bitbucket 2018-03-22 02:00:51 +00:00
Juha Niskanen
d8311b6493 drivers/power: add pm_unregister 2018-03-06 07:59:17 -06:00
Gregory Nutt
bff4e8e5b0 Documentation: Update NxWidgets version number. 2018-03-02 13:05:42 -06:00
Gregory Nutt
69cc53c15c Update NuttX.html in preparation for the NuttX-7.24 release 2018-03-02 09:55:15 -06:00
Gregory Nutt
46e5f292dd drivers/lcd: lcd_framebuffer.c does not need to include board-specific board.h. 2018-02-15 09:20:20 -06:00
Gregory Nutt
b8a47f9b0f Documentation: Minor improve to improve readability of text. 2018-02-14 14:17:44 -06:00
Gregory Nutt
75ae584922 Minor spelling fix 2018-02-14 13:28:00 -06:00
Gregory Nutt
b2d156af06 Documentation: Add discussion of the scope of header files to the porting guide. 2018-02-14 13:10:40 -06:00
Gregory Nutt
da50646bcf sched/wdog: wd_start() is an internal OS function and should not set the errno value. Reviewed and updated every call to wd_start() to verify if return value is used and if so if the errno value is accessed. 2018-01-31 10:09:14 -06:00
Gregory Nutt
e8e8914cab Documentation: Fix copy/paste error in NX graphics document. Noted by Henjiu Kang. 2018-01-20 07:11:33 -06:00
Gregory Nutt
de8f3ebedb Documentation: Update NSH documention to discuss the irqinfo command. 2018-01-12 18:26:46 -06:00
Gregory Nutt
4fc2980571 Documentation/: Update the NSH user manual to include the echo -n option. 2018-01-10 07:30:37 -06:00
Gregory Nutt
7d4451ee86 Squashed commit of the following:
configs/flipnclick-pic32mz:  Switch the serial console to UART4.  Clean up some minor issues the LED options.
    configs/flipnclick-pic32mz:  Add support for two on-board buttons:  T1 and T2.
    configs/flipnclick-pic32mz:  Adds basic board support for the Mikroe Flip&Click PIC32MZ board.  Initial commit is just the configs/pic32mz-starterkit with some name chanages.
2018-01-08 14:21:49 -06:00
Gregory Nutt
ed18e427f3 Squashed commit of the following:
configs/flipnclick-sam3x:  Add support for the 4 user-controllable LEDs on the board.
    configs/flipnclick-sam3x:  Add board support for the Mikroe Flip&Click SAM3X.
    configs/arduino-due:  Update this old configuration so that it is structured a little more like recent board support.
2018-01-06 17:06:50 -06:00
Gregory Nutt
7a2e300890 Documentation: Update NSH manual to include truncate command. 2018-01-04 12:51:01 -06:00
Bob Feretich
face14b0db confgs/indium-f7: Adds support for the RAF Research Indium-F7 board. 2017-12-16 16:04:58 -06:00
Gregory Nutt
66ee22f363 arch/arm/src/lpc54628: With these changes, the LPCXpresso-LPC54628 NSH configuration is fully functional. Also adds a README file for the board. 2017-12-10 08:54:24 -06:00
Gregory Nutt
68020edbf3 Update the 'About' document in preparation for the 7.23 release. 2017-12-04 15:14:46 -06:00
Gregory Nutt
288db5c7b5 configs/xtrs: Removed the XTRS configuration This was an unverified port of NuttX to a TRS-80 simulator. It was removed because (1) it is, as I said, unverified as well as unsupported, and (2) the TRS-80 simulation is a sub-optimal platform. That platform includes a 16-bit ROM image and only a 48Kb RAM space. 2017-11-24 15:21:34 -06:00
Gregory Nutt
f4b34d530f Update graphic related README files. 2017-11-18 11:09:54 -06:00
Alan Carvalho de Assis
494d2a486c configs/mcb1700: Add support for Keil MCB1700 board 2017-11-18 10:57:25 -06:00
Gregory Nutt
13b742236d Update some README files. 2017-11-13 15:49:38 -06:00
Gregory Nutt
b076ff36cb Update NxWidgets version number 2017-11-07 13:20:03 -06:00
Gregory Nutt
22e98193b2 Remove references to no longer existing ltdc/README.txt file. 2017-11-06 12:37:04 -06:00
Gregory Nutt
9ccdb06ded Correct a URL in a document 2017-10-28 10:54:15 -06:00
Gregory Nutt
48690284fb configs/mx1ads: This commit removes board support for the mx1ads board. That board support was never completed and I no longer even have the hardware. The unfinished board support is still available in the Obsoleted repository if anyone would ever like to resurrect it. 2017-10-28 10:41:15 -06:00
Gregory Nutt
c3ce23ba35 Cosmetic update to a document and some comments. 2017-10-25 11:17:38 -06:00
Gregory Nutt
ff22b976db Update document 2017-10-24 15:36:03 -06:00
Gregory Nutt
70c59a9d91 This commit adds support for semi-standard IPPROTO_ICMP6 sockets. This is a replacement for the non-standard ICMPv6 ping support that violated the portable POSIX OS interface.
Squashed commit of the following:

    net/icmpv6: IPPROT_ICMP6 socket logic now builds without error.
    net/icmpv6:  Add support for read-ahead and poll(). Initial commit is just cloned from ICMP with the appropriate name changes.
    configs/:  All defconfig filess that include CONFIG_NET_ICMPv6_SOCKET=y need to select CONFIG_SYSTEM_PING6=y and deselect CONFIG_DISABLE_POLL.
    Update NSH documention to show that ping6 is now a built in command.
    net/icmpv6:  Add icmpv6_sendto.c and icmpv6_recvfrom.c.  Initial versions are just clones from icmp/ with appropriate name changes.
    net/icmpv6:  Clone some ICMP socket logic as the beginning of support for ICMPv6 socket support.
    Rename CONFIG_NET_ICMPv6_PING to CONFIG_NET_ICMPv6_SOCKET.  Move prototype for icmpv6_ping from include/nuttx/net/icmpv6 to net/icmpv6/icmpv6.h
2017-10-24 11:23:08 -06:00
Gregory Nutt
261045e689 Update NSH documentation. 2017-10-23 09:23:11 -06:00
Gregory Nutt
cccc86da09 This change adds support for semi-standard IPPROTO_ICMP AF_INET datagram sockets. This replaces the old ad hoc, nonstandard way of implementing ping with a more standard, socket interface.
Squashed commit of the following:

    net/icmp:  Finishes off icmp_recvfrom().
    net/icmp:  Add readahead support for IPPROTO_ICMP sockets.
    net/icmp:  Add poll() support for IPPROTO_ICMP sockets.
    net/icmp:  Add a connection structure for IPPROTO_ICMP sockets.
    net/icmp:  Implements sendto for the IPPROTO_ICMP socket.
    net/icmp:  Move icmp_sendto() and icmp_recvfrom() to separate files.  They are likely to be complex (when they are implemented).
    net/icmp:  Hook IPPROTO_ICMP sockets into network.  Fix some naming collisions.  Still missing basic ICMP send/receive logic.
    configs: apps/system/ping current need poll() enabled.
    configs: All defconfig files that use to enable low-level support must now enabled CONFIG_SYSTEM_PING.
    net/icmp:  Adds basic build framework to support IPPROTO_ICMP sockets.
2017-10-23 08:45:12 -06:00
Gregory Nutt
9b31a81b00 Squashed commit of the following:
fs/fat:  Remove mkfatfs from the OS.  This is a user-space application and belongs in apps, not in the OS.
2017-10-20 12:36:25 -06:00
Gregory Nutt
5d6ecfa3ca Update a document, a README, and some comments. 2017-10-17 06:25:46 -06:00
Gregory Nutt
b75952c479 This removes the last traces of single-user mode. 2017-10-15 09:34:08 -06:00
Gregory Nutt
e013eb68de Fix minor typo in a document 2017-10-12 16:41:36 -06:00
Gregory Nutt
24feeb7b8c Update porting guide. 2017-10-12 12:22:32 -06:00
Gregory Nutt
270aa2848a Squashed commit of the following:
BCM2708:  Add enough infrastructrue (more stubs) to get a clean compilation of the Pi Zero configuration (with many undefined things at link time).

    BCM2708:  Add basic interrupt handling logic

    BCM2708: Add interrupt register definitions.

    BCM2708:  Add irq.h header file

    BCM2708/Pi zero:  bcm_boot.c and bcm_memorymap.h now compile.  Added pizero linker script.

    BCM2708/Pi Zero:  Add Make.defs needed to build.

    arch/arm/include/bcm2708, arch/arm/src/bcm2708, configs/pizero:  Add some basic build and configuration logic.

    configs/pizero:  Add some basic structure of the Rasperry Pi Zero port.

    Created directory configs/pizero.  Nothing there now but a README.txt file.

    Add initial boot.c and memorymap.c files
    Author: Alan Carvalho de Assis <acassis@gmail.com>

    Add AUX/UART/SPI registers definition
    Author: Alan Carvalho de Assis <acassis@gmail.com>

    Pizero GPIO registers
    * Initial commit to add GPIO definitions
    * Add remaining GPIO registers definition
    Alan Carvalho de Assis <acassis@gmail.com>

    BCM2708 memory map:  Add VBASE defintions; fix VCSDRAM address per Alan; move all virtual address to the bottom of the file to avoid confusion -- top is all physical address; bottom is all veritural address.

    Add initial memory map to BCM2708/BCM2835
    Alan Carvalho de Assis <acassis@gmail.com>
2017-10-09 13:11:17 -06:00
Gregory Nutt
8ef1f519d6 configs/Kconfig: Put some boards in alphabetical order. Makes life better. 2017-10-06 17:38:04 -06:00
Gregory Nutt
5c4d45a331 Documentation and comments updated to further enshrine exec() as an official NuttX interface. 2017-10-03 07:52:05 -06:00
Gregory Nutt
bc2cded397 Squashed commit of the following:
binfmt: Fix some compilation issues introduced in previous changes.  Verfied with the STM32F4-Discovery ELF configuration.

    binfmt:  schedule_unload() is an internal OS function and must not alter the errno variable.

    binfmt:  unload_module() is an internal OS function and must not alter the errno variable.

    binfmt:  load_module() is an internal OS function and must not alter the errno variable.

    binfmt:  exec_module() is an internal OS function and must not alter the errno variable.
2017-10-02 15:30:55 -06:00
Gwenhael Goavec-Merou
d9029f153c configs/nucleo-f410rb: Add support for the nucleo-F410RB board. 2017-09-25 12:59:39 -06:00
Gregory Nutt
8b38432ab9 Update 'about' document 2017-09-12 15:09:31 -06:00
Gregory Nutt
edf6359c87 Fix typos in Document and in some C comments. 2017-09-08 12:55:16 -06:00
Gregory Nutt
e7ce9c4a79 sem_open() should return SEM_FAILED on any failures. This is change change in the POSIX specification since the original sem_open() was written so many years ago. 2017-09-08 10:14:51 -06:00
Gregory Nutt
b725f1bb2f Trivial typo fixes. 2017-09-07 10:11:30 -06:00
Gregory Nutt
77fadbdd0d Update Documentation in preparation for the NuttX-7.22 release. 2017-09-06 14:27:45 -06:00
Gregory Nutt
2e804e3bdb Porting guide: Fix a typo 2017-08-30 08:48:15 -06:00
Gregory Nutt
c509fbbdab Porting Guide: Add usage tip for reading CAN messages from the CAN driver without losing message. 2017-08-30 08:00:35 -06:00
Gregory Nutt
bbf4d5048a work_queue() must cancel existing work prior to queuing new work, otherwise the work queue can become corrupted. Problem noted by Pascal Speck. 2017-08-28 07:46:48 -06:00
Gregory Nutt
cbf247e11b Update NSH documentation. 2017-08-11 15:56:33 -06:00
Gregory Nutt
5a352cacc1 Update NSH documentation to show new usage for addroute and delroute. 2017-08-10 10:32:09 -06:00
Gregory Nutt
d5c91f9a57 C Coding Standard: Clarify the form of structures and unions declared with local variable definition. 2017-08-07 16:28:10 -06:00
Gregory Nutt
c3b552e072 Minor cosmetic updates from review of last PR. 2017-07-20 07:39:57 -06:00
Gregory Nutt
316fde135c Build System: It is no longer necessary to have a unique Make.defs file for each configuration. A board may share a common Make.defs file in the scripts directory. 2017-07-10 17:00:54 -06:00
Gregory Nutt
ec01bc411c Update Document and README. 2017-07-08 10:34:06 -06:00
Gregory Nutt
5cb3edb552 Update some naming used in Documentation 2017-07-02 11:27:27 -06:00
Gregory Nutt
a469f0ef04 Documentation/: Remove dangling space at the end of lines. 2017-06-28 13:27:10 -06:00
Gregory Nutt
492c53c3ff Update NSH documentation. 2017-06-26 17:58:29 -06:00
Gregory Nutt
cfea8adacb L should be capitalized in 6LoWPAN 2017-06-18 16:00:08 -06:00
Gregory Nutt
de6999ad88 Update coding standard (with some other misc. changes to procfs strings) 2017-06-18 15:52:50 -06:00
Gregory Nutt
466fccc494 NSH Documentation: A justification for 3 ENTERs when using USB serial console. 2017-06-13 17:40:05 -06:00
Gregory Nutt
40f60d6da5 Update to coding standard document and to a README file. 2017-06-11 10:01:14 -06:00
Gregory Nutt
2b8abbb3c6 configs: Add readme for B-L465E-IOT01A Development kit. This port is currently under consideration (but may not actually happen) 2017-06-10 08:58:47 -06:00
Gregory Nutt
39d222ebcb Update Coding Standard Document. 2017-06-09 11:34:01 -06:00
Gregory Nutt
d1f69822d8 Update Coding Standard Document. 2017-06-09 11:02:08 -06:00
Gregory Nutt
93625e80a7 Typos in documents + more acronyms. 2017-06-06 15:04:55 -06:00
Gregory Nutt
942d6d1c14 Add a few things to the acronym list. 2017-06-06 08:25:34 -06:00
Juha Niskanen
9120a78ee3 Documentation: add hexdump args, fix ln cmd, STM32L status, typos 2017-06-06 06:41:17 -06:00
Gregory Nutt
ac93d4bda9 Update Documentation in preparation for 7.21 release. 2017-06-05 15:12:37 -06:00
Gregory Nutt
889d015172 Correct typos in a document. 2017-05-26 08:20:15 -06:00
Gregory Nutt
d764942e9d Update README and a Document 2017-05-20 16:36:55 -06:00
Gregory Nutt
2c00825dcf Porting Guide: Add description of IOBs. 2017-05-20 08:50:05 -06:00
Alan Carvalho de Assis
853d332b6c Move CAN subsystem to its own directory and put device drivers there
Signed-off-by: Alan Carvalho de Assis <acassis@gmail.com>
2017-05-12 11:48:47 -03:00
Gregory Nutt
0de294a586 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
Stefan Kolb
591f35be87 I discovered a problem in the file drivers/serial/serial.c concerning the function uart_close(…). In the case that a serial device is opened with the flag O_NONBLOCK the function uart_close(…) blocks until all data in the buffer is transmitted. The function close(…) called on an handle opened with O_NONBLOCK should not block. The problem occurred with a CDC/ACM device. 2017-05-10 07:59:58 -06:00
Gregory Nutt
de6bffe713 Update some README files 2017-05-09 11:32:44 -06:00
Alan Carvalho de Assis
13f1ba03d5 Photon: Add README file 2017-05-08 13:14:21 -06:00
Gregory Nutt
e4b71a06bb Update the C coding standard. 2017-05-06 15:20:25 -06:00
Sebastien Lorquet
e1df34912d Documentation 2017-04-28 18:15:56 +02:00
Gregory Nutt
2f9028b547 Remove all remaining references to setenv.h and setenv.bat. 2017-04-26 10:28:37 -06:00
Gregory Nutt
d9c266c71b Trivial change to document. 2017-04-19 06:23:13 -06:00
Gregory Nutt
e7a1847d08 Coding style: Minor updates to last commit. 2017-04-18 16:46:23 -06:00
Gregory Nutt
0a457a1b20 Coding standard: Defining structures within the scope of another structure is discouraged. 2017-04-18 16:29:49 -06:00
Gregory Nutt
8a5ed57262 Nucleo-F072RB: Add directory and README file. 2017-04-18 08:16:21 -06:00
Gregory Nutt
13e3e79183 Update coding standard document to discuss un-named structure fields. 2017-04-17 13:17:35 -06:00
Gregory Nutt
0652cbfd12 Update TODO list and README files. 2017-04-15 07:40:14 -06:00
Gregory Nutt
fffdba0835 Revert "Add a placeholder for nucleo-64 boards. Currently these are in various directories nucleo-f303re, nucleo-f334r8, and nucleo-l476rg but need to be consolidated here because these are all the same boards."
This reverts commit 935cc4e3de.
2017-04-14 17:15:58 -06:00