hello,
We are trying to boot AM3352 using NOR flash(Non-muxed) in "Fast External Booting" mode SYSBOOT[4:0]=11111b ,but the processor hangs.
An analysis with CCS tool shows that very early in start.S, the code jumps to save_boot_params which is located at address 0x08001C20. This address is out of range of GPMC bootrom init GPMC_A0 to GPMC_A11,so I add the following assembler sequence in start.S to initialize pinmux of full GPMC address bus.
but when I debug “stmfd sp!, {r2 - r4}", the processor hangs. Why stop this line of code? please help me.
reset:
stmfd sp!, {r2 - r4} // save register context
// Configure GPMC[A16:12] balls
movw r4, #0x8C0 // pad config registers begin @ address 0x44e108c0
movw r3, #0x44E1
orr r4, r4, r3, lsl #16
mov r2, #9 // set 8 balls to mode 1 with pull disabled
mov r3, #4
gpmc_mux: str r2, [r4], #4
subs r3, r3, #1
bne gpmc_mux
// Configure GPMC[A24:16] balls
movw r4, #0x840 // pad config registers begin @ address 0x44e108f0
movw r3, #0x44E1
orr r4, r4, r3, lsl #16
mov r2, #12 // set GPMC_A0 mode 4 with pull disabled
mov r3, #8
gpmc_mux1: str r2, [r4], #4
subs r3, r3, #1
bne gpmc_mux1
ldmfd sp!, {r2 - r4} // restore register context
bl save_boot_params