Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PruManager RProc+UIO implementation #1

Closed
wants to merge 62 commits into from
Closed

Conversation

DhruvaG2000
Copy link
Collaborator

@DhruvaG2000 DhruvaG2000 commented Jul 11, 2021

The code has been tested on the BELA image so far using the sample_streamer example.

  • I am able to get audio output fine.
  • So far I have ported all the prussdrv functions mentioned here on forum into PruManager.
  • If this PR receives your approval(ie. if the code looks okay to you) then I can move on to work on debugging Rproc using newer TI 4.19 kernels, as UIO is possibly not properly working even on the BBB v4.19. I planned to do this in a step by step approach first where I first start by replacing only the start stop using rproc and let uio handle the rest. However in the light of the fact that UIO drivers aren't working properly, I will need to completely adapt to RProc + Mmap approach in one go (which can take upto a week or two)

giuliomoro and others added 14 commits July 2, 2021 17:16
- Added ENABLE_PRU_UIO Flag to Makefile
- The new UIO Flag has been added as a macro to:
    - `core/PRU.cpp`
    - `core/PruManager.cpp`
    - include/PruManager.h
- also fix data ram line which was earlier using shared ram.
- This commit implements major changes like replacing map_pru_mem with 2
seperate functions getSharedMemory and getOwnMemory
- added many conditional macros to help define according to requirement
to use rproc or uio.
- added an ifdef before the exec code part. Not sure if I should make
another function instead for execution under base class, not sure if
that is necessary because at the moment the loading code and executing
is handled in rproc::start()
- Files modified: core/PRU.cpp, core/PruManager.cpp, include/PruManager.h
- modified:   core/PruManager.cpp
- modified:   include/PruManager.h
pass pru_number and verbose flags to respective constructors when
prumanager object is created in PRU constructor
modified:   Makefile
modified:   core/PRU.cpp
@DhruvaG2000 DhruvaG2000 force-pushed the PruManager branch 2 times, most recently from 93d54ed to ec09561 Compare July 13, 2021 09:22
modified:   Makefile
modified:   core/PRU.cpp
modified:   core/PruManager.cpp
modified:   include/PRU.h
modified:   include/PruManager.h
@DhruvaG2000 DhruvaG2000 marked this pull request as ready for review July 13, 2021 09:30
include/PruManager.h Outdated Show resolved Hide resolved
include/PruManager.h Outdated Show resolved Hide resolved
include/PruManager.h Outdated Show resolved Hide resolved
include/PruManager.h Outdated Show resolved Hide resolved
core/PruManager.cpp Outdated Show resolved Hide resolved
core/PruManager.cpp Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
new file:   pru/ai-pru_rtaudio.p
new file:   resources/rproc-build/common/Makefile
new file:   resources/rproc-build/common/README.md
new file:   resources/rproc-build/common/am335x_pru.cmd
new file:   resources/rproc-build/common/am57xx_pru.cmd
new file:   resources/rproc-build/common/init_pins_empty.h
new file:   resources/rproc-build/common/prugpio.h
new file:   resources/rproc-build/common/resource_table_0.h
new file:   resources/rproc-build/common/resource_table_1.h
new file:   resources/rproc-build/common/resource_table_empty.h
new file:   resources/rproc-build/common/write_init_pins.sh
new file:   resources/rproc-build/template.pru1_1.c
deleted:    pru/ai-pru_rtaudio.p
modified:   pru/pru_rtaudio.p
@DhruvaG2000 DhruvaG2000 changed the title PruManager UIO implementation PruManager RProc+UIO implementation Jul 29, 2021
@DhruvaG2000 DhruvaG2000 marked this pull request as ready for review July 29, 2021 17:37
@giuliomoro
Copy link
Owner

rproc + uio stuff refactored and (until 551dd96) merged into multi-codec

@giuliomoro giuliomoro closed this Jul 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants