TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS570LS0714: TMS570LS0714 Bootloader 失敗

Part Number:TMS570LS0714

您好:

        我想對TMS570LS0714APZ做BOOTLOADER,在相同的程式但不同顆IC,會發現有的可以燒錄成功,但是有的會失敗,以下是我測試的情況

1. 雖然調整SYS_CLK_FREQ可以解決不同IC無法燒錄成功的問題,但SYS_CLK_FREQ是固定的,量產時無法針對每一顆IC做調整,所以這個方式無法採用

2. 再燒錄失敗後讀取燒錄的內容,發現會有一個現象,就是每次都是16個BYTE的值是0xFF,也就是沒有寫入成功,看起來問題點在Fapi_BlockProgram,紅色字體的2個判斷條件是我增加的,有改善但是還是會出現錯誤

uint32_t Fapi_BlockProgram( uint32_t Bank, uint32_t Flash_Address, uint32_t Data_Address, uint32_t SizeInBytes)
{
register uint32_t src = Data_Address;
register uint32_t dst = Flash_Address;
uint32_t bytes;

if (SizeInBytes < 16)
bytes = SizeInBytes;
else
bytes = 16;

if ((Fapi_initializeFlashBanks((uint32_t)SYS_CLK_FREQ)) == Fapi_Status_Success)

{
    (void)Fapi_setActiveFlashBank((Fapi_FlashBankType)Bank);
    (void)Fapi_enableMainBankSectors(0x0FFF); /* used for API 2.01*/
}

else {
return (1);
}

while( FAPI_CHECK_FSM_READY_BUSY != Fapi_Status_FsmReady );
while( FAPI_GET_FSM_STATUS != Fapi_Status_Success );

while( SizeInBytes > 0)
{
Fapi_issueProgrammingCommand((uint32_t *)dst,
                                                         (uint8_t *)src,
                                                         (uint32_t) bytes,
                                                         0,
                                                         0,
                                                         Fapi_AutoEccGeneration);

while( FAPI_CHECK_FSM_READY_BUSY == Fapi_Status_FsmBusy );
while(FAPI_GET_FSM_STATUS != Fapi_Status_Success);
while( FAPI_CHECK_FSM_READY_BUSY != Fapi_Status_FsmReady );

src += bytes;
dst += bytes;
SizeInBytes -= bytes;
if ( SizeInBytes < 16){
bytes = SizeInBytes;
}
}
return (0);
}

 我想問的問題是以下幾點:

1. 每次燒錄16個BYTE後,要如何確認已經燒錄成功

2. 如果我在每次燒錄16個BYTE後就執行Flash_Program_Check(),需要先設定或檢查什麼狀態,還是要先延遲一段時間

3. 目前每次接收2048個Byte的資料,就開始燒錄,這個暫存區的大小有限制嗎?會這樣問是因為我會在接收2048個Byte的資料後就連續寫入,直到燒錄完成後再接收下一筆2048個Byte

4.  SYS_CLK_FREQ要設定多少MHZ會比較好,目前設在64MHZ

5. 為什麼調整   SYS_CLK_FREQ 會影響燒錄的成功率(調整的範圍 32MHz ~ 80MHz) 

Weeken Chang:

 錯誤時讀取FLASH內容,會發連續16個BYTE,都沒有寫入

,

Ben Qin:

你好,我咨询下资深工程师后回复您。

,

Weeken Chang:

請問有回覆了嗎?謝謝

,

Ben Qin:

你好,看见您在英文论坛发的帖子了,还请关注那边的回复:

(+) TMS570LS0714: Bootloader – Processors forum – Processors – TI E2E support forums

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LS0714: TMS570LS0714 Bootloader 失敗
分享到: 更多 (0)