03.08.2013 Views

AN4365, Qorivva MPC56xx Flash Programming Through Nexus/JTAG

AN4365, Qorivva MPC56xx Flash Programming Through Nexus/JTAG

AN4365, Qorivva MPC56xx Flash Programming Through Nexus/JTAG

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

; symbol SSD_CONFIG fields<br />

mm.l c90lcRegBase $C3F88000<br />

mm.l mainArrayBase $00000000<br />

mm.l shadowRowBase $00200000<br />

mm.l shadowRowSize $00004000<br />

mm.l pageSize C90FL_PAGE_SIZE_08<br />

mm.l BDMEnable $00000001<br />

; Initialize sum, failAddress, failData, failSource to 0s<br />

mm.l CallBack NULL_CALLBACK<br />

mm.l failAddress $0<br />

mm.l failData $0<br />

mm.l failSource $0<br />

mm.l sum $0<br />

mm.l blkLockEnabled $0<br />

mm.l blkLockState $0<br />

; fill buffer with all 0s<br />

BF source_start source_end 00<br />

; Load driver into RAM<br />

hload .\temp\<strong>Flash</strong>Init.sx<br />

hload .\temp\<strong>Flash</strong>Erase.sx<br />

hload .\temp\BlankCheck.sx<br />

hload .\temp\<strong>Flash</strong>Program.sx<br />

hload .\temp\ProgramVerify.sx<br />

hload .\temp\CheckSum.sx<br />

hload .\temp\GetLock.sx<br />

hload .\temp\SetLock.sx<br />

<strong>Qorivva</strong> <strong>MPC56xx</strong> <strong>Flash</strong> <strong>Programming</strong> <strong>Through</strong> <strong>Nexus</strong>/<strong>JTAG</strong>, Rev. 0<br />

Demo calling basic SSD functions<br />

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />

; procedures for SSD functions<br />

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />

; ===================== initialize SSD_CONFIG structure =========================<br />

; <strong>Flash</strong>Init<br />

; Pass input arguments<br />

R3 pSSDConfig<br />

; Set stack pointer<br />

R1 Addr_StackTop<br />

; Set PC<br />

PC Addr_<strong>Flash</strong>Init<br />

; Run<br />

go<br />

;======================= GetLock primary for low address space===============================;<br />

; Pass input arguments<br />

R3 pSSDConfig<br />

R4 LOCK_LOW_PRIMARY<br />

R5 blkLockEnabled<br />

R6 blkLockState<br />

; Set stack pointer<br />

R1 Addr_StackTop<br />

Freescale Semiconductor 38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!