AnsweredAssumed Answered

STM32CubeMX v4.22, Nucleo-64 STM32L476G with default pins, SW4STM32, no "Drivers/CMSIS/Include"

Question asked by Daniel Glasser on Sep 11, 2017

I am attempting to create a simple project for AC6 (SW4STM32) to try out the "atomthreads" multitasking executive on a Nucleo-64 board (STM32L476G).  I went through the "New Project" wizard in STM32CubeMX v4.22, selected by board and processor to create the CubeMX project, then switched the sys clock from systick to TIM5, adjusted the USART2 settings to my needs, and generated the project in my SW4STM32 workspace.  I have the STM32L4 firmware packages 1.7.0, 1.8.0 and 1.8.1 installed under STM32CubeMX.


The problem I've encountered is that the generated project does not build.  The first error that it hits is because it cannot find "core_cm4.h".  I looked at a number of older projects for this same board that I generated, and found that in all of those cases, STM32CubeMX had copied over the CMSIS include files under "<project-root>/Drivers/CMSIS/Include", but not for this new project.  I've gone through the new project creation 3 times, and each time the CMSIS include directory is not created in the project source tree.  I should note that this is the first project that I've created for this board that does not have at least a few non-default peripherals, but I don't want to complicate the porting process by having more drivers than I need.


This is the base project generated by STM32CubeMX with none of the changes to include the atomthreads RTE.  I can work around this problem for now by manually copying in the missing directory from another project, but this should not be necessary.


I have attached a copy of the STM32CubeMX project file that was used to generate the most recent attempted SW4STM32 project.


Update:  I copied the "Drivers/CMSIS/Include" directory from another project and the project compiles without an error. That said, it should still have been copied by STM32CubeMX when the project files were generated.