flashloader problem-solving process

1. Problem: flashloader failure to write qspi flash (self-generated FSBL.out not burning, golden FSBL.out can program)

Resolution process:

Starting with the ratio of ps_init.c, after replacing found the problem is not resolved;

Writing then proxxxx_jtag-debug.exe qspi flash fsbl load is determined to not 0xe8002800 ocm (Proxxxx Console information is also have this information)

And then navigate to the 0326 proxxxx exported FSBL link file is incorrect, you need to manually modify (the new version has been fixed)

2. Problem: After resolving the problem 1, but can not start programming qspi flash

Board qspi flash

The largest single-port fast read speed: 50MHz

Dual-port maximum read speed: 33MHz

Maximum four read speed: 33MHz

The conclusion is to reduce the frequency qspi

= Actual frequency of the frequency setting / BD coefficient (BD default factor of 4)

If frequency is 200MHz, then the actual frequency of 50MHz (the default is 200MHz, 50MHz it is clear that in a critical state, there will be a certain probability that the state does not start)

So we need to modify the default exported to 130MHz frequency

But there are a number of puzzles not want to understand

  • There is no modification in the case of frequency (200MHz) Why can program the success it
  • Why programming BOOT.bin (FSBL.out and helloworld) can not start; programming of golden BOOT.bin (FSBL.out and u-boot) can start

 

Programming process bootrom -> fsbl -> u-boot

In full bootmode jtag manner, the fsbl not initialized qspi, qspi initialization in the u-boot,

u-boot devicetree provided in the spi-max-frequency, currently 50MHz, BD factor of 2-32, the actual operating frequency of up to 50/2 = 25MHz,

BD coefficient md is actually started with the displayed still 4, the frequency of 50/4 = 12.5MHz.

So you can write is successful

 

Through trial and error, BOOT.bin (FSBL.out 50MHz and helloworld) can write is successful, but there is a certain probability not start successfully (bootrom -> fsbl 50MHz -> helloworld)

The golden BOOT.bin not sure what version of proxxxx derived qspi default frequency is not clear how much, then re-do a BOOT.bin (FSBL.out 50MHz and u-boot) (bootrom -> fsbl 50MHz -> u-boot)

Sometimes there can be a normal start, sometimes only half hung up to the start of the phenomenon, the board off a long time, qspi flash temperature is low, you can start, if the board has been open, high probability not start (qspi flash High temperature)

 

 

Therefore, the programmer can not start the problem qspi flash but the frequency of positioning problem and needs to reduce the frequency of qpsi.

 

Guess you like

Origin www.cnblogs.com/idyllcheung/p/12628367.html