首先左上角那个魔术棒中,是关于下载烧录软件编译的option选择
我们点开他
进入target
需要我们配置的就两处,
1:Xtal:填8.0mhz
只是因为要填个数代表stm32(外部高速晶振)或(其他晶振)作为主频时钟的时钟源时的晶振大小方便烧录时对一些代码(对芯片的时钟要求高的代码)的自动编译,实际上你不配这个也行,这个设置主要留给一些依赖人为设置的宏定义代表时钟时用,stm32的编译中我是没觉得这个有多重要
2:ARM compiler:5.06
这个是选择下载模式,v5.06属于比较宽松的编码规则,一般都用这个,如果你的编程语言特别强又有强迫症,你可以设置成v6.0
进入device
这个就是选你对应的芯片
你选不同的芯片,你的keil的引入头文件默认会不同
进入 Output
1.Create HEX FILE
这个是编译后输出的文件设置,你可以设置创建hex文件用去串口下载,你若不用串口下载不选它也行
2.DEBUG INFORMATION
就是一些代码信息
3.Browse information
这是用于文件见间互相跳转 go to definition用的,你不选他就跳转不了。
进入listing
这个按默认就行,调编辑页面的和一些配置的
进入USER
保持默认,没啥用
进入c/c++
1.define
在stm32中,它的f1系列,f4系列,f7系列,虽然是头文件不同,但是同一个系列,比如说f1系列它是一起的, 比如f103zeT6和f103c8T6,他们的头文件其实都在一个头文件中,只是他们的头文件有一个条件,你必须得要define这个芯片对应的标签才能在头文件中选择一个系列里你想要的芯片 ,我这个是hal库开发,所以他自动生成的头文件的就是这个东西。但是如果说你用的是标准库,,你就按大中小容量define,STM32F10X_HD(大容量),USE_STDPERIPH_DRIVER改成 STM32F10X_MD(中容量),STM32F10X_LD(小容量)。。。。具体的这里不再多说,常用的就这三个
2.ONE ELF section function
选中他可以让编译器自动帮你识别,你创建了但是没有使用的函数或者变量,让他不去编译他们,可以增加编译速度
3.c99 mode
警告模式的选择,跟前面v5.06 搭配,可以在c99 mode不会因为特别规范的设置而警告你
具体的看我主页的“关于解决mdk编译出现一下子蹦出来几十个错误的快速解决办法”
进入ARM
保持默认
进入linker
保持默认
进入debug
选择use,并且选择你对应的下载器,比如我的stlink
然后点开setting,点开flash down 选中reset and run
这样你下载好后它会自动帮你复位一次
进入utilities
保持默认
标签:mdk,头文件,keil,芯片,默认,stm32,编译,报错,进入 From: https://blog.csdn.net/2301_80317247/article/details/139892530