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.

Defining Memory to Page 1 on TMS320F28335 without Duplication

Other Parts Discussed in Thread: TMS320F28335

I have a project that I am porting from DSP/BIOS to SYS/BIOS, and in the project MSARAM was given an origin=0x000000 with length=0x000800, L01SARAM was given an origin=0x008000 with length=0x002000, and L27SARAM was given an origin=0x00a000 with length=0x006000.  MSARAM and L27SARAM were assigned to Page 1, which is where the Data Memory is set, and L01SARAM was assigned to Page 0, which is where the Program Memory is set.  All is good under DSP/BIOS.  I understand that the memory is contiguous for the TMS320F28335, so the Page setting may not be necessary, but I'd like to keep the Paging if possible.

With the change to SYS/BIOS, there are now problems.  I've gone through the RTSC Creation Wizard and done the conversion, gotten rid of a lot of errors, and now I have a few memory issues.  If I edit the RTSC platform, then I see MSARAM, L01SARAM, and L27SARAM as they should be allocated in origin and length, but without any Page info.  If I pull up my .cfg file, I have code that creates the same items (among others):

MEMORY {

Page 0:

     L01SARAM : origin = 0x008000, length = 0x002000

Page 1:

     MSARAM :origin = 0x000000, length = 0x000800

     L27SARAM :origin = 0x00a000, length = 0x006000

}

When I look at my .map file, I see MSARAM, L01SARAM, and L27SARAM all in Page 0 as well as Page 1.  They also have identical origin and lengths.  If I delete MSARAM and L27SARAM out of the RTSC Edit area, then they don't show up in Page 0, however, I can't really complete the RTSC Edit because I can't assign L27SARAM as the Data Memory and MSARAM as the Stack Memory in order to be able to click the Finish button at the bottom.

Bottom line, how do I get MSARAM and L27SARAM onto Page 1 without duplucating these areas in the .map (or doesn't it matter that they're duplicated)?

  • Hi Tim,

    Can you please attach your *.cfg file?

    Can you also attach the generated linker command file from your DSP/BIOS 5.x project that has the settings you want?  As well as the linker command file from the SYS/BIOS 6.x project that you're trying to get right?

    Steve

  • Tim,
    the Platform Wizard does not let you choose a page, so you will have to solve this problem by rebuilding the platform manually. First, you'll need to edit the file Platform.xdc from your platform package. You probably have in there something like this, but without the property 'page' in red:

    ...
    ["L27SARAM", {
        name: "L27SARAM",
        base: 0x0000a000,
        len: 0x00006000,
        space: "data",
        access: "RWX",
        page: 1
    }],

    ["L01SARAM",{
        name: "L01SARAM",
        base: 0x00008000,
        len: 0x00002000,
        space: "code",
        access: "RWX",
        page: 0
    }],
    ...

    Add the attribute page to all memory objects, and then go to the directory where Platform.xdc is located, open a command window and type 'xdc'. If XDCtools directory is not on your path, you'll have to type the whole path to xdc.exe.
    That should be enough to get the pages right in your platform.

  • Sasha, I'm going to try your method in a short bit.

    In the mean time, in response to the previous post, I'm uploading a zip with a bunch of .cfg files in the event that it helps to understand our issue more.

    We are at the point where we can compile the code, but it doesn't come close to fitting without optimization and won't debug when we connect up with our Blackhawk USB2000.  I think that we still have memory issues, and maybe your fix in Platform.xdc will help do the trick.  Take a look at the attached files and let me know what you think.

    ti_help_e2e.zip