This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problem on DspLink

Other Parts Discussed in Thread: OMAP3530, SYSCONFIG

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!

 

  • I would suggest using openembedded to install dsplink and not work directly from source.

    bitbake ti-dsplink-module

    then you should take the generated ipk packages and install them on your board.  If i'm not mistaken the packages TI provides are for a kernel older than what angstrom is currently using.