原创 ARM9硬件接口學習之 UART

在沒有引入UART之前,由於沒有OS,我們寫程序燒到開發板內執行後,並不能在程序的運行過程中打印一些提示信息告訴我們程序究竟運行了如何或者提供接口讓用戶去控制程序的運行路徑,最後也只能通過物理現象去判斷程序是否執行成功。   使用串

原创 S3C2440的UART詳解

http://www.cnblogs.com/idle_man/archive/2010/12/19/1910548.html 1、UART原理簡介 在介紹2440的UART控制器之前,我們首先來了解一下UART的原理 UART:Uni

原创 基於HT9032C的新型來電顯示器設計

引言   據調查,市場上現有的來電顯示器大致可以分爲兩類:一類是普通來電顯示器;另一類是可以和上位機連接的高端來電顯示設備。在單數據消息格式下,前者只能顯示主叫號碼、呼叫日期、時間等主叫識別信息,由於不能顯示主叫用戶的姓名,給用戶的使用

原创 基於ARM的智能來電顯示器的設計

  摘要:介紹基於ARM的來電號碼顯示器的實現方法。利用CID芯片HT9032C來解調FSK碼,同時可實現液晶顯示、E2PROM存儲和語音播報電話主叫號碼等功能,以SPI串行接口智能顯示鍵盤控制芯片ZLG7289A爲核心設計的鍵盤電路可

原创 fcntl.h

fcntl.h與unistd.    fcntl.h定義了很多宏和open,fcntl函數原型 unistd.h定義了更多的函數原型   close(關閉文件) 表頭文件#include<unistd.h> 定義函數int

原创 fcntl即F_SETFL,F_GETFL的使用,設置文件的flags

1、獲取文件的flags,即open函數的第二個參數:        flags = fcntl(fd,F_GETFL,0); 2、設置文件的flags:       fcntl(fd,F_SETFL,flags); 3、增加文件的某個

原创 linux的IO端口和IO內存

CPU對外設端口物理地址的編址方式有兩種:一種是IO映射方式,另一種是內存映射方式。   Linux將基於IO映射方式的和內存映射方式的IO端口統稱爲IO區域(IO region)。IO region仍然是一種IO資源,因此它仍然

原创 linux內存管理機制

一、存管理單元MMU 高性能處理器一般都會提供一個內存管理單元MMU,該單元輔助操作系統進行內存管理,提供虛擬地址和物理地址的映射、內存訪問權限保護和Cache緩存控制等硬件支持。 TLB:Translation Lookaside Bu

原创 LINUX MTD 驅動

MTD(memory technology device 內存技術設備)是用於訪問memory 設備(ROM、flash)的Linux的子系統。MTD 的主要目的是爲了使新的memory 設備的驅動更加簡單,爲此它在硬件和上層之間提供了一

原创 可重入函數

可重入與不可重入 2007年08月26日 星期日 15:20 一:可重入函數         在實時系統的設計中,經常會出現多個任務調用同一個函數的情況。如果這個函數不幸被設計成爲不可重入的函數的話,那麼不同任務調用這個函數時可能修

原创 /etc/profile 續

/etc/profile詳解 Linux /etc/profile文件的改變會涉及到系統的環境,也就是有關Linux環境變量的東西,學習Linux要了解Linux profile文件的相關原理,這裏對則以文件進行具體分析。

原创 ubuntu /etc/profile配置

修改 /etc/profile 的修改技巧 轉載▼ 在 Arch Linux 的配置過程中可能要修改 /etc/profile,修改多了以後,原來的 profile 就面目全非了。 仔細看看你的 Linux 系統,如果有 /

原创 電話主叫號碼信息的識別及實現CID

  如何用單片機實現FSK來電顯示解碼 原理: 此項目的關鍵是,FSK是連續相位的,且高電平與低電位的頻率不成倍數關係(1200Hz與2200Hz).採用測量脈衝寬度的話不容易確定上升沿與下降沿.理論上用A\D轉換後的幅值對時間查表可

原创 內核同步機制——順序鎖

順序鎖(seqlock) 順序鎖也是對讀寫鎖的一種優化,對於順序鎖,讀者絕不會被寫者阻塞,也就說,讀者可以在寫者對被順序鎖保護的共享資源進行寫操作時仍然可以繼續讀,而不必等待寫者完成寫操作,寫者也不需要等待所有讀者完成讀操作纔去進行寫

原创 request_mem_region,ioremap和phys_to_virt()

  Linux在頭文件include/linux/ioport.h中定義了三個對I/O內存資源進行操作的宏: (1)request_mem_region()宏,請求分配指定的I/O內存資源。 (2)check_mem_region()宏