在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2006|回复: 1

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

[复制链接]
发表于 2005-5-8 09:09:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
    我想请问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++);
}
 楼主| 发表于 2005-5-10 17:42:48 | 显示全部楼层

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

帅哥们,帮助一下好吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-21 11:23 , Processed in 0.023899 second(s), 23 queries , Gzip On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表