您的位置:首页 > 科技 > 能源 > 无水印效果图网站_建筑工地网站_seo合作代理_以服务营销出名的企业

无水印效果图网站_建筑工地网站_seo合作代理_以服务营销出名的企业

2024/12/26 20:26:59 来源:https://blog.csdn.net/m0_46295154/article/details/143953686  浏览:    关键词:无水印效果图网站_建筑工地网站_seo合作代理_以服务营销出名的企业
无水印效果图网站_建筑工地网站_seo合作代理_以服务营销出名的企业

  这篇文章记录一下STM32中attribute的用法。之前做项目的时候产品需要支持远程升级,要求版本只能向上迭代,不支持回退。当时想到的方案是把版本号放到bin文件的头部,设备端收到bin文件的首包部数据后判断是否满足升级要求,这里就可以用attribute关键字把版本号放进bin文件里。

目录

  • 一、工程配置
  • 二、代码编写
  • 三、Keil配置
  • 四、效果展示

一、工程配置

  使用Stm32Cubemx配置串口调试功能即可,配置方法可以参考之前的文章:https://blog.csdn.net/m0_46295154/article/details/139575740?spm=1001.2014.3001.5502

二、代码编写

const uint16_t Version __attribute__((at(0x08001000)))= 111;			//版本号
const uint16_t DevicID __attribute__((at(0x08001002)))= 888;			//设备IDint fputc(int ch, FILE *f)
{HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);return ch;
}int main(void)
{HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_USART1_UART_Init();while (1){printf("Version:%d  DevicID:%d\r\n", Version, DevicID);HAL_Delay(1000);}
}

三、Keil配置

keil配置里加入这句话,生成bin文件到工程路径下:

fromelf --bin -o "$L@L.bin" "#L

在这里插入图片描述

四、效果展示

使用16进制工具查看生成的Bin文件0X1000和0X1002地址的数据和我打印的数据是一样的(数据以小端序存储的),符合预期。
在这里插入图片描述

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com