IAR最新全套教程:
1.EWSTM8系列教程01_IAR介绍、下载、安装和注册
2.EWSTM8系列教程02_新建基础软件工程
3.EWSTM8系列教程03_主窗口、工具栏的概述
4.EWSTM8系列教程04_菜单概述(一)
5.EWSTM8系列教程05_菜单概述(二)
6.EWSTM8系列教程06_工程节点选项配置(一)
7.EWSTM8系列教程07_工程节点选项配置(二)
8.EWSTM8系列教程08_IDE选项配置(一)
9.EWSTM8系列教程09_IDE选项配置(二)
10.EWSTM8系列教程10_一个工程添加多个节点
11.EWSTM8系列教程11_一个工作空间添加多个工程
12.EWSTM8系列教程12_IAR文件类型描述
······
  
  该系列教程已经在我的个人微信公众号「strongerHuang」整理并分享。因在这里分享文章,还需单独整理一遍,时间有限,就不再一一重复整理出来了。

  所以,想要查看更多相关教程,关注我的个人微信公众号「strongerHuang」,在公众号底部菜单,或者回复【EWSTM8系列教程】即可查看。

  申明:该文档由作者「strongerHuang」原创发布,仅供个人学习使用,转载请公众号联系作者授权。版权所有,禁止商用

一、写在前面

  IAR软件针对不同处理器存在多个版本,比如EWARM、EWMSP430、EWSTM8等,但为了让软件在使用上“兼容”,IAR推出的多个版本软件在使用上很多地方都有相似之处。因此,本文针对EWSTM8讲述的大部分内容也适用于IAR其他系列软件。

  由于菜单内容较多,我将其分为“菜单概述(一)”和“菜单概述(二)”两篇文章来讲述。为了使文章内容精简,下面大部分菜单内容只简单概述,该系列教程后面文章会逐步深入每一个细节的功能

  本文主要概述前四个菜单的内容:
  1.File文件菜单
  2.Edit编辑菜单
  3.View视图菜单
  4.Projcet工程菜单

  本文章收录于「strongerHuang」博客专栏【EWSTM8系列教程】,在我的博客右侧也能查找到。

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

二、主菜单内容

  主菜单在不同状态下会有一些差异,比如在编辑模式调试模式下存在差异,不同调试下载工具也存在差异。

2.1 编辑/调试模式差异

在编辑模式下有8个主菜单,在调试模式下会增加Debug调试菜单,共有9个主菜单。

2.2 不同调试下载工具差异

上面主菜单中有一个ST-Link菜单选项,其实这个菜单是根据你工程配置选择的调试下载工具改变而改变的。

如在仿真、J-Link、ST-Link下的区别:

三、File文件菜单

File文件菜单是比较常见的菜单,主要包含对文件的新建、打开、关闭、打印等一些常见的操作,在编辑和调试模式下完全一样。

1.New File:新建文件 Ctrl + N
2.New Workspace:新建工作空间
3.Open File:打开文件/工作空间 Ctrl + O
4.Open Workspace:打开工作空间
5.Open Header/Source File:打开头文件或源文件
6.Close:关闭文件
7.Save Workspace:保存工作空间
8.Save Workspace As:另存工作空间
9.Close Workspace:关闭工作空间
10.Save:保存文件 Ctrl + S
11.Save As:另存文件
12.Save All:保存所有文件/工作空间
13.Page Setup:打印页面设置
14.Print:打印 Ctrl + P
15.Recent Files:最近打开文件
16.Recent Workspaces:最近打开工作空间
17.Exit:退出软件

四、Edit编辑菜单

  这个Edit菜单在编辑和调试模式下相同,在编辑的时候使用较多,也比较常用。
  这个菜单下面大部分内容和默认主工具栏按钮一样,可以参看我的另一篇文章:EWSTM8系列教程03_主窗口、工具栏的概述.

1.Undo:撤销编辑 Ctrl + Z
2.Redo:恢复编辑 Ctrl + Y
3.Cut:剪切 Ctrl + X
4.Copy:复制 Ctrl + C
5.Paste:粘贴 Ctrl + V
6.Select All:全选 Ctrl + A
7.Find and Replace>Find:查找 Ctrl + F
 Find and Replace>Find Next:查找下一目标 F3
 Find and Replace>Find Previous:查找上一目标 Shift + F3
 Find and Replace>Find Next (Selected) :在选中对象里查找下一目标 Ctrl + F3
 Find and Replace>Find Previous (Selected):在选中对象里查找上一目标 Ctrl + Shift + F3
 Find and Replace>Replace:替换 Ctrl + H
 Find and Replace>Find in Files:在对话框中指定条件查找
 Find and Replace>Replace in Files:在对话框中指定条件替换
 Find and Replace>Incremental Search:在对话框中查找字符 Ctrl + I
