Tool/software: Linux
Hi,
I am trying to read the DSP1 L2 SRAM (addr: 0x4080 0000) with the devmem2 software tool.
I receive the message:
Bus error (core dumped)
Colin
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Linux
Hi,
I am trying to read the DSP1 L2 SRAM (addr: 0x4080 0000) with the devmem2 software tool.
I receive the message:
Bus error (core dumped)
Colin
Reading
CM_DSP1_CLKSTCTRL - at address 0x4A00 5400
CM_DSP1_DSP1_CLKCTRL - at address 0x4A005420
I see the clock is gated and module is disabled.
Is there a way to enable DSP1 from Linux? or do I need to modify the dtsi and recompile?
Do you already have a program that is running? If so, it's probably that the core has idled. You can force the core to stay active through Linux.
First, figure out which core is your DSP. (This example comes from AM571x so only one DSP.)
root@am57xx-evm:~# cat /sys/kernel/debug/remoteproc/remoteproc*/name
58820000.ipu
55020000.ipu
40800000.dsp
4b234000.pru0
4b238000.pru1
4b2b4000.pru0
4b2b8000.pru1
root@am57xx-evm:~# ls /sys/kernel/debug/remoteproc/
remoteproc0 remoteproc1 remoteproc2 remoteproc3 remoteproc4 remoteproc5 remoteproc6
root@am57xx-evm:~# cat /sys/kernel/debug/remoteproc/remoteproc2/state
suspended (1)
root@am57xx-evm:~# echo on > /sys/bus/platform/devices/40800000.dsp/power/control
root@am57xx-evm:~# cat /sys/kernel/debug/remoteproc/remoteproc2/state
running (2)
It is the AM5728 EVM.
I do not have a 'state' or 'power' files / directories in the remoteproc2.
I created my SD card using the zipped img for windows and followed the instructions on the wiki.
Are you using Linux or Linux-RT? Can you run "uname -a" and post the output?
Let's try this again... I think everything we need is in the /sys/class/remoteproc directory.
Can you run these commands:
cd /sys/class/remoteproc
cat remoteproc*/firmware
cat remoteproc*/state
It looks good and is straightforward. However, where I still have some confusion is how the platform driver performs the power management without me having to explicitly do an echo on > /sys/class...
I could run the DSPDCE firmware but the DSP state would show as 'suspended'. Was the DSP placed in a 'running' state by the platform driver when the host executed copycodectest? And the subsequently placed back into a 'suspended' state after execution? If so, how?