Hello!
I am trying to run dsplink on my own OMAP3530 board, But it failed.
I have angstrom linux running well on my board.
I downloaded dsplink 1.64 from the ti website, and compiled reference to "ProgrammersGuide" and "InstallGuide_Linux_OMAP3530" with no problen. Because the memory of my board is 256M, I modified the bootargs in U-boot "mem=100M@0x80000000 mem=128M@0x88000000".
But when running the message Demo it abord with problem.
the error message is as follows
root@beagleboard:~/OMAP/DEBUG# insmod dsplinkk.ko
DSPLINK Module (1.64) created on Date: Nov 4 2010 Time: 21:52:37
root@beagleboard:~/OMAP/DEBUG# rm -f /dev/dsplink
root@beagleboard:~/OMAP/DEBUG# mknod /dev/dsplink c 230 0
root@beagleboard:~/OMAP/DEBUG# ./loopgpp loop.out 128 1000
=============== Sample Application : LOOP ==========
==== Executing sample for DSP processor Id 0 ====
Entered LOOP_Create ()
Entered PROC_setup ()
linkCfg [0x0]
Entered DRV_Initialize ()
drvObj [0x367ac]
arg [0x0]Unhandled fault: external abort on non-linefetch (0x1008) at 0xd0ad8010
Leaving DRV_Initialize () staInternal error: : 1008 [#1] PREEMPT
Modules linked in: dsplinkk
CPU: 0 Not tainted (2.6.31-rc7-omap1 #63)
PC is at OMAP3530_halMmuEnable+0x208/0x3d4 [dsplinkk]
LR is at 0x150
pc : [<bf002d90>] lr : [<00000150>] psr: 60000013
sp : cd79fd88 ip : d0adb150 fp : d0a83000
r10: 00000006 r9 : cd79fda4 r8 : 00000007
r7 : d0acd000 r6 : 00000006 r5 : 00000008 r4 : 00130000
r3 : 00000000 r2 : d0ad8000 r1 : d0adb070 r0 : 00000188
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c5387d Table: 8faec019 DAC: 00000015
Process loopgpp (pid: 1740, stack limit = 0xcd79e2e8)
Stack: (0xcd79fd88 to 0xcd7a0000)
fd80: d0a8f000 0000000a c0542880 cd79fe04 00000001 c0398588
fda0: 00000001 d0adb000 00000000 d0acd000 00000000 d0a8f000 0000000a d0a86024
fdc0: d0a83000 bf002fcc d0a8f000 0000000a 00008000 d0acd000 0000000a d0a86000
fde0: bf0514f8 bf001c80 00000000 bf0281ec cd79fe20 5cf04000 00014000 d0b40000
fe00: 00000000 15752a00 d0a86024 00000000 bf051208 00000000 00000000 d0a86000
fe20: bf051528 bf00073c bf051208 bf051208 bf051230 00008000 00000000 bf0048d4
fe40: d0a86000 bf051208 00008000 00000000 00000000 00000000 bf052ea0 00008000
fe60: 00000000 00000000 cd79e000 00000001 be8acbd4 bf026020 00000000 0002d000
fe80: cfaec000 d0ac3000 00000000 0000cbe4 00006c08 00006c08 00000000 00008000
fea0: cd79fee4 be8acbe4 00000000 bf027bd8 cd79fee4 00006c08 be8acbe4 c0212d84
fec0: cf9c7400 c006827c 00000000 cf9c6800 00000000 cf9c68f8 00000001 00000001
fee0: 00000004 00008000 00000000 00000000 00000001 4001d2f0 00000000 cd79ff30
ff00: cfb00f80 be8acbe4 00006c08 cfb00f80 be8acbe4 c00b725c cfb04570 cfb00f80
ff20: 00000003 c00b78cc c0201720 00000000 00000002 cfae9c30 cf43fa00 00000002
ff40: 00000000 cf43fa00 cfae9c30 0000000c cd79e000 00000000 be8acaa4 c00aab4c
ff60: 00000000 00000000 00000003 be8acbe4 00006c08 cfb00f80 c002c028 cd79e000
ff80: 00000000 c00b7948 00000003 00000000 be8acbe4 4001d2f0 00000000 00008c34
ffa0: 00000036 c002be80 4001d2f0 00000000 00000003 00006c08 be8acbe4 00000003
ffc0: 4001d2f0 00000000 00008c34 00000036 00000000 00000000 40024000 be8acbd4
ffe0: 00000000 be8acac0 0000c624 400f599c 80000010 00000003 00000000 00000000
[<bf002d90>] (OMAP3530_halMmuEnable+0x208/0x3d4 [dsplinkk]) from [<bf002fcc>] (OMAP3530_halMmuCtrl+0x70/0x180 [dsplinkk])
[<bf002fcc>] (OMAP3530_halMmuCtrl+0x70/0x180 [dsplinkk]) from [<bf001c80>] (OMAP3530_init+0x2a4/0x304 [dsplinkk])
[<bf001c80>] (OMAP3530_init+0x2a4/0x304 [dsplinkk]) from [<bf00073c>] (DSP_init+0x6c/0xa0 [dsplinkk])
[<bf00073c>] (DSP_init+0x6c/0xa0 [dsplinkk]) from [<bf0048d4>] (LDRV_PROC_init+0x2ec/0x420 [dsplinkk])
[<bf0048d4>] (LDRV_PROC_init+0x2ec/0x420 [dsplinkk]) from [<bf026020>] (PMGR_PROC_attach+0x164/0x4b4 [dsplinkk])
[<bf026020>] (PMGR_PROC_attach+0x164/0x4b4 [dsplinkk]) from [<bf027bd8>] (DRV_Ioctl+0x54c/0xa4c [dsplinkk])
[<bf027bd8>] (DRV_Ioctl+0x54c/0xa4c [dsplinkk]) from [<c00b725c>] (vfs_ioctl+0x70/0x8c)
[<c00b725c>] (vfs_ioctl+0x70/0x8c) from [<c00b78cc>] (do_vfs_ioctl+0x564/0x5ac)
[<c00b78cc>] (do_vfs_ioctl+0x564/0x5ac) from [<c00b7948>] (sys_ioctl+0x34/0x54)
[<c00b7948>] (sys_ioctl+0x34/0x54) from [<c002be80>] (ret_fast_syscall+0x0/0x2c)
Code: e28ee038 e156000a 3affffdf e5972020 (e5923010)
Segmentation fault
I enabled trace in dsplink and found where the error occured, It abort on the below statment in 'OMAP3530_halMmuEnable' function.
/* Perform software reset of the MMU module, set bit 1 */
SET_BIT (REG (halObject->mmuBase + MMU_SYSCONFIG_OFFSET), 1) ;
That is to say,when reading or writing of the dsp mmu register, the dsplink sample aborted.
but I didn't change any code of the sample. Why did it happen?
I have no idea how to solve this problem. Who can help me with this issue?
Thanks a lot!