8.Navigate>Go To:前往行列 Ctrl + G
 Navigate>Toggle Bookmark:标记/取消书签 Ctrl + F2
 Navigate>Previous Bookmark:跳转到上一个书签 Shift + F2
 Navigate>Next Bookmark:跳转到下一个书签 F2
 Navigate>Navigate Backward:跳转到上一步 Alt + 左箭头
 Navigate>Navigate Forward:跳转到下一步 Alt + 右箭头
 Navigate>Go to Definition:跳转到定义 F12
9.Code Templates>Insert Template:插入模板 Ctrl + Alt + V
 Code Templates>Edit Templates:编辑模板
10.Next Error/Tag:显示下一错误/目标 F4
11.Previous Error/Tag:显示上一错误/目标 Shift + F4
12.Complete Word:完型语句 Ctrl + Alt + 空格
13.Complete Code:完型类/结构体代码 Ctrl + 空格
14.Parameter Hint:参数提示 Ctrl + Shift + 空格
15.Match Brackets:括号匹配
16.Toggle All Folds:折叠/打开当面编辑代码 Ctrl + Alt + F
17.Auto Indent:自动缩进(对齐) Ctrl + T
18.Block Comment:块注释 Ctrl + K
19.Block Uncomment:块取消注释 Ctrl + Shift + K
20.Toggle Breakpoint:添加/取消断点 F9
21.Enable/Disable Breakpoint:使能/失能断点 Ctrl + F9

上面是简述每一个子菜单的内容(有一部分子菜单和工具栏按钮一样,这里不再详细讲述,可以点击文章链接查看)。下面将详细讲述几个常用、重要的Edit子菜单菜单。

4.1 插入/编辑模板

如果你经常使用同样一段代码,就可以使用这个功能。

IAR默认只有if、for这两个模板,我们可以自己添加(编辑)模板,比如添加一个while模板,点击“编辑模板”菜单就可以进入编辑状态,编辑的语法很简单,可以参考自带模板。添加内容如下:

#TEMPLATE "&Statement>&while"
while(1)
{
}

插入/编辑模板动画效果:

4.2 完形语句

完形填空就是词组补全,类似上小学时词语完形填空。比如完整的代码为LED_Initializes(前提是具有这个词组),而实际只需要输入LED_字母就可以补全。

完形填空动画效果:

4.3 自动缩进

这个功能比较实用,在你代码比较凌乱(也就是不对齐的情况),使用该功能就可使代码自动对齐。自动缩进是空格(空几格)还是Tab需要在Tools->Options中配置,后面详细讲述。

自动缩进动画效果:

五、View视图菜单

  View这个菜单的意思就是打开(已关闭的)视图窗口,比如我们的工作空间窗口不见了,就可以通过该菜单打开。

  由于在调试模式下增加了一些视图窗口,所以在编辑模式和调试模式下存在一些差异

  本节内容简单,参看下面动画效果就很容易理解。但有些视图窗口功能有点相似,可能初学者理解起来比较困难,下面列出视图菜单的内容,接着会讲述一些相似子菜单的区别。

1.Messages>Build:编译信息
 Messages>Find in Files:查找信息
 Messages>Tool Output:工具信息
 Messages>Debug Log:调试信息
2.Workspace:工作空间窗口
3.Source Browser>Source Browser:浏览源码窗口
 Source Browser>References:引用窗口
 Source Browser>Declarations:声明窗口
 Source Browser>Call Graph:调用图窗口
4.C-STAT Message:静态分析窗口
5.Breakpoints:调试断点窗口
6.Call Stack:调用栈窗口
7.Watch:普通查看表达式/变量值窗口
8.Live Watch:查看实时表达式/变量值窗口
9.Quick Watch:快速查看表达式/变量值窗口
10.Auto:自动显示表达式/变量窗口
11.Locals:局部变量窗口
12.Statics:静态变量窗口
13.Memory:内存窗口
14.Registers:寄存器窗口
15.Disassembly:反汇编窗口
16.Stack:堆栈地址窗口
17.Symbolic Memory:内存标记窗口
18.Terminal I/O:终端窗口
19.Macros:宏指令窗口
20.Symbols:符号表窗口
21.Code Coverage:代码覆盖(利用)率窗口
22.Images:图片窗口
23.Cores:内核状态窗口

