Commit Graph

851 Commits (8ef99f856226a85d6a0e5fe7902b80ed0f48799d)

Author SHA1 Message Date
Bogdan Marinescu 8ee4396f01 Ported 'sd' test to the Nucleo board 2013-12-11 18:50:35 +02:00
Stephen Paulger 76ff8eb377 Add KL46Z exporters to README 2013-12-11 10:09:47 +00:00
Bogdan Marinescu f6ccadaa45 Merge pull request #122 from 0xc0170/dev_kl46z_exporters
exporters for KL46Z (ARM GCC, uVision)
2013-12-11 00:45:35 -08:00
Bogdan Marinescu c3d4d3079f Added DEVICE_SERIAL_FC as an indicator for the flow control implementation 2013-12-11 10:26:18 +02:00
0xc0170 69d91e067c exporters for KL46Z (ARM GCC, uVision) 2013-12-10 17:10:23 +01:00
bcostm 37b8acad68 [NUCLEO_F103RB] Code cleanup 2013-12-10 16:46:15 +01:00
0xc0170 5e9e53f934 PWM - changes to start the channel 2013-12-10 15:57:43 +01:00
mazgch 6a9083527e CDMA currently only uses one CDC 2013-12-10 15:25:08 +01:00
bcostm 340d88b8cb Merge branch 'master' of https://github.com/mbedmicro/mbed 2013-12-10 11:24:01 +01:00
bcostm 5ebce384b5 [NUCLEO_F103RB] Align startup files with other targets 2013-12-10 11:14:56 +01:00
bcostm d44996c26c Merge branch 'master' of https://github.com/mbedmicro/mbed 2013-12-10 10:35:26 +01:00
mazgch 20776dbaa5 fixed the comparison 2013-12-09 23:43:51 +01:00
mazgch 44c2e02e51 - add support for MultiPort Serial Devices
- allow to configure the debug level of the USB stack
2013-12-09 22:04:21 +01:00
mazgch ad65dfff5a Merge branch 'master' of https://github.com/mbedmicro/mbed 2013-12-09 21:55:00 +01:00
mazgch d5da332367 only use one port with CDMA at the moment. 2013-12-09 21:48:01 +01:00
mazgch ea42c3b726 typo 2013-12-09 21:28:56 +01:00
mazgch d0d4476659 adding support for serial port 2013-12-09 21:22:02 +01:00
Bogdan Marinescu 1f942615c1 Added KL46Z and NUCLEO_F103RB to the official SDK build 2013-12-09 18:24:05 +02:00
Bogdan Marinescu 28b16e995d Merge pull request #120 from arebert/lpc4088
[LPC4088]: Networking was broking when splitting peripheral RAM into two...
2013-12-09 07:07:45 -08:00
Bogdan Marinescu 17471ea8ed Changed name of LPC4088 cmdline hook function
For compatibility with the on-line build system
2013-12-09 15:39:41 +02:00
Bogdan Marinescu 7a7c14e050 [NUCLEO_F103RB] Test porting
Ported GPIO and UART tests, verified as working.
2013-12-09 15:36:51 +02:00
Bogdan Marinescu faee2bf073 [NUCLEO_F103RB] Serial interrupt fixes
- use TC flag instead of TXE for TX interrupt
- clear interrupt flags to prevent possible interrupt storm
2013-12-09 13:01:39 +02:00
Bogdan Marinescu 2b8e05e002 [NUCLEO_F103RB] Timer fixes
- the timer data structures were not properly initialized
- changed slave timer mode to external clock 1 (section 15.3.15 of the manual)
- avoid a possible race condition when concatenating the values of the
  two 16-bit timers
