02.03.2014 Views

Tornado

Tornado

Tornado

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.

1<br />

Overview<br />

1.2 Cross-Development with <strong>Tornado</strong><br />

1<br />

<strong>Tornado</strong> provides the optimal cross-development environment by ensuring the<br />

smallest possible difference between the target system during development and<br />

after deployment. This is accomplished by segregating the vast majority of the<br />

development facilities on the host system, while providing precise yet minimally<br />

intrusive access to the target. For all practical purposes, the facilities of the runtime<br />

and the development environment are independent of each other, regardless<br />

of the scale of the target application.<br />

With <strong>Tornado</strong>, you can use the cross-development host to manage project files, to<br />

edit, compile, link, and store real-time code, to configure the VxWorks operating<br />

system, as well as to run and debug real-time code on the target while under hostsystem<br />

control. To understand this environment more clearly, it is useful to outline<br />

the typical development process.<br />

The hardware in a typical development environment includes one or more<br />

networked development host systems and one or more embedded target systems.<br />

A number of alternatives exist for connecting the target system to the host, but<br />

usually the connection is either an Ethernet or serial link. If hardware or hardwarespecific<br />

code is not initially available, the integrated VxWorks target simulator can<br />

be used to begin application development.<br />

A typical host development system is fully equipped with large amounts of RAM<br />

and disk space, backup media, printers, and other peripherals. In contrast, a<br />

typical target system has only the resources required by the real-time application,<br />

and perhaps some small amount of additional resources for testing and<br />

debugging. The target may include no more than a CPU with on-chip RAM and a<br />

serial I/O channel (although connections with higher throughput are generally<br />

desirable).<br />

Application modules in C or C++ are compiled with the cross-compiler provided<br />

as part of <strong>Tornado</strong>. These application modules can draw on the VxWorks run-time<br />

libraries to accelerate application development. A fundamental advantage of the<br />

<strong>Tornado</strong> environment is that the application modules do not need to be linked with<br />

the run-time system libraries or even with each other. Instead, <strong>Tornado</strong> can load<br />

the relocatable object modules directly, using the symbol tables in each object<br />

module to resolve external symbol references dynamically. In <strong>Tornado</strong>, this symbol<br />

table resolution is done by the target server (which executes on the host).<br />

With <strong>Tornado</strong>, object-module sizes are considerably smaller during development,<br />

in contrast with other environments. This is because there is no requirement to link<br />

the application fully. This advantage provides important leverage in a crossdevelopment<br />

environment: the less data to be downloaded, the shorter the<br />

3

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

Saved successfully!

Ooh no, something went wrong!