我用的是Mini ARM JTAG Adapter ,JTAG转成USB的东东烧写的,目前还从来没有成功地操作外部flash或者sram(bank0(0x80000000),bank1(0x81000000)选择);
不知道是什么原因;
用的keil uv3,其中的use Target driver for flash programming->ulink ARM debug
setting: ram地址:0x40000000 0x3fe0(这个不是0x4000?)
sst39×160x:0x80000000 0x200000
scatter file:
ROM_LOAD 0x80000000
{
ROM_EXEC 0x80000000
{
Startup.o (vectors, +First)
* (+RO)
}
IRAM 0x40000000
{
Startup.o (MyStacks)
}
STACKS_BOTTOM +0 UNINIT
{
Startup.o (StackBottom)
}
STACKS 0x40004000 UNINIT
{
Startup.o (Stacks)
}
ERAM 0x80040000
{
* (+RW,+ZI)
}
HEAP +0 UNINIT
{
Startup.o (Heap)
}
HEAP_BOTTOM 0x80080000 UNINIT
{
Startup.o (HeapTop)
}
}
boot[1:0]选择的是: outside(boot[1:0]=01)
bank0-flash(0x80000000-0x801fffff) bank1-sram(0x81000000-0x8107ffff)
程序的entry point :0x80000000
还有个ini文件,我是这样写的(ini文件具体是怎么起作用的?):
FUNC void Setup()
{
_WDWORD(0xFFE00000, 0x1000ffef);
_WDWORD(0xFFE00004, 0x1000ffef);
_WDWORD(0xE002C014, 0x0f814914);
}
Setup();
程序是控制led的,在ram中调试没问题;
弄了几天了,还是没结果。。。。。。。。。。 |