# Program images

Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/program_images.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/program_images.html)

Program images include PBL, SBL, and APP images. See the following sections for details about the function, format, and runtime memory		status of each program image.

## PBL image

Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/program_images.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/program_images.html)

The PBL image is in the PBL region of the RRAM, as shown in [QCC730 memory and image structure](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcc730_application_development.html#qcc730_memory_layout_0).

	
Qualcomm owns the PBL image and programs it to the PBL region. Customers can't modify it.

	
### Function
				
The PBL image performs the following tasks:

		
- Handle different boot cases
- Choose SBL image from FDT after OTA update
- Authenticate SBL image
- Load SBL image

	
### Image structure
				
Although the PBL image is locked and can't be modified after the chip leaves the factory,  a patch for the PBL image is allowed. The			patch file is built into the SBL image as an independent segment.

## SBL image

Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/program_images.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/program_images.html)

The SBL image is stored in the SBL region of the RRAM. To support OTA update		for SBL images, QCC730 has two SBL memory regions. For more information, see [QCC730 memory and image structure](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcc730_application_development.html#qcc730_memory_layout_0).

	
### Function
				
The SBL image performs the following tasks:

- Choose APP images according to the partition table in flash
- Authenticate APP images
- Hash-verify APP images
- Load APP images

	
### Image structure
				
QCC730 only supports SBL images that are in executable and linking format (ELF). Based on the content, an SBL image mainly includes several segments as shown in the following			figure.

		
Figure : SBL image structure						<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export sbl_image_structure.svg SBL -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" width="2.97005in" height="2.85095in" viewbox="0 0 213.844 205.268" xml:space="preserve" color-interpolation-filters="sRGB" class="st6"><style>.svg-1 .st1 { fill: #f7f8fa; stroke: #ffffff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st2 { fill: #dee3ec; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st3 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st4 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st5 { fill: #000000; font-family: Arial; font-size: 1.08334em; letter-spacing: normal }
.svg-1 .st6 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g>	<title></title>	<g id="shape14-1" transform="translate(0.375,-0.375)">		<title></title>		<rect x="0" y="0.750009" width="213.094" height="204.518" rx="7.2" ry="7.2" class="st1"></rect>	</g>	<g id="shape2-3" transform="translate(16.9755,-16.4336)">		<title></title>		<rect x="0" y="31.7705" width="179.973" height="173.498" class="st2"></rect>	</g>	<g id="shape3-5" transform="translate(16.9688,-53.108)">		<title></title>		<path d="M0 205.27 L179.99 205.27" class="st3"></path>	</g>	<g id="shape4-8" transform="translate(27.6576,-23.4864)">		<title></title>		<desc>PBL patch segment</desc>		<rect x="0" y="182.7" width="158.609" height="22.5688" class="st4"></rect>		<text x="22.57" y="197.88" class="st5">PBL patch segment</text>		</g>	<g id="shape5-11" transform="translate(27.6576,-161.721)">		<title></title>		<desc>ELF/PHR</desc>		<rect x="0" y="182.7" width="158.609" height="22.5688" class="st4"></rect>		<text x="51.85" y="197.88" class="st5">ELF/PHR</text>		</g>	<g id="shape6-14" transform="translate(27.6576,-58.7502)">		<title></title>		<desc>Data segment</desc>		<rect x="0" y="182.7" width="158.609" height="22.5688" class="st4"></rect>		<text x="38.84" y="197.88" class="st5">Data segment</text>		</g>	<g id="shape9-17" transform="translate(16.9688,-87.9016)">		<title></title>		<path d="M0 205.27 L179.99 205.27" class="st3"></path>	</g>	<g id="shape10-20" transform="translate(16.9688,-122.695)">		<title></title>		<path d="M0 205.27 L179.99 205.27" class="st3"></path>	</g>	<g id="shape11-23" transform="translate(16.9688,-157.489)">		<title></title>		<path d="M0 205.27 L179.99 205.27" class="st3"></path>	</g>	<g id="shape12-26" transform="translate(27.6576,-127.867)">		<title></title>		<desc>Hash segment</desc>		<rect x="0" y="182.7" width="158.609" height="22.5688" class="st4"></rect>		<text x="37.39" y="197.88" class="st5">Hash segment</text>		</g>	<g id="shape13-29" transform="translate(27.6576,-94.014)">		<title></title>		<desc>Code segment</desc>		<rect x="0" y="182.7" width="158.609" height="22.5688" class="st4"></rect>		<text x="37.03" y="197.88" class="st5">Code segment</text>		</g></g>
</svg>

- **Hash segment**: This segment includes information for the image signature and hash value of each segment.
- **Code/data segment**: These segments include sections of SBL TXT, data, and basic service set (BSS) section.
- **PBL patch segment**: This segment includes the patch for PBL.

	
### Memory layout for SBL
				
SBL runs in the RAM, which has a 64 KB space (0x80000 to 0x90000) reserved for SBL.

		
Figure : SBL memory layout						<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export sbl_memory_layout.svg SBL memory layout -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" width="7.25521in" height="4.89494in" viewbox="0 0 522.375 352.436" xml:space="preserve" color-interpolation-filters="sRGB" class="st15"><style>.svg-2 .st1 { fill: #f7f8fa; stroke: #ffffff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st2 { fill: #dee3ec; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st3 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st4 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st5 { fill: #000000; font-family: Arial; font-size: 1.08334em; font-weight: bold; letter-spacing: normal }
.svg-2 .st6 { fill: #000000; font-family: Courier New; font-size: 1.08334em; letter-spacing: normal }
.svg-2 .st7 { fill: #000000; font-family: Courier New; font-size: 0.833336em; letter-spacing: normal }
.svg-2 .st8 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.25 }
.svg-2 .st9 { fill: none; stroke: #3253dc; stroke-dasharray: 6, 6; stroke-width: 2 }
.svg-2 .st10 { fill: #000000; font-family: Arial; font-size: 1.08334em; letter-spacing: normal }
.svg-2 .st11 { stroke: #4a5a75; stroke-dasharray: 12.25, 8.75; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75 }
.svg-2 .st12 { stroke: #000000; stroke-dasharray: 1.75, 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.25 }
.svg-2 .st13 { marker-start: url("#1-mrkr5-137"); stroke: #4a5a75; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75 }
.svg-2 .st14 { fill: #4a5a75; fill-opacity: 1; stroke: #4a5a75; stroke-opacity: 1; stroke-width: 0.40983606557377 }
.svg-2 .st15 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend5">		<path d="M 2 1 L 0 0 L 1.98117 -0.993387 C 1.67173 -0.364515 1.67301 0.372641 1.98465 1.00043 " style="stroke:none"></path>	</g>	<marker id="1-mrkr5-137" class="st14" refx="4.0642857142857" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend5" transform="scale(2.44) "></use>	</marker></defs><g>	<title></title>	<g id="shape80-1" transform="translate(0.375,-0.375)">		<title></title>		<rect x="0" y="0.749996" width="521.625" height="351.686" rx="7.2" ry="7.2" class="st1"></rect>	</g>	<g id="shape2-3" transform="translate(66.7847,-18.5075)">		<title></title>		<rect x="0" y="46.7677" width="144.054" height="305.668" class="st2"></rect>	</g>	<g id="shape4-5" transform="translate(66.7847,-263.541)">		<title></title>		<path d="M0 352.44 L144.05 352.44" class="st3"></path>	</g>	<g id="shape5-8" transform="translate(66.7847,-238.547)">		<title></title>		<path d="M0 352.44 L144.05 352.44" class="st3"></path>	</g>	<g id="shape6-11" transform="translate(66.7847,-210.323)">		<title></title>		<path d="M0 352.44 L144.05 352.44" class="st3"></path>	</g>	<g id="shape7-14" transform="translate(66.7847,-74.1197)">		<title></title>		<path d="M0 352.44 L144.05 352.44" class="st3"></path>	</g>	<g id="shape10-17" transform="translate(75.3396,-36.2183)">		<title></title>		<desc>SBLB</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="45.78" y="347.3" class="st5">SBLB</text>		</g>	<g id="shape12-20" transform="translate(75.3396,-214.839)">		<title></title>		<desc>PBL patch</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="31.33" y="347.3" class="st5">PBL patch</text>		</g>	<g id="shape13-23" transform="translate(75.3396,-242.07)">		<title></title>		<desc>FDT</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="50.84" y="347.3" class="st5">FDT</text>		</g>	<g id="shape16-26" transform="translate(75.3396,-283.704)">		<title></title>		<desc>PBL</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="50.47" y="347.3" class="st5">PBL</text>		</g>	<g id="shape23-29" transform="translate(213.142,-210.487)">		<title></title>		<desc>0x20A400</desc>		<rect x="0" y="343.404" width="76.4222" height="9.03158" class="st4"></rect>		<text x="7.01" y="351.82" class="st6">0x20A400</text>		</g>	<g id="shape24-32" transform="translate(213.142,-74.2848)">		<title></title>		<desc>0x212400</desc>		<rect x="0" y="343.404" width="76.4222" height="9.03158" class="st4"></rect>		<text x="7.01" y="351.82" class="st6">0x212400</text>		</g>	<g id="shape25-35" transform="translate(213.142,-19.1799)">		<title></title>		<desc>0x21A400</desc>		<rect x="0" y="343.404" width="76.4222" height="9.03158" class="st4"></rect>		<text x="7.01" y="351.82" class="st6">0x21A400</text>		</g>	<g id="shape30-38" transform="translate(153.191,-40.7341)">		<title></title>		<desc>32K</desc>		<rect x="0" y="343.404" width="58.2286" height="9.03158" class="st4"></rect>		<text x="36.23" y="350.92" class="st7">32K</text>		</g>	<g id="shape40-41" transform="translate(66.7847,-188.057)">		<title></title>		<path d="M0 352.44 L144.05 352.44" class="st8"></path>	</g>	<g id="shape41-44" transform="translate(66.7847,-165.839)">		<title></title>		<path d="M0 352.44 L144.05 352.44" class="st8"></path>	</g>	<g id="shape42-47" transform="translate(66.7847,-143.62)">		<title></title>		<path d="M0 352.44 L144.05 352.44" class="st8"></path>	</g>	<g id="shape43-50" transform="translate(66.7847,-121.401)">		<title></title>		<path d="M0 352.44 L144.05 352.44" class="st8"></path>	</g>	<g id="shape44-53" transform="translate(66.7847,-99.1821)">		<title></title>		<path d="M0 352.44 L144.05 352.44" class="st8"></path>	</g>	<g id="shape45-56" transform="translate(66.7847,-73.9589)">		<title></title>		<path d="M0 352.44 L144.05 352.44 L144.05 215.91 L0 215.91 L0 352.44 Z" class="st9"></path>	</g>	<g id="shape46-58" transform="translate(75.3396,-77.6128)">		<title></title>		<desc>SBLA</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="45.78" y="347.3" class="st5">SBLA</text>		</g>	<g id="shape47-61" transform="translate(153.191,-82.1286)">		<title></title>		<desc>32K</desc>		<rect x="0" y="343.404" width="58.2286" height="9.03158" class="st4"></rect>		<text x="36.23" y="350.92" class="st7">32K</text>		</g>	<g id="shape48-64" transform="translate(75.3396,-190.019)">		<title></title>		<desc>ELF</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="51.55" y="347.3" class="st10">ELF</text>		</g>	<g id="shape49-67" transform="translate(75.0635,-167.915)">		<title></title>		<desc>Hash segment</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="21.56" y="347.3" class="st10">Hash segment</text>		</g>	<g id="shape50-70" transform="translate(75.3396,-145.734)">		<title></title>		<desc>Code segment</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="21.2" y="347.3" class="st10">Code segment</text>		</g>	<g id="shape51-73" transform="translate(75.3396,-123.554)">		<title></title>		<desc>Data segment</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="23.01" y="347.3" class="st10">Data segment</text>		</g>	<g id="shape52-76" transform="translate(75.3396,-101.373)">		<title></title>		<desc>PBL patch segment</desc>		<rect x="0" y="334.373" width="126.944" height="18.0632" class="st4"></rect>		<text x="6.74" y="347.3" class="st10">PBL patch segment</text>		</g>	<g id="shape53-79" transform="translate(318.227,-104.11)">		<title></title>		<rect x="0" y="196.967" width="131.846" height="155.468" class="st2"></rect>	</g>	<g id="shape55-81" transform="translate(326.053,-108.493)">		<title></title>		<desc>Config table</desc>		<rect x="0" y="335.902" width="116.195" height="16.5337" class="st4"></rect>		<text x="20.54" y="348.07" class="st5">Config table</text>		</g>	<g id="shape56-84" transform="translate(326.053,-236.686)">		<title></title>		<desc>PBL RAM</desc>		<rect x="0" y="335.902" width="116.195" height="16.5337" class="st4"></rect>		<text x="28.49" y="348.07" class="st5">PBL RAM</text>		</g>	<g id="shape58-87" transform="translate(318.223,-130.676)">		<title></title>		<path d="M0 352.44 L131.86 352.44" class="st3"></path>	</g>	<g id="shape59-90" transform="translate(318.223,-157.242)">		<title></title>		<path d="M0 352.44 L131.86 352.44" class="st3"></path>	</g>	<g id="shape60-93" transform="translate(318.223,-230.49)">		<title></title>		<path d="M0 352.44 L131.86 352.44" class="st3"></path>	</g>	<g id="shape61-96" transform="translate(326.053,-185.407)">		<title></title>		<desc>RAM</desc>		<rect x="0" y="335.902" width="116.195" height="16.5337" class="st4"></rect>		<text x="43.29" y="348.07" class="st5">RAM</text>		</g>	<g id="shape62-99" transform="translate(326.053,-133.794)">		<title></title>		<desc>SBL RAM</desc>		<rect x="0" y="335.902" width="116.195" height="16.5337" class="st4"></rect>		<text x="28.49" y="348.07" class="st5">SBL RAM</text>		</g>	<g id="shape63-102" transform="translate(238.961,-164.715) rotate(4.57683)">		<title></title>		<path d="M0 352.44 L107.73 352.44" class="st11"></path>	</g>	<g id="shape64-105" transform="translate(180.511,-120.094) rotate(-4.93644)">		<title></title>		<path d="M0 352.44 L107.78 352.44" class="st11"></path>	</g>	<g id="shape65-108" transform="translate(450.544,-230.49)">		<title></title>		<desc>0x8000</desc>		<rect x="0" y="343.404" width="66.9562" height="9.03158" class="st4"></rect>		<text x="16.15" y="351.82" class="st6">0x8000</text>		</g>	<g id="shape66-111" transform="translate(450.544,-157.066)">		<title></title>		<desc>0x80000</desc>		<rect x="0" y="343.404" width="66.9562" height="9.03158" class="st4"></rect>		<text x="8.35" y="351.82" class="st6">0x80000</text>		</g>	<g id="shape67-114" transform="translate(443.25,-130.676)">		<title></title>		<desc>0x90000</desc>		<rect x="0" y="343.404" width="74.25" height="9.03158" class="st4"></rect>		<text x="15.64" y="351.82" class="st6">0x90000</text>		</g>	<g id="shape68-117" transform="translate(450.544,-104.11)">		<title></title>		<desc>0xA0000</desc>		<rect x="0" y="343.404" width="66.9562" height="9.03158" class="st4"></rect>		<text x="8.35" y="351.82" class="st6">0xA0000</text>		</g>	<g id="shape71-120" transform="translate(450.185,-157.242) rotate(0.0171919)">		<title></title>		<path d="M0 352.44 L61.58 352.44" class="st12"></path>	</g>	<g id="shape72-123" transform="translate(450.079,-130.676)">		<title></title>		<path d="M0 352.44 L62.15 352.44" class="st12"></path>	</g>	<g id="shape73-126" transform="translate(450.074,-104.11)">		<title></title>		<path d="M0 352.44 L61.59 352.44" class="st12"></path>	</g>	<g id="shape76-129" transform="translate(450.079,-230.49)">		<title></title>		<path d="M0 352.44 L61.58 352.44" class="st12"></path>	</g>	<g id="shape77-132" transform="translate(75.7847,-223.025)">		<title></title>		<path d="M-16.11 352.44 L-16.47 352.44 L-39.66 352.44 L-39.66 464.6 L-9 464.6" class="st13"></path>	</g>	<g id="shape35-138" transform="translate(211.74,-210.323)">		<title></title>		<path d="M0 352.44 L66.96 352.44" class="st12"></path>	</g>	<g id="shape36-141" transform="translate(211.74,-74.131)">		<title></title>		<path d="M0 352.44 L66.96 352.44" class="st12"></path>	</g>	<g id="shape37-144" transform="translate(211.74,-19.0262)">		<title></title>		<path d="M0 352.44 L66.96 352.44" class="st12"></path>	</g></g>
</svg>

## APP image

Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/program_images.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/program_images.html)

An APP image contains the final programs that run on QCC730. Due to the limited size of the RRAM, APP images are stored on the external flash. To		support OTA update, two APP regions are required on the flash.

	
### Function
				
An APP mainly includes functions such as WLAN, peripheral, and system.

	
### Image structure
				
Figure : APP image structure						<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export app_iamge_structure.svg Page-4 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" width="3.31771in" height="3.6753in" viewbox="0 0 238.875 264.622" xml:space="preserve" color-interpolation-filters="sRGB" class="st6"><style>.svg-3 .st1 { fill: #f7f8fa; stroke: #ffffff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-3 .st2 { fill: #dee3ec; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-3 .st3 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-3 .st4 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-3 .st5 { fill: #000000; font-family: Arial; font-size: 1.08334em; letter-spacing: normal }
.svg-3 .st6 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3; letter-spacing: normal }</style>
<g>	<title></title>	<g id="shape16-1" transform="translate(0.375,-0.375)">		<title></title>		<rect x="0" y="0.750003" width="238.125" height="263.872" rx="7.2" ry="7.2" class="st1"></rect>	</g>	<g id="shape2-3" transform="translate(18.8807,-20.0703)">		<title></title>		<rect x="0" y="38.7914" width="201.114" height="225.831" class="st2"></rect>	</g>	<g id="shape3-5" transform="translate(18.8731,-95.3421)">		<title></title>		<path d="M0 264.62 L201.13 264.62" class="st3"></path>	</g>	<g id="shape4-8" transform="translate(30.8176,-26.9077)">		<title></title>		<desc>RRAM code segment</desc>		<rect x="0" y="239.402" width="177.24" height="25.2199" class="st4"></rect>		<text x="26.84" y="255.91" class="st5">RRAM code segment</text>		</g>	<g id="shape5-11" transform="translate(30.8176,-214.261)">		<title></title>		<desc>ELF/PHR</desc>		<rect x="0" y="239.402" width="177.24" height="25.2199" class="st4"></rect>		<text x="61.17" y="255.91" class="st5">ELF/PHR</text>		</g>	<g id="shape6-14" transform="translate(30.8176,-101.849)">		<title></title>		<desc>RAM data segment</desc>		<rect x="0" y="239.402" width="177.24" height="25.2199" class="st4"></rect>		<text x="32.98" y="255.91" class="st5">RAM data segment</text>		</g>	<g id="shape9-17" transform="translate(18.8731,-132.899)">		<title></title>		<path d="M0 264.62 L201.13 264.62" class="st3"></path>	</g>	<g id="shape10-20" transform="translate(18.8731,-170.457)">		<title></title>		<path d="M0 264.62 L201.13 264.62" class="st3"></path>	</g>	<g id="shape11-23" transform="translate(18.8731,-208.014)">		<title></title>		<path d="M0 264.62 L201.13 264.62" class="st3"></path>	</g>	<g id="shape12-26" transform="translate(30.8176,-176.791)">		<title></title>		<desc>Hash segment</desc>		<rect x="0" y="239.402" width="177.24" height="25.2199" class="st4"></rect>		<text x="46.71" y="255.91" class="st5">Hash segment</text>		</g>	<g id="shape13-29" transform="translate(30.8176,-139.32)">		<title></title>		<desc>REGDB/CALDB segments</desc>		<rect x="0" y="239.402" width="177.24" height="25.2199" class="st4"></rect>		<text x="12.04" y="255.91" class="st5">REGDB/CALDB segments</text>		</g>	<g id="shape14-32" transform="translate(18.8731,-57.7848)">		<title></title>		<path d="M0 264.62 L201.13 264.62" class="st3"></path>	</g>	<g id="shape15-35" transform="translate(30.8176,-64.3785)">		<title></title>		<desc>RAM code segment</desc>		<rect x="0" y="239.402" width="177.24" height="25.2199" class="st4"></rect>		<text x="31.54" y="255.91" class="st5">RAM code segment</text>		</g></g>
</svg>

		
An APP ELF image includes the following segments according to the content:

- **Hash segment**: This segment includes the information for the image signature and hash value of each segment.
- **RRAM code segments**: These segments include sections of APP TXT running on RRAM.
- **RAM code/data segments**: These segments include sections of APP data, BSS, and TXT running on RAM. Running these sections on						RAM is based on performance considerations.
- **REGDB/CALDB segment**: This segment includes the WLAN					REGDB and CALDB.

	
### Memory layout for APP image
				
When an APP image runs, each segment of the image is loaded to the corresponding memory address according to its virtual address.

		
The code and data segments executed in RAM is loaded from flash to RAM, and the code executed in RRAM and				REGDB/CALDB are loaded to RRAM.

		
The following diagram illustrates the layout of each memory in detail.

		
Figure : Memory layout for APP						<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export app_memory_layout.svg Memory layout for APP -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" width="8.92448in" height="6.94271in" viewbox="0 0 642.562 499.875" xml:space="preserve" color-interpolation-filters="sRGB" class="st11"><style>.svg-4 .st1 { fill: #f7f8fa; stroke: #ffffff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-4 .st2 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-4 .st3 { fill: #000000; font-family: Arial; font-size: 1.08334em; font-weight: bold; letter-spacing: normal }
.svg-4 .st4 { fill: #ffffff; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-4 .st5 { fill: #dee3ec; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-4 .st6 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-4 .st7 { fill: #000000; font-family: Arial; font-size: 1.08334em; letter-spacing: normal }
.svg-4 .st8 { font-size: 1em; font-family: Arial; letter-spacing: normal }
.svg-4 .st9 { stroke: #4a5a75; stroke-dasharray: 12.25, 8.75; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75 }
.svg-4 .st10 { fill: none; stroke: #3253dc; stroke-dasharray: 6, 6; stroke-width: 2 }
.svg-4 .st11 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3; font-family: Arial; letter-spacing: normal }</style>
<g>	<title></title>	<g id="shape105-1" transform="translate(0.375,-0.375)">		<title></title>		<rect x="0" y="0.749996" width="641.812" height="499.125" rx="7.2" ry="7.2" class="st1"></rect>	</g>	<g id="shape1-3" transform="translate(32.818,-22.9803)">		<title></title>		<desc>RRAM</desc>		<rect x="0" y="476.731" width="120.959" height="23.1443" class="st2"></rect>		<text x="40.98" y="492.2" class="st3">RRAM</text>		</g>	<g id="shape2-6" transform="translate(270.697,-22.9803)">		<title></title>		<desc>Flash memory</desc>		<rect x="0" y="476.731" width="109.963" height="23.1443" class="st2"></rect>		<text x="10.91" y="492.2" class="st3">Flash memory</text>		</g>	<g id="group121-9" transform="translate(253.919,-49.5)">		<title></title>		<g id="shape122-10">			<title></title>			<rect x="0" y="420.934" width="137.254" height="78.9408" class="st4"></rect>		</g>	</g>	<g id="shape3-12" transform="translate(253.919,-89.2193)">		<title></title>		<rect x="0" y="118.738" width="137.252" height="381.137" class="st5"></rect>	</g>	<g id="shape4-14" transform="translate(253.914,-172.806)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape5-17" transform="translate(262.066,-123.916)">		<title></title>		<desc>APP_B</desc>		<rect x="0" y="476.731" width="120.959" height="23.1443" class="st2"></rect>		<text x="38.81" y="492.2" class="st3">APP_B</text>		</g>	<g id="shape7-20" transform="translate(262.066,-177.538)">		<title></title>		<desc>APP_A</desc>		<rect x="0" y="476.731" width="120.959" height="23.1443" class="st2"></rect>		<text x="38.81" y="492.2" class="st3">APP_A</text>		</g>	<g id="shape8-23" transform="translate(26.047,-51.0537)">		<title></title>		<rect x="0" y="190.929" width="137.262" height="308.946" class="st5"></rect>	</g>	<g id="shape15-25" transform="translate(34.1985,-157.178)">		<title></title>		<desc>APP</desc>		<rect x="0" y="476.731" width="120.959" height="23.1443" class="st2"></rect>		<text x="47.11" y="492.2" class="st3">APP</text>		</g>	<g id="shape37-28" transform="translate(253.915,-398.828)">		<title></title>		<rect x="0" y="427.328" width="137.252" height="72.5474" class="st4"></rect>	</g>	<g id="shape62-30" transform="translate(499.596,-22.9803)">		<title></title>		<desc>RAM</desc>		<rect x="0" y="476.731" width="109.963" height="23.1443" class="st2"></rect>		<text x="40.18" y="492.2" class="st3">RAM</text>		</g>	<g id="shape76-33" transform="translate(26.047,-286.359)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape77-36" transform="translate(26.047,-254.25)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape78-39" transform="translate(26.047,-186.434)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape79-42" transform="translate(26.0573,-208.514)">		<title></title>		<desc>RRAM code segment</desc>		<rect x="0" y="476.731" width="137.252" height="23.1443" class="st2"></rect>		<text x="6.85" y="492.2" class="st7">RRAM code segment</text>		</g>	<g id="shape80-45" transform="translate(26.047,-310.178)">		<title></title>		<desc>REGDB/CALDB segment</desc>		<rect x="0" y="476.731" width="137.262" height="23.1443" class="st2"></rect>		<text x="22.04" y="484.4" class="st7">REGDB/CALDB <tspan x="43.7" dy="1.2em" class="st8">segment</tspan></text>		</g>	<g id="shape81-49" transform="translate(26.0573,-254.25)">		<title></title>		<rect x="0" y="467.766" width="137.252" height="32.1089" class="st4"></rect>	</g>	<g id="shape82-51" transform="translate(26.0257,-49.5)">		<title></title>		<rect x="0" y="397.071" width="137.252" height="102.804" class="st4"></rect>	</g>	<g id="shape85-53" transform="translate(253.914,-366.266)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape86-56" transform="translate(253.914,-334.198)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape87-59" transform="translate(253.914,-302.13)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape88-62" transform="translate(253.914,-270.062)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape89-65" transform="translate(253.914,-237.994)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape90-68" transform="translate(253.914,-205.926)">		<title></title>		<path d="M0 499.87 L137.26 499.87" class="st6"></path>	</g>	<g id="shape92-71" transform="translate(262.066,-368.888)">		<title></title>		<desc>ELF</desc>		<rect x="0" y="476.731" width="120.959" height="23.1443" class="st2"></rect>		<text x="48.56" y="492.2" class="st7">ELF</text>		</g>	<g id="shape93-74" transform="translate(256.657,-336.89)">		<title></title>		<desc>Hash segment</desc>		<rect x="0" y="476.731" width="132.478" height="23.1443" class="st2"></rect>		<text x="24.33" y="492.2" class="st7">Hash segment</text>		</g>	<g id="shape94-77" transform="translate(256.657,-304.892)">		<title></title>		<desc>REGDB/CALDB segment</desc>		<rect x="0" y="476.731" width="132.478" height="23.1443" class="st2"></rect>		<text x="19.64" y="484.4" class="st7">REGDB/CALDB <tspan x="41.31" dy="1.2em" class="st8">segment</tspan></text>		</g>	<g id="shape95-81" transform="translate(256.657,-272.894)">		<title></title>		<desc>RAM data segment</desc>		<rect x="0" y="476.731" width="132.478" height="23.1443" class="st2"></rect>		<text x="10.6" y="492.2" class="st7">RAM data segment</text>		</g>	<g id="shape96-84" transform="translate(256.657,-240.897)">		<title></title>		<desc>RAM code segment</desc>		<rect x="0" y="476.731" width="132.478" height="23.1443" class="st2"></rect>		<text x="9.16" y="492.2" class="st7">RAM code segment</text>		</g>	<g id="shape97-87" transform="translate(256.657,-208.899)">		<title></title>		<desc>RRAM code segment</desc>		<rect x="0" y="476.731" width="132.478" height="23.1443" class="st2"></rect>		<text x="4.46" y="492.2" class="st7">RRAM code segment</text>		</g>	<g id="shape98-90" transform="translate(300.192,-340.89) rotate(15.8938)">		<title></title>		<path d="M0 499.87 L94.22 499.87" class="st9"></path>	</g>	<g id="shape99-93" transform="translate(77.5871,-278.954) rotate(-9.87427)">		<title></title>		<path d="M0 499.87 L91.97 499.87" class="st9"></path>	</g>	<g id="shape100-96" transform="translate(251.585,-246.394) rotate(10.1716)">		<title></title>		<path d="M0 499.87 L92.05 499.87" class="st9"></path>	</g>	<g id="shape101-99" transform="translate(58.1758,-175.253) rotate(-12.141)">		<title></title>		<path d="M0 499.87 L92.68 499.87" class="st9"></path>	</g>	<g id="shape103-102" transform="translate(145.135,-237.386) rotate(-29.4856)">		<title></title>		<path d="M0 499.87 L93.42 499.87" class="st9"></path>	</g>	<g id="shape102-105" transform="translate(253.919,-172.806)">		<title></title>		<path d="M0 499.87 L137.25 499.87 L137.25 274.08 L0 274.08 L0 499.87 Z" class="st10"></path>	</g>	<g id="shape104-107" transform="translate(668.286,-152.61) rotate(33.5631)">		<title></title>		<path d="M0 499.87 L96.69 499.87" class="st9"></path>	</g>	<g id="shape108-110" transform="translate(25.8742,-360)">		<title></title>		<rect x="0" y="388.5" width="137.252" height="111.375" class="st4"></rect>	</g>	<g id="shape75-112" transform="translate(26.047,-152.304)">		<title></title>		<path d="M0 499.87 L137.25 499.87 L137.25 292.18 L0 292.18 L0 499.87 Z" class="st10"></path>	</g>	<g id="group112-114" transform="translate(472.496,-51.6139)">		<title></title>		<g id="shape63-115">			<title></title>			<rect x="0" y="203.377" width="137.254" height="296.498" class="st5"></rect>		</g>		<g id="shape64-117" transform="translate(0,-217.642)">			<title></title>			<path d="M0 499.87 L137.25 499.87" class="st6"></path>		</g>		<g id="shape65-120" transform="translate(3.28492,-161.911)">			<title></title>			<desc>RAM data segment</desc>			<rect x="0" y="476.731" width="132.478" height="23.1443" class="st2"></rect>			<text x="7.73" y="492.2" class="st3">RAM data segment</text>			</g>		<g id="shape67-123" transform="translate(1.43733,-243.921)">			<title></title>			<desc>RAM code segment</desc>			<rect x="0" y="476.731" width="132.478" height="23.1443" class="st2"></rect>			<text x="5.92" y="492.2" class="st3">RAM code segment</text>			</g>		<g id="shape110-126" transform="translate(0,-296.498)">			<title></title>			<rect x="0" y="376.612" width="137.254" height="123.263" class="st4"></rect>		</g>	</g>	<g id="group120-128" transform="translate(472.496,-51.6139)">		<title></title>		<g id="shape111-129">			<title></title>			<rect x="0" y="368.993" width="137.254" height="130.882" class="st4"></rect>		</g>	</g></g>
</svg>

Last Published: Jun 03, 2026

[Previous Topic
QCC730 images and binaries](https://docs.qualcomm.com/bundle/publicresource/80-Y8730-2/topics/qcc730_images.md) [Next Topic
Configuration BIN binaries](https://docs.qualcomm.com/bundle/publicresource/80-Y8730-2/topics/configuration_bin_images.md)