logo资料库

s3c44b0+JLINK+KEIL在SDRAM中调试程序.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
说明: S3C44B0 Flash RAM 型号:SST39VF160 大小:1M×16bit 起始地址:0x0 编程算法:SST39X160X Flash 1. 【环境】 MDK 3.40 及以上版本,ULINK2 仿真器,S3C44B0 开发板。 型号:HY57V65160B 大小:4M×16bit 起始地址:0x0C000000 RAM——分散加载文件 A. 首先设置 Linker 对话框,选择分散加载文件,如图 1. 图 1 在图 1 中点击 Edit,即可看到分散加载文件的内容: ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; *************************************************************
; Run in RAM LR_ROM1 0x0C000000 { ; load region ER_ROM1 0x0C000000 0x050000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_RAM1 0x0C050000 0x020000 { ; RW data .ANY (+RW +ZI) } } 上面是一个最基础的分散加载文件,指定程序在RAM 中调试。0x0C000000 是 RAM 的起始地址,在本文的说明部分已经指出了。 您可以根据自己的实际情况编写分散加载文件 参考: http://www.embedinfo.com/FAQ/FAQanswer.asp?id=262 B. 然后设置 Debug 对话框,如下图,图 2。 在上图中点击 Edit 可以看到 DebugInRam.ini 的内容。 //*** <<< Use Configuration !disalbe! Wizard in Context Menu >>> *** FUNC void Setup (void)
{ _WWORD (0x1c00000, 0x00000008); _WWORD (0x01C80000, 0x11119102); _WWORD (0x01C80004, 0x00000600); _WWORD (0x01C80008, 0x00007FFC); _WWORD (0x01C8000C, 0x00007FFC); _WWORD (0x01C80010, 0x00007FFC); _WWORD (0x01C80014, 0x00007FFC); _WWORD (0x01C80018, 0x00007FFC); _WWORD (0x01C8001C, 0x00018000); _WWORD (0x01C80020, 0x00018000); _WWORD (0x01C80024, 0x00860459); _WWORD (0x01C80028, 0x00000010); _WWORD (0x01C8002C, 0x00000020); _WWORD (0x01C80030, 0x00000020); // Program Entry Point pc = 0x0C000000; } LOAD ./Run_In_Ram/LED_Test.axf INCREMENTAL Setup(); // Setup for Running go main 红色:初始化外部 SDRAM 以便 SDRAM 能够访问,如果您的 RAM 是内部 就不用初始化了。 绿色:因为程序是下载到 0x0c000000,而 PC 默认为 0.因此必须制定 PC 以是其能找到正确的程序。 蓝色:加载生成的.axf 文件。等同于选中图 2 中的 Load application at Startup 紫色: 指定程序运行到 main。等同于选中图 2 中的 Run to main C. 设置好 A,B 两项,程序就能在 RAM 中正确运行和调试了。注意 Utilities 里面不 要选中 Update…,如图 3.
RAM—— 配置 target 对话框 图 3 前面我们利用分散加载文件实现了程序在 RAM 中的运行调试,下面我们介绍另外一种方法, 直接在 MDK 中配置选项框。 1) 配置 target,如图 4. 图 4
我们在看看分散加载文件,对比一下您就能发现其实这两种方法本质一样。 2) 看到这里大家是不是有个疑问,如何选择使用分散加载文件还是直接用 MDK 进行配置 呢?请看图 5. 图 5 注意一下红色标记。不勾上它就是选用分散加载文件了。对比一下图 1 吧。 OK,接下来要做的就是 RAM——分散加载文件中的步骤 B,C 了。这里就不重复咯。 两种方法已经结束完毕,大家看看代码吧
分享到:
收藏