Other Parts Discussed in Thread: HALCOGEN, DP83640
My ctm use TMS570LS3137ZWT's EMAC +DP83640 chip achieve Ethernet communication, EMAC driver is automatically generated by HALCoGen 04.02.00, the corresponding EMAC configuration and pin mux have been configured, Their software code will call the boolean EMACTransmit(hdkif_t *hdkif, pbuf_t *pbuf)function two times in every 10ms cycle .
Now the problem is that when the software is running for a few minutes, the program jumps to the following two loops of the EMACTransmit and could not able to jump out.
while (EMAC_BUF_DESC_EOQ != (curr_bd->flags_pktlen & EMAC_BUF_DESC_EOQ))
{
}
/* Don't write to TXHDP0 until it turns to zero */
/*SAFETYMCUSW 28 D MR:NA <APPROVED> "Hardware status bit read check" */
/*SAFETYMCUSW 134 S MR:12.2 <APPROVED> "LDRA Tool issue" */
while (((uint32)0U != *((uint32 *)0xFCF78600U)))
{
}
I would like to ask what will lead to the situation of the two judgments not established.