H-JTAG手册里有这个个说明: 3) RAM 起始地址 在烧写的时候,FLASH 驱动需要使用4KByte 的RAM 空间,所以需要用户指定一段>=4KByte 的RAM 空间。在用户指定RAM 开始地址后,H-FLASHER 会把FLASH 驱动下载到RAM START ADDRESS ~ (RAM START ADDRESS + 4K – 1)的范围内。FLASH 驱动可以下载到片内SRAM 或是片外SDRAM。 如果目标系统有片内SRAM, 建议用户使用片内SRAM,因为片内SRAM 的速度比外部SDRAM 快。 在设置初始化脚本的时候,请提供必需的初始化脚本,对存储系统进行初始化,保证用户指定的RAM 空间是可以被正确访问的。
我用的是LPC2378芯片,RAM基址0x40000000,当我用scatter分散加载时,我的第一个RAM加载域起始位置必须指定为0x40000000+1k=0x40001000或更后,然后H-JTAG自身占用0x40000000~0x40000FFF?或者是我的第一个RAM加载域起始位置允许指定为0x40000000,只是实际运行时被H-JTAG向后偏移了4k? |