The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers.    


Datasheet Search Engine   
 
Part # or Description: • 5V RS232 Driver • 2SC5066* • "Real Time Clock" • "USB connector" • "blue led" 5mm • 10 watt zener diode • 2N3055* motorola
 
Search Tip: Try entering the part number only. Include a wildcard (eg. lm317* or 1n4148*)

 

 

Note 102: Using High-Speed Microcontroller Bootstrap Loader This


Datasheet Thumbnail

  

Download PDF



Top Searches for this datasheet



Application Note 577: 2001
Note 102: Using High-Speed Microcontroller Bootstrap Loader
This application note highlights Dallas Semiconductor High-Speed Microcontroller bootstrap loader. Example shows DS87C520 DS87C530 conjunction with 29F010 flash memory bootloader configuration.
Overview
Some members High-Speed Microcontroller Family incorporate internal EPROM program storage. Some applications, however, require in-system reprogrammablility program memory. Such system easily implemented using Dallas Semiconductor High-Speed Microcontroller with internal program memory reload external nonvolatile memory such Flash memory RAM. Using internal program memory bootloader allows lower cost solution than could obtained using device with internal program memory costly boot-block Flash memory. most common bootloader configuration incorporates elements: microcontroller programmed with bootstrap loader, bootloader, external memory device such Flash memory hold user application software. When system resets following power-on external reset, will begin executing instructions microcontroller's internal program memory. bootloader code inside microcontroller begins checking "loader/no-loader"; stimulus such logic specific port pin, serial port character, etc. This allows system decide should load user program execution should begin using existing user program. stimulus received, indicating that load desired, device will disable internal program memory ROMSIZE feature begin execution from external memory. stimulus present, device will execute bootloader routine begin reprogramming external memory. This application note will provide examples designer external Flash insystem reprogrammability High-Speed Microcontroller based design. General hardware software design guidelines presented. Software examples support techniques described herein available electronic format from Dallas Semiconductor anonymous site (Internet) BBS.
Invoking Bootloader
There several ways invoke loader. simplest dedicate general purpose sampled part reset routine contained inside High-Speed Microcontroller. examples this application note utilize P1.7, INT5, because least likely interfere with existing 8051 code designs. Following reset, device will begin executing code from internal EPROM. internal program will perform quick test determine loader should invoked. Because this defaults high state after reset, recommended that condition this used signal invoke loader. Using interrupt also allows device invoke loader times other than reset interrupt service routine. method used assert logic simple dedicated switch, more complicated connection RS232 cable from host that pulls when connected. alternate method involves using serial port invoke bootstrap loader. Upon reset, device continuously poll serial port character. character received specified period time, program will exit loader begin execution from external memory. This approach advantage requiring general purpose port pin. primary disadvantage that device will experience fixed delay every time reset before running user application.
www.maxim-ic.com/an577 Page
Exiting Bootloader
After loading software external memory, loader operation desired, system will need exit loader begin execution from external program memory. ROMSIZE feature provides fast convenient this. ROMSIZE register allows software "turn off"; internal program memory force program execution externally, similar pulling EA-bar low. software should then execute LJMP reset vector 0000h. ROMSIZE register must modified from external memory location that outside memory range internal memory. example, DS87C520 contains 16KB EPROM. instruction modify ROMSIZE register should located external memory address 4000h greater. Failure this could result code execution failure memory switched middle instruction. simplest this short routine (~16 bytes) high memory. 64-kB memory space used, this could FFF0h. This offers least chance interfering with user application code. Upon completion loader routine, software will jump external memory (location FFF0h this example), modify ROMSIZE register disable internal program memory, then jump location 0000h. This simulates reset user application code. important include other dummy instruction following modification ROMSIZE register allow machine cycle memory select circuitry disable internal program memory. following routine suggested: CSEG 0FFF0h #0AAh #55h ROMSIZE, LJMP 0000h
Bootloader Software
There many different features that included bootloader, which vary depending specific memory device used. general, these should include load, verify, commands. Flash memory devices will require chip erase commands, find fill command useful. Figure illustrates basic operation bootloader program. software begins checking signal start loader. present, device performs user-requested bootloader functions. When complete, loader stimulus detected, device will jump location FFF0h, modify ROMSIZE register disable internal EPROM, jump back restart vector. This simulates device beginning execution address 0000h following reset. sample bootloader High-Speed Microcontroller family available from Dallas Semiconductor. assembly language source file HSM_LOAD.ASM incorporates optional include files support several different memory types, including Flash RAM. following list some commands that supported: Load Intel file memory Verify file against memory Erase chip (Flash only) Fill range memory with data only) Calculate Modify read port values Dump memory contents Intel format Exit loader
www.maxim-ic.com/an577 Page
Figure Bootloader Flowchart
Hardware
Figure illustrates 29F010 5.0V-only Flash memory part bootloader design. Although this configuration designed compatible with software presented file HSM_LOAD.ASM, easily adapted other Flash memory devices. Some flash memory devices such 28Fxxx series require external programming. Designs which incorporate these devices will need include voltage source. Although 29F010 128-kB device, this example only uses tying address line low. This will effect Flash memory command functions most devices designed ignore during their programming algorithms. A16, connect unused general purpose port pin. aware that port pins will default logic high state, selecting upper Flash memory. inverter used between port Flash device have select lower power-up. This will simplify code placement. "P"; command bootloader used manipulate Flash memory during loading process load both upper lower 64-kB banks device. More information www.maxim-ic.com/an577 Page
bank switching found Application Note Memory Expansion with High-Speed Microcontroller Family.
Figure Bootloader Hardware
Using with Bootloader
several advantages when used bootloader design. does require complicated byte programming algorithm, making much faster program. Both data program stored same chip, reducing board space while gaining advantage data nonvolatility. RAMs with internal partitioning, such Dallas Semiconductor DS1630 Partitionable 256k SRAM DS1645 Partitionable 1024k SRAM, prevents accidental code corruption. Optional include modules available HSM_LOAD.ASM file support many Dallas Semiconductor products.
Addendum Revision Devices
DS87C520 DS87C530 devices revision earlier incorporate errata pertaining PSEN-bar signal that requires minor change above hardware. these devices, PSEN-bar signal toggles regardless whether device operating from internal external program memory. This will cause conflict during writes Flash memory device. Figure illustrates temporary workaround. This configuration places restriction that load signal P1.7 must removed before beginning operation from external memory. This minor point, most applications will program Flash memory separate step, reset device, then begin operation. This erratum will corrected later revisions devices.
Figure Bootloader Hardware DS87C520/DS87C530 Revision MORE INFORMATION DS87C520: QuickView DS87C530: QuickView www.maxim-ic.com/an577 Page Full (PDF) Data Sheet (1.8M) Full (PDF) Data Sheet (1.8M) Free Sample Free Sample

Other recent searches


VCS25AXT - VCS25AXT   VCS25AXT Datasheet
TPCP8003-H - TPCP8003-H   TPCP8003-H Datasheet
SN74GTLP817 - SN74GTLP817   SN74GTLP817 Datasheet
P3257 - P3257   P3257 Datasheet
P3981 - P3981   P3981 Datasheet
P2750 - P2750   P2750 Datasheet
NDR360 - NDR360   NDR360 Datasheet
L4964 - L4964   L4964 Datasheet
ENN6682 - ENN6682   ENN6682 Datasheet
DG4157 - DG4157   DG4157 Datasheet

 

Privacy Policy | Disclaimer
© 2012 Datasheet Archive