Skip to content
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

OpenBSW Support for MPC5748G (PowerPC, Multicore) and AUTOSAR MCAL #37

Open
josephsherif opened this issue Dec 17, 2024 · 4 comments
Open

Comments

@josephsherif
Copy link

josephsherif commented Dec 17, 2024

We are currently working on a project using the NXP MPC5748G, which:

  • Is multicore and based on the PowerPC architecture.
  • Utilizes AUTOSAR MCAL drivers provided by NXP (written in C).

We would like to know:

  1. Does OpenBSW support MPC5748G or the PowerPC architecture in general?
  2. Does OpenBSW have any built-in support for multicore microcontrollers?
  3. Since our MCAL drivers are written in C and OpenBSW is written in C++, will there be any compatibility issues?

Any guidance or recommendations for integrating OpenBSW with our hardware and drivers would be appreciated!

@josephsherif josephsherif changed the title ### OpenBSW Support for MPC5746G (PowerPC, Multicore) and AUTOSAR MCAL OpenBSW Support for MPC5746G (PowerPC, Multicore) and AUTOSAR MCAL Dec 17, 2024
@josephsherif josephsherif changed the title OpenBSW Support for MPC5746G (PowerPC, Multicore) and AUTOSAR MCAL OpenBSW Support for MPC5748G (PowerPC, Multicore) and AUTOSAR MCAL Dec 18, 2024
@poula10
Copy link

poula10 commented Dec 18, 2024

"I’m currently facing the same challenges with the NXP MPC5748G. Specifically, I’m also trying to determine whether OpenBSW supports the PowerPC architecture and how to handle the integration with C-based MCAL drivers. If you find any solutions or receive helpful recommendations, I’d greatly appreciate it if you could share them. Likewise, I’ll share any updates I come across. Let’s collaborate to tackle this!"

@JohnathanGamal
Copy link

JohnathanGamal commented Dec 18, 2024

I’m also working with the MPC5748G and trying to understand how well OpenBSW supports the PowerPC architecture and multicore setups. The integration with NXP’s C-based MCAL drivers is another puzzle I’m looking to solve.

It would be nice if one of the contributors could provide some insights or guidance on this. OpenBSW seems promising, and I’d love to know how we can best adapt it to work with this hardware and AUTOSAR MCAL drivers. Looking forward to hearing from anyone with experience or advice

@marcmo @ThoFrank @shamitha-shashidhara @frankdarcyacn @SuhashiniNaik @rolandreichweinbmw @vladyslavmarkovaccenture
@josephsherif @poula10

@poula10
Copy link

poula10 commented Dec 18, 2024

Hi @marcmo and @christian-schilling,

Could you please help us with this problem? Your expertise would be greatly appreciated. Let us know if you need more details or context.

Thank you!

@mthiede-acn2
Copy link

Hi all, great to see your interest in OpenBSW!

Regarding the original questions above:

  1. At the moment OpenBSW does not support the PowerPC architecture
  2. Multicore support is on our roadmap. The first version we intend to provide will use separate OS instances per core and we plan to provide inter-core communication mechanisms via shared memory
  3. There is no general problem using C drivers from the C++ stack. Of course, when using OpenBSW, you will need to provide the C++ environment it relies on. This means for example certain changes to the linkerscript and linking some C++ libs, you can see this in our "referenceApp" example.

We do not currently support putting OpenBSW onto an AUTOSAR MCAL. Nevertheless, the current core stack is relatively easy to port as it has only few dependencies to the underlying driver layer.

One of the first steps would be to have FreeRTOS running on the PowerPC board. Alternatively, our "async" OS abstraction layer could be adapted to another OS which might be running already. This is a little more involved, though. In the latter case you would have to provide your own asyncYourOs module, as a replacement to the existing asyncFreeRtos module which adapts "async" to FreeRtos.

On top of that, you would need to provide a CAN adapter (an implementation of can::AbstractCANTransceiver, instead of the existing bios::CanFlex2Transceiver), system time functions (see SystemTimer.h), serial IO functions (getByteFromStdin(), putByteToStdout()) and interrupt lock/unlock functions (see SuspendResumeAllInterrupts.h).

We are working on ports of OpenBSW to Zephyr and ThreadX. Once these are out, it will become more clear how OpenBSW can be ported. In the meantime, we hope to provide more information about porting soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants