Commit Graph

1984 Commits (12a47f0031efb635713426485dc916f5800b6920)

Author SHA1 Message Date
jeromecoutant 1e36eb6fc9 STM32F7 : RTC Wake Up Timer issue 2017-09-26 17:04:29 +02:00
Andrzej Puzdrowski f861b37196 Extend nRF51 AnalogIn voltage range to 3.6 V
Previous the voltage range was set to 1.2 from SoC internal reference source.
This caused problem with testing. It is unexpected that range is much
shorter than vdd as well.

The voltage range was extended using SoC build in analog prescaler (set to 1/3).
2017-09-26 11:31:50 +02:00
Russ Butler c32890294e Fix LPC54114 vector table size
Correct the vector table size on the LPC54114. This fixes crashes
seen on boot when building with GCC.
2017-09-25 18:49:38 -05:00
Martin Kojtal 9a191de5f9 LPC1768: flash_hal removal duplication
IAP typedef duplication removal
2017-09-25 19:18:18 +02:00
Martin Kojtal 6a6561028e LPC1768: flash erase/write require a critical section
From RM:

32.3.2.6 Interrupts during IAP
The on-chip flash memory is not accessible during erase/write operations. When the user
application code starts executing the interrupt vectors from the user flash area are active.
The user should either disable interrupts, or ensure that user interrupt vectors are active in
RAM and that the interrupt handlers reside in RAM, before making a flash erase/write IAP
call. The IAP code does not use or disable interrupts.
2017-09-25 19:18:06 +02:00
Vincent Coubard d76a5a7eb9 Fix typo in DELTA_DFBM_NQ620 target
Replace `device_has_had` by `device_has_add`
2017-09-25 17:47:16 +01:00
Martin Kojtal c623e889c0 LPC1768: RAM end adjust fix
The topmost 32 bytes used by IAP functions, this was not included in the RAM
end previously.
2017-09-25 13:50:54 +01:00
Mahadevan Mahesh d9a8c63b53 K66F: Use DSPI SDK driver API's in spi block read
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-09-24 08:14:59 -05:00
Mahadevan Mahesh 593fb3a6fb K66F: Update to SDK 2.2
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-09-24 08:14:52 -05:00
Martin Kojtal 29988933aa EFM32: fix fire interrupt (set flags)
There's overflow counter that needs to be 0, and
CC0 flag set.

