Intel IXA SDK ACE Programming Framework - Department of ...
Intel IXA SDK ACE Programming Framework - Department of ...
Intel IXA SDK ACE Programming Framework - Department of ...
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