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.mzph.cn/bicheng/57393.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker配置mysql8报错 ERROR 2002 (HY000)

通过docker启动的mysql,发现navicat无法连接,后来进入容器内部也是无法连接,产生以下错误 root9f3b90339a14:/var/run/mysqld# mysql -u root -p Enter password: ERROR 2002 (HY000): Cant connect to local MySQL server through socket …

【C++、数据结构】二叉排序树(二叉查找树、二叉搜索树)(图解+完整代码)

目录 [⚽1.什么是二叉排序树] [🏐2.构建二叉排序树] [🏀3.二叉排序树的查找操作] [🥎4.二叉排序树的删除] [🎱5.完整代码] ⚽1.什么是二叉排序树 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是…

vue3--实现瀑布流-长列表-懒加载

前言 在这一章我们主要学习:瀑布流、长列表、懒加载等功能 瀑布流组件 数据格式 [{"tags": ["all","home","desire","pets"],"_id": "62208123fb7e8b6da85b7dfe","photoLink":…

代码随想录算法训练营Day38 | 62. 不同路径、63. 不同路径 II

目录 62. 不同路径 63. 不同路径 II 62. 不同路径 题目 62. 不同路径 - 力扣(LeetCode) 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到…

免费开源的微信开发框架

近年来,随着人工智能技术的快速发展,聊天机器人在各个领域得到了广泛的应用。在社交媒体中,自动回复成为了一个流行的功能,让用户可以方便地与机器人进行互动。gewe框架,一个开源的微信聊天机器人框架,实现…

LeetCode第100题:相同的树

文章目录 😊1.题目😉2.解法 😊1.题目 尝试一下该题 😉2.解法 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ bool isSameTree…

PeakLight恶意软件活动分析

PeakLight恶意软件 在过去几个月中,PeakLight恶意软件因其通过CDN链接(内容交付网络)进行的激烈感染活动而备受关注。这种活动负责诱使用户执行编码的命令行或通过伪造的验证码和/或验证门户执行恶意工件。 它旨在通过不同的持久性和规避保护…

【电商项目】1分布式基础篇

1 项目简介 1.2 项目架构图 1.2.1 项目微服务架构图 1.2.2 微服务划分图 2 分布式基础概念 3 Linux系统环境搭建 查看网络IP和网关 linux网络环境配置 补充P123(修改linux网络设置&开启root密码访问) 设置主机名和hosts映射 主机名解析过程分析&…

S2 引擎-大数据分析表格

一、特性 1)开箱即用:提供不同场景下开箱即用的 React, Vue3 表组件及配套分析组件,只需要简单的配置即可轻松实现复杂场景。 2)多维交叉分析: 告别单一分析维度,全面拥抱任意维度的自由组合分析。 3&#…

数据脱敏方案总结

什么是数据脱敏 数据脱敏的定义 数据脱敏百度百科中是这样定义的: 数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集…

YOLOv11模型改进-注意力-引入简单无参数注意力模块SimAM 提升小目标和遮挡检测

本篇文章将介绍一个新的改进机制——卷积和注意力融合模块SimAM ,并阐述如何将其应用于YOLOv11中,显著提升模型性能。首先,SimAM 是一种用于卷积神经网络的简单且无参数的注意力模块,它基于神经科学理论定义能量函数来计算 3-D 注…

若依框架的下载与配置

1. 若依版本 RuoYi-Vue前后端分离版。 2. 框架下载 2.1 后端框架下载 https://gitee.com/y_project/RuoYi-Vue 2.2 前端框架下载 https://github.com/yangzongzhuan/RuoYi-Vue3 3. 数据库配置 3.1 创建数据库 基于MySQL数据库,创建数据库:ry-vu…

Top Down 2D Dojo Chip Set

以下是对这款 2D 微型像素关卡芯片集的简洁介绍: 这是一款基于 8x8 像素网格的 2D 微型像素关卡芯片集,采用经典的像素风格。它包含 66 个.png 格式的芯片,涵盖多种墙壁和门的变体,非常适合用于快速搭建游戏原型的道场关卡。利用…

gazebo显示urdf

最近想要将urdf显示在gazebo中。也就是实现下面这样的效果。 因为我看到网上&#xff0c;很多都是在rviz中显示urdf文件。 <launch><!-- 将 Urdf 文件的内容加载到参数服务器 --><param name"robot_description" textfile"$(find urdf_gazebo)/…

【GAMES101笔记速查——Lecture 17 Materials and Appearances】

目录 1 材质和外观 1.1 自然界中&#xff0c;外观是光线和材质共同作用的结果 1.2 图形学中&#xff0c;什么是材质&#xff1f; 1.2.1 渲染方程严格正确&#xff0c;其中BRDF项决定了物体的材质 1.2.2 漫反射材质 &#xff08;1&#xff09;如何定义漫反射系数&#xff1…

mysql8以上版本第一次下载后的登录问题

mysql8以上版本第一次下载后的登录问题 在官网下载mysql后&#xff0c;按照MySQL下载和安装教程操作就可以 如果出现问题&#xff0c;参考https://blog.csdn.net/weixin_63107823/article/details/136588474 注意ini配置文件&#xff0c;如果你是复制的别人的代码&#xff0…

ESD防静电闸机如何保护汽车电子产品

随着汽车电子技术的快速发展&#xff0c;汽车中集成了越来越多的电子设备&#xff0c;如车载信息娱乐系统、自动驾驶传感器、驾驶辅助系统等。静电放电可能导致电子组件的损坏、性能下降&#xff0c;甚至使整个系统失效。因此&#xff0c;如何有效保护汽车电子产品免受静电损害…

2024 四川省大学生信息安全技术大赛 安恒杯 部分 WP

文章目录 一、前言二、MISCunzip-png拓展 第47张图片重要的文件 三、WEB四、CRYPTO五、REVERSE 一、前言 WP不完整&#xff0c;仅供参考&#xff01; 除WEB外&#xff0c;其余附件均已打包完毕&#xff0c;在这里也是非常感谢师傅的附件支持&#xff01; 123网盘下载&#x…

Web应用框架-Django应用基础(2)

1.请求响应对象 1.1 请求对象HttpRequest测试 #hello\views def http_request(request):#1.获得请求方式print(request.method)#2.获得请求头信息#2.1 获取META中的请求头信息headers request.METAprint(headers)#2.2 获取请求头信息的内容ua request.META.get(HTTP_USER_AG…

[已解决] pycharm添加本地conda虚拟环境 + 配置解释器 - pycharm找不到conda可执行文件

目录 问题&#xff1a; 方法&#xff1a; 补充&#xff1a;创建conda虚拟环境 参考文档&#xff1a;pycharm找不到conda可执行文件怎么办&#xff1f;-CSDN 问题&#xff1a; 1.显示&#xff1a;未为项目配置 Python 解释器 2.想在pycharm中使用本地创建的虚拟环境 方法&a…