F' on STM32H745Z + Azure ThreadX RTOS platform port help request #1211
Replies: 6 comments 29 replies
-
@CMLoureiro I wouldn't try to adapt the script unless there are weird linker requirements. I would try the pattern that the RPI demo uses. |
Beta Was this translation helpful? Give feedback.
-
This great, BTW! I would love to see a demo deployment in the Fprime community collection. If you are ready to do something like that, let us know and we can create a repo and make you the maintainer. |
Beta Was this translation helpful? Give feedback.
-
I have been working on deploying F' on STM32 for a while now but with FreeRTOS instead of threadX. I can compiled the code just fine but still figure out what cause the code to go to the error handler. Perhaps we could help each other out. |
Beta Was this translation helpful? Give feedback.
-
@CMLoureiro Here is your repo: |
Beta Was this translation helpful? Give feedback.
-
If you mean the ThreadX community repo, you are a maintainer, so you can do a PR to devel and accept it. Once it is fully tested, then you can do a release to master. |
Beta Was this translation helpful? Give feedback.
-
Good morning Tim @timcanham , Since our last chat I've created a branch based on fprime-arduino "Blink" project. Currently I'm trying to get a build and later import @rawinza555 work on the STM32 drivers part. Unfortunately I'm getting several cmake errors on the generation phase (please see attached shell log). After a few Google queries I still don't understand how to to resolve the issue... The branch is: Note: I'm using the same F' core baseline as used the Arduino Many thank |
Beta Was this translation helpful? Give feedback.
-
Dear All,
My name is Carlos and I'm currently working on a CubeSat project that will use an OBC platform based on:
While a in-house developed prototype board is not available, a NUCLEO-H745ZI-Q board
is being used to get familiarised with SW and tools.
My approach to port F' to the STM Nucleo board was to use Sphinx Deployment as reference.
https://github.com/fprime-community/fprime-sphinx
For this purpose I cloned Sphinx repo and created a local development branch where, based
on the "Porting Guide" instructions :
Created a "fprime-threadx" folder/git repo containing the toolchain, platform files and ThreadX OSAL
Note: Log and Directory OSAL files are not yet implemented.
Added a new FW::Types for ThreadX
Added a new drivers folder/git repo "fprime-nucleo-q-drivers" containing the STM32 HAL files
Note: "fprime-nucleo-q-drivers" is is essentially the same as "fprime-sphinx-drivers" plus STM32 HAL
My approach, is first to obtain a build, then replace the Sphinx HAL by the STM32 HAL and finally run the
Math Component.
Current issues:
Adaptation of the helper file "cmake/helpers/VxWorks/VxWorksLink.py" to ThreadX equivalent.
them with STM32 toolchain.
Although I managed to get a "App" binary for the cortex-m7, several issues still exist, e.g. :
(...)
Linking binary...
51 | m_ftahbram_addr((volatile U32* const)IDLE_TASK_FTAHBRAM_ADDRESS),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arm-none-eabi-g++: fatal
shell_build_log.txt
error: input file '../../bin/stm32h745zi-cm7-threadx/App' is the same as output file
/opt/st/stm32cubeide_1.7.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.linux64_2.0.0.202105311346/tools/bin/arm-none-eabi-g++ -T /home/cmjl/Documents/FPrime/stm32/fprime-nucleo-q/fprime-nucleo-q-drivers/fprime-nucleo-q-drivers/STM32HAL/CM7/LdScripts/STM32H745ZITX_FLASH.ld -mthumb -mcpu=cortex-m7 --specs=nosys.specs -Wl,-Map=FPrime.map -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--gc-sections,-print-memory-usage -Wl,--end-group -o ../../bin/stm32h745zi-cm7-threadx/App ../../bin/stm32h745zi-cm7-threadx/App ../../bin/stm32h745zi-cm7-threadx/
Checking for missing symbols...
compilation terminated.
/bin/sh: 1: Syntax error: end of file unexpected
../../bin/stm32h745zi-cm7-threadx/App |
[100%] Built target App_exe
(...)
Please find attached a shell log of the build process.
The F' changes for Nucleo board are currently sitting on my local branch. Please let me
know how could I share them, if required.
Thank you very much for your time in reading this post!
Kind Regards,
Carlos Loureiro
shell_build_log.txt
Beta Was this translation helpful? Give feedback.
All reactions