導航:首頁 > 編程語言 > s3c2410中斷程序

s3c2410中斷程序

發布時間:2023-03-04 23:07:29

Ⅰ S3C2410A復位後執行的第一條指令存放首地址是什麼

下面是我個人的一點認知,希望對你有幫助。
1、從nor flash啟動則存在地址0x00000000,也就是說要用FLASH做程序啟動,FLASH必須放BANK0,且地址從0x0開始,你可以直接在nor flash 中運行程序,也可把程序用自己寫在啟動代碼拷入SDRAM運行。
2、若從NAND FLASH啟動,則存放在NAND FLASH的開始區域,上電後系統會硬拷貝到內部的4KBRAM運行。
下面是我寫的一個直接從nor啟動的程序代碼:
只有init.s與led.c兩個文件,我調試過,運行正常
ADS環境參數設置中把:RO-BASE設為0x00000000,RW-BASE設為0x30000000(根據具體硬體來定)

image entry point 設為:0x00000000,

設置好的合令為:-info totals -entry 0x00000000 -ro-base 0x00000000 -map -symbols -rw-base 0x31000000 -first init.o(Init) -xref
init.s文件內容:
AREA Init,CODE,READONLY ;該偽指令定義了一個代碼段,段名為Init,屬性只讀
ENTRY ;程序的入口點標識
ResetEntry
ldr sp,=0x31000000 ;定義堆棧指針(根據具體硬體來定)
IMPORT Main ;聲明主函數Main
BL Main ;調用主函數
END ;程序結束符

led.C代碼:
/*led.c*/
/*用GPB5~GPB8控制四個發光二極體閃爍*/
#define GPBCON (*(volatile unsigned *)0x56000010) //Port B control
#define GPBDAT (*(volatile unsigned *)0x56000014) //Port B data
#define GPBUP (*(volatile unsigned *)0x56000018) //Pull-up control B
void Main(void)
{
int i;
GPBCON &= ~((0x3<<10) | (0x3<<12) | (0x3<<14) | (0x3<<16
GPBCON |= (0x1<<10) | (0x1<<12) | (0x1<<14) | (0x1<<16); //GPBCON=0x00015400;
while (1)
{
GPBDAT=0x061F;
for(i=0;i<10000;i++);
GPBDAT=0x07FF;
for(i=0;i<10000;i++);
}
}

Ⅱ S3C2410串口中斷代碼

手冊上那樣說是沒錯的,雖然從數字邏輯上來說是一樣,但是有這個操作之後,硬體會有動作的,你可以試試嘛,那個語句之後再查查那個寄存器(用中斷或者串口打到電腦,都簡單,多試試)。 intpnd的還是跟上面說的一樣,賦0不變,賦1清除,...

閱讀全文

與s3c2410中斷程序相關的資料

熱點內容
怎樣把舊的文檔保存到桌面文件夾 瀏覽:827
wps雲數據如何恢復 瀏覽:496
微信發送過來文件 瀏覽:300
怎麼改合同網站 瀏覽:73
網路鬥地主記牌器怎麼實現的 瀏覽:377
ps鏡像文件製作教程 瀏覽:45
系統分頁文件大小設置多少 瀏覽:447
win10有線無法上網 瀏覽:339
wps無法訪問指定文件 瀏覽:96
iphone4震動壞了 瀏覽:217
安卓隨機數軟體rand 瀏覽:356
CNC編程如何掌握公差 瀏覽:297
linux搭建php環境 瀏覽:514
星形網路怎麼表示有故障 瀏覽:719
dbf文件c語言處理excel 瀏覽:138
金蝶kis支持win10嗎 瀏覽:113
常州採集物聯網大數據平台有哪些 瀏覽:950
win10休眠文件改到d盤 瀏覽:626
如何編程手機app軟體 瀏覽:656
node獲取文件名 瀏覽:367

友情鏈接