Question: CAN + UDS Bootloader on S32K144EVB using Unified Bootloader Demo

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

Question: CAN + UDS Bootloader on S32K144EVB using Unified Bootloader Demo

957 Views
NagulMeera
Contributor I

Hello NXP Community,

I am currently working with the S32K144EVB board and S32 Design Studio v3.4. I am new to automotive bootloaders and I would like to implement a CAN + UDS-based bootloader.

I found the "Unified Bootloader Demo" here:
(Reference: Unified Bootloader Demo published on NXP Community)

Unified bootloader Demo

My questions:

  1. How do I correctly port/build this Unified Bootloader for the S32K144EVB target using S32DS 3.4?

  2. Does the demo already support UDS services such as RequestDownload (0x34), TransferData (0x36) and RequestTransferExit (0x37) or do I need to extend them manually?

  3. What is the recommended CAN transport layer for this demo on S32K144 (ISO-TP vs custom)?

  4. Is there any official NXP bootloader example or AN (Application Note) for S32K144 that implements UDS flashing via CAN?

  5. For a beginner, is Unified Bootloader the recommended approach or is there another simpler reference design for S32K144 bootloader?

My goal is to perform firmware flashing from a PC tool via CAN using UDS services. Any documentation pointers, examples or setup instructions would be appreciated.

Target details:

  • MCU: S32K144EVB

  • IDE: S32DS 3.4

  • Communication: CAN

  • Desired protocol: UDS transport

Thank you for the support.
Regards,

0 Kudos
Reply
3 Replies

928 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @NagulMeera,

I’m sorry to say that Unified bootloader shared on the community is only unofficial demo provided AS IS with no guarantees and no support. Currently we do not have resources to support this demo. I will try to answer your questions through their documentation, but if follow-ups appear, please contact their support page instead.

Q1. The Unified Bootloader Demo projects were published quite some time ago. It uses S32DS for ARM 2018.R1 and SDK 2.0.0. If you need to port it to S32DS v3.4, you will need to do it manually, or try the "migrate" option, as shown in this video: Video: Migrating S32K1 projects from S32DS for ARM and SDK 3.0.x to S32DS 3.4 and SDK 4.0.2.

Keep in mind that this is for the SDK SW, if you are using RTD, this option may not work as expected.

Q2. & Q3. Have you read the Unified Bootloader – User Guide & their UDS Bootloader Implementation Guide? I can see from them that 0x34, 0x36 & 0x37 services are implemented:

Julin_AragnM_0-1768933386437.png

Also, UBLUG mentions the following: "TP: For current version, TP include CAN and LIN. CAN TP is based on ISO15765-2 and LIN TP is based on ISO17987-2." ISO15765-2 being ISO-TP.

Q4. & Q5. For CAN-based firmware updates, you can refer to this application note: AN12323: S32K1xx Firmware updates – Application Note. Specifically, SCENARIO (1) shows the steps on how to handle a firmware update by receiving the new FW via CANFD.

Best regards,
Julián

0 Kudos
Reply

905 Views
NagulMeera
Contributor I

Okay without using the Unified Bootloader demo stack is there any other resources or method is there to achieve this task please guide me in this process 

0 Kudos
Reply

861 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @NagulMeera,

Yes. I shared them in my last response: AN12323: S32K1xx Firmware updates – Application Note.

It includes a bootloader demo in section 7.1.1.

The application note also comes with downloadable SW for the S32K144 EVB. Please read the application note refer to the projects.

Best regards,
Julián

