Przemyslaw Stekiel
3d719f7e35
K64F, NUCLEO_F429ZI: Use explicit pinmap for console
2019-11-28 08:32:00 +01:00
Przemyslaw Stekiel
e82e190a66
K64F serial driver: Add explicit pinmap support
2019-11-28 08:32:00 +01:00
Przemyslaw Stekiel
e0fdee9f0d
TARGET_MCUXpresso_MCUS I2C driver: Add explicit pinmap support
2019-11-28 08:31:59 +01:00
Przemyslaw Stekiel
4a79e59ef6
K64F Analogout driver: Add explicit pinmap support
2019-11-28 08:31:58 +01:00
Przemyslaw Stekiel
640c0a0160
K64F Analogin driver: Add explicit pinmap support
2019-11-28 08:31:57 +01:00
Przemyslaw Stekiel
53d59adc11
K64F PWM driver: Add explicit pinmap support
2019-11-28 08:31:56 +01:00
Przemyslaw Stekiel
31bff30b64
K64F SPI driver: Add explicit pinmap support
2019-11-28 08:31:55 +01:00
Martin Kojtal
5f7ecea00b
Revert "MbedCRC and CRC HAL revisions"
2019-11-26 13:45:37 +00:00
Martin Kojtal
83fc580f79
Merge pull request #11773 from fkjagodzinski/fix-watchdog_reset_test
...
Fix watchdog reset test
2019-11-22 22:26:44 +01:00
Kevin Bracey
1f94428a56
Update HAL CRC API
...
* Change "is supported" check to be a macro, so it can be done at
compile-time.
* Eliminate weird shift on 7-bit CRCs.
* Add support for 32-bit CRCs and reversals to TMPM3HQ.
2019-11-13 14:31:49 +02:00
Filip Jagodzinski
945a9b3ad5
K64F: Fix the watchdog mode settings
...
Enable the Watchdog Timer for the low-power stop modes of operation,
including the VLPS used in deepsleep.
Enable the Watchdog Timer for the Debug mode.
2019-11-04 19:35:01 +01:00
Martin Kojtal
eea83007be
Merge pull request #11203 from Tharazi97/Watchdog_lower_limit_timeout_test
...
Add watchdog lower limit timeout test
2019-10-31 14:25:52 +01:00
Kevin Bracey
fb6aa3ef4f
Clean up ARM toolchain heap+stack setup in targets
...
ARM Compiler 6.13 testing revealed linker errors pointing out
conflicting use of `__user_setup_stackheap` and
`__user_initial_stackheap` in some targets. Remove the unwanted
`__user_initial_stackheap` from the targets - the setup is
centralised in the common platform code.
Looking into this, a number of other issues were highlighted
* Almost all targets had `__initial_sp` hardcoded in assembler,
rather than getting it from the scatter file. This was behind
issue #11313 . Fix this generally.
* A few targets' `__initial_sp` values did not match the scatter
file layout, in some cases meaning they were overlapping heap
space. They now all use the area reserved in the scatter file.
If any problems are seen, then there is an error in the
scatter file.
* A number of targets were reserving unneeded space for heap and
stack in their startup assembler, on top of the space reserved in
the scatter file, so wasting a few K. A couple were using that
space for the stack, rather than the space in the scatter file.
To clarify expected behaviour:
* Each scatter file contains empty regions `ARM_LIB_HEAP` and
`ARM_LIB_STACK` to reserve space. `ARM_LIB_STACK` is sized
by the macro `MBED_BOOT_STACK_SIZE`, which is set by the tools.
`ARM_LIB_HEAP` is generally the space left over after static
RAM and stack.
* The address of the end of `ARM_LIB_STACK` is written into the
vector table and on reset the CPU sets MSP to that address.
* The common platform code in Mbed OS provides `__user_setup_stackheap`
for the ARM library. The ARM library calls this during startup, and
it calls `__mbed_user_setup_stackheap`.
* The default weak definition of `__mbed_user_setup_stackheap` does not
modify SP, so we remain on the boot stack, and the heap is set to
the region described by `ARM_LIB_HEAP`. If `ARM_LIB_HEAP` doesn't
exist, then the heap is the space from the end of the used data in
`RW_IRAM1` to the start of `ARM_LIB_STACK`.
* Targets can override `__mbed_user_setup_stackheap` if they want.
Currently only Renesas (ARMv7-A class) devices do.
* If microlib is in use, then it doesn't call `__user_setup_stackheap`.
Instead it just finds and uses `ARM_LIB_STACK` and `ARM_LIB_HEAP`
itself.
2019-10-23 14:53:49 +03:00
int_szyk
82e5952693
Add watchdog clock accuracy to Freescale targets.
2019-09-30 08:10:24 +02:00
Michal Paszta
551bc8a1f5
Enable async serial for K66F
...
Added DMA definitions and usage for UART, based on K64F's code.
2019-09-09 18:43:43 +03:00
Mahesh Mahadevan
e65012e549
MCUXpresso: Update the Kinetis Serial driver for MBED_TICKLESS
...
We should not block in case the UART is busy transmitting. The
API has been updated to check the status of all UART's and return
1 in case any of them is busy transmitting.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-09-05 13:58:59 -05:00
Mahesh Mahadevan
6eca8d2e2e
MCUXpresso: Change the Kinetis deep sleep implementation
...
The code checks if any of the UART's is still transmitting.
If so then prevent from entering deepsleep
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-09-05 13:58:58 -05:00
Martin Kojtal
27571bc2d7
Merge pull request #11309 from NXPmicro/Fix_Kinetis_Spi
...
MCUXpresso Kinetis SPI drive: Add a delay between CS assertion and first sclk edge
2019-08-29 08:49:49 +02:00
Martin Kojtal
7e0fb8fab9
Merge pull request #11293 from NXPmicro/K82F_Add_USBDevice
...
K82F: Add USBDEVICE support
2019-08-28 07:27:40 +02:00
Mahesh Mahadevan
5af80db8b6
MCUXpresso Kinetis SPI drive: Add a delay between CS assertion and first sclk edge
...
1. FPGA test shield requires at least half sclk period delay between
CS assertion and first sclk edge
2. Update Kinetis SPI drivers to match what is already done for K64F
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-23 07:11:43 -05:00
Mahesh Mahadevan
c249d5fd54
K82F: Add USBDEVICE support
...
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-22 11:17:35 -05:00
Mahesh Mahadevan
a85f0824be
MCUXpresso: Update EDMA drivers to fix warnings
...
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-22 10:47:43 -05:00
Mahesh Mahadevan
a184a86e90
MCUXpresso: Update the SDK LPUART drivers
...
Use the latest driver from K66F
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-22 08:26:11 -05:00
Mahesh Mahadevan
bff287580c
MCUXpresso: Update I2C SDK driver
...
Use the K66F driver that has the latest
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-22 07:48:29 -05:00
Mahesh Mahadevan
23bf7b74b0
MCUXpresso: Update SDK EDMA driver
...
Update to the latest version from K66F
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-22 07:48:29 -05:00
Mahesh Mahadevan
382696fc50
MCUXpresso: Use SDK API for spi_master_block_write
...
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-22 07:48:28 -05:00
Mahesh Mahadevan
33b66ffa60
MCUXpresso: Update Kinetis SPI SDK drivers
...
Added dummy data setup API to allow users to configure
the dummy data to be transferred.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-22 07:48:28 -05:00
Mahesh Mahadevan
4102114a72
MCUXpresso: Update Kinetis DSPI SDK drivers
...
- Added dummy data setup API to allow users to configure
the dummy data to be transferred.
- Added new APIs for half-duplex transfer function. Users
can send and receive data by one API in the polling/interrupt/EDMA way,
and they can choose either to transmit first or to receive first.
Additionally, the PCS pin can be configured as assert status in
transmission (between transmit and receive) by setting the
isPcsAssertInTransfer to true.
- Fix for MISRA issues
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-22 07:48:28 -05:00
Martin Kojtal
edcde1ce8c
Merge pull request #10796 from NXPmicro/tickless
...
NXP: Enable MBED_TICKLESS on various NXP platforms
2019-08-22 10:30:14 +02:00
Hugues Kamba
5cbc3e0497
Relocate USB target specific code to root `targets` directory
...
All target specific source and header files should be in the `targets`
directory located at the root of the Mbed OS repository.
2019-08-16 15:42:43 +01:00
Mahesh Mahadevan
d68d8009d9
K64F: Update UART aynchronous API for tickless implementation
...
Do not allow entry to deep sleep mode when UART transfer is active
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-12 10:57:17 -05:00
Mahesh Mahadevan
72e1f415a9
K64F: Update SPI aynchronous API for tickless implementation
...
Do not allow entry to deep sleep mode when SPI transfer is active
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-12 10:57:14 -05:00
Mahesh Mahadevan
eaace297dc
MCUXpresso: Provide an API to wait till TX complete
...
Wait till the data is flushed out of TX buffer
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-12 10:57:04 -05:00
Mahesh Mahadevan
75608f6db2
MCUXpresso: Updated SMC SDK driver
...
Update includes allocating RAM region for code to enter
stop modes and execute this code in RAM, thus the flash
is idle and no prefetch is performed while entering stop
mode.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-12 10:56:56 -05:00
Mahesh Mahadevan
df64e32aa3
MCUXpresso: Update Kinetis Sleep implementation
...
1. Use the updated API's provided by the SMC driver
2. Wait till debug UART has finished transmitting data
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-12 10:56:52 -05:00
Martin Kojtal
fd931a169d
Merge pull request #11168 from maciejbocianski/fix_qspi_write_k82f
...
Xpresso: qspi_write fix
2019-08-09 08:23:21 +01:00
Maciej Bocianski
f2599f43eb
Xpresso: qspi_write fix
...
Due to the data buffer is loaded in two steps the whole block needs protection from being interrupted
2019-08-06 14:55:29 +02:00
Maciej Bocianski
b788541308
freescale: fix i2c_byte_read function
2019-07-31 19:44:23 +02:00
Seppo Takalo
3d5489a6f8
Merge pull request #10644 from fkjagodzinski/hal-gpio_pinmap
...
Add a gpio pinmap
2019-07-17 14:39:40 +03:00
Tymoteusz Bloch
878c93673b
Reverted "K64F, STM32F429: IAR linker scripts dynamic heap fix"
...
due to side effect with K64F bootloader application jump after three consecutive HW resets.
2019-07-10 13:30:40 +02:00
Przemyslaw Stekiel
7d7c1416af
K64F SPI driver: Add the delay between CS assertion and first sclk edge
...
FPGA test shield requires at lease half slck period delay between CS assertion and first sclk edge.
2019-07-08 14:54:33 +02:00
Arto Kinnunen
3d65ace77a
Merge pull request #10950 from artokin/Update_freescale_K6xF_linker_files
...
Enable split heap in K64F/K66F devices
2019-07-08 11:46:30 +03:00
Arto Kinnunen
d7190c8af4
Adjust K66F GCC_ARM linker file
...
Move heap_0 after .data as it is also placed to m_data.
2019-07-05 14:59:35 +03:00
Martin Kojtal
608e4c245f
Merge pull request #10938 from tymoteuszblochmobica/iar
...
K64F, STM32F429: IAR linker scripts dynamic heap fix
2019-07-03 12:00:35 +01:00
Martin Kojtal
ccb63d771e
Merge pull request #10857 from ARMmbed/feature-watchdog
...
Add Watchdog and ResetReason
2019-07-03 11:43:52 +01:00
Kevin Bracey
810cb8de4a
Enable split heap in K64F/K66F devices
...
-Enable MBED_SPLIT_HEAP for K64F and K66F
-Allow GCC_ARM toolchain to utilize remaining 64K memory area
-Make ARM toolchain to start memory filling from 64K region to leave
more space to bigger 192K region.
2019-07-03 11:47:32 +03:00
Martin Kojtal
8b49ffc0c3
Merge pull request #10920 from NXPmicro/Update_Kinetis_SDK_Clock_Driver
...
Kinetis MCUXpresso: Update the clock drivers
2019-07-02 12:44:09 +01:00
Tymoteusz Bloch
83057c95d0
IAR icf linker scripts modified to use dynamic heap allocation of all available memory.
2019-07-01 17:57:40 +02:00
Mahesh Mahadevan
6c674ec0c7
Kinetis MCUXpresso: Update the clock drivers
...
Updated driver includes
1. Bug fixes
2. Formatting updates.
3. Fix for warnings
4. Better code commenting
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-06-28 10:09:52 -05:00
Martin Kojtal
85c477c1dc
Merge pull request #10609 from kjbracey-arm/us_ticker_optimise
...
wait_us optimization
2019-06-28 14:29:00 +01:00
Martin Kojtal
b0073bb70d
Merge pull request #10774 from fkjagodzinski/fix-uart_irq
...
Fix serial IRQ handling
2019-06-25 15:49:41 +01:00
Maciej Bocianski
fcde82ba4f
HAL I2C: adds missing DEVICE_I2C guards
2019-06-19 23:08:55 +02:00
Kevin Bracey
e5e2e0ac22
Freescale MCUXpresso: optimize us_ticker
...
Provide new optimizations for us_ticker and wait_us.
2019-06-14 10:22:08 +03:00
Filip Jagodzinski
8e3ca20817
K82F: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 16:47:59 +02:00
Filip Jagodzinski
3119d69f0e
KL27Z: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 16:46:53 +02:00
Filip Jagodzinski
9efaabe404
K66F: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 16:41:36 +02:00
Filip Jagodzinski
68269672c4
KL43Z: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 16:41:09 +02:00
Filip Jagodzinski
5f95c5fc85
KL82Z: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 16:37:49 +02:00
Filip Jagodzinski
0b33e8f976
KW24D: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 16:35:36 +02:00
Filip Jagodzinski
96b6cd3ee6
KW41Z: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 16:33:42 +02:00
Filip Jagodzinski
01e130ba83
K24F: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 16:19:25 +02:00
Filip Jagodzinski
f60850ad50
K22F: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 16:17:07 +02:00
Filip Jagodzinski
94c27aa750
K64F: Fix serial IRQ handling
...
Check that the RX or TX interrupt is enabled before calling
a registered handler with RxIrq or TxIrq arg.
2019-06-07 15:17:07 +02:00
Filip Jagodzinski
61f9a1c362
KW41Z: Add a GPIO pinmap for testing
2019-05-27 14:57:01 +02:00
Filip Jagodzinski
1a9b635e7d
KW24D: Add a GPIO pinmap for testing
2019-05-27 13:21:43 +02:00
Filip Jagodzinski
a326db8b77
K64F: Use a common peripheral name in GPIO pinmap
...
This was unnecessary since all the pins may be used independently.
2019-05-24 16:33:01 +02:00
Steve Cartmell
7f47b0a65c
fix(hal-watchdog): Add feature guards to K64F watchdog implementation
2019-05-24 12:23:35 +02:00
Filip Jagodzinski
4ed0b948f4
K64F: watchdog HAL: Fix init() and stop()
...
Added a missing wait for the WCT window end. Without it, consecutive
init() or stop() calls were ignored.
2019-05-24 11:35:30 +02:00
Steven Cartmell
2fb9fc2a8e
Rename watchdog.c -> watchdog_api.c to prevent name collision with Platform API
2019-05-24 11:35:25 +02:00
Filip Jagodzinski
90bb2929e0
K64F: watchdog HAL: Fix max_timeout.
...
Limit MAX_TIMEOUT_MS to UINT32_MAX.
Improve MAX_TIMEOUT_MS handling.
Fix hal_watchdog_get_platform_features() returning
.max_timeout = 0xfffffff8 instead of 0xffffffff.
2019-05-24 11:35:23 +02:00
Steven Cartmell
2ab738fc66
Fix Watchdog::stop on K64F target
...
WDOG_Disable will suspend the watchdog until a reset is triggered instead of stopping it altogether. Deinit will disable it until it is reinitialized.
2019-05-24 11:35:22 +02:00
Steven Cartmell
e7761a1d39
Move watchdog parameter validation into the driver layer
2019-05-24 11:35:22 +02:00
Steven Cartmell
31924b2481
Add missing license headers
2019-05-24 11:35:21 +02:00
Steven Cartmell
7c392a16d4
Remove window and sleep mode options for watchdog API
2019-05-24 11:35:13 +02:00
Steven Cartmell
8fa38bb25b
Add Watchdog driver API
2019-05-24 11:20:26 +02:00
Steven Cartmell
6b3d790fc1
Add function to fetch platform specific reset reason register values
2019-05-24 11:20:24 +02:00
Steven Cartmell
8a97101988
Fix watchdog API issues
...
- Fix typo in module comment
- Redefine the default system behaviour in sleep mode
- Guard K64F enableWait flag
- Remove bit shifts from reset reason enum
2019-05-24 11:20:22 +02:00
Steven Cartmell
c258acc222
Add simple watchdog reference implementation for K64F
...
- Add preprocessor guard to watchdog api that errors if the reset reason api is not also implemented
- Add RESET_REASON and WATCHDOG to K64F targets.json
- Add watchdog reference implementation
2019-05-24 11:20:21 +02:00
Steven Cartmell
efcdca8b0f
Add K64F reset reason reference implementation
2019-05-24 11:20:20 +02:00
Filip Jagodzinski
5bc873239e
K64F: Add a GPIO pinmap for testing
2019-05-23 14:29:26 +02:00
DESKTOP-UBVDC3M\Sachin
0897f6c196
K66F: Update to SDK 2.5
2019-05-15 21:54:48 -07:00
JarekParal
bd59a4cdf5
Fix code alignment
2019-04-29 17:33:28 +02:00
JarekParal
484c8a59b9
Add missing ADC pins mapping for FRMD-K66F
2019-04-29 10:54:39 +02:00
Arto Kinnunen
647ac06f04
Use Mbed OS coding style
...
Run astyle 3.0 for the changed c-files.
2019-03-11 16:59:54 +02:00
Arto Kinnunen
e1deb88471
Add spi_get_peripheral_name to MCUEpresso spi_api
...
Fix issue https://github.com/ARMmbed/mbed-os/issues/9149 .
Port changes from https://github.com/ARMmbed/mbed-os/pull/9845 also
to targets: K64F, K66F, KW24D and KW41Z
2019-03-11 14:18:41 +02:00
deepikabhavnani
0ff2d42143
Heap and stack size picked from linker files,export symbols not needed
2019-02-28 19:54:38 -06:00
deepikabhavnani
0dc5561991
Guard RAM start and size defines
2019-02-28 19:54:38 -06:00
deepikabhavnani
4b95b51e1b
Target_Freescale: Add ARM_LIB_STACK and ARM_LIB_HEAP section
...
Instead of user defined symbols in assembly files or C files,
use linker scripts to add heap and stack - this is inconsistent
with ARM std linker scripts
2019-02-28 19:54:38 -06:00
Deepika
49266c161c
Remove TOOLCHAIN_GCC_CW_NEWLIB files
2019-02-22 11:31:18 -06:00
deepikabhavnani
dab2a30c29
Target_Freescale: Add heap section in linker files
2019-02-20 16:01:40 -06:00
deepikabhavnani
c5ad5f6c94
Target_Freescale:Add heap section
2019-02-19 15:49:49 -06:00
deepikabhavnani
f518a696de
Remove unused heap_size define
2019-02-19 15:49:49 -06:00
deepikabhavnani
38e9314ddd
Add missing space in linker script
2019-02-19 15:49:49 -06:00
Deepika
e7e9e0734c
Update K64F linker files for general solution of 2-ram regions
2019-02-19 15:49:49 -06:00
Deepika
e03455a920
Target_Freescale: Set the heap size and limit
2019-02-19 15:49:49 -06:00
deepikabhavnani
818d38b6ae
Only GCC_ARM toolchain is supported, removing legacy code
2019-02-13 16:26:22 -06:00
Martin Kojtal
8f932a476f
Merge pull request #9449 from c1728p9/pinmap-extension
...
Pinmap extensions
2019-02-11 18:24:19 +01:00
Martin Kojtal
fd5a6af137
Merge pull request #9613 from mprse/stack_heap_fix_k64f_only
...
K64/ARM: Update to 2-region model for HEAP and Stack Memory
2019-02-11 17:55:30 +01:00
Russ Butler
8669417e7b
Add HAL API for spi pinmap
...
Add the functions to get spi pinmaps to all targets.
2019-02-08 09:10:37 -06:00
Russ Butler
34c176654d
Add HAL API for serial pinmap
...
Add the functions serial_tx_pinmap, serial_rx_pinmap, serial_cts_pinmap
and serial_rts_pinmap to all targets.
2019-02-08 09:10:28 -06:00