IDF Framework V0.13 (30th Oct 2001)

12
I-Logix Proprietary and Confidential CPU External Code RTO S OXF Framework Rhapsody Generated Code CPU External Code IDF Framework Rhapsody Generated Code Requires a Real-Time Operating System Needs no Operating System IDF Framework V0.13 (30th Oct 2001) •Interrupt Driven Framework •Object eXecution Framework

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 Presentation

Transcript of IDF Framework V0.13 (30th Oct 2001)

Page 1: IDF Framework V0.13    (30th Oct 2001)

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

Page 2: IDF Framework V0.13    (30th Oct 2001)

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

Page 3: IDF Framework V0.13    (30th Oct 2001)

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)

Page 4: IDF Framework V0.13    (30th Oct 2001)

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++)

Page 5: IDF Framework V0.13    (30th Oct 2001)

I-Logix Proprietary and Confidential

Generating C166 IDF

Page 6: IDF Framework V0.13    (30th Oct 2001)

I-Logix Proprietary and Confidential

C166 IDF + CrossView Simulator

Page 7: IDF Framework V0.13    (30th Oct 2001)

I-Logix Proprietary and Confidential

Generating Diab IDF

Page 8: IDF Framework V0.13    (30th Oct 2001)

I-Logix Proprietary and Confidential

Diab IDF + SingleStep Simulator

Page 9: IDF Framework V0.13    (30th Oct 2001)

I-Logix Proprietary and Confidential

Generating Arm IDF

Page 10: IDF Framework V0.13    (30th Oct 2001)

I-Logix Proprietary and Confidential

Arm IDF + AXD Debugger

Page 11: IDF Framework V0.13    (30th Oct 2001)

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

Page 12: IDF Framework V0.13    (30th Oct 2001)

I-Logix Proprietary and Confidential

Generating TI IDF for TMS30C3x/4x