реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> проблемы с AT91SAM7A3, сбои в работе...
shrek
сообщение Feb 11 2010, 18:32
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 1-12-08
Из: г. Орел
Пользователь №: 42 126



В общем есть три разных платы... Обвязку для контроллера на всех платах развели одинаково! все три платы распаяли 2 работают, а на третьей контроллер через J-Link просматривается но вот чтобы стереть флэш записать, прочитать или тест какой провести так выскакивает ошибка мол ошибка записи по адресу такому то такому... более конкректно могу завтра описать если вылезет ошибка... перепаяли на одной плате 2 чипа грешили на проблемы во время пайки... спаяли другую такую же плату... все тоже так же арм перепаяли те же симптомы... проверил питание на всех ногах где 3,3 вольта должно быть оно есть! где 1,8 вольта должно быть оно там есть! где GND там есть GND... питание проверил... Оставил контроллер без связи с внешним миром одно голое питание... все теже симптомы! дальше лучше... отпаял всю обьвязку контроллера и кварц... один контроллер с питанием и интерфейсом под сам-айс... после неслкольких операций чтения записи стирания секторов флеш контроллер начал оживляться но все равно ошибки выскакивают... подпаял обвязку... дела стали лучше... читается стирается, но не прошивается... (обвязка на всех трех платах для контроллера разведена одинаково!) подпаял кварц... погонял часок с "тестами" вроде как оживился ошибки стали реже появляться пробовал что то отладить в иаре... во время отладки выскочила ошибка "unable to halt CPU"... запустил тестовую прогу с SPI осцильником посмотрел работает... Вот собственно такая проблема завтра попробую прошить, запустить и посмотреть как он будет себя вести в течении часа... остальные две платы одна работает на дисплей все нормально работает сужу по тому как дисплей работает четко и без сбоев! вторая двигателями управляет крутит и один шаговый и второй Д-25Г!
Go to the top of the page
 
+Quote Post
shrek
сообщение Feb 12 2010, 08:28
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 1-12-08
Из: г. Орел
Пользователь №: 42 126



еще один симптом... В отладке когда отпускаешь контроллер в свободное плавание под управлением SAM-ICE он уходит на сброс...
Пробовал прошить все работает smile.gif
Go to the top of the page
 
+Quote Post
VSt&
сообщение Feb 12 2010, 09:13
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 3-08-06
Из: Екатеринбург
Пользователь №: 19 275



Таких багов с SAM7A3 не видел, но сталкивался с необъяснимыми на первый взгляд случайными зависаниями контроллера - мог отработать сутки, а мог зависнуть через две секунды. Эмпирическим путем выяснил, что уходит в Data Abort. Проблема была в flash waitstate, который надо было увеличить в cstartup, несмотря на "single cycle access up to 30 MHz" и на мои 25 МГц.
Код
void AT91F_LowLevelInit(void)
{
    int i;
    
    [b]AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS;[/b]
    AT91C_BASE_WDTC->WDTC_WDMR= AT91C_WDTC_WDDIS;

    // 1 Enabling the Main Oscillator:
    AT91C_BASE_PMC->PMC_MOR = ((AT91C_CKGR_OSCOUNT & (0x40 <<8) | AT91C_CKGR_MOSCEN));
    while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS));
    
    // 2 Configuring the PLL
    AT91C_BASE_PMC->PMC_PLLR = ((AT91C_CKGR_DIV & PLL_DIV ) |
                                (AT91C_CKGR_PLLCOUNT & (28<<8)) |
                                (AT91C_CKGR_MUL & ((PLL_MUL-1)<<16)));
    while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCK));
    while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));
    
    // 3 Selection of Master Clock and Processor Clock
    AT91C_BASE_PMC->PMC_MCKR =  AT91C_PMC_PRES_CLK_2;
    while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));
    
    AT91C_BASE_PMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK;
    while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY));
    
    // 4 configuring reset controller, enable external reset
    AT91C_BASE_RSTC->RSTC_RMR = (0xA5000000 | AT91C_RSTC_URSTEN | (0x0C << 8) /* ERSTL */);

    // 5 Set up the default interrupts handler vectors
    for (i=0; i<31; i++)
    {
        AT91C_BASE_AIC->AIC_SMR[i] = 0;
        AT91C_BASE_AIC->AIC_SVR[i] = 0;
    }
    AT91C_BASE_AIC->AIC_SPU = (uint32_t) AT91F_Spurious_Handler;
    
    // 6 Send acknowledge for all possible pending interrupts (8-level priority stack)
    for (i=0; i<8; i++) AT91C_BASE_AIC->AIC_EOICR = 0;
    
}
Go to the top of the page
 
+Quote Post
shrek
сообщение Feb 12 2010, 11:01
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 1-12-08
Из: г. Орел
Пользователь №: 42 126



Зашил простенькую тест прошивку в SPI через PDC посылает 4 байта 32 разрядного числа по прерыванию от PIT после каждой посылки инкремент этого числа на 1...
пока за 2 часа в ребут ниразу не ушел и не завис smile.gif
смотрю осцыльником что посылает)

Сообщение отредактировал shrek - Feb 12 2010, 11:03
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 12 2010, 11:05
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Судя по картине, наблюдаются не "сбои в работе", а "сбои при работе с JTAG".
Go to the top of the page
 
+Quote Post
shrek
сообщение Feb 12 2010, 11:11
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 1-12-08
Из: г. Орел
Пользователь №: 42 126



с другими 2мя платами JTAG работает нормально, но в этих двух платах разьем JTAGа поближе к контроллеру.
еще иногда выскакивает ошибка при попытке стереть флэш что напряжение ниже 0,7 вольт... потом ошибка что напряжение выше 59 вольт... smile3046.gif
отрубаю питание потом через секунд 10 - 20 включаю все как ни в чем не бывало работает...

Сообщение отредактировал shrek - Feb 12 2010, 11:14
Go to the top of the page
 
+Quote Post
VSt&
сообщение Feb 12 2010, 11:37
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 3-08-06
Из: Екатеринбург
Пользователь №: 19 275



В качестве дополнительной меры попробуйте уменьшить скорость JTAG в IAR'е и задать ее явно ("Fixed") на уровне <= 100 кГц.

Вдогонку, какой отладчик используете? Segger J-Link субъективно работает стабильнее MT-Link.

Сообщение отредактировал VSt& - Feb 12 2010, 11:40
Go to the top of the page
 
+Quote Post
shrek
сообщение Feb 12 2010, 12:00
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 1-12-08
Из: г. Орел
Пользователь №: 42 126



использую Segger J-Link ставил меньше 100кГц проблемы теже... были...
тест прошивка работает пока без сбоев уже часа 3...

Сообщение отредактировал shrek - Feb 12 2010, 12:02
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 23:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016