STM32开发
hyafz
关注标准可编程控制器开发、工控自动化。
展开
-
MCU进行双精度与单精度浮点数运算的速度比较测试
测试平台MCU: STM32F767,启动硬件双精度浮点运算协处理器IDE: Keil RVMDK V5.21.1.0浮点协处理器:启用双精度浮点协处理器主频:108MHz测试方法分别进行100万次双精度与单精度浮点数加运算,计算各消耗多少时间,打印输出累加结果。测试代码void fpSpeedTest(void){ int begin_tick, end_tick; double dp1 = 1.0; double dp2 = 1.0; double dp = 0.0; beg原创 2021-06-28 09:09:30 · 2862 阅读 · 0 评论 -
Keil实现软件版本号与实际编译生成的目标代码版本自动一一对应
为何有这个需求?做嵌入式软件开发的人对于手工维护版本号总是心有抵触。因为代码提交很频繁,如果每次提交都需要手动修改子版本号,不胜其烦。而且难免会有遗漏的时候,这样版本号就失去了意义,并不能指明其与代码的真实对应关系。因为即使有版本号,也不知道是否就是预期的版本。有什么办法能解决这个痛点呢?答案是有!——使用编译日期与时间替代子版本号。实现办法C语言编译器生成目标代码时,会生成常量字符串:__DATE__ 、__TIME__,分别表示编译的日期与时间。将这两个字符串作为版本号的一部分,每次编译时都会原创 2020-06-15 15:19:05 · 4235 阅读 · 0 评论 -
MCU进行双精度与单精度浮点数运算的误差比较测试
测试平台MCU: STM32F767,启动硬件双精度浮点运算协处理器IDE: Keil RVMDK V5.21.1.0测试方法浮点数0.1分别以单精度与双精度累加1000000次,打印输出累加结果。测试代码 double dVal = 0; float fVal = 0; for(int i = 0; i < 1000000; i++){ d...原创 2020-05-08 10:51:03 · 1860 阅读 · 0 评论 -
解决gcc编译链接含weak函数的库文件出现的一些BUG_2019/03/13
项目介绍本项目包含IAP程序与APP程序。APP程序有部分共用代码(包括main\stm32标准库\RTOS\BSP)都编译进库中。另外部分特殊代码由其它程序生成后,连接共用代码库生成目标bin文件,通过IAP下载至FLASH中。问题描述1 使用keil编译生成的IAP程序相同的APP代码,在keil工程中编译下载后可以正常执行(没有生成库,直接编译链接所有代码)。但是使用arm_none...原创 2020-01-07 10:21:54 · 1301 阅读 · 0 评论 -
解决stm32 IAP程序跳转后串口不能发送的问题
解决stm32 IAP程序跳转后串口不能发送的问题问题描述解决办法问题描述在stm32上实现了IAP功能,当IAP程序与APP程序都使用Keil编译工具进行编译链接时,APP程序能够正常工作。但是IAP程序使用Keil编译,APP程序使用gcc-arm-none-eabi交叉编译工具链进行编译时,下载下去后GPIO能正常工作,但是串口发送时总是卡在这一句:void USART3_putcha...原创 2019-03-10 10:51:44 · 1938 阅读 · 0 评论