Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

search inside this forum
Multilink Universal FX Support Semihosting?
Trent W. Mar 24, 2016 at 12:35 AM (00:35 hours)
Staff: Gerardo R.

  • I'm using S32 Design Studio for ARM, Version 1.1 with a NXP S32K144 device.

    If I am understanding correctly, several C library options (newlib/ewl full/nano with Debugger Console) enable the use of printf/scanf by making use of semihosting. Is this capability support by the Multilink Universal FX? If so, what must be done to enable it and would the output be dumped to the Console inside S32 DS? I've tried selecting the newlib and ewl libraries with the "Debug Console" option but I'm not seeing any output from printf statement in the S32 DS Console.

    Thank you,

    Stacey Weaver




    Comments

  • The only other thing you need to do is check the "Enable semihosting" box in your debug configuration panel. You'll find it at the top of the startup tab.

  • I have done that and I have a Console open with "P&E Semihosting Console" at the top.  In my project, I have included stdio.h in my source file and have a simple "printf( "Hello World!" );  I have "newlib_nano Debugger Console" selected under Target Processor.

    The project builds and runs ok. However, I do not ever see anything in the Semihosting console.

  • Hello,
    Erich Styger has great writeup on getting semihosting working on KDS. Let me know if this guide doesn't work for you and we can look into it further.

    http://mcuoneclipse.com/2014/06/06/semihosting-with-kinetis-design-studio/

  • Here is a response from NXP regarding semihosting in S32 DS.  Adding the '\n' to the end of my printf strings did the trick for me.

    "The semihosting is supported in both (S32 DS) 1.0 and 1.1 versions.
    Could you please check if they tried standard project with I/O (Debug
    Console) enabled? And there was one caveat – if the format string does
    not contain “\n” – it buffered and not displayed, either “\n” to be
    added to string or fflush((void *)stdout); should be used to force
    output (there is a note in the s32ds.arm.win.common_features_guide.pdf)"

    Trent

Add comment


   Want to comment? Please login or create a new PEMicro account.







© 2017 P&E Microcomputer Systems Inc.
Website Terms of Use and Sales Agreement