113 lines
3.1 KiB
Plaintext
113 lines
3.1 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: Example script for programming of PXA27x internal flash.
|
|
;
|
|
; @Description:
|
|
; Internal flash Memory:
|
|
; PXA270 no internal flash
|
|
; PXA271 32 MByte at 0x00000000--0x01ffffff (16 bit data bus)
|
|
; PXA272 64 MByte at 0x00000000--0x03ffffff (32 bit data bus)
|
|
; PXA273 32 MByte at 0x00000000--0x01ffffff (32 bit data bus)
|
|
;
|
|
; @Author: WRD
|
|
; @Copyright: (C) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; @Chip: PXA27*
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: pxa27x.cmm 10516 2022-02-02 11:39:30Z bschroefel $
|
|
; wrd - 21.10.2004
|
|
;
|
|
|
|
; --------------------------------------------------------------------------------
|
|
; Select target controlled flash programming or Trace32 tool based
|
|
; flash method:
|
|
; &flashtarget="yes" | "no"
|
|
; Target controlled flash algorithm will need RAM for the flash algorithm
|
|
; and for the data buffer.
|
|
&flashtarget="no"
|
|
IF "&flashtarget"=="yes"
|
|
&ramaddr=tbd
|
|
|
|
; --------------------------------------------------------------------------------
|
|
; Flash declaration
|
|
;
|
|
; Detect selected CPU to declare flash
|
|
&cpu=SYStem.CPU()
|
|
|
|
; Reset flash declaration
|
|
FLASH.RESet
|
|
IF "&cpu"=="PXA270"
|
|
(
|
|
; PXA270 does not have internal flash
|
|
ENDDO
|
|
)
|
|
IF "&cpu"=="PXA271"
|
|
(
|
|
; PXA271 internal flash
|
|
IF "&flashtarget"=="no"
|
|
(
|
|
FLASH.Create 1. 0x00000000--0x0001ffff 0x08000 I28F200K3 Word
|
|
FLASH.Create 1. 0x00020000--0x01ffffff 0x20000 I28F200K3 Word
|
|
)
|
|
ELSE
|
|
(
|
|
FLASH.Create 1. 0x00000000--0x0001ffff 0x08000 TARGET Word
|
|
FLASH.Create 1. 0x00020000--0x01ffffff 0x20000 TARGET Word
|
|
FLASH.TARGET &ramaddr &ramaddr+0x1000 0x1000 ~~/demo/arm/flash/word/i28f200k3.bin
|
|
)
|
|
)
|
|
IF "&cpu"=="PXA272"
|
|
(
|
|
; PXA272 internal flash
|
|
IF "&flashtarget"=="no"
|
|
(
|
|
FLASH.Create 1. 0x00000000--0x0003ffff 0x10000 I28F200K3 Long
|
|
FLASH.Create 1. 0x00040000--0x03ffffff 0x40000 I28F200K3 Long
|
|
)
|
|
ELSE
|
|
(
|
|
FLASH.Create 1. 0x00000000--0x0003ffff 0x10000 TARGET Long
|
|
FLASH.Create 1. 0x00040000--0x03ffffff 0x40000 TARGET Long
|
|
FLASH.TARGET &ramaddr &ramaddr+0x1000 0x1000 ~~/demo/arm/flash/long/i28f200k3.bin
|
|
)
|
|
)
|
|
IF "&cpu"=="PXA273"
|
|
(
|
|
; PXA273 internal flash
|
|
IF "&flashtarget"=="no"
|
|
(
|
|
FLASH.Create 1. 0x00000000--0x0003ffff 0x10000 I28F200K3 Long
|
|
FLASH.Create 1. 0x00040000--0x01ffffff 0x40000 I28F200K3 Long
|
|
)
|
|
ELSE
|
|
(
|
|
FLASH.Create 1. 0x00000000--0x0003ffff 0x10000 TARGET Long
|
|
FLASH.Create 1. 0x00040000--0x01ffffff 0x40000 TARGET Long
|
|
FLASH.TARGET &ramaddr &ramaddr+0x1000 0x1000 ~~/demo/arm/flash/long/i28f200k3.bin
|
|
)
|
|
)
|
|
|
|
; --------------------------------------------------------------------------------
|
|
; Example downloading an application to internal flash.
|
|
|
|
DIALOG.YESNO "Program flash memory?"
|
|
ENTRY &progflash
|
|
|
|
IF &progflash
|
|
(
|
|
; All sectors are locked after power-up and need to be unlocked to
|
|
; program any data to flash.
|
|
FLASH.UNLOCK ALL
|
|
|
|
; Erase flash
|
|
FLASH.Erase ALL
|
|
|
|
; Program flash
|
|
FLASH.Program.ALL
|
|
Data.LOAD.auto *
|
|
FLASH.Program.off
|
|
|
|
; If wanted, relock all sectors after programming
|
|
FLASH.LOCK ALL
|
|
)
|
|
|
|
ENDDO
|