原创 物聯網核心協議—消息推送技術演進

       消息觸達能力是物聯網(internet ofthings, IOT)的重要支撐,而物聯網很多技術都源於移動互聯網。本文闡述移動互聯網消息推送技術在物聯網中的應用和演進。一、物聯網架構和關鍵技術      從開發的角度,無線接

原创 編程綜述

一、標準C語言開發 ANSI C是美國國家標準協會(ANSI)對C語言發佈的標準。ANSIC能夠被所有的平臺、所有C編譯器支持。C99標準應用最廣泛。 標準C應用場景:標準C開發一般只是以基本語法和庫的形式出現,能夠完成基本的功能和簡單

原创 SoC嵌入式軟件架構設計之七:嵌入式文件系統設計

           嵌入式的系統區(system disk,SD)包括操作系統、驅動、中間件、應用和字庫、UI資源等文件,本文講述SD區的文件系統設計。文件系統最主要的目標是爲了實現單個文件的定位和讀寫。因爲一般代碼都是不可自修改的,即

原创 集成電路設計分工

       推薦一下本人的原創博客專欄:SoC嵌入式軟件架構設計 謝謝!              正規的集成電路設計公司在進行片上系統(SoC)設計時都有明確的崗位分工,甚至會以部門的形式來區分各部分的職責,而且很多時候集成電路設計公

原创 SoC嵌入式軟件架構設計之三:代碼分塊(Bank)設計原則

    上一節講述了在沒有MMU的CPU(如80251、MIPS M控制器系列、ARM cortex m系列)上實現虛擬內存管理的集成硬件設計方法,新設計的內存管理管理單元要實現虛擬內存管理還需要操作系統、代碼分塊(Bank)的支持,詳見

原创 SoC嵌入式軟件架構設計之一:系統內存需求評估

    內存是SoC(System on Chip,片上系統)集成設計的重要模塊,是SoC中成本比重較大的部分。內存管理的軟硬件設計是SoC軟件架構設計的重要一環,架構設計師必須要在成本和效率中取得平衡,做到在節省內存的同時保證整個系統的

原创 SoC嵌入式軟件架構設計之六:API設計方法

           在嵌入式系統中,驅動都是以API的方式提供給應用進行調用。這裏介紹嵌入式系統的API設計和管理方法。        驅動在系統中會按模塊進行分類,例如按鍵驅動、LCD驅動、文件系統、card驅動、I2C驅動等等;每個

原创 微信硬件平臺的基礎接入和硬件雲標準接入分析

本文分析基於微信硬件平臺的物聯網架構,將從物聯網的核心要素、物聯網的關鍵場景、微信硬件平臺的通信協議分析三個維度去分析。更多的微信硬件平臺開發的深度技術原創分享請訂閱微信公衆號:嵌入式企鵝圈。 微信硬件平臺包括基礎接入方案與微信硬件雲標準

原创 藍牙Ibeacon室內定位和微信搖一搖周邊原理分析

蘋果推出Ibeacon室內定位技術是爲了彌補GPS無法覆蓋室內定位這種場景。蘋果意味着創新,在其推動下,藍牙Ibeacon得到了極大的應用。而騰訊則是利用藍牙Ibeacon在場景體驗方面進行了創新,實現了微信搖一搖周邊的功能,這在O2O領

原创 如何提高藍牙BLE的傳輸速率和穩定性

藍牙BLE的最大特點就是低功耗,而低速率和簡單的交互協議是降低功耗的重要組成部分。因此BLE一般應用於低速率的近場控制和數據交互,如智能家電、運動手環等等,小數量的控制和交互對傳輸速度沒有要求,每秒1K字節就可以了,有時爲了功耗可能會更低

原创 SoC嵌入式軟件架構設計之四:內存空間規劃分配

    本文繼續闡述基於低端控制器CPU的SoC固件架構設計。第一節 SoC嵌入式軟件架構設計之一:系統內存需求評估 講述了系統內存需求的評估。這一節講述內存空間的具體規劃分配。CPU有兩種體系結構:哈佛結構和馮諾依曼結構。哈佛結構是一種

原创 Linux字符設備驅動剖析

一、先看看設備應用程序 1.很簡單,open設備文件,read、write、ioctl,最後close退出。如下: intmain(int argc ,char *argv[]){ unsigned char val[1] = 1

原创 固件空中升級(OTA)與固件二次引導的原理和設計

藍牙固件空中升級(OTA)涉及到藍牙無線通信、固件外存分佈、固件內存分佈(定製鏈接腳本)、固件二次引導等技術,需要開發人員深入理解藍牙單芯片的存儲架構、啓動引導流程、外存設備驅動和產品電路設計等領域知識。完整和完美地設計和實現OTA,是

原创 32位和16位指令集模式自動切換機制

    我們都知道MIPS架構體系是32位精簡指令集(MIPS32),事實上MIPS在進入控制器市場時還推出了MIPS16e指令集模式,號稱能夠使編譯後的代碼減少30%左右,類似於ARM架構中是arm32指令(32位)和thumb(16

原创 指令的編碼與譯碼原理

       指令集是處理器體系架構的重要組成部分。指令集有兩個發展方面,包括以X86爲代表的CISC(複雜指令集)和以ARM、MIPS爲代表的RISC(精簡指令集)。CISC的目標是儘可能將常用的功能用最少甚至一條指令來實現,因此該指令