
02 — 新建工程 该小节讲述的内容针对工程,也就是说当你将整个工程模板复制到其他电脑中打开时,配置将不变。但是当低版本 KEIL 软件建立的工程在高版本 KEIL 打开时会出现问题,不过软件会自动更正,不必担心,实在不行只能重新设置了。 以下内容以 STM32F103RET6 作为基础芯片建立一个工程模板,因为 STM32F4 的库函数和 STM32F1 的差异较大,需要另外建立一个模板,内容类似,不一致的地方将格外说明。 首先需要了解这几个概念:工作空间、工程、目标:
该工程模板有四个目标, FLASH 下载(Debug)、FLASH 下载(Release)、RAM 下载(Debug)、软件仿真。注意 STM32F4 软件仿真有很多问题,建议不要使用 STM32F4 进行仿真,以免出现和实际硬件不一致的情况。但是 STM32F1 的软件仿真功能还是非常强大的,在没有实际硬件的情况下,用它来进行一些和实际硬件无关的代码编写还是很有必要的。 (注意:所有 Options 中的配置修改后都要点击 OK 按钮,这样你的修改才有效,而要保存配置选项(即下次打开后配置继续有效)则需要关闭整个工程后才能真正保存下来) 新建工程,设置输出位置:
设置宏编译:USE_STDPERIPH_DRIVER
这样可以解决如下警告: warning: #223-D: function "assert_param" declared implicitly 注意工程中不要添加 ucos_ii.c 文件,可解决类似错误: .axf: Error: L6200E: Symbol OSSemCreate multiply defined (by ucos_ii.o and os_sem.o). 如果出现以上错误,可能就是因为你添加了 ucos_ii.c 缘故。 其他的按照网上教程处理即可,不再多说。 接下来假设你已经保证了你的工程没有错误也没有警告,现在开始多目标工程模板的正式建立。 转载自:鱼鹰 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南