цитата:
ВОВА может быть Вам стоит добавить пин 6 для возможности использования SRST -
уж больно стабильно удается входить в дебаг ?? даже если модем убит иначе чем в стандартном варианте..
у вас hjtag получалось входить в дебаг без использования SRST....значит причина не в этом, попробуйте сначала попасть в дебаг через noICE, затем сделайте дамп
по адресу 0x60000000, убедитесь что по смещению 0x320 записан ID, после чего запускайте zflash. в архиве есть иллюстрация, плюс ещё немножко откорректировал задержки, для удобства убрал вывод в лог bitmask lpt, тыкайте connect раз десять, пока не получите NAND ID
цитата:
более мене разобрался с передачей буфера хосту... мои проблумы были связаны с тем что по глупости слишком часто и без толку(думал перестраховаться) использовал слишком долгие пустые циклы в функ. нанд вайд.. это срубало таймер ожидания у Hjtag .. теперь буфер передается почти нормально... почему то к началу добавляется хрень длиной 4h вот с этим не могу разобраться..
причина наверняка кроется в неверном конфиге, вот правильный:
FLASH_TYPE=3
FLASH_SIZE=64M
FLASH_ID=0x0000AD36
FLASH_ADDRESS=0x0
FLASH_NAND_BLOCK=4096x16K
FLASH_NAND_PAGE=131072x512
FLASH_WIDTH=0/16/0
FLASH_DRIVER=0/1807/0
у вас должно быть, ширина 8бит ? вот от того и левые байты в дампе
исходник функции чтения на всякий случай
void nand_read_page(U32 blockidx, U32 pageidx) {
unsigned i,n,k;
U32 data;
*SysAddr32(NAND_ADDR)=(512*pageidx)+(16384*blockidx);
*SysAddr32(NAND_CFG2) = 0;
*SysAddr32(NAND_CMD) = NAND_CMD_PAGE_READ;
nand_wait();
// while( (*SysAddr32(NAND_STATUS) & NAND_STS_READ) ) k=n;
for(n=0;n<200000;n++) k=n;
*SysAddr32(WATCHDOG) = 0x1;
for(i = 0; i < 512; i +=4){
data = *SysAddr32(NAND_BUF+i);
write_to_host(data);
}
}
мистика какая-то: на PII 333 hjtag флэшер намертво вешал модем, а на
Duron 1200 вроде всё робит.непойму...