关于AXF文件你需要知道的那些事儿
-
-
Eagleson
- LV5工程师
-
| 2016-07-12 10:25:21
- 浏览量 1014
- 回复:2
3.jpgaxf文件是ARM的调试文件,除了包含bin的内容之外,还附加了其他的调试信息,这些调试信息加在可执行的二进制数据的前面。在调试的时候,这些调试信息是不必下到RAM中去的,真正下到RAM中的信息仅仅是可执行代码。所以如果ram的大小小于axf文件的大小,程序是完全有可能可以在ram中调试的,只要axf除去调试信息后的大小小于ram的大小就行了。调试信息包含以下内容:1、可以将源代码包括注释夹在反汇编代码中,并且我们可以随时切换到源代码中调试,2、我们还可以对程序中的函数调用情况进行跟踪(用Watch & Call Stack Window查看)。3、对变量进行跟踪(用Watch &Call Stack Window查看)。如何减少调试信息如果希望带调试信息,那么在目标文件和库中减少调试信息是非常有益的,减少调试信息可以减少目标文件和库的大小、加快了链接速度、减小最终镜象的代码。以下几种方法可用来减少每个源文件产生的调试信息:1.避免在头文件中条件使用#define,链接器不能移除共用的调试部分,除非这些部分是完全一样的;2.更改C/C++源文件,以使#included包含的所有头文件有相同的顺序;3.将头文件信息分成几个小块,也就是,尽量使用数量较多的小头文件而不使用较大的单一头文件,这有利于链接器能获取更多的通用块;4.在程序中只包含那些必须要用到的头文件;5.避免重复包含头文件,可使用编译器选项--remarks来产生警告信息;6.使用编译命令行选项--no_debug_macros以从调试表中丢弃预处理宏定义
3.jpgaxf文件是ARM的调试文件,除了包含bin的内容之外,还附加了其他的调试信息,这些调试信息加在可执行的二进制数据的前面。在调试的时候,这些调试信息是不必下到RAM中去的,真正下到RAM中的信息仅仅是可执行代码。所以如果ram的大小小于axf文件的大小,程序是完全有可能可以在ram中调试的,只要axf除去调试信息后的大小小于ram的大小就行了。调试信息包含以下内容:1、可以将源代码包括注释夹在反汇编代码中,并且我们可以随时切换到源代码中调试,2、我们还可以对程序中的函数调用情况进行跟踪(用Watch & Call Stack Window查看)。3、对变量进行跟踪(用Watch &Call Stack Window查看)。如何减少调试信息如果希望带调试信息,那么在目标文件和库中减少调试信息是非常有益的,减少调试信息可以减少目标文件和库的大小、加快了链接速度、减小最终镜象的代码。以下几种方法可用来减少每个源文件产生的调试信息:1.避免在头文件中条件使用#define,链接器不能移除共用的调试部分,除非这些部分是完全一样的;2.更改C/C++源文件,以使#included包含的所有头文件有相同的顺序;3.将头文件信息分成几个小块,也就是,尽量使用数量较多的小头文件而不使用较大的单一头文件,这有利于链接器能获取更多的通用块;4.在程序中只包含那些必须要用到的头文件;5.避免重复包含头文件,可使用编译器选项--remarks来产生警告信息;6.使用编译命令行选项--no_debug_macros以从调试表中丢弃预处理宏定义