Electronic Components Datasheet Search
  English  ▼
ALLDATASHEET.NET

X  

AN3156 Datasheet(PDF) 22 Page - STMicroelectronics

Part # AN3156
Description  USB DFU protocol used in the STM32 bootloader
PDF  26 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  STMICROELECTRONICS [STMicroelectronics]
Direct Link  http://www.st.com
Logo STMICROELECTRONICS - STMicroelectronics

AN3156 Datasheet(HTML) 22 Page - STMicroelectronics

Back Button AN3156 Datasheet HTML 18Page - STMicroelectronics AN3156 Datasheet HTML 19Page - STMicroelectronics AN3156 Datasheet HTML 20Page - STMicroelectronics AN3156 Datasheet HTML 21Page - STMicroelectronics AN3156 Datasheet HTML 22Page - STMicroelectronics AN3156 Datasheet HTML 23Page - STMicroelectronics AN3156 Datasheet HTML 24Page - STMicroelectronics AN3156 Datasheet HTML 25Page - STMicroelectronics AN3156 Datasheet HTML 26Page - STMicroelectronics  
Zoom Inzoom in Zoom Outzoom out
 22 / 26 page
background image
DFU_DNLOAD request commands
AN3156
22/26
DocID017068 Rev 4
The DFU Leave operation is effectively executed only when a DFU_GETSTATUS request is
issued by the host. If the status returned by the device is not dfuMANIFEST, then an error
has occurred. After this operation, the device performs the following:
•
it disconnects itself
•
it initializes the registers of the peripherals used by the bootloader to their default reset
values
•
it initializes the user application’s main stack pointer
•
it jumps to the memory location programmed in the received ‘address pointer + 4’,
which corresponds to the address of the application’s reset handler
For example if the received address is 0x0800 0000, the bootloader will jump to the
memory location programmed at address 0x0800 0004.
In general, the host should send the base address where the application to jump to is
programmed.
The address pointer has to be set (using the Set Address Pointer command) before
launching the Leave DFU routine, otherwise, the bootloader will jump to the default address
(internal Flash memory start address: 0x08000000).
The address pointer can also be set through the last Write Memory operation: if a download
operation is performed, the address pointer used for this download will be stored and used
later for the jump.
Note:
If the address pointer points to an address that does not contain executable code, then the
device is reset and, depending on the state of the boot pins, may re-enter the bootloader
mode.
Since the bootloader DFU application is not manifestation-tolerant, the device will not be
able to respond to host requests after a manifestation phase is completed.
A second DFU_GETSTATUS request may also be issued (if the device is still connected) to
check if the command has been correctly executed. If the device fails to execute the
command it returns an error status (depending on the error type).
Note:
1
The Jump to application works only if the user application sets the vector table correctly to
point to the application address.
2
When performing a jump from the bootloader to a loaded application code which uses the
USB IP, the user application has to disable all pending USB interrupts and reset the core
before enabling interrupts. Otherwise, a pending interrupt (issued from the bootloader code)
may interfere with the user code and cause a functional failure. This procedure is not
needed after exiting the system memory boot mode.



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com