Commit Graph

31981 Commits

Author SHA1 Message Date
Gregory Nutt 448fc7a6f2 fs/cromfs: Remove CONFIG_EXPERIMINTAL dependency. 2018-03-20 20:04:29 -06:00
Gregory Nutt f2b72c344b fs/cromfs: Fix a loop condition that was causing errors on large files 2018-03-20 19:49:42 -06:00
Gregory Nutt d41f308bf1 tools/gencromfs.c: Add logic to correctly handle empty directories. 2018-03-20 17:34:26 -06:00
Gregory Nutt 16d0a8c2d1 fs/cromfs: More directory traversal fixes. tools/gencromfs.c: Add ability use a callback with directory traversal. Not currently used but left in place in case it is needed in the future. 2018-03-20 16:20:31 -06:00
Gregory Nutt aeeee54921 tools/gencromfs.c and fs/cromfs: More corrections to directory traversal logic. Still some bugs. 2018-03-20 14:30:05 -06:00
Gregory Nutt 22484386ee fs/cromfs and tools/gencromfs: Various fixes for traversal relative file paths. Biggest changes is in types used: Cannot use size_t or mode_t in common structures because they have different sizes on the (64-bit) host and the (32-bit) target. Use uint32_t instead of size_t for offsets. Use uint16_t instead of mode_t. 2018-03-20 12:37:01 -06:00
Gregory Nutt 87fd4e2916 fs/cromfs: Fix read logic. tools/genromfs.c: Last node in directory needs to have zero for peer offset. Still some issues with empty directories. 2018-03-20 10:37:42 -06:00
Gregory Nutt d6b9802264 tools/gencromfs.c: Fix a mixconception about how nested directories should be traversed. 2018-03-20 08:50:59 -06:00
Gregory Nutt eec44d1f01 This commit adds tools/gencromfs.c, a tool that can be used to generate CROMFS file system images.
Squashed commit of the following:

    tools/gencromfs.c:  Seems basically functional but has not has not yet been integrated with CROMFS.
    tools/gencromfs.c:  Revist previous commit.  Let's make no assumptions about the compatibility of the host system and NuttX.
    tools/gencromfs.c:  I think access mode bits are sufficiently standard that we can just copy them from the host.  This is don't mostly to pick up the executable bits and other conbinations of bits without doing a bit-for-bit decode.
    tools/gencromfs.c:  Code complete but only partially functional.
    tools/gencromfs.c:  type definitions must precede data definitions
    tools/gencromfs.c:  Adds a little more logic to gencromfs tools.  Still not complete but can traverse directories and generate directory and hard-link nodes.
    tools/gencromfs.c: Beginning of a genromfs tool that will eventually be used for generation of CROMFS file system images.
2018-03-20 07:31:13 -06:00
Dmitriy Linikov 87c8b116ca mm/iob/iob_copyin.c: Fixed problem with send() ret value when using nonblocking io over buffered tcp socket 2018-03-20 06:58:57 -06:00
Juha Niskanen b9d0930761 arch/arm/src/stm32l4: Port 1wire driver from stm32. 2018-03-20 06:50:30 -06:00
Juha Niskanen 2d4ad03d2c include/nuttx/fs/dirent.h: Fix CROMFS-related compilation error. 2018-03-20 06:38:53 -06:00
Masayuki Ishikawa 1d958980bd Merged in masayuki2009/nuttx.nuttx/fix_smp_bugs (pull request #615)
Fix SMP related bugs

* sched/sched: Fix a deadlock in SMP mode

    Two months ago, I introduced sched_tasklist_lock() and
    sched_tasklist_unlock() to protect tasklists in SMP mode.
    Actually, this change works pretty well for HTTP audio
    streaming aging test with lc823450-xgevk.

    However, I found a deadlock in the scheduler when I tried
    similar aging tests with DVFS autonomous mode where CPU
    clock speed changed based on cpu load. In this case, call
    sequences were as follows;

    cpu1: sched_unlock()->sched_mergepending()->sched_addreadytorun()->up_cpu_pause()
    cpu0: sched_lock()->sched_mergepending()

    To avoid this deadlock, I added sched_tasklist_unlock() when calling
    up_cpu_pause() and sched_addreadytorun(). Also, added
    sched_tasklist_lock() after the call.

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* libc: Add critical section in lib_filesem.c for SMP

    To set my_pid into fs_folder atomically in SMP mode,
    critical section API must be used.

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* mm: Add critical section in mm_sem.c for SMP

    To set my_pid into mm_folder atomically in SMP mode,
    critical section API must be used.

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* net: Add critical section in net_lock.c for SMP

    To set my pid (me) into fs_folder atomically in SMP mode,
    critical section API must be used.

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-03-20 12:34:38 +00:00
Gregory Nutt 278cc6f70a libc/lzf: Fix some typos in code that was in conditional logic that was not building. Change a literal use of 13 to HLOG which used to be 13. 2018-03-19 16:50:45 -06:00
Gregory Nutt af8b291482 libc/zxf: Fix more coding standard issues. 2018-03-19 14:43:50 -06:00
lihaichen 6538e4750f drivers/wireless: Fix some issues in the CC1101 driver; Update the CC1101 chip version number 2018-03-19 09:25:41 -06:00
Gregory Nutt 0478b5bce4 Addes CROMFS prototype. CROMFS is a commpressed, in-memory read-only file system based on LZF.
Squashed commit of the following:

    fs/cromfs:  Now depends on EXPERIMENTAL because it is not yet verified.
    fs/cromfs:  This commit brings the CROMFS file system to code complete.  Still completely untested.  Next steps:  Need a tool to generate CROMFS file system images and a test case under apps/
    fs/cromfs:  Add logic to traverse the in-memory file system nodes.
    fs/cromfs:  Add initial support for an in-memory, compressed, read-only file system.
2018-03-19 07:08:40 -06:00
Gregory Nutt ed59157a4b libc/lzf: Define structures to represent LZF headers. 2018-03-18 12:31:50 -06:00
Gregory Nutt c8b567db61 configs/stm32f103-minimum: Fix a few typos. 2018-03-17 12:49:10 -06:00
Gregory Nutt 3a95464153 configs/stm32f4discovery: Building of stm32_appinit.c should not depend on CONFIG_NSH_LIBRARY but on CONFIG_LIB_BOARDCTL. 2018-03-16 12:16:19 -06:00
Gregory Nutt b3aa10c9ff configs/stm32f4discover/posix_spawn: With recent changes, needs to enabled boardctl() w/symbol table support. 2018-03-16 11:57:08 -06:00
Boris Astardzhiev 6cd607c298 libc/lzf: Refactor so that the user is no longer required to generate the LZF header 2018-03-16 09:54:55 -06:00
Gregory Nutt 90c6d71503 Update some comments. 2018-03-16 09:34:09 -06:00
Gregory Nutt cdca265965 Refresh some configurations and adapt to recent changes to apps/examples/nsh. 2018-03-16 08:52:46 -06:00
Gregory Nutt 8f914ef9ca libc/lzf/Kconfig: Remove some kruft left in the file. 2018-03-15 17:29:12 -06:00
Dmitriy Linikov f0ad45ee27 fs/mmap: Fixed compiler warning about access to uninitialized variable in rammap(...) 2018-03-15 14:44:34 -06:00
Gregory Nutt eb4539c305 libc/lzf: Update Kconfig comments 2018-03-15 14:21:07 -06:00
Gregory Nutt 5fc6178201 libc/lzf: Another trivial coding standard fix. 2018-03-15 10:47:00 -06:00
Gregory Nutt 43ba19025d Update some function headers. 2018-03-15 09:19:26 -06:00
Gregory Nutt 0ab037e6b4 libc/lzf: lzf_compress() now expects the hash table as user allocated input parmeter rather than declaring the huge array on the stack. 2018-03-15 08:51:32 -06:00
Gregory Nutt 9acfbd2163 libc/lzf: Make HLOG configurable
(cherry picked from commit ea77dfafe1afe7d399e47871d2ec81fea99626cc)
2018-03-15 08:32:24 -06:00
Gregory Nutt d3cf5de5f4 libc/lzf: Fix an error introduced in coding standard conversion.
(cherry picked from commit 8879116fe85558520c4811dc4ab780b28e66810d)
2018-03-15 08:32:04 -06:00
Gregory Nutt 573887d4ee Trivial correction to a typo in a comment. 2018-03-15 07:36:57 -06:00
Boris Astardzhiev 25eb417c12 libc/lzf: Add Marc Alexander Lehmann's LIBLZF3.6 librrary 2018-03-14 14:48:53 -06:00
Gregory Nutt 9c1efc7ab9 drivers/serial/Kconfig: Kconfig is too big, divide into Kconfig, Kconfig-uart, Kconfig-usart, Kconfig-sci, Kconfig-16550. More than one MCU supports LPUARTs. Add Kconfig-lpuart and remove MCU-specific LPUART definitions. Affects Kinetis and STM32L4. 2018-03-14 10:33:27 -06:00
Gregory Nutt 4a21c64f68 Update a README 2018-03-14 09:31:07 -06:00
Gregory Nutt 06e7533bb0 Update some comments. 2018-03-14 08:17:50 -06:00
Gregory Nutt 5f0af167df Trivial fix of two typos 2018-03-13 16:39:36 -06:00
Gregory Nutt 149f3bd471 Standardization of some function headers. 2018-03-13 09:56:16 -06:00
Gregory Nutt b54ffe858a Standardization of some function headers. 2018-03-13 09:52:27 -06:00
Juha Niskanen c268288c17 drivers/sensors: Add support for Sensirion SHT2x humidity sensor 2018-03-13 08:26:15 -06:00
Gregory Nutt 1a990f99d1 libc/time: Add an implementationof clock() 2018-03-13 08:07:29 -06:00
Simon Piriou f62bfca94e Merged in spiriou/nuttx/stm32_lowputc (pull request #613)
arch/arm/src/stm32/lowputc: fix uart glitch when lowputc is enabled

Calling up_lowputc() when a character is in the shift register results
in corrupted character on stm32f1xx and stm32f205 cores.
TC status bit ensures that up_lowputc() waits for an on-going
transmission to complete before writing in TDR.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-03-12 22:01:00 +00:00
Gregory Nutt a5e1553022 Correct a link in the top-level README.txt file. Noted by David Drinn 2018-03-12 15:58:57 -06:00
Simon Piriou d340ff8f62 Merged in spiriou/nuttx/stm32f103minimum_dfu (pull request #612)
stm32f103-minimum: add support for DFU bootloader

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-03-12 21:55:06 +00:00
Gregory Nutt ae399b9b62 net/tcp: In tcp_input(), add the logic to detect, decode, and respond to TCP Keep-Alive packets. In tcp_timer(), fix some problems with the way that TCP Keep-Alive probes were being formatted. 2018-03-12 15:54:45 -06:00
Simon Piriou 1f52c13814 Merged in spiriou/nuttx/stm32_usbdev_hid (pull request #611)
arch/arm/src/stm32/usb: skip recipient check for descriptor related requests

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-03-12 20:08:55 +00:00
Gregory Nutt e6e7dae05b sched/clock: Fix a recently introduced name collision 2018-03-12 13:36:06 -06:00
Gregory Nutt 251924a734 Squashed commit of the following:
net/tcp:  Add logic to send probes when SO_KEEPALIVE is enabled.
    net/tcp:  TCP socket should not have to be connected to configure KeepAlive.
    net/: Add a separate configuration to enable/disable KEEPALIVE socket options.
    net/tcp: Arguments to TCP keep-alive timing functions probably should be struct timeval as are the times for other time-related socket options.
    net/tcp:  Fix a backward conditional
    net/tcp:  Add some more checks and debug output to TCP-protocol socket options.
    net/tcp:  Cosmetic changes to some alignment.
    net/:  Adds socket options needed to manage TCP-keepalive and TCP state machine logic to detect if that the remote peer is alive.  Still missing the timer poll logic to send the keep-alive probes and the state machine logic to respond to probes.
2018-03-12 10:59:46 -06:00
Sebastien Lorquet 0885ad7b14 drivrs/leds: Userled driver was using LCD debug output instead of LED debug output. 2018-03-11 17:43:04 -06:00