CAN communication is supported in the latest version of MPC5777C Bootloader .rbf file (attached below)
+ Supported UART0/eSCI_0(J20 on DB): GPIO89-90 pins(Speed: 115200b/s)
+ Supported MCAN0(J5 on MB): GPIO83-84 pins(Speed: 500Kb/s)
Tested on the dev board:
Also included is a version of the .rbf file where the delay before app start is 1 second (instead of 3 seconds)
mikedoidge Hoping you could point us in the right direction.. Wondering if there is an OpenSDA rbf file available for the setup below...
We are using the following:
Using the files for the 5777C that you attached above, the boot loader doesn't connect via the FX device. If we use one of the available SDA rbf files for MPC574xP with OpenSDA, we seem to be able to at least talk to the target and flash a boot loader.
Ultimately the goal is to be able to integrate with the upcoming MBDT 3.2.0 release with this development setup.
Thx in advance.
First let's clear up some confusion.
There is no OpenSDA support on the MPC5777C-416DS board. The MPC57xx Motherboard does not have it either. The OpenSDA is powered by another device which would execute the OpenSDA firmware. In this scenario, when the board is connected to your PC, you would see a drive letter appear on Windows Explorer and you could drag and drop an S-record file to the the drive letter and it would be programmed to the MPC5777C device. This does not exist for this EVB.
For this EVB, the programming of the application executable to the device can be done via JTAG (using the PE Multilink), serial using the USB port (there is a USB to Serial chip installed to the daughtercard for this), or CAN. For the serial or CAN communication methods, the RAppID Bootloader is required. The RAppID Bootloader tool is integrated with MBD Toolbox, so you won't need to install it separately.
To use the RAppID Bootloader, you must first program the MPC5777C.rbf file. It is an S-record file so it can be programmed easily with the PE Multilink. You can use S32 Design Studio for Power Architecture for this. Once this SREC has been programmed, then the RAppID Bootloader GUI will communicate via either the Serial or CAN connection to the EVB (which is now executing the MPC5777C.rbf algorithm). You should be able to program your application executable using the RAppID Bootloader GUI, assuming you have the correct port/communication speed selected.
Since the file attached to this document is configured for pins 89 and 90 for serial, and this is also what is routed on the EVB, there should be no issue using this file on the MPC5777C-416DS.
Hope that helps.
Appreciate the concise explanation... very helpful. I'm up and running now, so thanks!
Looks like I had some settings incorrect out of the box in the IDE, which is a fresh install on this machine for this project. I did attempt to program .rbf / .srec files (via both PROGPPCNEXUS and S32DS environments) and received similar errors pertaining to memory addressing. I see from your release notes that the bootloader occupies 0x00020000 - 0x0002FFFF. As you can see from the PROGPPCNEXUS screen cap, I get invalid memory addresses (similar response from S32DS). This is with both methods using NXP_MPC5777C_1x32x2048k_CFlash_highspeed.pcp algorithm, which is the default in the S32DS IDE.
Now, when I change the algorithm to NXP_MPC5777C_Cflash_Dflash_highspeed.pcp and flash your MPC5777C_S32DS_UART0_CAN0_1sec_delay.rbf file via S32DS, the rbf sticks and it appears to have worked. I will say that I had much better luck with your 1sec delay rbf than the other native when it comes to getting the timing right between physical module reset and the RAppID BL process' reset timing idiosyncrasies. For the benefit of others, here's where to make and verify that change in S32DS:
After this, it's smooth sailing when building in Simulink and programming via USB-to-Onboard Serial (not via the PEMicro FX JTAG) onto the MPC5777C-416DS daughter card.
Simulink settings below for continuity:
Thanks again for your assistance!