Other Parts Discussed in Thread: TM4C129ENCPDT, TM4C129CNCPDT
Tool/software: Code Composer Studio
I imported to IDE the “uart_echo” example:
Executed “Rebuild” on the example and everything compiles and works fine:
**** Build of configuration Debug for project uart_echo ****
"C:\\safeshoot\\applications\\ti\\ccsv7\\utils\\bin\\gmake" -k all
'Building file: ../startup_ccs.c'
'Invoking: ARM Compiler'
"C:/safeshoot/applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -O2 --include_path="C:/safeshoot/applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/include" --include_path="C:/ti/tivaware_c_series_2_1_4_178" --advice:power=all -g --gcc --define=ccs="ccs" --define=PART_TM4C129ENCPDT --define=TARGET_IS_TM4C129_RA0 --diag_wrap=off --diag_warning=225 --display_error_number --gen_func_subsections=on --ual --preproc_with_compile --preproc_dependency="startup_ccs.d" "../startup_ccs.c"
"../startup_ccs.c", line 236: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../startup_ccs.c", line 254: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../startup_ccs.c", line 272: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
'Finished building: ../startup_ccs.c'
' '
'Building file: ../uart_echo.c'
'Invoking: ARM Compiler'
"C:/safeshoot/applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -O2 --include_path="C:/safeshoot/applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/include" --include_path="C:/ti/tivaware_c_series_2_1_4_178" --advice:power=all -g --gcc --define=ccs="ccs" --define=PART_TM4C129ENCPDT --define=TARGET_IS_TM4C129_RA0 --diag_wrap=off --diag_warning=225 --display_error_number --gen_func_subsections=on --ual --preproc_with_compile --preproc_dependency="uart_echo.d" "../uart_echo.c"
"../uart_echo.c", line 202: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
'Finished building: ../uart_echo.c'
' '
'Building target: uart_echo.out'
'Invoking: ARM Linker'
"C:/safeshoot/applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -O2 --advice:power=all -g --gcc --define=ccs="ccs" --define=PART_TM4C129ENCPDT --define=TARGET_IS_TM4C129_RA0 --diag_wrap=off --diag_warning=225 --display_error_number --gen_func_subsections=on --ual -z -m"uart_echo_ccs.map" --heap_size=0 --stack_size=256 -i"C:/safeshoot/applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/lib" -i"C:/safeshoot/applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/include" --reread_libs --display_error_number --diag_wrap=off --warn_sections --xml_link_info="uart_echo_linkInfo.xml" --rom_model -o "uart_echo.out" "./startup_ccs.obj" "./uart_echo.obj" "../uart_echo_ccs.cmd" -llibc.a -l"C:/ti/tivaware_c_series_2_1_4_178/driverlib/ccs/Debug/driverlib.lib"
<Linking>
remark #10371-D: (ULP 1.1) Detected no uses of low power mode state changing instructions
'Finished building target: uart_echo.out'
' '
"C:/safeshoot/applications/ti/ccsv7/utils/tiobj2bin/tiobj2bin" "uart_echo.out" "uart_echo.bin" "C:/safeshoot/applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/bin/armofd" "C:/safeshoot/applications/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.1.LTS/bin/armhex" "C:/safeshoot/applications/ti/ccsv7/utils/tiobj2bin/mkhex4bin"
' '
**** Build Finished ****
I go to project properties to change the device type to mine from “Tiva TM4C129ENCPDT” to “Tiva TM4C129CNCPDT”.
Now the project doesn’t compile because there are now 4 files instead of 2:
uart_echo_ccs.cmd
Startup_ccs.c
tm4c129cncpdt.cmd
tm4c129cncpdt_startup_ccs.c
I removed the first 2 and the project compiles ok.
I edited “tm4c129cncpdt_startup_ccs.c” and made two changes:
Added:
extern void UARTIntHandler(void);
and changed:
IntDefaultHandler, // UART0 Rx and Tx
to:
UARTIntHandler, // UART0 Rx and Tx
I rebuilt it, executed and put a breakpoint in the “UARTIntHandler” procedure to see that it stops when I send data through the serial monitor - which goes well, but the data being passed from the serial monitor and the chip seems corrupted - when the debugging starts, I should get the message: “Enter text:” but instead I get:
If I send any data, I don’tget it back – just corrupted chars as seen above.
the communication in both ends is default and set to speed 115200.
Why is this not working?