基於S3C2410的通用IO程式設計

2021-05-12 11:33:39 字數 1829 閱讀 8291

蒙洋,華清遠見嵌入式學院

講師。一、通用io的定義

gpio(general-purpose io ports),通用的io口。一般的微控制晶元都提供通用的可程式設計介面。按照它們的功能分成:

●        通用io控制暫存器

●        通過io資料暫存器

很多mcu的gpio介面出去了標準的暫存器必須外,還會提供上拉暫存器,可以設定io的輸出模式為高阻。

二、s3c2410a的通用io暫存器

s3c2410a共有117個復用的輸入/輸出埠,分別是埠a~h,共8組。按照其位數不同不同可分為:

●        埠a(gpa),23位輸出口

●        埠b(gpb),11位輸出口

●        埠c(gpc),16位輸出口

●        埠d(gpd),16位輸出口

●        埠e(gpe),16位輸出口

●        埠f(gpf),8位輸出口

●        埠g(gpg),16位輸出口

●        埠h(gph),11位輸出口

為了滿足不同設計要求,每個io口可以設定成不同的工作模式,其中又可以將io口分成如下3類:

●        埠控制暫存器(gpacon~cphcon)

設定引腳工作模式,例如:輸入、輸出、外部中斷和保留。

●        埠資料暫存器(gpadat~cphdat)

當埠被設定成輸入模式,可以向gpxdat的相應位寫入資料;當埠被設定成輸出模式,可以從gpxdat的相應位讀出資料

●        埠上拉暫存器(gpaup~cphup)

控制某一埠的響應位的上拉電阻狀態(允許/禁止)。

0 – 響應的上拉電阻被允許

1 – 響應的上拉電阻被禁止

參看s3c2410a資料手冊

三 程式設計例項

(1) 程式設計目的

控制和s3c2410a晶元io連線的幾個led有規律的點亮。

(2) 電路原理

電路原理如圖1所示:

圖1 電路原理圖

四個led發光二極體分別與s3c2410a的gpf4~gpf7相連,通過gpf4~gpf7的引腳高低電平變化控制led的點亮和熄滅。由圖1可以清晰的看出當gpf4~gpf7輸出低電平時led點亮,反之當gpf4~gpf7輸出高電平時led熄滅。

(3) **分析

在標頭檔案中定義了相關的暫存器

操作相關暫存器,使得led能夠規律的工作

具體的細節可以參考相應的工程檔案。

基於S3C2410的Linux移植

本文描述了將linux移植到基於s3c2410處理器目標板上的方法與過程。介紹了目標平台和linux,並說明了如何搭建移植環境,著重介紹了bootloader的架構和功能以及linux核心的移植。結果證明該方法是可行的。移植後linux在嵌入式系統中執行良好。引言嵌人式系統就是以應用為中心 以計算機...

S3C2410讀寫Nand Flash分析

2009 01 15 16 51 321人閱讀 收藏舉報 s3c2410讀寫nand flash分析 一 結構分析 s3c2410處理器整合了8位nandflash控制器。目前市場上常見的8位nandflash有三星公司的k9f1208 k9f1g08 k9f2g08等。k9f1208 k9f1g0...

s3c2410的nand flash的驅動分析

以前都是把別人寫好的 直接拿過來用,而沒有去關心裡面到底怎麼實現的,昨晚對照著samsung 2410和k 9f1208的晶元資料把這些 讀了一遍,終於明白了對nand flash的操作一步步是怎麼實現的了。以下的這些 可以在vivi或者kernel裡面找到 對乙個nand flash的操作,總體上...