17.01.2015 Views

QDK PIC24/dsPIC-XC16 - Quantum Leaps

QDK PIC24/dsPIC-XC16 - Quantum Leaps

QDK PIC24/dsPIC-XC16 - Quantum Leaps

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>QDK</strong><br />

<strong>PIC24</strong>/<strong>dsPIC</strong>-<strong>XC16</strong><br />

www.state-machine.com/pic<br />

XC18 compiler, although the preemptive version requires special macros to be invoked upon entering and<br />

exiting ISRs.<br />

The interrupt locking policy is implemented very efficiently by means of the DISI instruction (see<br />

Section 3.2). As described in Section 8.2.3 of “<strong>PIC24</strong>F Family Reference Manual” [<strong>PIC24</strong> Ref], “The DISI<br />

instruction only disables interrupts with priority levels 1-6. Priority level 7 interrupts and all trap events still<br />

have the ability to interrupt the CPU when the DISI instruction is active.” This means that interrupts with<br />

IPL of 7 are never disabled and thus run with “zero interrupt latency”.<br />

NOTE: Obviously, true “zero interrupt latency” is technically impossible. The term means here that<br />

the NMI-level interrupt(s) execute with the minimal latency achievable in <strong>PIC24</strong>/<strong>dsPIC</strong> hardware and<br />

that no additional latency is added to the NMI-level interrupt(s) because of interrupt locking in QP.<br />

The use of NMI to achieve “zero interrupt latency” is explained in Section 5.<br />

1.5 What’s Included in the <strong>QDK</strong>-<strong>PIC24</strong>-<strong>dsPIC</strong><br />

This <strong>QDK</strong> provides the QP port for <strong>PIC24</strong> and <strong>dsPIC</strong> MCUs and two versions of the Dining Philosopher<br />

Problem (DPP) example for each processor (with the cooperative “vanilla” kernel and the preemptive QK<br />

kernel). The actual devices used for testing were: <strong>PIC24</strong>FJ64GB002 (<strong>PIC24</strong>) and <strong>dsPIC</strong>33FJ128MC<br />

(<strong>dsPIC</strong>).<br />

1.6 Licensing QP<br />

The Generally Available (GA) distribution of QP available for download from the www.statemachine.com/downloads<br />

website is offered with the following two licensing options:<br />

<br />

<br />

The GNU General Public License version 2 (GPL) as published by the Free<br />

Software Foundation and appearing in the file GPL.TXT included in the packaging of<br />

every <strong>Quantum</strong> <strong>Leaps</strong> software distribution. The GPL open source license allows<br />

you to use the software at no charge under the condition that if you redistribute the<br />

original software or applications derived from it, the complete source code for your<br />

application must be also available under the conditions of the GPL (GPL Section<br />

2[b]).<br />

One of several <strong>Quantum</strong> <strong>Leaps</strong> commercial licenses, which are designed for<br />

customers who wish to retain the proprietary status of their code and therefore cannot<br />

use the GNU General Public License. The customers who license <strong>Quantum</strong> <strong>Leaps</strong><br />

software under the commercial licenses do not use the software under the GPL and<br />

therefore are not subject to any of its terms.<br />

For more information, please visit the licensing section of our website at: www.statemachine.com/licensing.<br />

1.7 Licensing QM<br />

The QM graphical modeling tool available for download from the www.statemachine.com/downloads<br />

website is free to use, but is not open source. During the<br />

installation you will need to accept a basic End-User License Agreement (EULA),<br />

which legally protects <strong>Quantum</strong> <strong>Leaps</strong> from any warranty claims, prohibits removing<br />

any copyright notices from QM, selling it, and creating similar competitive products.<br />

Copyright © <strong>Quantum</strong> <strong>Leaps</strong>, LLC. All Rights Reserved.<br />

5 of 35

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!