原创 linux memory overcommit機制--------筆記

前言: overcommit 機制介紹: 一個問題引發的對overcommit的思考: 問題背景: 問題: 問題分析: 問題的原因: 解決方案: 前言: linux的虛擬內存支持overcommit(過度使用) 本文就fork子進程時"f

原创 cubemx在使用freertos的時候爲何推薦使用除systick以外的timebase

摘要 第一次使用stm32cubemx,在配置freertos後生成代碼時會提示: When FreeRTOS is used.It is strongly recommended to use a HAL timebase source

原创 永久刪除git倉庫中的文件

有時候我們不小心將一些敏感的內容或者給是非常大而又不需要的文件不小心添加到git倉庫了,想要把他們從git倉庫中刪除,單單通過git rm是達不到目的的,git rm的作用只是刪除了工作目錄下的內容/生成了下一次提交(刪除文件)的相關信息

原创 fdk-aac編碼及mp4v2封裝h264+aac[附完整代碼]

轉載請註明出處 一. 摘要 代碼基於fdk-aac和mp4v2編寫完成,代碼中"MY"開頭的api系作者自己封裝的讀者可以忽略該部分。 代碼中主要流程部分可以總結爲創建aac_encoder/mp4_muxer,然後分別在h264的cal

原创 筆記:linux內核內存佈局以及/dev/mem

參考一下兩篇文章: linux內核內存管理(zone_dma zone_normal zone_highmem)(linux memory layout) /dev/mem可沒那麼簡單 學習筆記(以x86爲例) linux的虛擬地址空間:

原创 HTTPS握手及數字證書驗證(簡解)

HTTPS通信涉及的通信協議層次模型: ||HTTP|| ||SSL/TLS|| ||TCP|| ||IP|| ||Ethernet|| HTTPS通信流程: 同服務器建立TCP連接; ssl/tls握手過程; 採用握手過程client和

原创 Dynamic DMA mapping Guide——linux內核doc譯文

轉載自:Dynamic DMA mapping Guide 一、前言 這是一篇指導驅動工程師如何使用DMA API的文檔,爲了方便理解,文檔中給出了僞代碼的例程。另外一篇文檔dma-api.txt給出了相關API的簡明描述,有興趣也可以看

原创 內核調試---coredump&stack backtrace

coredump: coredump的內核配置: 需要設置executable file formats的enable core dump support屬性以及general setup目錄下configure standard ker

原创 socket bind error: [Address already in use]

原文鏈接:http://blog.sina.com.cn/s/blog_e9a609000102wqfc.html 在socket編程過程中,客戶端同服務端斷開連接後,如果再次立即連接服務端在b

原创 通過目標文件查看toolchain版本

參考stackoverflow https://stackoverflow.com/questions/2387040/how-to-retrieve-the-gcc-version-used-to-compile-a-given-elf

原创 學習linux input子系統--按鍵檢測

引言 以linux的gpio_keys.c驅動文件爲例,簡單學習linux input子系統。這裏主要講述gpio_keys.c文件的實現,不對input subsystem做過多講述。 linux input subsystem內核空間

原创 rtmp推流h264+aac

一. 概述 本文主要講述如何使用開源的rtmp庫來搭建一個rtmp client,推送h264和aac流到rtmp server。筆者基於兩套開源的項目進行了測試:rtmpdump以及srslibrtmp(這個是國人在rtmpdump基礎

原创 flv封裝H264+AAC[附完整代碼]

一. 概述 總體來說比較簡單這裏就不詳述了,參考官方文檔即可《Video File Format Specification Version 10》,其中aac和h264的sequence header tag部分需要參考另外兩分文檔(這

原创 VIM中空格和TAB的替換[轉載]

VIM中空格和TAB的替換 轉載自VIM中空格和TAB的替換 在.vimrc中添加以下代碼後,重啓vim即可實現按TAB產生4個空格: set ts=4  (注:ts是tabstop的縮寫,設TAB寬4個空格) set expandtab

原创 fdk-aac編碼及mp4v2封裝h264+aac[完整code]

轉載請註明出處 一. 摘要 代碼基於fdk-aac和mp4v2編寫完成,代碼中"MY"開頭的api系作者自己封裝的讀者可以忽略該部分。 代碼中主要流程部分可以總結爲創建aac_encoder/mp4_muxer,然後分別在h264的cal