前言
有些時候在我們的應用過程中要求變量有連續(xù)性,或者現(xiàn)場保留,例如 Bootloader 跳轉(zhuǎn),某種原因的復位過程中我們有些關鍵變量不能被初始化,在不同的編譯環(huán)境下有不同的設置,本文就這個操作做總結(jié),分別介紹使用 Keil,IAR 和 CubeIDE 的操作方法,本文中所用芯片為STM32G431RBT6。
IAR 實現(xiàn)變量不初始化方法
IAR 實現(xiàn)相對簡單,直接使用“__no_init”這個關鍵字即可,也就是在變量前面進行修飾。
Keil 實現(xiàn)變量不被初始化方法
Keil 中沒有像 IAR 里面的這個關鍵字,而且會有版本的區(qū)別。
CubeIDE 實現(xiàn)變量不初始化方法
CubeIDE 的實現(xiàn)和 Keil 有類似的操作,需要修改 linker file 文件*.ld。
閱讀全文