2013-12-07 14:26:54 +02:00
Andreas Rebert f5511ff82a [LPC4088]: elif should have been else 2013-12-07 12:29:06 +01:00
Andreas Rebert 4109fb7d07 [LPC4088]: Networking was broking when splitting peripheral RAM into two sections 2013-12-06 15:36:37 +01:00
Bogdan Marinescu 1dbb6d9c90 Fix defined labels for Cortex-M4F 2013-12-06 16:19:56 +02:00
Joey Ye b747181e0d Add \r in retarget 2013-12-06 18:06:11 +08:00
Bogdan Marinescu 53cd64775d Hardware flow control implementation for LPC81X 2013-12-05 17:33:16 +02:00
Bogdan Marinescu fa451a0f0a Merge pull request #119 from spectaclelabs/USBDevice-STM32F4
Add initial USB Device support for STM32F4
2013-12-05 04:50:44 -08:00
Bogdan Marinescu 697acd34c0 Added command line hooking option
compiler, linker, assembler and binary command lines can now be modified
using the hooks mechanism. Also, '--any_placement=first_fit' linker option
is now used only on LPC4088 using this mechanism, in order to preserve
compatibility with the other targets.
2013-12-05 13:48:42 +02:00
Bogdan Marinescu d0b2fb6c66 Added flow control test
Since this requires a separate serial port connection, added this as a
new attribute of the MUTs.
2013-12-04 19:46:51 +02:00
Bogdan Marinescu 2ac6c4c531 Fixed RTS/CTS bit-banging on LPC1768 2013-12-04 19:46:12 +02:00
Bogdan Marinescu fbeb52d613 Added RTS/CTS flow control
Currently implemented only for LPC1768. On this platform, when hardware
flow control is not directly supported, it will be emulated.
Also added "not_implemented.c" as a placeholder for various HAL functions
that might not be implemented on all platforms (in this particular case,
serial_set_flow_control). These are weak implementations that default to a
"not implemented" error message.
2013-12-04 19:42:11 +02:00
bcostm 0aa8b93e26 NUCLEO_F103RB: Add I2C master api 2013-12-04 11:17:10 +01:00
Joe Turner 0438e70bd9 Revert accidental deletion 2013-12-03 16:02:29 +00:00
Joe Turner 4a66961d79 Merge branch 'master' into USBDevice-STM32F4 2013-12-03 15:58:11 +00:00
Joe Turner f56a13410b Remove magic number. 2013-12-03 15:44:35 +00:00
Joe Turner 8d36ce12cb Clean up STM32 USB HAL 2013-12-03 14:25:33 +00:00
Joe Turner 1ad15e4ef7 More changes to bring STM32 USB HAL to a pretty much working state. 2013-12-03 12:52:08 +00:00
Bogdan Marinescu 6959ef77f4 Don't build a NUCLEO_F103RB release for now
NUCLEO_F103RB is not yet integrated in the on-line environment, so don't
build a release for it yet.
2013-12-03 12:44:30 +02:00
Bogdan Marinescu 3f82e7fa6f Use correct scatter file for LPC4088 2013-12-03 11:04:37 +02:00
Bogdan Marinescu 49df530ae7 Merge pull request #118 from bcostm/master
Add STMicroelectronics NUCLEO_F103RB target
2013-12-02 03:15:58 -08:00
Bogdan Marinescu 6aaa134516 Merge pull request #117 from Sissors/master
Added (deep)sleep to KL25Z
2013-12-02 01:55:33 -08:00
Bogdan Marinescu 43e49e5295 Merge pull request #116 from triffid/feature/NXP_improved-baudrate-calculation
NXP targets: Improved baudrate calculation function
2013-12-02 01:47:45 -08:00
bcostm 3bcf77e4f7 NUCLEO_F103RB: minor changes 2013-12-02 09:22:28 +01:00
Sissors 9f89a4d218 Added (deep)sleep to KL25Z
Sleep is wait mode

Deepsleep is very low power stop mode

During the interrupt that removes it from deepsleep it will run at low
speed until the PLL is automatically re-enabled after the interrupt.
2013-11-30 19:28:00 +01:00
0xc0170 d8d526f656 Merge branch 'master' into K20D50 2013-11-28 17:24:57 +01:00
Michael Moon a249e39826 Improved baudrate calculation function.
Uses 100% integer math, delivers more accurate results with fewer iterations in less time.

Since it seems most of the NXP chips use identical math, I have also altered the other targets in this commit.

If there are non-NXP chips which use a similar serial block, consider porting to those as well

Comparison:

         BAUD   DL MUL DIV  CPU_CLOCK
      -------  --- --- --- ----------
new: {   9600, 625,  1,  0,  96000000},	// Actual baud:    9600, error =0.00%,    1 iterations
old: {   9600, 625,  1,  0,  96000000},	// Actual baud:    9600, error =0.00%,    0 iterations

new: {  38400, 125,  4,  1,  96000000},	// Actual baud:   38400, error =0.00%,    8 iterations
old: {  38400,  81, 14, 13,  96000000},	// Actual baud:   38409, error +0.02%,  420 iterations

new: {  57600,  81,  7,  2,  96000000},	// Actual baud:   57613, error +0.02%,  120 iterations
old: {  57600,  54, 14, 13,  96000000},	// Actual baud:   57613, error +0.02%,  315 iterations

new: { 115200,  27, 14, 13,  96000000},	// Actual baud:  115226, error +0.02%,  120 iterations
old: { 115200,  27, 14, 13,  96000000},	// Actual baud:  115226, error +0.02%,  210 iterations

new: { 230400,  23, 15,  2,  96000000},	// Actual baud:  230179, error -0.10%,  120 iterations
old: { 230400,  17, 15,  8,  96000000},	// Actual baud:  230179, error -0.10%,  525 iterations

