怎么把Codewarrior中的程序移植到IAR中

怎么把Codewarrior中的程序移植到IAR中,第1张

你是想移植吧,不管是keil还是iar的文件,看你是针对那种处理器来编程了,若都是51,keil下的可以直接移植到iar下,但iar必须是for51的,不能是其他处理器,否则可能不一样,其他处理器也是一样的,在移植过程中,有改动的地方要根据iar的编程要。

可以看单片机的晶振,比如是12Mhz,那么运行一次的时间看指令了,有的单周期,有的两个周期,如加法指令就是两个周期,做一次加法就用了两个周期的时间1/120000002(秒),以此类推其他的时间。

1、Project -> Options ->C++ Compiler -> Preprcessor选项卡下 defined symbols加入: VECT_TAB_SRAM ;

2、Project -> Options -> Linker, 修改链接文件为RAM方式,比如修改为 $PROJ_DIR$\stm32f2xx_sramicf;

3、Project -> Options -> Debugger -> download 选项卡,把use falsh loader前面的勾去掉;

4、把板子上的BOOT0和BOOT1跳线到RAM启动方式(全高),网上有人说这个不影响调试,根据在GCC下的经验,这个貌似影响会SP指针,有的启动文件开始没有对SP指针初始化,而是自动从0地址读取,为了保险起见还是跳线到RAM方式。

可以,IAR和KEIL只是编译环境和编译器的区别,只要程序本身没问题,移植没什么大问题。 因为编译器不一样,所以,都某些C语句的理解可能也不一样,例如,没有显式说明的变量在使用时是按有符号数还是无符号数处理,这个可能引起逻辑上的错误。

一般来说,调试arm的时候会生成两个文件:axf和hex,进行arm的仿真的时候,下载的是axf文件,而成品代码的话,下载的就是hex文件了。所以,如果不能仿真,那就有可能是你下载了hex文件而非axf文件的原因。

以上就是关于怎么把Codewarrior中的程序移植到IAR中全部的内容,包括:怎么把Codewarrior中的程序移植到IAR中、各位大侠,请问怎样在IAR中查看一段程序的执行步数、STM32在IAR环境下怎样实现RAM里调试程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10088135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存