美文网首页
Keil 编译阶段执行脚本

Keil 编译阶段执行脚本

作者: One2INF | 来源:发表于2022-10-12 11:51 被阅读0次

问题描述

大家都有过 反汇编 及 生成 bin 文件 的需求。

但是 keil 最多只支持两个命令,若再想使用工具对固件进行 签名、加密等操作就显然不够用了。

fromelf.exe --text -c -o "$L@L.asm" "#L"
fromelf.exe --bin -o "$L@L.bin" "#L"
例图

问题分析

能自动化的东西绝不手动。Keil 调用 bat 脚本,脚本里执行多命令。

解决方法

为使命令更为简洁优雅,需要使用 keil 关键字给 bat 脚本传参,同时保证足够的灵活性。 keil 关键字详见参考资料。

keil 定义执行的用户命令

..\firmware.bat  "$J\..\bin" "#L" "$L@L.asm" "$L@L.bin"
效果图

脚本内容

set compiler_path=%1
set axf_file=%2
set asm_file=%3
set bin_file=%4

:: 反汇编
%compiler_path%\fromelf.exe --text -c -o %asm_file% %axf_file%
:: 生成 bin 文件
%compiler_path%\fromelf.exe --bin -o %bin_file% %axf_file%

注:keil 没有提供编译器 bin 路径的关键字,只有编译器 include 路径,所以使用 "$J\..\bin" 代替,一点小瑕疵,强迫症表示极其难受。

参考链接

  1. Key Sequence for Tool Parameters

相关文章

  • Keil 编译阶段执行脚本

    问题描述 大家都有过 反汇编 及 生成 bin 文件 的需求。 但是 keil 最多只支持两个命令,若再想使用工具...

  • gradle(4)-task(1)

    gradle脚本中只有task可以让配置脚本能在执行阶段执行,其他都是在配置阶段执行. task定义及配置: //...

  • 关于JavaScript代码执行的两个阶段

    执行JavaScript代码主要分为以下两个阶段 代码预编译阶段 代码执行阶段预编译阶段是前置阶段,这一阶段会由编...

  • 深入了解JavaScript执行过程(JS系列之一)

    前言 JavaScript 执行过程分为两个阶段,编译阶段和执行阶段。在编译阶段 JS 引擎主要做了三件事:词法...

  • MT7687使用keil进行开发时下载注意事项

    SDK支持使用GCC、KEIL、IAR进行开发,在使用keil编译的时候,是可以编译通过的。但是到了下载的时候就会...

  • Python学习-基础1

    python 解释性的脚本语言:直接执行,不需要编译 C 编译型语言:先编译,再执行 python特性: 内部机制...

  • 编译、执行、测试脚本

    目的:利用solc更方便的执行合约,不必在命令行中拷贝粘贴abi等内容。首先建立一个文件夹contract_wor...

  • makefile快速入门

    makefile的作用:简化编译的过程,通过脚本来执行编译命令1、注释:‘#’开头:如: #这是一个注释 2、执行...

  • Shell下 #! 的用法

    执行Shell脚本 首行一般会指定解释执行脚本的编译器,常规情况下有下面两种写法 执行Python脚本 同样在首行...

  • JS----封闭函数

    JavaScript解析过程分为两个阶段,先是编译阶段,然后执行阶段,在编译阶段会将function定义的函数提前...

网友评论

      本文标题:Keil 编译阶段执行脚本

      本文链接:https://www.haomeiwen.com/subject/ldptzrtx.html