Segment 3 29 октября, 2010 Опубликовано 29 октября, 2010 · Жалоба Балуюсь с LPC1343. Пофиг что не работает симуляция в Keil, зато хотябы прошивать легко через встроенный USB загрузчик. Нашел в интернете несколько примеров реализации USB MSC, простой disk image на 5-6кб в оперативке, вообщем обычный пример. Загружаю, запускаю, обнаруживается новое устройство, все нормально - это носитель. Но винда предлагает перед использованием форматировать его, чего ей не удается и она отключает диск. Стоит Windows 7, на XP не пробовал. Честно говоря примеры простейшие - не ясно что работает не так, примеры не трогал, компилятся без ошибок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
brunql 0 29 октября, 2010 Опубликовано 29 октября, 2010 · Жалоба Нашел в интернете несколько примеров реализации USB MSC топику явно не хватает ссылок на эти самые примеры и кстати я тоже с lpc1343 балуюсь, пример из поставки Keil (C:\Keil\ARM\Boards\Keil\MCB1000\USBMem) проверял в XP работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 29 октября, 2010 Опубликовано 29 октября, 2010 · Жалоба Проверял из LPC13xx_SampleSoftware, C:\Keil\ARM\Boards\Keil\MCB1000\USBMem. Вот сейчас еще раз открыл проект из поставки Keil MCB1000, еще раз перекомпилил - тоже самое. Предлагает отформатировать, но если попытаться сделать это выдается сообщение "Windows не удалось отформатировать диск", если закрыть окно форматирования, то диск пропадает и все. Я не понимаю почему он не хочет его форматировать, память это RAM, запись и чтение свободные.. 2brungl: Есть возможность проверить на Windows 7? Может это у меня что-то не так... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 29 октября, 2010 Опубликовано 29 октября, 2010 · Жалоба А вы уверены, что в примерах полная поддержка FAT реализована? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 29 октября, 2010 Опубликовано 29 октября, 2010 · Жалоба я НЕ уверен в этом. По логике это просто буффер в RAM на 6Кб. Если там кривое изображение, то почему винда просто не переформатирует его в нормальный вид? Ведь это простое чтение/запись в буффер.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 29 октября, 2010 Опубликовано 29 октября, 2010 · Жалоба Я конечно мог заблуждаться, но до сих пор я был уверен, что форматирование "заключается в создании (формировании) структур доступа к данным, например структур файловой системы." Цитата из википедии :) Только лишь одна работа USB и поддержка некоторых команд SCSI не позволяют устройству функционировать как логический диск с файловой системой. А процесс форматирования как раз пытается создать файловую систему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
brunql 0 29 октября, 2010 Опубликовано 29 октября, 2010 (изменено) · Жалоба > Есть возможность проверить на Windows 7? забыл уточнить XP в виртулаке запущена была. основная ось ubuntu. вот мой Memory.hex http://exfile.ru/134462 MD5 ee9630ff725205bf8f09e05174933204 Memory.hex не уверен, что поможет, но может наведет на какие нить мысли (= dmesg: [20868.290143] usb 3-3: new full speed USB device using ohci_hcd and address 4 [20868.482022] usb 3-3: configuration #1 chosen from 1 choice [20868.500258] scsi20 : SCSI emulation for USB Mass Storage devices [20868.504719] usb-storage: device found at 4 [20868.504723] usb-storage: waiting for device to settle before scanning [20873.503634] usb-storage: device scan complete [20873.510162] scsi 20:0:0:0: Direct-Access Keil LPC13xx Disk 1.0 PQ: 0 ANSI: 0 CCS [20873.513681] sd 20:0:0:0: Attached scsi generic sg3 type 0 [20873.524627] sd 20:0:0:0: [sdc] 12 512-byte logical blocks: (6.14 kB/6.00 KiB) [20873.530624] sd 20:0:0:0: [sdc] Write Protect is off [20873.530631] sd 20:0:0:0: [sdc] Mode Sense: 03 00 00 00 [20873.530636] sd 20:0:0:0: [sdc] Assuming drive cache: write through [20873.566648] sd 20:0:0:0: [sdc] Assuming drive cache: write through [20873.566666] sdc: [20873.624699] sd 20:0:0:0: [sdc] Assuming drive cache: write through [20873.624720] sd 20:0:0:0: [sdc] Attached SCSI removable disk можно попробовать драйвер удалить и девайс переподключить, и да в XP не форматируется (не удалось завершить форматирование) Из www.nxp.com/documents/application_note/AN10904.pdf (AN10904 USB HID with the LPC1300 on-chip driver): Note: This simple connection does not implement NXP Soft-Connect to allow soft disconnection and connection to the USB bus nor does it implement USB power. Because of this, the USB connection must be plugged into the PC after the USB peripheral is initialized. If the USB port is connected before the LPC USB peripheral is initialized, the pullup resistor will notify the PC that a USB device is present, yet the microcontroller’s USB peripheral will not respond because it has not been initialized. This will trigger Windows to generate an error mentioning a malfunctioning USB device. Unplug and re-plug the device to dismiss the error. Схема подключения к USB какая? у меня подключено как здесь: http://www.microbuilder.eu/projects/LPC134...enceDesign.aspx Изменено 29 октября, 2010 пользователем brunql Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
klen 1 30 октября, 2010 Опубликовано 30 октября, 2010 · Жалоба насколько я понимаю - флешка - тоесть в нашем случае девайс с рамом - ничего про fat и знат ьне должен - его собачче дело - писать и чиать сектор, это с помощью юсб, а вот фат или еще что там - это драйвер фата самой винды поверх нижнего транспортного протокола(у нас это usb) делает. в флеш должна уметь как я сказал пиать и читать сектор и говорить винде какой у не размер сектора. фсе. у меня ткак пример для lpc2148 работает. ну там несколько команд SCSI это понятно - интерфейс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 30 октября, 2010 Опубликовано 30 октября, 2010 · Жалоба 2brungle: Выложи пжл в bin формате Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
brunql 0 30 октября, 2010 Опубликовано 30 октября, 2010 · Жалоба >2brungle: i am brunql >Выложи пжл в bin формате Что-то я в кейле сходу не нашел, как сгенерить бинарник... Все, что нашел это HEX2BIN http://www.keil.com/download/docs/7.asp, но с ней проблемы: ERROR: Invalid record type in HEX record 706. Status: HEX to BIN conversion was not successful. Вообщем вот, что мне Keil накомпилил: http://exfile.ru/134535 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 30 октября, 2010 Опубликовано 30 октября, 2010 · Жалоба В инете увидел такую же проблему (но с LPC2148) Вот здесь. Внизу страницы. Now, when i connect my LPC2148 board to PC, i get 'Disk in drive is not formatted. Do you want to format it now?'. And if i say, yes. Then it says, 'Disk in drive can't be formatted'. What is its meaning? Но ответа так и нет, кроме It means no partition structure (Master Boot Record, boot sector etc.) is assigned on your "disk" И ссылки на примеры. Project options -> User Run 1: fromelf --bin ".\Obj\USBMem.axf" --output ".\Obj\USBMem.bin" <<< Здесь свои названия подставляешь Да, сейчас форматнул твои объектники в bin, залил - та же самая ошибка. Форматировать типа надо. Каким то боком связано с Windows 7... Только вот встроенный USB Bootloader то работает нормально! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
brunql 0 30 октября, 2010 Опубликовано 30 октября, 2010 (изменено) · Жалоба наверно уже сгенерил по Memory.axf, что я скинул, но если нет, то вот Memory.bin http://exfile.ru/134537 а через UART прошивку заливать пробовал? (я через UART прошиваю) а всякие таймеры, кнопочки, светодиоды работают? еще у gcc (в кейле вроде не gcc) есть проблемка с бинарниками, может здесь чтото подобное http://www.microbuilder.eu/projects/LPC134...43CodeBase.aspx LPCRC - A command-line utility to correct the checksum value of compiled .bin files. This ensures that the files will not be rejected by the USB bootloader. Windows binary and GNU GCC source included. Изменено 30 октября, 2010 пользователем brunql Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 30 октября, 2010 Опубликовано 30 октября, 2010 · Жалоба Да, я уже по твоей прошивке сгенерил (см обновленный пост выше) -> ошибка осталась. Через UART нет возможности запустить, плата готовая, без uart. еще у gcc (в кейле вроде не gcc) есть проблемка с бинарниками, может здесь чтото подобное http://www.microbuilder.eu/projects/LPC134...43CodeBase.aspx LPCRC - A command-line utility to correct the checksum value of compiled .bin files. This ensures that the files will not be rejected by the USB bootloader. Windows binary and GNU GCC source included. Да, я в курсе. Это делается второй командой Run 2: AutoVerifyCode.exe .\Obj\USBMem.bin а всякие таймеры, кнопочки, светодиоды работают? HID работает, и CDC (соединил пины у микрухи для эхо). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
brunql 0 30 октября, 2010 Опубликовано 30 октября, 2010 · Жалоба HID работает, и CDC (соединил пины у микрухи для эхо) Как проверял CDC? По идее CDC реализует интерфейс UART между приложением PC <-> USB <-> UART (в прошивке) Какие тут пины можно было соединить? или у тебя трансляция того что приходит c USB в железный UART и обратно? Насчет USBMem возможно Windows7 работатет с FAT немного не так как XP? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 30 октября, 2010 Опубликовано 30 октября, 2010 · Жалоба Загрузил прошивку CDC в камень через USB Bootloader, запустил, установил дрова из директории проекта, открыл терминал, посылал символы и получал эхо. Ножки TXD и RXD на микроконтроллере замкнул. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться