1.读elf文件
arm-eabi-nm *.elf
2.awk字符判断 及 if语句
运算符
描述
赋值运算符
|
= += -= *= /= %= ^= **= |
赋值语句 |
逻辑运算符
|
|| |
逻辑或 |
&& |
逻辑与 |
正则运算符
|
~ ~! |
匹配正则表达式和不匹配正则表达式 |
关系运算符
|
< <= > >= != == |
关系运算符 |
算术运算符
|
+ - |
加,减 |
* / & |
乘,除与求余 |
+ - ! |
一元加,减和逻辑非 |
^ *** |
求幂 |
++ -- |
增加或减少,作为前缀或后缀 |
其它运算符
|
$ |
字段引用 |
空格 |
字符串连接符 |
?: |
C条件表达式 |
in |
数组中是否存在某键值 |
- awk-F""'
- {
-
if(""$2""~/T/)
-
printf("%x,%s,%s\n",""$1"",""$2"",""$3"");
- }
- '
awk -F " " '
{
if(""$2""~/T/)
printf("%x, %s, %s\n", ""$1"", ""$2"", ""$3"");
}
'
3.awk打印16补齐空位
- #!bin/sh
- arm-eabi-nm1.test.axf|
-
awk-F""'
- {
-
if(""$2""~/T/)
-
printf("0x%08x,%s,%s\n",""$1"",""$2"",""$3"");
- }
- '
#!bin/sh
arm-eabi-nm 1.test.axf |
awk -F " " '
{
if(""$2""~/T/)
printf("0x%08x, %s, %s\n", ""$1"", ""$2"", ""$3"");
}
'
4.awk实现16进制加法
- #!bin/sh
- arm-eabi-nm1.test.axf|
-
awk-F""'
- {
-
if(""$2""~/T/)
-
printf("%d,%s,%s\n",""$1+1"",""$2"",""$3"");
-
else
-
printf("%d,%s,%s\n",""$1"",""$2"",""$3"");
- }
- '
#!bin/sh
arm-eabi-nm 1.test.axf |
awk -F " " '
{
if(""$2""~/T/)
printf("%d, %s, %s\n", ""$1+1"", ""$2"", ""$3"");
else
printf("%d, %s, %s\n", ""$1"", ""$2"", ""$3"");
}
'
5.awk 计数
- #!bin/sh
- arm-eabi-nm1.test.axf|
-
awk-F""'
- {
-
if(""$2""~/T/)
-
printf("%d%s%s\n",""$1+1"",""$2"",""$3"");
-
else
-
printf("%d%s%s\n",""$1"",""$2"",""$3"");
- }
- '|
-
awk-F""'
- BEGIN{i=0;}
- {
- i++;
-
printf("{0x%08x,%s},\n",""$1"",""$3"");
- }
-
END{printf("i=%d\n",i)}
- '
#!bin/sh
arm-eabi-nm 1.test.axf |
awk -F " " '
{
if(""$2""~/T/)
printf("%d %s %s\n", ""$1+1"", ""$2"", ""$3"");
else
printf("%d %s %s\n", ""$1"", ""$2"", ""$3"");
}
'|
awk -F " " '
BEGIN{i=0;}
{
i++;
printf("{0x%08x, %s},\n", ""$1"", ""$3"");
}
END{printf("i=%d\n",i)}
'
补充:
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法
\n 换行
\f 清屏并换页
\r 回车
\t Tab符
\xhh 表示一个ASCII码用16进表示,其中hh是1到2个16进制数
分享到:
相关推荐
支持全部ELF类型解析。支持32位/64位elf文件自适应解析、可解析elf文件头、程序头、节头、字符表、符号表、...可以解析linux及大部分嵌入式的编译输出文件,如gcc、keil mdk、iar、ccs等编译器的输出文件格式均为ELF。
nupkg格式的C#库文件,专门用来解析elf类文件的,使用的时候先加载安装这个库,怎么安装自行百度C# nupkg, 然后using包含ELFSharp.ELF.XXX的命名空间,然后就可以操作对应的函数了, 实例: var elf = ELFReader....
使用Java解析SO(ELF)文件,包含文件头部,程序头部表,节区头部表
1、quartus ii软件版本在13.0及以上2、quartus ii编译生成的sof文件输出目录为根目录下的output_files文件夹下。很多从老版本修改过来工程sof输出目录在工程根目录,因此需要用户自行修改脚本和cof文件3、nios ii的...
《ELF文件格式分析.pdf》文档,非常不错的elf格式参考文档,参考elf解析过程,能很快掌握elf文件格式
ELF文件,大名叫 Executable and Linkable Format。在计算机科学中,是一种用于二进制文件、可执行文件格式 ELF文件由4部分组成,分别是ELF头(ELF header)、程序头表(Program header table)、节(Section)和节...
10.1啦,庆祝祖国60华诞,再次奉献,同时也 祝我们的祖国繁荣富强,...附有演示工程,及相关的ELF文件。 生成BIN格式可以根据自己需要修改, 解都解出来了,要生成什么格式的自己就随便了。呵呵。 sck007 2009.09.29
elf-file.elf input.a2l output.a2l 妙处:支持结构元素(这就是使用DWARF-Info的原因) 当前此脚本需要gnu objdump.exe-因此git repo中的objdump.exe ist 目前,此脚本仅在Windows下运行(易于采用) 目前仅支持...
“合并sof和elf生产jic文件脚本.rar”为EP4CE10+EPCS16的版本,适用于小梅哥所有以EP4CE6、EP4CE10 FPGA芯片开发的FPGA开发板。如AC620、AC601、Starter等等 “合并sof和elf生产jic文件脚本 - 4ce30.rar”为EP4CE30...
使用eclipse构建的elfio工程,用于解析elf文件。elfio取自共享平台sourceforge
“合并sof和elf生产jic文件脚本.rar”为EP4CE10+EPCS16的版本,适用于小梅哥所有以EP4CE6、EP4CE10 FPGA芯片开发的FPGA开发板。如AC620、AC601、Starter等等 “合并sof和elf生产jic文件脚本 - 4ce30.rar”为EP4CE30...
一个简单程序解析ELF
计算机操作系统实验-解析ELF文件.doc
分析了ELF文件中symbol
用java来解析Elf文件结构
将elf文件转换为hex文件的小程序,使用前安装arm-none-eabi编译工具链,复制到elf文件所在目录双击执行,若当前文件没有.elf文件,则会提示 No such file,若转换成功则会在目录内生成HexFile.hex文件
解析ELF文件,将ELF文件中的内容显示出来。
端序感知:rust-elf在解析ELF内容时处理文件和主机端序之间的转换,并提供了四种端序解析实现,针对ELF解析库的不同常见用例进行了优化。解析在规范上是通用的,每个trait实现代表一个规范,封装了从一些允许的字节...
本资源为一个windows脚本工具,可以将elf文件转为bin文件,其原理是调用objcopy工具,用起来方便,不用记复杂的命令选项