
可以。
打开软件工程,编译,调试,建议使用BuildTarget编译工程,也可用F7。Translate是编译当前活动文件,RebuildallTargetfiles是重新编译所有目标文件。
软件在线调试和硬件在线调试;由于现在硬件成本比较便宜,一般我们都使用硬件在线调试,也就是软件直接下载到芯片,我们查看运行状态。
在/etc/ldsoconfd文件夹中新建一个文件,比如Qtsoconf,其中加入一行语句,"/opt/Qt//lib",注意要换成你机器上的QT的lib的安装路径,不要加引号,保存退出。在终端中执行"sudo ldconfig"。好了,现在看看你的qtcreator能调试了吗。
Arm tools对license的管理有2种方式,一种叫node-locked, 跟每台电脑的MAC地址绑定的;另一种是floating,安装在服务器上,只需跟Server的MAC地址绑定,client PC可以通过网路IP:端口号访问。
软硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都有自己的除错和控制界面,Keil与Proteus的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面,下面说一下如何在keil中调用proteus进行MCU外围器件的仿真。
(1)、安装keil 与 proteus。
(2)、把安装proteus\ MODELS目录下 VDM51dll文件复制到Keil安装目录的 \C51\BIN目录中。
(3)、修改keil安装目录下 Toolsini文件,在C51字段加入TDRV5=BIN\VDM51DLL ("Proteus VSM Monitor-51 Driver"),保存。
注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。
4、打开proteus,画出相应电路,在proteus的debug菜单中选中use remote debug monitor
5、在keil中编写MCU的程序
6、进入KEIL的project菜单option for target '工程名'。在DEBUG选项中右栏上部的下拉菜单选中 Proteus VSM Monitor-51 Driver。
在进入seting,如果同一台机IP 名为127001,如不是同一台机则填另一台的IP地址。端口号一定为8000
注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真。
7、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示…)
这样就可以像使用仿真器一样调试程序
四、教学实例
一个实际例子:
把"C:\Program Files\Labcenter Electronics\Proteus 6 Professional\SAMPLES"的"8051 LCD Driver”文件夹复制到新建的Proteus文件夹下。
运行keil程序,在"8051 LCD Driver"文件夹下建立一个新的名为8051 LCD Driver工程。单片机的型号选择AT89C52就可以,把LCDDEMO 文件加到"Source Group 1"组里。点击工具栏的"option for target"按钮,在出现的对话框里点击"Debug",在右栏上部的下拉菜单里选中" Proteus VSM Monitor-51 Driver",还要点击一下Use前面的小圆点。再点击"Setting"设置通信接口,在Host后面添上"127001",如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus)。 在Port后面添上"8000"。点击"OK"按钮即可。最后把工程编译一下。
在Proteus里打开设计好的电路。在Keil建立项目并编译程序,编译通过后,按Ctrl+F5或者点击Keil的调试按钮,进入模拟调试环境,此时Proteus的模拟调试工具条的运行按钮由黑色变为绿色了。按F5或者点击工具栏的按钮,全速运行,这个时候Proteus的开始运行,你会发现在模拟调试工具条的右边有程序运行的时间提示。在两个软件结合调试的时候,把Keil的界面调的小一点,让它在Proteus界面的上面,露出Proteus界面的LCD,这样我们在Keil里调试,马上在Proteus就看到结果了。笔者调试的情形如图2所示。
对于调试arm也是一样的,仿照上面的做。
这得看你用的哪家芯片,ARM7只是一个内核名称,用其做内核的单片机有很多。开发ARM单片机(你说的软件编程,其实到ARM芯片这里不那么简单了)用KEIL的比较多,并且很多芯片在这个环境下可以直接下载程序到单片机。
一般安装了一个软件,会包括编译环境,编码器,优化器等,现在都集成了很多,ARM支持C,汇编,高级的还有vc比如我用的ads120就有那么多。
至于下程序到arm上,需要安装一个软件,我用的是HJTAG,因为我用JTAG仿真,所以我一共安装了2个软件。
但如果跑系统,你还得有头文件,这个与你arm用的 *** 作系统有关,是代码。
步骤肯定会有,1是你不会机器码,在arm上就是机器码,所以一定会有编译器,但这些是集成的,下载软件是烧程序的,这个和下载器配套。其他的是编写程序相关的,初学者可以不跑系统,直接当单片机用,我至今只玩过ucos,没玩linux
希望我的回答给你启发。
首先说说什么是Flash调试和RAM调试,Flash调试就是通常意义下的普通调试,即将编译链接之后的code下载到单片机的ROM区,数据放到RAM区,然后进行调试;而RAM调试则是将数据放到RAM区的同时再从RAM区中额外开辟出一段空间存放可执行code,这样就是code和数据同时运行在RAM区里面。
至于为什么要刻意区分出这两种调试方式,其实在低端MCU领域是没有RAM调试这个概念的,其中很大一部分原因是它没有足够大的RAM空间在存放编译后code代码的同时仍然可以拿出额外的空间作为数据RAM的,而在高端MCU领域中,比如ARM,动辄几十KB的RAM是很常见的,在不运行超大工程的情况下是完全可以拿出一部分空间运行代码的,所以也就出现了RAM调试这种方法了。
相比于Flash调试,RAM调试则与生俱来的带来两个最大的先天优势,一个是RAM的可擦写的次数理论上是无限的,在调试代码的期间我们往往是需要不断下载更新的,而Flash的擦写次数是有限的(一般几万次、几十万次不等,虽然看起来足够多,但是也心疼的慌),因此在调试期间我们可以选择RAM调试;另一个方面,则更是RAM调试的强项(Flash真够悲催的),在RAM区的代码执行速率和效率远高于需要不断地读写Flash区代码的,这点毋庸置疑,所以在当今智能手机比拼硬件的时代,我们选择一款强大的CPU是应该的,但是要想让系统运行的更流畅,足够大的机载RAM是必须的,呵呵。当然RAM调试的缺点是掉电丢失,在RAM区运行的代码在掉电的情况下是不会被保存的,下次上电单片机仍然会执行Flash区内部的老的代码,这点是需要注意的,很多人忘记考虑这点,在RAM调试功能完毕,等拿到现场单片机独立运行的时候却发现程序是不对的
以上就是关于MDK 可以 调试 arm cortex A系列全部的内容,包括:MDK 可以 调试 arm cortex A系列、Qt Creator 不能调试arm-linux下位机程序,求指教!、Arm 调试配套工具是绑定的么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)