atv源碼
⑴ 求《spark大數據處理技術應用與性能優化》全文免費下載百度網盤資源,謝謝~
《spark大數據處理技術應用與性能優化》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/16AtVk9yxUBX7Kw1aRw-uRg
簡介:作者結合自己在微軟和IBM的實踐經驗和對Spark源代碼的研究撰寫而成,系統、全面、詳細講解Spark的各項功能使用、原理機制、技術細節、應用方法、性能優化,以及BDAS生態系統的相關技術
⑵ XBMC如何能夠HDMI源碼輸出
有兩個關鍵點:
先做如下設置:
atv ---> 功放 (HDMI) ---> TV (HDMI) atv 中的設置 ---> 音頻與視頻 ---> 音頻輸出 , 改成」 16位" xmbc 中的音頻輸出 設置中, 開啟 AC3 和 DTS 音效。音頻輸出選HDMI 。改成16位是關鍵。
如遇播放卡頓,可在這個目錄下/android/data/org.xbmc.xbmc/files/.xbmc/userdata增加advancedsettings.xml文件(可在電腦上用記事本建立),文件內容為
<advancedsettings>
<video>
<stagefright>
<!-- -1 is default, 0 is never used this codec, 1 is always use this codec, bypassing blacklist -->
<useavccodec>1</useavccodec>
<usevc1codec>1</usevc1codec>
<usevpxcodec>1</usevpxcodec>
<usemp4codec>1</usemp4codec>
<usempeg2codec>1</usempeg2codec>
<useswrenderer>false</useswrenderer>
</stagefright>
</video>
</advancedsettings>
沒有5.1聲道源碼輸出可在advancedsettings.xml文件內添加如下語句:
<libMediaPassThroughHack>true</libMediaPassThroughHack>
⑶ VB做串口驅動、通過資料庫(mcgs與單片機通訊)我是初學VB、有哪位大哥告訴我怎麼做、越詳細越好、謝謝!
用VB通過串口或USB來監視或控制設備現在已經很容易實現了。
如果用串口來通訊的話,只需要在VB的窗體中加入一個MSComm控制項就可以。
窗體常式:
Private Sub Form_Load ()
' 保存輸入子串的緩沖區
Dim Instring As String
' 使用 COM1。
MSComm1.CommPort = 1
' 9600 波特,無奇偶校驗,8 位數據,一個停止位。
MSComm1.Settings = "9600,N,8,1"
' 當輸入佔用時,
' 告訴控制項讀入整個緩沖區。
MSComm1.InputLen = 0
' 打開埠。
MSComm1.PortOpen = True
' 將 attention 命令送到數據機。
MSComm1.Output = "ATV1Q0" & Chr$(13) ' 確保
' 數據機以"OK"響應。
' 等待數據返回到串列埠。
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
' 從串列埠讀 "OK" 響應。
' 關閉串列埠。
MSComm1.PortOpen = False
End Sub
MSComm的屬性:
MSComm 控制項提供下列兩種處理通訊的方式:
事件驅動通訊是處理串列埠交互作用的一種非常有效的方法。在許多情況下,在事件發生時需要得到通知,例如,在 Carrier Detect (CD) 或 Request To Send (RTS) 線上一個字元到達或一個變化發生時。在這些情況下,可以利用 MSComm 控制項的 OnComm 事件捕獲並處理這些通訊事件。OnComm 事件還可以檢查和處理通訊錯誤。所有通訊事件和通訊錯誤的列表,參閱 CommEvent 屬性。
在程序的每個關鍵功能之後,可以通過檢查 CommEvent 屬性的值來查詢事件和錯誤。如果應用程序較小,並且是自保持的,這種方法可能是更可取的。例如,如果寫一個簡單的電話撥號程序,則沒有必要對每接收一個字元都產生事件,因為唯一等待接收的字元是數據機的「確定」響應。
每個使用的 MSComm 控制項對應著一個串列埠。如果應用程序需要訪問多個串列埠,必須使用多個 MSComm 控制項。可以在 Windows「控制面板」中改變埠地址和中斷地址。
盡管 MSComm 控制項有很多重要的屬性,但首先必須熟悉幾個屬性:
CommPort 設置並返回通訊埠號。
Settings 以字元串的形式設置並返回波特率、奇偶校驗、數據位、停止位。
PortOpen 設置並返回通訊埠的狀態。也可以打開和關閉埠。
Input 從接收緩沖區返回和刪除字元。
Output 向傳輸緩沖區寫一個字元串。
MSComm的事件:
無論何時當 CommEvent 屬性的值變化時,就產生 OnComm 事件,標志發生了一個通訊事件或一個錯誤。CommEvent 屬性包含實際錯誤或產生 OnComm 事件的數碼。注意,設置 Rthreshold 或 Sthreshold 屬性為 0,分別使捕獲 comEvReceive 和 comEvSend 事件無效。
事件語法:
Private Sub object_OnComm ()』object就是MSComm對象
OnComm 事件語法包括下列部分:
MSComm的事件常式:
Private Sub MSComm_OnComm ()
Select Case MSComm1.CommEvent
' Handle each event or error by placing
' code below each case statement
' 錯誤
Case comEventBreak ' 收到 Break。
Case comEventCDTO ' CD (RLSD) 超時。
Case comEventCTSTO ' CTS Timeout。
Case comEventDSRTO ' DSR Timeout。
Case comEventFrame ' Framing Error
Case comEventOverrun '數據丟失。
Case comEventRxOver'接收緩沖區溢出。
Case comEventRxParity' Parity 錯誤。
Case comEventTxFull '傳輸緩沖區已滿。
Case comEventDCB '獲取 DCB] 時意外錯誤
' 事件
Case comEvCD ' CD 線狀態變化。
Case comEvCTS ' CTS 線狀態變化。
Case comEvDSR ' DSR 線狀態變化。
Case comEvRing ' Ring Indicator 變化。
Case comEvReceive ' 收到 RThreshold # of
chars.
Case comEvSend ' 傳輸緩沖區有 Sthreshold 個字元 '
'
Case comEvEof ' 輸入數據流中發現 EOF 字元
'
End Select
End Sub
⑷ 關於PSD文件打開!
用PHOTOSHOP
圖形文件的格式是計算機存儲這幅圖的方式與壓縮方法,要針對不同的程序和使用目的來選擇需要的格式。不同圖形程序也有各自和內部格式,如"PSD" 是PhotoShop本身的格式, 由於內部格式帶有軟體的特定信息, 如圖層與通道等,其它一些圖形軟體一般不可以打開它, 雖然佔用位元組量大,但在PhotoShop中存儲速度很快,如何使一幅"PSD"格式的圖形用在其它程序中,這就是轉換圖形格式的理由。圖形文件的格式是計算機存儲這幅圖的方式與壓縮方法,要針對不同的程序和使用目的來選擇需要的格式。不同圖形程序也有各自和內部格式,如"PSD" 是PhotoShop本身的格式, 由於內部格式帶有軟體的特定信息, 如圖層與通道等,其它一些圖形軟體一般不可以打開它, 雖然佔用位元組量大,但在PhotoShop中存儲速度很快,如何使一幅"PSD"格式的圖形用在其它程序中,這就是轉換圖形格式的理由。
圖像世界中不同的格式各自以不同的方式來表示圖形信息,我們常用到的圖形格式有以下幾種:
⑴.BMP――(Bimap) 是Microsoft公司圖形文件自身的點點陣圖格式, 支持1~24bit色彩,在保存為這種格式時彈出的對話框會詢問用於Windows或是0S/2系統。BMP格式保存的圖像質量不變,文件也比較大,因為要保存每個像素的信息。
⑵.JPEG――是一種較常用的有損壓縮方案,常用來壓縮存儲批量圖片(壓縮比達20倍),我們在相應程序中以"jpg"存儲時,會進一步詢問使用哪檔圖像品質來壓縮,而在圖形程序中打開時會自動解壓。JPEG全部名稱為:Joint photographic exptrs group。盡管它是一種主流格式,在需要輸出高質量圖像時不使用JPG 而應選EPS格式或TIF格式,特別是在以JPG格式進行圖形編輯時,不要經常進行保存操作。
⑶.GIF―― (Graphics Interchange Format)是一種圖像交換格式,可提供壓縮功能,但只支持256色,很少用於照片級圖像處理工作。在PhotoShop中把對顏色數要求不高的圖片變為索引色,再以GIF格式保存,使文件縮小後用更快的速度在網上傳輸。
⑷.GIF89a――即89年的標准,以區別於87a。可以實現網上特殊效果圖形的傳送, 在PhotoShop中通過"文件"菜單的"Export"輸出選項,指定某種顏色成為透明色或是製作出由模糊逐漸清晰的漸顯效果,
⑸. PNG―― 是網景公司開發的支持新一代WWW標准而制定的較為新型的圖形格式,它綜合了JPG和GIF格式的優點,支持24bit色彩(256*256*256),壓縮不失真並支持透明背景和漸顯圖像的製作,所以稱它為傳統GIF的替代格式。在Web頁面中,瀏覽器支持的格式有JPG 、GIF和PNG。
⑹.TIF――是一種跨平台的點陣圖格式, 全稱為Tag Image File Format意為標簽圖像文件格式, 同時支持PC與蘋果機, 採用的LZW壓縮演算法是一種無損失的壓縮方案,常用來存儲大幅圖片。此種格式也可以不壓縮, 它支持24個通道,並可與"3DS"交換文件。
⑺.PCX――也是一種跨平台格式, 是Windows與DOS之間進行圖形文件交換的橋梁, 在DOS下為256色, 在PhotoShop中有16兆色的PCX,當Windows普及後這種古老的格式已不受歡迎。
⑻.TGA――支持32位軟體和8位α通道電視, 是Windows與3DS進行圖形交換的格式。在實用中可以將動畫通過視頻軟體轉入電視。
⑼.WMF―― (Metafile) 是一種矢量圖形格式, Word中內部存儲的圖片或繪制的圖形對象屬於這種格式。無論放大還是縮小,圖形的清晰度不變,WMF是一種清晰簡潔的文件格式。
⑽.EPS――Adobe公司矢量繪圖軟體Illustrator本身的向量圖格式,EPS格式常用於點陣圖與矢量圖之間交換文件。在PhotoShop打開EPS格式時是通過"文件"菜單的"導入"命令來進行點陣化轉換的。
總的來說, 目前計算機平面靜態圖形文件分為兩大類:一類是點陣圖,它是一種光柵圖形,即點點陣圖,在編輯點陣圖時針對的是像素點而不是形狀,點陣圖放大會產生失真,存儲時所以佔有較大空間是因為要保留每個點坐標的信息;另一類是由Windows的函數集描述圖像,佔有少量空間及內存,因為是用數學函數描繪的,放大不會失真,但比較復雜的圖像運算量非常大。在以矢量圖保存一條曲線時,只要有起點位置及標示曲線的信息(曲率半徑、顏色等)。
這兩種形式的圖像並不是完全排斥的,過去將矢量圖以像素形式導出比較容易,現在Adobe公司也有了將點陣圖轉化為矢量圖的軟體。這兩種形式的圖像並不是完全排斥的,過去將矢量圖以像素形式導出比較容易,現在Adobe公司也有了將點陣圖轉化為矢量圖的軟體。
⑸ 哪位大俠 有1993年 TVB 《銀狐》電視劇的種子
銀狐不是TVB的,是ATV的, 這劇影視新勢力那個論壇就有
⑹ 遇到Fatal signal 11 求解答
項目問題,目前已解決;在此記錄。
前些天在調試Camera模塊;發現相同的代碼在廠家提供的環境里邊編譯、就是ok的,在我們的源碼樹中編譯,將HAL庫推進去後、就會signal 11退出。
一、現象
[plain] view plain在CODE上查看代碼片派生到我的代碼片
F/libc ( 4250): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 4358 (CameraPreviewTh)
I/DEBUG ( 2366): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 2366): Build fingerprint: 'TV/tclm6/tclm6:4.2.1/V8-AML7601-LF1R001/20130523:eng/test-keys'
I/DEBUG ( 2366): Revision: '32'
I/DEBUG ( 2366): pid: 4250, tid: 4358, name: CameraPreviewTh >>> /system/bin/mediaserver <<<
I/DEBUG ( 2366): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
I/DEBUG ( 2366): r0 00000000 r1 00000500 r2 45498500 r3 0000001e
I/DEBUG ( 2366): r4 00000280 r5 00000000 r6 00000780 r7 00000000
I/DEBUG ( 2366): r8 00000500 r9 00000780 sl 00000f00 fp 45498f00
I/DEBUG ( 2366): ip 00000280 sp 46054d80 lr 4410816f pc 44108214 cpsr 80030030
I/DEBUG ( 2366): d0 696765623e3e3e31 d1 3e3e3e2d2d2d2d2d
I/DEBUG ( 2366): d2 3234767975793e3e d3 32766e5f6f745f32
I/DEBUG ( 2366): d4 54535f5745495645 d5 4552503e2d455441
I/DEBUG ( 2366): d6 4154535f57454956 d7 0000823549742400
I/DEBUG ( 2366): d8 0000000000000000 d9 0000000000000000
I/DEBUG ( 2366): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 2366): d12 0000000000000000 d13 0000000000000000
I/DEBUG ( 2366): d14 0000000000000000 d15 0000000000000000
I/DEBUG ( 2366): d16 0000000000000000 d17 0000000000000000
I/DEBUG ( 2366): d18 4000000000000000 d19 bf66c168e3a87def
I/DEBUG ( 2366): d20 3fc555533bceb625 d21 3e66376972bea4d0
I/DEBUG ( 2366): d22 3fb0271122ac41c2 d23 bf8388915620e116
I/DEBUG ( 2366): d24 3ff0271122ac41c2 d25 0000000000000000
I/DEBUG ( 2366): d26 0000000000000000 d27 0000000000000000
I/DEBUG ( 2366): d28 0000000000000000 d29 0000000000000000
I/DEBUG ( 2366): d30 0000000000000000 d31 0000000000000000
I/DEBUG ( 2366): scr 60000010
I/DEBUG ( 2366):
I/DEBUG ( 2366): backtrace:
I/DEBUG ( 2366): #00 pc 0002e214 /system/lib/hw/camera.meson6.so (yuyv422_to_nv21(unsigned char*, unsigned char*, int, int)+195)
I/DEBUG ( 2366): #01 pc 0002d05b /system/lib/hw/camera.meson6.so (android::V4LCameraAdapter::previewThread()+490)
I/DEBUG ( 2366): #02 pc 0002d145 /system/lib/hw/camera.meson6.so
I/DEBUG ( 2366): #03 pc 00011253 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+94)
I/DEBUG ( 2366): #04 pc 00010dcd /system/lib/libutils.so
I/DEBUG ( 2366): #05 pc 0000e478 /system/lib/libc.so (__thread_entry+72)
I/DEBUG ( 2366): #06 pc 0000db64 /system/lib/libc.so (pthread_create+160)
I/DEBUG ( 2366):
I/DEBUG ( 2366): stack:
I/DEBUG ( 2366): 46054d40 401da160 /system/lib/libc.so
I/DEBUG ( 2366): 46054d44 401b3a6d /system/lib/libc.so (vfprintf+44)
I/DEBUG ( 2366): 46054d48 000001e0
I/DEBUG ( 2366): 46054d4c 00000280
I/DEBUG ( 2366): 46054d50 4411bce1 /system/lib/hw/camera.meson6.so
I/DEBUG ( 2366): 46054d54 45498500 /dev/video0
I/DEBUG ( 2366): 46054d58 00000003
I/DEBUG ( 2366): 46054d5c 401b167d /system/lib/libc.so (printf+24)
I/DEBUG ( 2366): 46054d60 4411d5fa /system/lib/hw/camera.meson6.so
I/DEBUG ( 2366): 46054d64 46054d74
I/DEBUG ( 2366): 46054d68 00000280
I/DEBUG ( 2366): 46054d6c 4410816f /system/lib/hw/camera.meson6.so (yuyv422_to_nv21(unsigned char*, unsigned char*, int, int)+30)
I/DEBUG ( 2366): 46054d70 4411d5fa /system/lib/hw/camera.meson6.so
I/DEBUG ( 2366): 46054d74 00000000
I/DEBUG ( 2366): 46054d78 df0027ad
I/DEBUG ( 2366): 46054d7c 00000000
I/DEBUG ( 2366): #00 46054d80 00000280
I/DEBUG ( 2366): 46054d84 45498000 /dev/video0
I/DEBUG ( 2366): 46054d88 45498500 /dev/video0
I/DEBUG ( 2366): 46054d8c 45498a00 /dev/video0
I/DEBUG ( 2366): 46054d90 00000780
I/DEBUG ( 2366): 46054d94 0004b000
I/DEBUG ( 2366): 46054d98 0004b280
I/DEBUG ( 2366): 46054d9c 0004b001
I/DEBUG ( 2366): 46054da0 0004b281
I/DEBUG ( 2366): 46054da4 45498000 /dev/video0
I/DEBUG ( 2366): 46054da8 45498500 /dev/video0
I/DEBUG ( 2366): 46054dac 45498a00 /dev/video0
I/DEBUG ( 2366): 46054db0 45498f00 /dev/video0
I/DEBUG ( 2366): 46054db4 45498001 /dev/video0
I/DEBUG ( 2366): 46054db8 45498a01 /dev/video0
I/DEBUG ( 2366): 46054dbc 45498003 /dev/video0
I/DEBUG ( 2366): ........ ........
I/DEBUG ( 2366): #01 46054e08 00000000
I/DEBUG ( 2366): 46054e0c 00000000
I/DEBUG ( 2366): 46054e10 00000000
I/DEBUG ( 2366): 46054e14 00000000
I/DEBUG ( 2366): 46054e18 00000000
I/DEBUG ( 2366): 46054e1c 00000000
I/DEBUG ( 2366): 46054e20 00000000
I/DEBUG ( 2366): 46054e24 00000000
I/DEBUG ( 2366): 46054e28 00000280
I/DEBUG ( 2366): 46054e2c 000001e0
I/DEBUG ( 2366): 46054e30 00000000
I/DEBUG ( 2366): 46054e34 00000000
I/DEBUG ( 2366): 46054e38 00000000
I/DEBUG ( 2366): 46054e3c 00000000
I/DEBUG ( 2366): 46054e40 00000000
I/DEBUG ( 2366): 46054e44 00000000
I/DEBUG ( 2366): ........ ........
I/DEBUG ( 2366): #02 46054e98 44001498
I/DEBUG ( 2366): 46054e9c 40226255 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+96)
I/DEBUG ( 2366):
I/DEBUG ( 2366): memory near r2:
I/DEBUG ( 2366): 454984e0 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 454984f0 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498500 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498510 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498520 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498530 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498540 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498550 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498560 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498570 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498580 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498590 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 454985a0 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 454985b0 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 454985c0 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 454985d0 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366):
I/DEBUG ( 2366): memory near fp:
I/DEBUG ( 2366): 45498ee0 ffffffff ffffffff ffffffff ffffffffI/DEBUG ( 2366): 45498ef0 ffffffff ffffffff ffffffff ffffffff
I/DEBUG ( 2366): 45498f00 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498f10 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498f20 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498f30 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498f40 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498f50 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498f60 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498f70 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498f80 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498f90 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498fa0 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498fb0 ffffffff ffffffff ffffffff ffffffff I/DEBUG ( 2366): 45498fc0 ffffffff ffffffff ffffffff..
二、解決
1.分析其中的重要信息
[plain] view plain在CODE上查看代碼片派生到我的代碼片
I/DEBUG ( 2366): #00 pc 0002e180 /system/lib/hw/camera.meson6.so (yuyv422_to_nv21(unsigned char*, unsigned char*, int, int)+157)
I/DEBUG ( 2366): #01 pc 0002d00b /system/lib/hw/camera.meson6.so (android::V4LCameraAdapter::previewThread()+458)
I/DEBUG ( 2366): #02 pc 0002d0dd /system/lib/hw/camera.meson6.so
I/DEBUG ( 2366): #03 pc 00011253 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+94)
I/DEBUG ( 2366): #04 pc 00010dcd /system/lib/libutils.so
I/DEBUG ( 2366): #05 pc 0000e478 /system/lib/libc.so (__thread_entry+72)
I/DEBUG ( 2366): #06 pc 0000db64 /system/lib/libc.so (pthread_create+160)
2.代碼跟蹤
操作:
out/target/proct/tclm6/obj/SHARED_LIBRARIES/camera.meson6_intermediates/LINKED
arm-none-linux-gnueabi-addr2line 0002e180 -e camera.meson6.so
結果:
hardware/amlogic/camera/utils/util.cpp:157
////(*ptrdesty1++) = (*ptrsrcy1);在yuyv422_to_nv21(unsigned char*, unsigned char*, int, int)函數中
操作:
arm-none-linux-gnueabi-addr2line 0002d00b -e camera.meson6.so
結果:
hardware/amlogic/camera/V4LCameraAdapter/V4LCameraAdapter.cpp:1571
//// yuyv422_to_nv21(src,dest,width,height);
操作:
arm-none-linux-gnueabi-addr2line 0002d0dd -e camera.meson6.so
結果:
hardware/amlogic/camera/V4LCameraAdapter/V4LCameraAdapter.cpp:303
////writefile((char*)SYSFILE_CAMERA_SET_PARA, (char*)"1");
3.分析
從上邊結果來看,在hardware/amlogic/camera/V4LCameraAdapter/V4LCameraAdapter.cpp:1571處調用yuyv422_to_nv21(src,dest,width,height)掛掉的可能性比較打;於是加如下log:
[plain] view plain在CODE上查看代碼片派生到我的代碼片
D/V4LCameraAdapter( 2371): TK----------->>>>>src is 0x45d0f000
D/V4LCameraAdapter( 2371): TK---------->>>>>>dest is 0x0
D/V4LCameraAdapter( 2371): TK------------>>>>>width is 640
D/V4LCameraAdapter( 2371): TK--------->>>>>height is 480
不難發現,上邊dest指針為NULL、導致的signal 11。
4.解決
通過對比編譯環境發現,在dest賦值處;用到的頭文件位置不同,導致結果差異。通過重新設置頭文件路徑,問題解決。
三、思考
目前掌握的結局signal 11故障的方法是使用交叉編譯工具鏈給我們提供的arm-none-linux-gnueabi-addr2line工具,通過地址定位源文件中出錯的函數或具體行數。
四、補充:Fatal signal 8 (SIGFPE)
最近在幫助同事看一個列印堆棧問題時發現,程序並沒有被kill掉
[plain] view plain在CODE上查看代碼片派生到我的代碼片
F/libc ( 3254): Fatal signal 8 (SIGFPE) at 0x00000cb6 (code=0), thread 3254 (TVMSFserver)
I/DEBUG ( 2455): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 2455): Build fingerprint: 'TV/tclm6/tclm6:4.2.2/V8-AML7602-LF1V002/20140520:eng/test-keys'
I/DEBUG ( 2455): Revision: '32'
I/DEBUG ( 2455): pid: 3254, tid: 3254, name: TVMSFserver >>> TVMSFserver <<<
I/DEBUG ( 2455): signal 8 (SIGFPE), code -6 (?), fault addr 00000cb6
D/atv_hd ( 2439): ATVTunerSetStd, tuner std = 0x40000e0(V4L2_COLOR_STD_PAL, V4L2_STD_PAL_DK).
I/DEBUG ( 2455): r0 00000000 r1 00000008 r2 0000270f r3 00000000
I/DEBUG ( 2455): r4 00000000 r5 ffffffff r6 00000000 r7 00000025
I/DEBUG ( 2455): r8 00000001 r9 00000000 sl 4012e228 fp bed8ca2c
I/DEBUG ( 2455): ip fffdc390 sp bed8c660 lr 4011e010 pc 400fc27c cpsr 200a0010
I/DEBUG ( 2455): d0 6168772d2d2d2d2d d1 5654582d2d2d2d2d
I/DEBUG ( 2455): d2 6b6361626c6c6163 d3 2d2d2d2d7070632e
I/DEBUG ( 2455): d4 6c6c61635654582d d5 45533a3a6b636162
I/DEBUG ( 2455): d6 4c41435f48435241 d7 2d2d2d4b4341424c
I/DEBUG ( 2455): d8 0000000000000000 d9 0000000000000000
I/DEBUG ( 2455): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 2455): d12 0000000000000000 d13 0000000000000000
I/DEBUG ( 2455): d14 0000000000000000 d15 0000000000000000
I/DEBUG ( 2455): d16 41d4e400c2003127 d17 3f50624dd2f1a9fc
I/DEBUG ( 2455): d18 41cc382ea1800000 d19 0000000000000000
I/DEBUG ( 2455): d20 0000000000000000 d21 0000000000000000
I/DEBUG ( 2455): d22 0000000000000000 d23 0000000000000000
I/DEBUG ( 2455): d24 0000000000000000 d25 0000000000000000
I/DEBUG ( 2455): d26 0000000000000000 d27 0000000000000000
I/DEBUG ( 2455): d28 0000000000000000 d29 0000000000000000
I/DEBUG ( 2455): d30 0000000000000000 d31 0000000000000000
I/DEBUG ( 2455): scr 00000010
I/DEBUG ( 2455):
I/DEBUG ( 2455): backtrace:
I/DEBUG ( 2455): #00 pc 0001827c /system/lib/libc.so (kill+12)
I/DEBUG ( 2455): #01 pc 0003a00c /system/lib/libc.so (__aeabi_idiv0+8)
I/DEBUG ( 2455):
I/DEBUG ( 2455): stack:
I/DEBUG ( 2455): bed8c620 00000008
I/DEBUG ( 2455): bed8c624 00000000
I/DEBUG ( 2455): bed8c628 00000000
I/DEBUG ( 2455): bed8c62c 00000000
I/DEBUG ( 2455): bed8c630 00000000
I/DEBUG ( 2455): bed8c634 41010001 /system/lib/libamplayer.so (ff_ps_init+1361)
I/DEBUG ( 2455): bed8c638 00000000
I/DEBUG ( 2455): bed8c63c 00000030
I/DEBUG ( 2455): bed8c640 ffffffe0
I/DEBUG ( 2455): bed8c644 00000000
I/DEBUG ( 2455): bed8c648 00000000
I/DEBUG ( 2455): bed8c64c 00000000
I/DEBUG ( 2455): bed8c650 00000000
I/DEBUG ( 2455): bed8c654 00000000
I/DEBUG ( 2455): bed8c658 df0027ad
I/DEBUG ( 2455): bed8c65c 00000000
I/DEBUG ( 2455): #00 bed8c660 00000000
I/DEBUG ( 2455): ........ ........
I/DEBUG ( 2455): #01 bed8c660 00000000
I/DEBUG ( 2455): bed8c664 ffffffff
I/DEBUG ( 2455): bed8c668 00000000
I/DEBUG ( 2455): bed8c66c bed8c6a0 [stack]
I/DEBUG ( 2455): bed8c670 fffdc390
I/DEBUG ( 2455): bed8c674 4011e010 /system/lib/libc.so (__aeabi_idiv0+12)
I/DEBUG ( 2455): bed8c678 00000000
I/DEBUG ( 2455): bed8c67c 4038223d /data/test/libTVMSFService.so (android::postEventsFromhal(int, android::Parcel const*)+236)
I/DEBUG ( 2455): bed8c680 00000002
I/DEBUG ( 2455): bed8c684 00000002
I/DEBUG ( 2455): bed8c688 41bd2c28
I/DEBUG ( 2455): bed8c68c 00000063
I/DEBUG ( 2455): bed8c690 000c2e2a
I/DEBUG ( 2455): bed8c694 00000003
I/DEBUG ( 2455): bed8c698 00000004
I/DEBUG ( 2455): bed8c69c 418fbb01 /data/test/libdtvapi_dtv.so (std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::xsputn(char const*, int)+8)
通過地址定位:
arm-none-linux-gnueabi-addr2line 0001827c -e libc.so
結果:
bionic/libc/arch-arm/bionic/kill.S:46
[plain] view plain在CODE上查看代碼片派生到我的代碼片
ENTRY(kill)
stmfd sp!, {r4-r7, ip, lr}
ldr r7, =__NR_kill
swi #0
ldmfd sp!, {r4-r7, ip, lr} //46行,恢復現場
movs r0, r0
bxpl lr
b __set_syscall_errno
END(kill)
後發現signal 8問題一般是由於除數為0導致,後問題解決;通過該問題分析:可能是因為signal 8後系統需要kill該進程、但沒有kill成功。
⑺ 求PUDN源碼下載
http://kuai.xunlei.com/d/BaTCApMnmFatVAQAb55
⑻ 想學UI設計,需要什麼基礎
同樣一所高中,能夠教出清華北大,也有落榜的學生。沒有哪個學校能說進了我的學校,就保證能上某某學校。培訓機構也一樣,培訓的老師自然可以保證她的教學質量可以達到怎麼樣的程度,認真學習的同學也真的可以在培訓之後做出高品質的作品,最後過上自己理想的生活。
但是與之相反的,那些無法持之以恆的,只是一時興趣的同學,別說上培訓機構了,設計知識擺在他面前他都學不會,這已經不是什麼培訓班的問題了。
很多人選擇學習設計其實都是三分鍾熱度,最好在學習之前先來做一個小測試
→點擊測試我適不適合學設計
關於平面設計的培訓機構也越來越多,很多機構還是很靠譜的。不過針對於培訓機構的選擇,建議還是要選擇一些規模比較大且培訓時間長的培訓機構,這種類型的培訓機構無論是在教學經驗還是在課程質量上都要遠遠高出其他剛剛成立的培訓機構。
對於想在短期內掌握平面設計知識的人而言,報班是很有必要的,而靠譜的培訓也是存在的。至於報班多少錢的問題,就得看你選擇的哪一家培訓機構的價格定位了,一般都是把價格控制在合理的范圍的,價格與你選擇的學習課程有關系。
天琥平面設計培訓班,天琥教育專業老師會根據學員的情況量身定製符合其現狀的學習計劃,並且嚴格按照學習計劃實施,精品小班授課,實戰教學,成功案例分享,互動學習。同時,教學時間靈活,可根據學員的實際情況安排課程。