Jussi Kivilinna
9169ff6a15
stm32_serial: fix freezing serial port. Serial interrupt enable/disable functions do not disable interrupts and can freeze device when serial interrupt is received while execution is at those functions.
...
Trivially triggered with two or more threads write to regular syslog stream and to emergency stream. In this case, freeze happens because of mismatch of priv->ie (TXEIE == 0) and actually enabled interrupts in USART registers (TXEIE == 1), which leads to unhandled TXE interrupt
and causes interrupt storm for USART.
2017-05-17 06:50:46 -06:00
Lederhilger Martin
b8e7d5c455
I had the problem that the transmit FIFO size (= actual elements in FIFO) was slowly increasing over time, and was full after a few hours.
...
The reason was that the code hit the line "canerr("ERROR: No available mailbox\n");" in stm32_cansend, so can_xmit thinks it has sent the packet to the hardware, but actually has not. Therefore the transmit interrupt never happens which would call can_txdone, and so the size of the FIFO size does not decrease.
The reason why the code actually hit the mentioned line above, is because stm32can_txready uses a different (incomplete) condition than stm32can_send to determine if the mailbox can be used for sending, and thus can_xmit forwards the packet to stm32can_send. stm32can_txready considered mailboxes OK for sending if the mailbox was empty, but did not consider that mailboxes may not yet be used if the request completed bit is set - stm32can_txinterrupt has to process these mailboxes first.
Note that I have also modified stm32can_txinterrupt - I removed the if condition, because the CAN controller retries to send the packet until it succeeds. Also if the condition would not evaluate to true, can_txdone would not be called and the FIFO size would not decrease also.
2017-05-16 07:47:18 -06:00
Gregory Nutt
b0fda33e13
Kconfig: Rename CONFIG_ARM_TOOLCHAIN_IAR to CONFIG_ARCH_TOOLCHAIN_IAR
2017-05-13 16:01:38 -06:00
Gregory Nutt
27805315f4
Tiva I2C: Correct an in conditional compilation
2017-05-13 14:01:42 -06:00
Gregory Nutt
6e4918c557
Remove CONFIG_ARM_TOOLCHAIN_GNU; replace with CONFIG_ARCH_TOOLCHAIN_GNU
2017-05-13 13:28:15 -06:00
Gregory Nutt
7fe112fe4c
Kconfig/deconfigs: Add CONFIG_ARCH_TOOLCHAIN_GNU to indicate that the toolchain is based on GNU gcc/as/ld. This is in addition to the CPU-specific versions of the same definition.
2017-05-13 11:44:12 -06:00
Gwenhael Goavec-Merou
02535be36a
STM32F410. Add support for STM32Fr10. STM32F410 is a version of STM32F4 with 32 KB of RAM and 62 or 128 KB of flash.
2017-05-13 08:40:09 -06:00
David Sidrane
c4a2e1399b
Merged in david_s5/nuttx/upstream_kinetis (pull request #368 )
...
kinetis:K66 GPIO and pin mux cleanup
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-05-13 10:37:20 +00:00
David Sidrane
69a8aecbc8
kinetis:K66 define ALT1 to match ref manual
2017-05-12 17:21:54 -10:00
David Sidrane
700e4ff5b6
kinetis:K66 fixed TMP2_CH1 definition
2017-05-12 17:03:27 -10: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
Juha Niskanen
46851b33b2
STM32L4: port stm32l4_serial_get_uart function from STM32F7
2017-05-12 15:54:48 +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
Gregory Nutt
3091050963
STM32L4: Review of last PR + Move separate stm32l4_flash.h; move hardware-specific definitions to chip/stm32l4_flash.h
2017-05-11 06:58:39 -06:00
Juha Niskanen
c74a51f789
STM32L4: add internal flash write support
2017-05-11 14:35:27 +03:00
Juha Niskanen
4f18b40429
mtd/config: erase block between block read and write
2017-05-10 08:25:39 -06:00
Juha Niskanen
e04ea9e3e3
Merged in juniskane/nuttx_stm32l4/stm32l4_dbgmcu_pr (pull request #361 )
...
STM32L4: add dbgmcu header files
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-05-09 17:06:32 +00:00
Gregory Nutt
3d73a04259
Merged l432kc into master
2017-05-09 11:03:42 -06:00
Gregory Nutt
2043e1a114
IOBs: Move from driver/iob to a better location in mm/iob
2017-05-09 07:35:30 -06:00
Juha Niskanen
ce1ad33289
STM32L4: add dbgmcu header files
2017-05-09 14:13:51 +03:00
Sebastien Lorquet
d591d3ac4e
Restore settings for UARTs 4 and 5
2017-05-09 11:38:14 +02:00
Sebastien Lorquet
5204f19e4f
fix typo found by Juha during review
2017-05-09 11:32:16 +02:00
Sebastien Lorquet
c1cf1269c7
Adapt stm32l43x pin definitions
2017-05-09 10:58:04 +02:00
David Sidrane
014b69e120
removed stray paren.
2017-05-08 22:56:05 +00:00
David Sidrane
8406b40baa
Merged in david_s5/nuttx-16/david_s5/stm32serial-dma-buffer-round-off-not-up-1494258804216 (pull request #357 )
...
stm32:Serial DMA buffer round off not up
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-05-08 20:32:44 +00:00
Gregory Nutt
aa11d637a8
STM32 TIM: Add method to get timer width. Freerun timer: Use timer width to get the correct clock rollover point.
2017-05-08 12:33:15 -06:00
David Sidrane
546e7acb99
stm32:Serial DMA buffer round off not up
2017-05-08 15:54:03 +00:00
David Sidrane
b8ef079951
stm32:stm32_serial Forgot the -1 on mask
2017-05-08 03:43:36 +00:00
David Sidrane
0b2fb5a396
Merged in david_s5/nuttx/upstream_stm_dma (pull request #355 )
...
stm32: serial Allow configuring Rx DMA buffer size
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-05-06 17:49:48 +00:00
David Sidrane
b62ef579c8
stm32: serial Allow configuring Rx DMA buffer size
2017-05-06 05:16:21 -10:00
David Sidrane
5d6da5f4bb
kinetis:Add ARCH_HAVE_I2CRESET
2017-05-06 04:52:48 -10:00
David Sidrane
97260321f2
kinetis:k66 Pin mux configure all I2C signals as Open Drain
...
The output structure of the GPIO for I2C needs to be open
drain. When left at the default, one can observe on a scope
the slave contending with the push-pull during the ACK
2017-05-05 15:06:32 -10:00
David Sidrane
ce98cedb17
kinetis:k64 Pin mux configure all I2C signals as Open Drain
...
The output structure of the GPIO for I2C needs to be open
drain. When left at the default, one can observe on a scope
the slave contending with the push-pull during the ACK
2017-05-05 15:06:24 -10:00
David Sidrane
af1f48c1c5
kinetis:k60 Pin mux configure all I2C signals as Open Drain
...
The output structure of the GPIO for I2C needs to be open
drain. When left at the default, one can observe on a scope
the slave contending with the push-pull during the ACK
2017-05-05 15:06:14 -10:00
David Sidrane
1d9d13c426
kinetis:k40 Pin mux configure all I2C signals as Open Drain
...
The output structure of the GPIO for I2C needs to be open
drain. When left at the default, one can observe on a scope
the slave contending with the push-pull during the ACK
2017-05-05 15:06:09 -10:00
David Sidrane
979e671cf0
kinetis:k20 Pin mux configure all I2C signals as Open Drain
...
The output structure of the GPIO for I2C needs to be open
drain. When left at the default, one can observe on a scope
the slave contending with the push-pull during the ACK
2017-05-05 15:06:00 -10:00
Gregory Nutt
1cd3b3f590
Fix errors introduced into Kinetis serial when I unsuccessfully tried to correct coding standard violations. Folks, things will be better for everyone if you just follow that standard.
2017-05-05 14:47:11 -06:00
Gregory Nutt
0e49db7626
Add a blank line.
2017-05-05 09:35:47 -06:00
Juha Niskanen
35883ff9ae
Merged in juniskane/nuttx_stm32l4/l4dev (pull request #347 )
...
STM32L4: add support for many new MCUs from STM32L4X3XX product line and Nucleo-L452 board
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-05-05 15:31:07 +00:00
David Sidrane
f29981e473
kinetis:Added HW flow control and termios
2017-05-05 07:33:15 -06:00
David Sidrane
b6a8db1b39
Kinetis: Use optional BOARD_OSC_CR and BOARD_OSC_DIV in clock configuration
2017-05-05 07:18:39 -06:00
David Sidrane
29ef635e89
Kinetis:Add OSC_DIV to the kinetis_osc header
2017-05-05 07:16:11 -06:00
David Sidrane
f73e2aab8d
Kinetis:Fixed CLKSRC Bit Names
2017-05-05 07:14:00 -06:00
David Sidrane
2171523f50
Kinetis:Add TPM to K66 chip
2017-05-05 07:12:52 -06:00
Juha Niskanen
71accfc57b
STM32L4: add more chips to Kconfig
...
(This also removes DPFPU/DTCM/ITCM features again, fixing a
recent git history hickup.)
2017-05-05 11:03:49 +03:00
Juha Niskanen
a5e9724224
STM32L4: firewall for stm32l4x3xx
...
Not tested for any product family, but now it at least compiles.
L496 devices can have one bit wider Volatile Data Segment.
2017-05-05 10:15:09 +03:00
Juha Niskanen
075a8b913c
STM32L4: separate SYSCFG into product line specific files for clarity
2017-05-05 10:10:37 +03:00
Juha Niskanen
92f4277b1e
Merged in juniskane/nuttx_stm32l4/stm32l4_i2c_pr (pull request #346 )
...
STM32L4: stm32l4_i2c: change wrong macro to CONFIG_I2C_POLLED
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-05-04 19:29:08 +00:00
Jussi Kivilinna
7035723aeb
STM32F7 serial: Allow configuring Rx DMA buffer size
2017-05-04 07:09:19 -06:00
Jussi Kivilinna
acf0d17e5a
Fix STM32F7 I2C interrupt handler
2017-05-04 06:51:44 -06:00