操作步驟:
1、選中芯片型號
2、外部晶振8M,打鉤“Use MicroLIB”,
microlib 中的函數負責:
創(chuàng)建一個可在其中執(zhí)行 C 程序的環(huán)境。 這包括:
創(chuàng)建一個堆棧
創(chuàng)建一個堆(如果需要)
初始化程序所用的庫的部分組成內容。
調用 main()
3、生成hex文件,即燒錄文件。
是在keil中編寫程序并編譯連接成可以下載到開發(fā)板的 .hex 文件,然后用jlink仿真器下載;2,是在uboot APP中編寫編譯代碼,生成的是 .bin 文件,可以用uboot 下載。
4、用于生成bin文件,如果不需要則可以略過這一步。
C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o E:\bootloader_030test\OBJ\bootloader_030.bin E:\bootloader_030test\OBJ\bootloader_030.axf
格式:CMD命令 fromelf.exe --bin --output a.bin a.axf
5、
#ifdef USE_STDPERIPH_DRIVER
#include "stm32f0xx_conf.h"
#endif
stm32f0xx_conf.h包含了對庫函數頭文件的包含。一般情況下要輸入:USE_STDPERIPH_DRIVER;
為了保證你的代碼在優(yōu)化后能正確運行,一定要注意在不能被優(yōu)化的變量前加上:volatile。
選項One ELF Section per Function的主要功能是對冗余函數的優(yōu)化。通過這個選項,可以在最后生成的二進制文件中將冗余函數排除掉(雖然其所在的文件已經參與了編譯鏈接),以便最大程度地優(yōu)化最后生成的二進制代碼。
而該選項實現的機制是將每一個函數作為一個優(yōu)化的單元,而并非整個文件作為參與優(yōu)化的單元。
選項One ELF Section per Function所具有的這種優(yōu)化功能特別重要,尤其是在對于生成的二進制文件大小有嚴格要求的場合。人們習慣將一系列接口函數放在一個文件里,然后將其整個包含在工程中,即使這個文件將只有一個函數被用到。這樣,最后生成的二進制文件中就有可能包含眾多的冗余函數,造成了寶貴存儲空間的浪費。
選項One ELF Section per Function對于一個大工程的優(yōu)化效果尤其突出,有時候甚至可以達到減半的效果。當然,對于小工程或是少有冗余函數的工程來說,其優(yōu)化效果就沒有那么明顯了
選項One ELF Section per Function 只編譯用到的函數。
Include Paths:包含用到的文件路徑
6、硬件下載調試配置,用JTAG調試器SW模式下載,即3.3V、SWDIO、SWDCLK、GND(這四根就夠了,一般即可下載成功;如果不正常下載則接RST可解決)
附:
聯系客服