%3CLINGO-SUB%20id%3D%22lingo-sub-2296516%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EQuestion%3A%20CAN%20%2B%20UDS%20Bootloader%20on%20S32K144EVB%20using%20Unified%20Bootloader%20Demo%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2296516%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EHello%20NXP%20Community%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EI%20am%20currently%20working%20with%20the%20S32K144EVB%20board%20and%20S32%20Design%20Studio%20v3.4.%20I%20am%20new%20to%20automotive%20bootloaders%20and%20I%20would%20like%20to%20implement%20a%20CAN%20%2B%20UDS-based%20bootloader.%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EI%20found%20the%20%22Unified%20Bootloader%20Demo%22%20here%3A%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3E(Reference%3A%20Unified%20Bootloader%20Demo%20published%20on%20NXP%20Community)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K-Knowledge-Base%2FUnified-bootloader-Demo%2Fta-p%2F1423099%22%20target%3D%22_blank%22%3EUnified%20bootloader%20Demo%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EMy%20questions%3A%3C%2FSPAN%3E%3C%2FP%3E%3COL%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EHow%20do%20I%20correctly%20port%2Fbuild%20this%20Unified%20Bootloader%20for%20the%20S32K144EVB%20target%20using%20S32DS%203.4%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EDoes%20the%20demo%20already%20support%20UDS%20services%20such%20as%20RequestDownload%20(0x34)%2C%20TransferData%20(0x36)%20and%20RequestTransferExit%20(0x37)%20or%20do%20I%20need%20to%20extend%20them%20manually%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EWhat%20is%20the%20recommended%20CAN%20transport%20layer%20for%20this%20demo%20on%20S32K144%20(ISO-TP%20vs%20custom)%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EIs%20there%20any%20official%20NXP%20bootloader%20example%20or%20AN%20(Application%20Note)%20for%20S32K144%20that%20implements%20UDS%20flashing%20via%20CAN%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EFor%20a%20beginner%2C%20is%20Unified%20Bootloader%20the%20recommended%20approach%20or%20is%20there%20another%20simpler%20reference%20design%20for%20S32K144%20bootloader%3F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EMy%20goal%20is%20to%20perform%20firmware%20flashing%20from%20a%20PC%20tool%20via%20CAN%20using%20UDS%20services.%20Any%20documentation%20pointers%2C%20examples%20or%20setup%20instructions%20would%20be%20appreciated.%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3ETarget%20details%3A%3C%2FSPAN%3E%3C%2FP%3E%3CUL%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EMCU%3A%20S32K144EVB%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EIDE%3A%20S32DS%203.4%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3ECommunication%3A%20CAN%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20class%3D%22%22%3E%3CSPAN%3EDesired%20protocol%3A%20UDS%20transport%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3CSPAN%3EThank%20you%20for%20the%20support.%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3ERegards%2C%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2297033%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Question%3A%20CAN%20%2B%20UDS%20Bootloader%20on%20S32K144EVB%20using%20Unified%20Bootloader%20Demo%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2297033%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EOkay%20without%20using%20the%20Unified%20Bootloader%20demo%20stack%20is%20there%20any%20other%20resources%20or%20method%20is%20there%20to%20achieve%20this%20task%20please%20guide%20me%20in%20this%20process%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2296826%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Question%3A%20CAN%20%2B%20UDS%20Bootloader%20on%20S32K144EVB%20using%20Unified%20Bootloader%20Demo%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2296826%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F258126%22%20target%3D%22_blank%22%3E%40NagulMeera%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3EI%E2%80%99m%20sorry%20to%20say%20that%20Unified%20bootloader%20shared%20on%20the%20community%20is%20only%20unofficial%20demo%20provided%20%3CU%3EAS%20IS%3C%2FU%3E%20with%20no%20guarantees%20and%20no%20support.%20Currently%20we%20do%20not%20have%20resources%20to%20support%20this%20demo.%20I%20will%20try%20to%20answer%20your%20questions%20through%20their%20documentation%2C%20but%20if%20follow-ups%20appear%2C%20please%20contact%20their%20support%20page%20instead.%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSTRONG%3EQ1.%3C%2FSTRONG%3E%20The%20Unified%20Bootloader%20Demo%20projects%20were%20published%20quite%20some%20time%20ago.%20It%20uses%20S32DS%20for%20ARM%202018.R1%20and%20SDK%202.0.0.%20If%20you%20need%20to%20port%20it%20to%20S32DS%20v3.4%2C%20you%20will%20need%20to%20do%20it%20manually%2C%20or%20try%20the%20%22migrate%22%20option%2C%20as%20shown%20in%20this%20video%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32-Design-Studio-Knowledge-Base%2FVideo-Migrating-S32K1-projects-from-S32DS-for-ARM-and-SDK-3-0-x%2Fta-p%2F1296239%22%20target%3D%22_blank%22%3EVideo%3A%20Migrating%20S32K1%20projects%20from%20S32DS%20for%20ARM%20and%20SDK%203.0.x%20to%20S32DS%203.4%20and%20SDK%204.0.2%3C%2FA%3E.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EKeep%20in%20mind%20that%20this%20is%20for%20the%20SDK%20SW%2C%20if%20you%20are%20using%20RTD%2C%20this%20option%20may%20not%20work%20as%20expected.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EQ2.%20%26amp%3B%20Q3.%26nbsp%3B%3C%2FSTRONG%3EHave%20you%20read%20the%26nbsp%3B%3CA%20id%3D%22relatedDocsClickPDF_1%22%20class%3D%22dtmcustomrulelink%22%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DUBLUG%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%20data-dtmaction%3D%22Documentation%20Section%20-%20Results%20Link%20Click%22%20data-dtmsubaction%3D%22Unified%20Bootloader%20%E2%80%93%20User%20Guide%20-%20NXP%20-%20User%20Guide%20-%20English%22%3E%3CSPAN%3EUnified%20Bootloader%20%E2%80%93%20User%20Guide%3C%2FSPAN%3E%3C%2FA%3E%26nbsp%3B%26amp%3B%20their%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fapp.whyengineer.com%2Fdocs%2Fum%2Fuds%2Fexample%2Fexample.html%23requestdownload-request-download-34-service%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EUDS%20Bootloader%20Implementation%20Guide%3C%2FA%3E%3F%20I%20can%20see%20from%20them%20that%200x34%2C%200x36%20%26amp%3B%200x37%20services%20are%20implemented%3A%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Julin_AragnM_0-1768933386437.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Julin_AragnM_0-1768933386437.png%22%20style%3D%22width%3A%20325px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Julin_AragnM_0-1768933386437.png%22%20style%3D%22width%3A%20325px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F373539iE3D2235426D3536E%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Julin_AragnM_0-1768933386437.png%22%20alt%3D%22Julin_AragnM_0-1768933386437.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EAlso%2C%20UBLUG%20mentions%20the%20following%3A%20%22%3CSTRONG%3ETP%3A%20For%20current%20version%2C%20TP%20include%20CAN%20and%20LIN.%20CAN%20TP%20is%20based%20on%20ISO15765-2%20and%20LIN%20TP%20is%20based%20on%20ISO17987-2.%3C%2FSTRONG%3E%22%26nbsp%3BISO15765-2%20being%20ISO-TP.%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EQ4.%20%26amp%3B%20Q5.%26nbsp%3B%3C%2FSTRONG%3E%3CSPAN%20class%3D%22uiOutputText%22%3EFor%20CAN-based%20firmware%20updates%2C%20you%20can%20refer%20to%20this%20application%20note%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN12323.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EAN12323%3A%20S32K1xx%20Firmware%20updates%20%E2%80%93%20Application%20Note%3C%2FA%3E.%20Specifically%2C%26nbsp%3B%3CSTRONG%3ESCENARIO%20(1)%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3Eshows%20the%20steps%20on%20how%20to%20handle%20a%20firmware%20update%20by%20receiving%26nbsp%3Bthe%20new%20FW%20via%20CANFD.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EBest%20regards%2C%3CBR%20%2F%3EJuli%C3%A1n%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2297498%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Question%3A%20CAN%20%2B%20UDS%20Bootloader%20on%20S32K144EVB%20using%20Unified%20Bootloader%20Demo%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2297498%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F258126%22%20target%3D%22_blank%22%3E%40NagulMeera%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3EYes.%20I%20shared%20them%20in%20my%20last%20response%3A%26nbsp%3B%3CSPAN%20class%3D%22uiOutputText%22%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN12323.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EAN12323%3A%20S32K1xx%20Firmware%20updates%20%E2%80%93%20Application%20Note%3C%2FA%3E.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EIt%20includes%20a%20bootloader%20demo%20in%20section%26nbsp%3B7.1.1.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22uiOutputText%22%3EThe%20application%20note%20also%20comes%20with%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note-software%2FAN12323SW.zip%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Edownloadable%20SW%3C%2FA%3E%26nbsp%3Bfor%20the%20S32K144%20EVB.%20Please%20read%20the%20application%20note%20refer%20to%20the%20projects.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22uiOutputText%22%3EBest%20regards%2C%3CBR%20%2F%3EJuli%C3%A1n%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E