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

 
 
> sam4s4b UDP
Chameleon
сообщение May 7 2015, 13:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 5-07-08
Пользователь №: 38 757



Пытаюсь перенести проект с SAM7 на SAM4. На SAM7 все работает.

Проблема с подключением по USB. Используется USB СВС класс.

Вот лог инициализации при подключении к компьютеру

1. USB interrupt: ISR = 00000100 // RXSUSP
2. USB interrupt: ISR = 00000200 // RXRSM
3. USB interrupt: ISR = 00001000 // Bus RESET
ENDBUSRES
// эти значения я устанавливаю при получении сигнала сброс
// они читаются обратно для проверки

UDP_CSR[O] = 00008000 // EPEDS = 1, Endpoint0 разрешена
UDP_FADDR = 00000100 // FEN = 1 Funsction endpoint enabled
UDP_IMR = 00003F0F // Все возможные прерывания от USB разрешены
UDP_GLB_STAT = 00000010 //

Далее после этого должен прийти установочный запрос для EP0, но его нет (вернее наверно он есть, но нет прерывания UDP), просто небольшая пауза и опять Bus RESET, Bus RESET и появляется сообщение о неизвестном устростве. Причина в том, что нет прерывания для EP0, соответственно я ничего не отвечаю на запрос и система думает, что устройство не работает.

Код абсолютно рабочий на SAM7S, под sam4s исправил только символьные имена регистров и битов.

Может в sam4s UDP есть какие-то особенности мелким шрифтом?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение May 8 2015, 15:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ID_TC0 - а это точно номер от
void TC0_Handler(void)
и точно ли это функция что прописана в векторах?
Go to the top of the page
 
+Quote Post
Chameleon
сообщение May 9 2015, 13:49
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 5-07-08
Пользователь №: 38 757



QUOTE (Golikov A. @ May 8 2015, 18:21) *
ID_TC0 - а это точно номер от
void TC0_Handler(void)
и точно ли это функция что прописана в векторах?

Да, точно. TC0_Handler есть в заголовчном файле. И в файле листинга вижу
в векторах прерываний:
...
40009c: 004003c9 .word 0x004003c9
...

И в коде есть обработчик:

004003c8 <TC0_Handler>:

void TC0_Handler(void)
{
unsigned long ulTemp;
TcChannel *pTC = &(TC0->TC_CHANNEL[0]);
TimeOut++;
4003c8: 4b07 ldr r3, [pc, #28] ; (4003e8 <TC0_Handler+0x20>)
4003ca: 681a ldr r2, [r3, #0]
4003cc: 3201 adds r2, #1
4003ce: 601a str r2, [r3, #0]

Может нужно какую-то библиотеку подключать к проекту? Или опции компиляции включать?

Сообщение отредактировал Chameleon - May 9 2015, 13:53
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:19
Рейтинг@Mail.ru


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