ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:206.85KB ,
资源ID:7529452      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7529452.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(IAR EWARM软件软件配置.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

IAR EWARM软件软件配置.docx

1、IAR EWARM软件软件配置IAR EWARM软件软件配置编译链接1.问:同一Workspace下的多个Project之间有无关系? 答:没有。在同一Workspace下可以放置多个Project,但每个Project都是独立被Build的,在编译链接的时候没有相互影响。2.问:如何生成其它格式的输出文件? 答:IAR EW的链接器(IXLINK)缺省情况下输出的文件格式是ELF/DWARF,这种格式与其他的支持ELF/DWARF的开发工具兼容。如果同时还想得到其它格式的输出文件(Motorola, Intel extended,binary, simple),可以通过Output Conv

2、erter进行设置:3.问:如何生成Linker List文件?答:Option-Category-Linker下,选中Generate Linker map file选项。4.问:如何处理多字节字符? 答:在配置窗口中Option-Category-C/C+ Compiler下,选中“Enable multibyte support”,允许目标程序使用与主机相一致的多字节编码:5.问:如何在编译生成的目标文件中包含调试信息? 答:如果在调试时只能看见反汇编代码,而看不到C/C+或汇编源代码,可能是因为在编译时未包含调试信息。6.问:如何添加头文件的搜索路径? 答:$PROJ_DIR$ 工程文

3、件所在的目录,$TOOLKIT_DIR$ IAR EW软件安装到的目录。7.问:如何平衡速度优化和尺寸优化? 答:使用编译器优化选项可以设置整个项目的优化级别(例如:minimal code)。也可以为不同的文件或者文件组设置优化级别(例如:对time-critical的代码设置优化级别为maximum speed)。使用“#pragma optimize”指令可以为特定的函数设置优化级别。请参考EWARM_DevelopmentGuide.pdf。8.问:如何定义inline函数? 答:inline函数传统上只有C+支持,但IAR EW也支持在C代码中使用inline。#pragma inl

4、ine 建议编译器对紧随其后的函数进行inline处理#pragma inline=forced 强制编译器对紧随其后的函数进行inline处理。9.问:如何使一部份代码在RAM中运行? 答:对于绝大多数单片机,包括单片ARM,由于片内RAM容量有限,一般不足以运行整个程序,因此缺省情况下EW把代码段放在Flash中,并自动复制数据段到RAM。鉴于某些代码必须在RAM中运行(例如烧写Flash的例程),因此EW提供了关键字_ramfunc。使用关键字_ramfunc定义的函数,将存放在Flash中,但在系统启动阶段被自动复制到RAM中运行:_ramfunc void WriteToFlash

5、(void).该复制过程是系统Run-Time Library的一部份。调试仿真下载1.问:Flash中没有代码时,如何初始化RAM?答:如果Flash中已经有代码,则在上电的瞬间,这些代码可以完成必要的硬件初始化(PLL/Clock/Memory Controller/), 然后C-SPY通过JTAG接口将程序(应用程序或Flash Loader)下载到RAM。如果Flash中没有任何代码,则上电之后所有硬件寄存器都保持Reset之后的缺省值。对于某些板子,有可能在这种情况下RAM无法正常访问,因此也就下载不了任何程序。EWARM通过宏文件(macro file)解决这个问题。a.创建扩展名

6、为*.mac的文本文件;b.在该文件中定义宏函数execUserPreload(针对应用程序)或execUserFlashInit(针对Flash Loader);c.在上述宏函数中,调用系统宏_readMemory32和_writeMemory32,进行所有必要的寄存器初始化;例:execUserPreload ()_reg_value = _readMemory32 (0xFFFFFC00, “Memory”);_reg_value = _reg_value + 0x100;_writeMemory32 (_reg_value, 0xFFFFFC00, Memory);d.在配置工程时指定

7、该宏文件的路径:C-SPY在下载程序之前,将调用宏函数execUserPreload或execUserFlashInit进行硬件初始化,从而保证在下载程序时系统运行在正常的时钟频率下,且RAM可以正确读写。请参考IAR Embedded Workbench User Guide。2.问:如何在Flash中调试代码?答:选择正确的ARM处理器型号(以便EWARM可以自动选择缺省的Flash Loader。若使用自行开发的Flash Loader,可略去此步骤);在Linker Command File中,把代码段和数据段的地址指向Flash空间;在Debugger-Download页面中,使用缺

8、省的flash loader(s);启动C-SPY,代码将被自动下载到Flash中,并可以开始调试。若使用自行开发的Flash Loader,可在Edit对话框中指定其路径和参数:3. 问:如何在RAM中调试代码?答:在Linker Command File中,把所有段的地址都指向RAM空间;在Debugger?Download页面中,不能选Use flash loader(s)。4.问:如何开发自己的Flash Loader?答:Flash Loader是EWARM提供的一种机制,能够在C-SPY启动的时候自动将代码下载到Flash。目前EWARM自带的Flash Loader以支持各款AR

9、M处理器内置的Flash为主。对于外部Flash,因为情况过于灵活,所以没有直接支持。用户可以通过自行定制一个Flash Loader来烧写外部Flash。Flash Loader本质上是一段可以独立运行的代码,它由C-SPY装载到RAM并启动运行,通过JTAG接口读入要下载的程序,并将其烧写到Flash中。Flash Loader本身也是用普通的EWARM Project来开发的。Flash Loader大致可分为两部份,一是与Flash类型无关的Flash Loader Framework,二是与Flash类型有关的Flash Loader Drivers。用户在定制时只需修改第二部份。F

10、lash Loader Framework的源代码:IAR SystemsEmbedded Workbench 5.0armsrcflashloaderframeworkFlash Loader Drivers的源代码,可以任选一个现有的例子作为模版:IAR SystemsEmbedded Workbench 5.0armsrcflashloader.参考文档:IAR SystemsEmbedded Workbench 5.0armdocFlashLoaderGuide.pdf5.问:C-SPY如何下载代码?答:缺省情况下,C-SPY会自动把代码下载到RAM;选择Use flash loade

11、r(s),并添加缺省的flash loader(根据处理器型号),代码被自动下载到Flash;如果想调试此前Flash中已有的代码,请选择Suppress download(以免C-SPY试图把代码下载到RAM),此时C-SPY将只装入调试信息,不下载代码。无论选择何种下载模式,都必须与Linker Command File中所指定的各段地址相吻合。6.问:ROM/Flash调试时的断点设置?答:在ROM/Flash里调试代码时只能使用两个硬件断点;这是ARM处理器中硬件调试资源(EmbeddedICE-RT)的限制。因此,必须时刻注意断点的占用量。另外,以下操作本身可能也会消耗一个硬件断点:

12、a. 在Debugger-Setup选项里,Run tob. 在Debugger-Plugins选项里,Stackc. 在Linker-Output选项里,With runtime control modules一般来说,在ROM/Flash里调试代码时,不要在未启动C-SPY之前就设置断点;调试结束后应当先清除所有断点再退出C-SPY,以免下次启动C-SPY时报错:“没有足够可用的断点”。汇编和C/C+相关1.问:如何使用intrinsic函数?答:需要包含系统头文件:#include 已定义的本征函数:EWARM_DevelopmentGuide.pdf: Part 2. Reference information-Intrinsic functionsIntrinsic function与Inline assembler相比有何好处:a.方便,象调用普通C函数一样使用常见的汇编指令b. 不会影响编译器优化操作

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1