Hi All,
I'm investigating the difference between u-boot.bin & u-boot.imx, and try to find a way to insert some private information in u-boot.imx.
First, I find the reserved1 & reserved2 fields of flash_header_v2_t are both 0x00000000 in my u-boot.imx, and even after I modified the values, it still can boot successfully.
So, is it possible to put my own information here? Will Boot ROM use these two fields when booting?
BTW, my BSP version is fsl-yocto-3.10.17_1.0.0.
Second, I would like to know when and who will load DCD_v2_t header? Boot ROM or U-boot?
Furthermore, because the DCD table and plugin code are union in the imx header, how do we use DRAM when plug-in code is available? or the truth is DRAM is not available when we have plug-in code?
Thanks,
Daniel
Solved! Go to Solution.
Daniel,
please look at my comments below.
1.
As for the difference between u-boot.bin & u-boot.imx :
https://community.freescale.com/message/340349#340349
2.
According to Table 8-29 (IVT Format) of the i.MX6 DQ RM :
reserved1: Reserved and should be zero
reserved2: Reserved and should be zero
So, the reserved fields should be zero (in order to meet specs for possible
boot ROM modifications).
3.
The DCD is treated by the boot ROM before loading and launching U-boot.
In particular, DRAM should be initialized (if needed).
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Daniel,
please look at my comments below.
1.
As for the difference between u-boot.bin & u-boot.imx :
https://community.freescale.com/message/340349#340349
2.
According to Table 8-29 (IVT Format) of the i.MX6 DQ RM :
reserved1: Reserved and should be zero
reserved2: Reserved and should be zero
So, the reserved fields should be zero (in order to meet specs for possible
boot ROM modifications).
3.
The DCD is treated by the boot ROM before loading and launching U-boot.
In particular, DRAM should be initialized (if needed).
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yuri,
For answer 3, does it also mean the plug-in code should be only executed in internal RAM?
In addition, I find the total size of imx header would be always 0x5000 bytes, even if no plug-in code exists.
So, could we reduce the header to the exact size of imx header which the "size" field in boot_data_t header shows?
Thanks,
Daniel
Daniel,
1.
Since the DCD is processed before the plugin, it allows to run the plugin code in DRAM
(assuming it is initialyzed in the DCD). In the same time, plugin and DCD approaches serve
for the similar purposes (pre-initialization), and usually only OCRAM free area is used during
boot ROM activities. (Plugin may be called even if the DCD table is not present in boot image).
2.
You may look at section 8.7.1 (Image Vector Table and Boot Data) and Table 8-28 (Image Vector
Table Offset and Initial Load Region Size) of the i.MX6 DQ RM to define what is the size of data are
involved in boot process.
~Yuri.