导航:首页 > 编程语言 > 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中断程序相关的资料

热点内容
手机qq激活星钻 浏览:302
html中引入js文件路径 浏览:83
0基础自学编程可以看什么书 浏览:860
javapoi导出excel 浏览:212
迷你编程迷小酷为什么邮箱里没有 浏览:33
ipadqq接收的文件在哪里 浏览:15
拼多多初级看哪些数据 浏览:848
win10开机密码屏幕键盘 浏览:162
文件夹乐高 浏览:914
外置文件夹挂载 浏览:304
人人视频本地缓存文件 浏览:194
java俄罗斯方块项目描述 浏览:354
win10系统被冻结 浏览:460
excel文件批量合并 浏览:948
linuxxmind 浏览:93
苹果电脑安全软件 浏览:195
u深度取消赞助密码 浏览:168
编程写东西都写得是什么 浏览:35
蔚来怎么推荐app 浏览:269
6s输入密码来使用siri 浏览:742

友情链接