Hi!
I'm using:
CCS v6.1.3,
c:\ti\bios_6_45_01_29,
C:\ti\pdk_am335x_1_0_3,
C:\ti\xdctools_3_32_00_06_core, and
C:\ti\uia_2_00_05_50
I had a TI-RTOS project that was blinking an LED under Task control that was running well, so I copied it and started using it to migrate to a custom development board I have, which involved making copies of certain board-specific files (migrating from the EVM-AM335x board) from the PDK\packages\ti\board library.
That seemed to be going well, when I started running into this odd error (I apologize, I didn't record it -- something about an error compiling <bios_dir>\packages\ti\sysbios\rts\gnu\ReentSupport.c). But I felt like it was far too complex to sort out. Instead, I created a brand-new TI-RTOS project:
File > New > CCS Projects > (New CCS Project Dialog) > Project templates and examples > SYS/BIOS > Typical
And then item by item, manually added in the features I needed via APP.CFG User Interface and sometimes manually editing the APP.CFG file (e.g. for the MMU and FirstFunctions[] I needed to get my Clock frequency set up correctly).
Now I am running into something I have never seen before, and I am having difficulty determining what I have done wrong (obviously I am missing something in the APP.CFG, but don't know what it is). Here is where the CPU Data Abort exception is occurring:
In C:\ti\bios_6_45_01_29\packages\gnu\targets\arm\rtsv7A\startup.c
void gnu_targets_arm_rtsv7A_startupC(void) { ... /* run Startup_exec */ xdc_runtime_Startup_exec__E(); // <--- This executes just fine /* run any constructors */ count = __init_array_end - __init_array_start; for (i = 0; i < count; i++) { __init_array_start[i](); // <--- This is where the data abort exception occurs (count == 1) } /* call main() */ extern int main(void); retVal = main(); ... }
What am I missing in my config??? (Help!)
At this point, I'm just trying to get the LED to blink again and will take it from there to develop the rest of my application. It's got a timer running with a 24MHz input that drives an "RTOS Clock" set up to "tick" at 2 Hz (just to do a "give" on a semaphore that the task is waiting on). Since I don't have any particular Intellectual Property embedded in it yet, I have attached the project in case it helps identify what's missing (or in error).
Kind regards,
Vic