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

 
 
> Пытаясь запустить UsbHostLite для LPC2468 с nxp.com
Gizma
сообщение Aug 20 2009, 10:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 3-09-08
Пользователь №: 39 972



Всем привет!
Работаю с стартер китом с lpc2468...
В апноуте на UsbHostLite пишут что *Загрузите этот пример на нашу борду и наслаждайтесь?*...
Но как он может заработать если там даже не настроены порты USB? Даже в USBClkCtrl какой то бред пытаються записать...
Лопачу под себя Поставил 1ый порт хостом, и настроил по мануалу USBClkCtrl...
USBClkCtrl = 0x0000001A;
OTGStCtrl |= 0x00000003;
Ноst_Init(); проходит...
в самом конце разрешают прерывание для USB, VICIntEnable = (1 << 22)...
Через небольшое время не зависимо от того вставлено что либо в разъем хоста(да и вообще в любой usb порт) или нет срабатывает это прерывание, но функция обработчик( Host_Isr() ) толком ничего не делает, т.к. Host_Isr спрашивает у HcInterruptStatus что там случилось, но там всегда одни нули...
Далее в функции Host_EnumDev(), навечно заваливаюсь в while (!HOST_RhscIntr);
HOST_RhscIntr должна изменяться в Host_Isr, но из-за вечной нулевости HcInterruptStatus этого никак не сделать...

Также еще раз отмечу прерывание для Host_Isr вызываеться только один раз через некоторое время после VICIntEnable = (1 << 22), не зависимо от того вставлено что либо в хост или нет... Позже это прервывание не вызываеться вообще...

Может подсобите чем нибудь, я пока в ступоре...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
UNKNOWN
сообщение Apr 26 2011, 09:47
Сообщение #2





Группа: Новичок
Сообщений: 1
Регистрация: 26-08-08
Пользователь №: 39 827



Доброго времени суток!
Помогите решить проблему, я использую для LPC17xx USBHostLite, всё работает, но вот непонятно, почему скорость записи на USB флешку вариируется от 200 до 350 кБайт/сек, хотя комп пишет на неё со скоростью 3 МБайта/сек.
Для контроля работы хоста дёргаю отдельной ножкой контроллера, и смотрю осциллографом. Наблюдается следующая картина:
где-то после 7-10 пакетов (передача буферов по 4096 байт происходит по 8 мс) идёт очень длинное ожидание - около 120 мс. Т.е. ~7-мь пакетов без существенной задержки, потом задержка ~120 мс, и так далее.
Вот код где я смотрю задержки на осциллографе:
в функции Host_ProcessTD перед ожиданием ответа от флехи Host_WDHWait() дёргаю ножкой проца, и в функции MS_BulkSend на втором вызове функции Host_ProcessTD иногда происходит задержка ~100 мс. Как увеличить скорость и откуда такие задержки?

CODE

rt_int32_t MS_BulkSend ( rt_uint32_t block_number,
volatile rt_uint8_t *user_buffer,
rt_uint16_t num_blocks)
{
rt_int32_t rc;


Fill_MSCommand(block_number, MS_BlkSize, num_blocks, MS_DATA_DIR_OUT, SCSI_CMD_WRITE_10, 10);

rc = Host_ProcessTD(EDBulkOut, TD_OUT, TDBuffer, CBW_SIZE);
if (rc == OK) {
Host_DelayMS(20);
rc = Host_ProcessTD(EDBulkOut, TD_OUT, user_buffer, MS_BlkSize * num_blocks);
if (rc == OK) {
rc = Host_ProcessTD(EDBulkIn, TD_IN, TDBuffer, CSW_SIZE);
if (rc == OK) {
if (TDBuffer[12] != 0) {
rc = ERR_MS_CMD_FAILED;
}
}
}
}
return (rc);
}