Fixes #5051
2017-09-22 14:45:30 +01:00
Martin Kojtal 81fde11dae Merge pull request #4968 from dlfryar/master
Add bootloader support for NXP FRDM-KW24D
2017-09-22 11:33:40 +01:00
Martin Kojtal a74e95fb26 Merge pull request #4973 from gorazdko/new-target-L-TEK-FF1705
Add new target: L-TEK FF1705
2017-09-22 11:32:50 +01:00
Chris Snow e2c42bb0a0 LPC1768 IAP Fix (#4993)
use IAP routines for the flash HAL implementation
2017-09-22 11:30:43 +01:00
ccli8 bf426b0771 [NUC472/M453/M487/NANO130] Remove dead power-down code with mbed OS 3
These power-down code are stale and would be superseded by sleep manager.
2017-09-22 09:42:51 +08:00
ccli8 4040211f9e [NANO130] Refine sleep code
1. Remove stale code with mbed OS 3.
2. Remove check for busy peripherals unorganizedly. This would be supported by e.g. official sleep manager.
2017-09-22 09:33:53 +08:00
Mahadevan Mahesh 1dadb055f7 RTC HAL: Allow writing 0 to the seconds register
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-09-21 13:33:07 -05:00
ccli8 785413aa1e [NANO130] Fix RTC hour error with AM/PM 2017-09-21 16:42:00 +08:00
Jimmy Brisson a2cdb10bf7 Merge pull request #4932 from LMESTM/can_reset
Fix STM32 CAN reset to not lose context
2017-09-20 16:24:40 -05:00
ccli8 33070988de [NANO130] Fix lp_ticker wake-up is incorrectly disabled 2017-09-20 16:56:37 +08:00
ccli8 f553277198 [NANO130] Fix lp_ticker typo 2017-09-20 16:56:36 +08:00
ccli8 c4c902289f [NANO130] Change SW2/SW3 to SW1/SW2 to match target board 2017-09-20 16:56:35 +08:00
ccli8 443d18a18c [NANO130] Move target configuration from mbed_lib.json to targets.json 2017-09-20 16:56:34 +08:00
ccli8 d4af4ba3a7 [NUC472/M453/M487] Fix RTC hour error with AM/PM 2017-09-20 16:56:34 +08:00
ccli8 83fc132b97 [NUC472] Fix RTC macro function with no arguments in BSP 2017-09-20 16:56:33 +08:00
ccli8 6eb4e11b37 [NUC472/M453/M487] Refine sleep code
1. Remove stale code with mbed OS 3.
2. Remove check for busy peripherals unorganizedly. This would be supported by e.g. official sleep manager.
2017-09-20 16:56:32 +08:00
ccli8 52733fe7f6 [M487] Replace mktime/localtime with interrupt-safe version in rtc
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-09-20 16:56:31 +08:00
Tony Wu 6c1167844a rtl8195am - fix us_ticker porting
commit f7bc126 (Re-work Rtl8195AM ticker) tried to address ticker drifting
issue, but in fact broke ticker functionality. This patch adjusts us_ticker
porting to unbreak it, and to fix the following tests:

mbed-os-tests-mbed_drivers-ticker
mbed-os-tests-mbed_drivers-timeout
mbed-os-tests-mbedmicro-rtos-mbed-isr
mbed-os-features-frameworks-utest-tests-unit_tests-minimal_async_scheduler
mbed-os-features-frameworks-utest-tests-unit_tests-case_control_async
mbed-os-features-frameworks-utest-tests-unit_tests-case_async_validate

Changes are:

1. Dont disable timer after every us_ticker interrupt. That basically
   breaks ticker functionality.

2. Fine-tune us to tick conversion macro. Previous conversion method
   yields 1 tick drift every 2 ms.

3. Remove special placement of ticker objects. No longer necessary.

Signed-off-by: Tony Wu <tonywu@realtek.com>
2017-09-20 11:03:22 +08:00
Mahadevan Mahesh 82a37b0eb1 LPC54608: Swap LED pin connections to match naming on the board
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-09-19 15:37:22 -05:00
jeromecoutant 8b0ee27819 STM32L432KC: increase RAM size from 48k to 64k
WARNING: you have to update ST-Link FW to V2J29M18
http://www.st.com/en/development-tools/stsw-link007.html
2017-09-19 15:11:23 +02:00
mbedNoobNinja 610c8c85fc CAN Extended mode fix 2017-09-19 15:26:10 +03:00
Anna Bridge 003dd7c47f Merge pull request #5044 from Archcady/Profile_debug
Realtek_RTL8195AM fix for debug profile
2017-09-19 10:43:25 +01:00
Anna Bridge f18d2d862a Merge pull request #5091 from theotherjimmy/fix-nordic-concat
Correct booting on Nordic devices with ARMC6
2017-09-19 10:24:54 +01:00
bcostm 5bf18682e2 Add FREEZE_TIMER_ON_DEBUG condition
In order to give the choice to enable or not the timer freeze on stop/breakpoint.
This has to be defined in the mbed_app.json file for example.
2017-09-18 13:39:05 +02:00
bcostm 9f86a32baf Add freeze timer on debug for all STM32 devices
This is a continuation of the work done on the STM32F401xE devices only.
2017-09-18 13:31:46 +02:00
Jimmy Brisson aeda7f7d28 Merge pull request #5069 from deepikabhavnani/assert_added
Changed error print to assert
2017-09-15 17:50:49 -05:00
Yuguo Zou f7bc12626d Re-work Rtl8195AM ticker
Remove intermediate variances and use uint64 instead;
Remove HalTimerIrqEn called in us_ticker.c
2017-09-15 18:53:24 +08:00
Laurent MEUNIER 076b096efe STM: I2C: Confifure pins in OpenDrainNoPull by default (no pullup)
As reported by MBED user Fran6Jack:
I2C bus are usually 5V tolerant on all STM32 processor.
If an external device on the I2C bus requires 5V operation,
we usually acheive it by using 5V external pull-ups on the bus.
Since signaling uses open-drain output on I2C for both signal SCL and SDA
any 5V tolerant MCU will work on a 5V I2C bus. Having pull-up activated on a 5V externally pull bus, cause the pin to clamp on the STM32 die diode and could damage the IC (There is a note in STM32 datasheet specifying this issue).
It is understood by all the community that I2C bus should always be
externally pulled by physical resistor. I2C initialization should then
be ALWAYS OpenDrainNoPull by default.

Up to now, this I2C driver was setting pull up by default as it helps
basic testing, like 1 master and 1 slave, conencted with 2 wires without
any external pull ups. This will not work anymore after this commit and
applications tests or examples needs to be modified to explicitely
configure pull ups ...  But it is safer to follow reference manual
guidelines.
2017-09-14 17:15:11 +02:00
Jimmy Brisson ca41a0f59d Correct uninit region for nordic targets 2017-09-13 14:51:27 -05:00
Jimmy Brisson 45b59b442b Correct long call macros for ARMC6 2017-09-13 09:48:55 -05:00
jeromecoutant 908ef68fc5 STM32 : Disable HSE XTAL choice from the default clock source 2017-09-13 14:49:25 +02:00
Anna Bridge 7b428916f5 Merge pull request #4949 from theotherjimmy/feature-armc5+armc6
NEW TOOLCHAIN: Add the ARMC6 Compiler
2017-09-13 10:39:15 +01:00
Vincent Coubard 682816d86e Sleep: Disallow sleep for targets turning of the systick clock at sleep entry.
When the RTOS is present and the tickless mode is not implemented, it is
expected that the next tick issued by the Systick timer will wake up the MCU.
However nothing prevents an implementation of the ARM architecture to gate the
systick clock signal upon sleep entry.

Therefore on those targets sleep shall be prohibited if the RTOS is present and the
tickless mode is not implemented.

To ease life of porters , a new option has been added in the device add list:
STCLK_OF_DURING_SLEEP. This option expose that the target turn of the systick
clock during sleep.

Targets which exhibit such behavior shall add this define in their device_has list.
2017-09-13 10:28:02 +01:00
adbridge 32bd25e8df Fix include file for ARMCC 6, should use cmsis_armclang.h 2017-09-12 16:41:11 +01:00
Anna Bridge 2955a0adc6 Merge pull request #5063 from 0xc0170/fix_lpticker_test
Fixing lp ticker and sleep manager tests
2017-09-11 22:28:52 +01:00
Jimmy Brisson d3b33d75a4 Correct NRF SDK11 assembly 2017-09-11 13:20:33 -05:00
Jimmy Brisson 4f3f0cc9cc Make Realtek link
There was some interesting stuff here.
 * ARMC6 treats assembly the same as GNU, but has a different startup
   function, so we branch the asm there
 * Incorrect discriminant, probably copied from other ports
2017-09-11 13:20:33 -05:00
Jimmy Brisson 91afbce18a Correct Nuvoton compiler detection logic 2017-09-11 13:20:33 -05:00
Jimmy Brisson fb53eb65d4 Correct Silabs NVIC selection
Again, the culprit was that the discriminant did not include armc6
2017-09-11 13:20:32 -05:00
Jimmy Brisson 0b7a9033b5 Enable many STM devices with ARMC6
Yet another incorrect arm vs gcc discriminant
2017-09-11 13:20:32 -05:00
Jimmy Brisson 4da4c1f5ce Correct compiler switching in Nordic code 2017-09-11 13:20:32 -05:00
Jimmy Brisson cd4fd86f1f Correct Freescale + NXP compiler detection macros
Also removes duplication of common files
2017-09-11 13:20:32 -05:00
Jimmy Brisson 15a9a0382b Enable Compiling with ARMC6 across all targets
remove duplicate sys.cpp
2017-09-11 13:20:32 -05:00
Deepika 65150b62b9 Added assert for malloc 2017-09-11 11:41:34 -05:00
Anna Bridge cab660d980 Merge pull request #4938 from deepikabhavnani/IAR_fixes
Update IAR to version 8
2017-09-11 17:28:38 +01:00
Russ Butler cf8d6c49a7 Fix errors on NCS36510 after deep sleep
Add NOPs after deep sleep to prevent unexpected behavior. It appears
that the first one or two instructions after deep sleep do not get
executed properly.

Note - This is a temporary workaround. For a more robust solution
the NCS36510 needs to investigate the root cause of this issue.
2017-09-10 22:25:12 -05:00
Russ Butler acf428200f Turn off tickless for the NCS36510
The NCS36510 is not suitable for tickless, since its LP ticker cannot
be scheduled fast enough. This is because it takes four 32KHz clock
cycles before these writes take effect - ~120us.
2017-09-09 20:43:37 -05:00
Jimmy Brisson 3f2e986256 Merge pull request #5012 from LMESTM/issue5004_ticker_16b
STM32_us_ticker_16b: keep code to cope with past event
2017-09-09 12:09:25 -05:00
Russ Butler 48a0489955 Enable tickless for a subset of devices
Enable tickless on nrf5x devices and the NCS36510.
2017-09-07 21:35:07 -05:00
Russ Butler 72f07ec4d9 Make room on stm32f07 for tickless
Decrease the interrupt stack from 2k down to 1k so there is enough
ram to build all the tests with tickless enabled. In general, targets
should not need an interrupt stack greater than 1k with mbed-os.
2017-09-07 21:35:06 -05:00
Russ Butler c3eae587eb Add tickless support for devices without SysTick
Some Cortex-M0 devices, such as the nrf51, don't have the SysTick.
Instead, these targets use a software interrupt to simulate SysTick.
Add the hooks in the tickless code to support these devices. Targets
which do not have SysTick should now define NO_SYSTICK in targets.json
and implement mbed_get_m0_tick_irqn to add os suport.

This patch also removes os tick handling from the existing devices
(nrf51) since this is now handled in common code.
2017-09-07 21:35:04 -05:00
Martin Kojtal 8dfb491bb1 Merge pull request #4958 from soramame21/master
Add bootloader support for DISCO_L476VG
2017-09-07 12:46:08 +01:00
Yuguo Zou ba3bb7ea35 Remove unused code
Clean rtl8195a_init.c a little bit
2017-09-07 15:10:08 +08:00
Yuguo Zou 2642ab321e Update wlan lib to fix debug profile
The issue of mutex returning osErrorISR with debug profile is fixed
2017-09-07 11:05:06 +08:00
Yuguo Zou 1d6a69b3e6 Update MSP setup
Use asm code to set MSP
2017-09-07 10:58:45 +08:00
Jimmy Brisson 22b183a42b Merge pull request #5037 from 0xc0170/fix_arch_pro_heap
Revert "Adjusting Stack size Allocation (IAR, LPC176x)"
2017-09-06 20:31:46 -05:00
Jimmy Brisson 7457bbbc5c Merge pull request #4665 from Archcady/enable_sdram
Enable sdram usage of REALTEK_RTL8195AM
2017-09-06 14:26:34 -05:00
Jimmy Brisson 9b85155aa7 Merge pull request #4881 from betzw/betzw_freeze_github_wb
[STM32F401xE] Freeze master timer on stop/breakpoint
2017-09-06 14:25:47 -05:00
Martin Kojtal 52f84810a7 mts targets: fix debug() usage
Instead of using #if NDEBUG, we can directly invoke debug() function. Fixes #5013
2017-09-06 15:56:01 +01:00
Deepika d12822f95a Resolved compiler error: constructor deleted
IAR 8.x compiler throws error for emac_interface_t constructor
rtw_emac.cpp@220,0: [Pe1790]: the default constructor of "emac_interface"
cannot be referenced -- it is a deleted function

Error is because new object is created of structure with constant member.
Resolved it by using malloc instead new.
2017-09-06 09:51:17 -05:00
Martin Kojtal bb26bd6d2d Revert "Adjusting Stack size Allocation (IAR, LPC176x)"
This reverts commit fce2ca2122.
2017-09-06 13:56:27 +01:00
Kevin Gilbert 6fa766da50 Adjust whitespace in Odin PinNames file to fit verbose LED pin mappings 2017-09-05 13:43:06 -05:00
Dexter Fryar ffe84bd3f3 Add bootloader support for NXP FRDM-KW24D 2017-09-05 13:28:44 -05:00
Jimmy Brisson 2f2da779cb Merge pull request #4924 from hasnainvirk/iar_fix_c027
Adjust Stack size Allocation (IAR, LPC176x)
2017-09-05 11:20:44 -05:00
Jimmy Brisson 5f9d984a22 Merge pull request #5013 from janjongboom/mts_printf
MTS targets: Don't use any printf() calls when NDEBUG is defined
2017-09-05 11:19:42 -05:00
Jimmy Brisson 34d41c5068 Merge pull request #4995 from kegilbert/odin-led-remap
Add LED color remapping definitions to Odin target
2017-09-05 11:17:42 -05:00
Jimmy Brisson e009d9f7be Merge pull request #4975 from LMESTM/STM32_SPI3W
Stm32 spi 3 wires mode support
2017-09-05 11:16:53 -05:00
Jimmy Brisson 94fb4a3aad Merge pull request #4929 from bcostm/adc_sampletime_vrefint
STM32F4: Increase ADC sample time for VREF
2017-09-05 11:15:53 -05:00
Laurent MEUNIER f5aa7c7c82 STM32: Lock / Unlock flash for each operation
Rather than Unlocking flash during flash object creation, and leaving
the flash possibly continuously unlocked a(s object might bever be freed),
we decide to Unlock then Lock again at each erase or program call.
2017-09-05 17:49:07 +02:00
Piotr Grygorczuk 9c77957798 LPCXpresso LPC1769 board ported
The blinky example compiles and runs.
The board has a different eth phy component than mbed LPC1768. It requires a driver.
2017-09-05 15:30:14 +01:00
bcostm e588011394 STM32 USBDevice: Add USB_STM_HAL macro for disco-f469ni 2017-09-05 14:08:51 +02:00
Yuguo Zou 67f1ee5343 Resolve including directory issue in GCC linker script for Ameba
Should not make assumption of specific directory when include .h from
linker script
2017-09-05 19:11:38 +08:00
Laurent MEUNIER f2eb77a81a STM32_us_ticker_16b: reset counter when fire interrupt
Fixing regression introduced in commit
"Ticker: add fire interrupt now function".

In above mentioned commit, the management of timestamp being in the past
has been moved to higher layer (hal/mbed_ticker_api.c), but the reset of
oc_int was missing when implementing the new us_ticker_fire_interrupt
function - which is fixed now.
2017-09-05 13:03:21 +02:00
Laurent MEUNIER 5997811d46 STM32: F2: put can_s struct under DEVICE_CAN option
In case of F2 devices without CAN support.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER 04ac65a4e6 STM32: CAN: restore registers after can_reset
After reset the MCR register content needs to be restored so we're
introducing the can_registers_init function to be called at the first
init stage, but also after reset. We also store the can frequency to
go through the initialisation phase again.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER 8357f6fe77 STM32: CAN: store the mode in object context
In order to apply the same mode in case of reset, we store the current
requested mode in the HAL structure.

To make storage in a single place, we also change can_monitor to call
can_mode function as they actually acting on same registers.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER 57222b604f STM32: CAN: do not overwite BTR register when setting frequency
BTR register has other bits than the ones calculated and set through
the can_speed function, so let's take care to only write to the
right registers.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER 759642af8e STM32: Define CAN handle as part of can object
Instead of a static object, this will make driver
instantiation more robust and allow to re-use init
configuration on a need basis.

The CANName struct member is actually the CAN registers base address,
which is now available in the CanHandle.Instance field, so we don't need
CANName anymore.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER 66162c6b1d STM32: move can_s definition to common_objects.h
This will ease up further changes to the structure.
2017-09-05 10:27:21 +02:00
Martin Kojtal b0dd984493 Merge pull request #4939 from c1728p9/crash_on_boot
Fix crashes on boot on some Kinetis devices
2017-09-04 16:51:22 +01:00
Martin Kojtal 5b4e0b30df Merge pull request #4963 from NXPmicro/Fix_NVIC_NUM_VECTORS
K66F,KW24D,K22F,K64F: Fix NVIC_NUM_VECTORS value
2017-09-04 16:50:32 +01:00
Martin Kojtal 675a17cff2 Merge pull request #4980 from LMESTM/stm32_flash_update
Stm32 flash update
2017-09-04 16:49:18 +01:00
Hasnain Virk fce2ca2122 Adjusting Stack size Allocation (IAR, LPC176x)
Since mbed-os 5.4.3, something increased foot print of mbed-os and the applications that were barely fitting in started to spill.

IAR toolchain for LPC176x target family is set to use 2 RAM regions (32K each). RAM region
2 is being used for ETH/USB and 1 is being used for vector table, stack/heap/static data.

In this commit we have decreased heap size allocation from 8K to 7K so that the is more room for stack and static data.
2017-09-04 14:54:42 +03:00
Jan Jongboom 72262ca0b3 MTS targets: Don't use any printf() calls when NDEBUG is defined, prevents linking out printf() and friends in release build 2017-09-04 12:05:41 +01:00
Laurent MEUNIER b01cc966b0 Introduce TIMEOUT_1_BYTE
This makes the code more explicit about what is last parameter of
HAL_SPI_Transmit/HAL_SPI_Receive functions.
2017-09-04 11:16:49 +02:00
Russ Butler b402b7a8c6 Fix crash on boot due to vector size mismatch
If NVIC_NUM_VECTORS is larger than the space allocated by the vector
table in ram (__ram_vector_table_size__) then the call to mbed_cpy_nvic
during boot will corrupt valid data, which can lead to a crash. This
patch fixes the declared number of vectors on the KL27Z, KL43Z and
KL82Z to fix this crash.
2017-09-01 18:43:38 -05:00
Kevin Gilbert 41000e091c Add LED color remapping definitions to Odin target 2017-09-01 17:00:24 -05:00
gorazd 7773acd78c arduino connector namings added 2017-08-31 15:18:14 +02:00
Boting Ren 04461acf5e Remove HAL_GetUID_12Bytes function from stm32l4xx_hal layer. 2017-08-31 15:21:22 +09:00
Boting Ren 87ce631490 Fix a parse error at targets/targets.json. 2017-08-31 11:18:31 +09:00
gorazd 40b0d961b6 extra label deleted 2017-08-30 08:16:08 +02:00
Jimmy Brisson 82f5ce22f8 Merge pull request #4951 from JanneKiiskila/ublox_odin_buttons
UBLOX_EVK_ODIN_W2- add BUTTON1/2 definitions
2017-08-29 13:46:10 -05:00
Jimmy Brisson 318e92c028 Merge pull request #4950 from OpenNuvoton/nuvoton_usb
M487: Support USB device/host
2017-08-29 13:45:55 -05:00
Jimmy Brisson d68cd09c63 Merge pull request #4944 from LMESTM/F1_AFIO_CLK
STM32: F1 GPIO: Enable AFIO clock
2017-08-29 13:45:27 -05:00
Boting Ren defb8ebf41 Add bootloader support configuration for DISCO_L476VG. 2017-08-29 19:01:25 +09:00
Laurent MEUNIER dacf04e69b STM32: Flash: cover TARGET_F410RB case
There was a comilation error for NUCLeO_F410RB as it does not have
a ADDR_FLASH_SECTOR_5.
2017-08-29 11:42:51 +02:00
Laurent MEUNIER 9bed429aa0 STM32: L1: Activate FLASH API for NUCLEO_L152RE 2017-08-28 16:21:33 +02:00
Wolfgang Betz f8114f2295 [STM32F401xE] Freeze master timer on stop/breakpoint 2017-08-28 14:29:47 +02:00
Yuguo Zou c834b7faac Fix bugs for RTL8195AM with debug profile of compilers
1. Add alignment / padding for postbuild segments
2. Clear tcm.bss section
3. Remove TRAP_OverrideTable(), move lines to PLAT_Start()
2017-08-28 19:04:26 +08:00
Laurent MEUNIER a9468c09e3 STM32: F7 Flash API support
Adding flash API support to STM32F7 family. The code is derived from
F4 family one. The memory topology is described in flash_data.h files
and the flash_api.c implementation manages the 2 possible memory types (1
or 2 banks).
2017-08-28 10:23:55 +02:00
Laurent MEUNIER e6631c02a4 STM32: adjust flash.get_page_size() to minimum programable size
Users of FlashIAP usually get the minimum programable size
by calling flash.get_page_size(), so let's return the minimum
to allows a most efficient usage of flash.

For F4 devices, this is 1 byte.
For L0 and L1 devices, this is a word (4 bytes).
For L4 devices, this is a double word (8 bytes).
2017-08-25 17:21:30 +02:00
Laurent MEUNIER 3de2ce9c10 STM32: Add Flash API support to STM32F413xH
First add the flash_data.h that describe the flash memory topology,
and also activate FLASH support for the corresponding targets.

This is a 1,5MB flash memory device which contains 15 sectors, where
sectors 12 to 15 are 128KB sectors. So flash_api.c needed has been
updated to differentiate between this flash memory and the 2MB ones
by checking existence of sector 16 instead of sector 12.
2017-08-25 17:21:30 +02:00
Laurent MEUNIER 4b62cf015c STM32: Add Flash API support to STM32F469xI
First add the flash_data.h that describe the flash memory topology,
and also activate FLASH support for the corresponding targets.
2017-08-25 17:21:08 +02:00
Laurent MEUNIER 86ad16f5f8 STM32: Add Flash API support to STM32F410RB
First add the flash_data.h that describe the flash memory topology,
and also activate FLASH support for the corresponding targets.
2017-08-25 17:20:40 +02:00
Laurent MEUNIER 645fd0f06d STM32: Add Flash API support to STM32F4 devices with 512KB Flash
First add the flash_data.h that describe the flash memory topology,
and also activate FLASH support for the corresponding targets.
2017-08-25 17:20:13 +02:00
gorazd 436d97c9f9 new target added L-TEK FF1705
based on XDOT
2017-08-24 22:11:10 +02:00
Jimmy Brisson 3926b56cd8 Merge pull request #4935 from LMESTM/F410RB_ARM_TC
STM32: fix F410RB vectors size
2017-08-24 10:16:31 -05:00
Jimmy Brisson d2793ede5e Merge pull request #4922 from gorazdko/bug-fix-clock-config-xdot
bug fix: xdot clock config
2017-08-24 10:15:25 -05:00
Jimmy Brisson 7252447385 Merge pull request #4920 from scartmell-arm/led-error-sequence
Modify LED error sequence to be more recognisable
2017-08-24 10:14:13 -05:00
Jimmy Brisson 0a063a00fd Merge pull request #4840 from ganesh-ramachandran/master
Add Support for TOSHIBA TMPM066 board
2017-08-24 10:13:09 -05:00
Mahadevan Mahesh c5b66b85ba K66F,KW24D,K22F,K64F: Fix NVIC_NUM_VECTORS value
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-08-23 10:50:12 -05:00
Yuguo Zou c530be0eeb Fix stack underflow issue
Switch on TCM
2017-08-23 16:12:07 +08:00
Boting Ren 4b9b174c7f Add function to read 12byte HW RoT over STM32L4xx. 2017-08-23 11:06:44 +09:00
Yuguo Zou 1e398cfc60 Add RTL8195AM support for mbed client with IAR
Move ticker related code to SRAM due to time drift sensitive
2017-08-22 17:34:00 +08:00
Yuguo Zou e16c2d2833 Add RTW8195AM support for mbed client with ARMCC
Move ticker related code to SRAM due to time drift sensitive
2017-08-22 17:33:41 +08:00
Janne Kiiskilä 2e6cd907d4 UBLOX_ODIN_EVK_W2 - add BUTTON1/2 definitions
UBLOX_ODIN_EVK_W2 is missing the abstract button definitions originally
introduced with PR https://github.com/ARMmbed/mbed-os/pull/4249.

Fix two tab to spaces issues on the go as well.
2017-08-22 09:54:53 +03:00
ccli8 cacc444b73 [M487] Support USB device/host 2017-08-22 09:27:31 +08:00
Jimmy Brisson 316c875136 Merge pull request #4926 from bcostm/merge_l053x8
STM32L053x8: Refactor NUCLEO_L053R8 and DISCO_L053C8 targets
2017-08-21 10:38:42 -05:00
Jimmy Brisson bb7ab1942a Merge pull request #4896 from pilotak/patch-1
target BLUEPILL_F103C8 compile fix
2017-08-21 10:37:01 -05:00
Laurent MEUNIER d4fa585ac4 STM32: F1 GPIO: Enable AFIO clock
It is required to enable AFIO clock before using __HAL_AFIO_REMAP_xy
macros, which was missing here. Without clocks enable, the remap
actually doesn't occur. This would possibly cause some PIOs (part of
PB_3, PB_4, PA_13, PA_14, PA_15) to not behave as expected.

