这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ARM 问一个以前问过的问题,一个很简单的ARM程序?

共2条 1/1 1 跳转至

ARM 问一个以前问过的问题,一个很简单的ARM程序?

院士
2006-09-17 18:14:16     打赏
ARM 问一个以前问过的问题,一个很简单的ARM程序?



关键词: 一个     以前     问过     问题     简单     程序    

院士
2006-12-22 22:43:00     打赏
2楼
问     我想请问DX,用S3C4510B怎样设计一个LED闪烁程序(包括ARM的启动代码,生成可以下载到ARM上的文件的整个过程)。在网上抄了一个程序,不知道是不是完整的。
    1、如果芯片商提供了BOOTLOADER,那么是不是就写下面的两个程序就可以实现LED闪烁?
    2、还有就是我怎样保证程序运行在用户模式呢?
    3、我怎样改变用户模式呢(通过软件,而不是靠异常中断)?
    4、这个汇编程序能在下面的一个C程序一起实现吗(只想用一个C程序)?
    5、程序怎样可以复制到SRAM中呢?
;**************************************************************
;汇编部分
;**************************************************************
    IMPORT        Main
    AREA        Ini,CODE,READONLY
    ENTRY
    LDR    R0, =0x3FF0000         
    LDR    R1, =0xE7FFFF80
    STR        R1, [R0]          
    LDR    SP, =0x3FE1000 ;这个在BOOTLOADER没有初始化吗?BOOTLOADER
                          ;究竟做了些什么呢?
    BL        Main
    B        .
         END        
//***************************************************************
//C语言程序
//***************************************************************
#define  IOPMOD       (*(volatile unsigned *)0x03FF5000) //IO port mode register
#define  IOPDATA  (*(volatile unsigned *)0x03FF5008) //IO port data register
void Delay(unsigned int);
int Main()
{
unsigned long  LED;
IOPMOD=0xFFFFFFFF;       //将IO口置为输出模式
IOPDATA=0x01;
for(;;){
        LED=IOPDATA;
        LED=(LED<<1);
        IOPDATA=LED;
        Delay(10);
        if(!(IOPDATA&0x0F))
            IOPDATA=0x01;
}
return(0);    
}
void Delay(unsigned int x)
{
unsigned int i,j,k;
for(i=0;i<=x;i++)
            for(j=0;j<0xff;j++)
                for(k=0;k<0xff;k++);
}


1: 没有人在乎我们这些小虾吗?   帮帮忙吧????????? 2: 看来真的是没有人愿意出手了吗? 3: re我愿意出手,但是上面的程序直接烧到flash不会好用吧,我现在也是为ARM的初始化工作过程头痛呢? 4: 我出该出手时就出手啊,风风火火闯九洲啊 5: 可以看看这里周立功的ARM启动代码中有一个文件startup.s其中对你提出的问题会有点帮助。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]