当前位置: 首页 > news >正文

DA14531如何在固件中生成与时间相关的mac和版本号

一. 蓝牙device information service显示固件编译时间

这里我是用序列号的characteristic来显示。

只需要把序列号的characteristic value用宏的方式:

#define APP_DIS_SERIAL_NB_STR           (__DATE__" "__TIME__)

#define APP_DIS_SERIAL_NB_STR_LEN       (20)

app中显示如下:

二. DA14531中mac地址随着编译时间自动变化

代码如下


#define EXPAND_DATE_CHAR(n) __DATE__[n]//example:May 14 2025
#define EXPAND_TIME_CHAR(n) __TIME__[n]//example:18:06:48
//#define EXPAND_TIMESTAMP_CHAR(n) __TIMESTAMP__[n]//example:Wed May 14 18:06:45 2025static const struct nvds_data_struct nvds_data_storage =
{.lpclk_drift                   = CFG_NVDS_TAG_LPCLK_DRIFT,//.bd_address                    = CFG_NVDS_TAG_BD_ADDRESS,.bd_address                    = {  ((EXPAND_TIME_CHAR(3)-'0')*10)+(EXPAND_TIME_CHAR(4)-'0'), //分。((EXPAND_TIME_CHAR(0)-'0')*10)+(EXPAND_TIME_CHAR(1)-'0'), //小时。((EXPAND_DATE_CHAR(4)-'0')*10)+(EXPAND_DATE_CHAR(5)-'0'), //日。EXPAND_DATE_CHAR(2), //月份。an,eb,ar,pr,ay,un,ul,ug,ep,ct,ov,ec分别对应1-12月。EXPAND_DATE_CHAR(1), //月份。an,eb,ar,pr,ay,un,ul,ug,ep,ct,ov,ec分别对应1-12月。EXPAND_DATE_CHAR(10)-'0'//年的最后一位数。},//CFG_NVDS_TAG_BD_ADDRESS,/// Default Channel Assessment Timer duration (5s - Multiple of 10ms).ble_ca_timer_dur              = CFG_NVDS_TAG_BLE_CA_TIMER_DUR,/// Default Channel Reassessment Timer duration (Multiple of Channel Assessment Timer duration).ble_cra_timer_dur             = CFG_NVDS_TAG_BLE_CRA_TIMER_DUR,/// Default minimum RSSI Threshold - -60dBm.ble_ca_min_rssi               = (uint8_t)CFG_NVDS_TAG_BLE_CA_MIN_RSSI,/// Default number of packets to receive for statistics.ble_ca_nb_pkt                 = CFG_NVDS_TAG_BLE_CA_NB_PKT,/// Default number of bad packets needed to remove a channel.ble_ca_nb_bad_pkt             = CFG_NVDS_TAG_BLE_CA_NB_BAD_PKT,
};

三. 版本号随编译自动实现版本号。可以参考如上。

disclaimer:

本 文 仅 代 表 作 者 个 人 观 点 限 制 在 修 改 日 期 前 , 不 代 表 现 在 观 点 。 其 原 创 性 以 及 文 中 陈 述 文 字 和 内 容 未 经 学 术 机 构 或 标 准 组 织 证 实 , 对 本 文 以 及 其 中 全 部 或 者 部 分 内 容 、 文 字 的 真 实 性 、 完 整 生 及 时 性 本 人 不 作 任 何 保 证 或 承 诺 , 请 读 者 仅 作 参 考 , 并 请 自 行 核 实 相 关 内 容 。 仅 供 学 习 参 考 ! 如 有 侵 权 , 请 邮 件 flourishinggarden@outlook.com  , 谢 谢 !

copyright:

引 清 注 明 出 处 , 转 载 或 者 引 用 需 注 明 " 转 自 〔 或 引 用 自 〕 FlourishingMind" 字 样 。

相关文章:

  • 半成品的开源双系统VLA模型,OpenHelix-发表于2025.5.6
  • 【Vue.js 的核心魅力:深入理解声明式渲染】
  • AG-UI:AI 用户交互协议,解决了Agent与前端应用连接和通信的问题
  • 数学复习笔记 8
  • LeRobot 框架的核心架构概念和组件(上)
  • 【Java基础】HashTable 和 ConcurrentHashMap 的区别与使用
  • 【测试】BUG
  • Hadoop的组成
  • ssti模板注入学习
  • 【Ansible基础】Ansible设计理念与无代理架构深度解析
  • Spring的bean的生命周期?
  • 【漫话机器学习系列】258.拐点(Inflection Point)
  • Linux重定向与缓冲区
  • Java—类与对象(一)
  • 【NLP 计算句子之间的BLEU和ROUGE分数】
  • 图像识别与 OCR 应用实践
  • 学术论文的科研流程概述 视频会议记录
  • GpuGeek全栈AI开发实战:从零构建企业级大模型生产管线(附完整案例)
  • stm32 ADC单通道转换
  • day20-线性表(链表II)
  • 30平米的无障碍酒吧里,我们将偏见折叠又摊开
  • 明查| 新一代AI诊疗系统可3秒筛查13种癌症?没有证据
  • 《歌手2025》公布首发阵容,第一期就要淘汰一人
  • 外企聊营商|特雷通集团:税务服务“及时雨”
  • 四部门:强化汛期农业防灾减灾,奋力夺取粮食和农业丰收
  • 梅花奖在上海丨陈丽俐“婺剧折戏专场”:文戏武做,武戏文唱