helloworld.c文件如下:
根據s3c6410x的硬件信息可知uart0的發送寄存器地址為0x7f005020
/*************************************************************************
>File Name: helloworld.c
>Author: muge0913
>Mail: muge0913@sina.com
>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

本欄目更多精彩內容:http://www.bianceng.cn/OS/Linux/