Commit Graph

712 Commits (fa451a0f0ae4ea99e333083931cc5bfc77b27b42)

Author SHA1 Message Date
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
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
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
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
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
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
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
mazgch a3a16b3683 Avoid hardfault when CAN object is destructed.
interrupts have to be disabled(can_irq_free) before we turn off(can_free) the peripheral
2013-11-21 17:31:17 +01:00
Bogdan Marinescu 1c6bfd17bf Fixes in export templates for NUCLEO_F103RB 2013-11-21 15:28:50 +02:00
Emilio Monti 5278dd43f2 Merge pull request #113 from mazgch/master
fix the documentation to ethernet api to match implementation
2013-11-21 02:32:05 -08:00
mazgch 2b7d2bb343 fix the documentation to match implementation 2013-11-21 11:24:58 +01:00
Emilio Monti 6a5335a40e Merge pull request #112 from Sissors/master
Added sleep to LPC81x
2013-11-21 01:58:28 -08:00
Emilio Monti 036f7be34c Merge pull request #111 from hototogi/lpc43xx
support GCC_ARM for LPC4330_M4
2013-11-21 01:56:29 -08:00
Sissors 585e05ca6a Added sleep to LPC81x
http://mbed.org/users/mbed_official/code/mbed-src/pull-request/6
2013-11-21 08:19:44 +01:00
hototogi 03b79b5920 support GCC_ARM for LPC4330_M4
- Linker script is based on LPC1768
     number of NVIC is 16 (CORE) + 53 (M4 in LPC43xx) = 69,
    therefor, reserve at the top of RAM0 (address:0x10000000)
    to relocate NVIC vector table
 - startup file is based on startup_ARMCM4.S in CMSIS V3.20
     change NVIC name for cortex-M4 of LPC43xx
 - add GCC_ARM for LPC4330_M4 in python scripts
 - add some descriptions for GCC_ARM
2013-11-20 17:03:59 +09:00
bcostm ef164aa78b Add uvision4 template files for NUCLEO_F103RB 2013-11-19 14:38:06 +01:00
Bogdan Marinescu ec1a027088 Merge pull request #109 from adamgreen/rtxIncreaseRAM
Increase available RAM for RTX on LPC11U24
2013-11-19 00:57:19 -08:00
Adam Green 10126e0b2f Increase available RAM for RTX on LPC11U24
The INITIAL_SP value used by RTX was originally at the 4k limit instead
of at the 8k limit.  The HEAP_START macro was defined to __HeapLimit
but the heap really starts at __end__.  __HeapLimit is just used for
some link time sanity checks to verify that the heap and stack can
grow a bit without colliding.
2013-11-19 00:38:12 -08:00
bcostm 415ac34b56 Add analogin, serial and spi support for NUCLEO_F103RB 2013-11-19 09:11:31 +01:00
Bogdan Marinescu 0abfca2938 Added export maps
Since some targets with different names use the same exporters (for example
LPC4088_EA and LPC4088), add an "export map" for this situation.
2013-11-18 20:24:51 +02:00
Bogdan Marinescu 86e57616ce Added LPC4088_EA to the list of targets 2013-11-18 19:57:25 +02:00
Bogdan Marinescu a3cae89a98 Merge pull request #108 from ScreamerBG/master
Refactored exporter features
2013-11-16 03:56:39 -08:00
root f168089a91 Drop deep repository scanning from scan_resources() so it doesn't affect compile
Implement repository scanning through __scan_all() for exporter
2013-11-15 18:59:19 +00:00
root 9a080d65ee Merge branch 'master' of https://github.com/mbedmicro/mbed 2013-11-15 14:53:48 +00:00
Emilio Monti 7e42a9ff3e Merge pull request #107 from ScreamerBG/master
Exporter features
2013-11-15 02:34:48 -08:00
Mihail Stoyanov b43e947c3b Added support to export mbed special .bld and .lib files
Added support to export repositories for seamless offline setup
2013-11-14 18:45:14 +02:00