Professional Documents
Culture Documents
cn
History
Help
Quick Search
For a flashless device this process starts on power on but also whenever you res
et the device with a mode reset command. This means the PST download process has
to be configured somehow to take place in the background.
The Sahara Protocol also supports memory debug, and it can can download a flash
programmer to a devices that use flash. We have not tested this on our side so
if you want to implement this in your tool we do not have any troubleshooting st
eps for this.
List of ICDs needed:
80-39912-1 Rev B for the Downloader Protocol
80-V5348-1 Streaming Download Protocol Specification
80-V1294-1 CDMA Dual-Mode Subscriber Station Serial Data
You may also need the other technology ICDs if your devices are based on CDMA, G
SM, WCDMA or UMTS technologies.
For non-MSM licensees, the ICDs require a license and an upfront fee. Please co
ntact your account manager in order to inquire about ICD licensing.
Software Download Protocol Implementation Tips
The implementation of the software download protocol is difficult and should be
attempted by someone that has done something like this before, because of the sl
iding window flow control and all the corner cases you have to consider. Assumin
g you have gotten far enough to where the AMSS image is being transferred, we as
sume you are using a window size of 1, which would account for the slow speed.
Using the 0x07 write command gets a bit complicated. The flash programmer uses a
"sliding window" type of flow control, similar to the way TCP uses a sliding wi
ndow for flow control. The "window size" returned by the "Hello" command gives y
ou the maximum window size.
You start with the window equal to the window size returned by "Hello". Every ti
me you send a block to the flash programmer with command 0x07 you decrease the w
indow by 1. Every time you get a reply to 0x07 you can increase the window by 1.
If the window reaches 0, you must stop sending new data until you get a reply t
hat increases the window size > 1. QPST uses one thread to write blocks and anot
her one to process the phone's replies.
Each reply contains the write address. What do you do if, based on monitoring th
e reply addresses, you notice a gap in the reply addresses? In other words, you
get replies for blocks 100, 200, 400 but not 300.
How do you handle the end of the sequence when you run out of data?
How do you handle the case where you have fewer blocks then the window size?
How do you handle the end of the sequence when you discover a missing reply?
How do you handle timeouts where you don't get a reply to a write at all? What i
f the last block written times out?
... possibly other conditions...
Factory Image software download implementation
To implement the factory image, you should use the Open Packet command 0x13 with
a Mode of 0x04. To close the downloader use command 0x15. You can use the same
stream write command (0x07) to write the blocks as you use for multi-image downl
oad.
Not all packets during the download begin with flag 0x7E
The packet always has to end with 0x7E. You can look backwards in the data strea
m to the byte following the previous 0x7E to find the start of the packet.
Starting a packet with 0x7E is optional in the Qualcomm version of HDLC. For mor
e information, refer to document 80-39912-1 for the Downloader Protocol
payload max
length
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
through } reserved
0x1F
}
0x20
no
n/a
NOR+MoviNAND MBR
value.
same CRC that is used for any other command. Th
the FCS, it uses a CRC polynomial. If you must
used in the serial port code in AMSS is what we
If you're sending a command you calculate the CRC over the command bytes, and ap
pend the CRC to the end of the command. Then you HDLC-encode the command+CRC and
append 0x7E to the end.
Programming devices with a blank flash
For devices with a blank flash (i.e. 8960) you don t need the supplement document, j
ust the 80-39912-1 and 80-V5348-1 documents. From the point of view of programmi
ng flash, the commands for blank/non-blank flash are the same. You just need to
load the emergency flash programmer hex file (using the protocol in 80-39912-1)
for the blank flash case.
Keep in mind that for blank flash download mode is implemented in the PBL (in th
e chip s ROM), and for non-blank download mode is implemented in the boot code. If y
ou want to tell the difference, in the Memory Dump send the "Get Regions" comman
d. It will NAK in PBL but should return data in the boot code.
Documents needed to develop a PST-like toolIf you have an ICD agreement you shou
ld have access to the necessary documents posted on the download website. If yo
u do, here are some pointers. You should start with the DMSS ICD (80-V1294-1) si
nce it discusses the basic command structure, how to set a m...
80-V5348-1_J_Streaming_DLoad_ProtocolRevision: JType: pdfSize: 541015
STREAMING DOWNLOAD PROTOCOL SPECIFICATION
First Prev Results 1 to 4 of 4Next
2010 - 2012 QUALCOMM Inc. All rights reserved.
Export of this technology may be controlled by the United States government. Div
ersion contrary to US law is prohibited.