修改上传所有文件
This commit is contained in:
30
e3_176_ref/devices/E3106/script/IAR/flashloader_debug.mac
Normal file
30
e3_176_ref/devices/E3106/script/IAR/flashloader_debug.mac
Normal file
@@ -0,0 +1,30 @@
|
||||
tcm_init(tcma_base, tcmb_base)
|
||||
{
|
||||
__var actlr;
|
||||
|
||||
actlr = __jtagCP15ReadReg(1, 0, 0, 1);
|
||||
actlr &= ~((1 << 25) | (1 << 26) | (1 << 27));
|
||||
__jtagCP15WriteReg(1, 0, 0, 1, actlr);
|
||||
__jtagCP15WriteReg(9, 1, 0, 1, tcma_base | 1);
|
||||
__jtagCP15WriteReg(9, 1, 0, 0, tcmb_base | 1);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* execUserReset()
|
||||
*********************************************************************/
|
||||
execUserReset()
|
||||
{
|
||||
__message "------------------------------ execUserReset ---------------------------------";
|
||||
/* Disable MPU*/
|
||||
__jtagCP15WriteReg(1, 0, 0, 0, 0x08E7087A);
|
||||
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* execUserPreload()
|
||||
*********************************************************************/
|
||||
execUserPreload()
|
||||
{
|
||||
__message "------------------------------ execUserPreload ---------------------------------";
|
||||
tcm_init(0x1900000, 0x1910000);
|
||||
}
|
||||
95
e3_176_ref/devices/E3106/script/IAR/iram_remap.mac
Normal file
95
e3_176_ref/devices/E3106/script/IAR/iram_remap.mac
Normal file
@@ -0,0 +1,95 @@
|
||||
__param __sf_addr__=0x504000;
|
||||
|
||||
|
||||
core_remap(addr, start_bit1, start_bit2)
|
||||
{
|
||||
__var reg_addr;
|
||||
__var reg_val;
|
||||
__var start_bit_val;
|
||||
__var width;
|
||||
__var val;
|
||||
|
||||
|
||||
start_bit_val = start_bit1;
|
||||
width = 0x14;
|
||||
val = addr>>12;
|
||||
reg_addr = 0xf08b0000 + 0x1400 + (start_bit_val>>5)*4;
|
||||
__message reg_addr:%x;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
__message "original ", reg_val :%x;
|
||||
reg_val = reg_val&(~(((1<<width)-1)<<(start_bit_val&0x1f)));
|
||||
reg_val = reg_val|(val<<(start_bit_val&0x1f));
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
__message "new ", reg_val :%x;
|
||||
|
||||
reg_addr = 0xf08b0000 + 0x1400 + (start_bit_val>>5)*4;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
reg_val = reg_val&(~(((1<<width)-1)<<(start_bit_val & 0x1f)));
|
||||
reg_val = reg_val|(val<<(start_bit_val & 0x1f));
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
|
||||
start_bit_val = start_bit2;
|
||||
width = 0x1;
|
||||
val = 1;
|
||||
reg_addr = 0xf08b0000 + 0x1400 + (start_bit_val>>5)*4;
|
||||
__message reg_addr:%x;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
__message "original ", reg_val :%x;
|
||||
reg_val = reg_val&(~(((1<<width)-1)<<(start_bit_val & 0x1f)));
|
||||
reg_val = reg_val|(val<<(start_bit_val & 0x1f));
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
__message "new ", reg_val :%x;
|
||||
|
||||
reg_addr = 0xf0670004;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
reg_val |= 0x01;
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
}
|
||||
|
||||
sf_remap()
|
||||
{
|
||||
core_remap(__sf_addr__, 0x0, 0x14);
|
||||
}
|
||||
|
||||
|
||||
sf_reset()
|
||||
{
|
||||
__var reg;
|
||||
__var val;
|
||||
reg = 0xf08c0000 + 0x1A04;
|
||||
val = __readMemory32(reg, "Memory");
|
||||
val |= (1<<6);
|
||||
__message val:%x;
|
||||
__writeMemory32(val, reg, "Memory");
|
||||
__delay(1000);
|
||||
}
|
||||
|
||||
core_start(addr_offset)
|
||||
{
|
||||
__var reg;
|
||||
__var val;
|
||||
|
||||
reg = 0xf08c0000 + addr_offset;
|
||||
val = __readMemory32(reg, "Memory");
|
||||
val |= (1<<0);
|
||||
__message val:%x;
|
||||
__writeMemory32(val, reg, "Memory");
|
||||
__delay(1000);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* execUserReset()
|
||||
execUserPreReset()
|
||||
*********************************************************************/
|
||||
execUserPreload()
|
||||
{
|
||||
__message "------------------------------ execUserPreload Remap ---------------------------------";
|
||||
sf_remap();
|
||||
__delay(1000);
|
||||
|
||||
//__message "------------------------------ Reset ---------------------------------";
|
||||
sf_reset();
|
||||
|
||||
__message "------------------------------ Halt CPU by Jlink ---------------------------------";
|
||||
__jlinkExecCommand("Halt");
|
||||
}
|
||||
94
e3_176_ref/devices/E3106/script/IAR/xip_remap.mac
Normal file
94
e3_176_ref/devices/E3106/script/IAR/xip_remap.mac
Normal file
@@ -0,0 +1,94 @@
|
||||
__param __sf_addr__=0x100c1000;
|
||||
|
||||
core_remap(addr, start_bit1, start_bit2)
|
||||
{
|
||||
__var reg_addr;
|
||||
__var reg_val;
|
||||
__var start_bit_val;
|
||||
__var width;
|
||||
__var val;
|
||||
|
||||
|
||||
start_bit_val = start_bit1;
|
||||
width = 0x14;
|
||||
val = addr>>12;
|
||||
reg_addr = 0xf08b0000 + 0x1400 + (start_bit_val>>5)*4;
|
||||
__message reg_addr:%x;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
__message "original ", reg_val :%x;
|
||||
reg_val = reg_val&(~(((1<<width)-1)<<(start_bit_val&0x1f)));
|
||||
reg_val = reg_val|(val<<(start_bit_val&0x1f));
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
__message "new ", reg_val :%x;
|
||||
|
||||
reg_addr = 0xf08b0000 + 0x1400 + (start_bit_val>>5)*4;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
reg_val = reg_val&(~(((1<<width)-1)<<(start_bit_val & 0x1f)));
|
||||
reg_val = reg_val|(val<<(start_bit_val & 0x1f));
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
|
||||
start_bit_val = start_bit2;
|
||||
width = 0x1;
|
||||
val = 1;
|
||||
reg_addr = 0xf08b0000 + 0x1400 + (start_bit_val>>5)*4;
|
||||
__message reg_addr:%x;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
__message "original ", reg_val :%x;
|
||||
reg_val = reg_val&(~(((1<<width)-1)<<(start_bit_val & 0x1f)));
|
||||
reg_val = reg_val|(val<<(start_bit_val & 0x1f));
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
__message "new ", reg_val :%x;
|
||||
|
||||
reg_addr = 0xf0670004;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
reg_val |= 0x01;
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
}
|
||||
|
||||
sf_remap()
|
||||
{
|
||||
core_remap(__sf_addr__, 0x0, 0x14);
|
||||
}
|
||||
|
||||
|
||||
sf_reset()
|
||||
{
|
||||
__var reg;
|
||||
__var val;
|
||||
reg = 0xf08c0000 + 0x1A04;
|
||||
val = __readMemory32(reg, "Memory");
|
||||
val |= (1<<6);
|
||||
__message val:%x;
|
||||
__writeMemory32(val, reg, "Memory");
|
||||
__delay(1000);
|
||||
}
|
||||
|
||||
core_start(addr_offset)
|
||||
{
|
||||
__var reg;
|
||||
__var val;
|
||||
|
||||
reg = 0xf08c0000 + addr_offset;
|
||||
val = __readMemory32(reg, "Memory");
|
||||
val |= (1<<0);
|
||||
__message val:%x;
|
||||
__writeMemory32(val, reg, "Memory");
|
||||
__delay(1000);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* execUserReset()
|
||||
execUserPreReset()
|
||||
*********************************************************************/
|
||||
execUserPreload()
|
||||
{
|
||||
__message "------------------------------ execUserPreload Remap ---------------------------------";
|
||||
sf_remap();
|
||||
__delay(1000);
|
||||
|
||||
//__message "------------------------------ Reset ---------------------------------";
|
||||
sf_reset();
|
||||
|
||||
__message "------------------------------ Halt CPU by Jlink ---------------------------------";
|
||||
__jlinkExecCommand("Halt");
|
||||
}
|
||||
94
e3_176_ref/devices/E3106/script/IAR/xip_remap_norflash.mac
Normal file
94
e3_176_ref/devices/E3106/script/IAR/xip_remap_norflash.mac
Normal file
@@ -0,0 +1,94 @@
|
||||
__param __sf_addr__=0x10008000;
|
||||
|
||||
core_remap(addr, start_bit1, start_bit2)
|
||||
{
|
||||
__var reg_addr;
|
||||
__var reg_val;
|
||||
__var start_bit_val;
|
||||
__var width;
|
||||
__var val;
|
||||
|
||||
|
||||
start_bit_val = start_bit1;
|
||||
width = 0x14;
|
||||
val = addr>>12;
|
||||
reg_addr = 0xf08b0000 + 0x1400 + (start_bit_val>>5)*4;
|
||||
__message reg_addr:%x;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
__message "original ", reg_val :%x;
|
||||
reg_val = reg_val&(~(((1<<width)-1)<<(start_bit_val&0x1f)));
|
||||
reg_val = reg_val|(val<<(start_bit_val&0x1f));
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
__message "new ", reg_val :%x;
|
||||
|
||||
reg_addr = 0xf08b0000 + 0x1400 + (start_bit_val>>5)*4;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
reg_val = reg_val&(~(((1<<width)-1)<<(start_bit_val & 0x1f)));
|
||||
reg_val = reg_val|(val<<(start_bit_val & 0x1f));
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
|
||||
start_bit_val = start_bit2;
|
||||
width = 0x1;
|
||||
val = 1;
|
||||
reg_addr = 0xf08b0000 + 0x1400 + (start_bit_val>>5)*4;
|
||||
__message reg_addr:%x;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
__message "original ", reg_val :%x;
|
||||
reg_val = reg_val&(~(((1<<width)-1)<<(start_bit_val & 0x1f)));
|
||||
reg_val = reg_val|(val<<(start_bit_val & 0x1f));
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
__message "new ", reg_val :%x;
|
||||
|
||||
reg_addr = 0xf0670004;
|
||||
reg_val = __readMemory32(reg_addr, "Memory");
|
||||
reg_val |= 0x01;
|
||||
__writeMemory32(reg_val, reg_addr, "Memory");
|
||||
}
|
||||
|
||||
sf_remap()
|
||||
{
|
||||
core_remap(__sf_addr__, 0x0, 0x14);
|
||||
}
|
||||
|
||||
|
||||
sf_reset()
|
||||
{
|
||||
__var reg;
|
||||
__var val;
|
||||
reg = 0xf08c0000 + 0x1A04;
|
||||
val = __readMemory32(reg, "Memory");
|
||||
val |= (1<<6);
|
||||
__message val:%x;
|
||||
__writeMemory32(val, reg, "Memory");
|
||||
__delay(1000);
|
||||
}
|
||||
|
||||
core_start(addr_offset)
|
||||
{
|
||||
__var reg;
|
||||
__var val;
|
||||
|
||||
reg = 0xf08c0000 + addr_offset;
|
||||
val = __readMemory32(reg, "Memory");
|
||||
val |= (1<<0);
|
||||
__message val:%x;
|
||||
__writeMemory32(val, reg, "Memory");
|
||||
__delay(1000);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* execUserReset()
|
||||
execUserPreReset()
|
||||
*********************************************************************/
|
||||
execUserPreload()
|
||||
{
|
||||
__message "------------------------------ execUserPreload Remap ---------------------------------";
|
||||
sf_remap();
|
||||
__delay(1000);
|
||||
|
||||
//__message "------------------------------ Reset ---------------------------------";
|
||||
sf_reset();
|
||||
|
||||
__message "------------------------------ Halt CPU by Jlink ---------------------------------";
|
||||
__jlinkExecCommand("Halt");
|
||||
}
|
||||
Reference in New Issue
Block a user