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.
之前是买了TI,TMDSPLCKIT-V3这块板子来使用
编译过后想逐步执行看看动作流程,结果到了红色字体那边我想看这行副程式里面有哪些指令和动作
结果一按step into就会出现错误了,不给我进入内部看程式码,请问这是这块板子当初设计就是如此嘛?
因为我想看资料怎么传送的,但是似乎没办法
/***********************************************************************/
/* Main */
/***********************************************************************/
UINT32 txstart_cnt=0;
const char *ver_p;
void main(void)
{
Uint16 idx, i; //maxLen;
Uint16 *buf_p;
PHY_txGetData_t phyGetData;
HAL_afe_prfParms_t afePrfParms;
afeReadyFlag = 0;
/* F28335 Initialize */
F28335_init();
#ifdef FLASH
/* Configure for flash */
config_flash();
#endif
/* ISR functions */
/* For PHY TX, using CPU timer0 & DMA channel 2 intterrupts */
EALLOW;
PieVectTable.TINT0 = &PHY_tx_cpuTimer0_isr;
#ifndef F2806X
PieVectTable.DINTCH2 = &PHY_tx_dintch2_isr;
PieVectTable.DINTCH1 = &PHY_rx_dintch1_isr;
#else
PieVectTable.DINT_CH2 = &PHY_tx_dintch2_isr;
PieVectTable.DINT_CH1 = &PHY_rx_dintch1_isr;
#endif
EDIS;
/* LED set up */
EALLOW; // below registers are "protected", allow access.
//GPIO-34 - PIN FUNCTION = LED3 (for Release 1.1 and up F2833x controlCARDs)
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0; // 0=GPIO, 1=ECAP1, 2=Resv, 3=Resv
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1; // 1=OUTput, 0=INput
// GPIO-31 - PIN FUNCTION = LED2 (for Release 1.1 and up F2833x controlCARDs)
GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 0; // 0=GPIO, 1=CANTX-A, 2=XA17, 3=Resv
GpioCtrlRegs.GPADIR.bit.GPIO31 = 1; // 1=OUTput, 0=INput
EDIS; // Disable register access
ver_p = PHY_getLibVersion();
/* init AFE HAL driver*/
/* HAL profile (tx/rx sampling and PWM frequencies */
afePrfParms.rx_fs_kHz = HAL_AFE_KHZ_250;
afePrfParms.tx_fs_kHz = HAL_AFE_KHZ_500;
afePrfParms.tx_pwm_kHz = HAL_AFE_KHZ_1000;
HAL_afeInit(&afePrfParms);
/* init_PHY */
PHY_txInit();
PHY_rxInit();
EnableInterrupts();
/* Initialize TX PPDU data buffer */
PHY_tx_ppdu_s.length = PHY_TX_TEST_DEFAULT_PPDU_LEN;
PHY_tx_ppdu_s.level = PHY_TX_TEST_DEFAULT_LEVEL;
PHY_tx_ppdu_s.mcs = PHY_TX_TEST_DEFAULT_MOD;
PHY_tx_ppdu_s.txTime = PHY_TX_TEST_DEFAULT_TIME;
PHY_tx_ppdu_s.ppduHdr_p = (Uint16 *)&hdrBuf[0];
PHY_tx_ppdu_s.ppduPld_p = (Uint16 *)&ppduBuf[0];
/* Fill the ppduBuf with ramp data*/
buf_p = (Uint16 *)ppduBuf;
for (idx = 0; idx < (PHY_TX_TEST_BUF_SIZE); idx++)
{
*buf_p++ = ((((idx & 127) << 1) + 1) << 8) | ((idx & 127) << 1);
}
buf_p = (Uint16 *)hdrBuf;
for (i = 0; i < PHY_TX_TEST_HDR_SIZE; i++)
{
*buf_p++ = ((((i & 127) << 1) + 1) << 8) | ((i & 127) << 1);
}
/* Start PHY Rx */
PHY_rxStart(0xFFFF, cb_sync);
/* Start TX for the first time */
PHY_txPpdu(&PHY_tx_ppdu_s, cb_tx);
/* run state machine */
while(1)
{
// wait for either tx or rx has something
while((afeReadyFlag==0) && (txSymbDone == 0));
if (afeReadyFlag == 1)
{
/* Clear AFE ready flag */
afeReadyFlag = 0;
/* Run PHY Rx */
PHY_rxSmRun();
/* Check if RX PPDU done */
if (rxppdu_done == 1)
{
rxppdu_done = 0;
/* Get the current absolute time */
PHY_txGet(PHY_TIMER, &phyGetData);
/* Start 5 symbols later */
PHY_tx_ppdu_s.txTime = (phyGetData.currTime - 224*5) & 0xFFFFF;
txstart_cnt++;
PHY_txPpdu(&PHY_tx_ppdu_s, cb_tx);
}
}
if (txSymbDone == 1)
{
/* Clear the symbol done flag */
txSymbDone = 0;
/* State transition */
PHY_txSmRun();
if(cb_ev == PHY_EV_TX_PPDU_DONE)
{
cb_ev = 0;
}
}
}
}