EWSTM8系列教程07_工程节点选项配置(二)
2021-03-02 来源:eefocus
1写在前面
上一篇文章《EWSTM8系列教程06_工程节点选项配置(一)》讲述了节点选项中前五项(Target目标、Static Analysis静态分析、C/C++ Compiler编译器、Assembler汇编器、Output Converter输出转换器)的内容。
本文讲述剩余的几项内容:Custom build 自定义、Build Actions 执行动作、Linker 链接器、Debugger 调试器、ST-LINK 工具。
为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,本文章收录于【EWSTM8系列教程】,在微信公众号回复【EWSTM8系列教程】即可查看。
2Custom build自定义
2.1 Custom Tool Configuration自定义工具配置
1.Filename extensions:文件扩展名
如:extension.lex
2.Command line:命令行
命令格式为:flex $FILE_PATH$ -o$FILE_BNAME$.c
3.Output file:输出文件
格式:
$FILE_BPATH$.c
$FILE_BPATH$.h
4.Additional input files:额外的输入文件
比如:$TOOLKIT_DIR$incstdio.h
5.Run this tool before all other tools:在运行其他工具之前运行这个工具
以上5个选项内容其实是协同完成一个功能,比如:使用工具(命令)将一个输入文件,转化并输出。
3Build Actions执行动作
3.1 Build Actions Configuration执行动作配置
1.Pre-build command line:在“Build”之前执行命令行
如:在编译之前拷贝一个文件,或者修改一个文件内容等。
2.Post-build command line :在“Build”之后执行命令行
如:在编译完成之后,拷贝hex,或者bin文件,或在bin文件末尾添加校验等。
4Linker链接器
4.1 Config配置
1.Linker configuration file:链接器配置文件
根据项目设置自动选择默认链接器配置文件。如果要覆盖默认文件,勾选“Override default”即可。
2.Configuration file symbol definitions:配置文件的符号定义
定义要在配置文件中使用的常量配置符号。这种符号的效果与使用链接器配置文件中的define symbol指令定义的符号相同。
4.2 Library库
1.Automatic runtime library selection:自动运行时库选择
使链接器根据您的项目设置自动选择适当的库。
2.Include C-SPY debugging support:包括C-SPY调试支持
包含用于调试应用程序和调试器本身之间通信的调试库。
3.Buffered write:写缓冲
在程序执行期间缓冲终端输出,而不是立即将每个新字符打印到C-SPY终端I/O窗口。当您使用通信缓慢的调试器系统时,此选项非常有用。
4.Additional libraries:附加库
指定您希望链接器在链接过程中包含的其他库。每行只能指定一个库,并且必须指定到库的完整路径。
可以通过“Browse按钮”来添加(类似新建工程添加路径)。
5.Override default program entry:覆盖默认的程序入口
默认情况下,程序条目是__iar_program_start。链接器确保包含了包含程序条目标签的模块,并且不丢弃包含该标签的部分。
Entry symbol:输入符号
Defined by application:由应用程序定义
4.3 Input输入
1.Keep symbols:保留符号
2.Raw binary image:原始二进制图像
链接图像纯二进制文件,指定参数:
File:文件
Symbol:符号
Section:部分区域
Align:对齐
4.4 Optimizations优化
这里就不贴图了,链接器优化只有一个勾选项:
1.Merge duplicate sections:合并重复的部分
使链接器仅保留等效只读部分的一个副本。注意,这可能会导致不同的函数或常量具有相同的地址,因此依赖于不同地址的应用程序不能正确地使用所选的选项。
4.5 Output输出
1.Output filename:输出文件名
设置链接器输出文件的名称。默认情况下,链接器将使用带有文件名扩展名的项目名称。
2.Include debug information in output:输出中包含调试信息
使链接器生成一个ELF输出文件,包括用于调试信息的DWARF。
4.6 List列表
1.Generate linker map file:生成链接器映射文件
2.Generate log file:生成日志文件
Automatic library selection:自动库选择
Initialization decisions:初始化决策
Module selections:模块选择
Redirected symbols:重定向符号
Section selections:段选择
Unused section fragments:未使用的部分片段
4.7 #define预定义
这里不贴图了,预定义一些符号。
例如:TESTVER=1
注意:一行一条,“=”两边不能有空格。
4.8 Diagnostics诊断
具体内容请参考《EWSTM8系列教程06》中“5.7 Diagnostics 诊断”的内容。
4.9 Checksum校验和
1.Fill unused code memory:填充未使用代码的内存
Fill pattern:填充形式
Start address:起始地址
End address:结束地址
2.Generate checksum:生成校验和
Checksum size:校验和尺寸(数据类型),可以是1、2、4字节。
Alignment:校验和对齐方式。
Algorithm:选择算法类型。
Result in full size:结果为全尺寸
Complement:补充
Bit order:位顺序
Reverse byte order within word:字节顺序颠倒
Checksum unit size:校验和单元尺寸(8、16、32Bit)
4.10 Extra Options额外选项配置
这里就不贴图了,主要就是使用命令行对链接器相关选项进行配置。具体命令后续抽空单独整理成相关文章。
5Debugger调试器
本章节主要讲述与调试下载相关的一些选项配置。
5.1 Setup设置
1.Driver:驱动器
选择调试仿真驱动器(工具)
2.Run to:运行到
复位之后运行到指定位置
3.Setup macros:设置宏
Use macro file:使用宏文件
4.Device description file:设备描述文件
根据项目设置自动选择默认设备描述文件。要覆盖默认文件,勾选“Override default”并指定一个替代文件。
5.2 Images镜像
可以使用三组
Download extra Images:下载外部镜像文件
Path:路径
Offset:偏移地址
Debug info only:是否只调试
5.3 Extra Options额外选项配置
这里不讲述,后续专门整理一篇命令行相关文章。
5.4 Plugins插件
1.Select plugins to load:选择要加载的插件
2.Description:插件描述
3.Location:插件位置
4.Originator:插件来源
5.Version:插件版本
6ST-LINK工具
其它两个工具simulator和STice就不讲述了,讲一下常用的ST-LINK。
6.1 setup设置
1.Download:下载
默认情况下,当进入调试时,下载应用程序到RAM或flash中。下载选项允许您修改下载的行为。
Suppress:抑制
禁止下载代码,同时保留flash的当前内容。如果您想调试已经下载在目标内存中的应用程序,这个命令非常有用。
Erase:擦除
在下载代码之前删除内存(FLASH、EEPROM和选项字节)。
EraseVerify:擦除验证
验证下载代码的地址是否被擦除。
Use option bytes configuration file:使用选项字节配置文件
在下载前将在选项字节配置文件(obc)中定义的选项字节设置写入设备。
2.Communication options:通信选项配置
Use SWIM interface:使用SWIM接口
Communication log:通信日志