IAR Embedded Workbench for ARM 8.22.1 基础使用教程
面向尚未熟悉且初次使用该软件的新手(比如我。。。)
1、建立新工作区
File-->>New Workspace
2、建立新项目
1) Project-->>Create New Project...
2) 选择如下模板:
3) 选择项目保存目录及创建项目文件名
3、编写汇编代码
书写代码的时候要注意按照以下格式,注意main和B main的位置
----------------------------------接下来的4步骤可以跳过;----------------------------------------------
4、编译与Make
1) 编译
如图两个地方都可以选择编译,或者快捷键Ctrl+F7:
一般会提示保存工作区文件:
编译信息:
2) Make
如图两个地方都可以选择Make,或者快捷键F7:
Make信息:
---------------------------------------------------------------------------------------------------------------------------------------------
5、调试Debug
1) 进入调试状态
如图两个地方都可以选择调试,或者快捷键Ctrl+D:
调试界面如下:
2) 调出View视图
为了更方便体现程序运行过程中各个寄存器的值的变化等,需要调出寄存器视图:
如图选择View-->>Registers-->>Registers 1
(也可以把内存的情况也显示出来View-->>Memory-->>Memory 1)
(View中也有栈和Symbol存储等的视图,如果有需要也可以自行调出)
根据自己的习惯,将窗口放到合适的位置
新的调试界面如下(点击可查看高清图):
3) 仿真,进行调试
常用的调试操作是F10 Step Over逐过程、F11 Step Into逐条 执行程序指令;F5 Go直接把程序执行到最后;
在工具栏上也有调试可以直接使用:
此程序的调试过程与结果如下:
0、
1、
2、
3、
再次执行将调至main处循环执行
以看到将寄存器R0和R1的值相加存入R2当中。
4) 结束调试
6、其他
1) 如果在调试期间修改程序,修改完成后点击重新生成仿真
2) 在该行指令的最前面点击可以设置断点,或按F9,供调试过程中使用
3) 项目设置
Core的设置用的默认的Cortex-A5,选用ARM的也没有影响
Debugger 的Driver一定要选择Simulator模拟
IAR Embedded Workbench for ARM 8.22.1 基础使用教程的更多相关文章
- 【转】IAR Embedded Workbench for ARM 8.22.1 基础使用教程
@2018-12-15 [小记] IAR Embedded Workbench for ARM 8.22.1 基础使用教程
- IAR Embedded Workbench for ARM 6.50.6 & 6.60.1 破解补丁
IAR EWARM 6.50.6 & 6.60.1 破解 破解原理和方法见:http://blog.csdn.net/chivalrys/article/details/8564568 IAR ...
- IAR Embedded Workbench 破解方法+工具+授权文件
转自IAR Embedded Workbench 破解方法+工具+授权文件 本文重点阐述了如何手动爆破 IAR EWARM 6.x以及生成License,目的一是和大家分享下,二是自己记录下过程,以便 ...
- IAR Embedded Workbench IDE 显示行号
第一次使用IAR Embedded Workbench IDE,默认设置是不现实代码行号的.显示代码行号方法如下:首先选择“Tools”菜单项,打开“IDE Option”对话框,然后在树状图中选择“ ...
- ARM Cortex-M嵌入式C基础编程(下)
ARM Cortex-M嵌入式C基础编程(下) ARM Cortex-M Embedded C Fundamentals/Tutorial -Aviral Mittal Load Region Vs ...
- ARM Cortex-M嵌入式C基础编程(上)
ARM Cortex-M嵌入式C基础编程(上) ARM Cortex-M Embedded C Fundamentals/Tutorial -Aviral Mittal 此技术是关于从编写简单的嵌入式 ...
- IAR FOR ARM 各版…
用过Keil和IAR,个人感觉是IAR还是很不错的.下载地址是: http://files.iar.com/ftp/pub/box/CD-EWARM-6301-3142.zip V6.30.1(该地址 ...
- 2019.3.22 JMeter基础操作
1.添加线程组:testplan—添加—线程(用户)Threads(Users) 线程属性值:线程数(虚拟用户数).Rump-up(准备时长:设置所有线程全部启动时间).循环次数(每个线程重复发送请求 ...
- 2017/05/22 java 基础 随笔
多态:一种事物多种形态 前提:1.子父类继承关系 2.方法复写.重写 3.父类引用指向子类对象 成员变量: package com.huawei; public class Demo1 { publi ...
随机推荐
- IOS开发中发布的时候取消日志打印
在PCH文件中定义如下宏 #if DEBUG #define NSLog(...) NSLog(__VA_ARGS__) #define debugMethod() NSLog(@"%s&q ...
- CSS3_3D 变换
3D 变换 1. 在 2D 父元素中,绕轴旋转,效果需要想象 #ele_3d { width: transform: rotateX(2deg); } rotateX 为正,元素左上角往里跑...对象 ...
- vue_事件绑定 v-on _事件修饰符
事件绑定 v-on 传参的同时,接收事件对象 <button @click="test('111', $evnt)">哈哈</button> 事件修饰符 阻 ...
- 2018-2019-1 20189210 《LInux内核原理与分析》第五周作业
一.系统调用实验 1.库函数将系统调用封装起来,大多数程序员使用库函数进行系统调用. 2.Linux操作系统的体系架构分为用户态和内核态.CPU的执行级别对应的就是内核态,所有指令都可以执行.用户态对 ...
- javaweb中的文件上传的一般写法(初次接触时写)
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1. 通过form表单向后端发送请求 <form id=&quo ...
- php基础--来自网页转载
注意:1.网页文件放在wamp中的www文件下:2.www文件下不能出现中文:网页浏览的方法:1.没有建立站点:localhost/文件所在位置2.建立站点:(1)站点-新建站点-打开对话框 (2)修 ...
- python语法_字典_字典操作
字典:使用映射关系来存储数据的 数据类型 dict = {''name“:"gm","age":"34"} 采用键值对来存储数据 key_v ...
- Server response error code:404, error:{"ret":-1, "msg":"invalid appkey"}
Server response error code:404, error:{"ret":-1, "msg":"invalid appkey" ...
- 如何用anysend发wirshark的报文
可以复制 抓包的的报文的 hex txt文档 粘贴到 anysend 继续发送
- Django ORM存储datetime 时间误差8小时问题
今天使用django ORM 将获取到的时间入库,并未出现问题,但是后来发现时间晚了8小时,经查询Django官方文档发现获取本地时间和UTC时间有差别. 首先科普下:UTC是协调世界时 UTC相当于 ...