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.

AM6442: Need to measure the GPIO frequency from A53 LINUX (or) R5F baremetal

Part Number: AM6442
Other Parts Discussed in Thread: SYSCONFIG

Hi Team,

SDK - ti-processor-sdk-linux-rt-am64xx-evm-09.02.01.10

PROCESSOR - AM6442

Using RT-Linux SDK can we able  to read the INPUT GPIO PIN with frequency of 25MHZ.

Normal Gpio will drive upto 400 Hz to 1 Mhz.

What the process to read the GPIO any mechanism?

Provide some example code.

Thanks & Regards,

Ravilla Dinesh.

 

  • Hi Ravilla, 

    For finding the frequency for measuring a GPIO signal, please take a look at the following threads: (+) AM623: ecap userspace application code - Processors forum - Processors - TI E2E support forums and (+) AM625: ECAP - Processors forum - Processors - TI E2E support forums. These threads go into measuring an input signal using ECAP which I believe is a tool you can utilize for measuring frequency. Here is the associated template code for configuring a GPIO pin to ecap input signals: k3-am625-sk-ecap-capture.dtso

    Regards,

    Shriya

  • Hi Surti,

    Using ECAP, we can able to measure the 25MHZ frequency from Linux kernel ?

    GPIO pin - GPIO1_68

    Based on your inputs from the above thread.

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1242640/am625-ecap/4777458?tisearch=e2e-sitesearch&keymatch=am62%2525252520ecap#4777458 (By using this link created a node to capture the ecap )

    1) Facing issue when my GPIO driving with 25mhz.

    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# echo 1 > enable
    [  600.522048] sched: RT throttling activated
    [  617.955061] mmc1: Timeout waiting for hardware interrupt.
    [  617.955080] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  617.955085] mmc1: sdhci: Sys addr:  0x00000010 | Version:  0x00001004
    [  617.955092] mmc1: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
    [  617.955098] mmc1: sdhci: Argument:  0x00480c78 | Trn mode: 0x0000002b
    [  617.955103] mmc1: sdhci: Present:   0x01f70000 | Host ctl: 0x0000001f
    [  617.955108] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000080
    [  617.955113] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
    [  617.955117] mmc1: sdhci: Timeout:   0x00000000 | Int stat: 0x00000003
    [  617.955122] mmc1: sdhci: Int enab:  0x03ff008b | Sig enab: 0x03ff008b
    [  617.955127] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000001
    [  617.955132] mmc1: sdhci: Caps:      0x3de8c801 | Caps_1:   0x18002407
    [  617.955137] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  617.955142] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x0073bf7f
    [  617.955147] mmc1: sdhci: Resp[2]:   0x325b5900 | Resp[3]:  0x00000900
    [  617.955151] mmc1: sdhci: Host ctl2: 0x0000000b
    [  617.955155] mmc1: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x000000008146a218
    [  617.955160] mmc1: sdhci: ============================================
    [  628.196074] mmc1: Timeout waiting for hardware interrupt.

    Log provided for configuration and output.

    k3-am64-main.dtsi
    
    /* ecap capturemode*/
    	ecap0: capture@23100000 {
    	        compatible = "ti,am62-ecap-capture";
    	        reg = <0x0 0x23100000 0x0 0x100>;    /* capture binding uses 0x100 */
    	        interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>; /* <-- REPLACE */
    	        power-domains = <&k3_pds 51 TI_SCI_PD_EXCLUSIVE>; /* <-- REPLACE */
    	        clocks = <&k3_clks 51 0>;                              /* <-- REPLACE */
    	        clock-names = "fck";
    	        status = "okay";
    
    	        /* Route your FPGA 25 MHz signal to eCAP0_IN */
    	        /* pinctrl-names = "default"; */
    	        /* pinctrl-0 = <&ecap0_in_pins>; */
    	};
    	
    k3-am642-evm.dts
    
    &ecap0 {
    	status = "okay";
    	/* PWM is available on Pin 1 of header J12 */
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_ecap0_pins_default>;
    };
    
    pin mux configuration
    
    main_ecap0_pins_default: main-ecap0-pins-default {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0270, PIN_INPUT, 0) /* (D18) ECAP0_IN_APWM_OUT */
    		>;
    	};
    
    User space commands:
    
    root@am64xx-evm:~# cd /sys/bus/counter/devices/counter0/signal0
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal0# cat frequency
    125000000
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal0# cd
    root@am64xx-evm:~# cd /sys/bus/counter/devices/counter0/signal1
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# ls -l
    total 0
    -r--r--r-- 1 root root 4096 Feb 12 13:05 name
    -rw-r--r-- 1 root root 4096 Feb 12 13:05 polarity0
    -r--r--r-- 1 root root 4096 Feb 12 13:05 polarity0_component_id
    -rw-r--r-- 1 root root 4096 Feb 12 13:05 polarity1
    -r--r--r-- 1 root root 4096 Feb 12 13:05 polarity1_component_id
    -rw-r--r-- 1 root root 4096 Feb 12 13:05 polarity2
    -r--r--r-- 1 root root 4096 Feb 12 13:05 polarity2_component_id
    -rw-r--r-- 1 root root 4096 Feb 12 13:05 polarity3
    -r--r--r-- 1 root root 4096 Feb 12 13:05 polarity3_component_id
    ---------- 1 root root 4096 Feb 12 13:05 signal
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cat polarity0
    positive
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cat polarity1
    positive
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cat polarity2
    positive
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cat polarity3
    positive
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# echo positive > polarity0
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# echo positive > polarity1
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# echo positive > polarity2
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# echo positive > polarity3
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cd
    root@am64xx-evm:~# cd /sys/bus/counter/devices/counter0/count0
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# cat ceiling
    4294967295
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# echo 0 > num_overflows
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# echo 0 > count
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# echo 1 > enable
    [  600.522048] sched: RT throttling activated
    [  617.955061] mmc1: Timeout waiting for hardware interrupt.
    [  617.955080] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  617.955085] mmc1: sdhci: Sys addr:  0x00000010 | Version:  0x00001004
    [  617.955092] mmc1: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
    [  617.955098] mmc1: sdhci: Argument:  0x00480c78 | Trn mode: 0x0000002b
    [  617.955103] mmc1: sdhci: Present:   0x01f70000 | Host ctl: 0x0000001f
    [  617.955108] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000080
    [  617.955113] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
    [  617.955117] mmc1: sdhci: Timeout:   0x00000000 | Int stat: 0x00000003
    [  617.955122] mmc1: sdhci: Int enab:  0x03ff008b | Sig enab: 0x03ff008b
    [  617.955127] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000001
    [  617.955132] mmc1: sdhci: Caps:      0x3de8c801 | Caps_1:   0x18002407
    [  617.955137] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
    [  617.955142] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x0073bf7f
    [  617.955147] mmc1: sdhci: Resp[2]:   0x325b5900 | Resp[3]:  0x00000900
    [  617.955151] mmc1: sdhci: Host ctl2: 0x0000000b
    [  617.955155] mmc1: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x000000008146a218
    [  617.955160] mmc1: sdhci: ============================================
    [  628.196074] mmc1: Timeout waiting for hardware interrupt.
    [  628.196091] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
    [  628.196096] mmc1: sdhci: Sys addr:  0x00000010 | Version:  0x00001004
    [  628.196104] mmc1: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
    [  628.196109] mmc1: sdhci: Argument:  0x00000000 | Trn mode: 0x00000023
    [  628.196114] mmc1: sdhci: Present:   0x01f70000 | Host ctl: 0x0000001f
    [  628.196119] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000080
    [  628.196124] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000007
    [  628.196129] mmc1: sdhci: Timeout:   0x0000000e | Int stat: 0x00018002
    [  628.196134] mmc1: sdhci: Int enab:  0x03ff008b | Sig enab: 0x03ff008b
    [  628.196139] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000001
    [  628.196144] mmc1: sdhci: Caps:      0x3de8c801 | Caps_1:   0x18002407
    [  628.196149] mmc1: sdhci: Cmd:       0x00000c1b | Max curr: 0x00000000
    [  628.196153] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x0073bf7f
    [  628.196159] mmc1: sdhci: Resp[2]:   0x325b5900 | Resp[3]:  0x00000900
    [  628.196163] mmc1: sdhci: Host ctl2: 0x0000000b
    [  628.196167] mmc1: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x000000008146a218
    [  628.196173] mmc1: sdhci: ============================================

    2) when my GPIO driving with 1khz, I can able to capture the data.

    root@am64xx-evm:~# cd /sys/bus/counter/devices/counter0/signal0
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal0# cat frequency
    125000000
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal0# cd                                          
    root@am64xx-evm:~# cd /sys/bus/counter/devices/counter0/signal1
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# ls -l
    total 0
    -r--r--r-- 1 root root 4096 Feb 12 16:13 name
    -rw-r--r-- 1 root root 4096 Feb 12 16:13 polarity0
    -r--r--r-- 1 root root 4096 Feb 12 16:13 polarity0_component_id
    -rw-r--r-- 1 root root 4096 Feb 12 16:13 polarity1
    -r--r--r-- 1 root root 4096 Feb 12 16:13 polarity1_component_id
    -rw-r--r-- 1 root root 4096 Feb 12 16:13 polarity2
    -r--r--r-- 1 root root 4096 Feb 12 16:13 polarity2_component_id
    -rw-r--r-- 1 root root 4096 Feb 12 16:13 polarity3
    -r--r--r-- 1 root root 4096 Feb 12 16:13 polarity3_component_id
    ---------- 1 root root 4096 Feb 12 16:13 signal
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cat polarity0
    positive
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cat polarity1
    positive
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cat polarity2
    positive
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cat polarity3
    positive
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# echo positive > polarity0
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# echo positive > polarity1
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# echo positive > polarity2
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# echo positive > polarity3
    root@am64xx-evm:/sys/bus/counter/devices/counter0/signal1# cd
    root@am64xx-evm:~# cd /sys/bus/counter/devices/counter0/count0
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# cat ceiling
    4294967295
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# echo 0 > num_overflows
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# echo 0 > count
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# echo 1 > enable
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# cat num_overflows
    0
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# cat count
    2498625247
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# cat capture0
    3524479560
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# cat capture1
    3856104560
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# cat capture2
    4172229560
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# cat capture3
    155387264
    root@am64xx-evm:/sys/bus/counter/devices/counter0/count0# echo 0 > enable

    Thanks & Regards,

    Ravilla Dinesh.

  • Hi Ravilla,

    The standard eCAP module may struggle with the interrupt latency.

    I recommend utilizing the PRU cores for this task. The PRUs are designed for high-speed, deterministic I/O and can sample pins directly, making them much better suited for 25 MHz signals. Please see these resources to get started:

    FAQ: What is a PRU core?

    PRU Training Academy

    Our PRU specialist is currently out of the office. If further support is needed, please ping this thread in the upcoming week.

    Regards,

    Shriya

  • Hi Surti,

    I recommend utilizing the PRU cores for this task. The PRUs are designed for high-speed, deterministic I/O and can sample pins directly, making them much better suited for 25 MHz signals.

    For using PRU core should I build in Rt-Linux (or) Industrial SDK( FreeRTOS).

    If Industrial SDK( FreeRTOS) provide some example codes and its process.

    If Rt-Linux provide some examples or commands to validate frequency of 25mhz from ECAP input pin.

    Provide some example code to build and measure the ECAP INPUT PIN frequency (25MHZ).

    Thanks & Regards,

    Ravilla Dinesh

  • Hi Ravilla, 

    I will have to get back to you on these questions once the PRU expert is back in office. Please ping this thread by middle of next week if you do not hear back sooner. 

    Regards,

    Shriya

  • Hi Surti,

    Any update on this.

    Thanks & Regards,

    Ravilla Dinesh.

  • Hi Ravilla, 

    I am discussing this internally and will get back to you as soon as I receive more information. 

    Thanks,

    Shriya

  • Hi surti,

    Any update on this.

    Thanks & Regards,

    Ravilla Dinesh.

  • Hello Ravilla,

    I will be commenting from the PRU development side. I will be relying on a different team member to comment on whether the R5F cores are a good fit for capturing timestamps at a rate of 25MHz.

    Design questions 

    Do you need to know the timestamp of the signals, relative to the Linux system time? Or do you just need to know the timestamp of the input signals relative to each other? The design becomes simpler if you do not need to synchronize time between Linux and the PRU cores.

    PRU Basic design 

    You don't need to use an ECAP peripheral if PRU is detecting when a signal goes high or low. Simply route the signal to a PRU GPI pin, and have your PRU firmware poll on the pin until the pin's value changes. You could use the IEP counter to timestamp when the PRU reads in an updated value.

    What are my getting started resources? 

    For getting started with PRU development, please refer to the AM64x PRU Academy. I am the author. If you have any questions or feedback, please put those in a separate e2e thread and it will come back to me. I would suggest starting with the PRU Getting Started Labs.

    The OpenPRU repository is our source of example PRU projects and training for you to reference:
    https://github.com/TexasInstruments/open-pru

    I have not had time yet to port the IEP example from AM335x in the older PRU Software Support Package to AM64x in OpenPRU, but IEP code will work pretty much the same on AM335x and AM64x. You can find the older IEP example here:
    https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/tree/examples/am335x/PRU_IEP 

    What about the clocks?

    In the AM64x Clock Tree tool, I see that ECAP uses MAIN_SYSCLK0 / 4 = 125MHz. If you search for IEP, you will see that the PRU's IEP counter can also have MAIN_SYSCLK0 as a clock source (at the full 500MHz).

    Regards,

    Nick

  • You may wonder why the PRU is able to poll the pin to see when a signal has arrived, but other cores are unable to do this. Please refer to page "How are PRU GPIO signals different from regular GPIOs?" in the PRU Academy:
    https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__AfYd0P3wI1CDis1g9k1nSQ__AM64-ACADEMY__WI1KRXP__LATEST 

  • Hi Nick,

    I don't need any timestamp here, as per your previous info provided, It is possible to read 25mhz frequency from a GPIO pin only with PRU cores using ECAP of Industrial sdk, 

    so kindly provide sample code for ECAP for the same, or procedure to implement and validate ECAP from industrial SDK. 

    Thanks & regards,

    Ravilla Dinesh.

  • Hello Ravilla Dinesh,

    Measuring 25 MHz with ECAP via GPIO is not feasible. Here's the analysis:

    Limitations

    1. ECAP Clock Constraint

    - ECAP Functional Clock: 125 MHz
    - ECAP Clock Period: 8 ns
    - Input Signal (25 MHz) Period: 40 ns
    - Approximate Available Counts per Period: Only 5 counts

    With only 5 clock counts between edges, the measurement resolution and accuracy would be very poor (±20% error).

    2. Recommended Maximum Frequency for ECAP

    For reliable measurement with reasonable accuracy (±1%), you need at least 100+ clock
    cycles per period:

    Practical Maximum = 125 MHz / 100 = ~1.25 MHz

    Alternatives for 25 MHz Measurement

    Use an external frequency divider (e.g., divide by 32) to reduce 25 MHz to ~781 kHz, then measure with ECAP.

    Other than this method, we cannot achieve this with the PRU core as well. Because , PRU clock (~200-333MHz) would still provide only ~8-10 counts per 25 MHz period, which is insufficient for accurate measurement . We can get more details from PRU experts .

    Please let me know if you have any further questions.

    Regards,
    Anil

  • Let me provide some more background around using PRU cores to sample input signals.

    PRU cores on AM64x can read in data at a rate of 333MHz, since that is the max frequency of the clock. You can see a logic scope project where the PRU reads in 8 channels of data at a rate of 333MHz here: https://github.com/TexasInstruments/open-pru/tree/main/examples/logic_scope

    However, there is no filtering in that code. So if your signal is noisy, that noise can get through into the data. So the question is, how clean is the signal you are trying to measure, and how much oversampling do you want to do for that signal?

    We provide a ballpark of ~10MHz input signal for PRU Academy > PRU Usecases > Capture & control > high speed capture

    I am looking around in our internal repos to see if we have any sample high speed capture code that I can share.

    Regards,

    Nick

  • Hi nick,

    SoC_FPGA_5 - GPIO1_68 ( PIN DRIVING WITH 25MHZ FROM FPGA)

    I am working on the AM6442 (AM64x family) device and interfacing it with an external FPGA (Artix-7). The FPGA is generating a 25 MHz square wave signal that I need to measure inside the AM6442.

    PRU-ICSS (GPIO pin does not list PRU capability).

    R5F (FreeRTOS or No-RTOS) using ECAP.

    For measuring a 25 MHz external signal, would ECAP on R5F be the recommended approach if PRU routing is not available?

    Provide some examples.

    Thanks & Regards,

    Ravilla Dinesh.

  • Hello Ravilla Dinesh,

    Measuring 25 MHz with ECAP via GPIO is not feasible. Here's the analysis:

    Limitations

    1. ECAP Clock Constraint

    - ECAP Functional Clock: 125 MHz
    - ECAP Clock Period: 8 ns
    - Input Signal (25 MHz) Period: 40 ns
    - Approximate Available Counts per Period: Only 5 counts

    With only 5 clock counts between edges, the measurement resolution and accuracy would be very poor (±20% error).

    2. Recommended Maximum Frequency for ECAP

    For reliable measurement with reasonable accuracy (±1%), you need at least 100+ clock
    cycles per period:

    Practical Maximum = 125 MHz / 100 = ~1.25 MHz

    Alternatives for 25 MHz Measurement

    Use an external frequency divider (e.g., divide by 32) to reduce 25 MHz to ~781 kHz, then measure with ECAP.

    Other than this method, we cannot achieve this with the PRU core as well. Because , PRU clock (~200-333MHz) would still provide only ~8-10 counts per 25 MHz period, which is insufficient for accurate measurement . We can get more details from PRU experts .

    Please let me know if you have any further questions.

    Can you look at the above reply ?

    Regards,

    Anil.


  • Hi Anil,

    Need to measure GPIO with 1mhz through ECAP. Please share some ECAP example codes on R5F side.

    Thanks & Regards,

    Ravilla Dinesh.

  • Hello Ravi,

    Please look at the example below. This example works for your requirement.

    C:\ti\mcu_plus_sdk_...\examples\drivers\ecap\ecap_epwm_loopback

    Regards,

    Anil.

  • Hi Anil,

    C:\ti\mcu_plus_sdk_...\examples\drivers\ecap\ecap_epwm_loopback\am64x-evm\r5fss0-0_nortos

    I am using AM64x with MCU+ SDK (mcu_plus_sdk_am64x_11_02_00_24).
    I want to capture a 1MHz external signal coming from FPGA (Artix-7) using ECAP module.
    I do not want to use EPWM loopback example.

    FPGA (Artix-7) → 1 MHz signal → SoC_FPGA_5 GPIO1_68 (need to capture the input)
    You want ECAP to capture that signal.

    Thanks & Regards,
    Ravilla Dinesh.

  • Hi Anil,

    Any update on this.

    Thanks & Regards,

    Ravilla Dinesh.

  • Hello Ravilla Dinesh,

    On the EVM, to test the ECAP signal we feed a PWM signal as input and measure the captured signal using the ECAP module.

    If you want to test only the ECAP module without using the internal PWM, you can simply remove the PWM module configuration from your project and feed an external input signal to the ECAP pin. This way you can monitor the ECAP functionality using an externally generated signal.

    Please look at the example code provided in the SDK to understand how the ECAP module is configured and used. The code demonstrates the capture functionality and should help you adapt it for your specific use case.

    Regards,

    Anil.

  • Hi Anil,

    Taken example from /ti/mcu_plus_sdk_am64x_10_01_00_32/examples/drivers/ecap/ecap_epwm_loopback/am64x-evm/r5fss0-0_nortos/ to build the ECAP module to read the signal of a GPIO pin.

    1) Removed the EPWM module from the SYSCONFIG file & building the example getting error.

    **** Clean-only build of configuration Debug for project ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang ****
    
    /home/asmgen2/ti/ccs1281/ccs/utils/bin/gmake -k -j 6 clean -O 
     
    rm -rf  "syscfg/ti_dpl_config.h" "syscfg/ti_drivers_config.h" "syscfg/ti_drivers_open_close.h" "syscfg/ti_board_config.h" "syscfg/ti_board_open_close.h" "syscfg/ti_enet_config.h" "syscfg/ti_enet_open_close.h" "syscfg/ti_enet_lwipif.h" "syscfg/linker_defines.h"  "syscfg/ti_dpl_config.c" "syscfg/ti_drivers_config.c" "syscfg/ti_drivers_open_close.c" "syscfg/ti_pinmux_config.c" "syscfg/ti_power_clock_config.c" "syscfg/ti_board_config.c" "syscfg/ti_board_open_close.c" "syscfg/ti_enet_config.c" "syscfg/ti_enet_open_close.c" "syscfg/ti_enet_soc.c" "syscfg/ti_enet_lwipif.c" "syscfg/linker.cmd"  "ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang.out" 
    rm -rf "ecap_epwm_loopback.o" "syscfg/ti_dpl_config.o" "syscfg/ti_drivers_config.o" "syscfg/ti_drivers_open_close.o" "syscfg/ti_pinmux_config.o" "syscfg/ti_power_clock_config.o" "syscfg/ti_board_config.o" "syscfg/ti_board_open_close.o" "syscfg/ti_enet_config.o" "syscfg/ti_enet_open_close.o" "syscfg/ti_enet_soc.o" "syscfg/ti_enet_lwipif.o" "main.o" 
    rm -rf "ecap_epwm_loopback.d" "syscfg/ti_dpl_config.d" "syscfg/ti_drivers_config.d" "syscfg/ti_drivers_open_close.d" "syscfg/ti_pinmux_config.d" "syscfg/ti_power_clock_config.d" "syscfg/ti_board_config.d" "syscfg/ti_board_open_close.d" "syscfg/ti_enet_config.d" "syscfg/ti_enet_open_close.d" "syscfg/ti_enet_soc.d" "syscfg/ti_enet_lwipif.d" "main.d" 
    rm -rf  "syscfg" 
    Finished clean
     
    
    **** Build Finished ****
    
    **** Build of configuration Debug for project ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang ****
    
    /home/asmgen2/ti/ccs1281/ccs/utils/bin/gmake -k -j 6 all -O 
     
    Building file: "../example.syscfg"
    Invoking: SysConfig
    "/home/asmgen2/ti/ccs1281/ccs/utils/sysconfig_1.21.2/sysconfig_cli.sh" --script "/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/example.syscfg" -o "syscfg" -s "/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/.metadata/product.json" --context "r5fss0-0" --part Default --package ALV --compiler ticlang
    Running script...
    Validating...
    info: CONFIG_MPU_REGION3(/kernel/dpl/mpu_armv7) attributes: Some memory region(s) within this range is Shared among cores. 
    info: /kernel/dpl/debug_log uartLog.baudRate: Actual Baudrate Possible: 115385 (0 % error)
    Generating Code (example.syscfg)...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_dpl_config.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_dpl_config.h...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_drivers_config.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_drivers_config.h...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_drivers_open_close.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_drivers_open_close.h...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_pinmux_config.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_power_clock_config.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_board_config.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_board_config.h...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_board_open_close.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_board_open_close.h...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_enet_config.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_enet_config.h...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_enet_open_close.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_enet_open_close.h...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_enet_soc.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_enet_lwipif.c...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/ti_enet_lwipif.h...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/linker.cmd...
    Writing /home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg/linker_defines.h...
    Finished building: "../example.syscfg"
     
    Building file: "../ecap_epwm_loopback.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"ecap_epwm_loopback.d_raw" -MT"ecap_epwm_loopback.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"ecap_epwm_loopback.o" "../ecap_epwm_loopback.c"
    subdir_rules.mk:7: recipe for target 'ecap_epwm_loopback.o' failed
    ../ecap_epwm_loopback.c:121:59: error: use of undeclared identifier 'CONFIG_EPWM0_BASE_ADDR'
      121 |     gEpwmBaseAddr = (uint32_t)AddrTranslateP_getLocalAddr(CONFIG_EPWM0_BASE_ADDR);
          |                                                           ^
    ../ecap_epwm_loopback.c:243:42: error: use of undeclared identifier 'CONFIG_EPWM0_FCLK'
      243 |     EPWM_tbTimebaseClkCfg(gEpwmBaseAddr, APP_EPWM_TB_FREQ, CONFIG_EPWM0_FCLK);
          |                                          ^
    ../ecap_epwm_loopback.c:74:42: note: expanded from macro 'APP_EPWM_TB_FREQ'
       74 | #define APP_EPWM_TB_FREQ                (CONFIG_EPWM0_FCLK / 4U)
          |                                          ^
    ../ecap_epwm_loopback.c:243:60: error: use of undeclared identifier 'CONFIG_EPWM0_FCLK'
      243 |     EPWM_tbTimebaseClkCfg(gEpwmBaseAddr, APP_EPWM_TB_FREQ, CONFIG_EPWM0_FCLK);
          |                                                            ^
    ../ecap_epwm_loopback.c:244:38: error: use of undeclared identifier 'CONFIG_EPWM0_FCLK'
      244 |     EPWM_tbPwmFreqCfg(gEpwmBaseAddr, APP_EPWM_TB_FREQ, APP_EPWM_OUTPUT_FREQ,
          |                                      ^
    ../ecap_epwm_loopback.c:74:42: note: expanded from macro 'APP_EPWM_TB_FREQ'
       74 | #define APP_EPWM_TB_FREQ                (CONFIG_EPWM0_FCLK / 4U)
          |                                          ^
    ../ecap_epwm_loopback.c:252:13: error: use of undeclared identifier 'CONFIG_EPWM0_FCLK'
      252 |             APP_EPWM_COMPA_VAL, EPWM_SHADOW_REG_CTRL_ENABLE,
          |             ^
    ../ecap_epwm_loopback.c:86:42: note: expanded from macro 'APP_EPWM_COMPA_VAL'
       86 | #define APP_EPWM_COMPA_VAL              (APP_EPWM_PRD_VAL - \
          |                                          ^
    ../ecap_epwm_loopback.c:80:43: note: expanded from macro 'APP_EPWM_PRD_VAL'
       80 | #define APP_EPWM_PRD_VAL                ((APP_EPWM_TB_FREQ / \
          |                                           ^
    ../ecap_epwm_loopback.c:74:42: note: expanded from macro 'APP_EPWM_TB_FREQ'
       74 | #define APP_EPWM_TB_FREQ                (CONFIG_EPWM0_FCLK / 4U)
          |                                          ^
    ../ecap_epwm_loopback.c:252:13: error: use of undeclared identifier 'CONFIG_EPWM0_FCLK'
    ../ecap_epwm_loopback.c:88:43: note: expanded from macro 'APP_EPWM_COMPA_VAL'
       88 |                                           APP_EPWM_PRD_VAL) / 100U))
          |                                           ^
    ../ecap_epwm_loopback.c:80:43: note: expanded from macro 'APP_EPWM_PRD_VAL'
       80 | #define APP_EPWM_PRD_VAL                ((APP_EPWM_TB_FREQ / \
          |                                           ^
    ../ecap_epwm_loopback.c:74:42: note: expanded from macro 'APP_EPWM_TB_FREQ'
       74 | #define APP_EPWM_TB_FREQ                (CONFIG_EPWM0_FCLK / 4U)
          |                                          ^
    ../ecap_epwm_loopback.c:255:13: error: use of undeclared identifier 'CONFIG_EPWM0_FCLK'
      255 |             APP_EPWM_COMPA_VAL, EPWM_SHADOW_REG_CTRL_ENABLE,
          |             ^
    ../ecap_epwm_loopback.c:86:42: note: expanded from macro 'APP_EPWM_COMPA_VAL'
       86 | #define APP_EPWM_COMPA_VAL              (APP_EPWM_PRD_VAL - \
          |                                          ^
    ../ecap_epwm_loopback.c:80:43: note: expanded from macro 'APP_EPWM_PRD_VAL'
       80 | #define APP_EPWM_PRD_VAL                ((APP_EPWM_TB_FREQ / \
          |                                           ^
    ../ecap_epwm_loopback.c:74:42: note: expanded from macro 'APP_EPWM_TB_FREQ'
       74 | #define APP_EPWM_TB_FREQ                (CONFIG_EPWM0_FCLK / 4U)
          |                                          ^
    ../ecap_epwm_loopback.c:255:13: error: use of undeclared identifier 'CONFIG_EPWM0_FCLK'
    ../ecap_epwm_loopback.c:88:43: note: expanded from macro 'APP_EPWM_COMPA_VAL'
       88 |                                           APP_EPWM_PRD_VAL) / 100U))
          |                                           ^
    ../ecap_epwm_loopback.c:80:43: note: expanded from macro 'APP_EPWM_PRD_VAL'
       80 | #define APP_EPWM_PRD_VAL                ((APP_EPWM_TB_FREQ / \
          |                                           ^
    ../ecap_epwm_loopback.c:74:42: note: expanded from macro 'APP_EPWM_TB_FREQ'
       74 | #define APP_EPWM_TB_FREQ                (CONFIG_EPWM0_FCLK / 4U)
          |                                          ^
    8 errors generated.
    gmake: *** [ecap_epwm_loopback.o] Error 1
    Building file: "syscfg/ti_pinmux_config.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_pinmux_config.d_raw" -MT"syscfg/ti_pinmux_config.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_pinmux_config.o" "syscfg/ti_pinmux_config.c"
    Finished building: "syscfg/ti_pinmux_config.c"
     
    Building file: "syscfg/ti_board_config.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_board_config.d_raw" -MT"syscfg/ti_board_config.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_board_config.o" "syscfg/ti_board_config.c"
    Finished building: "syscfg/ti_board_config.c"
     
    Building file: "syscfg/ti_dpl_config.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_dpl_config.d_raw" -MT"syscfg/ti_dpl_config.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_dpl_config.o" "syscfg/ti_dpl_config.c"
    Finished building: "syscfg/ti_dpl_config.c"
     
    Building file: "syscfg/ti_drivers_open_close.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_drivers_open_close.d_raw" -MT"syscfg/ti_drivers_open_close.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_drivers_open_close.o" "syscfg/ti_drivers_open_close.c"
    Finished building: "syscfg/ti_drivers_open_close.c"
     
    Building file: "syscfg/ti_drivers_config.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_drivers_config.d_raw" -MT"syscfg/ti_drivers_config.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_drivers_config.o" "syscfg/ti_drivers_config.c"
    Finished building: "syscfg/ti_drivers_config.c"
     
    Building file: "syscfg/ti_power_clock_config.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_power_clock_config.d_raw" -MT"syscfg/ti_power_clock_config.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_power_clock_config.o" "syscfg/ti_power_clock_config.c"
    Finished building: "syscfg/ti_power_clock_config.c"
     
    Building file: "syscfg/ti_enet_config.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_enet_config.d_raw" -MT"syscfg/ti_enet_config.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_enet_config.o" "syscfg/ti_enet_config.c"
    Finished building: "syscfg/ti_enet_config.c"
     
    Building file: "syscfg/ti_enet_open_close.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_enet_open_close.d_raw" -MT"syscfg/ti_enet_open_close.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_enet_open_close.o" "syscfg/ti_enet_open_close.c"
    Finished building: "syscfg/ti_enet_open_close.c"
     
    Building file: "syscfg/ti_enet_soc.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_enet_soc.d_raw" -MT"syscfg/ti_enet_soc.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_enet_soc.o" "syscfg/ti_enet_soc.c"
    Finished building: "syscfg/ti_enet_soc.c"
     
    Building file: "syscfg/ti_enet_lwipif.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_enet_lwipif.d_raw" -MT"syscfg/ti_enet_lwipif.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_enet_lwipif.o" "syscfg/ti_enet_lwipif.c"
    Finished building: "syscfg/ti_enet_lwipif.c"
     
    Building file: "syscfg/ti_board_open_close.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"syscfg/ti_board_open_close.d_raw" -MT"syscfg/ti_board_open_close.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"syscfg/ti_board_open_close.o" "syscfg/ti_board_open_close.c"
    Finished building: "syscfg/ti_board_open_close.c"
     
    Building file: "../main.c"
    Invoking: Arm Compiler
    "/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/bin/tiarmclang" -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -I"/home/asmgen2/ti/ccs1281/ccs/tools/compiler/ti-cgt-armllvm_4.0.2.LTS/include/c" -I"/home/asmgen2/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -DSOC_AM64X -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -MMD -MP -MF"main.d_raw" -MT"main.o" -I"/home/asmgen2/workspace_ecap/ecap_epwm_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/syscfg"   -o"main.o" "../main.c"
    Finished building: "../main.c"
     
    gmake: Target 'all' not remade because of errors.
    
    **** Build Finished ****
    

    2) How to resolve it?

    Thanks & regards,

    Ravilla Dinesh

  • Hello Ravilla,

    I noticed that you have removed the PWM peripheral initialization from sysconfig, but you are still calling PWM APIs inside your application code.

    This will cause issues because the PWM peripheral is no longer initialized.

    Please remove all PWM API calls from your application code, and it should work correctly.

    Regards,

    Anil.