Commit Graph

99 Commits (copy_mem_sectors_config)

Author SHA1 Message Date
Martin Kojtal 1d5d3b054f
Merge pull request #14808 from affrinpinhero-2356/i2cTimingPerformanceSolved
driver/i2c: STM32: I2C performance issue solved.
2021-07-08 14:38:03 +02:00
anish-k eb06d5eb59 analogout: STM32: modified analogout_free api
removed hardcoded pins, implemented multi channel check
implemented DAC_2 initialization for H7 board
Added  #if defined DAC_CHANNEL_2
2021-07-02 21:34:24 +05:30
Affrin Pinhero d8cbd68dc2 driver/i2c: STM32: Solves I2C driver performanc issue.
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>
2021-07-02 10:54:16 +05:30
Martin Kojtal 8188f5f5ab
Merge pull request #14776 from affrinpinhero-2356/i2c_longTime_Mem_Solve
driver/i2c: STM32: I2C memory usage and time delay in read-write solved.
2021-06-29 11:30:02 +02:00
Affrin Pinhero 8f24f09df7 driver/i2c: STM32: Solves excess memory usage issue.
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>
2021-06-28 18:13:02 +05:30
Affrin Pinhero ef5ac45192 driver/i2c: STM32: I2C Read Write Take long time
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>
2021-06-15 15:08:24 +05:30
Martin Kojtal b74f62c974
Merge pull request #14659 from arduino/i2c_slave_patch
STM32: make i2c_salve_read return the number of bytes read
2021-06-10 14:10:31 +02:00
pennam cd35063694 Add missing changes in objects.h file for others STM32 components 2021-06-03 10:12:04 +02:00
Martin Kojtal 0711e488a1
Merge pull request #14686 from jeromecoutant/PR_CPP
STM32: correct __cplusplus brackets
2021-06-02 13:59:26 +02:00
jeromecoutant 9cadad3dcf STM32G4 astyle 2021-05-25 14:45:51 +02:00
jeromecoutant 81dc8f8605 STM32: correct __cplusplus brackets in ci2c_device.h 2021-05-24 14:47:05 +02:00
Anna Bridge 9e98a2ceb4
Merge pull request #14592 from JeanMarcR/STM32G4_NEW_CUBE
STM32G4 update drivers version to CUBE V1.4.0
2021-05-24 13:10:04 +01:00
Anna Bridge 5ef56cc6f4
Merge pull request #14557 from affrinpinhero-2356/feature_i2cTiming_Calculation
STM32: driver/Added I2C timing calculation algorithm
2021-05-24 13:09:19 +01:00
Affrin Pinhero d974b47439 driver/i2c: Added I2C timing calculation function.
This commit adds I2C timing value automatic calculation algorithm
for all supported families added. This patch improves I2C timing calculation
according to I2C input clock and I2C bus speed.
This commit also allows user to change the system clock and I2C input clock.

Related issue: #12907

Pull request type:
[x] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results:
[] No Tests required for this change (E.g docs only update)
[x] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

Signed-off-by: Affrin Pinhero <affrin.pinhero@hcl.com>
2021-05-19 18:35:47 +05:30
reme 6b42f45529 STM32G4 update drivers version to CUBE V1.4.0 2021-05-06 12:48:31 +01:00
jeromecoutant f2e153cf74 STM32G4 : serial issue with LP_UART1 2021-04-22 14:10:42 +02:00
Martin Kojtal 32d1c99d3c
Merge pull request #14480 from jeromecoutant/PR_STM32_STANDARD
STM32: Standard Pin Names
2021-04-15 17:30:50 +02:00
Martin Kojtal dd1da3da40
Merge pull request #14469 from jeromecoutant/PR_FLASH_PROGRAM
STM32: remove critical sections in flash_program_page
2021-04-14 20:15:11 +02:00
jeromecoutant ede1741e55 STM32G4: standard pin names 2021-04-14 10:30:03 +02:00
Martin Kojtal 8b8f4e52a0
Merge pull request #14521 from AnishKumarHCL/pwm_gpiopull_fix
Updated TARGET_STM32 board  pinMap_PWM table with GPIO_NOPULL
2021-04-14 09:54:22 +02:00
Anish Kumar 780d7c4a00 Updated TARGET_STM32 PeripheralPins.c and PeripheralPinMaps.h Replaced GPIO_PULLUP with GPIO_NOPULL in PinMap_PWM table 2021-04-08 18:42:01 +05:30
jeromecoutant 80fed0b442
NUCLEO_G431RB: pin standard 2021-03-30 14:23:43 -05:00
Dan Rose 1c2986a72e
rename USBRX -> CONSOLE_RX 2021-03-29 13:50:49 -05:00
Dan Rose f7e628d191
switch to new target naming conventions 2021-03-29 13:50:49 -05:00
Dan Rose 3292d0501a
Support Nucleo G431RB 2021-03-29 13:50:49 -05:00
Anna Bridge b91a705e74
Merge pull request #14444 from jeromecoutant/PR_GPIO_FREE
STM32: reset GPIO value is analog mode
2021-03-29 11:23:15 +01:00
jeromecoutant d0ea0466ad STM32: remove critical sections in flash_program_page 2021-03-24 17:40:18 +01:00
George Psimenos 61cfaa15cd Update UART pin names & add MBED_CONF_TARGET_STDIO_UART overrides 2021-03-23 11:17:17 +00:00
George Psimenos ec7e00a780 Add target markers to new PinNames.h files 2021-03-18 17:01:54 +00:00
George Psimenos 885cdef5f7 Add standard pin-names validation script & tests 2021-03-18 17:01:53 +00:00
jeromecoutant 7203125827 STM32 ANALOGOUT : correct GPIO free 2021-03-18 14:53:00 +01:00
Marek Czerski f64e64dc9d STM32: AnalogOut: do not call HAL_DAC_Start in dac_write
dac_write (used by AnalogOut.write) calls HAL_DAC_Start
every time. It is required to call HAL_DAC_Start only once.
HAL_DAC_Start uses internally HAL_Delay(1) making AnalogOut
not suitable for use in high speed application.
This change removes call to HAL_DAC_Start in dac_write and
moves it to analogout_init.
2021-03-12 09:56:41 +01:00
Ladislas de Toldi 1d4742e8c3
STM32G4 - Add if defined check for USE_HAL_XXX_REGISTER_CALLBACKS 2021-02-25 16:15:47 +01:00
Robert Walton a297a6145e Add library for NUCLEO_G431KB 2021-02-11 09:33:21 +00:00
Martin Kojtal 6bf459e3ce CMake STM32: fix mbed-stm linking libs names 2021-02-10 12:24:10 +00:00
Martin Kojtal 544e5b94c3 CMake STM32: fix targets naming
Follow the naming for other CMake targets, using prefix mbed-, lower case with dashes
2021-02-09 17:07:44 +00:00
Robert Walton d9e184b6c6 cmake: Refactor ST targets
Refactor all ST targets to be CMake buildsystem targets. This removes
the need for checking MBED_TARGET_LABELS repeatedly and allows us to be
more flexible in the way we include MBED_TARGET source in the build.

