原创 音頻接口:TDM,PDM,I2S,PCM 簡介

【整理】SoC CPU MEDIATEK MT8516詳解期間,看到T8516介紹中包含麥克風語音輸入控制和連接的音頻產品中包含 I2Sx2(4 個頻道)、TDM(最多 8 個頻道)和 PDM 輸入(2 個頻道)等廣泛的接口。不太熟悉TDM

原创 遞歸思想及應用(二十八)

        今天我們來看看遞歸,那麼我們爲什麼要講遞歸呢?在後面的數據結構的學習中會用到遞歸的思想。遞歸是一種數學上分而自治的思想,將原問題分解爲規模較小的問題進行處理。分解後的問題與原問題的類型完全相同,但規模較小;通過小規模問題的分

原创 冒泡排序和希爾排序(三十一)

        在上節博客中,我們學習了插入排序和選擇排序,那麼本次我們繼續學習冒泡排序和希爾排序。什麼是冒泡排序呢?它是每次從後向前進行(假設爲第 i 次),j = n - 1, n - 2, ... , i, 兩兩比較 V[j-1] 和

原创 歸併排序和快速排序(三十二)

        上節我們學習了冒泡排序和希爾排序,本節我們繼續學習歸併排序和快速排序。        1、歸並排序:將兩個或兩個以上的有序序列合併成一個新的有序序列。如下        那麼既然有 2 路歸併,便會有多路歸併。將 3 個有序

原创 選擇排序和插入排序(三十)

        今天我們來看下排序,那麼什麼是排序呢?排序是計算機內部經常進行的一種操作,其目的是將一組“無序”的數據元素調整爲“有序”的數據元素。那麼排序的數學定義時什麼呢?如下        下來我們來看一個概念:排序的穩定性。什麼是排

原创 binder 機制流程分析

        前面我們對着代碼分析了整個 test_client 和 test_server 的整個流程,下面我們再來總結下整個流程。        假設我們有此種服務場景:test_server 提供 HelloService 服務,還

原创 Android系統之Binder子系統(下)

        在上文中分析了 binder 驅動的框架以及它是怎麼註冊服務、獲取服務和使用服務的整個過程,接下來就來看看 binder transaction stack 機制。        我們在前面也有提到進程 A 向進程 B 相互

原创 Android系統之Binder子系統

        今天我們來看看 Android 系統的一個子系統Binder。首先先來介紹下 Binder 子系統,它是 Android 系統中用來進程間通信的一種方式。那麼爲什麼要學習下 binder 系統呢?因爲掌握了 binder 子

原创 排序之代理類(三十三)

        我們在之前學習了各種排序的算法,那麼我們的排序類(Sort)和數組類(Array)之間的關係如下。        那麼我們需要將排序類和數組類之間關聯起來,怎麼進行關聯呢?我們需要在排序類中新增幾個成員函數,具體函數原型如下

原创 智能硬件設計中如何選什麼音頻接口I2S、PDM、TDM?

在智能硬件和物聯網產品設計中,經常遇到聲音的傳輸。本文主要講一下最常用的音頻接口,以及使用場景。主要分類:模擬、數字(I2S、PCM、PDM、TDM)模擬音頻,就是功放輸出的,驅動音箱和喇叭的音頻。模擬麥克風採樣回來的數據也是模擬音頻。通常

原创 Linux shell 學習

        我們在嵌入式的開發中,難免會要用到腳本。常用的也就是 makefile 和 shell 腳本了,之前我們學習了 makefile 相關的知識,接下來我們也將要學習 shell 相關的知識,以便在以後的嵌入式開發中能更快、更高

原创 我的嵌入式之路

        好久沒學習了,今天來水水(ps:一直想吹下水,苦於沒機會)。剛好也畢業參加工作快一個月了,乾的都是雜活,但雜事還是很多。首先來介紹下 LZ 吧,畢業於西安某辣雞一本。大學專業學的是光電信息科學工程,至於爲什麼選這個專業呢?只

原创 C 語言修煉手冊

        以下博文是博主根據狄泰軟件學院的 C語言進階剖析教程 的內容總結而來,加上自己對 C 語言的理解所整理出來的。C 語言是最基礎的語言,學好 C 語言有助於我們以後更好的學習其他語言。包含了 C 語言的各種基礎知識點和一些不常

原创 Makefile之深入淺出

        什麼是 make 呢?爲什麼需要 make 呢?在我們之前學習的 C 語言以及 C++ 語言中,我們在編譯的時候只需要 gcc 或者 g++ 命令就可以完成源碼的編譯了。但是在嵌入式中一些大型的項目中,如內核的編譯,動輒上

原创 QT 從入門到放棄

        Qt 是一個1991年由Qt Company開發的跨平臺C++圖形用戶界面應用程序開發框架。它既可以開發 GUI 程序,也可用於開發非GUI程序,比如控制檯工具和服務器。Qt 是面向對象的框架,使用特殊的代碼生成擴展(稱爲元