Porting from STM32 to 4100splus

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ZONDAR1
Level 2
Level 2
10 replies posted 5 questions asked 10 sign-ins

Hi,

Now i have a project on STM32L431RC(Cortex-M4) with its lib and i am planning to port it to CY8C4147LQE-S473(Cortex-M0+). But i do not have any experience. Could you give me some help? 

C:.
│  .code_review_properties
│  .cproject
│  .mxproject
│  .project
│  PCR102_Truestudio_2_8_2.elf.launch
│  PCR102_Truestudio_2_8_2.ioc
│  README.txt
│  STM32L431RC_FLASH.ld
│
├─.settings
│      com.atollic.truestudio.debug.hardware_device.prefs
│      language.settings.xml
│      org.eclipse.cdt.managedbuilder.core.prefs
│
├─Debug
│  │  PCR102_Truestudio_2_8_2.elf
│  │  PCR102_Truestudio_2_8_2.hex
│  │  PCR102_Truestudio_2_8_2.list
│  │  PCR102_Truestudio_2_8_2.map
│  │
│  ├─Drivers
│  │  └─STM32L4xx_HAL_Driver
│  │      └─Src
│  │              stm32l4xx_hal.o
│  │              stm32l4xx_hal.su
│  │              stm32l4xx_hal_cortex.o
│  │              stm32l4xx_hal_cortex.su
│  │              stm32l4xx_hal_dma.o
│  │              stm32l4xx_hal_dma.su
│  │              stm32l4xx_hal_dma_ex.o
│  │              stm32l4xx_hal_dma_ex.su
│  │              stm32l4xx_hal_exti.o
│  │              stm32l4xx_hal_exti.su
│  │              stm32l4xx_hal_flash.o
│  │              stm32l4xx_hal_flash.su
│  │              stm32l4xx_hal_flash_ex.o
│  │              stm32l4xx_hal_flash_ex.su
│  │              stm32l4xx_hal_flash_ramfunc.o
│  │              stm32l4xx_hal_flash_ramfunc.su
│  │              stm32l4xx_hal_gpio.o
│  │              stm32l4xx_hal_gpio.su
│  │              stm32l4xx_hal_i2c.o
│  │              stm32l4xx_hal_i2c.su
│  │              stm32l4xx_hal_i2c_ex.o
│  │              stm32l4xx_hal_i2c_ex.su
│  │              stm32l4xx_hal_iwdg.o
│  │              stm32l4xx_hal_iwdg.su
│  │              stm32l4xx_hal_pwr.o
│  │              stm32l4xx_hal_pwr.su
│  │              stm32l4xx_hal_pwr_ex.o
│  │              stm32l4xx_hal_pwr_ex.su
│  │              stm32l4xx_hal_rcc.o
│  │              stm32l4xx_hal_rcc.su
│  │              stm32l4xx_hal_rcc_ex.o
│  │              stm32l4xx_hal_rcc_ex.su
│  │              stm32l4xx_hal_spi.o
│  │              stm32l4xx_hal_spi.su
│  │              stm32l4xx_hal_spi_ex.o
│  │              stm32l4xx_hal_spi_ex.su
│  │              stm32l4xx_hal_tim.o
│  │              stm32l4xx_hal_tim.su
│  │              stm32l4xx_hal_tim_ex.o
│  │              stm32l4xx_hal_tim_ex.su
│  │              stm32l4xx_hal_uart.o
│  │              stm32l4xx_hal_uart.su
│  │              stm32l4xx_hal_uart_ex.o
│  │              stm32l4xx_hal_uart_ex.su
│  │
│  ├─examples
│  │      example_assembly_test.o
│  │      example_assembly_test.su
│  │      example_detector_distance.o
│  │      example_detector_distance.su
│  │      example_detector_distance_recorded.o
│  │      example_detector_distance_recorded.su
│  │      example_detector_presence.o
│  │      example_detector_presence.su
│  │      example_get_next_by_reference.o
│  │      example_get_next_by_reference.su
│  │      example_multiple_service_usage.o
│  │      example_multiple_service_usage.su
│  │      example_service_envelope.o
│  │      example_service_envelope.su
│  │      example_service_iq.o
│  │      example_service_iq.su
│  │      example_service_power_bins.o
│  │      example_service_power_bins.su
│  │      example_service_sparse.o
│  │      example_service_sparse.su
│  │      ref_app_parking.o
│  │      ref_app_parking.su
│  │      ref_app_rf_certification_test.o
│  │      ref_app_rf_certification_test.su
│  │      ref_app_smart_presence.o
│  │      ref_app_smart_presence.su
│  │      ref_app_tank_level.o
│  │      ref_app_tank_level.su
│  │
│  ├─integration
│  │      acc_hal_integration_stm32cube_xc111_r4a.o
│  │      acc_hal_integration_stm32cube_xc111_r4a.su
│  │      acc_integration_stm32.o
│  │      acc_integration_stm32.su
│  │
│  ├─Src
│  │      gpio.o
│  │      gpio.su
│  │      iwdg.o
│  │      iwdg.su
│  │      main.o
│  │      main.su
│  │      spi.o
│  │      spi.su
│  │      stm32l4xx_hal_msp.o
│  │      stm32l4xx_hal_msp.su
│  │      stm32l4xx_it.o
│  │      stm32l4xx_it.su
│  │      syscalls.o
│  │      syscalls.su
│  │      system_stm32l4xx.o
│  │      system_stm32l4xx.su
│  │      usart.o
│  │      usart.su
│  │
│  └─startup
│          startup_stm32l431xx.o
│
├─Drivers
│  ├─CMSIS
│  │  ├─Device
│  │  │  └─ST
│  │  │      └─STM32L4xx
│  │  │          ├─Include
│  │  │          │      stm32l431xx.h
│  │  │          │      stm32l4xx.h
│  │  │          │      system_stm32l4xx.h
│  │  │          │
│  │  │          └─Source
│  │  │              └─Templates
│  │  └─Include
│  │          cmsis_armcc.h
│  │          cmsis_armclang.h
│  │          cmsis_armclang_ltm.h
│  │          cmsis_compiler.h
│  │          cmsis_gcc.h
│  │          cmsis_iccarm.h
│  │          cmsis_version.h
│  │          core_armv81mml.h
│  │          core_armv8mbl.h
│  │          core_armv8mml.h
│  │          core_cm0.h
│  │          core_cm0plus.h
│  │          core_cm1.h
│  │          core_cm23.h
│  │          core_cm3.h
│  │          core_cm33.h
│  │          core_cm35p.h
│  │          core_cm4.h
│  │          core_cm7.h
│  │          core_sc000.h
│  │          core_sc300.h
│  │          mpu_armv7.h
│  │          mpu_armv8.h
│  │          tz_context.h
│  │
│  └─STM32L4xx_HAL_Driver
│      ├─Inc
│      │  │  stm32l4xx_hal.h
│      │  │  stm32l4xx_hal_cortex.h
│      │  │  stm32l4xx_hal_def.h
│      │  │  stm32l4xx_hal_dma.h
│      │  │  stm32l4xx_hal_dma_ex.h
│      │  │  stm32l4xx_hal_exti.h
│      │  │  stm32l4xx_hal_flash.h
│      │  │  stm32l4xx_hal_flash_ex.h
│      │  │  stm32l4xx_hal_flash_ramfunc.h
│      │  │  stm32l4xx_hal_gpio.h
│      │  │  stm32l4xx_hal_gpio_ex.h
│      │  │  stm32l4xx_hal_i2c.h
│      │  │  stm32l4xx_hal_i2c_ex.h
│      │  │  stm32l4xx_hal_iwdg.h
│      │  │  stm32l4xx_hal_pwr.h
│      │  │  stm32l4xx_hal_pwr_ex.h
│      │  │  stm32l4xx_hal_rcc.h
│      │  │  stm32l4xx_hal_rcc_ex.h
│      │  │  stm32l4xx_hal_spi.h
│      │  │  stm32l4xx_hal_spi_ex.h
│      │  │  stm32l4xx_hal_tim.h
│      │  │  stm32l4xx_hal_tim_ex.h
│      │  │  stm32l4xx_hal_uart.h
│      │  │  stm32l4xx_hal_uart_ex.h
│      │  │
│      │  └─Legacy
│      │          stm32_hal_legacy.h
│      │
│      └─Src
│              stm32l4xx_hal.c
│              stm32l4xx_hal_cortex.c
│              stm32l4xx_hal_dma.c
│              stm32l4xx_hal_dma_ex.c
│              stm32l4xx_hal_exti.c
│              stm32l4xx_hal_flash.c
│              stm32l4xx_hal_flash_ex.c
│              stm32l4xx_hal_flash_ramfunc.c
│              stm32l4xx_hal_gpio.c
│              stm32l4xx_hal_i2c.c
│              stm32l4xx_hal_i2c_ex.c
│              stm32l4xx_hal_iwdg.c
│              stm32l4xx_hal_pwr.c
│              stm32l4xx_hal_pwr_ex.c
│              stm32l4xx_hal_rcc.c
│              stm32l4xx_hal_rcc_ex.c
│              stm32l4xx_hal_spi.c
│              stm32l4xx_hal_spi_ex.c
│              stm32l4xx_hal_tim.c
│              stm32l4xx_hal_tim_ex.c
│              stm32l4xx_hal_uart.c
│              stm32l4xx_hal_uart_ex.c
│
├─examples
│      example_assembly_test.c
│      example_assembly_test.h
│      example_detector_distance.c
│      example_detector_distance.h
│      example_detector_distance_recorded.c
│      example_detector_distance_recorded.h
│      example_detector_presence.c
│      example_detector_presence.h
│      example_get_next_by_reference.c
│      example_get_next_by_reference.h
│      example_multiple_service_usage.c
│      example_multiple_service_usage.h
│      example_service_envelope.c
│      example_service_envelope.h
│      example_service_iq.c
│      example_service_iq.h
│      example_service_power_bins.c
│      example_service_power_bins.h
│      example_service_sparse.c
│      example_service_sparse.h
│      ref_app_parking.c
│      ref_app_parking.h
│      ref_app_rf_certification_test.c
│      ref_app_smart_presence.c
│      ref_app_smart_presence.h
│      ref_app_tank_level.c
│      ref_app_tank_level.h
│
├─Inc
│      gpio.h
│      iwdg.h
│      main.h
│      spi.h
│      stm32l4xx_hal_conf.h
│      stm32l4xx_it.h
│      usart.h
│
├─integration
│      acc_hal_integration.h
│      acc_hal_integration_stm32cube_xc111_r4a.c
│      acc_integration.h
│      acc_integration_stm32.c
│
├─rss
│  ├─include
│  │      acc_base_configuration.h
│  │      acc_definitions.h
│  │      acc_detector_distance.h
│  │      acc_detector_presence.h
│  │      acc_hal_definitions.h
│  │      acc_rf_certification_test.h
│  │      acc_rss.h
│  │      acc_rss_assembly_test.h
│  │      acc_rss_diagnostics.h
│  │      acc_service.h
│  │      acc_service_envelope.h
│  │      acc_service_iq.h
│  │      acc_service_power_bins.h
│  │      acc_service_sparse.h
│  │      acc_version.h
│  │
│  └─lib
│          libacconeer.a
│          libacc_detector_distance.a
│          libacc_detector_presence.a
│          libacc_rf_certification_test.a
│
├─Src
│      gpio.c
│      iwdg.c
│      main.c
│      spi.c
│      stm32l4xx_hal_msp.c
│      stm32l4xx_it.c
│      syscalls.c
│      system_stm32l4xx.c
│      usart.c
│
└─startup
        startup_stm32l431xx.s

 

