29.01.2015 Views

AN QP and ARM7/9 - Quantum Leaps

AN QP and ARM7/9 - Quantum Leaps

AN QP and ARM7/9 - Quantum Leaps

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Application Note<br />

<strong>QP</strong> <strong>and</strong> <strong>ARM7</strong>/9<br />

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

| | | | | +-qep_<strong>ARM7</strong>TDMI.a – QEP library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qep_ARM966E-S.a – QEP library for ARM966E-S core<br />

| | | | | +-qf_<strong>ARM7</strong>TDMI.a – QF library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qf_ARM966E-S.a – QF library for ARM966E-Score<br />

| | | | | +-qk_<strong>ARM7</strong>TDMI.a – QK library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qk_ARM966E-S.a – QK library for ARM966E-S core<br />

| | | | +-rel/ – Release build<br />

| | | | | +-qep_<strong>ARM7</strong>TDMI.a – QEP library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qep_ARM966E-S.a – QEP library for ARM966E-S core<br />

| | | | | +-qf_<strong>ARM7</strong>TDMI.a – QF library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qf_ARM966E-S.a – QF library for ARM966E-S core<br />

| | | | | +-qk_<strong>ARM7</strong>TDMI.a – QK library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qk_ARM966E-S.a – QK library for ARM966E-S core<br />

| | | | +-spy/ – Spy build<br />

| | | | | +-qep_<strong>ARM7</strong>TDMI.a – QEP library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qep_ARM966E-S.a – QEP library for ARM966E-S core<br />

| | | | | +-qf_<strong>ARM7</strong>TDMI.a – QF library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qf_ARM966E-S.a – QF library for ARM966E-S core<br />

| | | | | +-qk_<strong>ARM7</strong>TDMI.a – QK library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qk_ARM966E-S.a – QK library for ARM966E-S core<br />

| | | | | +-qs_<strong>ARM7</strong>TDMI.a – QS library for <strong>ARM7</strong>TDMI core<br />

| | | | | +-qs_ARM966E-S.a – QS library for ARM966E-S core<br />

| | | | +-. . . – Other ARM core builds<br />

| | | | +-src/ – Platfom-specific source directory<br />

| | | | | +- qk_port.s – Platfom-specific source code for the port<br />

| | | | +-make_<strong>ARM7</strong>TDMI.bat – Batch script to build <strong>QP</strong> libraries for <strong>ARM7</strong>TDMI core<br />

| | | | +-make_ARM966E-S.bat – Batch script to build <strong>QP</strong> libraries for ARM966E-S core<br />

| | | | +-. . . – Batch scripts to build <strong>QP</strong> libraries for other ARM cores<br />

| | | | +-qep_port.h – QEP platform-dependent public include<br />

| | | | +-qf_port.h – QF platform-dependent public include<br />

| | | | +-qs_port.h – QS platform-dependent public include<br />

| | | | +-qp_port.h – <strong>QP</strong> platform-dependent public include<br />

Listing 1 Selected Directories <strong>and</strong> files of the <strong>QP</strong> after installing the ARM port. Directory <strong>and</strong> File<br />

names in bold indicate the elements included in the ARM port.<br />

2.1 Building the <strong>QP</strong> Libraries<br />

All <strong>QP</strong> components are deployed as libraries that you statically link to your application. The pre-built<br />

libraries for QEP, QF, QS, <strong>and</strong> QK are provided inside the \ports\ directory (see Listing 1).This<br />

section describes steps you need to take to rebuild the libraries yourself.<br />

NOTE: To achieve commonality among different development tools, <strong>Quantum</strong> <strong>Leaps</strong> software does not use the<br />

vendor-specific IDEs, such as the IAR Embedded Workbench IDE, for building the <strong>QP</strong> libraries. Instead, <strong>QP</strong> supports<br />

comm<strong>and</strong>-line build process based on simple batch scripts.<br />

The code distribution contains the batch file make_.bat for building all the libraries located in the<br />

\ports\arm\... directory. For example, to build the debug version of all the <strong>QP</strong> libraries for the<br />

<strong>ARM7</strong>TDMI core, with the IAR ARM compiler, QK kernel, you open a console window on a Windows PC,<br />

change directory to \ports\arm\qk\iar\, <strong>and</strong> invoke the batch by typing at the comm<strong>and</strong> prompt<br />

the following comm<strong>and</strong>:<br />

make_<strong>ARM7</strong>TDMI<br />

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

5 of 31

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

Saved successfully!

Ooh no, something went wrong!