STM32H5 Daul Bank Implementation
前言 之前實做過L4 Daul bank,這邊針對H5在實做一次,但因H5的Daul bank架構邏輯與L4不同這邊在踩了坑後發現他會直接映射到另一個空間,這邊就針對H5這系列IC做深入介紹Daul bank,讓大家都可以避開坑洞快速順利完成專案 架構 因H5裡面的Daul bank初始就是開啟的,所以和G4或L4不同,他是一開始就切割成2塊獨立的區域在舊的L4或G4上是使用下圖去BFB去判讀轉跳 實作 在取得目前所在Bank位置來說因與G4或L4不同不是判讀BFB,所以這邊要修改一下 在取得不同Bank後轉跳這邊基本上透過reset會比較快速,因為如果透過address指向,必須2 bank code差異不能太大且個數據address需要固定住位置避免MCU邏輯異常(這塊範例code其實就有提供) 注意要點 因H5是個別獨立的Bank,所以轉換Bank是會連同起始address一起轉換,如下圖會連同所存取的Flash資訊憶起轉換,所以在判讀資料時候如果2個Bank有個存不同Data需要指向不同位置,而優先判讀是看在哪個Bank 這邊可以參考以下部分code擷取,第一不需要判讀在哪個Bank,然後針對不同Bank讀取不同Data做資料分析 另一個要點是雖然Address變更但在擦除Flash部分還是依照原先規則舉例目前在Bank1 要清除Bank1 第63 sectors程式會使用以下宣告 如果目前切換到Bank2 要清除Bank1 第63 sectors程式宣告方式也會與在Bank1相同如下,並不會因為不同Bank不同 參考
STM32H5 Daul Bank Implementation Read More »