ngyg12 发表于 2011-2-27 09:56:14

IAR 用 RDI 模式调试 S3C2440 问题。

最先的时候用 RDI 下载程序后,不能调试程序,直接红色手掌。后来将 RDI 的 FLASH 选项卡的内容勾上后,能调试程序了,功能也能实现,但是一直提示堆栈满了,而且在 RDI 模式下配置的 .mac 文件根本不起作用,本来配置为 400MHZ 的时钟,依然为 12MHZ,并且在下载时会提示警告,退出调试也会出现错误! 下面把我的设置选项贴上来哈,望大虾们给指点一下:

    http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618671COY5GT.png
(原文件名:1.png)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618672QNYFVK.jpg
向量表配置 (原文件名:2.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618673OMR5HO.jpg
在 SDRAM 里面调试 (原文件名:3.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618674PJGUFX.jpg
使用 RDI 模式 (原文件名:4.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618675RO197U.jpg
(原文件名:5.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618676PN9EUP.jpg
加载 .amc 文件 (原文件名:6.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618677XN1IBV.jpg
(原文件名:7.jpg)
http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618680IKLBXE.jpg
下载程序时提示.amc文件内有错误 (原文件名:8.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618679BQEKJ3.jpg
调试的时候,警告堆栈 (原文件名:9.jpg)

http://cache.amobbs.com/bbs_upload782111/files_36/ourdev_618683IHOZU8.jpg
堆栈大小使用的是默认设置 (原文件名:10.jpg)



以下是 .mac 文件的内容

execUserFlashInit()
{
    __writeMemory32(0x00000000, 0x53000000, "Memory");
    __writeMemory32(0xffffffff, 0x4a000008, "Memory");
    __writeMemory32(0x000007ff, 0x4a00001c, "Memory");
    __writeMemory32(0x00000005, 0x4C000014, "Memory");
    __writeMemory32(0x00FFFFFF, 0x4C000000, "Memory");
    __writeMemory32(0x0005C011, 0x4C000004, "Memory");
    __writeMemory32(0x00038022, 0x4C000008, "Memory");
    __writeMemory32(0x22011110, 0x48000000, "Memory");
    __writeMemory32(0x00000700, 0x48000004, "Memory");
    __writeMemory32(0x00000700, 0x48000008, "Memory");   
    __writeMemory32(0x00000700, 0x4800000C, "Memory");
    __writeMemory32(0x00000700, 0x48000010, "Memory");
    __writeMemory32(0x00000700, 0x48000014, "Memory");
    __writeMemory32(0x00000700, 0x48000018, "Memory");
    __writeMemory32(0x00018005, 0x4800001C, "Memory");
    __writeMemory32(0x00018005, 0x48000020, "Memory");   
    __writeMemory32(0x008C04F4, 0x48000024, "Memory");
    __writeMemory32(0x000000B1, 0x48000028, "Memory");
    __writeMemory32(0x00000030, 0x4800002C, "Memory");
    __writeMemory32(0x00000030, 0x48000030, "Memory");

}

ngyg12 发表于 2011-2-27 10:01:33

自己先顶一下! 望大虾指教

flyword 发表于 2011-2-27 10:02:18

http://blog.csdn.net/xingzhang7836/archive/2010/04/17/5497943.aspx

flyword 发表于 2011-2-27 10:13:50

应该是在sdram里面进行调试的!因此我觉得flash programing 不应该选择,另外看看你的初始化文件,在初始化文件里 比如startup里面应该也要把sdram初始化一下的!

ngyg12 发表于 2011-2-27 10:38:13

回复【3楼】flyword
-----------------------------------------------------------------------

谢谢关注,我用的 GT2440 开发板,里面好像自己有bootloader,不知道这个 bootloader 有没有影响啊!还有,我这样设置,不管是在 norflash 还是 nandflash 都行吧?

flyword 发表于 2011-2-27 19:15:00

回复【4楼】ngyg12
-----------------------------------------------------------------------

那你就得仔细研究研究你的bootloader了,因为IAR 没有编程nandflash的功能,我仿真都是在sdram里仿真的。用的是2410!

xuehui869 发表于 2011-10-26 09:51:31

2440的裸机程序例子少啊

dawncui 发表于 2012-1-30 11:18:23

可不可以把工程发上来啊
页: [1]
查看完整版本: IAR 用 RDI 模式调试 S3C2440 问题。