Somebody`s bad experience with ARM 2440

    技术2024-04-21  8

    using basic is a hard way. how about java?

    but I want do it that way. belowing is somebody’s bad memory… 

    从弄到2440的开发板也有3个多月了,这中间一直是在业余时间哩哩啦啦的弄着,开始打算好好熟悉一下将2440作为单片机进行开发,本来计划是1个月,就好啦,可没想到居然弄了这么久。这里面的原因总结如下,希望对大家有帮助: 首先说一下我的设备:TQ2440开发板,64MB SDRAM,256MB NANDFLASH,2MB NORFLASH   ,JLINK7调试器,IAR5.20 EWARM开发环境。 本来按照2440的DATA SHEET以及我在前一篇初始中所说的步骤进展还是很顺利的,俗话说万事开头难,在前一篇博客中,本来已经能够运行闪灯程序了,按理来说,也就是开发环境已经搭建完毕了。 可在进行中断的实验过程中,出现了奇怪的问题。发现无论如何也进不了中断,反汇编后的语句居然是LDR PC,[PC,#0 ],怎么都不行,开始以为是程序的问题,就把设置vector的语句按照好几种方式进行编写,结果不行。后来以为是设置icf文件将程序都放在片内SRAM内运行,所以不行,后来查了大量资料,发现其实icf只是告诉IAR在link过程中如何链接程序段,这个过程耗费了大量时间,结果中断还是进不去。 最后想来想去,只能是JLINK的毛病了,可是我在使用过程中对JLINK印象中没有改过什么设置啊。死马当活马医,将JLINK不连接IAR,使用JLINKARM直接向板子内烧录一个bin,结果居然告诉我找不到CORE,当时百思不得其解,又使用JLINK.EXE查看一下,在命令行下一切正常,能够看到2440。开始以为是JLINK硬件有问题,想邮回原厂修一下,后来一想有没有可能是JLINKARM设置的问题那,又看了一下JLINK的使用手册,比对我的设置,JLINK的设置选项比较少,如果不适用FLASH编程那些东西,对单片机开发来说可设置的主要就是关于时钟频率那里了,最后居然发现在JLINKARM中我的JLINK初始时钟设置的是兼容性频率,初始完毕的时钟是自动,把初始时钟改为自动后,一切都恢复了。。。。。。。。。。。,JLINKARM能够烧录进程序了,中断也能够进去了。这个情况好像主要是兼容性频率针对一些比较特别的板子,如LPC系列的,正常设置自动,JLINK会首先进行测试,再与MCU通讯,问题终于找到啦。 总结:对于使用IAR进行中断测试的时候,有很多例程可以参考,但遇到进不去中断的奇怪错误,现在想来,是IAR使用JLINK不正常造成的,可JLINK设置错误的话,为什么程序运行正常,只是中断向量部分不正确那,猜测应该是在设置中断向量时JLINK时钟还不正常,在初始化完成后JLINK才恢复正常。总之,把这个问题贴出来,希望能帮到碰到同样问题的童鞋。JLINK...........

    Reference: http://bbs.21ic.com/icview-191036-1-1.html

    Chatopera博客 聊天机器人 机器学习 智能客服 北京华夏春松科技有限公司,为企业交付智能客服系统、智能对话机器人、机器人客服、Chatbot。https://www.chatopera.com
    最新回复(0)