原创 ffmpeg 編程程序 未定義的引用錯誤問題記錄

記錄:今天在編譯ffmpeg時發現報下面的錯誤,根據提示說沒有定義,但事實上,我已經包含了庫了,後面發現是因爲包含庫的順序不對,感覺是一個大坑啊!!!   正確的順序: STATIC_OLIB+= \ $(DIR_LIB_FFMPEG_

原创 gdb移植arm,編譯錯誤對‘_obstack_free’未定義的引用

1 任務:移植gdb到arm-linux gdb版本:gdb-7.12.tar.gz termcap版本:termcap-1.3.1.tar.gz 交叉編譯工具鏈:arm-hisiv500-linux 2 termcap移植   cd

原创 Linux內核工作隊列實例

29.1 前言 Linux中的工作隊列是將工作推後執行的一種方式,通常用在中斷分層機制中,因爲中斷函數的原則是(1)快;(2)不能睡眠或等待;因此,在中斷驅動程序中,引入工作隊列實現中斷的分層,硬件處理在中斷函數中處理,軟件及其耗時操作則

原创 爲什麼文件大小比fwrite()寫入的數據大

len = fwrite(grayArray, 1, nWidth*nHeight, fp_dat); if (len != nWidth*nHeight) {       printf_s("err!! nNumCount = %dn

原创 Opencv 圖像區域裁剪 縮放

前言: 近端時間項目需要進行區域圖像裁剪人臉,因此特地學習opencv圖像裁剪相關API,故在此記錄: #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/i

原创 41 Windows VS封庫及庫引用

41.1 VS軟件構建庫過程 最近開發中需要構建自己的函數庫,然後讓別人去掉,之前沒自己弄個,然後查看一下資料發現VS可以方便的對進行函數實現封庫操作。 第一步:建立庫工程 第二步:聲明及實現相關函數 第三步:編譯生成庫文件  

原创 40 Linux SPI通信問題記錄

38.1 SPI簡要介紹 SPI是串行外設接口(Serial Peripheral Interface)的縮寫。是 Motorola 公司推出的一 種同步串行接口技術,是一種高速的,全雙工,同步的通信總線。 SPI是通過移位寄存器進行數據

原创 39 Linux如何查看哪個線程佔用CPU最高

39 Linux查看哪個線程佔用CPU最高方式 在開發中,我們不免會遇到某個程序佔用CPU很高的情況,我們可能可以用top命令查看到是該進程的某個線程CPU佔有率高的很,通過top命令後,再按h鍵便可查看對應的線程號,如下圖示: 按下h

原创 38 如何根據地址獲取函數名

38.1 前言 之前有做過一個通過截取內核信號,獲取程序出錯所在函數位置信息(如段錯誤),然後進行棧回溯的功能(之前的blog有寫),那個雖然成功了,但仍有一些不合人意的地方。就是手動回溯結果顯示的只是函數地址,如果要看是哪個函數,那還要

原创 37 Linux 485收發切換延時導致接收數據錯亂問題解決

37.1 前言 這幾天在對接Linux上位機與stm32開發板,通過485進行對接。Linux上位機端485是通過串口+485轉換芯片+一個IO控制方向組成的。原本以爲485這東西簡簡單單(之前有做過兩塊單片機的485驅動),沒想到因爲L

原创 36 C語言二叉樹插入、刪除、查找、遍歷詳解

36.1 前言 數據結構對於一個嵌軟工程師來說,用到的最多的有數組、鏈表(單向、雙向、循環鏈表等),對於其他的數據結構除非在開發存儲模塊,否則很難會用到其它的數據結構。但爲了防範於未然,將來可能需要用到,因此我特地花了一些時間想要把那些軟

原创 35 Linux 485串口編程及接收數據錯亂解決

35.1 前言 最近一段時間在搞Linux 跟stm32單片機的485通信,Linux系統所在的板上將發送及接收數據引腳接到485芯片上,從而完成RS232到RS485信號的轉換。 理論上這種485通信是沒什麼問題,實際上用PC的串口助手

原创 Linux ping本網段所有Ip

Linux命令ping中,不支持設置接收毫秒超時,默認接收超時未4s,最小設置爲1s,但是如果ping網段所有ip,有255個那就要4分鐘!!太慢了! 但是可以用多線程的方式去ping,然後就很快了!   原腳本: #!/bin/bas

原创 問題:warning: libssl.so.1.0.0, needed by …lib/libcurl.so, not found (try using -rpath or -rpath-link)

前言: 最近在項目需要用到https協議,原本使用的curl庫是不支持https協議的,如果想要使用curl支持https協議,那麼在編譯curl庫的時候,需要添加已經編譯好的openssl, 但是在編譯的過程中,我已經指定了openss

原创 Md5加密實現 C語言

35.1 前言 MD5加密算法全稱爲信息摘要算法,主要用途於校驗,檢驗內容是否發生變化。其特點如下: (1)長度固定。不管加密的內容多長,最後得到的結果長度都是一樣的16個字節128bit; (2)不可逆性。即使知道密文及加密方式但是卻無