rt_int32_t Host_ProcessTD (volatile HCED *ed,
volatile rt_uint32_t token,
volatile rt_uint8_t *buffer,
rt_uint32_t buffer_len)
{
volatile rt_uint32_t td_toggle;


if (ed == EDCtrl) {
if (token == TD_SETUP) {
td_toggle = TD_TOGGLE_0;
} else {
td_toggle = TD_TOGGLE_1;
}
} else {
td_toggle = 0;
}
TDHead->Control = (TD_ROUNDING |
token |
TD_DELAY_INT(0) |
td_toggle |
TD_CC);
TDTail->Control = 0;
TDHead->CurrBufPtr = (rt_uint32_t) buffer;
TDTail->CurrBufPtr = 0;
TDHead->Next = (rt_uint32_t) TDTail;
TDTail->Next = 0;
TDHead->BufEnd = (rt_uint32_t)(buffer + (buffer_len - 1));
TDTail->BufEnd = 0;

ed->HeadTd = (rt_uint32_t)TDHead | ((ed->HeadTd) & 0x00000002);
ed->TailTd = (rt_uint32_t)TDTail;
ed->Next = 0;

if (ed == EDCtrl) {
LPC_USB->HcControlHeadED = (rt_uint32_t)ed;
LPC_USB->HcCommandStatus = LPC_USB->HcCommandStatus | OR_CMD_STATUS_CLF;
LPC_USB->HcControl = LPC_USB->HcControl | OR_CONTROL_CLE;
} else {
LPC_USB->HcBulkHeadED = (rt_uint32_t)ed;
LPC_USB->HcCommandStatus = LPC_USB->HcCommandStatus | OR_CMD_STATUS_BLF;
LPC_USB->HcControl = LPC_USB->HcControl | OR_CONTROL_BLE;
}

if (DebugValue) LPC_GPIO0->FIOSET = 1<<11;
else LPC_GPIO0->FIOCLR = 1<<11;
DebugValue = !DebugValue;
Host_WDHWait();

// if (!(TDHead->Control & 0xF0000000)) {
if (!HOST_TDControlStatus) {
return (OK);
} else {
return (ERR_TD_FAIL);
}
}


Сообщение отредактировал IgorKossak - Apr 26 2011, 09:50
Причина редактирования: [codebox] !!!


--------------------
ZeeXor
Go to the top of the page
 
+Quote Post
yurmala
сообщение Sep 29 2011, 11:20
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 9-02-11
Из: Трехгорный
Пользователь №: 62 814



Приветствую! А у меня другая проблема.
Объединил UsbHostLite с FATFS.
Чтение проходит на ура. подключаю USB, монтирую диск, читаю список файлов, открываю файл и успешно читаю из него.
Идет подвисание при попытке записи/удаления файла
Зависает в функции MS_BulkSend на строчке
Код
        rc = Host_ProcessTD(EDBulkOut, TD_OUT, user_buffer, MS_BlkSize * num_blocks);

в режиме ожидания Host_WDHWait();

