This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352 Fast External Booting is fail

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