Spaces:

arjun.a
range data
5aefcf4
Ticket Name: TDA2EVM5777: visual-sdk example: messageq_single.xem4 - where is the source code?
Query Text:
Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello *! I've got some trouble bringing up an "unusual" use-case on the TDA2-5777x eval board. I'm fighting with remoteproc booting the subcores with customer code compiled by gnu-toolchain. So far, I'm able to compile working code (checked with ccs and JTAG, binary load...), but something is throwing the error: "Data Access in User mode during Functional access" I didn't change the dts - stuff, so there must be something wrong in the custom build code. I would like to take a look to the "well running" code example, called: messageq_single.xem4 ...but: I can not find the sources... I grepped through the hole visual-sdk, nothing! No "cmd" or other file containing this name. I removed all "*.xem4" binaries -> "make clean all" after that... no "xem4" files have been build. I would be glad to take a look into "how this well running code" have been compiled... It's necessary to find the errors in my own code, which based on a "non supported" GNU-Build Makefile build environment, which will allow real bare metal programming of the subcores, without any "SYS/BIOS" or RTOS fragments. It's a hard job, I know! But I would be glad if I can lean on something existing, which works in another environment... Just to prohibit reinventing the wheel... TNX - Marco.
Responses:
Additional information about the L3 custom Error: FIRST: omap-iommu 58882000.mmu: iommu fault: da 0x0 flags 0x0 THEN after a while (some reboots of M4 core): 44000000.ocp:L3 Custom Error: MASTER IPU1 TARGET GPMC (Read): Data Access in User mode during Functional access What does that mean? Where to look out for the reason of this error?
Full error log (dmesg): =================== [ 1050.717572] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000 [ 1050.717668] remoteproc remoteproc0: 58820000.ipu is available [ 1050.717679] remoteproc remoteproc0: Note: remoteproc is still under development and considered experimental. [ 1050.717688] remoteproc remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compa tibility isn't yet guaranteed. [ 1050.719682] remoteproc remoteproc0: rsc: type 3 [ 1050.719695] remoteproc remoteproc0: rsc: type 0 [ 1050.719705] remoteproc remoteproc0: rsc: type 0 [ 1050.719714] remoteproc remoteproc0: rsc: type 0 [ 1050.719722] remoteproc remoteproc0: rsc: type 1 [ 1050.719729] remoteproc remoteproc0: rsc: type 1 [ 1050.719736] remoteproc remoteproc0: rsc: type 1 [ 1050.719744] remoteproc remoteproc0: rsc: type 1 [ 1050.719751] remoteproc remoteproc0: rsc: type 1 [ 1050.719758] remoteproc remoteproc0: rsc: type 1 [ 1050.719765] remoteproc remoteproc0: rsc: type 1 [ 1050.719772] remoteproc remoteproc0: rsc: type 1 [ 1050.719779] remoteproc remoteproc0: rsc: type 1 [ 1050.719786] remoteproc remoteproc0: rsc: type 1 [ 1050.719793] remoteproc remoteproc0: rsc: type 1 [ 1050.719800] remoteproc remoteproc0: rsc: type 3 [ 1050.719810] remoteproc remoteproc0: vdev rsc: id 7, dfeatures 1, cfg len 0, 2 vrings [ 1050.719822] remoteproc remoteproc0: vdev rsc: vring0: da a0000000, qsz 256, align 4096 [ 1050.719831] remoteproc remoteproc0: vdev rsc: vring1: da a0004000, qsz 256, align 4096 [ 1050.720826] remoteproc remoteproc0: vring0: va de000000 dma 0x9e000000 size 3000 idr 0 [ 1050.720876] remoteproc remoteproc0: vring1: va de004000 dma 0x9e004000 size 3000 idr 1 [ 1050.720898] remoteproc remoteproc0: powering up 58820000.ipu [ 1050.720911] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 627416 [ 1050.721024] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1 [ 1050.721052] remoteproc remoteproc0: rsc: type 3 [ 1050.721061] remoteproc remoteproc0: rsc: type 0 [ 1050.721071] remoteproc remoteproc0: carveout rsc: da 9d100000, pa 0, len 100000, flags 0 [ 1050.721453] remoteproc remoteproc0: carveout va de100000, dma 0x9e100000, len 0x100000 [ 1050.721480] remoteproc remoteproc0: carveout mapped 0x9d100000 to 0x9e100000 [ 1050.721489] remoteproc remoteproc0: rsc: type 0 [ 1050.721498] remoteproc remoteproc0: carveout rsc: da 9d200000, pa 0, len 100000, flags 0 [ 1050.722070] remoteproc remoteproc0: carveout va de200000, dma 0x9e200000, len 0x100000 [ 1050.722095] remoteproc remoteproc0: carveout mapped 0x9d200000 to 0x9e200000 [ 1050.722103] remoteproc remoteproc0: rsc: type 0 [ 1050.722112] remoteproc remoteproc0: carveout rsc: da 9d000000, pa 0, len 100000, flags 0 [ 1050.722488] remoteproc remoteproc0: carveout va de300000, dma 0x9e300000, len 0x100000 [ 1050.722512] remoteproc remoteproc0: carveout mapped 0x9d000000 to 0x9e300000 [ 1050.722521] remoteproc remoteproc0: rsc: type 1 [ 1050.722545] remoteproc remoteproc0: mapped devmem pa 0xb9000000, da 0xa0000000, len 0x100000 [ 1050.722553] remoteproc remoteproc0: rsc: type 1 [ 1050.722635] remoteproc remoteproc0: mapped devmem pa 0xba300000, da 0x90000000, len 0x500000 [ 1050.722643] remoteproc remoteproc0: rsc: type 1 [ 1050.722884] remoteproc remoteproc0: mapped devmem pa 0x60000000, da 0x60000000, len 0x10000000 [ 1050.722892] remoteproc remoteproc0: rsc: type 1 [ 1050.723017] remoteproc remoteproc0: mapped devmem pa 0x70000000, da 0x70000000, len 0x8000000 [ 1050.723025] remoteproc remoteproc0: rsc: type 1 [ 1050.723150] remoteproc remoteproc0: mapped devmem pa 0x78000000, da 0x78000000, len 0x8000000 [ 1050.723158] remoteproc remoteproc0: rsc: type 1 [ 1050.723181] remoteproc remoteproc0: mapped devmem pa 0x4a000000, da 0xaa000000, len 0x1000000 [ 1050.723189] remoteproc remoteproc0: rsc: type 1 [ 1050.723212] remoteproc remoteproc0: mapped devmem pa 0x48000000, da 0xa8000000, len 0x1000000 [ 1050.723220] remoteproc remoteproc0: rsc: type 1 [ 1050.723243] remoteproc remoteproc0: mapped devmem pa 0x54000000, da 0xb4000000, len 0x1000000 [ 1050.723251] remoteproc remoteproc0: rsc: type 1 [ 1050.723275] remoteproc remoteproc0: mapped devmem pa 0x5a000000, da 0xba000000, len 0x1000000 [ 1050.723282] remoteproc remoteproc0: rsc: type 1 [ 1050.723305] remoteproc remoteproc0: mapped devmem pa 0x5b000000, da 0xbb000000, len 0x1000000 [ 1050.723312] remoteproc remoteproc0: rsc: type 1 [ 1050.723336] remoteproc remoteproc0: mapped devmem pa 0x4e000000, da 0xae000000, len 0x100000 [ 1050.723827] remoteproc remoteproc0: rsc: type 3 [ 1050.723835] remoteproc remoteproc0: rsc: type 0 [ 1050.723843] remoteproc remoteproc0: rsc: type 0 [ 1050.723850] remoteproc remoteproc0: rsc: type 0 [ 1050.723858] remoteproc remoteproc0: rsc: type 1 [ 1050.723865] remoteproc remoteproc0: rsc: type 1 [ 1050.723872] remoteproc remoteproc0: rsc: type 1 [ 1050.723879] remoteproc remoteproc0: rsc: type 1 [ 1050.723886] remoteproc remoteproc0: rsc: type 1 [ 1050.723894] remoteproc remoteproc0: rsc: type 1 [ 1050.723901] remoteproc remoteproc0: rsc: type 1 [ 1050.723908] remoteproc remoteproc0: rsc: type 1 [ 1050.723915] remoteproc remoteproc0: rsc: type 1 [ 1050.723923] remoteproc remoteproc0: rsc: type 1 [ 1050.723930] remoteproc remoteproc0: rsc: type 1 [ 1050.724561] omap-iommu 58882000.mmu: iommu fault: da 0x0 flags 0x0 [ 1050.724572] remoteproc remoteproc0: crash detected in 58820000.ipu: type mmufault [ 1050.724586] omap-iommu 58882000.mmu: 58882000.mmu: errs:0x00000002 da:0x00000000 pgd:0xee5b400 0 *pgd:px00000000 [ 1050.724647] remoteproc remoteproc0: remote processor 58820000.ipu is now up [ 1050.724962] virtio_rpmsg_bus virtio0: rpmsg host is online [ 1050.725967] remoteproc remoteproc0: registered virtio0 (type 7) [ 1050.725979] remoteproc remoteproc0: rsc: type 0 [ 1050.725988] remoteproc remoteproc0: rsc: type 0 [ 1050.725996] remoteproc remoteproc0: rsc: type 0 [ 1050.726004] remoteproc remoteproc0: rsc: type 1 [ 1050.726012] remoteproc remoteproc0: rsc: type 1 [ 1050.726019] remoteproc remoteproc0: rsc: type 1 [ 1050.726027] remoteproc remoteproc0: rsc: type 1 [ 1050.726035] remoteproc remoteproc0: rsc: type 1 [ 1050.726043] remoteproc remoteproc0: rsc: type 1 [ 1050.726050] remoteproc remoteproc0: rsc: type 1 [ 1050.726058] remoteproc remoteproc0: rsc: type 1 [ 1050.726066] remoteproc remoteproc0: rsc: type 1 [ 1050.726073] remoteproc remoteproc0: rsc: type 1 [ 1050.726081] remoteproc remoteproc0: rsc: type 1 [ 1050.726186] remoteproc remoteproc0: enter rproc_crash_handler_work [ 1050.726195] remoteproc remoteproc0: handling crash #1 in 58820000.ipu [ 1050.726204] remoteproc remoteproc0: recovering 58820000.ipu [ 1050.727811] remoteproc remoteproc0: stopped remote processor 58820000.ipu [ 1050.728700] remoteproc remoteproc0: rsc: type 3 [ 1050.728712] remoteproc remoteproc0: rsc: type 0 [ 1050.728721] remoteproc remoteproc0: rsc: type 0 [ 1050.728729] remoteproc remoteproc0: rsc: type 0 [ 1050.728737] remoteproc remoteproc0: rsc: type 1 [ 1050.728744] remoteproc remoteproc0: rsc: type 1 [ 1050.728752] remoteproc remoteproc0: rsc: type 1 [ 1050.728759] remoteproc remoteproc0: rsc: type 1 [ 1050.728766] remoteproc remoteproc0: rsc: type 1 [ 1050.728773] remoteproc remoteproc0: rsc: type 1 [ 1050.728780] remoteproc remoteproc0: rsc: type 1 [ 1050.728787] remoteproc remoteproc0: rsc: type 1 [ 1050.728794] remoteproc remoteproc0: rsc: type 1 [ 1050.728801] remoteproc remoteproc0: rsc: type 1 [ 1050.728809] remoteproc remoteproc0: rsc: type 1 [ 1050.728816] remoteproc remoteproc0: rsc: type 3 [ 1050.728826] remoteproc remoteproc0: vdev rsc: id 7, dfeatures 1, cfg len 0, 2 vrings [ 1050.728836] remoteproc remoteproc0: vdev rsc: vring0: da a0000000, qsz 256, align 4096 [ 1050.728845] remoteproc remoteproc0: vdev rsc: vring1: da a0004000, qsz 256, align 4096 [ 1050.729810] remoteproc remoteproc0: vring0: va de000000 dma 0x9e000000 size 3000 idr 0 [ 1050.729858] remoteproc remoteproc0: vring1: va de004000 dma 0x9e004000 size 3000 idr 1 [ 1050.729880] remoteproc remoteproc0: powering up 58820000.ipu [ 1050.729891] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 627416 [ 1050.729999] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1 [ 1050.730027] remoteproc remoteproc0: rsc: type 3 [ 1050.730036] remoteproc remoteproc0: rsc: type 0 [ 1050.730046] remoteproc remoteproc0: carveout rsc: da 9d100000, pa 0, len 100000, flags 0 [ 1050.730418] remoteproc remoteproc0: carveout va de100000, dma 0x9e100000, len 0x100000 [ 1050.730444] remoteproc remoteproc0: carveout mapped 0x9d100000 to 0x9e100000 [ 1050.730452] remoteproc remoteproc0: rsc: type 0 [ 1050.730461] remoteproc remoteproc0: carveout rsc: da 9d200000, pa 0, len 100000, flags 0 [ 1050.731031] remoteproc remoteproc0: carveout va de200000, dma 0x9e200000, len 0x100000 [ 1050.731056] remoteproc remoteproc0: carveout mapped 0x9d200000 to 0x9e200000 [ 1050.731064] remoteproc remoteproc0: rsc: type 0 [ 1050.731073] remoteproc remoteproc0: carveout rsc: da 9d000000, pa 0, len 100000, flags 0 [ 1050.731449] remoteproc remoteproc0: carveout va de300000, dma 0x9e300000, len 0x100000 [ 1050.731473] remoteproc remoteproc0: carveout mapped 0x9d000000 to 0x9e300000 [ 1050.731481] remoteproc remoteproc0: rsc: type 1 [ 1050.731505] remoteproc remoteproc0: mapped devmem pa 0xb9000000, da 0xa0000000, len 0x100000 [ 1050.731513] remoteproc remoteproc0: rsc: type 1 [ 1050.731596] remoteproc remoteproc0: mapped devmem pa 0xba300000, da 0x90000000, len 0x500000 [ 1050.731604] remoteproc remoteproc0: rsc: type 1 [ 1050.731844] remoteproc remoteproc0: mapped devmem pa 0x60000000, da 0x60000000, len 0x10000000 [ 1050.731852] remoteproc remoteproc0: rsc: type 1 [ 1050.731977] remoteproc remoteproc0: mapped devmem pa 0x70000000, da 0x70000000, len 0x8000000 [ 1050.731985] remoteproc remoteproc0: rsc: type 1 [ 1050.732109] remoteproc remoteproc0: mapped devmem pa 0x78000000, da 0x78000000, len 0x8000000 [ 1050.732117] remoteproc remoteproc0: rsc: type 1 [ 1050.732141] remoteproc remoteproc0: mapped devmem pa 0x4a000000, da 0xaa000000, len 0x1000000 [ 1050.732148] remoteproc remoteproc0: rsc: type 1 [ 1050.732172] remoteproc remoteproc0: mapped devmem pa 0x48000000, da 0xa8000000, len 0x1000000 [ 1050.732179] remoteproc remoteproc0: rsc: type 1 [ 1050.732203] remoteproc remoteproc0: mapped devmem pa 0x54000000, da 0xb4000000, len 0x1000000 [ 1050.732210] remoteproc remoteproc0: rsc: type 1 [ 1050.732233] remoteproc remoteproc0: mapped devmem pa 0x5a000000, da 0xba000000, len 0x1000000 [ 1050.732241] remoteproc remoteproc0: rsc: type 1 [ 1050.732264] remoteproc remoteproc0: mapped devmem pa 0x5b000000, da 0xbb000000, len 0x1000000 [ 1050.732272] remoteproc remoteproc0: rsc: type 1 [ 1050.732295] remoteproc remoteproc0: mapped devmem pa 0x4e000000, da 0xae000000, len 0x100000 [ 1050.732754] remoteproc remoteproc0: rsc: type 3 [ 1050.732763] remoteproc remoteproc0: rsc: type 0 [ 1050.732770] remoteproc remoteproc0: rsc: type 0 [ 1050.732777] remoteproc remoteproc0: rsc: type 0 [ 1050.732784] remoteproc remoteproc0: rsc: type 1 [ 1050.732791] remoteproc remoteproc0: rsc: type 1 [ 1050.732799] remoteproc remoteproc0: rsc: type 1 [ 1050.732806] remoteproc remoteproc0: rsc: type 1 [ 1050.732813] remoteproc remoteproc0: rsc: type 1 [ 1050.732820] remoteproc remoteproc0: rsc: type 1 [ 1050.732827] remoteproc remoteproc0: rsc: type 1 [ 1050.732834] remoteproc remoteproc0: rsc: type 1 [ 1050.732841] remoteproc remoteproc0: rsc: type 1 [ 1050.732848] remoteproc remoteproc0: rsc: type 1 [ 1050.732855] remoteproc remoteproc0: rsc: type 1 [ 1050.733455] omap-iommu 58882000.mmu: iommu fault: da 0x0 flags 0x0 [ 1050.733465] remoteproc remoteproc0: crash detected in 58820000.ipu: type mmufault [ 1050.733479] omap-iommu 58882000.mmu: 58882000.mmu: errs:0x00000002 da:0x00000000 pgd:0xee59c00 0 *pgd:px00000000 [ 1050.733540] remoteproc remoteproc0: remote processor 58820000.ipu is now up [ 1050.733847] virtio_rpmsg_bus virtio0: rpmsg host is online [ 1050.734856] remoteproc remoteproc0: registered virtio0 (type 7) [ 1050.734867] remoteproc remoteproc0: rsc: type 0 [ 1050.734876] remoteproc remoteproc0: rsc: type 0 [ 1050.734885] remoteproc remoteproc0: rsc: type 0 [ 1050.734893] remoteproc remoteproc0: rsc: type 1 [ 1050.734900] remoteproc remoteproc0: rsc: type 1 [ 1050.734908] remoteproc remoteproc0: rsc: type 1 [ 1050.734916] remoteproc remoteproc0: rsc: type 1 [ 1050.734924] remoteproc remoteproc0: rsc: type 1 [ 1050.734931] remoteproc remoteproc0: rsc: type 1 [ 1050.734939] remoteproc remoteproc0: rsc: type 1 [ 1050.734946] remoteproc remoteproc0: rsc: type 1 [ 1050.734954] remoteproc remoteproc0: rsc: type 1 [ 1050.734962] remoteproc remoteproc0: rsc: type 1 [ 1050.734969] remoteproc remoteproc0: rsc: type 1 [ 1050.735068] remoteproc remoteproc0: enter rproc_crash_handler_work [ 1050.735077] remoteproc remoteproc0: handling crash #2 in 58820000.ipu [ 1050.735085] remoteproc remoteproc0: recovering 58820000.ipu [ 1050.736685] remoteproc remoteproc0: stopped remote processor 58820000.ipu [ 1050.737504] remoteproc remoteproc0: rsc: type 3 [ 1050.737515] remoteproc remoteproc0: rsc: type 0 [ 1050.737524] remoteproc remoteproc0: rsc: type 0 [ 1050.737532] remoteproc remoteproc0: rsc: type 0 [ 1050.737539] remoteproc remoteproc0: rsc: type 1 [ 1050.737547] remoteproc remoteproc0: rsc: type 1 [ 1050.737555] remoteproc remoteproc0: rsc: type 1 [ 1050.737562] remoteproc remoteproc0: rsc: type 1 [ 1050.737569] remoteproc remoteproc0: rsc: type 1 [ 1050.737577] remoteproc remoteproc0: rsc: type 1 [ 1050.737584] remoteproc remoteproc0: rsc: type 1 [ 1050.737591] remoteproc remoteproc0: rsc: type 1 [ 1050.737599] remoteproc remoteproc0: rsc: type 1 [ 1050.737606] remoteproc remoteproc0: rsc: type 1 [ 1050.737614] remoteproc remoteproc0: rsc: type 1 [ 1050.737621] remoteproc remoteproc0: rsc: type 3 [ 1050.737631] remoteproc remoteproc0: vdev rsc: id 7, dfeatures 1, cfg len 0, 2 vrings [ 1050.737641] remoteproc remoteproc0: vdev rsc: vring0: da a0000000, qsz 256, align 4096 [ 1050.737650] remoteproc remoteproc0: vdev rsc: vring1: da a0004000, qsz 256, align 4096 [ 1050.738612] remoteproc remoteproc0: vring0: va de000000 dma 0x9e000000 size 3000 idr 0 [ 1050.738660] remoteproc remoteproc0: vring1: va de004000 dma 0x9e004000 size 3000 idr 1 [ 1050.738681] remoteproc remoteproc0: powering up 58820000.ipu [ 1050.738692] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 627416 [ 1050.738796] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1 [ 1050.738823] remoteproc remoteproc0: rsc: type 3 [ 1050.738831] remoteproc remoteproc0: rsc: type 0 [ 1050.738841] remoteproc remoteproc0: carveout rsc: da 9d100000, pa 0, len 100000, flags 0 [ 1050.739212] remoteproc remoteproc0: carveout va de100000, dma 0x9e100000, len 0x100000 [ 1050.739238] remoteproc remoteproc0: carveout mapped 0x9d100000 to 0x9e100000 [ 1050.739246] remoteproc remoteproc0: rsc: type 0 [ 1050.739255] remoteproc remoteproc0: carveout rsc: da 9d200000, pa 0, len 100000, flags 0 [ 1050.739827] remoteproc remoteproc0: carveout va de200000, dma 0x9e200000, len 0x100000 [ 1050.739852] remoteproc remoteproc0: carveout mapped 0x9d200000 to 0x9e200000 [ 1050.739861] remoteproc remoteproc0: rsc: type 0 [ 1050.739870] remoteproc remoteproc0: carveout rsc: da 9d000000, pa 0, len 100000, flags 0 [ 1050.740248] remoteproc remoteproc0: carveout va de300000, dma 0x9e300000, len 0x100000 [ 1050.740273] remoteproc remoteproc0: carveout mapped 0x9d000000 to 0x9e300000 [ 1050.740281] remoteproc remoteproc0: rsc: type 1 [ 1050.740305] remoteproc remoteproc0: mapped devmem pa 0xb9000000, da 0xa0000000, len 0x100000 [ 1050.740313] remoteproc remoteproc0: rsc: type 1 [ 1050.740396] remoteproc remoteproc0: mapped devmem pa 0xba300000, da 0x90000000, len 0x500000 [ 1050.740404] remoteproc remoteproc0: rsc: type 1 [ 1050.740645] remoteproc remoteproc0: mapped devmem pa 0x60000000, da 0x60000000, len 0x10000000 [ 1050.740653] remoteproc remoteproc0: rsc: type 1 [ 1050.740778] remoteproc remoteproc0: mapped devmem pa 0x70000000, da 0x70000000, len 0x8000000 [ 1050.740786] remoteproc remoteproc0: rsc: type 1 [ 1050.740912] remoteproc remoteproc0: mapped devmem pa 0x78000000, da 0x78000000, len 0x8000000 [ 1050.740919] remoteproc remoteproc0: rsc: type 1 [ 1050.740943] remoteproc remoteproc0: mapped devmem pa 0x4a000000, da 0xaa000000, len 0x1000000 [ 1050.740950] remoteproc remoteproc0: rsc: type 1 [ 1050.740974] remoteproc remoteproc0: mapped devmem pa 0x48000000, da 0xa8000000, len 0x1000000 [ 1050.740981] remoteproc remoteproc0: rsc: type 1 [ 1050.741005] remoteproc remoteproc0: mapped devmem pa 0x54000000, da 0xb4000000, len 0x1000000 [ 1050.741012] remoteproc remoteproc0: rsc: type 1 [ 1050.741036] remoteproc remoteproc0: mapped devmem pa 0x5a000000, da 0xba000000, len 0x1000000 [ 1050.741043] remoteproc remoteproc0: rsc: type 1 [ 1050.741067] remoteproc remoteproc0: mapped devmem pa 0x5b000000, da 0xbb000000, len 0x1000000 [ 1050.741074] remoteproc remoteproc0: rsc: type 1 [ 1050.741098] remoteproc remoteproc0: mapped devmem pa 0x4e000000, da 0xae000000, len 0x100000 [ 1050.741555] remoteproc remoteproc0: rsc: type 3 [ 1050.741562] remoteproc remoteproc0: rsc: type 0 [ 1050.741570] remoteproc remoteproc0: rsc: type 0 [ 1050.741577] remoteproc remoteproc0: rsc: type 0 [ 1050.741584] remoteproc remoteproc0: rsc: type 1 [ 1050.741592] remoteproc remoteproc0: rsc: type 1 [ 1050.741599] remoteproc remoteproc0: rsc: type 1 [ 1050.741606] remoteproc remoteproc0: rsc: type 1 [ 1050.741613] remoteproc remoteproc0: rsc: type 1 [ 1050.741621] remoteproc remoteproc0: rsc: type 1 [ 1050.741628] remoteproc remoteproc0: rsc: type 1 [ 1050.741635] remoteproc remoteproc0: rsc: type 1 [ 1050.741643] remoteproc remoteproc0: rsc: type 1 [ 1050.741650] remoteproc remoteproc0: rsc: type 1 [ 1050.741657] remoteproc remoteproc0: rsc: type 1 [ 1050.742247] ------------[ cut here ]------------ [ 1050.742267] WARNING: CPU: 0 PID: 18 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x23 c/0x364() [ 1050.742276] 44000000.ocp:L3 Custom Error: MASTER IPU1 TARGET GPMC (Read): Data Access in User mode during Functional access [ 1050.742282] Modules linked in: [ 1050.742297] CPU: 0 PID: 18 Comm: kworker/0:1 Tainted: G W 4.4.45SMS_MONOLYTHIC-00 013-g7a35563-dirty #17 [ 1050.742305] Hardware name: Generic DRA74X (Flattened Device Tree) [ 1050.742318] Workqueue: events request_firmware_work_func [ 1050.742326] Backtrace: [ 1050.742346] [<c0012b18>] (dump_backtrace) from [<c0012cb4>] (show_stack+0x18/0x1c) [ 1050.742353] r6:c0c672ec r5:00000000 r4:20000193 r3:ef21e000 [ 1050.742381] [<c0012c9c>] (show_stack) from [<c02cac88>] (dump_stack+0x88/0xa8) [ 1050.742395] [<c02cac00>] (dump_stack) from [<c0040d18>] (warn_slowpath_common+0x7c/0xb8) [ 1050.742402] r5:00000093 r4:ef21f8b0 [ 1050.742418] [<c0040c9c>] (warn_slowpath_common) from [<c0040df8>] (warn_slowpath_fmt+0x38/0x40 ) [ 1050.742424] r8:c0a22ab4 r7:ef1fe9d0 r6:c0c67530 r5:c0c67248 r4:80080003 [ 1050.742450] [<c0040dc4>] (warn_slowpath_fmt) from [<c02fa4d4>] (l3_interrupt_handler+0x23c/0x3 64) [ 1050.742456] r3:ef1fe840 r2:c0c67308 [ 1050.742474] [<c02fa298>] (l3_interrupt_handler) from [<c0089618>] (handle_irq_event_percpu+0x6 4/0x164) [ 1050.742480] r10:ef1f6840 r9:c0e3f2a6 r8:00000017 r7:00000000 r6:00000000 r5:ef1f68a0 [ 1050.742500] r4:ef1fed40 [ 1050.742513] [<c00895b4>] (handle_irq_event_percpu) from [<c0089758>] (handle_irq_event+0x40/0x 64) [ 1050.742519] r10:ef242c00 r9:00000000 r8:ef008000 r7:00000001 r6:c0dcbe04 r5:ef1f68a0 [ 1050.742538] r4:ef1f6840 [ 1050.742552] [<c0089718>] (handle_irq_event) from [<c008c9f0>] (handle_fasteoi_irq+0xbc/0x194) [ 1050.742558] r6:c0dcbe04 r5:ef1f68a0 r4:ef1f6840 r3:00000000 [ 1050.742579] [<c008c934>] (handle_fasteoi_irq) from [<c0088ea8>] (generic_handle_irq+0x20/0x30) [ 1050.742584] r7:00000001 r6:00000000 r5:c0db9424 r4:00000000 [ 1050.742605] [<c0088e88>] (generic_handle_irq) from [<c0088fd4>] (__handle_domain_irq+0x5c/0xbc ) [ 1050.742615] [<c0088f78>] (__handle_domain_irq) from [<c0009454>] (gic_handle_irq+0x3c/0x7c) [ 1050.742620] r8:fa213000 r7:fa212000 r6:ef21fa58 r5:c0dc1914 r4:fa21200c r3:ef21fa58 [ 1050.742644] [<c0009418>] (gic_handle_irq) from [<c0013740>] (__irq_svc+0x40/0x74) [ 1050.742651] Exception stack(0xef21fa58 to 0xef21faa0) [ 1050.742659] fa40: c0dd1ef0 a0000013 [ 1050.742668] fa60: 00000001 00000044 00000000 c0dd1ef0 c0c3554c a0000013 c0dd5654 00000000 [ 1050.742677] fa80: ef242c00 ef21fab4 ef21fab8 ef21faa8 c0032448 c09e4130 20000013 ffffffff [ 1050.742683] r8:c0dd5654 r7:ef21fa8c r6:ffffffff r5:20000013 r4:c09e4130 r3:c0032448 [ 1050.742715] [<c09e4108>] (_raw_spin_unlock_irqrestore) from [<c0032448>] (omap_hwmod_deassert_ hardreset+0x44/0x54) [ 1050.742728] [<c0032404>] (omap_hwmod_deassert_hardreset) from [<c00330ac>] (omap_device_deasse rt_hardreset+0x40/0x5c) [ 1050.742733] r7:00000000 r6:c0c3554c r5:ef241580 r4:00000001 [ 1050.742758] [<c003306c>] (omap_device_deassert_hardreset) from [<c003ab04>] (omap_rproc_device _enable+0x94/0x100) [ 1050.742764] r6:eebbe800 r5:c0c35824 r4:ef242c00 r3:c0c3582f [ 1050.742788] [<c003aa70>] (omap_rproc_device_enable) from [<c072f314>] (omap_rproc_start+0xa8/0 x19c) [ 1050.742794] r5:ef242c10 r4:eebbea78 [ 1050.742809] [<c072f26c>] (omap_rproc_start) from [<c072cfa0>] (rproc_boot+0x450/0x56c) [ 1050.742814] r10:de202000 r8:eebbe820 r7:eebbe9ac r6:eebbe9b4 r5:00000000 r4:eebbe800 [ 1050.742839] [<c072cb50>] (rproc_boot) from [<c072df70>] (rproc_virtio_find_vqs+0x1a8/0x204) [ 1050.742845] r10:eebbec10 r9:c0c695a4 r8:ef21fc18 r7:ef21fc0c r6:c0a93bbc r5:ef21fc14 [ 1050.742864] r4:00000002 [ 1050.742878] [<c072ddc8>] (rproc_virtio_find_vqs) from [<c0732fe8>] (rpmsg_probe+0xac/0x45c) [ 1050.742884] r10:00000000 r9:00000000 r8:eebbe800 r7:eebbec10 r6:ee527100 r5:c0a93bb8 [ 1050.742903] r4:ef21fc08 [ 1050.742918] [<c0732f3c>] (rpmsg_probe) from [<c03525dc>] (virtio_dev_probe+0x218/0x314) [ 1050.742924] r10:00000000 r9:00000000 r8:00000001 r7:00000000 r6:00000001 r5:00000000 [ 1050.742943] r4:00000000 [ 1050.742957] [<c03523c4>] (virtio_dev_probe) from [<c03f94e8>] (driver_probe_device+0x1e8/0x2b0 ) [ 1050.742962] r10:00000000 r9:00000000 r8:0000001f r7:c0e2930c r6:00000000 r5:c0e7f47c [ 1050.742981] r4:eebbec20 [ 1050.742992] [<c03f9300>] (driver_probe_device) from [<c03f9848>] (__device_attach_driver+0x88/ 0x94) [ 1050.742998] r8:c0e7f458 r7:00000001 r6:eebbec20 r5:ef21fd30 r4:c0e2930c r3:00000000 [ 1050.743025] [<c03f97c0>] (__device_attach_driver) from [<c03f79a0>] (bus_for_each_drv+0x4c/0x9 4) [ 1050.743030] r6:c03f97c0 r5:ef21fd30 r4:00000000 r3:00000000 [ 1050.743051] [<c03f7954>] (bus_for_each_drv) from [<c03f9258>] (__device_attach+0xa8/0x10c) [ 1050.743057] r6:c0df5c30 r5:eebbec54 r4:eebbec20 [ 1050.743074] [<c03f91b0>] (__device_attach) from [<c03f9868>] (device_initial_probe+0x14/0x18) [ 1050.743079] r7:eebbe820 r6:c0df5c30 r5:eebbec20 r4:eebbec20 [ 1050.743101] [<c03f9854>] (device_initial_probe) from [<c03f8950>] (bus_probe_device+0x8c/0x94) [ 1050.743112] [<c03f88c4>] (bus_probe_device) from [<c03f6c58>] (device_add+0x388/0x530) [ 1050.743118] r6:eebbec28 r5:00000000 r4:eebbec20 r3:00000001 [ 1050.743140] [<c03f68d0>] (device_add) from [<c03f6f84>] (device_register+0x1c/0x20) [ 1050.743145] r10:eebbe800 r9:eebbe820 r8:eea15050 r7:eebbec00 r6:eebbec20 r5:c072dca0 [ 1050.743165] r4:eebbec20 [ 1050.743178] [<c03f6f68>] (device_register) from [<c0352128>] (register_virtio_device+0xa8/0xf4 ) [ 1050.743184] r4:eebbec10 r3:eebbedb8 [ 1050.743200] [<c0352080>] (register_virtio_device) from [<c072e1f4>] (rproc_add_virtio_dev+0x44 /0xa0) [ 1050.743205] r6:00000007 r5:eebbe820 r4:eebbec00 r3:eebbe844 [ 1050.743226] [<c072e1b0>] (rproc_add_virtio_dev) from [<c072b700>] (rproc_handle_vdev+0x168/0x2 2c) [ 1050.743231] r7:eebbec00 r6:eebbedf0 r5:00000002 r4:eea1507c [ 1050.743251] [<c072b598>] (rproc_handle_vdev) from [<c072b82c>] (rproc_handle_resources+0x68/0x 118) [ 1050.743257] r10:eebbe820 r9:eea15050 r8:00000fb0 r7:eebbe800 r6:00000000 r5:0000004c [ 1050.743276] r4:c0e28be0 [ 1050.743288] [<c072b7c4>] (rproc_handle_resources) from [<c072b9d0>] (rproc_fw_config_virtio+0x f4/0x100) [ 1050.743293] r10:00000000 r9:ef629ac0 r8:00000000 r7:00001000 r6:f2409000 r5:ee50b500 [ 1050.743312] r4:eebbe800 [ 1050.743324] [<c072b8dc>] (rproc_fw_config_virtio) from [<c040c904>] (request_firmware_work_fun c+0x38/0x60) [ 1050.743330] r7:ef62d200 r6:ef629ac0 r5:ee50b600 r4:ee50b600 [ 1050.743352] [<c040c8cc>] (request_firmware_work_func) from [<c0055394>] (process_one_work+0x12 8/0x330) [ 1050.743357] r4:ef218800 [ 1050.743369] [<c005526c>] (process_one_work) from [<c005560c>] (worker_thread+0x34/0x4b0) [ 1050.743374] r10:ef629ac0 r9:ef629ac0 r8:00000008 r7:ef218818 r6:ef218800 r5:00000001 [ 1050.743393] r4:ef629ad4 [ 1050.743407] [<c00555d8>] (worker_thread) from [<c005ad64>] (kthread+0xe0/0xfc) [ 1050.743413] r10:00000000 r9:00000000 r8:00000000 r7:c00555d8 r6:ef218800 r5:00000000 [ 1050.743432] r4:ef21a1c0 [ 1050.743446] [<c005ac84>] (kthread) from [<c000fc48>] (ret_from_fork+0x14/0x2c) [ 1050.743451] r7:00000000 r6:00000000 r5:c005ac84 r4:ef21a1c0 [ 1050.743468] ---[ end trace 83eb02acdc15b598 ]--- [ 1050.743484] omap-iommu 58882000.mmu: iommu fault: da 0x0 flags 0x0 [ 1050.743493] remoteproc remoteproc0: crash detected in 58820000.ipu: type mmufault [ 1050.743507] omap-iommu 58882000.mmu: 58882000.mmu: errs:0x00000008 da:0x00000000 pgd:0xee5f000 0 *pgd:px00000000
Hi Marco, which is the version of your VisionSDK? Regards, Yordan
The basis of my development ist the linux 4.4.45. I took it out of visual-sdk 2-12-02-00, which I have fully extracted on hdd. My code is running completely outside of the SDK and I'm not able to use CCS for development. We got a very special requirement running Linux on A-15 cores and using remoteproc to bring up "Real Bare Metal" Code, without BIOS or RTOS, on the subcores. It must be something different using JTAG with CCS (and it's gel scripting...) on one side and dealing directly with remoteproc, the MMU-Stuff and linker Scripts, Remoteproc-Headers... on the other side. The code generated by the arm-linux-gnueabi-Toolchain works on M4, if loaded and jumped directly with CCS over JTAG. Uploaded by remoteproc the error above occurs. (Of course I'm using the custom header file for implementing the resource_table for remoteproc, which is tuned with the linker - file "tda2.lds" and an ARM startup code... I also tried out the ducati-startup code: Core_smp_asm_gnu.sv7M, but the error remains...) There is one special *.xem4 which is running perfeclty... it is the messageq_single.xem4... but this is not build in the SDK, it is only a copied binary and I am looking for it's building mechanism... maybe I'm able to find my mistake at least... hmmmm. CU (tmw) Marco....
Hi Marco, I have forwarded your question to VisionSDK experts. Regards, Yordan
Hi I think messageq_single.xem4 is from IPC package. The source code for IPC examples shall present in the \ti_components\os_tools\ipc_3_43_03_05. But I guess you need Bios running on remote cores to work these IPC examples. I guess a better solution for you may be to use uboot to load the remote core binaries intead rproc of IPC. regards, Shiju
Hi @Shiju! ===============> ADDITIONAL INFORMATION // NEWS: I reverse engineered some fragments of the binary above using readelf. I've seen how the MMU mapping is done... After some tuning I got the same memory mapping conditions over remoteproc, bur run into another error: [ 461.976351] remoteproc remoteproc0: releasing 58820000.ipu [ 465.794433] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000 [ 465.794531] remoteproc remoteproc0: 58820000.ipu is available [ 465.794542] remoteproc remoteproc0: Note: remoteproc is still under development and considered experimental. [ 465.794551] remoteproc remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compa tibility isn't yet guaranteed. [ 465.795463] remoteproc remoteproc0: rsc: type 3 [ 465.795475] remoteproc remoteproc0: rsc: type 0 [ 465.795484] remoteproc remoteproc0: rsc: type 0 [ 465.795492] remoteproc remoteproc0: rsc: type 0 [ 465.795500] remoteproc remoteproc0: rsc: type 2 [ 465.795507] remoteproc remoteproc0: rsc: type 1 [ 465.795514] remoteproc remoteproc0: rsc: type 3 [ 465.795524] remoteproc remoteproc0: vdev rsc: id 7, dfeatures 1, cfg len 0, 2 vrings [ 465.795536] remoteproc remoteproc0: vdev rsc: vring0: da 60000000, qsz 256, align 4096 [ 465.795545] remoteproc remoteproc0: vdev rsc: vring1: da 60004000, qsz 256, align 4096 [ 465.796878] remoteproc remoteproc0: vring0: va de000000 dma 0x9e000000 size 3000 idr 0 [ 465.796935] remoteproc remoteproc0: vring1: va de004000 dma 0x9e004000 size 3000 idr 1 [ 465.796959] remoteproc remoteproc0: powering up 58820000.ipu [ 465.796973] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 625616 [ 465.797093] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1 [ 465.797116] remoteproc remoteproc0: rsc: type 3 [ 465.797126] remoteproc remoteproc0: rsc: type 0 [ 465.797152] remoteproc remoteproc0: carveout rsc: da 0, pa 0, len 100000, flags 0 [ 465.797540] remoteproc remoteproc0: carveout va de100000, dma 0x9e100000, len 0x100000 [ 465.797566] remoteproc remoteproc0: carveout mapped 0x0 to 0x9e100000 [ 465.797574] remoteproc remoteproc0: rsc: type 0 [ 465.797584] remoteproc remoteproc0: carveout rsc: da 80000000, pa 0, len 500000, flags 0 [ 465.799593] remoteproc remoteproc0: carveout va de200000, dma 0x9e200000, len 0x500000 [ 465.799678] remoteproc remoteproc0: carveout mapped 0x80000000 to 0x9e200000 [ 465.799686] remoteproc remoteproc0: rsc: type 0 [ 465.799695] remoteproc remoteproc0: carveout rsc: da 9f000000, pa 0, len 100000, flags 0 [ 465.800090] remoteproc remoteproc0: carveout va de700000, dma 0x9e700000, len 0x100000 [ 465.800115] remoteproc remoteproc0: carveout mapped 0x9f000000 to 0x9e700000 [ 465.800123] remoteproc remoteproc0: rsc: type 2 [ 465.800147] remoteproc remoteproc0: trace0 added: va de700000, da 0x9f000000, len 0x8000 [ 465.800156] remoteproc remoteproc0: rsc: type 1 [ 465.800181] remoteproc remoteproc0: mapped devmem pa 0x9d000000, da 0x60000000, len 0x100000 [ 465.800671] remoteproc remoteproc0: rsc: type 3 [ 465.800680] remoteproc remoteproc0: rsc: type 0 [ 465.800688] remoteproc remoteproc0: rsc: type 0 [ 465.800695] remoteproc remoteproc0: rsc: type 0 [ 465.800702] remoteproc remoteproc0: rsc: type 2 [ 465.800709] remoteproc remoteproc0: rsc: type 1 [ 465.801419] ------------[ cut here ]------------ [ 465.801440] WARNING: CPU: 0 PID: 18 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x23 c/0x364() [ 465.801450] 44000000.ocp: L3 Custom Error: MASTER IPU1 TARGET GPMC (Idle): Data Access in Usermode during Functional access [ 465.801456] Modules linked in: [ 465.801470] CPU: 0 PID: 18 Comm: kworker/0:1 Tainted: G W 4.4.45SMS_MONOLYTHIC-00 013-g7a35563-dirty #24 [ 465.801478] Hardware name: Generic DRA74X (Flattened Device Tree) [ 465.801490] Workqueue: events request_firmware_work_func [ 465.801499] Backtrace: [ 465.801520] [<c0012b18>] (dump_backtrace) from [<c0012cb4>] (show_stack+0x18/0x1c) [ 465.801527] r6:c0c672ec r5:00000000 r4:20000193 r3:ef21e000 [ 465.801554] [<c0012c9c>] (show_stack) from [<c02cac88>] (dump_stack+0x88/0xa8) [ 465.801569] [<c02cac00>] (dump_stack) from [<c0040d18>] (warn_slowpath_common+0x7c/0xb8) [ 465.801575] r5:00000093 r4:ef21f8b0 [ 465.801593] [<c0040c9c>] (warn_slowpath_common) from [<c0040df8>] (warn_slowpath_fmt+0x38/0x40 ) [ 465.801599] r8:c0a22aac r7:ef1fe9d0 r6:c0c67530 r5:c0c67248 r4:80080003 [ 465.801626] [<c0040dc4>] (warn_slowpath_fmt) from [<c02fa4d4>] (l3_interrupt_handler+0x23c/0x3 64) [ 465.801632] r3:ef1fe840 r2:c0c67308 [ 465.801650] [<c02fa298>] (l3_interrupt_handler) from [<c0089618>] (handle_irq_event_percpu+0x6 4/0x164) [ 465.801656] r10:ef1f6840 r9:c0e3f2a6 r8:00000017 r7:00000000 r6:00000000 r5:ef1f68a0 [ 465.801677] r4:ef1fed40 [ 465.801690] [<c00895b4>] (handle_irq_event_percpu) from [<c0089758>] (handle_irq_event+0x40/0x 64) [ 465.801696] r10:ef242c00 r9:00000000 r8:ef008000 r7:00000001 r6:c0dcbe04 r5:ef1f68a0 [ 465.801716] r4:ef1f6840 [ 465.801730] [<c0089718>] (handle_irq_event) from [<c008c9f0>] (handle_fasteoi_irq+0xbc/0x194) [ 465.801736] r6:c0dcbe04 r5:ef1f68a0 r4:ef1f6840 r3:00000000 [ 465.801757] [<c008c934>] (handle_fasteoi_irq) from [<c0088ea8>] (generic_handle_irq+0x20/0x30) [ 465.801763] r7:00000001 r6:00000000 r5:c0db9424 r4:00000000 [ 465.801783] [<c0088e88>] (generic_handle_irq) from [<c0088fd4>] (__handle_domain_irq+0x5c/0xbc ) [ 465.801793] [<c0088f78>] (__handle_domain_irq) from [<c0009454>] (gic_handle_irq+0x3c/0x7c) [ 465.801800] r8:fa213000 r7:fa212000 r6:ef21fa58 r5:c0dc1914 r4:fa21200c r3:ef21fa58 [ 465.801824] [<c0009418>] (gic_handle_irq) from [<c0013740>] (__irq_svc+0x40/0x74) [ 465.801831] Exception stack(0xef21fa58 to 0xef21faa0) [ 465.801839] fa40: c0dd1ef0 a0000113 [ 465.801848] fa60: 00000001 00000002 00000000 c0dd1ef0 c0c3554c a0000113 c0dd5654 00000000 [ 465.801858] fa80: ef242c00 ef21fab4 ef21fab8 ef21faa8 c0032448 c09e4130 20000113 ffffffff [ 465.801864] r8:c0dd5654 r7:ef21fa8c r6:ffffffff r5:20000113 r4:c09e4130 r3:c0032448 [ 465.801896] [<c09e4108>] (_raw_spin_unlock_irqrestore) from [<c0032448>] (omap_hwmod_deassert_ hardreset+0x44/0x54) [ 465.801910] [<c0032404>] (omap_hwmod_deassert_hardreset) from [<c00330ac>] (omap_device_deasse rt_hardreset+0x40/0x5c) [ 465.801916] r7:00000000 r6:c0c3554c r5:ef241580 r4:00000001 [ 465.801942] [<c003306c>] (omap_device_deassert_hardreset) from [<c003ab04>] (omap_rproc_device _enable+0x94/0x100) [ 465.801948] r6:ee548c00 r5:c0c35824 r4:ef242c00 r3:c0c3582f [ 465.801971] [<c003aa70>] (omap_rproc_device_enable) from [<c072f314>] (omap_rproc_start+0xa8/0 x19c) [ 465.801977] r5:ef242c10 r4:ee548e78 [ 465.801992] [<c072f26c>] (omap_rproc_start) from [<c072cfa0>] (rproc_boot+0x450/0x56c) [ 465.801998] r10:de2795d0 r8:ee548c20 r7:ee548dac r6:ee548db4 r5:00000000 r4:ee548c00 [ 465.802023] [<c072cb50>] (rproc_boot) from [<c072df70>] (rproc_virtio_find_vqs+0x1a8/0x204) [ 465.802029] r10:ee549410 r9:c0c695a4 r8:ef21fc18 r7:ef21fc0c r6:c0a93bbc r5:ef21fc14 [ 465.802049] r4:00000002 [ 465.802063] [<c072ddc8>] (rproc_virtio_find_vqs) from [<c0732fe8>] (rpmsg_probe+0xac/0x45c) [ 465.802068] r10:00000000 r9:00000000 r8:ee548c00 r7:ee549410 r6:ee51fc80 r5:c0a93bb8 [ 465.802088] r4:ef21fc08 [ 465.802103] [<c0732f3c>] (rpmsg_probe) from [<c03525dc>] (virtio_dev_probe+0x218/0x314) [ 465.802110] r10:00000000 r9:00000000 r8:00000001 r7:00000000 r6:00000001 r5:00000000 [ 465.802129] r4:00000000 [ 465.802142] [<c03523c4>] (virtio_dev_probe) from [<c03f94e8>] (driver_probe_device+0x1e8/0x2b0 ) [ 465.802148] r10:00000000 r9:00000000 r8:00000011 r7:c0e2930c r6:00000000 r5:c0e7f47c [ 465.802167] r4:ee549420 [ 465.802179] [<c03f9300>] (driver_probe_device) from [<c03f9848>] (__device_attach_driver+0x88/ 0x94) [ 465.802184] r8:c0e7f458 r7:00000001 r6:ee549420 r5:ef21fd30 r4:c0e2930c r3:00000000 [ 465.802211] [<c03f97c0>] (__device_attach_driver) from [<c03f79a0>] (bus_for_each_drv+0x4c/0x9 4) [ 465.802217] r6:c03f97c0 r5:ef21fd30 r4:00000000 r3:00000000 [ 465.802238] [<c03f7954>] (bus_for_each_drv) from [<c03f9258>] (__device_attach+0xa8/0x10c) [ 465.802243] r6:c0df5c30 r5:ee549454 r4:ee549420 [ 465.802260] [<c03f91b0>] (__device_attach) from [<c03f9868>] (device_initial_probe+0x14/0x18) [ 465.802266] r7:ee548c20 r6:c0df5c30 r5:ee549420 r4:ee549420 [ 465.802288] [<c03f9854>] (device_initial_probe) from [<c03f8950>] (bus_probe_device+0x8c/0x94) [ 465.802300] [<c03f88c4>] (bus_probe_device) from [<c03f6c58>] (device_add+0x388/0x530) [ 465.802306] r6:ee549428 r5:00000000 r4:ee549420 r3:00000001 [ 465.802327] [<c03f68d0>] (device_add) from [<c03f6f84>] (device_register+0x1c/0x20) [ 465.802333] r10:ee548c00 r9:ee548c20 r8:ee4fe02c r7:ee549400 r6:ee549420 r5:c072dca0 [ 465.802353] r4:ee549420 [ 465.802367] [<c03f6f68>] (device_register) from [<c0352128>] (register_virtio_device+0xa8/0xf4 ) [ 465.802373] r4:ee549410 r3:ee5495b8 [ 465.802389] [<c0352080>] (register_virtio_device) from [<c072e1f4>] (rproc_add_virtio_dev+0x44 /0xa0) [ 465.802394] r6:00000007 r5:ee548c20 r4:ee549400 r3:ee548c44 [ 465.802415] [<c072e1b0>] (rproc_add_virtio_dev) from [<c072b700>] (rproc_handle_vdev+0x168/0x2 2c) [ 465.802421] r7:ee549400 r6:ee5495f0 r5:00000002 r4:ee4fe058 [ 465.802440] [<c072b598>] (rproc_handle_vdev) from [<c072b82c>] (rproc_handle_resources+0x68/0x 118) [ 465.802446] r10:ee548c20 r9:ee4fe02c r8:00000150 r7:ee548c00 r6:00000000 r5:00000028 [ 465.802465] r4:c0e28be0 [ 465.802477] [<c072b7c4>] (rproc_handle_resources) from [<c072b9d0>] (rproc_fw_config_virtio+0x f4/0x100) [ 465.802483] r10:00000000 r9:ef629ac0 r8:00000000 r7:0000017c r6:f1d125d0 r5:ee5393c0 [ 465.802502] r4:ee548c00 [ 465.802514] [<c072b8dc>] (rproc_fw_config_virtio) from [<c040c904>] (request_firmware_work_fun c+0x38/0x60) [ 465.802520] r7:ef62d200 r6:ef629ac0 r5:ee539540 r4:ee539540 [ 465.802543] [<c040c8cc>] (request_firmware_work_func) from [<c0055394>] (process_one_work+0x12 8/0x330) [ 465.802549] r4:ef218800 [ 465.802560] [<c005526c>] (process_one_work) from [<c005560c>] (worker_thread+0x34/0x4b0) [ 465.802566] r10:ef629ac0 r9:ef629ac0 r8:00000008 r7:ef218818 r6:ef218800 r5:00000001 [ 465.802585] r4:ef629ad4 [ 465.802598] [<c00555d8>] (worker_thread) from [<c005ad64>] (kthread+0xe0/0xfc) [ 465.802604] r10:00000000 r9:00000000 r8:00000000 r7:c00555d8 r6:ef218800 r5:00000000 [ 465.802623] r4:ef21a1c0 [ 465.802637] [<c005ac84>] (kthread) from [<c000fc48>] (ret_from_fork+0x14/0x2c) [ 465.802643] r7:00000000 r6:00000000 r5:c005ac84 r4:ef21a1c0 [ 465.802661] ---[ end trace f363bed9b0637e37 ]--- [ 465.802696] ------------[ cut here ]------------ [ 465.802709] WARNING: CPU: 0 PID: 18 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x23 c/0x364() [ 465.802718] 44000000.ocp:L3 Custom Error: MASTER IPU1 TARGET GPMC (Idle): Data Access in User mode during Functional access [ 465.802723] Modules linked in: [ 465.802734] CPU: 0 PID: 18 Comm: kworker/0:1 Tainted: G W 4.4.45SMS_MONOLYTHIC-00 013-g7a35563-dirty #24 [ 465.802741] Hardware name: Generic DRA74X (Flattened Device Tree) [ 465.802749] Workqueue: events request_firmware_work_func [ 465.802757] Backtrace: [ 465.802772] [<c0012b18>] (dump_backtrace) from [<c0012cb4>] (show_stack+0x18/0x1c) [ 465.802778] r6:c0c672ec r5:00000000 r4:20000193 r3:ef21e000 [ 465.802803] [<c0012c9c>] (show_stack) from [<c02cac88>] (dump_stack+0x88/0xa8) [ 465.802815] [<c02cac00>] (dump_stack) from [<c0040d18>] (warn_slowpath_common+0x7c/0xb8) [ 465.802821] r5:00000093 r4:ef21f8b0 [ 465.802837] [<c0040c9c>] (warn_slowpath_common) from [<c0040df8>] (warn_slowpath_fmt+0x38/0x40 ) [ 465.802843] r8:c0a22aac r7:ef1fe9d0 r6:c0c67530 r5:c0c67248 r4:80080003 [ 465.802869] [<c0040dc4>] (warn_slowpath_fmt) from [<c02fa4d4>] (l3_interrupt_handler+0x23c/0x3 64) [ 465.802874] r3:ef1fe840 r2:c0c67308 [ 465.802890] [<c02fa298>] (l3_interrupt_handler) from [<c0089618>] (handle_irq_event_percpu+0x6 4/0x164) [ 465.802896] r10:ef1f6840 r9:c0e3f2a6 r8:00000017 r7:00000000 r6:00000000 r5:ef1f68a0 [ 465.802916] r4:ef1fed40 [ 465.802928] [<c00895b4>] (handle_irq_event_percpu) from [<c0089758>] (handle_irq_event+0x40/0x 64) [ 465.802933] r10:ef242c00 r9:00000000 r8:ef008000 r7:00000001 r6:c0dcbe04 r5:ef1f68a0 [ 465.802953] r4:ef1f6840 [ 465.802965] [<c0089718>] (handle_irq_event) from [<c008c9f0>] (handle_fasteoi_irq+0xbc/0x194) [ 465.802971] r6:c0dcbe04 r5:ef1f68a0 r4:ef1f6840 r3:00000000 [ 465.802992] [<c008c934>] (handle_fasteoi_irq) from [<c0088ea8>] (generic_handle_irq+0x20/0x30) [ 465.802997] r7:00000001 r6:00000000 r5:c0db9424 r4:00000000 [ 465.803017] [<c0088e88>] (generic_handle_irq) from [<c0088fd4>] (__handle_domain_irq+0x5c/0xbc ) [ 465.803027] [<c0088f78>] (__handle_domain_irq) from [<c0009454>] (gic_handle_irq+0x3c/0x7c) [ 465.803033] r8:fa213000 r7:fa212000 r6:ef21fa58 r5:c0dc1914 r4:fa21200c r3:ef21fa58 [ 465.803056] [<c0009418>] (gic_handle_irq) from [<c0013740>] (__irq_svc+0x40/0x74) [ 465.803063] Exception stack(0xef21fa58 to 0xef21faa0) [ 465.803070] fa40: c0dd1ef0 a0000113 [ 465.803080] fa60: 00000001 00000003 00000000 c0dd1ef0 c0c35554 a0000113 c0dd5654 00000000 [ 465.803089] fa80: ef242c00 ef21fab4 ef21fab8 ef21faa8 c0032448 c09e4130 20000113 ffffffff [ 465.803095] r8:c0dd5654 r7:ef21fa8c r6:ffffffff r5:20000113 r4:c09e4130 r3:c0032448 [ 465.803123] [<c09e4108>] (_raw_spin_unlock_irqrestore) from [<c0032448>] (omap_hwmod_deassert_ hardreset+0x44/0x54) [ 465.803136] [<c0032404>] (omap_hwmod_deassert_hardreset) from [<c00330ac>] (omap_device_deasse rt_hardreset+0x40/0x5c) [ 465.803142] r7:00000000 r6:c0c35554 r5:ef241580 r4:00000001 [ 465.803166] [<c003306c>] (omap_device_deassert_hardreset) from [<c003ab34>] (omap_rproc_device _enable+0xc4/0x100) [ 465.803172] r6:ee548c00 r5:00000000 r4:ef242c00 r3:c0c3582f [ 465.803194] [<c003aa70>] (omap_rproc_device_enable) from [<c072f314>] (omap_rproc_start+0xa8/0 x19c) [ 465.803200] r5:ef242c10 r4:ee548e78 [ 465.803215] [<c072f26c>] (omap_rproc_start) from [<c072cfa0>] (rproc_boot+0x450/0x56c) [ 465.803220] r10:de2795d0 r8:ee548c20 r7:ee548dac r6:ee548db4 r5:00000000 r4:ee548c00 [ 465.803245] [<c072cb50>] (rproc_boot) from [<c072df70>] (rproc_virtio_find_vqs+0x1a8/0x204) [ 465.803250] r10:ee549410 r9:c0c695a4 r8:ef21fc18 r7:ef21fc0c r6:c0a93bbc r5:ef21fc14 [ 465.803270] r4:00000002 [ 465.803283] [<c072ddc8>] (rproc_virtio_find_vqs) from [<c0732fe8>] (rpmsg_probe+0xac/0x45c) [ 465.803289] r10:00000000 r9:00000000 r8:ee548c00 r7:ee549410 r6:ee51fc80 r5:c0a93bb8 [ 465.803308] r4:ef21fc08 [ 465.803322] [<c0732f3c>] (rpmsg_probe) from [<c03525dc>] (virtio_dev_probe+0x218/0x314) [ 465.803328] r10:00000000 r9:00000000 r8:00000001 r7:00000000 r6:00000001 r5:00000000 [ 465.803347] r4:00000000 [ 465.803359] [<c03523c4>] (virtio_dev_probe) from [<c03f94e8>] (driver_probe_device+0x1e8/0x2b0 ) [ 465.803365] r10:00000000 r9:00000000 r8:00000011 r7:c0e2930c r6:00000000 r5:c0e7f47c [ 465.803385] r4:ee549420 [ 465.803396] [<c03f9300>] (driver_probe_device) from [<c03f9848>] (__device_attach_driver+0x88/ 0x94) [ 465.803402] r8:c0e7f458 r7:00000001 r6:ee549420 r5:ef21fd30 r4:c0e2930c r3:00000000 [ 465.803427] [<c03f97c0>] (__device_attach_driver) from [<c03f79a0>] (bus_for_each_drv+0x4c/0x9 4) [ 465.803433] r6:c03f97c0 r5:ef21fd30 r4:00000000 r3:00000000 [ 465.803454] [<c03f7954>] (bus_for_each_drv) from [<c03f9258>] (__device_attach+0xa8/0x10c) [ 465.803460] r6:c0df5c30 r5:ee549454 r4:ee549420 [ 465.803476] [<c03f91b0>] (__device_attach) from [<c03f9868>] (device_initial_probe+0x14/0x18) [ 465.803482] r7:ee548c20 r6:c0df5c30 r5:ee549420 r4:ee549420 [ 465.803503] [<c03f9854>] (device_initial_probe) from [<c03f8950>] (bus_probe_device+0x8c/0x94) [ 465.803516] [<c03f88c4>] (bus_probe_device) from [<c03f6c58>] (device_add+0x388/0x530) [ 465.803521] r6:ee549428 r5:00000000 r4:ee549420 r3:00000001 [ 465.803543] [<c03f68d0>] (device_add) from [<c03f6f84>] (device_register+0x1c/0x20) [ 465.803549] r10:ee548c00 r9:ee548c20 r8:ee4fe02c r7:ee549400 r6:ee549420 r5:c072dca0 [ 465.803568] r4:ee549420 [ 465.803582] [<c03f6f68>] (device_register) from [<c0352128>] (register_virtio_device+0xa8/0xf4 ) [ 465.803588] r4:ee549410 r3:ee5495b8 [ 465.803604] [<c0352080>] (register_virtio_device) from [<c072e1f4>] (rproc_add_virtio_dev+0x44 /0xa0) [ 465.803610] r6:00000007 r5:ee548c20 r4:ee549400 r3:ee548c44 [ 465.803630] [<c072e1b0>] (rproc_add_virtio_dev) from [<c072b700>] (rproc_handle_vdev+0x168/0x2 2c) [ 465.803636] r7:ee549400 r6:ee5495f0 r5:00000002 r4:ee4fe058 [ 465.803656] [<c072b598>] (rproc_handle_vdev) from [<c072b82c>] (rproc_handle_resources+0x68/0x 118) [ 465.803662] r10:ee548c20 r9:ee4fe02c r8:00000150 r7:ee548c00 r6:00000000 r5:00000028 [ 465.803681] r4:c0e28be0 [ 465.803692] [<c072b7c4>] (rproc_handle_resources) from [<c072b9d0>] (rproc_fw_config_virtio+0x f4/0x100) [ 465.803698] r10:00000000 r9:ef629ac0 r8:00000000 r7:0000017c r6:f1d125d0 r5:ee5393c0 [ 465.803718] r4:ee548c00 [ 465.803730] [<c072b8dc>] (rproc_fw_config_virtio) from [<c040c904>] (request_firmware_work_fun c+0x38/0x60) [ 465.803735] r7:ef62d200 r6:ef629ac0 r5:ee539540 r4:ee539540 [ 465.803757] [<c040c8cc>] (request_firmware_work_func) from [<c0055394>] (process_one_work+0x12 8/0x330) [ 465.803763] r4:ef218800 [ 465.803774] [<c005526c>] (process_one_work) from [<c005560c>] (worker_thread+0x34/0x4b0) [ 465.803780] r10:ef629ac0 r9:ef629ac0 r8:00000008 r7:ef218818 r6:ef218800 r5:00000001 [ 465.803799] r4:ef629ad4 [ 465.803812] [<c00555d8>] (worker_thread) from [<c005ad64>] (kthread+0xe0/0xfc) [ 465.803818] r10:00000000 r9:00000000 r8:00000000 r7:c00555d8 r6:ef218800 r5:00000000 [ 465.803838] r4:ef21a1c0 [ 465.803851] [<c005ac84>] (kthread) from [<c000fc48>] (ret_from_fork+0x14/0x2c) [ 465.803857] r7:00000000 r6:00000000 r5:c005ac84 r4:ef21a1c0 [ 465.803874] ---[ end trace f363bed9b0637e38 ]--- [ 465.803914] remoteproc remoteproc0: remote processor 58820000.ipu is now up [ 465.804250] virtio_rpmsg_bus virtio0: rpmsg host is online [ 465.804281] remoteproc remoteproc0: registered virtio0 (type 7) [ 465.804293] remoteproc remoteproc0: rsc: type 0 [ 465.804303] remoteproc remoteproc0: rsc: type 0 [ 465.804312] remoteproc remoteproc0: rsc: type 0 [ 465.804321] remoteproc remoteproc0: rsc: type 2 [ 465.804329] remoteproc remoteproc0: rsc: type 1 At At the e2e-Forum I saw, that L3-Registers used for IPC and Co. are NOT PUBLICLY AVAILABLE... wow. Why? Can you tell me something about the error above? THANK YOU for your help .... M
Everything I tried leads into one of two errors: (1) omap-iommu 58882000.mmu: iommu fault: da 0x0 flags 0x0 or: (2) L3 Custom Error: MASTER IPU1 TARGET GPMC (Idle): Data Access in Usermode during Functional access And I am really not able to find out something useful for my use-case when I examine the "ipc..." sources. I do not find, where and how the "xem4" files are build. Of course... there is somewhere a messageq_single.c ...but -> maybe there must be some "pixie dust"... gluing everything together? So here's my question again: I run linux on A15 core. I have to re-use C6x and Cortex M4 code from our other projects and the best way of managing firmware of the subcores is using remoteproc. I use the gnu-linux-eabi toolchain and my editor is not a IDE, it's vi, because I have to understand how the code we will provide "EXACTLY" works. I can not provide any kind of "black box" to my customers, because of the certification we need. What works: I got a Makefile using arm-linux-gnueabi... creating some kind of code using the tda2.lds file, the ARM-startup-code (tried out startup_ARMCM4.S and Core_smp_asm_gnu.sv7M) and of course custom_rsc_table_omap5_ipu.h... I tuned everything together and I am able to configure the MMU rudimentary. But something is missing... leading into one of the two errors shown above, no matter what I try. Without a working example, at least without a working startup code, some kind of baseline... I am not able to reach the point, from which I can do what is my main job: Porting our Code into the new Board design... The usage of linux on A15 instead of RTOS or BIOS makes the usage of the MMU necessary and handling it is obviously not ease... I need help here.... TNX Marco
Hi, The first error you mention: (1) omap-iommu 58882000.mmu: iommu fault: da 0x0 flags 0x0 Indicates an MMU fault at IPU virtual address 0x0. Based on the original remoteproc logs, I see that virtual address 0x0 was not being programmed in the MMU. The IPU expects the vector table at address 0x0. I see that later, you have added virtual address 0x0 to the resource table, and it is getting mapped. So it seems like you are past that error? For the IPC messageq_single example, the files of interest would be: packages/ti/ipc/tests/messageq_single.c --> source code for test packages/ti/ipc/tests/IpuAmmu_vayu.cfg --> AMMU config, used by SYS/BIOS to configure the AMMU (UNICACHE MMU) (remoteproc doesn't do this) packages/ti/ipc/remoteproc/rsc_table_vayu_ipu.h --> Resource table, used by remoteproc for programming the MMU and setting up IPC packages/ti/ipc/tests/package.bld --> build file Thanks, Angela
I took a look into the ELF file (objdump) and found out, that the "Pragma" I have to convert to GNU-Style (__attribute__'s) something went wrong. After that I have fixed the linker script... in the provided lds the section of rst_vectors and startup code is not where it belongs. Than I had to fix the "far jump" Problem by fixing the way to jump into "main" and "setup" of the C-Code... and now I am able to bring up M4 with a very simple example. That is what WE NEED: Only as much code as necessary to start work on M4 subcore. BUT... such a example would be nice for everyone who wants to code on TDA2 subcores on its own, without being in the jail of the TI SDK, which links "across country" through much different directory... a little bit of XDC here, calling SYS/BIOS there... including some code (!) generated by configuration process... it is hard to brake out of this jail and this can not be the goal of an BSP (!) which should help bringing up a system in the use case of the costumer. So I'm a little bit surprised and be afraid of the future, when complex drivers of MIPI or other L3 Peripherie have to be ported from TI-SDK into our own, bare metal world... ;-) Best regards: Marco...