С чем может быть связан подобный висяк?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Gizma   Пытаясь запустить UsbHostLite для LPC2468 с nxp.com   Aug 20 2009, 10:27
- - IgorMarx   Цитата(Gizma @ Aug 20 2009, 14:27) HcInte...   Aug 20 2009, 15:46
|- - Gizma   Цитата(IgorMarx @ Aug 20 2009, 19:46) А о...   Aug 20 2009, 18:48
|- - IgorMarx   Gizma, вы понимаете, о чём речь? Внимательно прочи...   Aug 20 2009, 20:10
|- - Gizma   Цитата(IgorMarx @ Aug 21 2009, 00:10) Giz...   Aug 20 2009, 20:52
- - IgorMarx   Понятно. Вообще-то у NXP исключительно плохая доку...   Aug 21 2009, 05:57
|- - Gizma   Цитата(IgorMarx @ Aug 21 2009, 09:57) Пон...   Aug 21 2009, 07:38
|- - GetSmart   Цитата(IgorMarx @ Aug 21 2009, 11:57) Пон...   Aug 21 2009, 08:30
||- - IgorMarx   Цитата(GetSmart @ Aug 21 2009, 12:30) А м...   Aug 24 2009, 05:49
||- - GetSmart   Цитата(IgorMarx @ Aug 24 2009, 11:49) Ну,...   Aug 25 2009, 08:14
|- - etoja   Цитата(IgorMarx @ Aug 21 2009, 09:57) Воо...   Sep 21 2009, 07:16
- - Gizma   Отловил еще пару багов, совсем мелких, и теперь УР...   Aug 21 2009, 09:31
|- - GetSmart   Цитата(Gizma @ Aug 21 2009, 15:31) fdr = ...   Aug 21 2009, 09:40
- - esaulenka   Гм. Простите, а кто-нибудь тут спецификацию OHCI ч...   Aug 21 2009, 13:21
|- - Gizma   Цитата(esaulenka @ Aug 21 2009, 17:21) Гм...   Aug 21 2009, 14:27
- - esaulenka   Также хочется заметить, что а) VICIntEnClr - ну с...   Aug 21 2009, 16:11
|- - Gizma   Цитатаа) VICIntEnClr - ну совершенно НЕ "ena...   Aug 21 2009, 18:02
|- - aaarrr   Цитата(Gizma @ Aug 21 2009, 22:02) ну тут...   Aug 21 2009, 19:03
|- - zltigo   Цитата(Gizma @ Aug 21 2009, 20:02) Просто...   Aug 21 2009, 19:12
||- - aaarrr   Цитата(zltigo @ Aug 21 2009, 23:12) Изред...   Aug 21 2009, 19:21
|- - shahr   Цитата(Gizma @ Aug 21 2009, 22:02) ну тут...   Aug 25 2009, 07:37
- - sergvks   На какую скорость обмена с usb-носителями можно ра...   Sep 1 2009, 18:19
- - goodwin   LPC1758, 48Мгц,чтение - 215 кб/сек. Подправил ...   Sep 18 2009, 18:17
- - goodwin   С FAT_FS от Чена скорость чтения ~ 700 кб/сек (FAT...   Sep 19 2009, 10:26
- - alevnew   У меня USBHoslLite заработал сразу, как и написано...   Oct 23 2009, 05:49
- - argentum   Здравствуйте. Подскажите пожалуйста. Работаю с lpc...   Nov 9 2009, 08:19
|- - alevnew   Цитата(argentum @ Nov 9 2009, 14:19) Здра...   Nov 9 2009, 08:59
|- - argentum   Цитата(alevnew @ Nov 9 2009, 11:59) Vbus ...   Nov 9 2009, 11:15
- - miv   Я использовал пример HostLite для портирования его...   Nov 11 2009, 08:39
- - HARMHARM   Дабы не плодить новые темы спрошу здесь. Зачем воо...   Nov 25 2010, 23:22
- - DpInRock   Эти сигналы можно использовать. Но самое главное -...   Nov 26 2010, 02:07
- - Дмитриос   Может быть зря поднимаю тему. Но у меня также проб...   Apr 10 2011, 16:48
|- - yarunt   Цитата(Дмитриос @ Apr 10 2011, 20:48) . ...   Apr 12 2011, 10:27
- - yurmala   Я вообщем в тупике. Не пойму куда смотреть. чтение...   Sep 30 2011, 07:06
- - yurmala   Товарищи дорогие! Прошу помощи. Так и не могу ...   Oct 3 2011, 09:11
- - Olga83   Хм, у меня полностью аналогичная ситуация. Как то ...   Apr 23 2012, 10:37
- - yurmala   Тут есть полезная информация: http://www.keil.com/...   Nov 6 2012, 04:10
|- - SyncLair   Цитата(yurmala @ Nov 6 2012, 08:10) Тут е...   Nov 6 2012, 18:42
- - yurmala   SyncLair, я уже разобрался. Потому и дал полезную ...   Nov 7 2012, 07:29
|- - SyncLair   Цитата(yurmala @ Nov 7 2012, 11:29) Поэто...   Nov 7 2012, 12:52
- - GetSmart   Убил пару дней на поиск грабли в стоге сена NXP US...   Jul 29 2014, 23:33


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

 


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


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