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

STM32CubeIDE(Eclipse)Post-build steps添加带参.exe实现全流程(2):带参调用.exe的几种方法

0 工具准备

STM32CubeIDE工程
带参.exe

1 前言

使用STM32CubeIDE编译生成了二进制镜像文件后,有时为了防止镜像被恶意修改,可以通过添加校验和来对整个镜像进行保护,实现手段就是在STM32CubeIDE工程Post-build steps中调用一些外部程序来为镜像添加校验和。本文基于STM32CubeIDE工程,介绍Post-build steps添加带参.exe实现全流程(2):带参调用.exe的几种方法。

2 带参调用.exe的几种方法

2.1 直接带参调用.exe

2.1.1 带参调用单个.exe

将带参调用.exe放到STM32CubeIDE工程的Debug目录下(也可以放到其它目录下,只要给出正确的路径即可):
在这里插入图片描述
打开STM32CubeIDE工程,选中“工程”:
在这里插入图片描述
依次点击“Project”、“Properties”。在打开的窗口展开“C/C++ Build”,依次点击“Settings”、“Build Steps”:
在这里插入图片描述
在“Post-build steps”输入框输入命令“./with_param.exe p1 p2”,意思是调用with_param.exe,且参数1为p1、参数2为p2:
在这里插入图片描述
完成后点击“Apply and Close”即可。
编译工程,终端打印内容如下:
在这里插入图片描述
结果和预期一致。

2.1.2 带参调用多个.exe

将带参调用.exe放到和STM32CubeIDE工程的Debug目录下(也可以放到其它目录下,只要给出正确的路径即可):
在这里插入图片描述
打开STM32CubeIDE工程,选中“工程”:
在这里插入图片描述
依次点击“Project”、“Properties”。在打开的窗口展开“C/C++ Build”,依次点击“Settings”、“Build Steps”:
在这里插入图片描述
在“Post-build steps”输入框输入如下命令:

"./with_param.exe" "p1" "p2";"./with_param.exe" "2p1" "2p2";"./with_param.exe" "3p1" "3p2"

每个命令使用;间隔,命令及参数均使用""包围。
上述命令意思是调用3次with_param.exe,第1次参数1为p1、参数2为p2;第2次参数1为2p1、参数2为2p2;第3次参数1为3p1、参数2为3p2:
在这里插入图片描述
完成后点击“Apply and Close”即可。
编译工程,终端打印内容如下:
在这里插入图片描述
结果和预期一致。

2.2 使用批处理脚本带参调用.exe

2.1.1 带参调用单个.exe

在和.exe同一个目录下新建一个文本文档,添加以下内容:

call with_param.exe p1 p2

含义是调用with_param.exe,且参数1为p1、参数2为p2。
然后将文本文档后缀名修改为.bat,告知win10这是一个批处理脚本:
在这里插入图片描述
打开STM32CubeIDE工程,选中“工程”:
在这里插入图片描述
依次点击“Project”、“Properties”。在打开的窗口展开“C/C++ Build”,依次点击“Settings”、“Build Steps”:
在这里插入图片描述
在“Post-build steps”输入框输入如下命令:

./with_param.bat

上述命令意思是调用with_param.bat。
在这里插入图片描述
完成后点击“Apply and Close”即可。
编译工程,终端打印内容如下:
在这里插入图片描述

2.1.2 带参调用多个.exe

如果需要带参调用多个.exe,例如需要调用3个.exe则在批处理脚本添加如下语句即可(调用n个.exe方法类似):

call with_param.exe p1 p2
call with_param.exe 2p1 2p2
call with_param.exe 3p1 3p2

上述命令含义如下:
(1)调用with_param.exe,参数1为p1、参数2为p2
(2)调用with_param.exe,参数1为2p1、参数2为2p2
(3)调用with_param.exe,参数1为3p1、参数2为3p2
编译工程,查看结果:
在这里插入图片描述
执行结果正确。

3 总结

(1)在STM32CubeIDE下打印\r\n换成\n可以做到逐行打印效果,\r\n和\n的区别如下:
(1.1)\r\n
在这里插入图片描述
(1.2)\n
在这里插入图片描述


http://www.kler.cn/news/361035.html

相关文章:

  • 搭建知识库 | 知识管理在汽车行业中的作用
  • 缓存框架JetCache源码解析-缓存变更通知机制
  • 建库建表练习
  • c语言 atoi 函数的功能和模拟实现
  • YOLO11改进 | 注意力机制 | 正确的 Self-Attention 与 CNN 融合范式,性能速度全面提升【独家创新】
  • 【LVGL快速入门(二)】LVGL开源框架入门教程之框架使用(UI界面设计)
  • 揭秘 Feign 调用机制:微服务通信的无缝集成
  • 信创服务器下搭建nfs共享存储方案
  • spring源码拓展点3之addBeanPostProcesser
  • MIT6.S081 LAB page tables (2024)
  • C++ 游戏开发:从基础到进阶
  • 2025秋招八股文--网络原理篇
  • React 基础阶段学习计划
  • 点云数据介绍
  • [论文笔记]RA-DIT: RETRIEVAL-AUGMENTED DUAL INSTRUCTION TUNING
  • Golang | Leetcode Golang题解之第497题非重叠矩形中的随机点
  • Python程序设计 内置函数 日志模块
  • eIQ笔记(UI介绍+Loss曲线+OpenART例程)
  • linux更改系统时间
  • 基于基于MATLAB红外和可见光图像融合算法研究