原创 Linux的多進程與多線程編程

    有一段服務器代碼,之前使用多進程實現,後來爲了提高性能,改用多線程,現把代碼重寫過程記錄如下,兼分析多進程與多線程之區別。 點贊 收藏 分享 文章舉報 linyangsp

原创 linux時間函數

time(取得目前的時間) 表頭文件 #include<time.h> 定義函數 time_t time(time_t *t); 函數說明 此函數會返回從公元1970年1月1日的UTC時間從0時0分0秒算起到現在所經過的秒數。如果t 並非

原创 volatile 與 cache 的疑惑

     有一段DDR內存區,我用一個volatile變量指向起始位置,這段內存區會被一個FPGA以DMA的方式修改數據。      如果我用volatile變量能否讀取到FPGA修改後的內存數據,還是說我應該在讀取volatile變量前

原创 爲linux創建固化的qspi flash分區並進行升級

1、問題提出原因:       之前ARM的linux內核一直都是從RAM啓動,根文件系統是放在內存RAM中的,其他的boot、kernel和devicetree是放在boot iop(啓動外設)中。       上電之後,ARM從boo

原创 Zynq7000的MIO和EMIO之區別

    Zynq7000系列芯片有54個MIO,可以在XPS環境下將這些MIO直接配置爲外設的引腳,不需要添加約束文件,MIO信號對PL部分是透明的,不可見。     同時Zynq可以配置多達63個EMIO引腳,這些引腳可以配置到PL部分

原创 ARM協處理器詳解

http://blog.sina.com.cn/s/blog_b90c3cdf0101i9rr.html ARM指令集-協處理器指令詳解   ARM可支持多達16個協處理器,主要的作用:ARM處理器初始化,ARM與協處理器的數據處理操

原创 linux下的多線程編程

linux下的多線程編程          linux下有多線程和多進程編程,兩者有何區別,又如何選取呢? 點贊 收藏 分享 文章舉報 linyangspring 發佈了39

原创 一個小併發服務器的代碼優化

while(1){         //服務器阻塞,直到客戶程序建立連接         sin_size=sizeof(struct sockaddr_in);         if ((new_fd=accept(sockfd,(st

原创 ARM的MMU簡介

MMU--操作系統必不可少的部件之一,初衷是爲了在有限的RAM下滿足大程序運行的需求。 看下百度百科的MMU吧 傳送門:MMU http://baike.baidu.com/view/969924.htm MMU的功能: 1、 將線性地

原创 Linux如何及時響應外部中斷

FPGA每隔100us給運行linux的ARM一箇中斷,要求在20us內響應中斷,並讀走2000*16bit的數據。 目前主要的問題是,當系統同時發生多箇中斷時,會嚴重影響linux對FPGA中斷的響應時間。如何解決? 1、首先想到了

原创 Linux下時間/時區的設置以及gettimeofday()函數的使用方法

Linux下時間/時區的設置 http://www.cnblogs.com/xxpal/articles/816693.html   Linux機器上的時間比較複雜,有各式各樣的時鐘和選項等等。機器裏有兩個時鐘,硬件時鐘從根本上講是C

原创 dmaengine driver for linux

只是linux文檔的翻譯而已: 3.4 什麼時候異步操作會被執行 async_<operation>函數返回後,提交的操作不會被馬上執行。直到達到驅動滿足的臨界點後,之前掛起的操作纔會被執行。可以通過async_tx_issue_pend

原创 ARM的irq和fiq中斷以及中斷嵌套

     ARM有七種模式,我們這裏只討論SVC、IRQ和FIQ模式。      我們可以假設ARM核心有兩根中斷引腳(實際上是看不見的),一根叫 irq pin, 一根叫fiq pin.      在ARM的cpsr中,有一個I位和一個

原创 linux -- 環境變量的設置方法

linux -- 環境變量的設置方法 一般來說,配置交叉編譯工具鏈的時候需要指定編譯工具的路徑,此時就需要設置環境變量。例如我的mips-linux-gcc編譯器在“/opt/au1200_rm/build_tools/bin”目錄

原创 C語言配置文件解析庫——iniparser

C語言配置文件解析庫——iniparser 前言:在對項目的優化時,發現Linux下沒有專門的供給C語言使用的配置文件函數,於是搜索到了iniparser庫,可以像那些面嚮對象語言一樣,使用ini文件進行參數配置。 介紹 inip