免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2713 | 回复: 2
打印 上一主题 下一主题

[其它] 新手问题,裸机编程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-26 11:41 |只看该作者 |倒序浏览
我的板子是飞凌6410
1,我用裸机编程实现6410板子上第一个LED亮灭,但是程序好像有问题,帮忙看一哈

#define rGPMCON          (*(volatile unsigned *)(0x7F008820))
#define rGPMDAT          (*(volatile unsigned *)(0x7F008824))
#define rGPMPUD          (*(volatile unsigned *)(0x7F00882)


void delay()
{
        int i,j;
        
        for(i=110;i<0;i--)
                for(j=500;j<0;j--);
}

void init()
{
        rGPMCON  = 0x11111;
    rGPMPUD  = 0x00;
    rGPMDAT  = 0x1F;
}


void led1_on_off()
{
        rGPMDAT=0x1E;
        delay();
        rGPMDAT=0x1F;
        delay();
        
}

void Main()
{
        init();
        while(1)
        {
                led1_on_off();
        }
}

2,为什么裸机编程时候都要添加一个init.s的初始化汇编文件
3,ASD里面用C编程时区分大小写吗?比如十六进制的0x1f与0x1F?

谢谢解答,

论坛徽章:
0
2 [报告]
发表于 2011-09-26 14:59 |只看该作者
你的灯是一直亮着的么?如果寄存器操作没问题的话.....系统时钟是多少M的?
2  init.s确定初始化后程序跳到main函数继续执行...
3 不区分大小写

论坛徽章:
0
3 [报告]
发表于 2011-10-01 10:02 |只看该作者
裸机编程你没bootlader和操作系统怎么让板子工作,int.s就是完成类似工作初始化相应寄存器设置相关参数让板子能跑起来
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP