Commit Graph

32008 Commits

Author SHA1 Message Date
Gregory Nutt
759e510c28 Per Matias Edlund: I recently used the tcflush function and found that it failed with ENOTTY. The reason is that the TCFLSH case in the function uart_ioctl in the file drivers/serial/serial.c does not update the ret value." On success, the TCFLSH IOCTL logic needs to explicitly set the return value (ret) to zero. 2018-03-26 13:54:47 -06:00
Janne Rosberg
e4d43e8b87 arch/arm/src/nrf52: Better uart handling and some cleanup. 2018-03-26 12:50:06 -06:00
Janne Rosberg
d608f6943b arch/arm/src/nrf52: Initial support for the NRF52 2018-03-26 10:37:32 -06:00
Gregory Nutt
dc8941e958 configs/: Add definition of strip to many Make.defs files. 2018-03-25 09:25:37 -06:00
Gregory Nutt
db3b507a41 tools/gencromfs.c: Was duplicating all mode bits in source directory in CROMFS directory. Some make no sense. In particular, all write-able bits are cleard unconditionally. Executable bits are still copying because there is really no way for the tool to know if the file is executable or not. 2018-03-24 15:05:22 -06:00
Gregory Nutt
67e0603b5a fs/cromfs: Block length only needs to be uint16_t, not uint32_t. Add pading to node structure to assue that alignment is the same on all platforms. tools/gencromfs.c: Fix the target offset of the '.' hard link. 2018-03-24 14:44:38 -06:00
Gregory Nutt
853c1234ac tools/gencromfs.c: Missing 'const'. CROMFS file system was ending up in data, not FLASH 2018-03-24 11:54:01 -06:00
Gregory Nutt
8b4b61f140 fs/cromfs: Fix a error in reading partial compressed blocks. The LZF decompressor does not support that operation. Instead we have to decompress full block into a temporary buffer and copy out the parts that we need. To compensate for the performance hit, a caching mechanism was added so that we do not have to read the same block repeatedly. Unrelated: Also updates some README files. 2018-03-24 11:30:35 -06:00
Gregory Nutt
e35228ece9 arch/arm/src/imx6: Bring in a few i.MX6 fixes that were committed on the i.MX RT branch. 2018-03-23 16:55:12 -06:00
Gregory Nutt
d107ef6d54 configs/cc3200-launchpad: I don't think that there is any reason for BINFS to be enabled in the NSH configuration. 2018-03-23 11:05:53 -06:00
Juha Niskanen
0f03ffc745 STM32, STM32L4: add one bit read and write to 1-wire interface. This is needed for devices that require single bit timeslot generation and for 1-Wire search algorithm triplets. 2018-03-23 08:07:20 -06:00
Gregory Nutt
3810f9e942 Remove configurations using canutils/libuavcan and examples/uavcan. libuavcan has not built for a year or so. The basic problem is that as NuttX advances, the old frozen versino of libuavcan has become absolute because it violates the portable POSIX OS interface. No one is maintaining the port so there is no alternative but to remove it. 2018-03-23 07:37:49 -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
012cd8a07a fs/cromfs: Yet another update to the README file. 2018-03-22 13:35:27 -06:00
Gregory Nutt
1d72f7afea fs/cromfs: Update README 2018-03-22 08:41:59 -06:00
Gregory Nutt
3b3ca1373c fs/cromfs: Update README 2018-03-22 08:11:28 -06:00
Gregory Nutt
e6cecb5a58 fs/cromfs: Add a README file. 2018-03-22 07:44:37 -06:00
Juha Niskanen
4e4229a8ef i2c/i2c_master.h: Change incorrect comment about I2C_TRANSFER return value to indicate that the method returns zero on success rather than the number of bytes transferred. 2018-03-22 06:51:09 -06:00
Juha Niskanen
bcd1f1f774 drivers/sensors/sht21: Change I2C_TRANSFER return value so that it return on zero on success, not the count of bytes transferred. 2018-03-22 06:44:40 -06:00
Juha Niskanen
4a0e98de3a configs/nucleo-144: Some documentation updating 2018-03-22 06:42:19 -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
Gregory Nutt
3ec02adee0 tools/genromfs.c: Improve check for empty directories. If the directory contains only unsupported, special files, then it is still empty. Fix some collection of statistics that was cause statfs() to return some incorrect values. Add logic to handle the case where the host and the target differ in endian-ness. fs/procfs: In show mountpoints, add support so that the CROMFS file system type is recognized. 2018-03-21 08:40:02 -06:00
Jussi Kivilinna
02841a7f55 drivrs/sensors/lis2dh: Clear INT1 at SNIOC_WRITE_INT1THRESHOLD ioctl 2018-03-21 07:28:08 -06:00
Juha Niskanen
a36c7a779a |arch/arm/src/stm32l4: Add PM hooks to I2C, SPI and 1-wire 2018-03-21 07:26:33 -06:00
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