Плата самодельная.
Пример USB Core от IAR для кита SAM3U-EK.
В void LowLevelInit(void) закоментировал работу с кварцем 32К.
Код
/*
// Select external slow clock ***************************
if ((AT91C_BASE_SUPC->SUPC_SR & AT91C_SUPC_SR_OSCSEL_CRYST) != AT91C_SUPC_SR_OSCSEL_CRYST)
{
AT91C_BASE_SUPC->SUPC_CR = AT91C_SUPC_CR_XTALSEL_CRYSTAL_SEL | (0xA5 << 24);
timeout = 0;
while (!(AT91C_BASE_SUPC->SUPC_SR & AT91C_SUPC_SR_OSCSEL_CRYST) && (timeout++ < CLOCK_TIMEOUT));
}
*/
Проект запускается как после программирования и запуска под отладчиком, так и без отладчика.
Затем взял пример USB MassStorage, переделал дескрипторы функцию LowLevelInit точно такую же.
Из под отладчика стартует, а при передергивании USB кабеля нет.
Попробовал присоединится отладчиком после передергивании USB кабеля.
Показывает ошибку:
Mon Sep 09, 2013 15:11:24: ------------------------------ execUserPreload ---------------------------------
Mon Sep 09, 2013 15:11:24: E:\Halt\HSJTAG\firmware\ewp\resources\iar\at91sam3u-ek-flash.mac(38,14): Error: Operation error.
Mon Sep 09, 2013 15:11:24:
Error while calling macro execUserPreload Mon Sep 09, 2013 15:11:24: 0 bytes with download suppressed
Mon Sep 09, 2013 15:11:24: Loaded debugee: E:\Halt\HSJTAG\firmware\ewp\at91sam3u4_flash\Exe\at91sam3u4_flash.out
Mon Sep 09, 2013 15:11:25: There were 1 error and 1 warning during the initialization of the debugging session.
Двойной клик по ошибке приводит в файл at91sam3u-ek-flash.mac на строчку с
__hwReset(0);Код
execUserPreload()
{
__message "------------------------------ execUserPreload ---------------------------------";
__hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset
// perpheral reset RSTC_CR
__writeMemory32(0xA5000004,0x400e1200,"Memory");
}
Использую SWD отладчик.
В чем проблема?.