Guest
#1172555
Hi all,
First of all I'm a newbie in ARM programming. I've a TinyArm evaluation
board with a LPC2194 on it and have download WinArm which I want I to
used it for the board.
As this moment I'm looking at the example: lpc2129_adc_stdio.
I have the following questions about this example:
1) In the link script file (lpc2129-rom.ld)I see:
MEMORY
{
ROM (rx) : ORIGIN = 0x00000000, LENGTH = 0x0003E000
RAM (rw) : ORIGIN = 0x40000000, LENGTH = 0x00004000
}
Is 3E000 correct? Shouldn't this be 40000? Because the Lpc2129 (like the
2194) has 256kb of Flash (256 * 1024 = 262144 == 0x040000).
2) The stacksize of the different mode is set in the startup file
crt0.s.
The last code of this is:
sub r0,r0,#SVC_STACK_SIZE
msr CPSR_c,#MODE_SYS|I_BIT|F_BIT // System Mode
mov sp,r0
Does this mean that the program run is System mode and with interrupt
disabled?
If I want to use interrupts (vectored and FIQ) must I set it to user
mode, or do I only have to remove |I_BIT|F_BIT?
3) Where should I set the (user) stack size? In crt0.s? (How?) or in the
makefile?
4) Can someone explain me the difference(s) of the two link script
files?
Why there are two of them?
5) Where can I find tutorials about setting up the startup file,
makefile and the linker script files.
6) Where can I find tutorials about debugging (open OCD) via the Jtag
connection?
Very much thanks in advance for your answers.
Kind regard,
Chic