new: { 250000,  24,  1,  0,  96000000},	// Actual baud:  250000, error =0.00%,    1 iterations
old: { 250000,  24,  1,  0,  96000000},	// Actual baud:  250000, error =0.00%,    0 iterations

new: {1000000,   6,  1,  0,  96000000},	// Actual baud: 1000000, error =0.00%,    1 iterations
old: {1000000,   6,  1,  0,  96000000},	// Actual baud: 1000000, error =0.00%,    0 iterations

new: {2000000,   3,  1,  0,  96000000},	// Actual baud: 2000000, error =0.00%,    1 iterations
old: {2000000,   3,  1,  0,  96000000},	// Actual baud: 2000000, error =0.00%,    0 iterations

new: {   9600, 514, 15,  4, 100000000},	// Actual baud:    9600, error =0.00%,  110 iterations
old: {   9600, 337, 15, 14, 100000000},	// Actual baud:    9593, error -0.07%, 1365 iterations

new: {  38400,  93,  4,  3, 100000000},	// Actual baud:   38402, error +0.01%,  120 iterations
old: {  38400,  85, 12, 11, 100000000},	// Actual baud:   38363, error -0.10%,  525 iterations

new: {  57600,  62,  4,  3, 100000000},	// Actual baud:   57604, error +0.01%,  120 iterations
old: {  57600,  61,  9,  7, 100000000},	// Actual baud:   57633, error +0.06%,  840 iterations

new: { 115200,  31,  4,  3, 100000000},	// Actual baud:  115207, error +0.01%,  120 iterations
old: { 115200,  31,  4,  3, 100000000},	// Actual baud:  115207, error +0.01%,  525 iterations

new: { 230400,  19,  7,  3, 100000000},	// Actual baud:  230263, error -0.06%,  120 iterations
old: { 230400,  19,  7,  3, 100000000},	// Actual baud:  230263, error -0.06%,  735 iterations

new: { 250000,  25,  1,  0, 100000000},	// Actual baud:  250000, error =0.00%,    1 iterations
old: { 250000,  25,  1,  0, 100000000},	// Actual baud:  250000, error =0.00%,    0 iterations

new: {1000000,   5,  4,  1, 100000000},	// Actual baud: 1000000, error =0.00%,    8 iterations
old: {1000000,   5,  4,  1, 100000000},	// Actual baud: 1000000, error =0.00%,  315 iterations

new: {2000000,   2,  9,  5, 100000000},	// Actual baud: 2008929, error +0.45%,  120 iterations
old: {2000000,   2,  9,  5, 100000000},	// Actual baud: 2008929, error +0.45%,  315 iterations

new: {   9600, 625,  4,  1, 120000000},	// Actual baud:    9600, error =0.00%,    8 iterations
old: {   9600, 404, 15, 14, 120000000},	// Actual baud:    9602, error +0.02%, 1575 iterations

new: {  38400, 179, 11,  1, 120000000},	// Actual baud:   38408, error +0.02%,  120 iterations
old: {  38400, 101, 15, 14, 120000000},	// Actual baud:   38409, error +0.02%,  525 iterations

new: {  57600,  93,  5,  2, 120000000},	// Actual baud:   57604, error +0.01%,  120 iterations
old: {  57600,  68, 12, 11, 120000000},	// Actual baud:   57545, error -0.10%,  420 iterations

new: { 115200,  47, 13,  5, 120000000},	// Actual baud:  115248, error +0.04%,  120 iterations
old: { 115200,  34, 12, 11, 120000000},	// Actual baud:  115090, error -0.10%,  315 iterations

new: { 230400,  19,  7,  5, 120000000},	// Actual baud:  230263, error -0.06%,  120 iterations
old: { 230400,  17, 12, 11, 120000000},	// Actual baud:  230179, error -0.10%,  210 iterations

new: { 250000,  30,  1,  0, 120000000},	// Actual baud:  250000, error =0.00%,    1 iterations
old: { 250000,  30,  1,  0, 120000000},	// Actual baud:  250000, error =0.00%,    0 iterations

new: {1000000,   5,  2,  1, 120000000},	// Actual baud: 1000000, error =0.00%,    3 iterations
old: {1000000,   4,  8,  7, 120000000},	// Actual baud: 1000000, error =0.00%,  210 iterations

new: {2000000,   3,  4,  1, 120000000},	// Actual baud: 2000000, error =0.00%,    8 iterations
old: {2000000,   2,  8,  7, 120000000},	// Actual baud: 2000000, error =0.00%,  210 iterations
2013-11-29 02:44:14 +11:00
Bogdan Marinescu 2897644e1b Merge pull request #115 from 0xc0170/dev_issue#110
Cortex-M4 split to M4 and M4F
2013-11-28 05:05:32 -08:00
Joe Turner 089c1bb549 Add start to STM32 USB device driver. 2013-11-28 11:19:12 +00:00