找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3518|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

三星S3C2440的GPIO輸出驅(qū)動led

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:262 發(fā)表于 2014-5-20 15:22 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
從今天開始stm32先告一段落了,開始學(xué)習(xí)ARM920T架構(gòu)三星公司的S3C2440,今天是頭一天學(xué)習(xí),感覺難度要比STM32的難度大得多,主要還是涉及到操作系統(tǒng)就腦袋疼,和學(xué)習(xí)51和stm32時的步驟一樣,第一次都是先從IO輸出學(xué)起,與stm32的IO相比,S3C2440的IO功能起碼現(xiàn)在感覺不如stm32,和stm32一對比stm32若要驅(qū)動IO,必須先要開啟對應(yīng)的IO時鐘,而且輸出速率可為10M 3M50M,并可以配置為4種輸出模式,三種輸入模式,并且每個IO都能夠用來產(chǎn)生外部中斷,相比之下S3C2440的IO共130個,使用之前并不需要開啟對應(yīng)的IO時鐘,從低功耗來說,stm32簡直太強(qiáng)大了,而且只有24個管腳能產(chǎn)生外部中斷。
S3C2440的GPIOA管腳比較特別,主要是它只有輸出模式,沒有GPAUP這個寄存器


S3C2440需要自己動手來寫啟動代碼,必須要用匯編完成,c語言不能直接操作寄存器,啟動文件包括軟件初始化和硬件初始化兩個部分,軟件部分主要是:
1.設(shè)置堆棧
2.設(shè)置main的返回地址
3.調(diào)用main
4.清理工作


                                  硬件部分是:
1.關(guān)閉WATCHDOG
2.時鐘初始化(S3C2440的時鐘最大達(dá)400M,上電時為12M)
3.SDRAM初始化

2440有兩種啟動方式,一是NAND啟動,還有一種是NOR啟動,兩種方式的啟動時不一樣的:
NAND啟動方式:1.NAND的前4K拷貝到SRAM
                        2.從地址0開始執(zhí)行

NOR啟動方式:1.0地址指向NOR FLASH
                      2.從0地址開始執(zhí)行
NOR的訪問形勢和內(nèi)存訪問類似,而NAND就不一樣了,NOR可以向內(nèi)存一樣讀數(shù)據(jù),但是不可以向內(nèi)存一樣寫數(shù)據(jù),寫入一個數(shù)據(jù)之前一定要發(fā)送擦除指令。

啟動文件如下:

start:
      LDR R0,=0X53000000
      MOV R1,0x0
     
      STR R1,[R0]
     
      LDR SP,=1024*4

      BL MAIN
halt loop:
              b halt_loop

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表