Part Number: 66AK2H12
Tool/software: Code Composer Studio
I want to get a simple Hello World example working with the 66AK2H12 (K2H EVM), I'm following the guide here: http://processors.wiki.ti.com/index.php/Processor_SDK_Bare_Metal_Examples#ARM_Cortex-A15
1. Start CCS and create a work space for generating the project.
Fine, no problem.
2. Click on File menu option and select New--> CCS Project.
3. Select Target as AM572x -Cortex A15 and GPEVM_AM572x as shown in the image
Fine - I switched the target to my own board's settings
4. Select Cortex A setting in the options below and provide name of the project as "hello_world" and use default Advanced settings for the project. If the Default settings uses "TI ARM compiler 5.x.x" switch to GNU Linaro 4.8.4 (or higher) tool chain for A15 and check the build little endian ELF binary for the A15 core. Under Project templates and examples, select Basic Examples-> Hello World
Click Finish after you are done to allow CCS to auto generate the project from the template Basic Examples-> Hello World.
Here is the problem. I cannot find Basic Examples -> Hello World.
Basic Examples -> Hello World doesn't exist within my CCS install. How can I get this example project? I checked the Resource Explorer, and I can't find a way to download anything called Hello World.
Thanks for any help!
The available templates are determined by the device support XML files. The issue sounds related to this old issue:
CCSIDE-2490: Hello world GCC project template should be created for Cortex A15 cores
When looking at the details of this issue, it looks like it was resolved just for AM572x (which happens to be what the guide is showing). In my environment, I can see the template for the A15 of AM572x but not for the A15 of 66AK2H12, which confirms this. I'm not sure if this is by design or oversight. I will need to investigate further
Did you read the CCS Forum Guidelines & FAQ? If not, PLEASE read it. If you haven't read it in awhile, please read it again to see if any updates were made.
Having CCS problems? Check out the CCS Troubleshooting Guide
Looking for CCS Training? Check out the CCS Training Site
Curious about the status of a bug and know the tracking ID? Track it via the public bug tracking portal
NOTE: When a bug is filed and a tracking ID is provided, the thread may then be suggested as "TI Thinks Resolved". Why? Please read the first FAQ of the CCS Forum Guidelines & FAQ
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Ki-Soo Lee:
Please make sure you read the forum guidelines first.
In reply to Yordan Kovachev:
Thanks for the link. Unfortunately, that link still shows me Basic Examples -> Hello World. See my screenshots in my initial post for more info, but I cannot find anything called Basic Examples.
Do you know how I would be able to find that?
In reply to Andre B37:
Here is the screen shot of what will work for you. It appears in CCSv8 when you switch from TI ARM compiler to GCC the default endian format is set to big endian and there is no template for big endian due to which the basic project doesn`t show up. If you change the endian format, the issue should be fixed.
Let me know if you are still seeing this issue. For K2H14 device, I would recommend that you set device as 66AK2G12 as that device has same A15 and memory architecture as K2H device so the example should would out of the box. For AM572x, you will need to chnage the .lds file to get the example working.
--------------------------------------------------------------------------------------------------------------------------------------Please click the This resolved my issue button on this post if the responses on this E2E thread answers your question.--------------------------------------------------------------------------------------------------------------------------------------
In reply to Rahul Prabhu:
Great - I was already in little endian mode, but setting the device to 66AK2G12 was the fix. I was able to access the Hello World example with only a small issue.
I build the example (creating the .out file), I launch the selected target configuration, I then Connect to the Target, I do Run > Load > Load Program and I load the .out file that was built earlier. All that works well.
But then I go to run the program by doing Run > Resume, I briefly see the "Hello World" printout in the Console, and then I get this Unhandled ADP_Stopped exception 0xC013B48
Now, if the "Hello World" message was printed out, then the error must have been at the last line of code in the main function: return 0; The disassembly window also shows me that i'm in a "kill()" function. And stepping through the code, line by line, I don't get any errors until I step past return 0.
There are a few things that seem to be broken. To start with CCS install seems to be missing the file startup_ARMC15.S and the project doesn`t have any gcc libratries linked in their.
Can you include the GCC glue code required to configure the core and populate the reset vectors before entering main and also link in the following GCC libraries.
I have not tested this in a while and I am not sure why the glue code file is not in the CCS package. The setup worked with GCC 4.8 and GCC 5.x. ALso, there was a known issue with semihosting (CIO) in CCS so check the release notes to confirm this doesn`t impact your version.
I actually already do have the startup_ARMCA15.s file in my project.
I also see that when I build the project, it builds the startup_ARMCA15.s file and links it, along with the hello.c file, into the .out file. (see bolded section in the Console output below, printed when I 'Build Project')
**** Clean-only build of configuration Debug for project hello_world_K2G ****
"C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 12 clean -O DEL /F "hello_world_K2G.hex" "hello_world_K2G.out" DEL /F "startup_ARMCA15.d" DEL /F "hello.o" "startup_ARMCA15.o" DEL /F "hello.d" Could Not Find C:\Users\abododea\workspace_v8\hello_world_K2G\Debug\hello_world_K2G.hexFinished clean
**** Build Finished ****
**** Build of configuration Debug for project hello_world_K2G ****
"C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 12 all -O Building file: "../hello.c"Invoking: GNU Compiler"C:/ti/ccsv8/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major-win32/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -Dk2g02 -Darm0 -I"C:/Users/abododea/workspace_v8/hello_world_K2G" -I"C:/ti/ccsv8/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major-win32/arm-none-eabi/include" -Og -g -gdwarf-3 -gstrict-dwarf -Wall -specs="rdimon.specs" -MMD -MP -MF"hello.d" -MT"hello.o" -o"hello.o" "../hello.c"Finished building: "../hello.c" Building file: "../startup_ARMCA15.S"Invoking: GNU Compiler"C:/ti/ccsv8/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major-win32/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -Dk2g02 -Darm0 -I"C:/Users/abododea/workspace_v8/hello_world_K2G" -I"C:/ti/ccsv8/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major-win32/arm-none-eabi/include" -Og -g -gdwarf-3 -gstrict-dwarf -Wall -specs="rdimon.specs" -MMD -MP -MF"startup_ARMCA15.d" -MT"startup_ARMCA15.o" -x assembler-with-cpp -o"startup_ARMCA15.o" "../startup_ARMCA15.S"Finished building: "../startup_ARMCA15.S" Building target: "hello_world_K2G.out"Invoking: GNU Linker"C:/ti/ccsv8/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major-win32/bin/arm-none-eabi-gcc.exe" -mtune=cortex-a15 -marm -Dk2g02 -Darm0 -Og -g -gdwarf-3 -gstrict-dwarf -Wall -specs="rdimon.specs" -mcpu=cortex-a15 -Wl,-Map,"hello_world_K2G.map" -Wl,--defsym,ARM_CORE=1 -Wl,--defsym,STACKSIZE=0x10000 -Wl,--defsym,HEAPSIZE=0x400 -o"hello_world_K2G.out" "./hello.o" "./startup_ARMCA15.o" -Wl,-T"../66AK2Gxx.lds" Finished building target: "hello_world_K2G.out"
Also, how do you know that I'm missing linked gcc library? I get no errors when building and linking (as shown above) although the 'Preferences' of my project don't match yours:
What would be the best course of action from here to resolve my error? It doesn't seem to be an issue with missing libraries or with the startup_ARMCA15.s file.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.