博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

嵌入式linux

构建完善的嵌入式linux平台
   uClinux.cublog.cn
关于作者  
姓名:panhuachun@hotmail.com
职业:软件工程师
年龄:24
位置:China
个性介绍:构建优美的嵌入式平台

我的分类  




arm平台下 gcc汇编调用c函
@******************************************************************************
@ File:init.s
@ 功能:通过它转入C程序
@******************************************************************************    
.text
.global _start
_start:
   ldr  sp, =1024*4 @设置堆栈,注意:不能大于4k,2410的nand只有前面4k映射到0地址
       @nand flash中的代码在复位后会移到内部ram中,此ram只有4k
   bl  main  @调用C程序中的main函数
halt_loop:
   b  halt_loop

@******************************************************************************
@ File:main.c
@ 功能:设置io口的电平
@******************************************************************************    
#define GPBCON  (*(volatile unsigned long *)0x56000010)
#define GPBDAT  (*(volatile unsigned long *)0x56000014)
int main()
{
 GPBCON  = 0x00004000;
 GPBDAT = 0x00000000;
 return 0;
}
@******************************************************************************
@ File:Makefile
@ 功能:编译,清除
@ arm-linux-ld -Ttext 0x0000000 -g  init.o main.o -o tmp.o  
@ arm-linux-gcc将生成elf格式的文件
@******************************************************************************
led: init.s  main.c
 arm-linux-gcc -g -c -o init.o
 arm-linux-gcc -g -c -o main.o main.c
 arm-linux-ld -Ttext 0x0000000 -g  init.o main.o -o tmp.o 
 arm-linux-objcopy -O binary -S tmp.o led
 
clean:
 rm -f   led
 rm -f   main.o
 rm -f   tmp.o
 rm -f   init.o

 发表于: 2008-03-05,修改于: 2008-03-05 18:27 已浏览221次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.0115

京ICP证041476号