Best regards

 

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

I tried to write a simple project for CY8C4147LQE-S473.

I tested the project with CY8CKIT-149 (CY8C4147AZI-S475)

 

It contains GPIO I/O, UART, SPI. 

I initialized the SPI but I did not use SPI in this project.

I hope that you can play with it and get some feeling about how to use PSoC Creator.

 

Meantime, I strongly recommend you to watch PSoC 101 Videos,

although they are somewhat old, they can give you good start with PSoC Creator.

https://www.infineon.com/cms/en/product/microcontroller/32-bit-psoc-arm-cortex-microcontroller/psoc-...

 

And last but not least, we have many sample project in the Code Examples

https://community.infineon.com/t5/Code-Examples/bd-p/CodeExamples

moto

View solution in original post

0 Likes
7 Replies
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

I think that Infineon/cypress has counterpart of the most of the library stuffs.

So it would be easier for other to help you if you can

(1) Explain what you want to establish

(2) (If possible) share main.h and main.c (or your user code part of the project)

moto

0 Likes
lock attach
Attachments are accessible only for community members.

Thanks for your reply,

I want to port the project to CY8C4147LQE-S473 and it is attached below. Could you give me some advice on how to start it?

Best reagards,

Zondar

0 Likes
lock attach
Attachments are accessible only for community members.
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