View视图菜单可以打开被关闭了的窗口,打开的窗口也可以随意拖动(后面新增的功能):上、下、左、右、浮动等。

打开视图窗口并拖动动画效果:

细心的朋友其实会发现,View视图子菜单是进行了分类的(用横线隔开),而分类里面的内容具有相似的地方。下面我将详细讲述一下Watch和Memory这两类

5.1 Watch类窗口

  View视图菜单中Watch、 Live Watch、 Quick Watch、 Auto、 Locals、 Statics这6个子菜单功能其实类似,但各有差异。

  6个视图子菜单窗口的显示内容都类似,总共四个属性

Expression:表达式名称,一般指变量和函数等。
Value:对应的值;
Location:对应所在位置,寄存器、RAM、Flash等。
Type:变量/函数类型。

这里可以将6个子菜单再次细分,前面3个菜单分为一类:Watch查看窗口;后面3个菜单分为一类:Atuo自动窗口。

1.Watch普通查看表达式/变量值窗口
Watch菜单下面有4个子菜单:Watch1 ~4,但都是一样的,可以分别开4个窗口出来同时查看表达式/变量值。
一般这个窗口我们比较常用,添加自己想要查看的变量值。
A.通过手动添加需要查看的表达式/变量;
B.只有暂停调试才会更新对应的值;

2.Live Watch查看实时表达式/变量值窗口
与上面Watch窗口类似,差别在于:
A.变量须为静态(全局);
B.变量实时更新(程序在运行时);

3.Quick Watch快速查看表达式/变量值窗口
快速浏览变量窗口主要结合另外一个视图菜单Macro Quicklaunch一起使用,达到精确地控制变量值。

4.Auto:自动显示表达式/变量窗口
当程序暂停在某一个地方,自动显示暂停坐在位置的表达式/变量,而不需要像Watch要手动添加。

5.Locals:局部变量窗口
这个子菜单和Atuo类似,也是自动显示,区别在于:Locals是显示的局部表达式变量,而静态/全局变量不会显示。

6.Statics:静态变量窗口
该子菜单同样具有Atuo的特性,自动显示。但是,它显示的内容是静态变量(静态局部、静态全局、全局变量)。

5.2 Memory类窗口

这一类窗口主要是显示内存(ROM、 RAM、 Flash、 外设等)地址的值,同时还包含堆栈、反汇编等与内存相关的内容。

1.Memory内存
Memory菜单下面有4个子菜单,包含Memory1~4。都一样,可同时打开4个。
严格来说翻译成内存是不正确的,里面的内容其实不是我们常说的内存。见下图:

2.Register寄存器窗口
这里不用多说,就是内核里面寄存器,如:SP、 PC等寄存器。 注意:我们常说的外设寄存器不在这里,外设寄存器是有地址的,可以在Memory中查看。

3.Disassembly反汇编
反汇编窗口显示了通过C语言汇编出来的具体代码。对分析每一条汇编语言的人有帮助,但相信很小有人仔细研究汇编语言了。

4.Symbolic Memory
这个有点不好翻译,简单来说:内存上面有数据,那么就会标记相应的表达式,及对应的数值,而没有数据的则不标记。

还有,被标记的内容就是Menmory中那些,见下图:

六、Projcet工程菜单

  工程菜单在实际使用中比较常用,而且内容相对较多,部分内容也相对较复杂。本章节只概述子菜单主要内容,该系列教程后面还会有多篇文章专门讲述里面详细内容

  Project菜单下的子菜单内容在编辑模式和调试模式下一样,但呈现的状态有差异(有的在编辑模式下不可用,有的在调试模式下不可用)。

1.Add Files:添加文件
2.Add Group:添加组
3.Import File List:导入文件列表
4.Add Project Connection:添加工程链接
5.Edit Configurations:编辑配置
6.Remove:移除工作空间工程
7.Create New Project:创建新项目
8.Add Existing Project:添加已存在工程
9.Options:目标选项配置 Alt + F7
10.Version Control System:版本控制系统
11.Make:编译工程 F7
12.Compile:编译文件/组 Ctrl + F7
13.Rebuild All:重新编译
14.Clean:清除编译等中间文件
15.Batch Build:构建批处理 F8
16.C-STAT Static Analysis:静态分析
17.Stop Build:停止编译 Ctrl + Break
18.Download and Debug:下载并调试 Ctrl + D
19.Debug without Downloading:调试(不下载)
20.Attach to Running Target:附加运行目标
21.Make & Restart Debugger:编译并重新调试 Ctrl + R
22.Restart Debugger:重新调试 Ctrl + Shift + R
23.Download:下载
24.SFR Setup:SFR设置
25.Open Device Description File:打开设备描述文件
26.Save List of Registers:保存寄存器列表

