IMX1176 Multicore Linking with .o slave project

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX1176 Multicore Linking with .o slave project

Jump to solution
1,614 Views
tbayram
Contributor IV

Hello everyone,
We're working on IMX1176 as two teams. One team is working on the M4 core and the other team is working on the M7 core. We are the team working on M4 and we need to transmit our work to the other team as a compiled .o (object) file. Do you have a solution on how to link our M4 project as compiled through the M7 project? 

Good work.

0 Kudos
Reply
1 Solution
1,534 Views
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, I apologize for the late response, I was researching more information, so I think that the object for M4 cannot be linked to an M7 project. In other words, you must compile and link your M4 project alone.

And then put it into the M7 project, but not as a library, it is more like a const-data, just like what the SDK's multi-core example does. Then in your application, you need to wake up the M4 core and tell it where the firmware is (The firmware must be an executable image, including the vector-table at header, otherwise, M4 will not boot correctly.) by setting some registers. Then your firmware can run at the same time as the M7's.

So, I did the test that works well but I´m asking for more details, based on this app note i.MX RT1170 Dual Core Application (nxp.com).

When you have your project compiled take the axf.o from the Debug folder, then add a folder the root depends on you, but need to change the path on the MCU Linker > Multicore > M4SLAVE.

Let me know if you have more doubts.

Best regards,
Pavel

View solution in original post

0 Kudos
Reply
4 Replies
1,531 Views
tbayram
Contributor IV

thank you @Pavel_Hernandez ,

I will try to link with this way.

0 Kudos
Reply
1,601 Views
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, my name is Pavel, and I will be supporting your case, let me get into your case and when I have more information, I will contact you.

Best regards,
Pavel

0 Kudos
Reply
1,596 Views
tbayram
Contributor IV

hello @Pavel_Hernandez

Thanks for your interest. When opening a multicore project in the IMX1176 series, the M7 master project cannot be opened without connecting with a slave M4 project in the same workplace during opening. we are working as two teams and we do not want to give the source code of the M4 slave project to the other team. How do we link the M4 project with the M7 project after it is compiled? Can the M7 project be linked with a slave M4 project after it is opened as standalone? The M4 project works standalone as a slave, while the M7 project does not work without an M4 project connected as master, or even without the M4 project merged in the first place, or when it is closed. Our goal is to link the compiled M4 project with the M7 project so that both cores can work together as master slave. This can be tried by removing the slave M4 project of any multicore project in the IMX1176EVK SDK from the workplaces or by leaving only the compiled files to run the complete project. We cannot do this. Thanks in advance. The subject is very important for us. We are waiting for your help.

0 Kudos
Reply
1,535 Views
Pavel_Hernandez
NXP TechSupport
NXP TechSupport

Hello, I apologize for the late response, I was researching more information, so I think that the object for M4 cannot be linked to an M7 project. In other words, you must compile and link your M4 project alone.

And then put it into the M7 project, but not as a library, it is more like a const-data, just like what the SDK's multi-core example does. Then in your application, you need to wake up the M4 core and tell it where the firmware is (The firmware must be an executable image, including the vector-table at header, otherwise, M4 will not boot correctly.) by setting some registers. Then your firmware can run at the same time as the M7's.

So, I did the test that works well but I´m asking for more details, based on this app note i.MX RT1170 Dual Core Application (nxp.com).

When you have your project compiled take the axf.o from the Debug folder, then add a folder the root depends on you, but need to change the path on the MCU Linker > Multicore > M4SLAVE.

Let me know if you have more doubts.

Best regards,
Pavel

0 Kudos
Reply