Vincent Coubard
f880e44145
remove usage of mktime/localtime in favor of dedicated functions.
...
The use of mktime was causing a fault when called in interrupt handler because on GCC it lock the mutex protecting the environment, To overcome this issue, this patch add dedicated routine to convert a time_t into a tm and vice versa.
In the process mktime has been optimized and is now an order of magnitude faster than the routines present in the C library.
2017-06-07 22:06:22 -05:00
Sam Grove
5f138810a9
Merge pull request #4294 from ARMmbed/feature_cmsis5
...
Update CMSIS-Core and RTX to version 5
2017-06-02 23:44:32 -05:00
Martin Kojtal
e229a49182
Merge pull request #4207 from geky/spi-remove-byte-locking
...
spi: Add SPI block-write to C++ and HAL for performance
2017-06-01 14:03:36 +02:00
Bartek Szatkowski
b97ffe8fdc
CMSIS5: Replace target defined NVIC_Set/GetVector with CMSIS implementation
2017-05-30 18:55:51 +01:00
Sam Grove
d11289b576
Merge pull request #4165 from adustm/can_init
...
fix #3863 Add an mbed API that allows the init of the CAN at the bus frequency
2017-05-26 10:45:19 -05:00
Christopher Haster
c1de19e49e
spi: Added default spi_master_block_write implementation to all targets
...
There is an easy default implementation of spi_master_block_write that
just calls spi_master_write in a loop, so the default implementation
of spi_master_block_write has been added to all targets.
2017-05-25 12:04:58 -05:00
adustm
3d44a3fcc3
add can_init_freq for NUVOTON platforms
2017-05-15 14:27:22 +02:00
ccli8
08c778d18d
[NUC472/M453] Change comment for serial_getc/serial_putc
2017-05-09 09:22:41 +08:00
ccli8
e7b737ddad
[NUC472/M453] Fix serial error with sync/async calls interlaced
...
Serial implementation uses different vector handlers for sync/async calls respectively. The issue can be reproduced with the following flow:
1. Register sync mode callback with Serial.attach().
2. Sync call with Serial.putc()/getc().
3. Change to async call with Serial.write()/read().
4. Change back to sync call with Serial.putc()/getc().
Now, vector handller is still for async mode, not for sync mode.
To fix it:
1. Introduce internal function serial_enable_interrupt() for both sync/async vector handler enable/disable.
Original HAL function serial_irq_set() is reduced to call it for sync mode vector handler enable/disable.
2. Introduce internal function serial_rollback_interrupt() to roll back sync mode vector handler at end of async transfer.
2017-05-02 09:31:09 +08:00
ccli8
32a7e6ba5e
[NUC472/M453] Fix pwmout power-down condition
2017-04-20 16:13:37 +08:00
ccli8
e55553e749
[NUC472/M453] Fix DMA channel over-allocate
2017-04-20 14:57:09 +08:00
cyliangtw
c9e9052c5d
[NUC472/M453] remove redundant comment of flash_api
2017-03-23 20:43:52 +08:00
cyliangtw
ab814661e5
[NUC472/M453] Fixed scatterAssert of ROM limit
2017-03-23 15:25:08 +08:00
cyliangtw
1e163e8848
[NUC472/M453] Support bootloader
2017-03-23 09:54:03 +08:00
ccli8
d554f6e4e0
[NUC472/M453] Support flash
2017-03-23 09:54:03 +08:00
ccli8
5720725a3d
[NUC472/M453] Refine serial PDMA code
2017-03-10 16:18:14 +08:00
ccli8
502e8ce2a5
[NUC472/M453] Refine SPI PDMA code
2017-03-10 16:18:14 +08:00
ccli8
867072fe70
[NUC472/M453] Add dma_modbase() to get PDMA base address
2017-03-10 16:18:14 +08:00
ccli8
49a2a221a4
[NUC472/M453] Fix pwmout power-down condition
2017-03-10 16:18:14 +08:00
ccli8
4e96f8b721
[NUC472/M453] Fix PDMA error on timeout
2017-03-10 16:18:14 +08:00
ccli8
1da33e809f
[NUC472/M453] Refine pin/peripheral/pin map definitions
...
Change NUC472 analogin_api.c accordingly
2017-03-10 16:18:14 +08:00
ccli8
4e4c294fa3
[NUC472/M453] Fix incorrect use of peripheral name as peripheral base address
2017-03-10 16:18:14 +08:00
Christopher Haster
aff49d8d1e
Renamed files in platform to match source names
...
critical.h -> mbed_critical.h
sleep.h -> mbed_sleep.h
toolchain.h -> mbed_toolchain.h
rtc_time.h -> mbed_rtc_time.h
semihost_api.h -> mbed_semihost_api.h
wait_api.h -> mbed_wait_api.h
2017-02-22 18:17:54 -06:00
Sam Grove
d8151d7991
Merge pull request #3590 from OpenNuvoton/nuvoton
...
[NUC472/M453] Export IAR project and other bugfixes
2017-02-13 10:12:02 -06:00
Bartek Szatkowski
6a045a49a9
Platform: Add sleep/deepsleep user facing functions
...
Add sleep/deepsleep functions to platform layer which are replacing HAL
functions with the same name, rename existing symbols in HAL layer
to hal_sleep/hal_deepsleep. This way sleep functions
are always available, even if target doesn't implement them, which makes
the code using sleep clearer. It also enables us to make decision on in
which builds (debug/release) the sleep will be enabled.
2017-01-19 09:39:29 +00:00
ccli8
0a0b326da6
[NUC472/M453] Change sbrk() allocation to be 32-byte aligned
2017-01-16 09:48:27 +08:00
ccli8
453f60e9c1
[NUC472/M453] Remove power-down support from us_ticker
2017-01-16 09:48:21 +08:00
Martin Kojtal
e7361ebc44
Merge pull request #3365 from OpenNuvoton/nuvoton_usb
...
[NUC472/M453] Support USB device
2016-12-30 12:43:53 +01:00
cyliangtw
e4a5401b9b
[NUC472/M453] Fix GCC warnings
2016-12-13 15:41:41 +08:00
ccli8
64e27b2e3d
[NUC472/M453] Fix stuck in lp_ticker_init()
2016-12-13 11:10:51 +08:00
ccli8
6af60f9b32
[NUC472/M453] Fix PWM clock error in BSP driver
2016-12-13 11:10:51 +08:00
ccli8
f796eb5d2d
[NUC472/M453] Change UART RTS/CTS to low level active
2016-12-13 11:10:51 +08:00
ccli8
59e38666ae
[NUC472/M453] Fix serial async transfer failed as data with is 16/32
2016-12-13 11:10:51 +08:00
ccli8
8c0948d605
[NUC472/M453] Integrate with Travis CI
...
1. Add targets into build_travis.py and tests.py.
2. Add target SPI pins into SPI SD test samples.
3. Rename target TOOLCHAIN_GCC_ARM/retarget.c to avoid name collision of compiled retarget.o with platform/retargets.cpp.
2016-12-09 13:46:38 +08:00
ccli8
7f4881fbb2
[NUC472/M453] Support USB device
2016-12-05 15:12:15 +08:00
ccli8
e1995dbe79
[NUC472/M453] Fix spi_master_transfer failed as bit width is 32
2016-11-25 15:32:25 +08:00
ccli8
137053343e
[M453] Fix button naming error
2016-11-23 14:35:09 +08:00
ccli8
d24c71fad9
[NUC472/M453] Correct return of i2c_byte_write() on NAK
2016-11-22 13:45:01 +08:00
ccli8
57a22cd4ab
[NUC472/M453] Fix CI I2C EEPROM failed
2016-11-22 09:56:54 +08:00
ccli8
6c1fca60a5
[M453] Remove SPI MOSI1 and MISO1 pins from pinmap
...
These pins are for SPI 2-bit mode (not dual mode) and cannot be for SPI standard use.
2016-11-22 09:56:54 +08:00
ccli8
bb1617c5f8
[M453] Fix EADC module is initialized multiple times
...
Also fix EADC module name EADC is hardcoded.
2016-11-22 09:56:53 +08:00
ccli8
fe883d42ab
[M453] Fix CI tests-api-analogin failed
...
1. Fix ADC convert finish check error.
2. Set ADC Vref to internal by default.
2016-11-22 09:56:53 +08:00
ccli8
e0f97e5c80
[NUC472/M453] Support separate enable of GPIO IRQ de-bounce
2016-11-22 09:56:53 +08:00
ccli8
657d90db2c
[NUC472/M453] Fix I2C issues
...
1. Fix error on return of i2c_byte_write().
2. Fix error in zero-length transfer corner case.
2016-11-22 09:56:53 +08:00
ccli8
4ae76be2ce
[NUC472/M453] Reduce (interrupt) stack size from 4 KB to 2 KB
2016-11-07 12:28:20 +08:00
ccli8
2922de8dff
[NUC472/M453] Remove dead code in device.h
2016-11-07 10:59:42 +08:00
ccli8
e09d9a15f5
[NUC472/M453] Support UART H/W module shared by multiple serial S/W objects
...
1. With GCC_ARM and uARM, some greentea tests fail due to no support for this.
2. Bind UART H/W module to correct serial S/W object for interrupt.
2016-11-07 10:59:42 +08:00
cyliangtw
a044a65996
fixed misaligned lines in can_api.c of NUC472 & M453
2016-11-01 11:44:44 +08:00
cyliangtw
da8fd8b5b7
remove dead code in can_api.c of NUC472 & M453
2016-11-01 11:29:09 +08:00
cyliangtw
33cfe1f599
remove dead code in device.h of NUC472 & M453
2016-10-28 18:39:56 +08:00
cyliangtw
6889c1368b
replace tab by 4 space char
2016-10-27 16:31:29 +08:00
cyliangtw
ae12346b8e
[M453] Support CAN
2016-10-20 15:12:36 +08:00
ccli8
15dbd36492
[M453] Move files to match ARM mbed's restructure
...
1. Move M451Series.h to device.
2. Move StdDriver to device.
3. Move TOOLCHAIN_* to device.
4. Move cmsis*, startup_M451Series.c, and system_M451Series.c/h to device.
2016-10-11 13:49:25 +08:00
ccli8
1f2f4e3bb3
[NUC472/M453] Move files to match ARM mbed's restructure
...
1. Move USBHALHost_M451.cpp and USBHALHost_NUC472.cpp.
2. Move TARGET_M451/mbed_lib.json.
3. Move TARGET_NUC472/crypto.
4. Move TARGET_NUC472/mbed_lib.json.
2016-10-11 10:55:08 +08:00
ccli8
c75d54c668
[NUC472] Fix pin definition error regarding SD, I2C, and SPI
...
1. Fix pin definition error regarding SD.
2. Fix pin definition error regarding I2C.
3. Fix pin definition error regarding SPI.
4. Add pinmap for SD.
2016-10-11 10:55:08 +08:00
ccli8
21e8c5bd52
[M453] Fix warnings generated by armcc
2016-10-11 10:55:08 +08:00
ccli8
107d6336b2
[NUC472/M453] Disable GPIO IRQ debounce by default
...
Some application requires GPIO IRQ to be low latency. To complement it, open up GPIO IRQ debounce configuration through mbed_lib.json.
2016-10-11 10:55:08 +08:00
ccli8
ef36f2f04f
[NUC472/M453] Refine us_ticker.c code
2016-10-11 10:55:08 +08:00
ccli8
da15379907
[NUC472/M453] Remove fix of lp_ticker wrap-around
...
The original fix cannot handle both wrap-around and scheduled alarm behind now well.
Leave wrap-around as known issue.
2016-10-11 10:55:08 +08:00
ccli8
9b7642d783
[NUC472/M453] Fix us_ticker/lp_ticker alarm error
...
Error occurs as newly scheduled alarm is behind now due to signed/unsigned comparison pitfall:
-1 < 1u ==> 0 or 1
2016-10-11 10:55:08 +08:00
ccli8
516efa371e
[NUC472/M453] Fix greentea lp_ticker failed tests
2016-10-11 10:55:08 +08:00
ccli8
b95478015b
Support NUMAKER_PFM_M453
2016-10-11 10:55:08 +08:00