欢迎来到天天文库
浏览记录
ID:38657046
大小:2.18 MB
页数:10页
时间:2019-06-17
《分享:KEIL中配置J-Link在RAM中调试的方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Moses娄'的STM32学习笔记(一):STM32在KeilMDK环境下RAM上代码调试的配置心得~自从51后就没碰过了Keil了~从昨天下午又开始再次使用KeilMDK~不过这次是forARM的~前几天的STM32W108调试统统是在IAR上进行的~刚在STM32F103ZE-EK上进行了一个例程的调试~就发现原来更有方法在RAM中进行代码调试的配置~以前在IAR中知道有个iar-cfg.icf文件是关于存储分配的~貌似也可以如此~不过没实际操作过不敢下结论~索性就在Keil下来了个尝试~比较坎坷~也学到不少东西~废话少说,进入正题~(Keil4下的画面~这个配置的
2、方法跟是3一样~)步骤与图示:1.先给个CPU的数据,需要注意的是三个红圈的地方,架构,型号,Flash和SRAM大小~如图1图12.Target的设置1)勾上可以用微库,减小生成代码的大小2,3)分别定义ROM区位置及大小和RAM区位置和大小。在这里需要说明的是,Cortex-M3的架构有4G的寻址空间,而Flash的起始地址在0x08000000,RAM地址在0x20000000,在这里进行了第一次相关地址的更改~如图20x1000为4K~这里的0xc000则为48K的ROM分配~RAM的为16K~基本上移植个uCOS-II都够用了~图23.Output的设置强调一
3、下NameofExecutable吧~这里默认的应该是project的名字,我习惯改成output~而且这与编译后产生的*.axf和*.sct文件名字都有关联~没勾选HEX~感觉选了也没用~写到SRAM中的是。。。见图3图34.ListingLabel~没啥说的~不上图了~默认~5.UserLabel~更没啥说的~同上~6.C/C++Label~貌似都没啥说的我后面就不用写了~再同上。。。。~7.真想罢手了~无语的AsmLabel~8.好啦~来活了~LinkerLabel最上边打上勾~是这效果~不打勾~就反白了~然后呢~呵呵~慢慢说来~先说说打勾的时候,如图4~非人为操
4、作~你什么都不用管了~(很多人会发现~新建的项目~刚开始的时候下面的ScatterFile后的内容是空的~当你把这勾去掉后会自动出现~然后随你勾与不勾~就都是存在的了~不过此时还只是个影子~没有实际的文件~什么时候出现这个文件呢~法一:自然你可以自己写~呵呵~法二:在出现影子后打上勾编译一次,此文件就产生了~在output的文件夹里~马上后文还会有对此文件内容的介绍~)图4再说说不打勾的时候会反白一些内容~如图5,需要修改两个地方~图5再来看看~output.sct文件内容~如图6~6行内容是ROM的地址和大小~11行事RAM的地址和大小~很是一目了然吧~内容根据Tar
5、get自动生成的~不需要手动修改~图69.Debug的配置分成几部分,原界面和Setting界面1)原界面,如图7~首先选好J-link~这里由于使用的是keil4~和keil3的选项会有不同~在keil3下~选择“Cortex-M3J-Link”,取消LoadApplicationatStartup的勾选~图7再说说这个CouRAM.ini文件~内容如下~如图8~有注释~首先LOADoutput.axf~加载启动代码到RAM~关关于hex,bin文件和axf的关系~是在axf中存有Debug需要的一些调试语句~所以这文件与前2者内容上是不相同的~前两者属于其子集的关系
6、~(这里的output.axf名字对应了我们上边设定的output的文件名设定~此文件在output中设定的文件夹下生成~跟output.sct在一起~)从文件内容可以看到~中断向量表已经被映射到0x20000000,PC也指向了0x20000004~说明在RAM中进行调试时理论上可以的了~图82)进入setting如图9~首先要选对interface~有时候莫名其妙的会在keil死机后(我调程序总是把Keil弄挂了~真不是为何~难道说他是Keil~而我是Killer么~哈哈)~一定要注意~不然容易出现J-Link连接失败的效果~图93)Tracelabel不用调整~默
7、认就可以~如果需要使用~记得算好了选用的时钟CoreClock~这里是指PLL后的~4)然后进入了FlashDownloadlabel,如图10~Flash的擦写有规矩~需要在有内容的情况下擦出一个扇区后方可写入,而此时的RAM自然不必要这样做~然后RAMforAlgorithm需要改下~接着需要点击add添加Flash编程算法(我还不会写这算法,不过大概看了下,就是麻烦点的一堆调用和设置)~接着进入了选择界面~如图11图10在这里选择好属于自己的芯片Flash大小~我的这个挺大的~512K呢~呵呵~add后还需要再更改最后一行红线上的内
此文档下载收益归作者所有