This commit modifies readme file. Descption for using
I2C timing algorithm and how to enable and disable
included.
Signed-off-by: Affrin Pinhero <affrin.pinhero@hcl.com>
This commit solves issue related to i2c driver performance.
With this commit delay in read write when using i2c timing
algorithm is solved. Used flag mechanism which will check
tim reg value and hz passed.
Signed-off-by: Affrin Pinhero <affrin.pinhero@hcl.com>
The multiple InterruptIn object with same pin_index sharing same IRQ line.
So the second object will overwrite the first one. To catch this as error,
implemented an error catching functionality.
This commit updates the documentation on how to use
mbed_otp_mac_address() to modify the default MAC address to custom
Mac address.
Signed-off-by: Kather Rafi Ibrahim <katherrafi.i@hcl.com>
Fix pin names of K64F with the following from the latest guidelines:
* LEDs and buttons are defined as macros, digital and analog pins as
enums.
* No duplicated pin names with the same value.
* The Arduino form factor is deprecated in favour of Arduino Uno.
Note: The pins `SPI_xxx` are for SD card only, but the names are kept
for backward compatibility (i.e. no breaking change until the next
Mbed OS major version). The general purpose Arduino Uno SPI pins
(`ARDUINO_UNO_SPI_xxx`) are different and also available.
This commit solves excess usage of RAM. User can now enable/disable
I2C timing algorithm. Disabling of I2C timing algorithm would
reduce RAM usage.
Signed-off-by: Affrin Pinhero <affrin.pinhero@hcl.com>
For `MCU_M2354`, the use of `device_has` in `targets.json` overrides the devices
present in the base target: `PSA_V8_M`. In particular, `DEVICE_TRNG` is missing
in `NU_M2354` builds as `TRNG` is a member of the `PSA_V8_M` `device_has` list.
As suggested by @ccli8, to ensure that `PSA_V8_M` devices are inherited by
derived targets, such as `MCU_M2354`, the correct syntax to use is
`device_has_add`.
Modified i2c_device.h file. This will solve I2C read
write long time issue. Updated default I2C peripheral clock
value to 160MHz.
fix:
ARMmbed/mbed-os#14732
Signed-off-by: Affrin Pinhero <affrin.pinhero@hcl.com>
1. Build TF-M v1.3 with GNUARM and HXT not present.
2. Support configurability of HXT presence (targets.json).
3. Default HXT to not present (targets.json). This must align with built TF-M secure code above.
Modified print_adc function to update adc pin_map.
This patch will update python script that generate
'peripheralPin.c'. Which will give functionality to
gernerate ADC pin definition for BANK_B.
This script update is related to
https://github.com/ARMmbed/mbed-os/pull/14669
Signed-off-by: Affrin Pinhero <affrin.pinhero@hcl.com>
LXT/HXT are external crystl oscillator and can be absent on custom board.
This enables configuring LXT/HXT presence:
1. By default, LXT/HXT are configured to be present, except M252 which has no HXT.
2. When LXT is configured to not present, lp_ticker/watchdog will clock by LIRC instead.
3. Limitations:
(1) On all targets, LIRC-clocked lp_ticker gets inaccurate and fails to pass tests.
(2) On NUC472/M453, HIRC-clocked PLL doesn't output 1MHz-aligned frequency. us_ticker gets slight inaccurate.
(3) On all targets, LIRC-clocked RTC is not supported due to no H/W path/RTC clock source reset to LXT on reset/RTC not trimmed for other clock rates.
4. On M263, TRNG's clock source defaults to LXT and needs special handling without LXT.
5. On M252, replace target.hxt-enable with target.hxt-present for consistency.
Modified HAL_I2C_ErrorCallback function to solve bug reported in I2C Driver.
This commit solves compilation error occured when DEVICE_I2CSLAVE is not defined.
fix#14696
Signed-off-by: Affrin Pinhero <affrin.pinhero@hcl.com>
1. Update TF-M Secure bin enabling TRNG as entropy source
2. Replaced with above, remove TRNG HAL stuff on Mbed, including platform extra secure functions, cmake, etc.
1. Configure non-secure target name to NU_M2354 (targets/targets.json). No NU_M2354_NS alias
2. Following template target, enable image signing and concatenating in post-build process
(1) Add post-build script (tools/targets).
(2) Enable TF-M custom build by centralize relevant stuff imported from TF-M (COMPONENT_TFM_S_FW).
3. Add M2354Code.merge_secure into whitelist of uvision6 (tools/export/uvision/__init__.py).
4. Add M2354 CMSIS pack database (tools/arm_pack_manager/index.json).
5. Configure stdio baudrate to 115200 to match TF-M port (platform/mbed_lib.json).
6. Define CMSIS_NVIC_VIRTUAL to override NVIC_SystemReset with TF-M version (cmsis_nvic_virtual.h).
7. Override tfm_ns_interface_xxx(...) to enable NS secure call:
(1) At pre-rtos stage
(2) In SVC context
8. Implement secure function call with tfm_platform_ioctl(...).
9. Combine stddriver_secure.h/c and hal_secure.h/c into platform_extra_secure.h/c.
10. Fix peripheral base to non-secure (PeripheralNames.h) (TrustZone-unaware since Mbed OS 6.0).
11. Fix NU_PORT_BASE/NU_GET_GPIO_PIN_DATA/NU_SET_GPIO_PIN_DATA to non-secure (PinNamesCommon.h) (TrustZone-unaware since Mbed OS 6.0).
12. NSC convention for StdDriver sys/clk (both TF-M and Mbed must follow)
(1) SYS_ResetModule
Usage: Replaced with SYS_ResetModule_S on Mbed OS
Action: Make it inaccessible from Mbed (neither source nor NSC). Provide SYS_ResetModule_S on Mbed via platform ioctl instead.
(2) CLK_GetXxx
Usage: Called in bpwm/i2s/qspi/sc/sdh and system_M2354 on Mbed OS
Action: Make them inaccessible from Mbed (neither source nor NSC). Re-provide them on Mbed via platform ioctl instead.
13. Remove DISABLE/ENABLE macro definitions in BSP to avoid name conflict with other modules
14. Change to TMR4/5 from TMR2/3 for implementing us_ticker/lp_ticker because TMR2 is used for TF-M NSPE test
15. Support cmake
NOTE: Export(uvision6) doesn't support TF-M target. To enable it for partial compile on Keil, force below function to return true.
is_target_supported(tools/export/uvision/__init__.py)