转载请注明出处:http://blog.csdn.net/muge0913/article/details/8579303
作者:张同浩
helloworld.c文件如下:
根据s3c6410x的硬件信息可知uart0的发送寄存器地址为0x7f005020
/************************************************************************* >File Name: helloworld.c >Author: muge0913 >Mail: [email protected] >Created Time: 2013年02月12日星期二 15时33分11秒 ************************************************************************/ #defineUTXH0 ((volatile unsigned int *)(0x7f005020)) voidhelloworld(){ constchar * p = "helloworld--muge0913\n"; while(*p){ *UTXH0= *p++; } while(1); }
skyeye.conf:
#skyeyeconfig file for s3c6410,os_test arch:arm cpu:arm11 mach:s3c6410x #physicalmemory mem_bank:map=M,type=RW,addr = 0x00000000,size =0x00800000,file=./helloworld.bin #allperiherals IO mapping area mem_bank:map=I,type=RW,addr = 0x70000000,size = 0x10000000 uart:mod= term
注:把内存的只是从0x00处开始是因为arm处理器上电后从0x00处开始运行。file=表示预先加载到这片内存的镜像文件。boot=yes表示默认从此处启动
编译:
arm-elf-gcc-O2 -c helloworld.c arm-elf-ld-e helloworld -Ttext 0x00 helloword.o helloword arm-elf-objcopy-O binary helloworld helloword.bin
运行测试
$skyeye-main.py $start $run