Перейти к содержанию
    

serwz

Участник
  • Постов

    23
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о serwz

  • Звание
    Участник
    Участник
  1. Sam7x256 и EMAC data abort ....

    Ну тогда совсем не понятно, откуда берется признак EMAC abort, что причина? драйвер только читает память контроллера и анализирует уже пришедшие пакеты, при чет тут EMAC data abort? Ладно. Спасибо за ответы, еще раз проверю драйвер.
  2. Sam7x256 и EMAC data abort ....

    Спасибо за совет, но я пока не понимаю как я могу разрулить ситуацию с этим Я DMA не управляю и шиной тоже и если возникает ошибка • OVR: Receive Overrun The DMA block was unable to store the receive frame to memory, either because the bus was not granted in time or because a not OK hresp(bus error) was returned. The buffer is recovered if this happens. то каким местом она может быть прицеплена к драйверу я затрудняюсь ответить. У нас тут сетка большая и ходят разные пакеты, в том числе и битые - может проблема в этом (не уверен). По поводу обработчика исключений, читал разные мануалы и т.д. все пишут обрабатывается как стандартное прерывание. Но могу ошибаться, с ядром АРМа знаком не досконально. Если приведете пример обработчика - большое спасибо.
  3. Sam7x256 и EMAC data abort ....

    Может вопрос в обработчике, примеров обработки этого исключения не нашел, ниже привожу текст может в чем ошибка? Data_Abort_Handler_Entry: ;------------------------- ;- Manage Exception Entry ;------------------------- ;- Adjust and save LR_irq in IRQ stack sub lr, lr, #8 stmfd sp!, {lr} ;- Save r0 and SPSR (need to be saved for nested interrupt) mrs r14, SPSR stmfd sp!, {r0,r14} ;- Enable Interrupt and Switch in Supervisor Mode msr CPSR_c, #SVC_MODE ;- Save scratch/used registers and LR in User Stack stmfd sp!, { r1-r3, r12, r14} ;---------------------------------------------- ;- Branch to the routine pointed by the AIC_IVR ;---------------------------------------------- b Data_handler ;---------------------------------------------- ;- Manage Exception Exit ;---------------------------------------------- ;- Restore scratch/used registers and LR from User Stack ldmia sp!, { r1-r3, r12, r14} ;- Disable Interrupt and switch back in IRQ mode msr CPSR_c, #I_BIT | IRQ_MODE ;- Mark the End of Interrupt on the AIC ldr r14, =AT91C_BASE_AIC str r14, [r14, #AIC_EOICR] ;- Restore SPSR_irq and r0 from IRQ stack ldmia sp!, {r0,r14} msr SPSR_cxsf, r14 ;- Restore adjusted LR_irq from IRQ stack directly in the PC ldmia sp!, {pc}^ Data_handler определяется в си файле __arm void Data_handler(void) { EMAC_Init(); } Все компилится в режиме генерации ARM кода
  4. Sam7x256 и EMAC data abort ....

    MC_ASR = 0х05010А01 MC_AASR - непонятный адрес, каждый раз меняется Я понимаю что OVR: Receive Overrun все делает железка. По поводу DataAbort Написал простейший хандлер, сразу вернуться из прерывания, но прерывание продолжает висеть и зацикливается на самом себе, то есть вызывается снова. Как сбросить эту ситуацию - не знаю? Как сбросить DataAbort?
  5. Sam7x256 и EMAC data abort ....

    Под прием распределенно 200 блоков по 128 байт, битик в статусе приема BNA: Buffer Not Available не устанавливается, т.е. и драйвер и DMA работает. Иногда устанавливается OVR: Receive Overrun, но как с этим бороться не знаю. Потому и прошу помощи - как эту ошибку обрабатывать? Как сбрасывать этот data abort ?
  6. Sam7x256 и EMAC data abort ....

    Устройство на Sam7x256 в большой сетке периодически уходит в EMAC data abort. Устанавливается бит SVMST_EMAC: Saved EMAC Abort Source, почему это случается и как бороться, может кто сталкивался? Как обрабатывать эту ситуацию ? Если работать с устройством p2p, то работает днями без проблем.
  7. Вот бы еше замерить и сравнить скорость выполнения из L2 с функцией DSPlib DSP_mat_trans(....).
  8. В посте много обсуждалось разных причин использования DSP процессороввместо GPU, но надо добавить одну тоже немаловажную (в порядке самокритики) - лень разработчика :) . Освоив один камень и выловив его глюки, очень тяжело заставить себя перескочить на другое CPU. Программировал на 64х, а следующий проект на 8051, это как пересадка с формулы-1 на самокат, подсознательно ищешь причину взять побыстрее DSP и все за 2 дня закончить .
  9. Можно купить и DSK, но если собираетесь продавать устройства с программным кодом, то там в лицензионном соглашении написано, что с платкой делайте что хотите, а для написания коммерческих приложений нельзя использовать программные средства DSK.
  10. Сталкивался с подобными проблемами при работе EDMA каналов, обычно решается распределением приоритетов. У меня работало одновременно 12 каналов EDMA. В зависимости от задачи, надо аккуратно распределить,urgent, hight, medium, low. Пользовался CSL функцией EDMA_setPriQLength(). Рекомендую посмотреть литературу spru234.pdf, spraa02.pdf, там все написано.
  11. Попробуйте скачать фирменный драйвер для DSK5510 с http://emulators.spectrumdigital.com/c5000/ Там прямо указано: Release Notes for Spectrum Digital CCS 3.1 Platinum Emulation Drivers ... ... ... DSKs Supported: DSK5416, DSK5510, DSK6713, DSK6416
  12. Однозначно приобретайте Starter Kit. Готовое железо со встроеным JTAG отладчиком - очень помогает вначале не заморачиваться с отладкой аппаратуры. Если переходите с Matlaba и нужна быстрая проверка алгоритмов, то лучше взять kit с плавающе точкой (TI 6727,6713). На каждом ките есть разьемы расширений, подключаете свое устройство и можно даже делать мелкую серию ~ 10 шт/год :-)). Смотреть киты www.spectrumdigital.com. Если смотреть совсем круто, то для проверки алгоритмов взять EVMTCI6482, на них siemens делает базовые станции GSM, 3G и т.д.
  13. Более полную документацию лучше посмотреть на сайте производителя по ссылке http://c6000.spectrumdigital.com/dsk6455/v2/
  14. На тексасе Booting and Flashing via the DaVinci TMS320DM644x Serial Interface http://www.ti.com/litv/pdf/spraai4 Basic Application Loading Over Serial Interface for the DaVinci DM644x spraai0.pdf
  15. >>Если не затруднит, в чем там ошибки(сам собирал, работает, потому и спрашиваю=)). Никакой >>ценности исходные коды, без кодов для CPLD не представляют. Пару раз писал вам в почту >>касательно возможности сделать прошивку под другие кристаллы из MAX3000A(в других корпусах), >>никто не ответил. >>Да и с самой схемой: >>Схема РРМ510 приведена со всеми >>доработками. Микросхемы применялись те, >>которые можно быстро купить. Основное >.отличие - вместо микросхемы XCR3128VQ100 >>использовал EPM3128ATC100-10 (почти >>pin2pin) >>-несколько настораживает. >>Кстати девайс с XDS510.narod.ru Сделан так же на основе того, что было выложено на EDABOARD. И >>в списке изменений нет ничего о редактировании кода CPLD. Если внимательно почитать документацию на микросхемы XCR3128VQ100 и EPM3128ATC100-10, то они различаются только несколькими добавочными пинами i/o в XCR3128VQ100, в микросхеме EPM3128ATC100 эти пины GND. Поэтому если в схему запаять XCR3128VQ100 и прошить нужной прошивкой, то все будет работать :-) Так сложилось, что быстро не смог купить XCR3128VQ100, поэтому использовал EPM3128ATC100 и потому и написал, что почти pin2pin. Схему разрабатывал три года назад, посмотрев прошивку CPLD и чего то там не нашел, честно сейчас не помню :-))) Взял и переписал все заново на верилоге по документации на PPC, всунув туда только необходимое. По поводу писем - все может быть, бываю занят. Если что то надо, пишите в заголовок что нибудь осмысленное по этому поводу (спам задолбал).
×
×
  • Создать...