I tried to write a simple project for CY8C4147LQE-S473.

I tested the project with CY8CKIT-149 (CY8C4147AZI-S475)

 

It contains GPIO I/O, UART, SPI. 

I initialized the SPI but I did not use SPI in this project.

I hope that you can play with it and get some feeling about how to use PSoC Creator.

 

Meantime, I strongly recommend you to watch PSoC 101 Videos,

although they are somewhat old, they can give you good start with PSoC Creator.

https://www.infineon.com/cms/en/product/microcontroller/32-bit-psoc-arm-cortex-microcontroller/psoc-...

 

And last but not least, we have many sample project in the Code Examples

https://community.infineon.com/t5/Code-Examples/bd-p/CodeExamples

moto

0 Likes

Hi moto,

Thanks a lot for your advice and I have tried PSoc creator. While the project is originally based on STM, the code related to SPI communication is bound into a library file and I do not know how it works in details. How could I port the project in such a situation?

Zondar

0 Likes
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Dear Zondar-san,

As I commented in the source, in the project SPI component is already initialized.

You can modify the parameter from the schematic GUI.

For the operation, perhaps watching the 101 Videos will be helpful.

Probably you can try by yourself, but in case you don't understand how to implement what you want, you can post a new question in the community, too.

Best Regards,

21-Jun-2022

Motoo Tanaka

0 Likes

Hi moto,

It seems the max baudrate of SPI component is 8 Mbps. Is there any way to reach such like a 12 Mbps?

Best regards,

Zondar

0 Likes
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Dear Zondar-san,

As you might have tried, we can access the data sheet of a component

from the Component Catalog or in the Configuration Window of the component.

For example if you double-click the "SPI" component.

000-schematic.JPG

We can open the configuration window of the component.

(This case, SPI)

And in the configuration, selecting

Oversampling: 6

Data rate: 8

will give us 8Mbps.

002-SPI_Config.JPG

Then if you click the "Datasheet' button in the bottom left corner,

we can access the datasheet of this component.

And it the datasheet, I found SPI AC specification as below

001-SPI_AC_spec.JPG

There Fspi = SPI operating frequency (master; 6X oversampling)

is shown as MAX 8 MHz.

So I'm afraid that we can not go beyond 8 MHz with this device and component.

 

Best Regards,

22-Jun-2022

Motoo Tanaka

 

0 Likes