Datasheet

4D SYSTEMS DIABLO16 Processor
© 2014 4D SYSTEMS Page 20 of 33 www.4dsystems.com.au
DIABLO16 PROCESSOR
FLASH Storage and RAM allocation 6.1.
The figure below illustrates how the FLASH and
RAM are allocated in the System, and what is
available for use by the system and by the user.
Each area is explained in the sections following.
Loading of the PmmC, Display Driver and User
Applications into their various places on the
DIABLO16 processor, is achieved using the
Workshop4 IDE.
If a script for batch loading of the PmmC, Display
Driver and/or User Applications without the use of
the Workshop4 is required, there is a script utility
available.
Please refer to the Application Notes section of the
4D Systems website for information on this
process.
PmmC Loader + Internal Functions 6.2.
PmmC (Personality Module Micro-Code) - this is
the operating system, incorporating the EVE
runtime (Extensible Virtual Engine) which has an
extensive byte-code instruction set programmed
via the Workshop4 Software IDE.
The PmmC Loader can be thought of like a
bootloader, and allows the transfer of a PmmC
from the Users’ PC into the System Flash storage
on the DIABLO16 processor.
Within the PmmC are over 450 built in functions
for graphics, sound, math functions etc, no need
to include libraries, or wait for hefty compile times
it’s all built in.
The PmmC is in protected memory, and cannot be
read or damaged by inadvertent writes to illegal
FLASH areas.
The PmmC may be upgraded at any time without
disturbing any programs that may already exist in
the 6 FLASH banks.
Display Driver 6.3.
The DIABLO16 is capable of interfacing with many
different types of display devices. The DIABLO16
has been designed more the maximum flexibility
possible and therefore the Display Driver is
modular, and replaceable, and separate from the
PmmC.
The Display Driver may be upgraded at any time
without disturbing any applications or data which
may exist in the 6 FLASH banks, or the PmmC.
User FLASH Memory Banks 6.4.
The DIABLO16 processor has 6 banks (Bank0 to
Bank5) of Flash memory which can be utilised by
the user to store application code or data, to be
used by the display or stored for sending to an
external device over comms.
Each of the 6 banks is 32750 bytes in size, which
provides over 12x the Flash capacity of the PICASO
processor.
When a user’s application is written to the Flash of
the DIABLO16 from the Workshop4 IDE Software,
the user is able to choose the destination bank for
the application to be stored in.
Bank0 is always the bank which is loaded on start-
up of the DIABLO16. The bank0 application can
then transfer control over to one of the other
banks, and the application stored in there will then
run. This is achieved using the 4DGL flash_Run()
function. Applications can freely change banks as
required using this function, however a separate
application (or Data) is required to reside in each
bank, a single application cannot take up more
than 1 bank itself. When an application from
another bank is run using the flash_Run() function,
the processor is restarted and the execution from
the other bank is started.
An application in one bank can store data in
another bank using 4DGL commands such as: