Jump to content
    

Zynq подключение камеры

Как вариант посмотрите как настроить прерывание не по уровню, а по фронту.

Можно сделать или через отдельный контроллер GPIO или вроде бы даже напрямую в контроллере прерываний.

Share this post


Link to post
Share on other sites

Как вариант посмотрите как настроить прерывание не по уровню, а по фронту.

Можно сделать или через отдельный контроллер GPIO или вроде бы даже напрямую в контроллере прерываний.

Да настроил,спасибо. С помощью функции XScuGic_SetPriorityTriggerType.

Теперь все правильно работает. Остается как то скачать дамп памяти в файл и посмотреть. Пытаюсь через XSCT консоль - но не понимаю. Использую вот такую команду - mrd -bin -file mem.bin 0x01000000 360960. Но не понимаю где этот файл найти, или нужно сначала его открыть, потом записать, потом закрыть. А что за команды?

Edited by ilyaprok

Share this post


Link to post
Share on other sites

В TCL консоли вы можете понять в какой рабочей директории находитесь командой dir.

Спасибо!

получил первое изображение:

37IFUAjgQUqWsk39Amv_VA.png

Вам toshas и svedach Большое Спасибо!!!! Я прям рад! :biggrin:

Однако вопрос возник - если идет запрос к DRAM памяти сразу несколькими мастерами как будет происходит чтение или запись? Можно например обращаться к памяти в DRAM, пока идет чтение или запись в тот же регион с помощью DMA? А если несколько DMA использовать - как они будут делить доступ?

И еще вопрос по поводу глобальных переменных - где они создаются в кеше? какого уровня?

И что означает эта функция, зачем очищать кэш?

Xil_DCacheFlushRange

Я использую по совету svedach

    
Xil_Out32(XPAR_AXI_DMA_0_BASEADDR + 0x48, AddrDst);
Xil_DCacheFlushRange(AddrDst, 752);
Xil_Out32(XPAR_AXI_DMA_0_BASEADDR + 0x58, 752);

И еще получается 480*60=28800 раз в секунду вызывается прерывание по DMA, это же съедает много процессорного времени?

Edited by ilyaprok

Share this post


Link to post
Share on other sites

Добрый день! Поздравляю!

Xil_DCacheFlushRange - это сброс кешированных данных из кеша в ДДР. Как я смог разобраться, несмотря на то, что память распределена в ДДР, Цинк перегоняет данные в кеш, а потом как будет время - в ДДР. Эта команда заставляет его скинуть последние принятые данные в ДДР.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...