Tool/software:
Hi,
On the code we're developing in a F28P550, we have a CLA task that is calling a function call but this task it's not executed when triggered.
When the CLA task doesn't have a function call it's is executed as expected but by adding foo() the task is not executed.
Here is a peudocode of the issue:
uint16 task3Counter; __attribute__((interrupt)) void Cla1Task3 ( void ) { task3Counter ++; }
This version works perfectly.
uint16 task3Counter; uint16 foo(uint16 argUI16) { return argUI16 ++; } __attribute__((interrupt)) void Cla1Task3 ( void ) { task3Counter = foo(task3Counter); }
This does not work.
My perception of the issue is that is there's a flag missing or wrong (as I would expect the capability of using function call is there) but somehow I can't find the issue. Bellow I share the compiler and linker flags.
The compiler flags are:
-v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --tmu_support=tmu1 --vcu_support=vcrc -O3 --include_path="C:/Workspace/git/ESC" --include_path="C:/Workspace/git/ESC/thirdparties/ti/F28P55x/device_support/common/include/" --include_path="C:/Workspace/git/ESC/thirdparties/ti/F28P55x/device_support/headers/include/" --include_path="C:/Workspace/git/ESC/thirdparties/ti/F28P55x/device/driverlib" --include_path="C:/TI/ccs2020/ccs/tools/compiler/ti-cgt-c2000_22.6.2.LTS/include" --advice:performance=all --define=REV_ID=1 --define=_FLASH --define=DEBUG -g --c++03 --diag_warning=225 --diag_wrap=off --display_error_number --verbose --gen_func_subsections=on --abi=eabi --cla_background_task=off --cla_signed_compare_workaround=on
The linker flags are:
-z -m"proj.map" --heap_size=0x100 --stack_size=0x200 --warn_sections -i"C:/TI/ccs2020/ccs/tools/compiler/ti-cgt-c2000_22.6.2.LTS/lib" -i"C:/TI/ccs2020/ccs/tools/compiler/ti-cgt-c2000_22.6.2.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="proj_linkInfo.xml" --rom_model
Thanks in advance for your support.