idf framework v0.13 (30th oct 2001)
DESCRIPTION
IDF Framework V0.13 (30th Oct 2001). Rhapsody Generated Code. Rhapsody Generated Code. External Code. External Code. OXF Framework. RTOS. IDF Framework. CPU. CPU. O bject e X ecution F ramework. I nterrupt D riven F ramework. Requires a Real-Time Operating System. - PowerPoint PPT PresentationTRANSCRIPT
I-Logix Proprietary and Confidential
CPU
Exte
rnal
Code
RTOSOXF Framework
RhapsodyGenerated Code
CPUEx
tern
alCo
de
IDF Framework
RhapsodyGenerated Code
Requires a Real-Time Operating System
Needs no Operating System
IDF Framework V0.13 (30th Oct 2001)
• Interrupt Driven Framework
• Object eXecution Framework
I-Logix Proprietary and Confidential
Current Environments• Environments tested on target hardware
– Arm compiler + ARM7 • Environments running on a simulator
– Tasking compiler + C166 – Diab compiler + PowerPC 860
• Environments compiling and linking– Keil compiler + C166– Keil compiler + C51– Texas Instruments compiler + DSP TMS30C3x/4x– IAR compiler + H8– CAD-UL compiler + x86– PanaX compiler + MN10200
• Environments running with an OS (used just to generate a periodic timeout)– Microsoft Visual C++ compiler + Windows– Gnu compiler + VxWorks– Borland compiler + Windows
I-Logix Proprietary and Confidential
IDF Characteristics
• No need for an RTOS• Can be used with 16 bit compilers• Smaller code size between 5k and 11k
(depending on if the list/map/string/collection classes are used)
• Avoids using malloc / free (except if containers used)
• Entire framework in documented Rhapsody model• Most standard Rhapsody models can be run
using the IDF framework (as long as model does not use any OS features, ex: Tasks, Semaphores)
I-Logix Proprietary and Confidential
IDF Characteristics• Must create environment for compiler and
microprocessor (rough estimate : 1 days work)• Must implement three operations to disable /
enable interrupts and setup a periodic interrupt (rough estimate : 1 days work)
• Single task / thread• Animated is not supported on the target, this must
be done on the host using the OXF framework• IAR & Tasking compiler currently require a perl
script to automatically modify the Rhapsody generated code (this problem will be resolved in Rhapsody V4.0)
• Currently only Rhapsody in C (Preliminary version does exist in C++)
I-Logix Proprietary and Confidential
Generating C166 IDF
I-Logix Proprietary and Confidential
C166 IDF + CrossView Simulator
I-Logix Proprietary and Confidential
Generating Diab IDF
I-Logix Proprietary and Confidential
Diab IDF + SingleStep Simulator
I-Logix Proprietary and Confidential
Generating Arm IDF
I-Logix Proprietary and Confidential
Arm IDF + AXD Debugger
I-Logix Proprietary and Confidential
ARM Stopwatch model
+seconds : int+minutes : int
+Init()+evStartStop()+evReset()
Timer1
+print(int m,int s)
Display1
Button1
itsDisplay
1
itsTimer
1
idle
held
pressed
tm(200)tm(2000)/CGEN( me->itsTimer, evReset() );
[isReleased(me)]/CGEN( me->itsTimer, evStartStop() );
evPress
running
on>off>
tm(1000)/tick(me);
evStartStop
evStartStop
/reset(me);
evResetCode Size : 20k !
Including Stopwatch code, IDF Framework
and C Libraries.
Event evPress generated from
button ISR
I-Logix Proprietary and Confidential
Generating TI IDF for TMS30C3x/4x