關(guān)閉

wenzi嵌入式軟件

所屬頻道 嵌入式 公眾號精選
  • C語言指定初始化器解析及其應(yīng)用

    由于筆者能力有限,文中如果出現(xiàn)錯(cuò)誤的地方,歡迎大家給我指出來,我將不勝感激,謝謝~ 指定初始化器的概念 C90 標(biāo)準(zhǔn)要求初始化程序中的元素以固定的順序出現(xiàn),與要初始化的數(shù)組或結(jié)構(gòu)體中的元素順序相同。但是在新標(biāo)準(zhǔn) C99 中,增加了一個(gè)新的特性:指定初

    嵌入式
    2020-07-06
  • C語言回調(diào)函數(shù)的概念及其應(yīng)用

    筆者能力有限,如果文中有錯(cuò)誤的地方,歡迎各位朋友給我及時(shí)地指出來,我將不甚感激,謝謝~ 概念 引用維基百科上的關(guān)于回調(diào)函數(shù)的概念: 在計(jì)算機(jī)程序設(shè)計(jì)中,回調(diào)函數(shù),或簡稱回調(diào)(Callback 即call then back 被主函數(shù)調(diào)用運(yùn)算后會返回主函數(shù)),是指通過函

  • C語言位域解析及在嵌入式編程中的應(yīng)用

    筆者能力有限,如文中出現(xiàn)錯(cuò)誤的地方,還請各位朋友能給我指出來,我將不勝感激,謝謝~ 位域的概念 位域(或者也能稱之為位段,英文表達(dá)是 Bit field)是一種數(shù)據(jù)結(jié)構(gòu),可以把數(shù)據(jù)以位元的形式緊湊的存儲,并允許程序員對此結(jié)構(gòu)的位元進(jìn)行操作。這種數(shù)據(jù)結(jié)構(gòu)

  • 【重磅】剖析MCU的IAP升級軟件設(shè)計(jì)(設(shè)計(jì)思路篇)

    1、簡單聊一聊 ? ? ?今天為大家推薦一首毛不易的《像我這樣的人》,上面鏈接是現(xiàn)場版本音效上略有打折,不過歌曲所要傳遞的那份感情全在詞里了,在成長的過程中人總會遇到幾個(gè)情緒低落的階段,面對現(xiàn)實(shí)的世界會覺得非常的力不從心,甚至想逃離現(xiàn)狀,如果當(dāng)你

  • 結(jié)構(gòu)體內(nèi)存對齊解析

    為什么要內(nèi)存對齊 雖然所有的變量最后都會保存到特定的地址內(nèi)存中去,但是相應(yīng)的內(nèi)存空間必須滿足內(nèi)存對齊的要求,主要基于存在以下兩個(gè)原因: 硬件平臺原因:并不是所有的平臺都能夠訪問任意地址上的任意數(shù)據(jù),某些硬件平臺只能夠訪問對齊的地址,否則就會出

    嵌入式
    2020-07-06
  • 你值得擁有的上古神器:vim

    推薦理由:一個(gè)完全不需要借助鼠標(biāo)就可以完成所有操作的編輯器 前言 筆者并不是 vim 高手,也只是最近在 github 發(fā)現(xiàn)的一個(gè)開箱即用的 vim 配置,所以在這里分享出來,所以本文并不會講解如何去配置一個(gè)專屬的 vim,對于長期使用 vim 的朋友來說,我這篇文章

    嵌入式
    2020-07-06
    vim
  • STM32 內(nèi)存分配解析及變量的存儲位置

    筆者能力有限,如果文中出現(xiàn)不對的地方,還請各位朋友能夠及時(shí)地給我指出來,我將不勝感激,謝謝~ 內(nèi)存映射 在一些桌面程序中,整個(gè)內(nèi)存映射是通過虛擬內(nèi)存來進(jìn)行管理的,使用一種稱為內(nèi)存管理單元(MMU)的硬件結(jié)構(gòu)來將程序的內(nèi)存映射到物理RAM。在對于 RAM 緊

    嵌入式
    2020-07-06
  • C 語言實(shí)現(xiàn)繼承以及容器

    筆者能力有限,寫公眾號的目的主要是為了積累,同時(shí)也能夠激勵(lì)自己養(yǎng)成積累的習(xí)慣。如果文中有不對的地方,還請各位朋友能及時(shí)地給我指出來,我將不勝感激,謝謝。 繼承的概念 繼承是面向?qū)ο筌浖夹g(shù)當(dāng)中的一個(gè)概念,與多態(tài)、封裝共為面向?qū)ο蟮娜齻€(gè)基本特征

    嵌入式
    2020-07-06
  • C 語言跳轉(zhuǎn)表的實(shí)現(xiàn)及在嵌入式設(shè)備中的應(yīng)用

    筆者能力有限,如果文中有不對的地方,還請各位朋友能及時(shí)地給我指出來,我將不勝感激,謝謝~ 跳轉(zhuǎn)表的概念 引用筆者在 Wikipedia 上看到的關(guān)于跳轉(zhuǎn)表的概念, In computer programming, a branch table or jump table is a method of transferring program co

  • RTT 是如何管理和構(gòu)建工程的?

    前言 rtthread 是一個(gè)功能強(qiáng)大,組件豐富的物聯(lián)網(wǎng)操作系統(tǒng)。它相比于其他的 RTOS 的一個(gè)主要區(qū)別之一,也就是它不僅僅是一個(gè)實(shí)時(shí)內(nèi)核,還具備豐富的中間層組件。那對于 rtt 來講,它又是如何管理和構(gòu)建工程的呢?下面筆者將從一個(gè)工程的目錄結(jié)構(gòu)開始來進(jìn)行闡

    嵌入式
    2020-07-06
  • MCU 是如何從上電復(fù)位運(yùn)行到 main 函數(shù)的?

    筆者能力有限,如果文中出現(xiàn)錯(cuò)誤的地方,歡迎各位朋友能給我提出來,我將不勝感激,謝謝~ 前言 在筆者的上一篇文章中《中斷服務(wù)子程序是如何被執(zhí)行的》,詳細(xì)闡述了中斷響應(yīng)以及執(zhí)行的整個(gè)過程,其中涉及到關(guān)于中斷向量表的相關(guān)知識,本篇文章再次以中斷向量

  • 中斷服務(wù)子程序是如何被執(zhí)行的 ?

    筆者能力有限,如果文中出現(xiàn)錯(cuò)誤的地方,還請各位朋友能夠給我指出來,我將不勝感激,謝謝~ 前言 筆者在?《程序是如何在 CPU 中運(yùn)行的(二)》中從 PC 指針寄存器的角度分析了一級函數(shù)調(diào)用和二級函數(shù)調(diào)用執(zhí)行的過程,那么中斷服務(wù)子程序又是如何被執(zhí)行的呢?兩

  • 程序是如何在 CPU 中運(yùn)行的(三)

    筆者能力有限,如果文章出現(xiàn)錯(cuò)誤的地方歡迎各位朋友能夠給我指出來,我將不勝感激,謝謝~ 前言 在之前的兩篇文章中,在?程序是如何在 CPU 中運(yùn)行的(一)中講述了一條一條指令和數(shù)據(jù)是如何在 CPU 中被運(yùn)行的,在?程序是如何在 CPU 中運(yùn)行的 (二)中以 PC 寄

    嵌入式
    2020-07-06
    CPU
  • 程序是如何在 CPU 中運(yùn)行的(二)

    筆者能力有限,如果文中出現(xiàn)錯(cuò)誤的地方,還請各位朋友能夠給我指出來,我將不勝感激,謝謝~ 前言 在上一篇文章中《程序是如何在 CPU 中運(yùn)行的(一)》筆者講述了程序中一條一條指令以及一條一條數(shù)據(jù)是如何在 CPU 中運(yùn)行的,在本文筆者將以 ARM Cortex M3 的內(nèi)核

    嵌入式
    2020-07-06
    CPU
  • 程序是如何在 CPU 中運(yùn)行的(一)

    筆者能力有限,如果文中出現(xiàn)錯(cuò)誤的地方,歡迎大家給我指出來,我將不勝感激,謝謝~ CPU 和 MCU 的區(qū)別 對于嵌入式開發(fā)來講,我們在日常中接觸到概念都是 MCU ,MCU 和 CPU 的區(qū)別也就在于 MCU 集成了片上外圍器件,CPU 不帶外圍器件,一個(gè)簡單的例子就是 MCU

    嵌入式
    2020-07-06
    CPU