Jump to content

    

V_M_Luck

Участник
  • Content Count

    55
  • Joined

  • Last visited

Everything posted by V_M_Luck


  1. Спасибо, все внимательно почитаю. Про подписывание - полный бред. Выходит нужно купить сертификат, что-бы подписать драйвер от Windows?
  2. Всем спасибо. xemul, как-то так и буду пытаться сделать.
  3. Что-то я читал, читал по subj и так ничего не прояснил. Я правильно понимаю, чтобы мой девайс с двумя bulk endpoints успешно заработал под win xp, 7, необходимо просто правильно написать inf? Где можно внятно почитать, как именно правильно писать inf? Смущает момент подписывания inf. Это как-то обходится? Заранее благодарен за любую информацию.
  4. Это понятно. Я так и начал делать, но шумы не дают четко определить эту точку. Я имел в виду, можно уточнять место перегиба. Уточняю. Не знаю перегиб там или излом. Более четких картинок не получается. Может и перегиб. Если уйти в физику, то в этой точке удар. Так-что может и излом. С другой стороны датчик, выдающий электрический сигнал, не сможет среагировать мгновенно - так что перегиб. Интересует именно эта. А на картине их три. Вообще я думал так. Аппроксимирую чем-нибудь попроще, найду производные и все ОК. Можно идти в этом направлении? Чем таким аппроксимировать?
  5. Доброго времени суток! Задача такая. Есть довольно гладкая линия. На ней есть неярко выраженный излом. Плюс кое-какой несильный шум. Посоветуйте вычислительно простой алгоритм определения момента излома (номера отсчета). Сигналы периодически повторяются. Наверное можно как-то накапливать и корректировать результат. Заранее благодарен.
  6. Я в шоке... Работает. Электроника - наука о контактах.
  7. А для такой схемы как? До буферов с процессора вход и выход TMS и TCK на разные ножки... схема
  8. Спасибо, оно. А fCK_INT - это частота периферийного клока на TIMx?
  9. Необходимо подключить инкрементальный энкодер к таймеру TIM2 на STM32. Сигналы шумные. Вырыл в даташите, что по входам можно включать фильтры, которые представляют собой счетчики (filter downcounter), тактируемы клоком fDTS. Вопрос в том, что это за клок? Где про него что-нибудб сказано в даташите? :smile3046:
  10. Подскажите, как в C-Spy в макросе запустить отлаживаемый процессор? IAR ARM 5.2, MT-LINK. То есть, бряк сработал, макрос что-то выкинул в лог и по-новой запустил проц. Может что-то вроде __jlinkExecCommand("go");? Так не работает...
  11. Большое спасибо за ответы! :a14:
  12. Что вы имеете в виду? Я использую как основу Atmel пример. Там в board_lowlevel.c был вызов BOARD_RemapRam(); - я его закоментарил. На всякий случай проверяю на старте GPNVM[3] бит. Еще есть лазейки для "случайного" ремапа?
  13. Похоже, что все-таки я неправильно настраивал ТТ. Вариан тпервых записей, с которыми я мог отключать и подключать DCache: 0x00200C1A, 0x00100C1A,0x00200C1A,0x00300C1E Первая запись существенна. Хотя действительно, это совершенно не очевидно. Я имел ввиду, если под DMA выделить часть SRAM, отключив в ней кэширование и буферизацию. В общем я так и сделал. Описал таблицу дескрипторов второго уровня и дал 1 КБ SRAM под DMA. Кстати: в PDC нужно указывать физические, а не виртуальные адреса. Как-то не удобно... Похоже, что все-таки я неправильно настраивал ТТ. Вариан тпервых записей, с которыми я мог отключать и подключать DCache: 0x00200C1A, 0x00100C1A,0x00200C1A,0x00300C1E Первая запись существенна. Хотя действительно, это совершенно не очевидно. Я имел ввиду, если под DMA выделить часть SRAM, отключив в ней кэширование и буферизацию. В общем я так и сделал. Описал таблицу дескрипторов второго уровня и дал 1 КБ SRAM под DMA. Кстати: в PDC нужно указывать физические, а не виртуальные адреса. Как-то не удобно...
  14. Попадаю из первого обращения к стеку. Я пользуюсь примером EugenB2. Единственное, я маплю адреса Boot Memory на Flash, поэтому первая запись TT 0x00000C1A. Когда отключаю DCache, убираю запись в TT 0x00300C1E (SRAM) - попадаю в Data Abort. То же, если TT не исправлять. Если использовать SRAM, то необходимо его дробить на мелкие страницы?
  15. Спасибо за ответ. Это в общем-то понятно. Вопрос возник вот почему. Я, разбираясь в этом вопросе провожу некоторые эксперименты. Я настроил UART на выдачу через PDC. Ну и шлю на ПК строчки. Без ММУ и кэшей все работает. Подключаю ММУ, все ОЗУ - одним сектором, кэш и буферизация включены, DCash, ICASH включены - все ОК. Отключаю DCash - тоже работает, но начинает глючить дебаггер. Отключаю кэш и буферизацию в ММУ - не работает! Вишу в Data abort. Как же корректно сконфигурировать ММУ и кэши для использования DMA?
  16. Уважаемый vmp! Возвращаясь к вашему примеру, не могли бы вы пояснить, как имеено связаны биты C и B описания секций с областью DMA? Интуитивно понятно, но чем все-таки это чревато? Уважаемый vmp! Возвращаясь к вашему примеру, не могли бы вы пояснить, как имеено связаны биты C и B описания секций с областью DMA? Интуитивно понятно, но чем все-таки это чревато?
  17. Практика лучше теории. Я у себя отключил мму - работает. Отключил мму и кэши - работает. То есть и прерывания то-же. Проблема где-то еще.
  18. Без мму могут быть проблемы с кэшем.
  19. Начинаю работать с SAM9XE, IAR 5.2. Во всех примерах в board_lowlevel.c в конце инициализации выполняется RamRemap. Покапавшись, я обнаружил, что ремап используется для обслуживания векторов прерываний с адреса 0. Я решил разместить вектора во флеш. У брал ремап, подправил icf, чтобы .vectors линковались во флеш, на старте проверяю GPNVMBit[3] - он в "1". Все вроде ок, но не работает. Какие здесь могут быть еще грабли? Сорри. Все заработало. Был мой глюк. Единственный вопрос к гуру. Нет ли в таком расположении векторов каких-нибудь принципиальных проблем?
  20. Что-то не могу разобраться. Могу ли я разместить функции прошивки в BANK1 (32K) и используя их шить FLASH в BANK0, естественно, отключив прерывания. Без отдельного бутлоадера. Пока что это не получилось. Функции прошивки в ОЗУ - все работает, просто для проекта ОЗУ маловато. Надо экономить. Keil 3.22
  21. Спасибо, сейчас попробую. По поводу , то в доках сказано, что только USB умеет выставлять "Last burst and last single requests", т.е. корректно завершать передачу по DMA. С SSP то же все работает, но там не очень очевидно отслеживается конец. Я запускал передачу по SSP по DMA, так что бы дождаться конца приема по DMA, нужно было дождаться окончания работы канала DMA на отправку, а потом еще и ожидать опустошения FIFO и регистра DR SSP. Спасибо брат!!! :a14: :beer: ЗАРАБОТАЛО!
  22. Продолжая разбираться получил следующее: если сделать Flow Controller - SSP, то DMA идет. Но в этом случае не отслеживается колличество принятых байт, а мне бы этого хотелось.
  23. Необходимо запустить dma на SSP на прием данных. str911faw44, настройка SSP: SSP_DeInit(SSP0); SSP_InitStructure.SSP_FrameFormat = SSP_FrameFormat_Motorola; SSP_InitStructure.SSP_Mode = SSP_Mode_Master; SSP_InitStructure.SSP_CPOL = SSP_CPOL_High; SSP_InitStructure.SSP_CPHA = SSP_CPHA_2Edge; SSP_InitStructure.SSP_DataSize = SSP_DataSize_8b; SSP_InitStructure.SSP_ClockPrescaler = 4; SSP_InitStructure.SSP_ClockRate = 59; SSP_Init(SSP0, &SSP_InitStructure); SSP_DMACmd(SSP0, SSP_DMA_Transmit, ENABLE); SSP_DMACmd(SSP0, SSP_DMA_Receive, ENABLE); SSP_Cmd(SSP0, ENABLE); настройка DMA: DMA_DeInit(); DMA_Cmd(ENABLE); DMA_StructInit(&DMA_InitStruct); DMA_InitStruct.DMA_Channel_LLstItm=0; DMA_InitStruct.DMA_Channel_SrcAdd=(u32)((&SSP0->DR)); DMA_InitStruct.DMA_Channel_DesAdd=(u32)(rdata); DMA_InitStruct.DMA_Channel_SrcWidth= DMA_SrcWidth_Byte; DMA_InitStruct.DMA_Channel_DesWidth= DMA_DesWidth_Byte; DMA_InitStruct.DMA_Channel_FlowCntrl= DMA_FlowCntrl2_DMA; DMA_InitStruct.DMA_Channel_Src = DMA_SRC_SSP0_RX; DMA_InitStruct.DMA_Channel_TrsfSize =9; DMA_ChannelDESIncConfig (DMA_Channel2, ENABLE); DMA_Init(DMA_Channel2,&DMA_InitStruct); DMA_ChannelCmd (DMA_Channel2,ENABLE); далее передаю по SSP 9 байт и смотрю что в приемном буфере. А там ничего. Для определения окончания приема использую опрос регистра TCRISR. Не работает. Что не так?