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.

SYS/BIOS on AM1806

Other Parts Discussed in Thread: AM1808, AM1806, SYSBIOS

Recently purchased a AM1808 eXperimenter Kit. I'm planning on using SYS/BIOS for a RTOS. Using CCS V4.1.3 but having problems building a BIOS project in CCS for this target. Is there a demo or quick start guide that guides a user through the steps necessary to build a SYS/BIOS example on this target. In trying to build the project I've selected a generic ARM9 target but without a configuration file I seem to have problems. Also do I need to use SYS/BIOS V6 or can I use SYS/BIOS v5?

  • Thomas,

    Have you seen the SYS/BIOS getting started guide?

    It sounds like you have selected a project that does not contain a *.cfg file.  Since it is a SYS/BIOS project, this requires a *.cfg file.

    Also, which version of SYS/BIOS are you using?

    Thanks,

    Steve

  • I have been following the SYS/BIOS getting started guide and have built a project but have errors when trying to run that project on the target. For a cfg file I used the cfg file that was part of the test demos that are supplied with the board. I have been able to build and run the test programs sucessfully so now I'm trying to build the mutex demo in SYS/BIOS.  I am using CCS V.4.2.4, XDCtools v 3.16.2.32. When building the project have the device set to generic ARM 9 device, pick the mutux xample in SYS/BIOS as the project template, on the RTSC configuration settings selected the platform as evmDA830 (I have also tried TI generic with also bad results)  and build profile as whole program. The project builds OK but when I try to load it to the target and debug the program I get the following error

    "ARM9_0: File Loader: Data verification failed at address 0xC3000000 Please verify target memory and memory map.

    ARM9_0: Unable to terminate memory download: NULL buffer pointer at 0x320

    Error found during data verification.

    Ensure the linker command file matches the memory map.

     

    "

    I suspect thayt this is happening because of the platform I've selected but I cannot find one for the AM1808 eXperminter Kit.

     

     

  • Thomas,

    I think this is happening because the am1808 does not have external memory, but the DA830 platform you are using to build has defined that memory.

    First, you need to update to be using SYS/BIOS 6.32 and XDCtools 3.22.

    Once you've done that, you should use the platform wizard to create a platform for the am1808, using the DA830 platform and remove the external memory, as well as to load all code + data sections into internal RAM.

    In CCSv4, you can start the platform wizard from the "tools" menu by selecting "tools -> rtsc tools -> platform -> new"

    Use these screen shots to help with completing the wizard:

     

  • I followed the steps outlined and built a new platform for the AM1806. The new platform was saved in C:/Dcuments and Settings/Admin/myRepository/packages (default path). The problem is when I go to build a new project the AM1806 is not listed as an available platform on the RTSC Configuration Settings page. To verify that the platform exist I was able in CCS to go to Tools->RTSC Tools->Path and pull up the list of packages and the new AM1806 package is listed (see below). How do I have CCS recognize this new package on the RTSC Configuration Settings page?

     

     

  • Hi Thomas,

    I'm wondering if you added the platform repository to your project settings?

    For example, I have an existing project and if I right click on it and bring up the project build options, under the RTSC tab there's an "Add..." button.  You would need to add the path to the repository where your custom platform is at, and then ensure that it's checked in the "Products and Repositories" list.  After that, you should see it in the list of platforms.  Also make sure that the correct target has been selected.

    Can you please try that and see if this works for you?

    Thanks,

    Steve

  • I added the Repository path as listed but I still do not have the additional Platform listed as an option. It appears that the repositiory is dependednt on the target type. How do I insure that the target set in the new platform is correct? Also any other steps that might help in making the new platform available?

  • I went back and rebuilt the SYS/BIOS task mutex example project from the beginning. Using tall of the above steps I was able to build a projhect for the new AM1806 platform but when building the project CCS flaged an error. Seems that the BIOS_epilogue.h file at line 34 checks on the version of the compiler and gives the following error message:

     “This version of BIOS require Code Generation Tools version 4.9.0 or newer.”

    Currently I am using CCS version 4.2.4.00033. Checking the Product configuration I'm currently using TMS470 Code Generation Tools 4.6.6. Checking for updates on this page and CCS could not find one. How do I get past this error?

  • That's great news!

    The new error you are seeing should be easily resolved by downloading a new CGTools.  Did you try this?

    " From the CCS menu Help, go to Software Updates->Find and Install. Check the box for "Search for new features to install". Select Code generation tools and follow the steps to select and install TMS470 codegen tools 4.9.0."

     

    Let me know if that doesn't work. I'm hunting around for the tools, the problem is I know how to get them internally (to TI) but need to find out where the customer download page is at ...

     

    Thanks,

    Steve

  • Steve, thanks that's what I need to move on to the next step.

    Once I downloaded the TMS470 codegen tools 4.9.2 and the CCS Utilities I was able to compile the SYS/BIOS example without errors but now I have linker errors. I suspect that is because of the way I have my platform memory map defined but I'm not sure.

    The linker errors I'm getting are:

    errors encountered during linking; "TestBIOS7.out" not built  TestBIOS7 line 0 1320084813546 109
    placement fails for object ".cinit", size 0x299 (page 0).  Available ranges: IRAM         size: 0x2000       unused: 0x0          max hole: 0x0  TestBIOS7 line 0 1320084813546 108
    placement fails for object ".const", size 0x1bb6 (page 0).  Available ranges: IRAM         size: 0x2000       unused: 0x0          max hole: 0x0  TestBIOS7 line 0 1320084813546 105
    placement fails for object ".text", size 0x9261 (page 0).  Available ranges: IRAM         size: 0x2000       unused: 0x0          max hole: 0x0  TestBIOS7 line 0 1320084813546 102
    run placement fails for object ".data", size 0x7aa (page 0).  Available ranges: IRAM         size: 0x2000       unused: 0x0          max hole: 0x0  TestBIOS7 line 0 1320084813546 107
    run placement fails for object ".stack", size 0x1000 (page 0).  Available ranges: IRAM         size: 0x2000       unused: 0x0          max hole: 0x0  TestBIOS7 line 0 1320084813546 106
    run placement fails for object "GROUP_1", size 0x3780 (page 0).  Available ranges: IRAM         size: 0x2000       unused: 0x0          max hole: 0x0  TestBIOS7 line 0 1320084813546 104
    run placement fails for object "ti.sysbios.family.arm.arm9.mmuTableSection", size 0x7fff (page 0). Available ranges: IRAM         size: 0x2000       unused: 0x0          max hole: 0x0  TestBIOS7 line 0 1320084813546 103

    My Platform description is as follows:

     

    How would I modify this to match the configuration in the AM1808 eXperimenter Kit?

    I currently have the AM1808 BSL files (test programs) that come with the kit. What file extension is used to store the platform configuration and/or memory mapping. I might be able to search the files in the ASM1808 BSL to determine the correct platform configuration.

     

  • To follow on the AM1808 BSL has the following memory map in the linker.cmd file

    /*****************************************************************************

    * linker command file for AM-1808 test code.

    *

    * © Copyright 2010, Logic Product Development, Inc. All Rights Reserved.

    ******************************************************************************/

     

    -stack 0x00000800

    -heap 0x00000800

     

    MEMORY

    {

    shared_ram: ORIGIN = 0x80000000 LENGTH = 0x00020000

    external_ram: ORIGIN = 0xC0000000 LENGTH = 0x08000000

    arm_local_ram: ORIGIN = 0xFFFF0000 LENGTH = 0x00002000

    }

     

    SECTIONS

    {

    .text > shared_ram

    .const > shared_ram

    .bss > shared_ram

    .far > shared_ram

    .switch > shared_ram

    .stack > shared_ram

    .data > shared_ram

    .cinit > shared_ram

    .sysmem > shared_ram

    .cio > shared_ram

    }

    Adding this linker.cmd file to the project did not fix the linker errors.

     

  • That linker command file probably was overwritten by the linker command file automatically generated by XDCtools. To get an equivalent linker command file, go to that window from your previous post and set Code Memory, Data Memory and Stack Memory to L3_CBA_RAM. While you are at it, you can also add the external memory block at the address 0xC0000000. After you finish editing the platform, try rebuilding your project.

  • That worked. I'm now able to build and debug the SYS/BIOS example program. One last question. On the Edit Platform page it list the Clock Speed. How is this value used? Is the value the external XTAL clock connected to the CPU or after the internal PLL? Also how do I find the code executed prior to main() so I can set up the processor registers including PLL0 & PLL1?