Commit Graph

235 Commits (faec0c3ce52065e7f2dac0f89af04c2921cd6c51)

Author SHA1 Message Date
ccli8 b54e7e9639 [M487] Remove debug code in I2C HAL 2017-08-01 10:37:25 +08:00
ccli8 ed5ef0cc54 [M487] Refine coding style 2017-08-01 10:37:16 +08:00
ccli8 7b564c7f52 [M487] Add comment for Receive Time-out IF in SPI HAL 2017-08-01 10:32:50 +08:00
ccli8 7cfb7ae8f8 [M487] Add sanity check for serial format 2017-08-01 10:32:48 +08:00
ccli8 7a60b35d52 [M487] Set LED4 to LED1
No real LED4. Just for passing ATS.
2017-08-01 10:32:46 +08:00
ccli8 355b4336d6 [M487] Remove dead code 2017-08-01 10:32:43 +08:00
ccli8 8c76476929 [M487] Remove mbed_sdk_init_forced()
1. With mbed OS 5, mbed_sdk_init() is ensured to call before C++ global object constructor.
2. Refine startup file with GCC_ARM toolchain related to this modification.
2017-08-01 10:32:41 +08:00
ccli8 e99dc63d1b [M487] Fix lp_ticker typo 2017-08-01 10:32:38 +08:00
ccli8 642a2acb92 [Nuvoton] Give universal rtx configuration for all Nuvoton targets 2017-08-01 10:32:34 +08:00
ccli8 77ea786c04 [M487] Fix abnormal pulse on re-configuring pwmout
The issue is met in ARM mbed CI test tests-api-pwm.
2017-08-01 10:31:52 +08:00
ccli8 39a9f05491 [M487] Fix ARM mbed CI pwm test failed 2017-08-01 10:31:50 +08:00
ccli8 f182d7fcae [M487] Add internal configuration control_01 2017-08-01 10:31:48 +08:00
ccli8 9c90cfd304 [M487] Add Arduino UNO pins D14 and D15 2017-08-01 10:31:45 +08:00
ccli8 d709deffc6 [M487] Fix emitting uvisor core debug message through USB VCOM 2017-08-01 10:31:43 +08:00
ccli8 e49ceb173e [M487] Support initial stack allocated on SPIM CCM memory 2017-08-01 10:31:41 +08:00
ccli8 694838b706 [M487] Guard from initial stack allocated on SPIM CCM memory not initialized yet
Not add this guard in IAR toolchain due to its unsupported ILINK syntax
2017-08-01 10:31:38 +08:00
cyliangtw aa47503435 [M487] Revise CAN & AES to fulfill real-chip 2017-08-01 10:31:36 +08:00
ccli8 b516019b12 [M487] Add comment in gpio_irq_init() 2017-08-01 10:24:07 +08:00
ccli8 b7dedbe917 [M487] Align with BSP 2017-08-01 10:24:04 +08:00
ccli8 23672b09a2 [M487] Support bootloader 2017-08-01 10:23:58 +08:00
ccli8 cc2ab31d2c [M487] Divert SRAM bank2 (32 KB) to CCM from SPIM cache
Extend SRAM from 128 KB to 160 KB
2017-08-01 10:23:56 +08:00
ccli8 30ab1007e4 [M487] Support one-to-many mapping in the same pin map 2017-08-01 10:23:55 +08:00
ccli8 bcb96a12e1 [M487] Add SPI MOSI0/MISO0 into pin map
SPI MOSI0/MISO0 can use as SPI standard MOSI/MISO pins
2017-08-01 10:23:54 +08:00
ccli8 ef50c180fc [M487] Add LED4 to pass ATS 2017-08-01 10:23:52 +08:00
ccli8 280d767700 [M487] Update startup files
1. Add SYS_DISABLE_POR() in startup_M480.c
2. Fix FMC_T::CYCCTL access is not unlocked
3. Sync system_M480.c with BSP
2017-08-01 10:23:51 +08:00
ccli8 82a5b5dd34 [M487] Fix board header for real chip 2017-08-01 10:23:50 +08:00
ccli8 12536436f8 [M487] Conform to mbed TLS H/W acceleration support released with mbed OS 5.3 2017-08-01 10:23:48 +08:00
ccli8 7578541021 [M487] Fix some compile warnings 2017-08-01 10:23:47 +08:00
ccli8 4d4d1a89f9 [M487] Change OS_CLOCK to 192 MHz 2017-08-01 10:23:45 +08:00
ccli8 aaf26a12e1 [M487] Fix compile error with GCC_ARM toolchain 2017-08-01 10:23:44 +08:00
ccli8 90e35febc1 [M487] Alpha support for real chip
Real chip is incompatible with test chip due to change of pinout. From this on, test chip is unsupported.
2017-08-01 10:23:43 +08:00
ccli8 59acfb3a47 [M487] Correct comment for RTC time error in 1 sec after boot 2017-08-01 10:23:40 +08:00
ccli8 2fc3d1721b [M487] Fix RTC time doesn't continue across reset cycle 2017-08-01 10:23:39 +08:00
ccli8 00b69c7ddd [M487] Change comment for serial_getc/serial_putc 2017-08-01 10:23:38 +08:00
ccli8 e3fb76f0d9 [M487] Fix region end address error with IAR toolchain 2017-08-01 10:23:37 +08:00
ccli8 3f97ad3cdd [M487] Rename sleep/deepsleep to hal_sleep/hal_deepsleep 2017-08-01 10:23:36 +08:00
ccli8 4cc90e54d5 [M487] Fix serial error with sync/async calls interlaced 2017-08-01 10:23:34 +08:00
ccli8 3f650566d9 [M487] Fix pwmout power-down condition 2017-08-01 10:23:33 +08:00
ccli8 bea7548717 [M487] Fix DMA channel over-allocate 2017-08-01 10:23:32 +08:00
ccli8 5e9999424a [M487] Fix flash algorithm
1. Remove setting of not released register ICPCON
2. Enable FMC_APUEN to update APROM
2017-08-01 10:23:31 +08:00
ccli8 3a8be6c711 [M487] Remove 'FIXME' comment in flash_api.c 2017-08-01 10:23:29 +08:00
ccli8 bced49325a [M487] Support flash 2017-08-01 10:19:54 +08:00
ccli8 898a4bb4bd [M487] Refine serial PDMA code 2017-08-01 10:19:50 +08:00
ccli8 422871ab4d [M487] Refine SPI PDMA code 2017-08-01 10:19:48 +08:00
ccli8 a76d55a555 [M487] Add dma_modbase() to get PDMA base address 2017-08-01 10:19:45 +08:00
ccli8 aeee0e8b57 [M487] Fix pwmout power-down condition 2017-08-01 10:19:42 +08:00
ccli8 ae33f9eed7 [M487] Fix PDMA error on timeout 2017-08-01 10:19:39 +08:00
ccli8 65de13454e [M487] Prepare support for one-to-many mappings in the same pin map
Also fix bumped bug which doesn't call NU_MODBASE() to retrieve module base address
2017-08-01 10:19:33 +08:00
ccli8 04bd652a56 [M487] Add configuration option MBED_CONF_M480_USB_DEVICE_HSUSBD 2017-08-01 10:19:30 +08:00
cyliangtw d32607294f [M487] Support CAN feature 2017-08-01 10:19:25 +08:00
ccli8 95e0bc094a [M487] Change sbrk() allocation to be 32-byte aligned 2017-08-01 10:19:22 +08:00
ccli8 acee0379c7 [M487] Remove power-down support from us_ticker 2017-08-01 10:19:19 +08:00
ccli8 3dc5f2da34 [M487] Support uvisor debug message through stdio uart 2017-08-01 10:19:16 +08:00
ccli8 ebe56466cc [M487] Fix us_ticker drift error > 5% 2017-08-01 10:19:14 +08:00
ccli8 44572cf1a8 [M487] Fix link error in uvisor-enabled application 2017-08-01 10:19:11 +08:00
ccli8 ee622a0c51 [M487] Fix compile error with Travis CI
Use MBED_CONF_RTOS_PRESENT to filter out des/sha alternative for mbed OS 2.
2017-08-01 10:19:09 +08:00
cyliangtw b91f064be7 [M487] Add CAN, AES and Eth 2017-08-01 10:18:54 +08:00
ccli8 98a79c872b [M487] Support NuMaker-PFM-M487 board 2017-08-01 10:14:24 +08:00
MS30 CCChang12 38e78fa8b3 [NANO130] Ticker: add fire interrupt now function 2017-07-25 18:07:47 +08:00
MS30 CCChang12 c7cd9b607c [NANO130] Change dummy to spi_fill in spi_api.c 2017-07-25 18:03:27 +08:00
Jimmy Brisson 1f94ede86c Merge pull request #4744 from deepikabhavnani/spi_issue_4743
Allow user to set default transfer byte for block read
2017-07-24 14:45:30 -05:00
Deepika 1b797e9081 Closed review comments
1. Doxygen and Grammar related
2. Change dummy to spi_fill
3. Remove NXP driver and add default loop in spi block read (same as all
other drivers)
2017-07-21 09:46:22 -05:00
MS30 CCChang12 5f58104640 [NANO130] Fix the file name case problem, verified on Ubuntu Linux 2017-07-18 20:00:08 +08:00
MS30 CCChang12 4f66d2d809 [NANO130] Fix the file name case problem for building code in Linux system 2017-07-14 09:39:08 +08:00
Martin Kojtal 10ea63b8e7 Ticker: add fire interrupt now function
fire_interrupt function should be used for events in the past. As we have now
64bit timestamp, we can figure out what is in the past, and ask a target to invoke
an interrupt immediately. The previous attemps in the target HAL tickers were not ideal, as it can wrap around easily (16 or 32 bit counters). This new
functionality should solve this problem.