七、说明

1.上面内容只是概述,相对都比较粗略,更详细的内容,请参看该系列教程后续文章。
2.版权所有,禁止商用
3.该文档由作者「strongerHuang」原创发布,仅供个人学习使用,转载请公众号联系作者授权。
4.若觉得本文对你有帮助,打赏是对博主最好的感谢方式(微信支付,金额随意,心意到就行)!

八、最后

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

  我除了整理该文章相关的内容之外,还在我的个人微信公众号「strongerHuang」分享更多嵌入式相关的精彩内容, 如果不想错过,可以关注我的个人微信公众号。

EWSTM8系列教程04_菜单概述(一)相关推荐

  1. EWSTM8系列教程03_主窗口、工具栏的概述

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  2. EWSTM8系列教程06_工程节点选项配置(一)

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  3. EWSTM8系列教程01_IAR介绍、下载、安装和注册

    推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!https://www.cnblogs.com/captainbed 正文: IAR最新全套 ...

  4. EWSTM8系列教程02_新建基础软件工程

    IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...

  5. CANOpen系列教程07_CANOpen协议概述

    置顶公众号,不错过每一条消息! 本教程由作者strongerHuang于2018年10月原创发布. 标签:CAN. CANOpen. CanFestival 版权所有:禁止商用 申明:该文档仅供个人学 ...

  6. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述调用方法!

    原创PDF |<Android 深入系统完全讲解>免费开源,可能价值百万! 王姨劝我学HarmonyOS鸿蒙2.0系列教程之一环境搭建&&跑起来模拟器! 王姨劝我学Harm ...

  7. Synopsys Sentaurus TCAD系列教程之--Sde概述

    Sde 方便处理rule check相关的问题.同时也能让使用者进一步了解器件结构.掺杂和引线等基本操作.Sde用于搭建结构,重新优化网格,提供.mesh文件供后面Sdevice仿真,主要包含以下几部 ...

  8. IAR for ARM系列教程(三)_菜单(Ⅰ)

    推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!https://www.cnblogs.com/captainbed/p/10422197. ...

  9. keil如何添加h文件_【专栏】Keil系列教程

    置顶/星标公众号,不错过每一条重要消息! 本教程由作者strongerHuang原创发布. 版权所有:禁止商用 申明:该文档仅供个人学习使用,转载请公众号联系作者授权. 该系列教程结合MDK-ARM整 ...

最新文章

  1. 面向初学者的10个热门计算机视觉项目
  2. 黑马程序员--打印流、序列输入流、Vector 类
  3. C程序背后的故事--头文件、库文件的查找
  4. LeetCode 2185. 统计包含给定前缀的字符串
  5. 不顾父母哀求,北大数学天才毕业后坚持出家:理想现实间的挣扎
  6. iBATIS sql中的处理特殊符号的做法
  7. try、catch和finally中都有return语句的情况
  8. 安卓学习笔记38:利用OpenGL ES绘制旋转立方体
  9. 大数据之-Hadoop之HDFS_HDFS存储块的大小设置_设置成多少合理_为什么不能设置太小也不能设置太大---大数据之hadoop工作笔记0051
  10. IntelliJ IDEA-遇见的问题总结
  11. 2007年网络防病毒评测_序
  12. 实验1-6 输出带框文字
  13. 中国维生素原料药行业投资分析与十四五规划动向展望报告2021-2027年版
  14. 在html中向下的箭头怎样写,word换行向下的箭头怎么打
  15. 阴阳师双小小黑通关真八岐大蛇攻略——附式神配置和打法
  16. 技巧/诀窍:用 .NET 3.5 创建 ToJSON() 扩展方法 (木野狐译)
  17. Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks(MAML)简析
  18. 【JAVA】J2ME、J2SE和J2EE的区别
  19. day01_Java语言概述
  20. openxlsx模块

热门文章

  1. Perl的单引号和双引号区别
  2. 03HTML转义字符
  3. Hibernate(JFIS)
  4. 网站SEO,HTTP请求的关键数字----6
  5. rocksdb原理_基于RocksDB实现精准的TTL过期淘汰机制
  6. requests库的使用(一篇就够了)
  7. 融云 web 即时通讯
  8. linux玩游戏咋样,请问用Linux玩游戏的正确姿势?
  9. python批量替换数值_通过python批量修改mxd的数据源
  10. html正则匹配img src,匹配img标签及img 的src的正则表达式