LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 686|回复: 2

问下有关arm 交叉编译的问题

[复制链接]
发表于 2009-9-22 21:40:27 | 显示全部楼层 |阅读模式
前些天买了一个二手GBA学嵌入式
用的是devkitadv,一个别人配置好的编译工具
然后用codeblock配置好编译器

照网上抄了一段程序:
int main(void)
{
typedef unsigned short u16;

    *(u16 *) 0x04000000 =  0x0404;
    *(u16 *) 0x05000000 = 0x0A00;
    *( (u16 *) 0x05000000+1) = 0xFD00;

     int i=0;

    for(i=0; i<240*160; i=i+2)
    {
        *( (u16 *) 0x06000000 + i ) = 0x0001<<8 | 0x0000;

    }


   return 0;
}

然后make all
生成一个 test.o 和test.bin

最后用gba 运行,发现 test.bin 运行不正确,一直显示白屏(正常应是紫黑相间的条纹)
而把 test.o 改成 test.bin 运行这个test.bin就正常

现在迷茫了:
1,test.o 不是目标文件吗? 为什么改名后能正常运行
2,为什么连结成 test.bin 后却不正常,test.o 和test.bin 到底是什么关系?
没学过编译原理,只知道先 生成目标文件,再连结生成可执行文件,却不知深意
 楼主| 发表于 2009-9-25 17:36:22 | 显示全部楼层
自己顶
有做嵌入式的吗?
回复 支持 反对

使用道具 举报

发表于 2009-9-26 11:25:15 | 显示全部楼层
建议看一下makefile
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表