Open-CMSIS-Pack / cmsis-toolbox

CMSIS-Toolbox
https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/README.md#cmsis-toolbox
Apache License 2.0
55 stars 13 forks source link

CubeMX #125

Open FerdinandEn opened 2 months ago

FerdinandEn commented 2 months ago

I have tried to create a CubeMX project (STM32F756) directly in VSCode. When I call the customized line in VSCode I only get the information that the exit code is 1.

csolution CubeMX.csolution.yml run --generator CubeMX --context CubeMX.Debug+MyBoard

Do I need a new version of the F7 pack to be able to reproduce the procedure?

I can't reproduce the example either, as I don't have the U585I packs with the required version.

jkrech commented 2 months ago

@FerdinandEn , did you follow the steps in this ReadMe Make sure you are using CMSIS-Toolbox 2.3.0 and you need to clone the pack-examples and register the pdsc files as local repositories, as described. This gives you access to STM32U585 DFP and BSP. The STM32F7xx_DFP does not support the global generator yet.

FerdinandEn commented 2 months ago

CMSIS Toolbox is 2.3.0

For the CubeMX-Example: I did not install the packs with cpackget. I have now done that. I was able to execute the cpackget instructions successfully. The Packs are also entered as local repositories.

STM32U5xx_DFP::3,0,0-dev0 B_U585_IOTA2A_BSP::2.0.0-dev1

csolution CubeMX.csolution.yml run --generator CubeMX --context CubeMX.Debug+MyBoard

now leads to the error

error csolution: required pack: Keil::B-U585I-IOT02A_BSP@2.0.0-dev0 not installed

After change of CubeMX.cbuild-pack.yml to dev1 CubeMX opens. I was then able to carry out all further steps successfully.

jkrech commented 2 months ago

Thanks a lot for your feedback and the hint that the cbuild-pack.yml is locking the BSP to 2.0.0-dev0. An alternative to "overriding" the cbuild-pack.yml is to add the option --load latest which will ensure that the latest installed packs will get used.

As you can see here: https://github.com/Open-CMSIS-Pack/pack-examples we do not currently have the STM32F7 pack in the works yet.

FerdinandEn commented 2 months ago

After successfully completing the steps for using CubeMX, I wanted to gain some more experience. When opening Software Components, I received the following error message:

image

I am trying to set up a new project with the board. At first I was able to enter all the settings in Software Components. However, I noticed that the dev packs were not used. After switching to the dev packs, I could no longer use Software Components

image


I have another question:

If I convert a STM32 project with uVision and then to VS Code. Can I then open CubeMX directly and adjust the settings?

The following templates are used for CubeMX in uVision

FrameworkCubeMX_gpdsc.ftl MX_Device_h.ftl

The templates are missing when opening CubeMX directly.

jkrech commented 1 month ago

The first problem you report, looks like an extension specific issue that should be reported here: https://github.com/ARM-software/vscode-cmsis-csolution/issues It looks like the pre-release pack versions are not considered by the component window.

On the second topic, we are in the process of moving away from gpdsc, replacing this with the global generator. In MDK uVision 5.40 we will start supporting the global generator. We will no longer rely on the above mentioned ftl file shipped as part of the STM32*_DFP packs. Instead the cbridge is handling the data/file conversion. https://github.com/Open-CMSIS-Pack/generator-bridge. At that point uvprojx projects converted to csolution shall be compatible.

FerdinandEn commented 1 month ago

Thanks for the information. I have now found the problem with the display in Software Components. If you include the packages in the uVision Pack Installer (File->Manage Local Repositories) the error occurs. If you use cpackget add the problem does not occur.

FerdinandEn commented 1 month ago

I have now succeeded in creating a new project for the STM32U585AIIx. To do this, however, I had to make some changes in various yml files. If you are interested I can describe my approach.

jkrech commented 1 month ago

Yes, please I would be interested in your approach.

FerdinandEn commented 1 month ago

Packs for STM32U5xx included with cpackget add

New Solution Project with (create a new solution)

Target Device: STM32U585AIIx Project Name: CubeMX (to be able to use the entry of the commands directly from the example) Solution Name: CubeMX

CubeMX.csolution.yml

CubeMX.cbuild-pack.yml

CubeMX.cproject.yml

Use csolution CubeMX.csolution.yml list generators --verbose to get registered Generators

CubeMX (Global Registered Generator) base-dir: STM32CubeMX/STM32U585AIIx context: CubeMX.Debug+STM32U585AIIx context: CubeMX.Release+STM32U585AIIx

Use csolution CubeMX.csolution.yml run --generator CubeMX --context CubeMX.Debug+STM32U585AIIx

-> CubeMX is started -> make settings -> generate code

Use cbuild CubeMX.csolution.yml --update-rte

info cbuild: build finished successfully!

Now new pack components can be selected, e.g. RTOS2 e.g. Keil RTX5

info cbuild: build finished successfully!

Unfortunately, I don't have a board to test the program