目标:
1、编译或直接获取DSP映像tesla-dsp.bin。
2、boot并使能DSP核(这个可以看启动打印或者进入/d/remoteproc/omap-rproc.0/参看dsp调试信息)。
过程:
1、直接获取blaze_tablet 4AJ.2.1版本中事先编译好的tesla-dsp.bin,将此文件拷贝到"4AJ.2.1/mydroid/out/target/product/blaze_tablet/system/vendor/firmware/"下,同时更新Linux kernel(驱动支持DSP核),然后重新制作安卓emmc文件系统,并将更新部分刷到blaze_tablet中。
2、使能DSP核:
2.1 启动blaze_tablet,出现如下打印则表明DSP核已经使能。
[ 7.971527] omap-rproc omap-rproc.0: Loaded BIOS image tesla-dsp.bin, size 410356 [ 8.007934] omap-rproc omap-rproc.0: remote processor dsp is now up [ 8.160186] omap_rpmsg_mbox_callback: received echo reply from dsp ! [ 8.168151] rpmsg_omx rpmsg-omx2: new OMX connection srv channel: 1025 -> 60!
2.2 查看dsp调试信息
shell@android:/d/remoteproc/omap-rproc.0 # ls
cdump0
core
name
trace0
trace0_last
version
shell@android:/d/remoteproc/omap-rproc.0 # cat name
dsp
shell@android:/d/remoteproc/omap-rproc.0 # cat version
rpmsg: 1.20.10.30-dirty core0: OMAPDSP_1.1-1-gc60470d xdctools_3_24_03_33 ipc_1_25_00_04 bios_6_34_02_18 C6000CGTOOLPATH
shell@android:/d/remoteproc/omap-rproc.0 # cat trace0
1 [ 0.000] 11 IpcMemory entries at 20000010 2 [ 0.000] Watchdog enabled: TimerBase = 0x1d3a000 Freq = 38400000 3 [ 0.000] Watchdog_restore registered as a resume callback 4 [ 0.000] INFO:src/mmsw_platform.c:[74]: 5 [ 0.000] Enter Choice 6 [ 0.000] 7 [ 0.000] INFO:src/mmsw_platform.c:[75]:0 - BYPASS IPC SETUP (FOR STANDALONE TESTING) 8 [ 0.000] 9 [ 0.000] INFO:src/mmsw_platform.c:[77]:1 - MPU-DSP (WITH TILER BUFFERS) 10 [ 0.000] 11 [ 0.000] ENTERING: RM_Init 12 [ 0.000] TRACE:rm_common/src/resource_manager.c:[109]:RM Pipe = 2416968152 13 [ 0.003] ENTERING: RM_TASK 14 [ 0.003] TRACE:rm_common/src/resource_manager.c:[924]: 15 [ 0.003] I am in the task 16 [ 0.003] TRACE:rm_common/src/resource_manager.c:[927]: 17 [ 0.003] Waiting on msg 18 [ 0.004] INFO:bios6/src/timm_osal_task.c:[152]:TASK CREATED with ID = 90101998 FUNC = 20043560 NAME = Tesla_RM_Task 19 [ 0.004] EXITING: RM_Init:Returned(0) 20 [ 0.004] TRACE:src/mmsw_platform.c:[100]:MPU - DSP 21 [ 0.004] TRACE:src/mmsw_platform.c:[101]:Calling RPC_DvpSvrInit 22 [ 0.004] ENTERING: RPC_DvpSvrInit 23 [ 0.004] TRACE:src/dvp_rpc.c:[90]:Initializing OMAPRPC based DVP service manager endpoint 24 [ 0.004] 25 [ 0.004] OMAPRPC: registered channel: dvp_kgm_dsp 26 [ 0.007] VirtQueue_startup: bufAddr address of 0xa0000000 received 27 [ 0.007] EXITING: RPC_DvpSvrInit:Returned(0) 28 [ 0.007] INFO:src/mmsw_platform.c:[224]:Connecting to resmgr server ... 29 [ 0.012] OMAPRPC: connecting from local endpoint 59 to port 59 30 [ 0.012] registering omaprpc service on 59 with HOST 31 [ 0.012] OMAPRPC: started channel on port: 59 32 [ 0.014] OmxSrvMgr: started on port: 60 33 [ 0.014] registering rpmsg-omx2 service on 60 with HOST 34 [ 0.014] OmxSrvMgr: Proc#3 sending BOOTINIT_DONE 35 [ 0.029] INFO:src/mmsw_platform.c:[230]:...connected to resmgr server. 36 [ 0.029] INFO:src/mmsw_platform.c:[233]:Enabling SL2 Clock 37 [ 0.031] OMAPRPC: received msg type: 9 len: 12 from addr: 1024 38 [ 0.031] OMAPRPC: channel info query - name dvp_kgm_dsp 39 [ 0.031] OMAPRPC: Replying with msg type: 10 to addr: 1024 from: 59 len: 76 40 [ 0.158] INFO:src/mmsw_platform.c:[246]:Locked SL2 memory address: 10900000, size: 65536 41 [ 0.158] INFO:src/mmsw_platform.c:[284]:FastHeap created 42 [ 0.159] INFO:src/mmsw_platform.c:[291]:FastHeapMirror section allocated (for backup of fastHeap during suspend). 43 [ 0.159] INFO:src/mmsw_main.c:[65]: 44 [ 0.159] Going to sleep:pending on testSemSys 45 [ 5.032] INFO:src/mmsw_platform.c:[262]:Invalidating SL2 and unlocking