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.

Disassembly View CCS5 vs CCS6

Following problem:

I load the same program into a PRU (AM335x) in CCS5 and CCS6.

After that I want to step trough my code. In CCS5 I have a disassembly view with addresses matching to my "listing.lst" output of PASM.

Listing:

0x0000 = Label      : MAIN:
0x0000 = 0x2effbd80 :     zero     &R0, 124
0x0001 = 0x91042483 :     LBCO     R3, C4, 0x04, 4
0x0002 = 0x1d04e3e3 :     CLR      R3, R3, 4
0x0003 = 0x81042483 :     SBCO     R3, C4, 0x04, 4
0x0004 = 0x2444e0c1 :     mov      R1, ((0x44E00000) + (0xd4))
0x0005 = 0x2400d481 :     mov      R1, ((0x44E00000) + (0xd4))
0x0006 = 0x240002e3 :     mov      R3, (0x2)
0x0007 = 0xe1002183 :     sbbo     R3, R1, 0, 4


In CCS5 disassembly window it looks like this:

In CCS6 it looks like this:

It's very hard to debug, without matching addresses of disassembly and listing...

Is there a option to configure the offset-inc in disassembly?

Or is it possible to configure PASM to write real memory addresses into the listing-file?

  • Unfortunately the pictures are missing...

    In CCS5 disassembly window it looks like this:

    In CCS6 it looks like this:

  • Matthias,

    You can control the display of the 0x by going to the little drop down arrow on the right of the dissassembly menu bar and selecting preferences.

    Is that what you are after?

    Regards,

    John

  • Hi John

    It's not the problem with the radix prefix. My problem is the different address-increment. In CCS5 its 1 and it fits to the listing-files generated by PASM. In CCS6 the increment is 4.


    Regards, Matthias

  • When I generate a listing file I see the same as what I see in the disassembly.

    I am not very familiar with PRU but after doing a search I believe I know what the problem is.  The disassembler in CCSv6 is built for use with the TI PRU C Compiler/Assember... toolchain.  This toolchain comes from the development tools team in TI.  There was also an older assembler that came from another group.  This is called PASM and is what you are using.  

    Is moving to the new toolchain an option?

    Regards,

    John

  • Hi John


    Yes, this is my problem. At the moment we are chanching from PASM to the C-Compiler. But when I'm working with the old toolchain I' have the problem with the different "addressing format".

    Is there a possibility to configure PASM to generate files with an address increment of 4?


    regards, Matthias

  • Matthias,

    I don't see any option for doing that.  The documented options are below.  I will ask around and see if there is an undocumented way of doing that.

    Output Formats

    All program images start at Programmable Realtime Unit (PRU) address 0. For example, if a program has an internal origin of 8, the first eight 32 bit words of the program image output will be zero.

    The following output options are supported. The output file name shown in the table is generated assuming a base name of "myprog":

    Command Line OptionOutput FormatOutput Filename
    -b Little endian binary file myprog.bin
    -c C include file containing unsigned long array called PDSPcode[]* myprog_bin.h
    -m Image file containing one 32 bit hex opcode per line myprog.img
    -l Listing file containing the source code and generated opcodes myprog.lst
    -d pView debugger output file (opcodes with source and label info) myprog.dbg
    *The name "PDSPcode[]" can be redefined using the –C option.

    Additional Options

    PASM supports some additional command line options that are not associated with output file format:

    Command Line OptionFunction
    -C Rename the code array declared when using the –c option
    -D Constant definition
    -x Force legacy behavior
    -z Enable debug output

  • Thank you John.

    OK. It seems like we'll have to live with it. :(

    My workaround is:

    • Use CCS5 for my old PASM-project.
    • Use CCS6 for the new PRU-C-compiler projects.

    I think I can close this tread with this post...