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

IDF Framework V0.13 (30th Oct 2001)

  • Upload
    gerry

  • View
    61

  • Download
    5

Embed Size (px)

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

Citation preview

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