Error message AGBT FIFO overflow indicates that TriCore’s internal FIFO overflowed, which means that in a short time too many trace messages were written into FIFO.
The below steps explain on the TC3xx example how to define custom triggers and use an algorithmic approach to find two or more problematic functions that generate too many trace messages in a wider range.
To find a problematic function in a narrow range refer to this topic.
In the Disassembly Window you found the problematic functions, but the range is too wide. It spans between 0x10 - 0x60. You have to divide it into two or more narrower ranges.
To exclude the range between 0x10 - 0x60 from tracing, follow the below steps. To visualize it refer to this topic.
1. Open Manual Hardware Trigger | TriCore Y. Refer to winIDEA Help for more information about manual configuration.
2. Set ptu_trig_0 to 0x10 <= IP <= 0x60 in the Trigger section.
3. Set EVT8 to !ptu_trig_0 in the Event section.
4. Set ptu_enable to EVT8 in the Action section.
1. Take the range between 0x10 - 0x60 and divide it into two ranges, each half of the original size:
To visualize it refer to this topic.
2. Define a custom trigger and set:
3. Set EVT8 to !ptu_trig_0 & !ptu_trig_1 in the Event section.
4. Make sure ptu_enable is set to EVT8 in the Action section.
It is assumed that the second range between 0x39 - 0x60 is fixed.
3.1. Take the first range between 0x10 and 0x38, that is 0x10 - 0x24. To visualize it refer to this topic.
a. Define a custom trigger and set:
b. Set EVT8 to !ptu_trig_0 & !ptu_trig_1 in the Event section.
c. Make sure ptu_enable is set to EVT8 in the Action section.
d. Run the Analyzer. Error message AGBT FIFO overflow is displayed which means that the problematic function is not in the range defined by the EVT8 event.
3.2. Take the first range between 0x10 and 0x38, that is 0x25 - 0x38. To visualize it refer to this topic.
a. Define a custom trigger and set:
b. Set EVT8 to !ptu_trig_0 & !ptu_trig_1 in the Event section.
c. Make sure ptu_enable is set to EVT8 in the Action section.
d. Run the Analyzer. Error message AGBT FIFO overflow is not displayed.
3.3. Half the range further. To visualize it refer to this topic.
a. Define a custom trigger and set:
b. Set EVT8 to !ptu_trig_0 & !ptu_trig_1 in the Event section.
c. Make sure ptu_enable is set to EVT8 in the Action section.
d. Run the Analyzer. The error message AGBT FIFO overflow is not displayed.
By dividing the range even further does not yield positive results, meaning you have found the minimum range for the first part.
Repeat the above procedure of dividing the range for the second part that spans between 0x39 - 0x60, while the first part remains (0x25 - 0x2E) fixed.
If a memory range is again too wide you can use the same algorithm and divide the range again into two parts.
After halving the range until the end you will have 2 memory ranges or 3 ranges with problematic functions which generate error message AGBT FIFO overflow.
The maximum amount of ranges we can specify as hardware resources for Events are limited as Event MUX can have max 3 ptu trigger inputs specified.
Example for this specific use case: