-
Постов
24 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Sunday
-
Звание
Участник
- День рождения 12.08.1983
Контакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
-
перестала программироваться ATmega32
Sunday ответил RodionGork тема в AVR
Похожая ситуация - вдруг перестали прошиваться через AVReal attiny2313 и at90s2313, хотя на той же плате тем же программатором прекрасно шьется atmega8535. Т.е получается, что программатор целый, микросхемы эти тоже прошивались еще полгода назад, а сейчас вдруг перестали. Идентификатор точно также возращает все FFки... Так что проблема имеет какой то системный характер -
Есть проект на SAM7X... Для связи с PC используется USB (притворяемся HID устройством). В WinXP все работает замечательно (почти...), а Vista устройство находит (появляется в списке HID устройств), но говорит, что устройство не может быть запущено (код проблемы: 0x0000000A). Вдруг ктото сталкивался уже с такой проблемой
-
Нашлась проблемка... косячил SPI микроконтроллера - емкость на ножке SCK оказалась - тактирование косячилось в результате (скорее всего еще при записи во внешнюю флэшпамять)
-
1) режим задан правильно 2) с квартуса в режиме passive serial циклон програмится (sof файл)
-
Заменили на плате Cyclone II на Cyclone III, перестала работать загрузка прошивки через Passive Serial. Через JTAG все шьется... В Cyclone через Passive Serial заливается rbf файл, в процессе видны "скачки" на ножке nSTATUS... Все тайминги при прошивке соблюдены (на Cyclone II проблем не наблюдалось). Подскажите, в чем может быть проблема?
-
Непонятки с SPI в sam7
Sunday ответил Terminator тема в ARM
тоже были проблемы с SPI+PDC - в даташите в эррате обнаружил, что лучше ножкой чипселекта управлять вручную (иначе чипселект будет подниматься сразу же после передачи последнего байта, независимо от настроек) -
все - разобрался: вот так будет правильнее: pPHY->EMAC_MAN = EMAC_SOF | EMAC_RW_READ | EMAC_CODE | \ (0 << EMAC_PHYA_LSB) | (reg_addr << EMAC_REGA_LSB); /* Wait until PHY logic completed. */ while((pPHY->EMAC_NSR & EMAC_IDLE) == 0); return (INT16U)pPHY->EMAC_MAN;
-
Столкнулся с проблемой: от блока EMAC нужен только модуль MDIO (для загрузки LXT972). настроил EMAC так: //запрещаем PIO использовать ножки в качестве обычных I/O pPIOB->PIO_PDR = AT91C_PB8_EMDC | AT91C_PB9_EMDIO; //назначаем ножкам свои функции pPIOB->PIO_ASR = AT91C_PB8_EMDC | AT91C_PB9_EMDIO; //включаем питание EMAC *AT91C_PMC_PCER = ((unsigned long)1 << AT91C_ID_EMAC); //разрешаем порт MDIO pPHY->EMAC_NCR = AT91C_EMAC_MPE; pPHY->EMAC_NCFGR = AT91C_EMAC_CLK_HCLK_8; передача по MDIO работает, все что надо передает. А вот прием никак не запускается вот код в котором передаются данные: INT16U PhyReadData(INT8U reg_addr) { INT32U tmp; AT91PS_EMAC pPHY = AT91C_BASE_EMAC; tmp = (1 << 30) | (1 << 29) | (0 << 23) | (reg_addr << 18) |\ (2 << 16); pPHY->EMAC_MAN = tmp; while(!(*AT91C_EMAC_ISR & 0x01)); tmp = pPHY->EMAC_MAN; return (INT16U)tmp; } может кто сталкивался - подскажите, что неправильно делаю?
-
для меня это тоже логично, но по хорошему SPI в этом случае мог бы и сам догадаться его генерить :))
-
есть функция, которая принимает/передает данные по SPI решил переделать с использованием PDC написал примерно такой код: void Spi1Exec(INT8U *tx, INT8U *rx, INT16U rxtx, INT8U target) { .... if(rxtx) { pSPI1->SPI_RPR = (INT32U)rx; pSPI1->SPI_RCR = rxtx; pSPI1->SPI_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN; while( !( pSPI1->SPI_SR & AT91C_SPI_ENDRX ) ); pSPI1->SPI_PTCR = AT91C_PDC_RXTDIS | AT91C_PDC_TXTDIS; } } в таком виде почемуто не примимает вообще ( надо ли в этом случае инициировать pdc еще и на передачу?
-
в общем проблема осталась - подозреваю, что все косячит контроллер флэш-памяти, но доказать это пока не удалось...
-
Спасибо за наводку - сейчас читаю, что такое H-JTAG и с чем его едят. Но все таки хочется найти решение проблемы с использованием Wiggler...
-
проблема такая - пытаюсь шить сабж во флэш - смотрю дебаггером флэш - там пусто (ff-ки все). смотрю бит GPNVM2 - не установлен (т.е. насколько я понял, используется samba), попытки установить его в "1" ни к чему не приводят (записываю 0x5a00020b по адресу 0xffffff64) - команда проходит без ошибки, но бит не выставляется. нашел другую плату с sam7x128 - там бит GPNVM2 установлен в "1" и все прекрасно работает... (но сбросить его там опять таки не получилось). Кто управляет этим битом? И в чем может быть проблема?