原创 RK3399—板端掛載NFS

硬件平臺: firefly rk3399 操作系統: Ubuntu 16.04(官方SDK) 開發環境: Ubuntu 16.04 1 前言   firefly rk3399板子重新刷了內核和文件系統後,掛載nfs失敗。   網

原创 【音視頻】V4L2攝像頭應用編程

文章目錄1 V4L21.1 V4L2特點1.2 V4L2設備2 V4L2設備訪問接口2.1設備訪問2.1.1 查詢設備屬性2.1.2 查詢設備輸出格式2.1.3 設置幀輸出格式2.1.4 申請幀緩存2.1.5 內核內存轉換2.1.

原创 【RT-Thread】高精度RTC rx8900 驅動軟件包

文章目錄1 介紹1.1 支持功能1.2 目錄結構1.3 許可證1.4 依賴2 實現功能2.1 rx8900驅動描述2.2 rx8900讀寄存器接口2.3 rx8900寫寄存器接口2.4 RT-Thread設備虛擬文件接口2.5 片

原创 【RT-Thread】基於RT-Thread sensor框架的BMP180氣壓傳感器應用

文章目錄1 RT-Thread sensor框架1.1 sensor 設備描述2 基於sensor框架的BMP180驅動2.1 sensor組件支持2.2 ops接口實現2.3 設備註冊設備初始化設備註冊設備私有信息初始化3 應用

原创 【Linux驅動編程】多個源文件(platform driver)編譯成一個模塊

platform 驅動   linux驅動最開始採用的是純驅動的寫法,驅動工程師只需實現一個功能驅動(driver),所有功能都集中在這個驅動。接着linux內核將設備(device)和驅動(driver)分離,引入了platfo

原创 一個NB-IoT/4G模組的AT撥號聯網流程

  在各類物聯網應用中,NB或者4G網絡是常見的通信介質,其最大的優勢是可以藉助現有的移動基站,無需額外建立基站,所以廣泛應用在三表(水錶、電能表、天然氣表)無線抄表中。通常情況下,對於這類小流量的數據,是通過串口(UART)與N

原创 【Linux應用編程】C++深拷貝和淺拷貝

1 拷貝構造函數   拷貝構造函數是一種特殊的構造函數,其功能是在創建新對象時,將已創建的同類對象賦值給新創建的對象。   拷貝構造函數一般應用在幾個方面: 調用同類型的對象初始化新創建的對象 一個對象複製函數,入口形參爲類對象

原创 【組件】通用環形緩衝區模塊

寫在前面 環形緩衝區是嵌入式應用(醫療電子、消費電子、工控)中常用的數據結構模型,如音視頻流、通信總線數據收發等。一些操作系統、第三方庫都提供現成的環形緩衝區接口API,性能和安全性都有保障,多線程訪問互斥機制,空內存訪問保護等。 1.基

原创 【Linux應用編程】線程私有數據

  進程是操作系統資源分配的基本單位,線程是任務調度和執行的基本單位。不同進程擁有獨立的代碼空間和內存資源,同一進程下的線程是共享當前進程的所有系統資源。   假設在某個情景下,一個線程內部各個函數需訪問同一數據(內存空間),線程

原创 【RT-Thread】高精度RTC ds3231驅動軟件包

DS3231 驅動軟件包 1 介紹 ds3231軟件包是針對RT-Thread驅動框架實現的實時時鐘驅動,遵循RT-Thread RTC框架,可以從芯片內置RTC無縫切換使用外置高精度ds3231 RTC。軟件包支持實時時鐘和鬧

原创 【音視頻】Ubuntu安裝開源H.264標準編解碼庫x264

1 x264    x264是基於H.264/AVC標準的一款免費、開源的視頻編解碼器(庫),x264是目前使用最廣的、最優秀的一款H.264編解碼器。x264編解碼器支持的功能衆多,包括: 8x8與4x4自適應空間變換

原创 使用海思自帶的i2c工具訪問i2c設備

1 前言   linux下開發i2c設備驅動,一般分爲兩個階段,第一階段是驅動實現,第二階段是調試。驅動實現即是對i2c設備的正確訪問,包括讀、寫、控制。而第二階段,一般用於需要調整參數的i2c設備,如增益、亮度、灰度、補償係數等

原创 【代碼調試】如何使用Valgrind檢測內存泄漏

文章目錄1 前言2 常用內存檢測工具3 Valgrind工具4 使用Valgrind工具檢測內存4.1 Valgrind安裝4.2 使用說明4.3 檢測程序使用空指針4.4 檢測程序使用野指針4.5 檢測程序內存空間訪問越界4.6

原创 【代碼調試】Linux coredump分析

文章目錄1 前言2 coredump2.1 什麼是coredump2.2 coredump意義2.3 coredump產生的場景2.2 開啓coredump2.3 coredump存儲位置與命名3 使用coredump4 參考文章

原创 【Tools】一個BootLoader和APP固件的合併方法

文章目錄1 前言2 傳統方式3 高效方式3.1 合併文件3.2 bin轉hex3.2.1 srec_cat工具3.3 完整示例3.4 舉一反三 1 前言   嵌入式固件一般分爲BootLoader和App,BootLoader用