主题中讨论的其他器件:TDA2
工具/软件:Linux
您好*!
在命令行自定义编译环境(CCS 外部)中启动 TDA2的 DSP 时遇到以下问题:
环境描述
自定义资源表(rproc)
(笑声) /* Linux -分割->器件树: reg =<0x0 0xA100_0000 0x0 0x200_0000>; */ #define DSP_SHMEM 0xa1004000 #define DSP_SHMEM_SIZE 0x1000000 /* OC_MEMORY */ #define IPC_MEM_virt 0x40300000 #define IPC_MEM_PHY 0x40300000 #define IPC_MEM_virt_size 0x80000... 结构 my_resource_table{ struct resource_table base; unsigned int offset[rsc_NUM_entries ];/*应与实际定义中的"num"匹配* /* rpmsg vdev 条目*/ struct fw_RSC_vdev rpmsg_vdev; struct fw_rsc_vdev_vring rpmsg_vring0; struct fw_rsc_vdev_vring rpmsg_vring1; /*文本分割条目*/ struct fw_RSC_carveout text_cout; /* devmem 条目*/ struct fw_RSC_devmem devmem0; }; //extern char ti_trace_SysMIN_Module_State_0_outbuf__A; #pragma DATA_SECTION (ti_ipc_remote_proc_ResourceTable、".resource_table") #pragma DATA_align (ti_ipc_test_sipc_remote_table )#pragma 指令= 4096 (proc_remote_remote_remote_remote_remote_spragma 指令) 1、 /*我们是实现此功能的第一个版本*/ RSC_NUM_ENTRIES、 /*表中的条目数*/ 0、0、/*保留、必须为零*/ /*条目的偏移量*/ { offsetof (struct my_resource_table、rpmsg_vdev)、 offsetof (struct my_resource_table、text_cout)、 offsetof (struct my_resource_table、devmem0) 、}、 /* rpmsg vdev 条目*/ { TYPE_VDEV、virtio_ID_RPMSG、0、 RPMSG_DSP_C0_features、0、0、2、 {0、0}、 /*无配置数据*/ }、 /*两个振铃*/ {DSP_MEM_RPMSG_VRING0、4096、DSP_RPMSG_VQ0_SIZE、1、0}、 {DSP_MEM_RPMSG_VRING1、4096、DSP_RPMSG_VQ1_SIZE、2、0}、 { TYPE_CARVEOUT、 DSP_SHMEM、0、 DSP_SHMEM_SIZE、0、0、"DSP_SHMEM"、 }、 { TYPE_DEVMEM、 IPC_MEM_virt、IPC_MEM_PHY、 IPC_MEM_virt_size、0、0、"IPC_MEM_virt"、 }, };
链接器 cmd 文件
内存 { IRAM_MEM:O = 0x00800000 l = 0x00008000 // 32kB 内部 SRAM */ OCMC_RAM1:O = 0x40300000 l = 0x00080000 // 512KB L3 OCMC SRAM1 * SHMEM: O = 0xa1004000 l = 0xF00000 } 段 { .text > SHMEM 堆栈 > SHMEM .bss > SHMEM .cio > SHMEM .const > SHMEM .data > SHMEM 切换 > SHMEM sysmem > SHMEM .far > SHMEM .args > SHMEM .ppdinfo > SHMEM .ppdata > SHMEM /* COFF 段*/ .pinit > SHMEM .cinit > SHMEM /* EABI SECTIONS * 二进制文件 > SHMEM .init_array > SHMEM .neardata > SHMEM fardata > SHMEM rodata > SHMEM .c6xabi.exidx > SHMEM .c6xabi.extab > SHMEM .resource_table > SHMEM{ main.obj (.resource_table) } }
调用 Makefile 中的 cl6x
(笑声) top=${pWD} toolchain=$(top)/linux_toolchain/C6000_7.4.2 TICLL=$(toolchain)/bin/cl6x include=$(toolchain)/lib target_name=dra7-dsp1-fw.xe66 CL6X_options=-abi=eram -run_linker ------compile_map=-membrand-linux-display_support=-membrand-linux-build=-d_display-map_with-d_display-map-membrand-linux-display-display-from-map_with-map_remot-linux-display-display-w_remotions=-linux-display-w_remote_display-w_remote_display-w_remote_display-linux-prisote_display-d=-prisecon_remotions=-d.pru.pru.pru.pru.pru.pru.pru.pru.pru.pru.pru.pru. $(TICL)--abi=eabi -c main.c $(build_flags) link_coge: $(TICL)$(CL6X_OPTIONS)-o $(TARGET_NAME)-i $(INCLUDE)$(LINK)-u _c_int00...
导致错误:
[835.520532] remoteproc remoteproc2: RSC:type 3 [835.520544] remoteproc remoteproc2:RSC:type 0 [835.520553] proc teproc remoteproc2:type 1 [835.520561] remoteproc:type 3 [835.571] proc remoteproc:v2:v520ec、vrec remoteec:v2:rec remoteec、v1:vrec remoteproc remotec、vrec、v1: da a0000000、qsz 256、align 4096 [835.520591] remoteproc remoteproc2:vdev RSC:vring1:da a0004000、qsz 256、align 4096 [835.521595] remoteproc remoteproc 2:vring0:VA e1000000 dma 0xa1000000大小3000 dr [835.521595] remoteproc remotepproc2:vring1 dr e4000 vring1:vring1 dr e100premote4000 dr e4000 启动40800000。dsp [835.521679] remoteproc remoteproc2:启动固件映像 dra7-dsp1-fw.xe66、大小为28540 [835.528810] omap_hwmod:mu0_dsp1:_wait_target_disable 失败 [835.528854] ommu 40mu 版本:83mu mu.0mu.mu.mu.mu:8340d1000 mu.mu.mu.mu.mu.mu.02000] 类型0 [835.528984] remoteproc remoteproc remoteproc 2:carveout RSC:da a1004000、PA 0、len 1000000、flags 0 [835.535316] proc remoteproc remoteproc 2:carve1100000、DMA 0xa1100000、len 0x1000000 [ 835.662825] remoteproc:835.36] remoteSC:0836] 映射的 devmem PA 0x40300000、da 0x40300000、len 0x80000 [835.66311] remoteproc remoteproc 2:RSC:type 3 [835.663123] remoteproc remoteproc 2:RSC:type 0 [835.663131] remoteproc:type 1 [DSP 5.663mu 0x3640000 mu:crume363mu :在 OMAP 403640h 中检测到的映射发生故障时发生故障 类型 mmmmufault [835.663663] ommu 40d01000.mu:40d01000.mMU:errs:0x00000002 da:0xe3175f30 pgd:0xe5f2cc 4 * pgd:px00000000 [835.663699] remoteproc 8002:远程处理器835.6640proc 2 :远程控制器38600000 rm 类型1 [ 835.6664995] remoteproc remoteproc2:输入 rproc_crash_handler 工作 [ 835.665004] remoteproc remoteproc2:处理40800000.dsp 中的 crash #1 [835.665012] omp removeproc remoteproc 2:恢复405.806178] dsp_mod_remote_dsp 3108d1:disable tegrobed_d1:disp1:ture_m8366dsp1:disable ture_remote_remote_remote_remote1: failed1:ture83m8366.000.dsp1:ture_dsp1:teptepture_d1
我的映射中出现了问题,但是 和:为什么?
Tnx - Marco。