Part Number:AM5728
工程描述:使用CCS9.3,基于TI IPC例程ex02_messageeq工程开发
问题描述:在linux端加载编译好的固件就一直打印以下问题,能帮忙分析一下是什么问题导致的吗?谢谢!
定时器配置:
Timer_Params timerParams;Timer_Handle myTimer;Timer_Params_init(&timerParams);timerParams.arg = 1;timerParams.period = 1000000;timerParams.periodType = Timer_PeriodType_MICROSECS;timerParams.runMode = Timer_RunMode_CONTINUOUS;timerParams.startMode = Timer_StartMode_USER;myTimer = Timer_create(Timer_ANY, &timer_isr_function, &timerParams, NULL);if (myTimer == NULL) {System_abort("Timer create failed");} else {Timer_start( myTimer );}
问题打印:
[ 621.772765] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1 [ 621.785218] remoteproc remoteproc0: stopped remote processor 58820000.ipu [ 621.793208] remoteproc remoteproc0: releasing 58820000.ipu [ 621.799547] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000 [ 621.808533] remoteproc remoteproc0: 58820000.ipu is available root@AM57xx-Tronlong:/app# [ 621.820692] remoteproc remoteproc0: powering up 58820000.ipu [ 621.827303] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 4253360 [ 621.835313] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1 [ 621.850917] virtio_rpmsg_bus virtio0: rpmsg host is online [ 621.856443] ------------[ cut here ]------------ [ 621.856459] WARNING: CPU: 0 PID: 992 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x25c/0x36c [ 621.856466] 44000000.ocp:L3 Custom Error: MASTER IPU1 TARGET L4_PER1_P3 (Idle): Data Access in Supervisor mode during Functional access [ 621.856541] Modules linked in: bc_example(O) cmemk(O) pru_rproc pruss_intc rpmsg_rpc rpmsg_proto pruss c_can_platform c_can can_dev omap_wdt snd_soc_simple_card snd_soc_simple_card_utils pvrsrvkm(O) snd_soc_omap_hdmi_audio m25p80 snd_soc_tlv320aic3x rtc_omap rtc_palmas extcon_palmas pruss_soc_bus omap_remoteproc virtio_rpmsg_bus rpmsg_core remoteproc sch_fq_codel cryptodev(O) [last unloaded: cmemk] [ 621.856550] CPU: 0 PID: 992 Comm: kworker/0:0 Tainted: GW O4.9.65-rt23 #55 [ 621.856553] Hardware name: Generic DRA74X (Flattened Device Tree) [ 621.856570] Workqueue: events request_firmware_work_func [ 621.856575] Backtrace: [ 621.856590] [<c020b2a4>] (dump_backtrace) from [<c020b560>] (show_stack+0x18/0x1c) [ 621.856597] r7:00000009 r6:600f0193 r5:00000000 r4:c10227e8 [ 621.856605] [<c020b548>] (show_stack) from [<c04ce8c0>] (dump_stack+0x8c/0xa0) [ 621.856614] [<c04ce834>] (dump_stack) from [<c022d768>] (__warn+0xec/0x104) [ 621.856623] r7:00000009 r6:c0bb96f0 r5:00000000 r4:ee4237f8 [ 621.856635] [<c022d67c>] (__warn) from [<c022d7c0>] (warn_slowpath_fmt+0x40/0x48) [ 621.856643] r9:00000006 r8:ef25dc10 r7:c0bb9a80 r6:00000000 r5:c0bb961c r4:c0bb96c0 [ 621.856652] [<c022d784>] (warn_slowpath_fmt) from [<c04fe0c0>] (l3_interrupt_handler+0x25c/0x36c) [ 621.856656] r3:ef25da80 r2:c0bb96c0 [ 621.856658] r4:80080003 [ 621.856669] [<c04fde64>] (l3_interrupt_handler) from [<c02802fc>] (__handle_irq_event_percpu+0xb4/0x138) [ 621.856685] r10:c104d08d r9:ef261100 r8:00000017 r7:ee42391c r6:00000000 r5:ef261100 [ 621.856690] r4:ef25df80 [ 621.856701] [<c0280248>] (__handle_irq_event_percpu) from [<c02803c0>] (handle_irq_event_percpu+0x40/0x84) [ 621.856715] r10:0000e094 r9:ee422000 r8:ef008000 r7:00000000 r6:c1008c14 r5:ef261100 [ 621.856720] r4:c027dbe8 [ 621.856730] [<c0280380>] (handle_irq_event_percpu) from [<c0280444>] (handle_irq_event+0x40/0x64) [ 621.856739] r6:c1008c14 r5:ef261168 r4:ef261100 [ 621.856753] [<c0280404>] (handle_irq_event) from [<c0283b20>] (handle_fasteoi_irq+0xc0/0x190) [ 621.856764] r7:00000000 r6:c1008c14 r5:ef261168 r4:ef261100 [ 621.856777] [<c0283a60>] (handle_fasteoi_irq) from [<c027f538>] (generic_handle_irq+0x2c/0x3c) [ 621.856781] r7:00000000 r6:00000000 r5:00000017 r4:c0e5ce7c [ 621.856792] [<c027f50c>] (generic_handle_irq) from [<c027faac>] (__handle_domain_irq+0x64/0xbc) [ 621.856805] [<c027fa48>] (__handle_domain_irq) from [<c02014a0>] (gic_handle_irq+0x40/0x7c) [ 621.856811] r9:ee422000 r8:fa213000 r7:fa212000 r6:ee4239e0 r5:fa21200c r4:c1003464 [ 621.856823] [<c0201460>] (gic_handle_irq) from [<c020c038>] (__irq_svc+0x58/0xa0) [ 621.856828] Exception stack(0xee4239e0 to 0xee423a28) [ 621.856835] 39e0: 00000000 00000000 00000000 600f0013 c1062954 c1073f28 00000000 0000003e [ 621.856841] 3a00: 00000000 00000264 0000e094 ee423a9c ee423968 ee423a30 c057f7fc c027dbe8 [ 621.856844] 3a20: 600f0013 ffffffff [ 621.856849] r9:ee422000 r8:00000000 r7:ee423a14 r6:ffffffff r5:600f0013 r4:c027dbe8 [ 621.856861] [<c027d8f8>] (console_unlock) from [<c027e1d4>] (vprintk_emit+0x2c0/0x480) [ 621.856875] r10:00000000 r9:c1053fa8 r8:c1017258 r7:00000006 r6:00000006 r5:00000000 [ 621.856878] r4:0000002e [ 621.856886] [<c027df14>] (vprintk_emit) from [<c05f3e2c>] (dev_vprintk_emit+0xa8/0x1d0) [ 621.856892] r10:c0bc2508 r9:ee423bdc r8:c0bd2d40 r7:00000006 r6:ee423b10 r5:ed551c38 [ 621.856895] r4:00000011 [ 621.856902] [<c05f3d84>] (dev_vprintk_emit) from [<c05f3f7c>] (dev_printk_emit+0x28/0x30) [ 621.856908] r10:00000000 r9:dd040000 r8:024000c0 r7:ed551c28 r6:00000100 r5:ee6c1e40 [ 621.856910] r4:00000001 [ 621.856917] [<c05f3f58>] (dev_printk_emit) from [<c05f4030>] (__dev_printk+0x54/0x94) [ 621.856921] r3:bf038730 r2:c0bd2d40 [ 621.856929] [<c05f3fdc>] (__dev_printk) from [<c05f4300>] (_dev_info+0x40/0x48) [ 621.856945] [<c05f42c4>] (_dev_info) from [<bf037d70>] (rpmsg_probe+0x2b8/0x41c [virtio_rpmsg_bus]) [ 621.856950] r3:00000000 r2:00000000 r1:bf038654 [ 621.856967] [<bf037ab8>] (rpmsg_probe [virtio_rpmsg_bus]) from [<c0548ef4>] (virtio_dev_probe+0x230/0x30c) [ 621.856973] r10:00000001 r9:00000000 r8:ffffffff r7:ed551c38 r6:ed551c28 r5:00000000 [ 621.856975] r4:00000000 [ 621.856985] [<c0548cc4>] (virtio_dev_probe) from [<c05f84a4>] (driver_probe_device+0x230/0x2d0) [ 621.856991] r10:00000000 r9:00000034 r8:bf038758 r7:00000000 r6:00000000 r5:c108efd4 [ 621.856993] r4:ed551c38 [ 621.857007] [<c05f8274>] (driver_probe_device) from [<c05f86a8>] (__device_attach_driver+0xa0/0xd4) [ 621.857020] r9:00000000 r8:c108efb0 r7:00000001 r6:ed551c38 r5:ee423d58 r4:bf038758 [ 621.857031] [<c05f8608>] (__device_attach_driver) from [<c05f6844>] (bus_for_each_drv+0x68/0x9c) [ 621.857041] r7:00000001 r6:c05f8608 r5:ee423d58 r4:00000000 [ 621.857052] [<c05f67dc>] (bus_for_each_drv) from [<c05f8150>] (__device_attach+0xb8/0x11c) [ 621.857057] r6:c1027218 r5:ed551c6c r4:ed551c38 [ 621.857065] [<c05f8098>] (__device_attach) from [<c05f8728>] (device_initial_probe+0x14/0x18) [ 621.857069] r7:00000000 r6:c1027218 r5:ed551c38 r4:ed551c40 [ 621.857078] [<c05f8714>] (device_initial_probe) from [<c05f7758>] (bus_probe_device+0x8c/0x94) [ 621.857084] [<c05f76cc>] (bus_probe_device) from [<c05f58c8>] (device_add+0x3fc/0x588) [ 621.857089] r7:00000000 r6:ed551c38 r5:ed553020 r4:ed551c40 [ 621.857095] [<c05f54cc>] (device_add) from [<c05f5a70>] (device_register+0x1c/0x20) [ 621.857101] r10:ed55320c r9:ed551c04 r8:ed553020 r7:ed551c28 r6:ed551c38 r5:bf0259ec [ 621.857103] r4:ed551c38 [ 621.857111] [<c05f5a54>] (device_register) from [<c0548b00>] (register_virtio_device+0xb4/0xf4) [ 621.857114] r5:bf0259ec r4:ed551c28 [ 621.857137] [<c0548a4c>] (register_virtio_device) from [<bf025f44>] (rproc_add_virtio_dev+0x78/0xfc [remoteproc]) [ 621.857142] r7:ed551c28 r6:00000007 r5:ed553020 r4:ed551c00 [ 621.857170] [<bf025ecc>] (rproc_add_virtio_dev [remoteproc]) from [<bf0232f4>] (rproc_vdev_do_probe+0x18/0x1c [remoteproc]) [ 621.857175] r7:00000000 r6:ed5531bc r5:ed5531b4 r4:ed553000 [ 621.857201] [<bf0232dc>] (rproc_vdev_do_probe [remoteproc]) from [<bf024fa8>] (__rproc_boot+0x4bc/0x5bc [remoteproc]) [ 621.857229] [<bf024aec>] (__rproc_boot [remoteproc]) from [<bf0250d4>] (rproc_auto_boot_callback+0x18/0x24 [remoteproc]) [ 621.857235] r10:ee422000 r9:00000000 r8:ef632e00 r7:00000000 r6:ef62f6c0 r5:ed972a80 [ 621.857237] r4:ed8d94c0 [ 621.857257] [<bf0250bc>] (rproc_auto_boot_callback [remoteproc]) from [<c060e380>] (request_firmware_work_func+0x44/0x6c) [ 621.857260] r5:ed972a80 r4:ed8d9400 [ 621.857269] [<c060e33c>] (request_firmware_work_func) from [<c0244878>] (process_one_work+0x1dc/0x3f8) [ 621.857272] r4:ed8d9400 [ 621.857278] [<c024469c>] (process_one_work) from [<c02454dc>] (worker_thread+0x58/0x5a8) [ 621.857284] r10:ee422000 r9:ef62f6d8 r8:c1002d00 r7:00000008 r6:ed972a98 r5:ef62f6c0 [ 621.857286] r4:ed972a80 [ 621.857295] [<c0245484>] (worker_thread) from [<c024a748>] (kthread+0x100/0x118) [ 621.857300] r10:00000000 r9:00000000 r8:c0245484 r7:ed972a80 r6:ee422000 r5:ed8d9880 [ 621.857303] r4:00000000 [ 621.857311] [<c024a648>] (kthread) from [<c0207c90>] (ret_from_fork+0x14/0x24) [ 621.857316] r8:00000000 r7:00000000 r6:00000000 r5:c024a648 r4:ed8d9880 [ 621.857319] ---[ end trace 0002a1092f93b303 ]--- [ 622.538504] remoteproc remoteproc0: registered virtio0 (type 7) [ 622.544474] remoteproc remoteproc0: remote processor 58820000.ipu is now up [ 622.556276] omap-rproc 58820000.ipu: omap rproc 58820000.ipu crashed [ 622.562717] remoteproc remoteproc0: crash detected in 58820000.ipu: type fatal error [ 622.570981] remoteproc remoteproc0: handling crash #1 in 58820000.ipu [ 622.577686] remoteproc remoteproc0: recovering 58820000.ipu [ 622.587901] remoteproc remoteproc0: stopped remote processor 58820000.ipu [ 622.594937] remoteproc remoteproc0: powering up 58820000.ipu [ 622.605884] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 4253360 [ 622.613822] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1 [ 622.627506] virtio_rpmsg_bus virtio0: rpmsg host is online
Nancy Wang:
请贴出SDK版本,另外您是在添加了TIMER配置代码之后才出现问题的吗?是在DSP端添加的吗?请再详细描述一下,谢谢!
,
zStoneTh:
版本信息:
ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05ti-processor-sdk-rtos-am57xx-evm-04.03.00.05
问题是在添加TIMER代码后出现的,是在IPU1上添加的。我这边使用的是“ti-linux-ipc-examples\ex02_messageq\src\ipu1”的例程进行修改的。例程可以正常使用。
,
Nancy Wang:
感谢提供信息,我会在咨询相关工程师后给您回复。
,
zStoneTh:
&ipu1 {status = "okay";memory-region = <&ipu1_cma_pool>;mboxes = <&mailbox5 &mbox_ipu1_ipc3x>;timers = <&timer11>;watchdog-timers = <&timer7>, <&timer8>; };是否在IPU1中使用定时器需要指定“timer11”,也就是需改代码如下:
Timer_Params_init(&timerParams);timerParams.arg = 1;timerParams.period = 1000000;timerParams.periodType = Timer_PeriodType_MICROSECS;timerParams.runMode = Timer_RunMode_CONTINUOUS; //timerParams.startMode =Timer_StartMode_USER; //myTimer = Timer_create(Timer_ANY, &timer_isr_function, &timerParams, NULL);myTimer = Timer_create(10, &timer_isr_function, &timerParams, NULL);if (myTimer == NULL) {System_abort("Timer create failed");} else {Timer_start( myTimer );}谢谢!
,
Cherry Zhou:
您好我们已将您的问题升级到英文论坛,预计将在24小时内回复您。谢谢!
,
zStoneTh:
报错问题解决了,预计是未先初始化定时器时钟,就开始操作定时器了。但是目前发现定时器无法正常工作,正在继续查找原因。