This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Logging of dynamic strings

Hello.

Is there a way in BIOS6 to enable logging of dynamic strings?

-Martin 

  • Martin,

    What is really driving your need for this?  The complexity to doing this will be on the host side in terms of rendering the logger buffers.  If the problem was contrained to the target, then the problem is potentially much easier to solve.

  • Dave,

    David Friedland said:
     What is really driving your need for this?  

    Just a debugging aid. I'm working on extending a communication interface between the
    target (DSP) and a host (PC via uart for now). It would be nice to send arbitrary strings from the
    host to the target and have then rendered in the printf logs. The other direction is simpler since I can
    use standard host tools to convert the ascii bytes to strings.

    I recalled that this wasn't possible in the BIOS5 setting but thought that an example may exist
    using the abilities of RTSC and the generalized logging capabilities of BIOS6. I tried setting up
    my own package with personal log event, per the RTSCpedia, but seems that direct approach
    doesn't eliminate the rendering restriction.

    It's not something of high priority that needs resources. But if it was there I would use it.
    If you confirm that it hasn't been done before then I'll close this thread as answered. 

    Regards,
    Martin 

  • There's not currently a way to do that with RTSC logging, no. When you log a string on the target, all we really do is log the address of that string. Then, on the host, we use tools which parse the executable and read constant strings. So if your string isn't at a fixed address when the application is built, it won't work.

    I'm not sure what you're hoping to achieve exactly with logging these strings, but you could of course use printf. You could call System_printf directly, or you could use LoggerSys to format the log event on the target and write it either to CIO or the SysMin output buffer.

    Other than that, I think the way to solve this would be to write a new ILogger implementation which actually copies the strings into the record. This would be tricky since the records would become variable length. You'd also need a new decoder on the host. Definitely not a small amount of work.

    Hope that helps,

    Chris

  • Hi Chris,

    Chris McCormick said:
     There's not currently a way to do that with RTSC logging, no. When you log a string on the target, all we really do is log the address of that string. Then, on the host, we use tools which parse the executable and read constant strings. So if your string isn't at a fixed address when the application is built, it won't work.

    Ack.

    Chris McCormick said:
     Other than that, I think the way to solve this would be to write a new ILogger implementation which actually copies the strings into the record. This would be tricky since the records would become variable length. You'd also need a new decoder on the host. Definitely not a small amount of work.

    Hope that helps, 

    It does. Thanks for the explanation.

    -Martin