IAR调试S3C6410的笔记(一)

5 篇文章 0 订阅
4 篇文章 0 订阅
    最近公司的项目需要用到S3C6410。经过多方斟酌,最后选定飞凌的核心板(不是广告,只是因为它引出的管教比较多,而且有定位孔。最近飞凌和友善因为Flash问题打的火热,挺有意思~)。
    悲催的是KEIL只支持到arm9,IAR没有现成的工程例程。没办法,只能用飞凌给的RVDS2.2来调试裸机了(什么RVDS?简直和ADS1.2一样)。或许作为研发人员多多少少都有些强迫症吧,看着RVDS的界面十分不爽,于是开始了IAR的折腾之旅。
    其实我对IAR还是很有好感的。简洁的界面、高效的编译、对Jlink的完美支持,这里就不得不说一下keil了,keil4.12已经有去掉jlink的趋势了, 虽然可以在TOOLS.INI添加,可KEIL也太小气了吧~
    啰啰嗦嗦说了那么多,下面进入正题吧。先贴一张IAR链接调试时的流程图一张(摘自EWARM Debugging Guide)


    我个人的理解是Debugger先将CPU初始化到能下载代码的程度,包括时钟配置、初始化SDRAM/FLASH控制器等,然后按照一定的规则、把编译好的代码(包括启动代码、中断向量表、堆栈、函数等)写入SDRAM/FLASH中,把PC指针指向启动代码的首地址,开始执行程序(其实代码在向main函数跳转的时候还会先执行一段编译器代码,这里就不详细说了)。
    IAR是如何控制jlink初始化CPU、jlink是怎么分配地址空间的,这就引出了两个非常重要的文件:mac文件和icf文件。
    其中mac文件就是jlink初始化CPU的配置文件,通过mac的引导,jlink将对CPU的寄存器进行配置。
    icf文件是内存分配文件,在icf里可以配置堆栈段、数据段、程序段的起始地址和大小。 
    至于mac和icf文件的具体用法可以百度解决,最好是能看英文的帮助文档。哎,真后悔当初没有好好学英语。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值