In most cases AFIO clock was enabled in stm_pin_SetAFPin function, so
that this bug was not visible. But there were few cases left were
stm_pin_DisconnectDebug would be called first. A typical case was
with GCC_ARM in case a DigitalInOut variable is declared as global.
2017-08-21 13:32:33 +02:00
Laurent MEUNIER 95fc6d0bad STM32: fix F410RB vectors size
On F410RB, the size reserved to vectors with ARM toolchains was not properly
defined,which was not the case for other toolchains.

This would cause few tests to fail like EXAMPLE_1 with below error:

HOST: Unknown property: mbed assertation failed: _ptr == (T *)&_data, file: C:/github/mbed/BUILD/mbed/platform/SingletonPtr.h, line 91
2017-08-18 11:57:51 +02:00
bcostm d0fce353cc STM32F4: Set ADC sample time to max value for VRefInt 2017-08-17 16:12:16 +02:00
Laurent MEUNIER 8c99bf3b62 SPI: HAL: disable IP at the end of transmit
in case of 1LINE direction
2017-08-17 11:02:43 +02:00
mapellil 6dfafc7293 STM32: SPI: Use LL in spi_slave_read
this is more a cosmetic change, but since LL was introduced, we can now
use it here as well.
2017-08-17 11:02:43 +02:00
Laurent MEUNIER 57371ea591 STM32: SPI: Do not enable SPI during Init if 3W
Enabling SPI causes the clock to be output by default.

