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.

RTOS/AM3358: IntXbar and Timer support

Part Number: AM3358
Other Parts Discussed in Thread: SYSBIOS,

Tool/software: TI-RTOS

Currently, we are porting from "AM574x" to "AM335x",
There are some questions about the environment construction of "AM335x".

Question 1
C:\ti\bios_6_73_00_12\packages\ti\sysbios\family\shared\vayu\IntXbar.xs
C:\ti\bios_6_73_00_12\packages\ti\sysbios\family\shared\vayu\TimerSupport.xs
When I execute "xdc.useModule", "Target A8F is not supported!" Error occurs. Are "IntXbar" and "TimerSupport" features not supported on AM335x?
If not, are there plans for future support?

Question 2
Because "biosTimer.h" does not exist in "pdk_am335x_1_0_12", a "No such file or directory" error occurs at build time. Is the "biosTimer" feature not supported on AM335x?
If not, are there plans for future support?

The environment is as follows.
HW:SK_AM3358
soc:am335x
CCS v8.1.0
GCC GNU v6.3.1(Linaro)
bios_6_73_00_12
ndk_2_26_00_08
pdk_am335x_1_0_12
xdctools_3_50_03_33_core

I hope you have a good answer.
best regards.

  • Please check the TRM for AM335x and AM572x. AM335x is a single core device so the interrupt routing doesn`t require Xbar. Any module in TI RTOS that refers to the Vayu family name only applies to AM57x devices. You can also look at PDK driver examples on AM57x and AM335x to see how the interrupt configuration in <module>_soc.c differs between the two devices. 

    Timer is supported on AM335x using DMtimers. The best way to check which modules applies to AM335x or cortex A8 core on the device is to look at the Settings.xs file in the folder :  bios_6_75_02_00\packages\ti\sysbios\family\arm. Locate the ti.catalog.arm.cortexa8 settings in the file as shown below:

    AM335x replicates the setting used for TI81XX:

    deviceTable["ti.catalog.arm.cortexa8"]["AM335.*"]  = deviceTable["ti.catalog.arm.cortexa8"]["TI81XX"];

    Which uses the following modules:

     "ti.catalog.arm.cortexa8": {
            "TI81XX": {
                hwiDelegate : "ti.sysbios.family.arm.a8.intcps.Hwi",
                timerDelegate : "ti.sysbios.timers.dmtimer.Timer",
                clockTimerDelegate : "ti.sysbios.timers.dmtimer.Timer",
                timerSupportDelegate : "ti.sysbios.family.arm.a8.ti81xx.TimerSupport",
                timestampDelegate : "ti.sysbios.family.arm.a8.TimestampProvider",
                taskSupportDelegate : "ti.sysbios.family.arm.TaskSupport",
                intrinsicsSupportDelegate : "ti.sysbios.family.arm.IntrinsicsSupport",
                bootModule : null,
                cacheDelegate : "ti.sysbios.family.arm.a8.Cache",
                powerDelegate : null,
                secondsDelegate : null,
                syscallDelegate : null,
                coreDelegate : null,
                mmuModule : "ti.sysbios.family.arm.a8.Mmu",
                clockTickPeriod : 1000,
                targets : [ "ti.targets.arm.elf.A8Fnv", "gnu.targets.arm.A8F" ]
            },

    You can also refer to sample .cfg files that we provide for the AM335x platform to check the BIOS Timer modules:

    Regards,

    Rahul