Heesub Shin
bda7d9ee4d
ARMv7-R: fix to restore the Thumb flag in CPSR
...
Thumb flag in CPSR is not restored back when the context switch occurs
while executing thumb instruction.
Reported-by: Eunbong Song <eunb.song@samsung.com>
Signed-off-by: Byoungtae Cho <bt.cho@samsung.com>
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 21:48:02 +09:00
Heesub Shin
343243c7c0
ARMv7-R: fix CPSR corruption after exception handling
...
A sporadic hang with consequent crash is observed when booting:
arm_prefetchabort: Prefetch abort. PC: 04d34a00 IFAR: 04d34a00 IFSR: 00000008
up_assert: Assertion failed at file:armv7-r/arm_prefetchabort.c line: 87 task: init
up_dumpstate: Current sp: 004c3df0
up_dumpstate: Interrupt stack:
up_dumpstate: base: 004c05fc
up_dumpstate: size: 00000800
up_dumpstate: User stack:
up_dumpstate: base: 004c3f58
up_dumpstate: size: 00000fec
up_dumpstate: User Stack
up_stackdump: 004c3de0: 004a0d14 004c3df0 004c3f58 004a0d20 00000057 004c2c58 09000000 004a42a4
up_stackdump: 004c3e00: 00000003 004c3e10 004a0f1c 004bbcef 33c44b00 004a0f28 04d34a00 00000008
up_stackdump: 004c3e20: 00000008 004a01bc 004bfd38 00000001 00007fff 00000001 34134a00 d83e4c00
up_stackdump: 004c3e40: 09000000 00000000 33c44b00 d83e4c00 0c3f4c00 00000000 00000000 00000003
up_stackdump: 004c3e60: 004c3e70 004a1494 04d34a00 200b0253 004c3ed8 004a5298 004c3ed8 6d00006d
up_stackdump: 004c3e80: 0000006d 004bc3f4 00000009 004a4f64 00000009 b9e0784f 333f3ed0 69d4227d
up_stackdump: 004c3ea0: d81f09bd 0f867344 5a7e2c12 8acefd34 5d00dc1b 004bc432 004c3f08 004c0e08
up_stackdump: 004c3ec0: 00000000 00000000 00000000 00000000 00000000 004a4210 004a5258 004a5300
up_stackdump: 004c3ee0: 00000000 00000001 ffffffff 004c3f80 000002b0 004a4234 00000007 004c3f08
up_stackdump: 004c3f00: 004a58b4 004bc432 004bc3f4 004c3f80 000002b0 0000029c 00000000 0000029c
up_stackdump: 004c3f20: 00000000 004a5900 0000ff01 00000000 00000000 004a61f4 00000000 004a5fa4
up_stackdump: 004c3f40: 00000000 004a5f6c 00000000 004a2668 00000000 00000000 b7509f04 004c3f64
up_registerdump: R0: 00000001 00007fff 00000001 34134a00 d83e4c00 09000000 00000000 33c44b00
up_registerdump: R8: d83e4c00 0c3f4c00 00000000 00000000 00000003 004c3e70 004a1494 04d34a00
up_registerdump: CPSR: 200b0253
It seems to be caused by the corrupted or wrong CPSR restored on return
from exception. NuttX restores the context using code like this:
msr spsr, r1
GCC translates this to:
msr spsr_fc, r1
As a result, not all SPSR fields are updated on exception return. This
should be:
msr spsr_fsxc, r1
On some evaluation boards, spsr_svc may have totally invalid value at
power-on-reset. As it is not initialized at boot, the code above may
result in the corruption of cpsr and thus unexpected behavior.
Reported-by: Eunbong Song <eunb.song@samsung.com>
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 20:48:09 +09:00
Heesub Shin
6bfc6b4d23
ARMv7-R: fix typo in mpu support
...
s/ARMV7M/ARMV7R/g
Reported-by: Eunbong Song <eunb.song@samsung.com>
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 20:48:09 +09:00
Heesub Shin
003511d198
ARMv7-R: add cache handling functions
...
This commit adds functions for enabling and disabling d/i-caches which
were missing for ARMv7-R.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 20:48:01 +09:00
Heesub Shin
6a1a846011
ARMv7-R: add new Kconfig entries for d/i-cache
...
Unlike in ARMv7-A/M, Kconfig entries for data and instruction caches
are currently missing in ARMv7-R. This commit adds those missing Kconfig
entries. Actual implmenetation for those functions will be added in the
subsequent patches.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:46 +09:00
Heesub Shin
2b922fcdbd
ARMv7-R: remove the redundant update on SCTLR
...
mpu_control() is invoking cp15_wrsctlr() around SCTLR update
redundantly.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:45 +09:00
Heesub Shin
05d477661b
ARMv7-R: fix invalid drbar handling
...
In ARMv7-R, [31:5] bits of DRBAR is physical base address and other bits
are reserved and SBZ. Thus, there is no point in passing other than the
base address.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:41 +09:00
Heesub Shin
af6e4f59c6
ARMv7-R: fix compilation error
...
This commit fixes compilation errors on MPU support for ARMv7-R.
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:38 +09:00
Heesub Shin
96a200a71c
ARMv7-R: fix typo
...
fix trivial typo: s/ARMv7-A/ARMv7-R/
Signed-off-by: Heesub Shin <heesub.shin@samsung.com>
2016-11-06 16:07:36 +09:00
Gregory Nutt
b0dffdc2ca
Fix a number of header files with mismatched 'extern C {' and '}'
2016-11-05 07:25:05 -06:00
Lok Tep
b1b2008037
bad offset
2016-11-04 22:02:15 +01:00
Lok Tep
82f8802275
typo, missing (
2016-11-04 21:58:31 +01:00
Gregory Nutt
905f6f2956
Merge remote-tracking branch 'origin/master' into misoc
2016-11-04 09:58:57 -06:00
Gregory Nutt
8bd8ab1a45
configs/nucleo_f303re: Various fixes to get the adc configuration building again after PR. Refresh all configurations.
2016-11-04 06:59:28 -06:00
Gregory Nutt
1d0d2fb8e1
Fix typo introduced with big set of sem_setprotocol() changes.
2016-11-03 21:08:17 -06:00
Gregory Nutt
65b1ced5f2
Merge remote-tracking branch 'origin/master' into misoc
2016-11-03 18:12:02 -06:00
Gregory Nutt
0a5b4f684a
arch: Disable priority inheritance on all semaphores used for signaling in the rest of the MCU drivers
2016-11-03 17:38:26 -06:00
Gregory Nutt
d8fecba333
arch: Disable priority inheritance on all semaphores used for signaling in all RNG drivers
2016-11-03 17:19:51 -06:00
Gregory Nutt
d28181da10
arch: Disable priority inheritance on all semaphores used for signaling in all USB host drivers
2016-11-03 17:05:53 -06:00
Gregory Nutt
bb6bfa633e
arch: Disable priority inheritance on all semaphores used for signaling in all SD card drivers
2016-11-03 15:13:27 -06:00
Gregory Nutt
8b07aa6f7c
arch: Disable priority inheritance on all semaphores used for signaling in all SPI drivers
2016-11-03 14:51:44 -06:00
Gregory Nutt
e1cd9febbf
arch: Disable priority inheritance on all semaphores used for signaling in all I2C/TWI drivers
2016-11-03 14:23:42 -06:00
Spahlinger, Michael
77caf4180f
SAMV7: Fix to SPI-Master driver. Without this the chip select decoding feature will not work properly
2016-11-03 09:22:33 -06:00
Gregory Nutt
8190e08948
Back out part of previous commit
2016-11-03 08:57:55 -06:00
Alan Carvalho de Assis
1e754402b8
Add C++ support linking with GNU toolchain newlib/stdlibc++
2016-11-03 08:50:58 -06:00
Gregory Nutt
569283fa65
Merge remote-tracking branch 'origin/master' into misoc
2016-11-03 08:33:47 -06:00
Gregory Nutt
cb96e632fa
LM32: Add toolchain configuration; Add Toolchain.defs.
2016-11-03 07:21:25 -06:00
Paul A. Patience
93e9387689
STM32 ADC: Fix compilation error when DMA isn't enabled
2016-11-02 12:52:19 -04:00
David Sidrane
d870f4ab29
I think, that Size is (highest address+1 - Base address)
...
Base address has been removed and if address+count >= size we are outside of the Flash
2016-11-01 22:27:35 +00:00
Aleksandr Vyhovanec
2bb15fe789
Minor changes
2016-11-01 23:48:44 +03:00
Aleksandr Vyhovanec
20a1642552
To write the last page
2016-11-01 23:34:30 +03:00
David Sidrane
b344936c7b
STM32F7:otgdev fixed typo
2016-10-28 23:20:53 +00:00
Vytautas Lukenskas
5b1a3e6fe0
Restore RS485 mode on serial port open (if RS485 is enabled via menuconfig).
2016-10-28 09:10:11 -06:00
Gregory Nutt
3bacda1565
STM32 Serial: Trivial removal of an extra space in a comment
2016-10-28 07:16:52 -06:00
Paul A. Patience
912fe06a86
Add architecture-specific inttypes.h
2016-10-27 16:01:38 -04:00
Vytautas Lukenskas
d9c2789253
LPC32xx serial: Fix a typo in ioctl TIOCSRS485 ioctl.
2016-10-27 07:00:32 -06:00
Gregory Nutt
76788040d5
ESP32: Add esp32_config.h
2016-10-26 15:45:03 -06:00
David Sidrane
314dd62dd5
stm32f76xx77xx_pinmap.h Missed one
2016-10-26 21:10:59 +00:00
David Sidrane
0bab23fb1b
stm32_i2c.c Dejavu
2016-10-26 21:00:50 +00:00
Gregory Nutt
6acc831e77
Remove duplicate select from Kconfig
2016-10-26 07:00:24 -06:00
Sebastien Lorquet
f24701f5c7
Merge branch 'master' into stm32l4_pinouts
2016-10-26 13:31:54 +02:00
Sebastien Lorquet
68dae715b0
CHxN channels are always outputs
2016-10-26 13:21:57 +02:00
Marc Rechte
483f012600
Initial implemention of the STM32 F37xx SDADC module. There are also changes to ADC, DAC modules. SDADC has only been tested in DMA mode and does not support external TIMER triggers. This is a work in progress.
2016-10-25 14:14:10 -06:00
Gregory Nutt
04c6319e32
Merged in slorquet/nuttx/stm32l4_uarts (pull request #155 )
...
Enable and renames for 32l4 UARTs 4 and 5
2016-10-25 13:09:17 +00:00
Sebastien Lorquet
27920eeae9
Enable and renames for 32l4 UARTs 4 and 5
2016-10-25 10:55:25 +02:00
Sebastien Lorquet
9be23d0c76
Fix i2c devices rcc registers
2016-10-25 10:53:24 +02:00
Max Kriegleder
1d50259358
STM32 F4 I2c: A new implementation of the STM32 F4 I2C bottom half. The commin I2C as this did not handled correctly in the current implementation (see also https://github.com/PX4/NuttX/issues/54 ). The changes almost exclusively affect the ISR.
2016-10-24 16:32:10 -06:00
Frank Benkert
cf5fdf1f8f
SAM Watchdog: Register the watchdog device at the configured device path CONFIG_WATCHDOG_DEVPATH vs. hard-coded /dev/wdt
2016-10-21 07:09:20 -06:00
Gregory Nutt
48fb97e7b5
More of the same cloned typo
2016-10-19 10:11:45 -06:00
Gregory Nutt
5d56172f82
Merged in w8jcik/nuttx (pull request #152 )
...
add tim8 to stm32f103v pinmap
2016-10-19 16:03:34 +00:00
Gregory Nutt
841e1aa77f
Fix a cloned typo
2016-10-19 09:14:21 -06:00
Maciej Wójcik
c719a32a40
add tim8 to stm32f103v pinmap
2016-10-19 16:34:07 +02:00
David Sidrane
c3543cf402
Kinetis:BugFix:i2c driver offset swapped for value in kinetis_i2c_putreg
2016-10-18 12:00:01 -10:00
David Sidrane
b29b2874fe
Kinetis Allow CONFIG_ARMV7M_CMNVECTOR, CONFIG_STACK_COLORATION, CONFIG_ARCH_FPU
2016-10-18 12:00:01 -10:00
David Sidrane
bce382da52
Kinetis Support ARMV7 Common Vector and FPU
2016-10-18 12:00:01 -10:00
David Sidrane
4de46c848d
Broke out DMA to use the modern Nuttx chip inclusion - still STUBS
2016-10-18 12:00:01 -10:00
David Sidrane
42ac6ecebd
Kinetis broke out SPI to kinetis/kinetis_spi.h
2016-10-18 12:00:01 -10:00
David Sidrane
70d5c7753e
Kinetis - Added missing headers
2016-10-18 12:00:01 -10:00
Gregory Nutt
30598c005f
Cosmetic changes from review of last PR
2016-10-15 08:56:11 -06:00
David Sidrane
909ea5e8ef
F4 Support versampling by 8
2016-10-15 03:56:07 -10:00
Gregory Nutt
5b46ce4889
Cosmetic changes from review of last PR
2016-10-14 17:39:21 -06:00
Gregory Nutt
f2ebb6d2a0
Merged in neilh20/anuttx/pr_K64_uid (pull request #147 )
...
Add Kinetis freedom-k64f uid
2016-10-14 23:29:19 +00:00
Gregory Nutt
ad6856c931
Trivial stylistic changes from review of last PR
2016-10-14 11:12:49 -06:00
Sebastien Lorquet
fb1f424e12
Support Complementary PWM outputs on STM32L4
2016-10-14 18:06:11 +02:00
Sebastien Lorquet
f7e0a36f55
Multiple stm32l4 timer fixes:
...
- too many parentheses when calculating max chan count (???)
- channel 4 does not have a complementary output
2016-10-14 12:50:45 +02:00
neilh10
6dca9a4390
Add UID Unique ID
2016-10-13 19:50:35 -07:00
neilh10
64b020f1a8
Add UID Unique ID
2016-10-13 19:42:39 -07:00
Gregory Nutt
0bc19a63bb
Merged in david_s5/nuttx-5/david_s5/kinetish-edited-online-with-bitbucket-1476115086140 (pull request #144 )
...
kinetis.h edited online with Bitbucket
2016-10-10 10:04:04 -06:00
David Sidrane
0476c43748
kinetis.h edited online with Bitbucket
2016-10-10 15:58:21 +00:00
David Sidrane
4703a23171
kinetis.h edited online with Bitbucket
2016-10-10 15:56:02 +00:00
Lok Tep
9e3479555d
usb set value typo
2016-10-07 15:47:30 +02:00
Lok Tep
fd92f01f55
exact values for i2c clock
2016-10-07 15:12:46 +02:00
Lok Tep
a2e4c0e898
i2s rcc typo fix
2016-10-07 15:12:34 +02:00
Jens Gräf
1d3abd17cc
dma2d: fix an error in up_dma2dcreatelayer where an invalid pointer was returned when a certain underlying function failed.
2016-10-07 13:42:24 +02:00
Gregory Nutt
d61239e38f
stm32_modifycr2 should be available on all platforms is DMA is enabled.
2016-10-06 08:50:52 -06:00
David Sidrane
d4a8585d6f
Fixed L4 USB Driver by avoiding SETUPDONE and EPOUT_SETUP
2016-10-04 16:52:12 -10:00
David Sidrane
a416b304a3
Code Cleanup and conform to upstrem debug config
2016-10-04 16:51:47 -10:00
David Sidrane
e54a0cd3d0
Header cleanup
2016-10-04 16:51:32 -10:00
Sebastien Lorquet
9dcecd4b15
Add support for qencoders on various nucleo boards
2016-10-03 16:07:20 +02:00
Gregory Nutt
06c70129ed
STM32L4: Remove dependencies on STM32 F3 from Kconfig
2016-10-02 16:05:13 -06:00
Sebastien Lorquet
d5ef349d9a
Add support for quadrature encoders on STM32L4
2016-10-02 23:26:16 +02:00
Lok Tep
33cea5038f
memory corruption, typo addr-value
2016-10-01 19:38:43 +02:00
Neil Hancock
ef475eb6a9
STM32 Ethernet: Correct typo in conditional logic
2016-10-01 07:32:41 -06:00
Vytautas Lukenskas
fd1de92016
There are some small problems in LPC43xx RS485 mode configuration. In particular: 1. UART0,2,3 do not have DTR pins (different from UART1), so, Kconfig needs to be adjusted. 2. lpc43_uart.c in RS485 mode only configures DIR pin, but doesn't enable pin output for UART0,2,3. 3. should be option to reverse DIR control pin output polarity. 4. lpc43xx/chip/lpc43_uart.h doesn't have USART3 definitions. NOTE: I didn't modified and didn't tested USART1, as it has different hardware. From Vytautas Lukenskas.
2016-09-30 08:51:49 -06:00
Lok Tep
1cbd7a0e59
CONFIG_ARCH_IRQPRIO check
2016-09-30 16:00:18 +02:00
Lok Tep
7d7354f961
merge
2016-09-27 16:05:57 +02:00
Young
7f32019a76
Add a new ioctl command (set MAXPOS) for tiva QEI
2016-09-26 18:10:06 +08:00
Mateusz Szafoni
9742757f26
Remove GPIO_ETH_RMII_TX_CLK. TX_CLK is not present in RMII
2016-09-22 10:05:45 +02:00
Gregory Nutt
d2e03daeb1
Fix some strange spacing apparently introduced by tools/indent.sh
2016-09-21 16:06:05 -06:00
Gregory Nutt
54eee5b303
Review of PR 135
2016-09-21 09:36:39 -06:00
Young
cf99e50b7a
Add QEI lower-half driver impl. for Tiva series chip
2016-09-21 17:08:31 +08:00
Gregory Nutt
1c20376e39
SAM GPIO: Apply Wolfgang's change for SAM3/4 to SAMA5 and SAMV7
2016-09-20 15:33:31 -06:00
Wolfgang Reißnegger
3f22b63321
SAM3/4: Fix GPIO pull-up/down code.
...
Enabling the pull-down resistor while the pull-up resistor is still enabled
is not possible. In this case, the write of PIO_PPDER for the relevant I/O
line is discarded. Likewise, enabling the pull-up resistor while the
pull-down resistor is still enabled is not possible. In this case, the
write of PIO_PUER for the relevant I/O line is discarded.
2016-09-20 13:32:04 -07:00
Gregory Nutt
ed22c93d7a
Tiva Ethernet: Needs support for CONFIG_NET_MULTIBUFFER=y
2016-09-20 13:02:24 -06:00
Gregory Nutt
4dc3521743
All SAM Ethernet Drivers: Add support so that the drivers can be built with CONFIG_NET_MULTIBUFFER=y
2016-09-20 08:56:36 -06:00
Gregory Nutt
7f1a88e243
Pierre's assertion-avoidance change should also be applied to STM32 F7 and L4
2016-09-15 08:41:49 -06:00
Pierre-noel Bouteville
829de7d5bd
Set USB address to avoid a failed assertion
2016-09-15 08:36:45 -06:00
Jim Wylder
5d73f114b5
STM32L4: Add support for USART3-USART5
...
For STM32L4 parts, the higher number USART ports supported
varies. Add the HAVE_USARTx definitions to the configuration
to allow enabling the higher numbered USART ports.
Signed-off-by: Jim Wylder <jwylder@motorola.com>
2016-09-14 15:20:18 -05:00
Sebastien Lorquet
50dd745e23
restore stm32l4 name
2016-09-07 14:17:38 +02:00
Sebastien Lorquet
87d2f86968
Register renames to allow stm32l4 usb device compilation
2016-09-05 08:50:09 +02:00