as a single output file.
This feature provides a way of creating hierarchical images. For example here
-is an example with two copies of U-Boot. One is read-only (ro), intended to be
-written only in the factory. Another is read-write (rw), so that it can be
+is an example image with two copies of U-Boot. One is read-only (ro), intended
+to be written only in the factory. Another is read-write (rw), so that it can be
upgraded in the field. The sizes are fixed so that the ro/rw boundary is known
and can be programmed:
a reasonably simple and sound design but has expanded greatly over the
years. In particular its handling of x86 images is convoluted.
-Quite a few lessons have been learned which are hopefully be applied here.
+Quite a few lessons have been learned which are hopefully applied here.
Design notes
"""Run binman with a given test file
Args:
- fname: Device tree source filename to use (e.g. 05_simple.dts)
+ fname: Device-tree source filename to use (e.g. 05_simple.dts)
+ debug: True to enable debugging output
"""
args = ['-p', '-I', self._indir, '-d', self.TestFile(fname)]
if debug:
Args:
fname: Filename of .dts file to read
- outfile: Output filename for compiled device tree binary
+ outfile: Output filename for compiled device-tree binary
Returns:
- Contents of device tree binary
+ Contents of device-tree binary
"""
if not self._output_setup:
tools.PrepareOutputDir(self._indir, True)
Raises an assertion failure if binman returns a non-zero exit code.
Args:
- fname: Device tree source filename to use (e.g. 05_simple.dts)
+ fname: Device-tree source filename to use (e.g. 05_simple.dts)
use_real_dtb: True to use the test file as the contents of
the u-boot-dtb entry. Normally this is not needed and the
test contents (the U_BOOT_DTB_DATA string) can be used.
TestFunctional._MakeInputFile('u-boot.dtb', U_BOOT_DTB_DATA)
def _DoReadFile(self, fname, use_real_dtb=False):
- """Helper function which discards the device-tree binary"""
+ """Helper function which discards the device-tree binary
+
+ Args:
+ fname: Device-tree source filename to use (e.g. 05_simple.dts)
+ use_real_dtb: True to use the test file as the contents of
+ the u-boot-dtb entry. Normally this is not needed and the
+ test contents (the U_BOOT_DTB_DATA string) can be used.
+ But in some test we need the real contents.
+ """
return self._DoReadFileDtb(fname, use_real_dtb)[0]
@classmethod
pos += entry.size
def GetFdtLen(self, dtb):
- """Get the totalsize field from a device tree binary
+ """Get the totalsize field from a device-tree binary
Args:
- dtb: Device tree binary contents
+ dtb: Device-tree binary contents
Returns:
- Total size of device tree binary, from the header
+ Total size of device-tree binary, from the header
"""
return struct.unpack('>L', dtb[4:8])[0]
str(e.exception))
def testMissingDt(self):
- """Test that an invalid device tree file generates an error"""
+ """Test that an invalid device-tree file generates an error"""
with self.assertRaises(Exception) as e:
self._RunBinman('-d', 'missing_file')
# We get one error from libfdt, and a different one from fdtget.
'No such file or directory'], str(e.exception))
def testBrokenDt(self):
- """Test that an invalid device tree source file generates an error
+ """Test that an invalid device-tree source file generates an error
Since this is a source file it should be compiled and the error
will come from the device-tree compiler (dtc).