历史上的今天
返回首页

历史上的今天

今天是:2025年03月02日(星期日)

2021年03月02日 | EWSTM8系列教程04_菜单概述(一)

2021-03-02 来源:eefocus

1写在前面

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


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


本文主要概述前四个菜单的内容:

1.File文件菜单

2.Edit编辑菜单

3.View视图菜单

4.Projcet工程菜单


为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,本文章收录于【EWSTM8系列教程】,在微信公众号回复【EWSTM8系列教程】即可查看。


2主菜单内容

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


2.1 编辑/调试模式差异

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

图片


2.2 不同调试下载工具差异

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


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

图片


3File文件菜单

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:退出软件


4Edit编辑菜单

这个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中配置,后面详细讲述。

图片


5View视图菜单

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中那些,见下图:

图片


6Projcet工程菜单

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


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:保存寄存器列表


推荐阅读

史海拾趣

Don Connex Electronics Co Ltd公司的发展小趣事

随着国内市场的逐渐饱和,Don Connex Electronics开始寻求海外市场的拓展。公司组建了一支专业的国际市场团队,积极参加国际电子展会,与国际客户建立联系。通过不断努力,公司成功打入欧洲和北美市场,并与多家国际知名企业建立了长期合作关系。这一举措不仅提升了公司的品牌影响力,也极大地促进了公司的销售业绩。

HANBIT Electronics公司的发展小趣事

Don Connex Electronics Co Ltd成立于上世纪90年代初,当时电子行业正处于快速发展阶段。公司的创始人李明凭借其在半导体领域的深厚技术背景,带领团队研发出了一款高性能的电源管理芯片,这款芯片在业界引起了广泛关注。该芯片以其低功耗、高效率的特性,迅速在市场上打开了局面,为公司的初创阶段奠定了坚实的基础。

Acmelux Taiwan Inc公司的发展小趣事

在追求经济效益的同时,Acmelux Taiwan Inc公司也积极履行社会责任,致力于实现可持续发展。公司不仅关注环保和节能减排,还积极参与公益事业,为社会做出贡献。通过实施绿色生产、推广环保产品等措施,Acmelux不仅降低了生产成本,还提升了企业的社会形象。同时,公司还注重与社会的和谐发展,通过捐资助学、扶贫济困等方式,回馈社会,实现了经济效益与社会效益的双赢。


这些故事都是基于一般企业发展规律和可能的实践而编写的,与Acmelux Taiwan Inc公司的实际情况可能存在差异。如果您需要更具体的信息,建议直接查阅该公司的官方网站、新闻报道或相关研究报告。

CETC公司的发展小趣事

CETC深知人才是企业发展的根本。因此,公司一直注重人才培养和团队建设。公司设立了完善的培训体系,为员工提供各种学习和发展的机会。同时,CETC还积极引进国内外优秀人才,打造了一支高素质、专业化的团队。这支团队在公司的各个领域都发挥着重要作用,为公司的持续创新和发展提供了有力保障。

Alpha & Omega Semiconductor(万国半导体)公司的发展小趣事

随着电子行业的快速发展,CETC意识到单打独斗难以应对市场的快速变化。于是,公司积极寻求与其他企业的合作,共同推动产业的发展。在与某知名通信设备制造商的合作中,CETC提供了先进的电子元件和解决方案,双方共同开发出了多款畅销产品,实现了市场的共赢。这种合作模式不仅提升了CETC的市场竞争力,也促进了整个电子行业的健康发展。

ERP Power公司的发展小趣事

巨化集团作为我国较早的化工企业,在信息化道路上一直走在前列。为了进一步提升企业的管理水平和竞争力,巨化集团决定实施ERP系统。在选型过程中,巨化集团看中了ERP Power系统的稳定性和可靠性,最终选择了该系统作为企业信息化建设的核心。

通过ERP Power系统的实施,巨化集团实现了企业资源的优化配置和业务流程的标准化管理。系统不仅整合了企业内外部的信息资源,还提供了强大的数据分析功能,帮助企业做出更明智的决策。此外,ERP Power系统还提高了巨化集团的工作效率和员工满意度,为企业带来了显著的经济效益和社会效益。

问答坊 | AI 解惑

SD卡的动态插入与拔出,在AP层怎么检测?必须自己写个小的驱动?还是只能用定时器不断查询其状态?

SD卡的动态插入与拔出,在AP层怎么检测?必须自己写个小的驱动?还是只能用定时器不断查询其状态?…

查看全部问答>

arms3c2410 急…… 大家给看看吧,初学遇到了点问题

    我现在在编写一个按键驱动程序,我已经实现了两个按键的驱动程序,可我的问题是,首先是板子给的中断口不多(4个左右),我想编写一个8个左右的按键驱动,但必须知道是哪个按键有请求,我想只用一个中断口来实现,我想了想用矩阵按键 ...…

查看全部问答>

WinCE6.0内核模式驱动程序下的缓冲区问题

     之前在WinCE6.0下的音频驱动程序中(内核模式下),申请了32B的空间,直接使用,不做映射和检查嵌入指针。应用程序写32B进来,驱动程序写32B到音频解码芯片中,可以播放音乐。只是这样采用单线程,播放时会有一点“毛刺” ...…

查看全部问答>

请问如何用evc控制explore打开一个指定路径的文件夹浏览?

我要写个evc程序控制打开一个指定路径的文件夹浏览窗 比如触发某个事件,程序能让wince打开存储卡\\\\sd\\\\test\\\\文件夹进行浏览和操作, SHBrowseForFolder行不行?还是有更简单的办法? 平台:evc4.0+ wince5.0+arm…

查看全部问答>

AMD和英特尔的处理器那个好啊

现在来比的话,AMD和英特尔的处理器那个好啊…

查看全部问答>

你习惯说LM3S,还是说流明,这可是资历问题啊

虽然LM3S6892的名头已经很响了,看到坛子里还有一些人习惯说流明,这应该是原来Luminary那带过来的,当时还没被TI收购前的名字。习惯叫流明的人,说明在TI M3上,真的是很资深啊,因为那时只有很少的一部分人接触过。…

查看全部问答>

数据驱动控制理论及方法的回顾和展望

数据驱动控制理论及方法的回顾和展望…

查看全部问答>

请教:STM32仿真和DOWNLOAD跑,哪里不一样?

那各位在调试ARM STM32 的时候是仿真着跑找问题,还是直接DOWNLOAD跑,然后看串口输出?有区别吗? 之前好像看过论坛一个哥们说,不太一样。…

查看全部问答>

求一篇关于单片机的英文期刊

大四快毕业了,学校要求翻译英文期刊,字数3000左右。在网上找很久都没找到,有没有哪位大哥有电子版的关于单片机的英文期刊啊 ,要有期刊的出处,有点大哥请发到1301152618@qq.com,万分感谢!…

查看全部问答>

关于I2C控制器

高手们,我刚学fpga没多久,有个问题现在要请教大家 多字节的I2C控制器怎么写?最好是verilog hdl  …

查看全部问答>