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.
Tool/software: Code Composer Studio
I am trying to reproduce the FreeRTOS project described here, but with a RM57L.
Hercules TMS570LC43 RTOS project - LED Blinky with two Tasks
https://e2e.ti.com/support/archive/launchyourdesign/m/boosterpackcontest/666075
I generated code using HalCoGen. Then I import the code into CCS v9.1, and set the Project Properties as:
General->Advanced->Device Endianess: little
Runtime support library: <automatic>
Then I build the project (Project > Build Project) and get the above error in Resources
os_portasm.asm and HL_sys_core.asm
See like floating point (FP) instructions are generated by HalCoGen (example: fmdrr d0, r1, r1)
Q1 - If I need FP support, what Runtime support library should I use?
Q2 - If I do not need FP support, how can I resolve this issue?
Hello,
Did you enable FPU from HALCoGen ( R5-MPU-PMU Tab, Enable Vectored Floating point Unit checkbox )? Also, you have to add VFPv3D16 support from CCS-->Project properties-->ARM Compiler-->Processor Options-->Spesify floating point support (--float_support)
1. Halcogen FPU enable is by default. so that is ok.
2. CCS Floating support: I added VFPv3D16 as you explained. After CCS > Build Project I get a different error in two files:
1) file "C:/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_19.6.0.STS/lib/rtsv7R4_T_le_v3D16_eabi.lib<div0.asm.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files null: file "C:/ti/ccs910/ccs/tools/compiler/ti-cgt-arm_19.6.0.STS/lib/rtsv7R4_T_le_v3D16_eabi.lib<div0.asm.obj>" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
2) file "./source/HL_sys_core.obj" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files null: file "./source/HL_sys_core.obj" has a Tag_ABI_VFP_args attribute value of "1" that is different than one previously seen ("0"); combining incompatible files
Hi, Jim,
I was out of office and just came back to office today. I'll take a look at the post and get back to you.
Rex
Hi, Jim,
I don't see any issue building the project. You shouldn't need to change the endianess in CCS. In CCS project property, when you select the target, it will have the correct endianess set. The files you have in question specifically are compiled successfully and the fmdrr instruction doesn't seem to have any issue compiling. Please see below snippets from my build. I am using CCS 8.2. I don't think CCS 9.1 would be an issue, but I can give it a try.
Building file: "../source/HL_sys_core.asm"
Invoking: ARM Compiler
"C:/ti/ti-cgt-arm_18.12.3.LTS/bin/armcl" -mv7R5 --code_state=32 --float_support=VFPv3D16 -me --include_path="C:/Users/xxxxx/workspace_v8/RM57Lx_FreeRTOS_LEDS" --include_path="C:/Users/xxxxx/workspace_v8/RM57Lx_FreeRTOS_LEDS/include" --include_path="C:/ti/ti-cgt-arm_18.12.3.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --preproc_with_compile --preproc_dependency="source/HL_sys_core.d_raw" --obj_directory="source" "../source/HL_sys_core.asm"
Finished building: "../source/HL_sys_core.asm"
Building file: "../source/HL_nmpu.c"
Invoking: ARM Compiler
"C:/ti/ti-cgt-arm_18.12.3.LTS/bin/armcl" -mv7R5 --code_state=32 --float_support=VFPv3D16 -me --include_path="C:/Users/xxxxx/workspace_v8/RM57Lx_FreeRTOS_LEDS" --include_path="C:/Users/xxxxx/workspace_v8/RM57Lx_FreeRTOS_LEDS/include" --include_path="C:/ti/ti-cgt-arm_18.12.3.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --preproc_with_compile --preproc_dependency="source/HL_nmpu.d_raw" --obj_directory="source" "../source/HL_nmpu.c"
Finished building: "../source/HL_nmpu.c"
:::::::::::
Building file: "../source/os_portasm.asm"
Invoking: ARM Compiler
"C:/ti/ti-cgt-arm_18.12.3.LTS/bin/armcl" -mv7R5 --code_state=32 --float_support=VFPv3D16 -me --include_path="C:/Users/xxxxx/workspace_v8/RM57Lx_FreeRTOS_LEDS" --include_path="C:/Users/xxxxx/workspace_v8/RM57Lx_FreeRTOS_LEDS/include" --include_path="C:/ti/ti-cgt-arm_18.12.3.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --preproc_with_compile --preproc_dependency="source/os_portasm.d_raw" --obj_directory="source" "../source/os_portasm.asm"
Finished building: "../source/os_portasm.asm"
::::::::::
Building target: "RM57Lx_FreeRTOS_LEDS.out"
Invoking: ARM Linker
"C:/ti/ti-cgt-arm_18.12.3.LTS/bin/armcl" -mv7R5 --code_state=32 --float_support=VFPv3D16 -me -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"RM57Lx_FreeRTOS_LEDS.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ti-cgt-arm_18.12.3.LTS/lib" -i"C:/ti/ti-cgt-arm_18.12.3.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="RM57Lx_FreeRTOS_LEDS_linkInfo.xml" --rom_model -o "RM57Lx_FreeRTOS_LEDS.out" "./source/HL_epc.obj" "./source/HL_errata.obj" "./source/HL_errata_SSWF021_45.obj" "./source/HL_esm.obj" "./source/HL_gio.obj" "./source/HL_nmpu.obj" "./source/HL_notification.obj" "./source/HL_pinmux.obj" "./source/HL_sys_core.obj" "./source/HL_sys_dma.obj" "./source/HL_sys_intvecs.obj" "./source/HL_sys_main.obj" "./source/HL_sys_mpu.obj" "./source/HL_sys_pcr.obj" "./source/HL_sys_phantom.obj" "./source/HL_sys_pmm.obj" "./source/HL_sys_pmu.obj" "./source/HL_sys_startup.obj" "./source/HL_sys_vim.obj" "./source/HL_system.obj" "./source/os_croutine.obj" "./source/os_event_groups.obj" "./source/os_heap.obj" "./source/os_list.obj" "./source/os_mpu_wrappers.obj" "./source/os_port.obj" "./source/os_portasm.obj" "./source/os_queue.obj" "./source/os_tasks.obj" "./source/os_timer.obj" "../source/HL_sys_link.cmd" -llibc.a
<Linking>
Finished building target: "RM57Lx_FreeRTOS_LEDS.out"
**** Build Finished ****