工具与软件:
您好!
我将使用 Jenkins 生成发布固件、我希望为每个构建提供一个特殊版本。
目前、我使用 const 字符串编写固件版本、并在 app_dev_info.c -> DevInfo_start 函数中设置它、如下所示。
我的目标是 使用 Jenkins 将固件版本写入文件 version.txt、然后构建蓝牙固件、 从 version.txt 读取版本、并将其设置为蓝牙设备信息。
是否可以将外部文件编译到应用程序中、然后我可以使用值设置固件版本?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
我将使用 Jenkins 生成发布固件、我希望为每个构建提供一个特殊版本。
目前、我使用 const 字符串编写固件版本、并在 app_dev_info.c -> DevInfo_start 函数中设置它、如下所示。
我的目标是 使用 Jenkins 将固件版本写入文件 version.txt、然后构建蓝牙固件、 从 version.txt 读取版本、并将其设置为蓝牙设备信息。
是否可以将外部文件编译到应用程序中、然后我可以使用值设置固件版本?
您好 Xuefeng:
感谢您的咨询。 我正在考虑使用编译后处理步骤来修改输出二进制文件、并使用与 imgtool 类似的方法。 您能否介绍一下 imgtool (Inside SDK:\tools\common\mcuboot)在 OAD 示例中用于 OAD 映像创建的方式? (SDK 内部:\examples\rtos\LP_EM_CC2340R53\ble5stack\basic_ble_oad_dual_image)。
BR、
David。
尊敬的 David:
[报价用户 id="575559" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1477519/cc2340r5-is-there-a-way-to-set-device-info-using-external-file "]我的目标是 使用 Jenkins 将固件版本写入文件 version.txt、然后构建蓝牙固件、 从 version.txt 读取版本、并将其设置为蓝牙设备信息。
[报价]我的意思是、我应该 一次修改就填充标头版本和固件版本字符串、我会在文件中写入版本信息、我需要标头和固件版本都读取版本文件才能获取版本。
使用命令编译时、如何读取和填充这两个部分?
BR
尊敬的 David:
[报价 userid="575772" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1477519/cc2340r5-is-there-a-way-to-set-device-info-using-external-file/5680372 #5680372"]您的应用程序可以用同样的方法从闪存读取信息并修改固件版本字符串。[/QUOT]如何阅读我修改的标题?
我的项目使用了 mcuboot、persistent 应用和片上 OAD-on-chip 应用。 我需要读取片上 OAD-on-chip 应用中的标题。
BR
您好 Xuefeng:
感谢您的咨询。 我建议看看 OAD 示例、例如 basic_ble_oad_dual_image。 您可以首先查看定义了主 OAD 状态机(oadStateMachine)的 oad_profile.c 文件。 启动新的 OAD 进程(状态为 oadEventHandleStateIdle)时、程序必须验证头(使用 oadImgIdentifyWrite ()函数)。 运行此验证的主函数是 Update_Check 3052Header ()(在 sw_update.c 文件中),您可以在其中查看标题值的读取方式。 在这种情况下、您甚至可以在写入闪存之前获取信息。
BR、
David。