給Apollo3 Plus開發將資料載入到SPI Flash上出問題了
阿新 • • 發佈:2021-10-14
折騰好幾天了,最終還是沒有成功完成Apollo3 Plus開發板將用In-Direct的方法將資料載入到SPI Flash上。
準備暫時擱置一下,下一步調查用Uart->MCU->SPI FLash是否可行。
將這幾天遇見的問題整理一下:
1.Segger推薦的Open Flash的In-direct方法的開發環境是用Segger Embeded Studio進行開發。
- 按照官網步驟進行開發,前期一切順利,但是進入Erase Sector操作的時候,系統會莫名其妙出現Bus Error。這些程式碼我在Keil環境下除錯都是成果的,在Segger Embeded Studio就會出問題,Debug也找不到問題所在。會突然進行非法的地址訪問。
2.用Keil進行開發
- 我的程式碼之前一直是用Keil開發的,在Keil中Debug沒有問題。
- 但是作為JFlash的External Dll載入的時候,JFlash總是報告找不到FLashDevice這個Struct. FLashDevice是放在Section DevSrc下,通過Mapping檔案確認沒有問題。
- 安裝Segger為Embeded Studio的Placement.xml(記憶體管理設定)的方法,我修改Keil的Memory 管理設定,兩個開發環境的Memory 管理的設定不同,調整國過幾次,包括將DevSrc放到最後等,還是報告找不到Struct FLashDevice.
目前只有先擱置了,後面兩天看看UART可不可以。