EWSTM8系列教程07_工程节点选项配置(二)

  • 分享一个朋友的人工智能教程,零基础!通俗易懂!希望你也加入到人工智能的队伍中来! www.captainbed.net

一、写在前面

  上一篇文章《EWSTM8系列教程06_工程节点选项配置(一)》讲述了节点选项中前五项(Target目标、Static Analysis静态分析、C/C++ Compiler编译器、Assembler汇编器、Output Converter输出转换器)的内容。

  本文讲述剩余的几项内容:Custom build自定义、Build Actions执行动作、Linker链接器、Debugger调试器、ST-LINK工具

  本文章收录于【EWSTM8系列教程】,在我的博客分类“EWSTM8系列教程”也能查找到。

  为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该系列教程也同步更新于微信公众号【EmbeddedDevelop】,关注微信公众号回复【EWSTM8系列教程】即可查看。

二、Custom 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$\inc\stdio.h

5.Run this tool before all other tools:在运行其他工具之前运行这个工具

以上5个选项内容其实是协同完成一个功能,比如:使用工具(命令)将一个输入文件,转化并输出。

三、Build Actions执行动作

3.1 Build Actions Configuration执行动作配置



1.Pre-build command line:在“Build”之前执行命令行
如:在编译之前拷贝一个文件,或者修改一个文件内容等。

2.Post-build command line :在“Build”之后执行命令行
如:在编译完成之后,拷贝hex,或者bin文件,或在bin文件末尾添加校验等。

四、Linker链接器

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额外选项配置

这里就不贴图了,主要就是使用命令行对链接器相关选项进行配置。具体命令后续抽空单独整理成相关文章。

五、Debugger调试器

本章节主要讲述与调试下载相关的一些选项配置。

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:插件版本

六、ST-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:通信日志

七、说明

1.因IAR各种IDE针对的处理器差异较大,所以关于节点选项的配置差异也较大。本文讲述关于EWSTM8的许多节点选项可能在其他IDE中没有。
2.该文档仅供个人学习使用,版权所有,禁止商用。
3.本教程收录于微信公众号【EmbeddedDevelop】,关注微信公众号回复【EWSTM8系列教程】即可查看全系列教程。

八、最后

我的博客:http://www.strongerhuang.com
我的GitHub:https://github.com/EmbeddedDevelop

更多精彩内容我将第一时间在微信公众号里面分享, 如果不想错过,可以关注我的微信公众号。

strongerHuang wechat
关注微信公众号,查看更多精彩内容!
本文对你有帮助吗?