Most devices will not care about extra clock cycles, especially as long
as chip select is not active, nevertheless this may cause side issues
with other devices especially during init phase.

This was actually the case with a 3 wire device (LPS22HB sensor).
2017-08-17 11:02:43 +02:00
mapellil 4f20cfc0be STM32: SPI: SPI3W / SPI_DIRECTION_1LINE management
In case MISO is not passed at SPI init, then we consider a 3 wires SPI
configuration is requested, which corresponds to SPI_DIRECTION_1LINE
configuration parameter in STM32 HAL layer.

We're then handling this specific case of SPI_DIRECTION_1LINE,
in spi_master_write or spi_master_block_write, we call to HAL API
2017-08-17 11:02:43 +02:00
bcostm 8273e371df STM32L053x8: Align system_clock.c files 2017-08-17 10:55:18 +02:00
gorazd 34bd3e5c14 xdot: fix target clock config in targets.json
Resolves #4876
2017-08-17 10:37:17 +02:00
Ganesh Ramachandran f79216c8d8 Issue with mbed compile for GCC_ARM tool resolved
Functions 'serial_break_set' & 'serial_break_clear' wrongly removed during 'SERIAL_FC disabled, critical section API Updation' commit.
Due to this 'mbed compile' command for GCC_ARM tool fails to compile.
2017-08-17 11:14:09 +05:30
Ganesh Ramachandran 552feccca3 Main stack dependant on GCC toolchain removed 2017-08-17 10:54:26 +05:30
Ganesh Ramachandran 48ee6a0fb6 Clear interrupt and delta check removed 2017-08-17 10:54:26 +05:30
Ganesh Ramachandran 9dca3fe5df Interrupt and Overflow check for us_ticker 2017-08-17 10:54:26 +05:30
Ganesh Ramachandran 0a781c4f04 ADC Reset Conflict Fixed
ADC Reset conflict with already configured ADC pins is fixed
2017-08-17 10:54:25 +05:30
Ganesh Ramachandran 624620b0d2 SERIAL_FC disabled, critical section API Updation
SERIAL_FC disabled, critical section API and Format changes updated
2017-08-17 10:54:25 +05:30
Ganesh Ramachandran bd8fa4eb70 Added Support for Toshiba TMPM066 2017-08-17 10:54:25 +05:30
bcostm 794d4f657f STM32L053x8: Add STM32L053x8 label in targets.json 2017-08-16 17:10:43 +02:00
bcostm 580c7cb0b6 STM32L053x8: cleanup ARM compiler files 2017-08-16 17:10:42 +02:00
bcostm 9b8bb9eec4 STM32L053x8: Move other folders and files 2017-08-16 17:10:42 +02:00
bcostm 04cefd300d STM32L053x8: Create folder and move objects.h 2017-08-16 17:10:42 +02:00
Steve Cartmell 9c87f5936c Unified the LED error pattern for all boards
- Removed the patterned LED sequence, all boards now use the 4 fast pulse, 4 slow pulses LED sequence.
  - Changed the LED used from LED_RED to LED1. Only 58/174 targets seem to define LED_RED but they all define LED1.
  - Removed all ERROR_RED and ERROR_PATTERN definitions from targets/targets.json
2017-08-16 11:55:24 +01:00
Jimmy Brisson 7653f65434 Merge pull request #4878 from jeromecoutant/PR_ADC_INTERNAL
STM32 : internal ADC channels
2017-08-14 11:42:30 -05:00