Hello,
I'm trying to get access to Qualcomm Debug Subsystem on my DragonBoard 410c by using the mmap. Just want to read data available in DQSS_DAPROM. However when I try to do that, the system is rebooting. Any idea why I can't do that?
int size = 4096; off_t addr_to_map = 0x00800000; //according to docs this is an address of QDSS_DAPROM
int mem_fd = open("/dev/mem", O_RDWR); localv = mmap(0, size, PROT_READ, MAP_SHARED, mem_fd, addr_to_map); printf ("mmap completed %p.\n", localv); tab = (unsigned int *)localv; printf ("%u\n", tab[0]);
Result of my application execution: mmap completed 0x7fa29f0000.[ 484.585864] Synchronous External Abort: synchronous external abort (0x92000010) at 0x0000007fa29f0000
Regards Marek
Linux linaro-developer 4.14.0-rc1+ #2 SMP PREEMPT Thu Sep 21 10:39:33 CEST 2017 aarch64 GNU/Linux
On Mon, Oct 02, 2017 at 11:15:27AM +0200, marekzmyslowski wrote:
Hello,
I'm trying to get access to Qualcomm Debug Subsystem on my DragonBoard 410c by using the mmap. Just want to read data available in DQSS_DAPROM. However when I try to do that, the system is rebooting. Any idea why I can't do that?
int size = 4096; off_t addr_to_map = 0x00800000; //according to docs this is an address of QDSS_DAPROM
int mem_fd = open("/dev/mem", O_RDWR); localv = mmap(0, size, PROT_READ, MAP_SHARED, mem_fd, addr_to_map); printf ("mmap completed %p.\n", localv); tab = (unsigned int *)localv; printf ("%u\n", tab[0]);
Result of my application execution: mmap completed 0x7fa29f0000.[ 484.585864] Synchronous External Abort: synchronous external abort (0x92000010) at 0x0000007fa29f0000
Seems this external exception relate with clock, so need enable RPM_QDSS_CLK clock firstly? https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch...
Thanks, Leo Yan
On 2 October 2017 at 02:15, marekzmyslowski marekzmyslowski@poczta.onet.pl wrote:
Hello,
I'm trying to get access to Qualcomm Debug Subsystem on my DragonBoard 410c by using the mmap. Just want to read data available in DQSS_DAPROM. However when I try to do that, the system is rebooting. Any idea why I can't do that?
int size = 4096; off_t addr_to_map = 0x00800000; //according to docs this is an address of QDSS_DAPROM
int mem_fd = open("/dev/mem", O_RDWR); localv = mmap(0, size, PROT_READ, MAP_SHARED, mem_fd, addr_to_map); printf ("mmap completed %p.\n", localv); tab = (unsigned int *)localv; printf ("%u\n", tab[0]);
Result of my application execution: mmap completed 0x7fa29f0000.[ 484.585864] Synchronous External Abort: synchronous external abort (0x92000010) at 0x0000007fa29f0000
This is usually an indication the memory area you are trying to reach is not accessible - either the power domain hasn't been switched on or the clock(s) aren't enabled. Is there a device driver specific to the DQSS_DAPROM?
Regards Marek
Linux linaro-developer 4.14.0-rc1+ #2 SMP PREEMPT Thu Sep 21 10:39:33 CEST 2017 aarch64 GNU/Linux
CoreSight mailing list CoreSight@lists.linaro.org https://lists.linaro.org/mailman/listinfo/coresight