Hi,
由於向EEPROM燒錄固件,需要向RAM寫入一個專門的固件USBBootProgrammer用於燒寫EEPROM,因此需要用到USB boot的方式。
由於你的EEPROM中已經有固件,那麼FX3啟動時會自動從EEPROM中的固件啟動。這樣無法載入USBBootProgrammer這個固件。
所以在調試時,建議設置撥碼開關方便燒寫。
批量生產時,可以把PMODE設置為I2C, On Failure, USB Boot is Enabled。由於第一次啟動時EEPROM中沒有固件,所以第一次啟動時為USB boot,向I2C燒寫後Reset過後均為從I2C啟動。
Hi
把FX3的PMODE引腳調為USB boot,是表示可以用USB透過pc把資料寫入到EEPROM?
我的PMODE 是設定在I2C only,EEPROM是透過I2C接FX3,要用USB把資料寫入EEPROM PMODE需調USB boot ,寫完之後PMODE 調回I2C only 流程是這樣嗎?
那請問有不需改變pmode而可以燒錄EEPROM的方法嗎?
謝謝
Hi,
由於向EEPROM燒錄固件,需要向RAM寫入一個專門的固件USBBootProgrammer用於燒寫EEPROM,因此需要用到USB boot的方式。
由於你的EEPROM中已經有固件,那麼FX3啟動時會自動從EEPROM中的固件啟動。這樣無法載入USBBootProgrammer這個固件。
所以在調試時,建議設置撥碼開關方便燒寫。
批量生產時,可以把PMODE設置為I2C, On Failure, USB Boot is Enabled。由於第一次啟動時EEPROM中沒有固件,所以第一次啟動時為USB boot,向I2C燒寫後Reset過後均為從I2C啟動。
HI
就如你所說的由於第一次啟動時EEPROM中沒有資料,所以第一次啟動時為USB boot,向I2C燒寫EEPROM後Reset過後均為從I2C啟動。
還有一個情況就是日後EEPROM必須UPGRADE時PMODE設置為I2C, On Failure, USB Boot is Enabled也OK嗎?
謝謝
日後必須UPGRADE時需要將PMODE改回USB boot。
有一種不用修改PMODE的方法是,在固件中加入特殊的命令,使得你的固件會主動擦除EEPROM中的code,這樣下一次reset的時候I2C boot失敗,又回到了USB boot的方式。
HI
那可以麻煩敘述是什麼樣的特殊指令,可以主動擦除EEPROM的CODE?
謝謝
你可以參考SDK中的USBI2CREGMODE這個例程,通過vendor command對I2C進行擦除寫入。
HI
我看I2S規範由sck,ws,sd所組成,但是fx3卻有4組訊號I2S_CLK,I2S_SD,I2S_WS,I2S_MSCLK。
請問有什麼不同?該如何使用?
可以看一下Wikipedia:
The bus consists of at least three lines:
- Bit clock line
- Word clock line
- At least one multiplexed data line
It may also include the following lines:
- Master clock (typically 256 x LRCLK
- A multiplexed data line for upload