Commit Graph

33 Commits (34ef11630c2660bdb8643ebe7e87713944ab20c4)

Author SHA1 Message Date
Jimmy Brisson 15a9a0382b Enable Compiling with ARMC6 across all targets
remove duplicate sys.cpp
2017-09-11 13:20:32 -05: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
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
Jimmy Brisson 17a88a80ef Merge pull request #4557 from mmorenobarm/master
Enable I2C and Analogin drivers for CM3DS_MPS2 target
2017-06-26 10:28:08 -05:00
Jimmy Brisson c7d6bbe295 Upcase all assembler file extensions 2017-06-20 14:50:08 -05:00
Marc Moreno Berengue 6b04bb364f Update port api driver to add missing ports
This patch updates port api driver to add missing
ports.

Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
2017-06-15 17:30:31 +01:00
Marc Moreno Berengue 8de4c5323f Update CMSDK_CM3DS.h
This patch updates CMSDK_CM3DS.h to remove the
DMA peripheral memory map and defines, as
that peripheral is not present in the system.
In addition, some define names where updated
concerning rtc. RTC_api was updated accordingly.
This patch also updates SMM_MPS2 to align defines and
comments.

Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
2017-06-15 17:30:31 +01:00
Marc Moreno Berengue fabfc85d31 Add analogin driver for CM3DS MPS2 target
This patch adds analogin driver for
CM3DS MPS2 target.

Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2017-06-15 17:30:30 +01:00
Marc Moreno Berengue 985a2bb01d Add I2C driver for CM3DS MPS2 target
This patch adds the I2C driver for CM3DS MPS2 target.

Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
2017-06-15 17:30:30 +01:00
Marc Moreno Berengue ef79cf68a7 Implement pin_function and gpio_set
This patch implements pin_function and gpio_set
with some fixes in the PinNames.
The patch also updates the serial and spi
drivers to use the pin_function.

Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
2017-06-15 17:30:30 +01:00
Sam Grove 109269da9c Merge pull request #4414 from tkaman/master
Enable CM3DS_MPS2 target
2017-06-15 11:20:09 -05:00
mattot01 9bf298ecc8 Enable IAR and GCC_ARM compiler for CM3DS MPS2
1. Add startup code and linker script for IAR and
   GCC_ARM compilers.
2. Enable IAR and GCC_ARM compilers in targets.json.

Change-Id: I742a89ae73a4e5ede980a8af0821c3f0e5a461ef
Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
2017-06-09 14:58:31 +01:00
Tamas Ban 439363d12a Implement RTC(Real Time Clock) API on CM3DS target
- Modify CMSDK_CM3DS.h: add register interface
- Modify targets.json: add RTC as available device to CM3DS
- Create rtc_api.c: implement mandatory API functions

Change-Id: I14bc1074a9ac0d5e4cbada46d3c90ca82c1e28b0
Signed-off-by: Tamas Ban <Tamas.Ban@arm.com>
2017-06-09 14:58:31 +01:00
gabker01 fb6a2c075c Implement low-level Ethernet interface for lwIP
Based on lwip_ethernetif.c skeleton file,
use init, receive and transfer
functionality of SMSC9220 Ethernet driver
for the lightweight IP stack.

Receive mechanism is interrupt driven.

HW buffer sizes:
Tx = 4608 bytes (MTU)
Rx = 10560 bytes

lwIP fine tuning:
mbed-os/features/FEATURE_LWIP/lwip-interface/lwip/src/include/lwip/opt.h

Change-Id: I0ea95650c65fb32cafb5c2d3dde11420c61dba66
Signed-off-by: Gabor Kertesz <gabor.kertesz@arm.com>
2017-06-09 14:58:31 +01:00
gabker01 e4501f320b Ethernet driver for MPS2
Refactor SMSC9220 Ethernet controller driver

Change-Id: I75c3c42d5675441de1292100a54c50d990070c6f
Signed-off-by: Gabor Kertesz <gabor.kertesz@arm.com>
2017-06-09 14:58:31 +01:00
Tamas Kaman fdec3f51eb Create CM3DS_MPS2 target
- Creates new target in targets.json
 - Creates device specific files under ARM_SSG/CM3DS_MPS2 directory
 - Driver layer files under CM3DS_MPS2 are based on Beid target
 - Device specific files under CM3DS_MPS2/device are based on CMSIS_5 and Beetle

Change-Id: I29ea7a7f42b11cf25b516cce4b9255ab828ca019
Signed-off-by: Tamas Kaman <Tamas.Kaman@arm.com>
Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
2017-06-09 14:58:31 +01:00
Russ Butler 805374ed89 Restore cmsis_nvic for Cortex-M0 targets
Restore cmsis_nvic (cmsis_nvic.c and cmsis_nvic.h) files for the
implementations which use a mechanism other than the VTOR to set
interrupts. These are vendor specific and were done for M0 devices
which do not have a VTOR.

Note - There were two cmsis_nvic files which did not use the VTOR that
which not restored in this patch. This is because these targets were
not M0 devices and could use the new unified implementation instead.
These files are:
targets\TARGET_ARM_SSG\TARGET_MPS2\TARGET_MPS2_M0P\device\cmsis_nvic.c
targets\TARGET_ONSEMI\TARGET_NCS36510\device\cmsis_nvic.c

Note - cmsis_nvic.c and cmsis_nvic.h were initial removed in
(and restored from) the commit:
b97ffe8fdc -
"CMSIS5: Replace target defined NVIC_Set/GetVector with CMSIS implementation"
2017-06-08 22:50:23 -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
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
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
Martin Kojtal 8f295177ce Merge pull request #4317 from c1728p9/reduce_test_overhead
Reduce test overhead in preperation for CMSIS 5
2017-05-17 10:13:25 +01:00
Bartek Szatkowski c82c40f378 Temporarily increase max number of tasks for small boards
Affected boards: NRF51_DK, NRF52_DK, Beetle. This change is temporary and
will be overwritten by RTX update. It's necessary for the boards to pass
updated tests.
2017-05-15 13:23:08 +01:00
Russ Butler f32be95c9d BEETLE: Remove unused and conflicting systick
Remove the systick_timer driver from the BEETLE. This driver is both
unused and conflicts with the upcoming RTX5 PR.
2017-05-12 14:46:53 -05: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
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
Brian Daniels 52dc7c5423 Renames all prebuilt binaries to be prefixed with 'lib'
This fixes an issue with make_iar, since IAR requires all libraries that
are linked to be prefixed with 'lib'.
2016-11-09 11:08:01 -06:00
Marc Moreno Berengue e7829cd617 [BEETLE] Update BLE Cordio libraries
This patch updates the BLE Cordio libraries.

Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
2016-10-24 17:41:23 +01:00
Marc Moreno Berengue a3eacfd8d1 [BEETLE] Update disable dualtimer irq function
This patch updates DualTimer_DisableInterrupt to
disable the interrupt timers individually.
In addition, it updates lp_ticker accordingly.

Signed-off-by: Marc Moreno <marc.morenoberengue@arm.com>
2016-10-24 17:39:19 +01:00
Christopher Haster 26ced98734 restructure - Restructured cmsis directory
targets/cmsis -> cmsis
targets/cmsis/TARGET_* -> targets/TARGET_*/device
targets/cmsis/TARGET_*/mbed_rtx.h -> targets/TARGET_*/mbed_rtx.h
2016-10-04 17:51:44 -05:00
Christopher Haster 0bad622a16 restructure - Moved targets out to top level
hal/targets -> targets
hal/targets.json -> targets/targets.json
2016-09-30 19:18:09 -05:00