-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stm32 cmake refactor #13
Conversation
Added targets for drivers and core Fixed some libraries link Defined STM32F411xE as default build in Drivers/CMSIS/.../stm32f4xx.h This now builds with cmake but needs a tweek on FAT repo A pull request has been already made: FreeRTOS/Lab-Project-FreeRTOS-FAT#59
As of now, your pull request to the FAT repo has not been merged. I'll wait to review it until then because, as it stands, the project doesn't build. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You did not include the Startup/startup_stm32f411xe.s file in the build, which specifies, among other things, the initial PC and sets the CPU in Thread mode.
As a result, the build throws the following warning: warning: cannot find entry symbol Reset_Handler; defaulting to 08000000.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch, that file wasn't included even on the original cmake structure on stm32 branch. I'll fix it this afternoon.
I've reviewed the code, and it looks good overall. |
@BIRSAx2 Should be good now, can you please check? |
@gekoxyz seems like this is not the only step to take to fix the Thread issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed that the file task_gianluca.h has been deleted in this pull request. However, the build doesn't compile without it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On top of that, the previous two tasks Task1 and Task2 are not running when building with CMake (the led is not blinking), while they do when building with STM32CubeIDE
Fixes #12 .
FetchContent with low connection would waste time downloading the libraries.
A Flag not for FAT would force it to download freeRTOS-kernel a second time leading to a waste of time.
Since those repos are already includes through submodules, downloading is redundant.
This fix takes the configuration time down from minutes to ~0.7s.
With the occasion I refactored the Cmake file structure to fix some link dependencies and some flags:
This now builds with cmake but needs a tweek on FAT repo.
A pull request has been already made & changes are accepted and waiting to be merged:
FreeRTOS/Lab-Project-FreeRTOS-FAT#59
Edit: Also needs Cmake version bump to 3.18
Edit: