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.

startup file issue with k2e PDk (Bare metal arm)

Other Parts Discussed in Thread: 66AK2E05

hi !!

I have come across an issue related to the "csl_a15_init.s" file while trying to create a simple bare metal project. i was able to successfully compile my project with the following configs:

variant : 66AK2E05 - cortex A (arm)

compiler version : GNU 4.9.3

linker file : 66AK2Gxx.lds (with modified memory section & .rsthand )

now i wanted to use the csl_a15_init.asm located in pdk_k2e_4_0_2/packages/ti/csl/arch/a15/src as the default startup file (also changed in rsthand in linker file) but unfortunately when i run my code via CCS's debugger over arm it gets stuck in continuous running mode. i have checked the dependencies and to my knowledge i have added them all so that should not be an issue.

further i was able to partially resolve this issue ( or atleast get to the main()) by replacing the csl_a15_init by startup_ARMCA15.S. and so i wanted to know if the main (csl init) file is faulty? and what difference does it make when using either of the 2 files?


thanks !!

p.s. i am trying to enable bare metal arm interrupts which is why i am using csl_a15_init

  • Hi,

    I've notified the 66AK2E team. Their feedback will be posted here.

    Best Regards,
    Yordan
  • hi !!
    any development on this front?
  • Here is what I suggest

    K2E has many examples that run on the ARM and have interrupts bare metal. Of course you have to build the SDK first (see processors.wiki.ti.com/.../Processor_SDK_RTOS_Building_The_SDK ) and then build the PDK examples (see processors.wiki.ti.com/.../Rebuilding_The_PDK) but then look at the simplest example - GPIO_LedBlink_K2E_EVM_armExampleProject and look for the GPIO_enableInt function. Build the example project and then follow the code. There are more examples that use interrupt.

    Good luck

    Regards

    Ran
  • hi!!
    configuring interrupt is not an issue rather it is the usage of that particular file that is what i am concerned about. i have already enabled gpio interrupt using startup_ARMCA15.S file so i want to know that why am i not able to replicate the same with a file that is configured explicitly for the k2e hardware
  • I am a little confused what is the issue.

    So please tell me in great details what do you try to do,  do not send me code, but you can send flow chart or just describe the program step

    I usually start from a working program and then add my algorithm, make sure that it works and then drops the original algorithm.  Can you do the same, starting with the GPIO code, add your own algorithm, verify that it is still working and then drop the GPIO?

    In any rate, please explain again what do you try to do

    Ran

  • okay so ll go in simple steps and try to make a simple hello world project

    i create a new CCS project with Target : 66AK2E05
    i change the compiler version to GNU
    after selecting and configuring the 66AK2Gxx.lds i open a new project
    now i dont have a startup file by default so i have 2 options
    1. use the csl_a15_init.S available in ti/pdk_k2e_4_0_2/packages/ti/csl/arch/a15/src
    2. use the startup_ARMCA15.S file

    i compile & launch the debug connect the arm core 0 and load the program
    the code with startup_ARMCA15 breaks at main
    the code with csl_a15_init stays on the running without executing the code

    same code works for startup_ARMCA15 but not for csl_a15_init that is the issue