I have a question about UART! I am working with S3C2410X, and I have two UVISION IDE,one is eval,another is BETA4.my project is a UART,in eval mode,my uart project is good,which can output correctly,but the same projcet on beta4 ,is wrong!!!which can't output.
so I watch their differences in disassembly,I find a difference as follow: (1)EVAL MODE
177: vsprintf(pString,fmt,ap); 0x3000066C E59D1020 LDR R1,[R13,#0x0020] 0x30000670 E59D2018 LDR R2,[R13,#0x0018] 0x30000674 E28D0004 ADD R0,R13,#0x00000004 0x30000678 EB000017 BL 0x300006DC 178: uart_sendstring(pString); 179: va_end(ap);
(2)BETA4 MODE
176: vsprintf(pString,fmt,ap); 0x30000578 E59D1020 LDR R1,[R13,#0x0020] 0x3000057C E59D2018 LDR R2,[R13,#0x0018] 0x30000580 E28D0004 ADD R0,R13,#0x00000004 0x30000584 FA000017 (???) 177: uart_sendstring(pString);
the difference is maked with BOLD
In EVAL MODE,
the R/O base:0x30000000 , R/W base:0x30900000
and in BETA4 MODE:the scatter files is as follow:
LR_ROM1 0x30000000 { ; load region ER_ROM1 0x30000000 0x00200000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_RAM1 0x30900000 0x04000000 { ; RW data .ANY (+RW +ZI) } }
I want to know this is why and how to modify my project? thand you!