A side effect of this is it will allow us to support custom targets
without breaking the build for 'standard' targets, as we use CMake's
standard mechanism for adding build rules to the build system, rather
than implementing our own layer of logic to exclude files not needed for
the target being built. Using this approach, if an MBED_TARGET is not
linked to using `target_link_libraries` its source files will not be
added to the build. This means custom target source can be added to the
user's application CMakeLists.txt without polluting the build system
when trying to compile for a standard MBED_TARGET.
2021-02-04 15:26:36 +00:00
Tauno Magnusson dc969ba1d9 After checking other parts of the code (trng_api.c and a few other board platforms (NUCLEO_F413ZH, ...)) it appears that even though the reset value defaults correctly it may be good practice to keep the HAL_RCCEx_PeriphCLKConfig statement that selects the HSI48CLK as source for USB/RNG. 2021-01-26 03:51:49 +01:00
Tauno Magnusson 21176e903a Removed the HAL_RCCEx_PeriphCLKConfig statement that was selecting the HSI48 CLK for USB. Assumption is that the STM32G4 reset value (defaults to HSI48 selected for USB) is preserved throughout Mbed initialization. 2021-01-26 03:27:37 +01:00
Tauno Magnusson 80f0a378fb Updated to enable HSI48 Clock also for USBDEVICE define in targets.json. Also added so that the CK48 Clock Mux selects HSI48 for both RNG and USB. Without these the RNG/USB will be clocked at PLLQ (170 MHz) and not work. 2021-01-26 02:51:03 +01:00
Tauno Magnusson 99d21b6a92 Fixed whitespaces (a tab that should be spaces) 2021-01-26 01:21:46 +01:00
Tauno Magnusson fa0474239b Autogenerated file using 'python targets/TARGET_STM/tools/STM32_gen_PeripheralPins.py -t M40_Nucleo_NUCLEO-G431KB'. Had to do some modifications since the autogenerated files contained errors. 2021-01-24 04:25:42 +01:00
Tauno Magnusson f871eff405 Reverted to a pure copy of 474RE system_clock.c since it was updated with RNG clock fixes. Removing USB Clock enablement (USB will not work out-of-the box but will require users to modify system_clock.c to enable its clock) - this inline with changes to targets.json where I removed the USBDEVICE define 2021-01-24 03:18:06 +01:00
Tauno Magnusson 173cc1fe29 Cleaning out workaround patches for G431KB now that Flash Bank Switching has been fixed on G4xxx level (ARMmbed/mbed-os patch #14149) 2021-01-24 02:44:09 +01:00
Tauno Magnusson e4fb7402c3 Fixed a typo (incorrectly referring to G474RE instead of G431KB) 2021-01-24 02:41:18 +01:00
Tauno Magnusson 3ff04fa81e Cleaned up and verified file 2021-01-24 02:15:22 +01:00
Tauno Magnusson 1389b1ac9d Adding CMakeLists.txt files for NUCLEO_G431KB 2021-01-24 02:15:21 +01:00
Tauno Magnusson d720792191 G431 only has 1 Flash Bank. Code is written with the assumption all G4 devices has 2 Flash Banks. Fix: Commented out SYSCFG_MEMRMP_FB_MODE since stm32g431KB only has 1 Flash Bank. flash_api.c checks for this #define and if it's set understands it as if the chip has 2 flash banks. STM32G4xx_HAL_Driver/stm32g4xx_hal.c also needs to check for this #define since it has flash bank swapping commands that are called in the startup sequence. Fix: Check for SYSCFG_MEMRMP_FB_MODE in Enable/Disable Flash bank swapping. 2021-01-24 02:15:21 +01:00
Tauno Magnusson 98e48828b1 Fix: Added ALIGN(8) for __etext section. This existed in mbed-6.3.0 version. I have not verified if it is truly needed, but it is better to err on the safe side. 2021-01-24 02:15:21 +01:00
Tauno Magnusson 5bd272aabc Adding support for NUCLEO_G431KB. Created this file based on G474RE file. Added support for USB - connected the HSI48 clock to USB (and RNG). Warning: I'm assuming Flash latency is the same as for G474RE. 2021-01-24 02:15:21 +01:00