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.

How do I calculate a .CBT file PSA CRC on my own (not using any TI development tools)

We use a file format called .cbt to program our DSPs.  In the file are Protected Storage Area (PSA) CRCs (I think, or they may be just simple checksums).

What I have to do is read memory out of our product, and stuff that data in a .cbt template file, then update the PSA CRC to reflect the data in my file.

I can't use the TI develpment tools for this because this is for our production line and it must be fast and fully automated (and we can't have the TI development tools on all of our production machines).

I know the format of .cbt files, I can read the data from our produts, I know which PSA's to use, and how to "jam" the data in the .cbt file.  All I need is the algorithim and what exacly what data in the .cbt file is used to create the PSA CRCs.

Paul Romsky

Autoliv (AEL)

paul.romsky@autoliv.com

(978) 674-6533 

Thanks

  • Here is the raw CBT file Template. The zeros after the $A address will be filled in by what I read from a small section of our DSP Flash area. The #K record I am told is always the same. The #P record is the PSA CRC for this data. I default it to zero because no data is loaded in the template yet. This is what I need to calculate in the run-time, and not run through TI development tools (which is not an option in production).

    #K00 B0 2C 8E 89 BD 57 4D 03 AA 2F 8A 41 AB 94 5B 10
    #P06 00 00 00 00

    $A00018000,
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    .
    .
    .
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    Special control characters not shown.
  • Paul Romsky,

    Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com).

    This is a not general forum to discuss about non-TI products or design. We recommend you to try other general forum for this purpose. This is a keystone device forum in which we support keystone device/soc/peripheral/mcsdk/processor sdk related queries and issues.

    Please post your TI compiler related queries to Compiler forum  TI-RTOS (BIOS) related queries to BIOS Forum and TI Code Composer Studio related queries to CCS Forum

    Thank you for understanding.