本周工作中,我花了整整一周的時間來嘗試調(diào)試一個段錯誤。我以前從來沒有這樣做過,我花了很長時間才弄清楚其中涉及的一些基本事情(獲得核心轉(zhuǎn)儲、找到導(dǎo)致段錯誤的行號)。于是便有了這篇博客來解釋如何做那些事情! 在看完這篇博客后,你應(yīng)該知道如何從“哦,我的程序出現(xiàn)段錯誤,但我不知道正在發(fā)生什么”到“我知道它出現(xiàn)段錯誤時的堆棧、行號了! ”。
DS18B20是最常用來學(xué)習(xí)某一個新的開發(fā)工具的,程序都是大同小異,主要是要注意時序中的延時要準(zhǔn)確,指令要正確,這里記錄一下!------------------第一部分是--------ds18b20.h----------------------#
了解 Yocto、Buildroot、 OpenWRT,和改造過的桌面發(fā)行版以確定哪種方式最適合你的項目。
近日,谷歌已經(jīng)為其新興開源的 Fuchsia OS 添加了一個 Guest App,以使 Linux 應(yīng)用程序能夠在 Fuchsia 中作為虛擬機(VM)運行。這個 Guest App 使用了一個叫作 Machina 的庫,相比傳統(tǒng)的模擬器,Guest App 與宿主操作系統(tǒng)的集成更加緊密。
Linux下各文件夾的結(jié)構(gòu)說明及用途介紹
Linux基本命令總結(jié)大全,有這個文章就夠了。
Linux 被部署到比 Linus Torvalds 在他的宿舍里開發(fā)時所預(yù)期的更廣泛的設(shè)備。令人震驚的支持了各種芯片,使得Linux 可以應(yīng)用于大大小小的設(shè)備上:從 IBM 的巨型機到不如其連接的端口大的微型設(shè)備,以及各種大小的設(shè)備。它被用于大型企業(yè)數(shù)據(jù)中心、互聯(lián)網(wǎng)基礎(chǔ)設(shè)施設(shè)備和個人的開發(fā)系統(tǒng)。它還為消費類電子產(chǎn)品、移動電話和許多物聯(lián)網(wǎng)設(shè)備提供了動力。
Linux下面,目標(biāo)文件、共享對象文件、可執(zhí)行文件都是使用ELF文件格式來存儲的。程序經(jīng)過編譯之后會輸出目標(biāo)文件,然后經(jīng)過鏈接可以產(chǎn)生可執(zhí)行文件或者共享對象文件。linux下面使用的ELF文件和Windows操作系統(tǒng)使用的PE文件都是從Unix系統(tǒng)的COFF文件格式演化來的。
系統(tǒng)調(diào)用是應(yīng)用程序和操作系統(tǒng)內(nèi)核之間的功能接口。其主要目的是使得用戶可以使用操作系統(tǒng)提供的有關(guān)設(shè)備管理、輸入/輸入系統(tǒng)、文件系統(tǒng)和進程控制、通信以及存儲管理等方面的功能,而不必了解系統(tǒng)程序的內(nèi)部結(jié)構(gòu)和有關(guān)硬件細節(jié),從而起到減輕用戶負(fù)擔(dān)和保護系統(tǒng)以及提高資源利用率的作用。
drivers中file_operations的mmap操作的作用是: 將設(shè)備驅(qū)動內(nèi)核空間的內(nèi)存映射到用戶空間里,可以通過用戶空間中的mmap系統(tǒng)調(diào)用代替系統(tǒng)調(diào)用write和read。目的是提高讀寫效率。
ALSA是Advanced Linux Sound Architecture 的縮寫,目前已經(jīng)成為了linux的主流音頻體系結(jié)構(gòu),想了解更多的關(guān)于ALSA的這一開源項目的信息和知識
對于熟悉電腦的伙伴們來說,BIOS(那個藍色的界面)可能不會太陌生吧,這貨就是電腦的啟動代碼。沒有BIOS的電腦,那注定是一塊板磚!BIOS主要是做一些開機前的準(zhǔn)備工作,例如系統(tǒng)時間設(shè)定、啟動順序。。
使用GNU的工具我們?nèi)绾卧贚inux下創(chuàng)建自己的程序函數(shù)庫?一個“程序函數(shù)庫”簡單的說就是一個文件包含了一些編譯好的代碼和數(shù)據(jù),這些編譯好的代碼和數(shù)據(jù)可以在事后供其他的程序使用。程序函數(shù)庫可以使整個程序更加模塊化,更容易重新編譯,而且更方便升級。
本文討論了 Linux 內(nèi)核中可用的大量同步或鎖定機制。這些機制為 2.6.23 版內(nèi)核的許多可用方法提供了應(yīng)用程序接口(API)。但是在深入學(xué)習(xí) API 之前,首先需要明白將要解決的問題。
Linux 的虛擬內(nèi)存管理有幾個關(guān)鍵概念: 每個進程有獨立的虛擬地址空間,進程訪問的虛擬地址并不是真正的物理地址 虛擬地址可通過每個進程上頁表與物理地址進行映射,獲得真正物理地址 如果虛擬地址對應(yīng)物理地址不在物理內(nèi)存中,則產(chǎn)生缺頁中斷,真正分配物理地址,同時更新進程的頁表;如果此時物理內(nèi)存已耗盡,則根據(jù)內(nèi)存替換算法淘汰部分頁面至物理磁盤中。
中斷(interrupt)被定義為一個事件,該事件改變處理器執(zhí)行的指令順序,這樣的事件與CPU芯片內(nèi)外部硬件電路產(chǎn)生的電信號相對應(yīng)。中斷通常分為同步(synchronous)中斷和異步(asynchronous)中斷。同步中斷指的是當(dāng)指令執(zhí)行時由CPU控制單元產(chǎn)生的,之所以稱為同步,是因為只有在一條指令終止執(zhí)行后CPU才會發(fā)出中斷。異步中斷是由其他硬件設(shè)備依照CPU時鐘信號隨機產(chǎn)生的。在Intel處理器中,同步中斷被稱為異常,異步中斷被稱為中斷。
引 言 TMS320F2812是目前性能非常優(yōu)秀的32位定點DSP,集成了多種外設(shè)。對TMS320F2812開發(fā)通常利用TI公司的CCS2集成開發(fā)環(huán)境。
在對asic設(shè)計進行fpga原型驗證時,由于物理結(jié)構(gòu)不同,asic的代碼必須進行一定的轉(zhuǎn)換后才能作為fpga的輸入。現(xiàn)代集成電路設(shè)計中,芯片的規(guī)模和復(fù)雜度正呈指數(shù)增加。尤其在asic設(shè)計流程中,驗證和調(diào)試所花的時間約占總
Google 正在開發(fā)新操作系統(tǒng) Fuchsia,使用名叫 Zircon 的微內(nèi)核。它是作為一個開源項目開發(fā)的,因此外界能跟蹤它的開發(fā)進度?,F(xiàn)在,Google 發(fā)布了一個叫“the-book”的文檔頁, 聲明 Fuchsia 不是 Linux,而是一種模塊化的,基于能力的操作系統(tǒng)(A modular, capability-based operating system),然后介紹了新操作系統(tǒng)的子系統(tǒng)和其它信息,包括 Zircon 內(nèi)核、核心、框架、存儲、顯示、媒體、智能、用戶界面、向后兼容等等。Fuchs