13.06.2015 Views

Intel IXA SDK ACE Programming Framework - Department of ...

Intel IXA SDK ACE Programming Framework - Department of ...

Intel IXA SDK ACE Programming Framework - Department of ...

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.

The Application Building Process<br />

6. Define the crosscalls with which <strong>ACE</strong>s and the manager program will communicate:<br />

a. Define crosscall interfaces in <strong>IXA</strong> IDL.<br />

b. Compile the interface definitions with the <strong>IXA</strong> IDL compiler tao_idl. This<br />

produces a set <strong>of</strong> C headers and source files that define crosscalls and crosscall<br />

references.<br />

c. Edit the generated crosscall source to define the call methods.<br />

d. If needed, edit the generated callback sources to define callbacks for asynchronous<br />

calls.<br />

For more information, see Chapter 11, “Communication Within an Application.”<br />

7. Implement initialization code for each <strong>ACE</strong> in C.<br />

a. Define an initialization function to create the <strong>ACE</strong> and its related objects<br />

(targets, sets, and so on). See “Creating <strong>ACE</strong>s” on page 22.<br />

b. Define methods and utility functions.<br />

c. Include the crosscall headers as needed (depending on whether the <strong>ACE</strong> is<br />

acting as a call server or call client). Initialize each crosscall interface in both<br />

the server and the client. See Chapter 11, “Communication Within an Application.”<br />

8. Create the <strong>ACE</strong> executable for each <strong>ACE</strong>.<br />

a. Compile the NCL code using nclcomp, then gcc.<br />

b. Compile the action, initialization, and crosscall code using gcc.<br />

c. Link the rules object, action object, initialization object, and crosscall objects<br />

using ld.<br />

You typically use a makefile to do this. For more information, see Chapter 3,<br />

“Compiling and Testing Applications.”<br />

9. Modify the startup script’s configuration file, ixsys.config:<br />

a. Specify and configure the ports you are using.<br />

b. Create and start the micro<strong>ACE</strong>s, specifying a microcode image for each type<br />

<strong>of</strong> port.<br />

c. Create and start the conventional <strong>ACE</strong>s, passing in a pointer to the single<br />

object executable.<br />

d. Bind targets and <strong>ACE</strong>s to determine packet flow in the application.<br />

e. Run the configuration scripts for any library <strong>ACE</strong>s you are using.<br />

For more information, see Chapter 4, “Configuring and Starting <strong>IXA</strong> Systems.”<br />

10. Create a runtime, downloading the application and operating system to IXP1200<br />

flash. For the development system:<br />

a. Open a remote shell to the IXDP1200 Advanced Development Platform from<br />

the Linux development workstation.<br />

b. Mount the workstation’s NFS directory on the IXP200.<br />

26 Elements <strong>of</strong> an Application<br />

Revision 3.3, August 2001

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

Saved successfully!

Ooh no, something went wrong!