Commit Graph

984 Commits (4b49861ffbdf7e7b41774c6594b115e9902de4fa)

Author SHA1 Message Date
Andreas Rebert 4109fb7d07 [LPC4088]: Networking was broking when splitting peripheral RAM into two sections 2013-12-06 15:36:37 +01:00
tkuyucu 3faaff74ee PwmOut working. 2013-12-06 15:30:58 +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
tkuyucu 105c31bcb3 SPISlave works. 2013-12-06 10:01:28 +01:00
tkuyucu 4ba79b77b4 SPISlave works. pwm_out works but needs more work to properly implement 0 pulse and 100% pulse. 2013-12-06 09:59:40 +01: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
tkuyucu c845f39c50 The python script provided in the original repo fails trying to access an empty string as a file, this version removes any empty strings in the files to build. 2013-12-02 16:34:19 +01:00
tkuyucu 685274563e Port, Buffer, DigitalInOut, and Spi (master) works. 2013-12-02 16:33:08 +01: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
tkuyucu 820e0473f6 Bogdan's startup fix added. 2013-11-28 13:21:21 +01:00
Joe Turner 089c1bb549 Add start to STM32 USB device driver. 2013-11-28 11:19:12 +00:00
0xc0170 ba7b4c300a Cortex-M4 split to M4 and M4F
- all current supported M4 cores will be M4F
2013-11-27 21:02:37 +01:00
0xc0170 c5a2e6ed0e pwm, spi - pin definition, dac removed 2013-11-27 18:46:30 +01:00
bcostm 1159845529 NUCLEO_F103RB: update channels management in analogin api 2013-11-27 15:39:57 +01:00
Bogdan Marinescu 72a9529287 Added on-line defined macros to the build system
Added 3 macros defined by the on-line build system to the off-line build
system: MBED_BUILD_TIMESTAMP, MBED_USERNAME and __MBED__.
2013-11-27 16:24:42 +02:00
tkuyucu 511e24ecc9 nRF51822 mbed SDK with working GPIO, RawSerial, and timer 2013-11-27 13:16:11 +01:00
0xc0170 0e99a7c9bd Analog API - pins, analog pins (arduino) correction, irq
- ADC - pins, mux
	- analog pins - Ax
	- irq - port A - E
2013-11-26 20:08:13 +01:00
Bogdan Marinescu ea7ee814c9 LPC4088_EA doesn't exist anymore, remove from build_release 2013-11-26 19:26:49 +02:00
Bogdan Marinescu 438a290fe4 Fix LPC4088 codered exporter
Use softfp instead of hardfp for code generation, in order to make linking
with the mbed SDK (generated with softfp) possible.
2013-11-26 19:24:11 +02:00
Bogdan Marinescu 256f70fffc Merge remote-tracking branch 'origin/master' 2013-11-26 17:14:46 +02:00
Bogdan Marinescu 3c0a8b633f Provide generic pinout defines
This commit adds generic peripheral names to various mbed enabled
boards, to make it easier to write portable code amongst various
mbed boards.
2013-11-26 17:12:36 +02:00
bcostm dd292a7e71 NUCLEO_F103RB: Add pwmout api + change timers for ticker 2013-11-26 09:26:08 +01:00
Emilio Monti 60f37b4adf There is only an LPC4088 target 2013-11-25 16:32:46 +00:00
bcostm c33dbfd63d Enable STDIO messages used by the test firmwares 2013-11-25 10:20:39 +01:00
0xc0170 3dc97b20c0 startup ARM - stack pointer, serial functional
- stack pointer correction
	- startup for ARM - clean up
	- GCC ARM linker - RAM size correction
	- NVIC - RAM address
2013-11-22 21:21:01 +01:00
bcostm c47bc1780a Add UseMicroLIB option for exported project 2013-11-22 11:41:07 +01:00
Bogdan Marinescu 8f8e5e8d8a fix STLink debugger/downloader settings 2013-11-21 21:02:23 +02:00
Bogdan Marinescu f6c9c8db5e Fixed initial SP value 2013-11-21 19:07:52 +02:00
Emilio Monti 64952d4f7e Merge pull request #114 from mazgch/master
Avoid hardfault when CAN object is destructed.
2013-11-21 08:40:43 -08:00