set_interrupt for tickers in HAL code should not handle anything but the next match interrupt. If it was in the past is handled by the upper layer.

It is possible that we are setting next event to the close future, so once it is set it is already in the past. Therefore we add a check after set interrupt to verify it is in future.
If it is not, we fire interrupt immediately. This results in
two events - first one immediate, correct one. The second one might be scheduled in far future (almost entire ticker range),
that should be discarded.

The specification for the fire_interrupts are:
- should set pending bit for the ticker interrupt (as soon as possible),
the event we are scheduling is already in the past, and we do not want to skip
any events
- no arguments are provided, neither return value, not needed
- ticker should be initialized prior calling this function (no need to check if it is already initialized)

All our targets provide this new functionality, removing old misleading if (timestamp is in the past) checks.
2017-07-13 12:23:25 +01:00
MS30 CCChang12 2050095b0f [NANO130] remove usage of mktime/localtime in rtc_api.c 2017-07-12 13:53:59 +08:00
MS30 CCChang12 83f395c07c [NANO130] Fix symbol of IAR toolchain 2017-07-12 11:01:03 +08:00
MS30 CCChang12 00fa0f64c1 [NANO130] Remove dead code 2017-07-12 10:49:40 +08:00
MS30 CCChang12 3bbacad6a7 [NANO130] Remove mbed_sdk_init_forced()
1. With mbed OS 5, mbed_sdk_init() is ensured to call before C++ global object constructor.
2. Refine startup file with GCC_ARM toolchain related to this modification.
2017-07-11 17:50:20 +08:00
cyliangtw 2f8e3fbfff [NANO130] remove dead code 2017-07-05 11:11:43 +08:00
MS30 CCChang12 6c870ca65f [NANO130] Fix issues in OS 5.5 Greentea test
1. Support CMSIS_VECTAB_VIRTUAL feature
2. Reduce the register sync waiting time in LP ticker
3. Adjust the stack and heap size in GCC and IAR toolchains
2017-06-23 17:24:22 +08:00
cyliangtw bc0fc2ea4e [NANO130] Align with mbed master
1. Remove RTX_CM_lib.h modification for NANO130 platform
2. Remove semaphore test code's speific modification for NANO130 platform
3. Fix duplicate definitions of __NVIC_SetVector/__NVIC_GetVector
4. Add spi_master_block_write()
2017-06-19 20:06:23 +08:00
MS30 CCChang12 80b74f3139 [NANO130] Modify pin names for mbed board 2017-06-12 15:45:47 +08:00
MS30 CCChang12 a2d0b021a6 [NANO130] Fix first PWM pulse may not be correct issue 2017-06-12 14:24:28 +08:00
Sam Grove 547320e99c Rename function st_rtc_localtime with _rtc_localtime 2017-06-07 23:24:48 -05:00
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 85cc9c8381 Remove deprecated RTX4 config options 2017-05-30 18:55:55 +01:00
Bartek Szatkowski b793a3fb89 Update codebase for CMSIS5/RTX5
Update all of mbed-os to use RTX5.
2017-05-30 18:55:52 +01: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
MS30 CCChang12 369d65fd0d [NANO130] Fix issues in ci-test 2017-05-25 14:29:38 +08:00
adustm 3d44a3fcc3 add can_init_freq for NUVOTON platforms 2017-05-15 14:27:22 +02:00
MS30 CCChang12 9dcd7256cb [NANO130] Fix compile warnings in all toolchains 2017-05-11 10:48:52 +08:00
MS30 CCChang12 c5c7f3c2e2 [NANO130] Fix RTC incorrect time issue after system reset 2017-05-11 10:21:59 +08:00
MS30 CCChang12 e1af4657e9 [NANO130] Fix issues in Greentea test 2017-05-09 10:24:05 +08: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
MS30 CCChang12 4753787293 [NANO130] Support IAR toolchain 2017-04-28 15:30:16 +08:00
MS30 CCChang12 8d581bbc27 [NANO130] Support Serial async mode 2017-04-28 09:59:30 +08:00
MS30 CCChang12 ac9f59fda5 [NANO130] Fix LP_TICKER and RTC sometimes test fail issue 2017-04-27 10:05:49 +08:00
MS30 CCChang12 a96bea8631 [NANO130] Support ADC 2017-04-26 14:11:47 +08:00
MS30 CCChang12 3be0aaf8aa [NANO130] Support PWM 2017-04-21 13:21:46 +08:00
MS30 CCChang12 3f09447ded [NANO130] Support LP_TICKER, RTC, and beta version of SLEEP 2017-04-21 11:42:58 +08:00
ccli8 32a7e6ba5e [NUC472/M453] Fix pwmout power-down condition 2017-04-20 16:13:37 +08:00
MS30 CCChang12 f98c54948c [NANO130] fix USB TX/RX pin 2017-04-20 15:40:46 +08:00
ccli8 e55553e749 [NUC472/M453] Fix DMA channel over-allocate 2017-04-20 14:57:09 +08:00
ccli8 d2f0d20614 [NANO130] Polish dma_api.c 2017-04-20 14:36:46 +08:00