How to use “attribute” in STM32CubeIDE
前言 attribute__的作用就是將變量或者數組存在指定的地址。在實際應用中一般將程序的版本信息固定在特定的flash地址。這邊因要協助修改讓Hex燒入檔案能可以認到版本資訊,但嚐試使用STM32CcubeIDE後發現,無法使用,但KEIL卻是正常的,找尋網路方式但都試不出來會出現錯誤,最後發現正確使用方式 修改ld文件 這邊因為STM32CubeIDE這邊在Flash LD檔與KEIL方式不同,因此如果需要使用“attribute”這一快是需要修正的第一步需要先在主MEMORY那邊宣告你所需要使用區塊 第二步是在/* Sections */內部新增 在繼續在ld文件的下面進行修改。這裡就要特別注意了。 .VERSION : 是在main函數之前定義的數組的名字。KEEP(*(.MCU_version))是main函數之前定義的section()中的名字。Version尖括號後的是在前面的ld文件中添加的。到這裡 ,就能正常編譯了。在main.c內使用如下(需要宣告在main loop外) 結果圖如下可以看到最下面多出設定位置與數值 LD檔完整附錄 參考