Commit Graph

33677 Commits

Author SHA1 Message Date
Gregory Nutt
c4dfb76b0d Fix some warnings found in build testing. 2018-12-30 16:05:28 -06:00
Gregory Nutt
920bb9dec8 Commit fd68d74264 breaks all STM32 board configurations that use STM32 USB host. That is because that commit requires CONFIG_STM_USBHOST to be set to build in USB host support, but did not update the necessary board defconfig files to add that required configuration. 2018-12-30 14:45:16 -06:00
Gregory Nutt
b7c274c1ed arch/arm/src/tiva/common/lmxx_tm4c_gpioirq.c: Fix some errors I made in reviewing last patch 2018-12-30 13:09:18 -06:00
Lwazi Dube
9eefcf0cf4 arch/arm/src/tiva/common/lmxx_tm4c_gpioirq.c: Fix tiva gpio interrupts 2018-12-30 13:04:18 -06:00
Alan Carvalho de Assis
5ed35f3f88 configs/saml21-xplained/include/board.h: Fix removed MAXCOARSESTEP from saml21-xplained board 2018-12-30 13:00:20 -06:00
Gregory Nutt
bdd02a6aed Some cosmetic updates, mostly to spacing and comments. 2018-12-30 11:58:19 -06:00
Alan Carvalho de Assis
1325c98f97 drivers/eeprom/i2c_xx24xx.c and include/nuttx/eeprom/i2c_xx24xx.h: Add support to Microchip AT24CM02 2018-12-30 11:20:03 -06:00
Alan Carvalho de Assis
9fc4e6b0c4 arch/arm/src/samd2l2/sam_i2c_master.h: Export sam_i2c_master_initialize(int bus) to be used by board config. 2018-12-30 11:16:47 -06:00
Gregory Nutt
40cdc187bb mm/mm_heap/mm_sem.c and sched/task/task_getpid.c: Commits 43d37c866b and f37202cbc0 resolved some problems with the original fix of 91aa26774b. However, Those changes used an internal OS interface (sched_self()) which is not available when the the user-space memory manager is built in the PROTECTED or KERNEL builds and resulted in build failures.
This commit repartitions the logic by moving some of the changes from mm_sem.c into task_getpid.c.  The logic is equivalent for the case of mm_trysemaphore(), but no has wider impact since it potentially affects all callers of getpid().  Hence, this change may also introduce some other issues that will need to be addressed.
2018-12-30 08:41:06 -06:00
Daniel P. Carvalho
30ddb909c0 drivers/mtd/smart.c: Fix smart_write_alloc_sector sector size calculation. 2018-12-29 17:03:00 -06:00
Gregory Nutt
a01865ba0b arch/arm/src/tiva/hardware: Correct a misconception in CC13x0, CC13x2, and cc6x2 DDI header files. 2018-12-29 09:36:10 -06:00
Alexander Vasiliev
b02380c704 arch/arm/src/samd2l2, configs/samd20-xplained, samd21-xplained, saml21-xplained: Fix SAMD2L2 arch to use calibrated oscillator value. Now SAMD20 and SAMD21 should work fine without external crystal. Note that SAML21 Xplained board has an external crystal and doesn't need this change, unless you don't want to use the crystal. 2018-12-29 08:36:50 -06:00
Gregory Nutt
dffcddd82d arch/arm/src/tiva/hardware: Add CC13x0, CC13x2, and cc6x2 DDI header file. 2018-12-29 08:16:09 -06:00
Gregory Nutt
efb7ba7bea Add some conditional compilation to logic added with commit 1cf992ed04 to better 'idiot-proof' the LM3S support. 2018-12-28 19:08:17 -06:00
Lwazi Dube
1cf992ed04 arch/arm/src/tiva/: Add support for LM3S9B92 2018-12-28 16:03:25 -06:00
David Sidrane
24db683368 arch/arm/src/imxrt/chip/imxrt106x_pinmux.h: Add FLEXCAN3 to pinmux 2018-12-28 15:08:20 -06:00
Gregory Nutt
8b21960ba3 sched/pthread: Implement pthread_key_delete(). This involves some minor changes to the group data structure. 2018-12-28 14:21:19 -06:00
Gregory Nutt
0047992349 arch/arm/src/tiva/hardware/cc13x2_cc26x2/: Add AON PMCTL header file. 2018-12-28 10:25:40 -06:00
Gregory Nutt
bd21176f8c arch/arm/src/tiva/hardware/: Add CC13x0, CC13x2, andd CC26x2 AON RTC header files. 2018-12-27 12:14:24 -06:00
Gregory Nutt
86224f9b7e Improve some comments. 2018-12-27 09:32:47 -06:00
Gregory Nutt
0cd5a232ea Fix a few typos. 2018-12-27 08:45:26 -06:00
David Sidrane
39ac045cff tools/gencromfs.c: Fix build on macOS 2018-12-26 14:35:20 -06:00
Anthony Merlino
5e1055dbfa Merged in antmerlino/nuttx/sixlowpan-d_buf-fix (pull request #795)
net/sixlowpan: Record and restore d_buf on entry/exit of sixlowpan_input. This avoids an issue where d_buf gets set to NULL by sixlowpan, and then is used by forwarding logic from another network interface before getting set back to the drivers internal b

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-26 16:33:44 +00:00
Alexander Vasiliev
cdd42f6e5d arch/arm/src/samd2l2/chip: Adds a complete ADC header file for SAMD21 and a partially complete ADC header file for the SAML21. 2018-12-26 08:42:36 -06:00
Masayuki Ishikawa
1f7df92b7a Merged in masayuki2009/nuttx.nuttx/loadable_app_support_to_stm32f4dis (pull request #794)
configs/stm32f4discovery: Add loadable app build support in Make.defs

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

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-25 14:15:51 +00:00
Gregory Nutt
6fad6607bf arch/arm/src: Masayuki Ishikawa's change to go_os_start() should be applied to all MCU-specific start-up functions that support go_os_start(). 2018-12-25 08:14:55 -06:00
Masayuki Ishikawa
c5c8c3aab9 Merged in masayuki2009/nuttx.nuttx/fix_lc823450_start (pull request #793)
Fix lc823450 start

* arch/arm/src/lc823450: Use CONFIG_STACK_COLORATION instead of CONFIG_DEBUG_STACK

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

* arch/arm/src/lc823450: Fix go_os_start() in lc823450_start.c

    I found a bug in go_os_start() that it returns immediately
    because it does not compare r1 to zero. This commit fixes
    this bug. Also, this commit fixes its description.

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

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-25 13:58:43 +00:00
Gregory Nutt
6f418dd9f3 arch/arm/src/tiva/hardware/: Add VIMS header file. 2018-12-24 12:01:16 -06:00
Gregory Nutt
379a3b4bd5 arch/arm/src/tiva/hardware/: Add AON IOC header file. 2018-12-24 09:22:41 -06:00
Gregory Nutt
c137c6ef1f Clean up typos in some comments. 2018-12-22 08:12:34 -06:00
Gregory Nutt
1b8a2aed08 arch/arm/src/samd5e5/sam_i2c_master.c: Alexander Vasiliev's fix to the SAMD21 I2C Master (commit b1110ba91c) should probably also be applied to the SAMD51 I2C Master which is identical. 2018-12-22 08:07:07 -06:00
Alexander Vasiliev
b1110ba91c arch/arm/src/samd2l2/sam_i2c_master.c: Corrects behavior of the I2C_M_NOSTART flag. Also adds a release a bus on RXNACK and corrects typo priv->flags to msg->flags as priv->flags is never set. 2018-12-22 08:03:29 -06:00
Gregory Nutt
ebbfb225f6 drivers/analog/lmp92001.c: Add support for the TI LMP92001 device. 2018-12-21 09:46:33 -06:00
Ken Pettit
baab6dd1bd Extends the MTD configdata device with the following features / additions:
1.  Configurable option to use named config items instead of enumerated ID/Instance numbers.
2.  Ability to iterate through the existing configdata items in the /dev/config device.
3.  Ability to "unset" a configdata item.
4.  Ability to perform "flash_eraseall" on the /dev/config device.
2018-12-20 14:14:40 -06:00
David Sidrane
43d37c866b mm/mm_heap/mm_sem.c: Defer freeing if mm is held by a not running task. When the holder is running we can add a holder count. If there is no holder OR it is not running we want to try to take the semaphore. There will not be a count if the task is the holder and not running because it already holds the count. This will result it the deferred free. We will take it when not held and do the free when we can get the count because there was no holder. 2018-12-20 13:39:06 -06:00
Gregory Nutt
86508a0e85 arch/arm/src/stm32/chip/stm32_dma_v1.h: Fix error: extra tokens at end of #undef directive [-Werror] 2018-12-20 12:35:55 -06:00
Gregory Nutt
101740a626 arch/arm/src/stm32/chip/stm32_dma_v1.h: Add missing DMA channel configuration. arch/arm/src/stm32/stm32_adc.c: Fixes a typo. 2018-12-20 10:56:42 -06:00
David Sidrane
bf6f44dec8 sched/Kconfig and sched/init/os_bringup.c: Allow the init task priority to be set. 2018-12-20 10:49:10 -06:00
Gregory Nutt
f37202cbc0 This is a candidate replacement for the reverted change 91aa26774b
This change adds a check to mm_trysemaphore() (the root implementation of both kmm_trysemaphore() and umm_trysemaphore()).  It checks if the that task that is apparently executing is marked as RUNNING.  If not, how could the non-running task be trying to get the MM semaphore?  I think only in the exact scenario that Eunbong Song has described.

So I think the solution should provide the same protection as 91aa26774b but without the horrific consequences to memory usage.
2018-12-20 10:19:52 -06:00
Gregory Nutt
9d1c845dcc Revert "This patch prevent heap corruption as in below case."
This solution to the problem noted by EunBong Song results in major memory fragmentation and and out-of-memory conditions on the PX4 platform.  On that platform the lower priority work queue is very low priority and essentially never runs when the system is busy.  As a result, the systems gets slowly starved of memory until failures and bad behaviors begin to occur.

This is an addition patch coming later to result the original problem in a different way that does not have cause memory starvation.

This reverts commit 91aa26774b.
2018-12-20 10:11:36 -06:00
Gregory Nutt
9c5d0003aa arch/arm/src/stm32f0l0: Bring in missing RCC file. Now there are two files implementing stm32_clockonfig(). Yech. ./setenv.sh Also fixes several compile issues. The STM32L0 boards now compile and link without error. 2018-12-20 08:37:09 -06:00
Anthony Merlino
33a4ec969a Merged in antmerlino/nuttx/avoid-double-context-lookup (pull request #788)
sixlowpan: Address comment regarding avoiding double lookup of address context.

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-19 18:41:27 +00:00
Mateusz Szafoni
4c601faf6f Brings in initial WIP support for the STML0. This initial commit is in pretty bad shape and, hence it it marked EXPERIMENTAL."
Squashed commit of the following:

    arch/arm/src/stm32f0l0:  Various changes for a clean compilation.  Still does not compile correctly due to missing FLASH latency definitions.

    arch/arm/src/stm32f0l0/hardware:  Add framework for the STM32 L0.  Currently set to same as the STM32F0.

    arch/arm/src/stm32f0l0/hardware:  Very fragmentary FLASH header register definitions for the STM32 L0.

    arch/arm/src/stm32f0l0:  Bring in DMA v1.  Cannot possibly be functionaly yet due to the limited number for M0 interrupts.

    arch/arm/src/stm32f0l0:  Add STM32 F0/L0 LSE and backup power domain controls.

    arch/arm/src/stm32f0l0/hardware/stm32l0_pwr.h:  Add STM32L0 PWR header file.

    arch/arm/include/stm32f0l0/chip.h: Clean up WIP chip header file.

    arch/arm/include/stm32f0l0/chip.h: WIP.

    arm/src/stm32f0l0: Resolve some small differences between F0 and L0 GPIO pin options.

    arch/arm/src/stm32f0l0: Better integrate STM32L0 header files.

    nuttx/arch/arm/include/stm32f0l0:  Add STM32L0 IRQ number definition file.

    arch/arm/src/stm32f0l0:  Add STM32L0 RCC driver.

    arch/arm/src/stm32f0l0/hardware:  Adds basic STM32L0 header files.

    arch/arm/src/stm32f0l0:  Add STM32L0 chip selections.

    configs/:  Hook new STM32L0 boards into the configuration system.

    configs: nucleo boards use as default ST LINK MCO as clock input from MCU and for this HSEBYP must be enabled

    configs: add basic support for nucleo-l073rz

    configs: add basic support for b-l072z-lrwan1
2018-12-19 12:36:35 -06:00
Mateusz Szafoni
5130f366e2 arch/arm/src/stm32: Add support for DMA v1 CSELR support. 2018-12-19 09:28:30 -06:00
Sebastien Lorquet
a7257eff52 This change:
- Avoids the use of up_aesinitialize() entirely, which resolves dependency problems, because this function does not make sure that an actual hardware aes implementation was made available: each SoC is now responsible to ensure the AES hardware is initialized before first use. This applies to lpc43xx, stm32 and sam34.
    - Remove definitions of the NEVER used aes_init and aes_update operations. The new AES API will be more suitable.
    - Change the unusual naming in stm32 (avoiding possible naming clashes)
    - Change the unusual naming in sam34 (avoiding possible naming clashes)
    - Add some FAR to pointers and enforce the 80 col limit in stm32 and sam
2018-12-19 08:42:48 -06:00
Masayuki Ishikawa
08b9b3e230 Merged in masayuki2009/nuttx.nuttx/change_rndis_mac (pull request #791)
Change rndis mac

* configs/lc823450-xgevk: Change RNDIS MAC address assignment

    In previous implementation, mac[0] was assigned to 0xaa for RNDIS
    host to avoid MAC address conflicts with RNDIS device.

    However, I noticed that this assignment causes a random MAC address
    generation on ubuntu16.04 or later which is inconvenient to set up
    network interface.

    This new assignment scheme fixes this issue.

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

* configs/stm32f4discovery: Change RNDIS MAC address assignment

    In previous implementation, mac[0] was assigned to 0xaa for RNDIS
    host to avoid MAC address conflicts with RNDIS device.

    However, I noticed that this assignment causes a random MAC address
    generation on ubuntu16.04 or later which is inconvenient to set up
    network interface.

    This new assignment scheme fixes this issue.

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

* configs/viewtool-stm32f107: Change RNDIS MAC address assignment

    In previous implementation, mac[0] was assigned to 0xaa for RNDIS
    host to avoid MAC address conflicts with RNDIS device.

    However, I noticed that this assignment causes a random MAC address
    generation on ubuntu16.04 or later which is inconvenient to set up
    network interface.

    This new assignment scheme fixes this issue.

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

Approved-by: GregoryN <gnutt@nuttx.org>
2018-12-19 12:43:52 +00:00
Gregory Nutt
db24306435 arch/assertion logic: Fix additional places where the test for an IDLE task is incorrect. It is not invalid in all configurations to check for PID==0. However, the logic fixed in these places lackes sufficient intelligence to find the right stack for the CPU IDLE thread and could still show the wrong stack. 2018-12-18 17:45:46 -06:00
Gregory Nutt
ec9265aa95 arch assertions: Correct duplicated logic from commit dbf01d12b7. Checking for PID == zero is not a valid way to test for the IDLE task in all configurations! This is only true in the single CPU configuration. In multiple CPU configurations, there will be a separate IDLE task for each CPU with a different PID. 2018-12-18 17:35:42 -06:00
Mateusz Szafoni
a9626f3ad3 /arch/arm/src/stm32: Bring in some mostly cosmetic updates from PR783 (most of the PR is going to the stm32f0l0 directory). 2018-12-18 10:53:49 -06:00
Sebastien Lorquet
c912e53344 crypto/aes.c: This commit provides an improved AES cipher API in addition to the existing routines. The reasons for this new API are: 1) better performance, giving the possibility to avoid re-setting-up the key for each AES block when the same key is used multiple times. This is important for the current single user of AES, which is related to storage and FTL. And 2) suitable for simultaneous use of multiple AES keys, which will be required by the upcoming crypto framework. It retains compatibility with the previous API, so there is no need to change anything else right now. 2018-12-18 10:21:37 -06:00