yashok
Участник-
Постов
60 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о yashok
-
Звание
Участник
- День рождения 04.01.1987
Контакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
-
Передаеться пакет 512 байт, потом ответ на команду 13 байт. РАзмер точки 64. Так вот иногда вместо передачи 512 байт передается 461. Т.е. пердаеться 448 байт данных и 13 байт ответа на команду. Уже все прошерстил, ничего не понимаю. В статусе dma все правильно, и нужное количество байт перегнал, и адрес последнего переданного байта правильный (именно когда передаеться не полный 512 байтовый пакет). В проверках свободна ли точка контролировал и первый и второй буфер точки. НИЧЕГО НЕ ПОМОГАЕТ!!! На счет того что не передаються именно последнии данные это я написал неверно. Из эксперементов стало видно, что могут не передоваться обсолютно любые 64 байта внутри 512-ти байтового пакета.
-
Всем добрый день. Ситуация следующая. Пытаюсь запустить в своем проекте usb mass storage device. Использую библиотеку nxpusblib. Ранее был опыт работы с USB CDC и USB RNDIS, так же пользовался этой библиотекой. Все сделал на основе примера из этой библиотеке, дискрипторы взял из радного примера от LUFA. Вообщем при передачи, парой передаються не все данные, не передается последняя часть данных равная размеру точки. Менял размер точек и в usb анализаторе видел, что всегда не хватает количества данных, которое равняеться размеру точки. Причем все может работать долго (пару минут) не наступит такая ситуация, а бывает и 10 секунд не проработает. Может кто-нибудь сталкивался с таким. Испульзую IAR.
-
Проверял и на разных сторонних терминалах. Ничего, данные от контролера не приходят. Заметел такую вещь. Если после заливки кода напрямую, выкл/вкл питание и зайти в дебаг режим тоже работать не будет , а если рестартануть контролер из дебага все работает. Также заметил, что когда данные не отправляются, также в регистре соответствующего endpoint'а не выставляется бит отправки.
-
Всем добрый день. Появилась следующая проблема. Есть тестовый проект, где происходит элементарное общение контролера с программой на компьютере. Программа шлет пару байт, контролер принимает и отвечает (также пару байт). Использую стандартную библиотеку для USB от STM. В дебаге все работает - появляется com порт, до контролера доходят данные, он отвечает и ответ доходит до программы на компьютере. Но стоит просто залить прошивку (без дебага), как все перестает нормально работать, а именно до программы на компе данные дойти не могут. Com порт определяется, контролер получает корректные данные (проверел по светодиодам), а вот программа на компе ничего не получает. Мож кто подскажет вчем дело.
-
Шифрование прошивки
yashok ответил toweroff тема в ARM, 32bit
Я шифрую по алгоритму Triple DES (3DES). При заливке на ходу расшифровывается и пишется во флэш. Процы из серии lpc 17xx с прошивкой ~500 kB прошиваются чуть меньше чем за 6 мин. Вся эта защита необходимо если перепрошивкой занимается конечный пользователь. -
GPRS Mobile-IPv4
yashok ответил yashok тема в Сотовая связь и ее приложения
Все разобрался. Оказывается когда IPCP отправлял ему запрос по пораметрам сети модем отвечал, что не нужно спрашивать его DNS (такая симка попалась). IPCP видит что ответ не с параметрами, говорит что пришла ерунда и повторно дает запрос на параметры. Когда подключил модем к компу увидел, что он также при подключении запрашивает параметры, модем ему отвечает, что DNS запрашивать не нужно, винда повторно запрашивает параметры только уже без DNS и все впорядке. Убрал в lwIP запрос на DNS (ppp_settings.usepeerdns = 0;) и корпаративная симка заработала. Но почему работал TM1 НЕ ПОНЯТНО! -
GPRS Mobile-IPv4
yashok опубликовал тема в Сотовая связь и ее приложения
Доброго времени суток, форумчане. Столкнулся со следующей проблемой. На форуме пока не нашел ответа. Есть две платы с разными процессорами и модемами. Модемы Sim300 и TM1. Для установки ppp соединения используется lwIP. Код залитый в микропроцессоры практически едентичен (отличия по части железа). Проблема заключается в следующем. При подключении по GPRS, когда в дело вступает IPCP протокол (LCP), сеть шлет параметр настраиваемых опций - 4 (Mobile-IPv4). К сожелению lwIP поддерживает только первых 3 (IP адреса, Протокол сжатия IP, IP адрес). Это выяснилось при дебаге платы где стаит SIM300. На плате где стоит модем Teltonika TM1 подключение проходит нормально, но возможности дебажить эту плату нет. Может как-то можно настроить GPRS, что бы сеть не работала с Mobile-IPv4?? Зарание благодарен. -
UART0 protocol problems
yashok ответил S1LENCE тема в ARM, 32bit
Еще бы не плохо в прерывании смотреть то ли это символ пришел, то ли тайм-аут сработал. -
VIC у lpc21xx и lpc23xx отличается. Для 23-х необходимо VICIntSelect &= ~(1 << 9); VICVectAddr9 = (uint32_t)&I2CISR; VICVectPriority9 = 13; VICIntEnable |= (1 << 9);
-
Была недавно похожая ситуация. При измерении АЦП иногда выдовал 0. Измерения проводились сразу на нескольких каналах и на всех этих каналах проскакивал ноль. Удалось определить, что АЦП начинает глючить, когда происходит передача данных через GSM модем, установденный на плате. Последовательность измерений была такая. 1. По прерыванию от таймера запускался на измерение первый нужный канал. 2. По прерыванию от АЦП выяснялось, какой канал преобразовался, бралось его значение, этот канал выключался и включался на преобразование следующий нужный канал. 3. Когда преобразовались все каналы, опять ждалось прерывание от таймера. Помагло следующая вещь. Когда случается прерывание от АЦП, записываю в управляющий регистр ADCR в биты 24:26 три нуля, указывая что измерения не производятся. Аномалия с нулями исчезла.
-
В железе в прерывания попадаете?? Линии к плюсу подтянуты??
-
I20CONCLR = 0x000000FF; Может лучше придерживаться советов из мануала и очистить только нужные биты I2CONCLR= 0x6С;
-
Вы компилируете со смещением адресов и прошивку в ram заливаете?? Если не, то это лишнее MEMMAP = 0x02;