Feature request for STM32CubeMX: keep <FileOption> sections while regenerating Keil project.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-23 12:37 AM
Hi, guys!
I like CubeMX and it's code+project generation features very much, thank you for a great job! But now I've faced the followed issue. Cube deletes <FileOption> and <GroupOption> sections when regenerates project.
That is inconvenient because I use Keil's project/file setting in order to allocate code, const and other data to the specific memory ranges. It works well and much more conveniently for me than writing scatter file by hands and writing a lot of __attributes__(.sections()) over all the files and variables/arrays, especially generated by CubeMX. That is extra important when I want to use handy HAL IRQ handlers, but they work too slow from the FLASH.
So, my feature request is the following:
when CubeMX regenerates Keil project let it keep <FileOption> sections near regenerated files.
For example:
Here is the Keil Project fragment with file stm32h7xx_hal_dma.c allocated by file settings menu to the specific RAM area, defined in Project Settings-> Target tab.
<File>
<FileName>stm32h7xx_hal_dma.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c</FilePath>
<FileOption>
<CommonProperty>
<UseCPPCompiler>2</UseCPPCompiler>
<RVCTCodeConst>9</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>2</IncludeInBuild>
<AlwaysBuild>2</AlwaysBuild>
<GenerateAssemblyFile>2</GenerateAssemblyFile>
<AssembleAssemblyFile>2</AssembleAssemblyFile>
<PublicsOnly>2</PublicsOnly>
<StopOnExitCode>11</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
<ComprImg>1</ComprImg>
</CommonProperty>
<FileArmAds>
<Cads>
<interw>2</interw>
<Optim>0</Optim>
<oTime>2</oTime>
<SplitLS>2</SplitLS>
<OneElfS>2</OneElfS>
<Strict>2</Strict>
<EnumInt>2</EnumInt>
<PlainCh>2</PlainCh>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<wLevel>0</wLevel>
<uThumb>2</uThumb>
<uSurpInc>2</uSurpInc>
<uC99>2</uC99>
<useXO>2</useXO>
<v6Lang>0</v6Lang>
<v6LangP>0</v6LangP>
<vShortEn>2</vShortEn>
<vShortWch>2</vShortWch>
<v6Lto>2</v6Lto>
<v6WtE>2</v6WtE>
<v6Rtti>2</v6Rtti>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Cads>
</FileArmAds>
</FileOption>
</File>
And this one after regeneration:
<File>
<FileName>stm32h7xx_hal_dma.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c</FilePath>
</File>
As you can see, the <FileOption> ... </FileOption> section is totally gone, and I have to revert it by hands (Thanks, Git!) before compilation.
All the above is also relevant to the <GroupOption> sections, e.g. to allocate the whole FreeRTOS file group also to the specific RAM section.
Looking forward for CubeMX updates!
Best regards
Aleksandr.
Solved! Go to Solution.
- Labels:
-
Keil
-
STM32CubeMX
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-11-12 12:54 AM
Hello @bas86​ ,
You're right, it's too late for this new release (6.1.0) , but it will be supported in a next CubeMX release.
Thanks for your feedback.
Best Regards,
Khouloud
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-10-23 9:13 AM
Hi @bas86​
This will be internally checked, I'll give you an update ASAP.
Best Regards,
Khouloud
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-11-12 12:54 AM
Hello @bas86​ ,
You're right, it's too late for this new release (6.1.0) , but it will be supported in a next CubeMX release.
Thanks for your feedback.
Best Regards,
Khouloud
