2012-04-12 9 views
1

Ich verwende OMAP-L138 Exp Kit. Zuerst sehen Sie sich bitte meine U-Boot-Eigenschaften an.Segmentierungsfehler Fehler nach Ausführung von C6accel Probe

Da sind sie:

U-Boot > printenv 
    baudrate=115200 
    autoload=no 
    bootcmd=run netboot 
    bootfile=uImage-da850-omapl138-evm.bin 
    filesize=204104 
    fileaddr=C0700000 
    rootpath=/home/my_name/targetfs 
    netboot=tftpboot 0xc0700000 uImage-da850-omapl138-evm.bin; bootm 0xc0700000 
    bootargs=console=ttyS2,115200n8 mem=64M root=/dev/nfs rw nfsroot=192.168.1.218:/home/my_name/targetfs ip=192.168.1.231 
    netargs=console=ttyS2,115200n8 noinitrd rw mem=64M root=/dev/nfs rw nfsroot=192.168.1.218:/home/my_name/targetfs,nolock ip=192.168.1.231 
    stdin=serial 
    stdout=serial 
    stderr=serial 
    ver=U-Boot 2009.11 (Jan 13 2011 - 01:05:37) 
    Environment size: 728/65532 bytes 

In setup.sh von DVSDK I nächsten Parameter verwendet: Board-Speicher 64 MB, Linux Kernel Lage - TFTP, Root-Dateisystem Lage - NFS. Die Erstellung von DVSDK war erfolgreich. Ich habe die Installation im c6accel_1_01_00_07 Verzeichnis vorgenommen.

[email protected]_name-desktop:/usr/local/dvsdk/c6accel_1_01_00_07# make install 
Creating /home/my_name/targetfs/c6accel_app 
Copying kernel modules to target file system: /home/my_name/targetfs/c6accel_app/ 
Copying cmemk.ko 
Copying dsplinkk.ko 
Copying c6accel codec servers from /usr/local/dvsdk/c6accel_1_01_00_07 
Copying c6accel test app from /usr/local/dvsdk/c6accel_1_01_00_07 
Copying testfile from /usr/local/dvsdk/c6accel_1_01_00_07 

Jetzt möchte ich das C6accel Beispiel ausführen. Also setze ich Ziel zurück. Oh nein was ist das?

CMEM Range Overlaps Kernel Physical - allowing overlap 
CMEM phys_start (0xc2000000) overlaps kernel (0xc0000000 -> 0xc4000000) 
CMEMK Error: Failed to request_mem_region(0xc2000000, 18874368) 
FATAL: Error inserting cmemk (/lib/modules/2.6.37/kernel/drivers/dsp/cmemk.ko): Bad address 

Ok. I ignorieren Sie es und loggen Sie sich ein.

[email protected]:/c6accel_app# ls 
benchmarking.txt     dsplinkk.ko 
c6accel_app      loadmodules_omapl138_c6accel.sh 
c6accel_omapl138.x674   test_files 
cmemk.ko 

Ok!

[email protected]:/c6accel_app# ./loadmodules_omapl138_c6accel.sh 
    CMEMK module: built on Apr 12 2012 at 17:32:52 
     Reference Linux version 2.6.37 
     File /usr/local/dvsdk/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 
    CMEM Range Overlaps Kernel Physical - allowing overlap 
    CMEM phys_start (0xc2000000) overlaps kernel (0xc0000000 -> 0xc4000000) 
    CMEMK Error: Failed to request_mem_region(0xc2000000, 18874368) 
    FATAL: Error inserting cmemk (/lib/modules/2.6.37/kernel/drivers/dsp/cmemk.ko): Bad address 

Hoppla! Wieder der gleiche Fehler!

In der Datei loadmodules_omapl138_c6accel.sh modifizierte ich eine Zeichenfolge nur

modprobe cmemk phys_start=0xC2000000 phys_end=0xC3200000 pools=20x4096 allowOverlap=1 

So finnaly Ich habe

modprobe cmemk phys_start=0xC4000000 phys_end=0xC5200000 pools=20x4096 allowOverlap=1 

es gespeichert. Versuch 2.

[email protected]:/c6accel_app# ./loadmodules_omapl138_c6accel.sh 
CMEMK module: built on Apr 12 2012 at 17:32:52 
    Reference Linux version 2.6.37 
    File /usr/local/dvsdk/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 
allocated heap buffer 0xc5000000 of size 0x11ec000 
cmemk initialized 

Erfolg! Dann lief ich ./c6accel_app

ich glücklich war

Test for Arithmetic RTS functions successful 
****************************************************************************** 
All tests done. 
****************************************************************************** 

libgcc_s.so.1 must be installed for pthread_cancel to work 

Aber früh .... brach

[email protected]:/c6accel_app# ls 
Segmentation fault 

etwas zu sehen. Es ist total kaputt. Was soll ich in diesem Fall tun? Vielen Dank.

Antwort

0

Sarg einfach geöffnet ....

Gerät hat 64 MB RAM. Durch diesen Befehl

bootargs=console=ttyS2,115200n8 mem=64M root=/dev/nfs rw nfsroot=192.168.1.218:/home/my_name/targetfs ip=192.168.1.231 

ich sage einfach "Ok, Kern, nehmen Sie all Es ist alles für Sie."

So ... Ich habe, was ich wollte: 32 mb - für den Kernel. Andere 32 MB für CMEM. Keine Segmentierungsfehler mehr.