I took a quick look at the pixhawk v2 datasheet and I find this pictures explaining the logical system. So there is two CPU : one for Flight management STM32F427, and one for communication with ground and actuators control STM32F100.
My question, how I know on which environments my code will be executed and how can I change it ? if I understand this, the makefile system will is producing two binaries for two physical different cpu. If I want for exemple to create a homemade control-algoritme module I would like it to run on FMU and not IO but if I want to control motors it is on IO that it should also interact… It is a bit confusing for me.
The name of the rule I execute to build the project is “make px4fmu-v2_default” so it’s only for the FMU ?
On the datasheet of PX4IO module they say that it is not recomend to develop code on this failsafe processor or only for “very advance user”.
" PX4IO is designed as a failsafe board with a stable codebase. Building custom frmware is only recommended for very advanced users.To develop custom code, follow the PX4FMU/PX4IO toolchain guide at: https://pixhawk.ethz.ch/px4/dev/start "
Or this guide doesn’t exist anymore, and in the new one I don’t find any information about building code on IO module.
Any more explaination is welcomed,