mirror of
https://github.com/elua/elua.git
synced 2025-01-08 20:56:17 +08:00
Completely updated and corrected the "tutorials" sections, now it contains information about how to build toolchains using the latest versions of gcc/newlib/binutils. Other minor fixes in
the documentation.
This commit is contained in:
parent
709399a324
commit
da05fc6f2f
@ -1,17 +1,15 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
|
||||
<html><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Product</title>
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Building GCC for i386</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style.css"></head>
|
||||
<body style="background-color: rgb(255, 255, 255);"><h3><a name="title" href="http://www.eluaproject.net/en/Building_GCC_for_i386" class="local">Building GCC for i386</a></h3>
|
||||
|
||||
<div class="content">
|
||||
|
||||
<body style="background-color: rgb(255, 255, 255);">
|
||||
<h3>Building GCC for i386</h3>
|
||||
<p>At first, the idea of an i386 "cross" compiler under Linux seems
|
||||
strange. After all, you're already running Linux on a i386 compatible
|
||||
architecture. But the compiler is sometimes tied in misterious ways
|
||||
with the operating system it's running on (see for example <a href="http://wiki.osdev.org/GCC_Cross-Compiler">this page</a>
|
||||
with the operating system it's running on (see for example <a htarget="_blank" ref="http://wiki.osdev.org/GCC_Cross-Compiler">this page</a>
|
||||
for some possible symptoms). And after all, you want to use Newlib, not
|
||||
libc, and to customize your development environment as much as
|
||||
possible. This tutorial will show you how to do that.</p>
|
||||
@ -21,182 +19,66 @@ GCC/newlib/binutils compilation process. I'm sure that there are better
|
||||
ways to accomplish what I'm describing here, however I just wanted a
|
||||
quick and dirty way to build a toolchain, I have no intention in
|
||||
becoming too intimate with the build process. If you think that what I
|
||||
did is wrong, innacurate, or simply outrageously ugly, feel free to <a href="http://www.giga.puc-rio.br/cgi-bin/elua.cgi?p=Contact">contact me</a> and I'll make the necessary corrections. And of course, this tutorial comes without any guarantees whatsoever.</strong></p>
|
||||
did is wrong, innacurate, or simply outrageously ugly, feel free to
|
||||
<a href="overview.html#contacts">contact us</a> and I'll make the necessary corrections.
|
||||
And of course, this tutorial comes without any guarantees whatsoever.</strong></p>
|
||||
|
||||
<h2>› Prerequisites</h2>
|
||||
<h2>Prerequisites</h2>
|
||||
<p>To build your toolchain you'll need:</p>
|
||||
|
||||
<ul><li>a computer running Linux: I use Ubuntu 8.04, but any Linux
|
||||
will do as long as you know how to find the equivalent of "apt-get" for
|
||||
your distribution. I won't be going into details about this, google it
|
||||
and you'll sure find what you need. It is also assumed that the Linux
|
||||
system already has a "basic" native toolchain installed (gcc/make and
|
||||
related). This is true for Ubuntu after installation. Again, you might
|
||||
need to check your specific distribution.</li><li>GNU binutils: get it from <a href="http://ftp.gnu.org/gnu/binutils/">here</a>.
|
||||
At the moment of writing this, the latest versions is 2.18, which for
|
||||
some weird reason refuses to compile on my system, so I'm using 2.17
|
||||
instead.</li><li>GCC: version 4.3.0 or newer is recommended. As
|
||||
I'm writing this, the latest GCC version is 4.3.1 which I'll be using
|
||||
for this tutorial. Download it from <a href="http://gcc.gnu.org/mirrors.html">here</a> after choosing a suitable mirror.</li><li>Newlib: as I'm writing this, the latest official Newlib version is 1.16.0. Download it from the <a href="ftp://sources.redhat.com/pub/newlib/index.html">Newlib FTP directory</a>.</li><li>Also,
|
||||
the tutorial assumes that you're using bash as your shell. If you use
|
||||
something else, you might need to adjust some shell-specific commands. </li></ul>
|
||||
|
||||
|
||||
<p>Also, you need some support programs/libraries in order to compile the toolchain. To install them:</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ sudo apt-get install flex bison libgmp3-dev libmpfr-dev autoconf texinfo</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><b>GNU binutils</b>: as I'm writing this, the latest binutils version is 2.19.1, which
|
||||
I'll be using in this tutorial. get it from <a target="_blank" href="http://ftp.gnu.org/gnu/binutils/">here</a>.</li>
|
||||
<li><b>GCC</b>:as I'm writing this, the latest GCC version is
|
||||
4.3.3, which I'll be using for this tutorial. Download it from <a target="_blank" href="http://gcc.gnu.org/mirrors.html">here</a> after choosing a suitable mirror.</li>
|
||||
<li><b>Newlib</b>: as I'm writing this, the latest official Newlib version is 1.17.0, which I'll be using for this tutorial.
|
||||
Download it from <a target="_blank" href="ftp://sources.redhat.com/pub/newlib/index.html">here</a>.</li>
|
||||
<li>The tutorial assumes that you're using bash as your shell. If you use
|
||||
something else, you might need to adjust some shell-specific commands. </li></ul></p>
|
||||
<p>You need some support programs/libraries in order to compile the toolchain. To install them:</p>
|
||||
<p><pre><code>$ sudo apt-get install flex bison libgmp3-dev libmpfr-dev autoconf texinfo build-essential</code></pre></p>
|
||||
<p>Next, decide where you want to install your toolchain. They
|
||||
generally go in /usr/local/, so I'm going to assume
|
||||
/usr/local/cross-i686 for this tutorial. To save yourself some typing,
|
||||
set this path into a shell variable:</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ export TOOLPATH=/usr/local/cross-i686</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
generally go in <i>/usr/local/</i>, so I'm going to assume
|
||||
<i>/usr/local/cross-i686</i> for this tutorial. To save yourself some
|
||||
typing, set this path into a shell variable:</p>
|
||||
<p><pre><code>$ export TOOLPATH=/usr/local/cross-i686</code></pre></p>
|
||||
|
||||
<h2>› Step 1: binutils</h2>
|
||||
|
||||
<p>This is the easiest step: unpack, configure, build.</p>
|
||||
|
||||
<p><br></p>
|
||||
<p><pre><code>$ tar -xvjf binutils-2.19.1.tar.bz2
|
||||
$ cd binutils-2.19.1
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --target=i686-elf --prefix=$TOOLPATH --with-gnu-as --with-gnu-ld --disable-nls
|
||||
$ make all
|
||||
$ sudo make install
|
||||
$ export PATH=${TOOLPATH}/bin:$PATH
|
||||
$ cd ../..</code></pre></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th style="text-align: left;">$ tar -xvjf binutils-2.17.tar.bz2</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd binutils-2.17</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ mkdir build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ ../configure --target=i686-elf --prefix=$TOOLPATH --with-gnu-as --with-gnu-ld --disable-nls</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make all</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ export PATH=${TOOLPATH}/bin:$PATH</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
<p>Now you have your i386 "binutils" (assembler, linker, disassembler ...) in your PATH. </p>
|
||||
|
||||
|
||||
|
||||
|
||||
<p>Now you have your i386 "binutils" (assembler, linker, disassembler ...) in your PATH.</p>
|
||||
<h2>› Step 2: basic GCC</h2>
|
||||
<h2>Step 2: basic GCC</h2>
|
||||
|
||||
<p>In this step we build a "basic" GCC (that is, a GCC without any
|
||||
support libs, which we'll use in order to build all the libraries for
|
||||
our target). But first we need to make a slight modification in the
|
||||
configuration files. Out of the box, the GCC 4.3.1/newlib combo won't
|
||||
compile properly, giving a very weird "Link tests are not allowed after
|
||||
GCC_NO_EXECUTABLES" error. After a bit of googling, I found the
|
||||
solution for this:</p>
|
||||
our target). Let's compile it (and note that the install step is
|
||||
a bit different from Newlib's):</p?
|
||||
|
||||
<p><br></p>
|
||||
<p><pre><code>$ tar -xvjf gcc-4.3.3.tar.bz2
|
||||
$ cd gcc-4.3.3
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --target=i686-elf --prefix=$TOOLPATH --enable-languages="c,c++" --with-newlib --without-headers --disable-shared --with-gnu-as --with-gnu-ld
|
||||
$ make all-gcc
|
||||
$ sudo -s -H
|
||||
# export PATH=/usr/local/cross-i686/bin:$PATH
|
||||
# make install-gcc
|
||||
# exit
|
||||
$ cd ../..</code></pre></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ tar -xvjf gcc-4.3.1.tar.bz2</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd gcc-4.3.1/libstdc++-v3</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ joe configure.ac</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
|
||||
<p>I'm using "joe" here as it's my favourite Linux text mode editor,
|
||||
you can use any other text editor. Now find the line which says
|
||||
"AC_LIBTOOL_DLOPEN" and comment it out by adding a "#" before it: </p>
|
||||
|
||||
<pre><code> # AC_LIBTOOL_DLOPEN<br></code></pre>
|
||||
|
||||
<p>Save the modified file and exit the text editor</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ autoconf</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd ..</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
<p>Great, now we know it will compile, so let's do it:</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ mkdir build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$
|
||||
../configure --target=i686-elf --prefix=$TOOLPATH
|
||||
--enable-languages="c,c++" --with-newlib --without-headers
|
||||
--disable-shared --with-gnu-as --with-gnu-ld
|
||||
</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make all-gcc</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install-gcc</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<p>On my system, the last line above (sudo make install-gcc) terminated
|
||||
with errors, because it was unable to find our newly compiled binutils.
|
||||
If this happens for any kind of "make install" command, this is a quick
|
||||
way to solve it:</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ sudo -s -H</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<pre><code> # export PATH=/usr/local/cross-i686/bin:$PATH<br> # make install-gcc<br> # exit<br></code></pre>
|
||||
|
||||
|
||||
<h2>› Step 3: Newlib</h2>
|
||||
<h2>Step 3: Newlib</h2>
|
||||
|
||||
<p>Once again, Newlib is as easy as unpack, configure, build. But I
|
||||
wanted my library to be as small as possible (as opposed to as fast as
|
||||
@ -204,78 +86,44 @@ possible) and I only wanted to keep what's needed from it in the final
|
||||
executable, so I added the "-ffunction-sections -fdata-sections" flags
|
||||
to allow the linker to perform dead code stripping:</p>
|
||||
|
||||
<p><br></p>
|
||||
<p><pre><code>$ tar -xvzf newlib-1.17.0.tar.gz
|
||||
$ cd newlib-1.17.0
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --target=i686-elf --prefix=$TOOLPATH --disable-newlib-supplied-syscalls --with-gnu-ld --with-gnu-as --disable-shared
|
||||
$ make CFLAGS_FOR_TARGET="-ffunction-sections -fdata-sections -DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__ -Os -fomit-frame-pointer -D__BUFSIZ__=256"
|
||||
$ sudo -s -H
|
||||
# export PATH=/usr/local/cross-i686/bin:$PATH
|
||||
# make install
|
||||
# exit
|
||||
$ cd ../..</code></pre></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ tar xvfz newlib-1.16.0.tar.gz</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd newlib-1.16.0</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ mkdir build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$
|
||||
../configure --target=i686-elf --prefix=$TOOLPATH
|
||||
--disable-newlib-supplied-syscalls --with-gnu-ld --with-gnu-as
|
||||
--disable-shared</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make
|
||||
CFLAGS_FOR_TARGET="-ffunction-sections
|
||||
-fdata-sections -D__PREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__ -Os
|
||||
-fomit-frame-pointer -D__BUFSIZ__=256"</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
<p>Some notes about the flags used in the above sequence:
|
||||
|
||||
<ul>
|
||||
<li><code>--disable-newlib-supplied-syscalls</code>: this deserves a page of its own, but I won't cover it here. For an explanation, see for example
|
||||
<a target="_blank" href="http://openhardware.net/Embedded_ARM/NewLib_Stubs/">this page</a></li>
|
||||
<li><code>-DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__</code>: compile Newlib for size, not for speed (these are Newlib specific).</li>
|
||||
<li><code>-Os -fomit-frame-pointer</code>: tell GCC to optimize for size, not for speed.</li>
|
||||
<li><code>-D__BUFSIZ__=256</code>: again Newlib specific, this is the buffer size allocated by default for files opened via fopen(). The default is 1024, which I find too much
|
||||
for <b>eLua</b>, so I'm using 256 here. Of course, you can change this value.</li></ul></p>
|
||||
|
||||
|
||||
<p>Some notes about the flags used in the above sequence:</p>
|
||||
|
||||
<ul><li><code>--disable-newlib-supplied-syscalls:</code> this deserves a page of its own, but I won't cover it here. For an explanation, see for example <a href="http://openhardware.net/Embedded_ARM/NewLib_Stubs/">this page</a>.</li><li><code>-D__PREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__:</code> compile Newlib for size, not for speed (these are Newlib specific).</li><li><code>-Os -fomit-frame-pointer:</code> tell GCC to optimize for size, not for speed.</li><li><code>-D__BUFSIZ__=256:</code>
|
||||
again Newlib specific, this is the buffer size allocated by default for
|
||||
files opened via fopen(). The default is 1024, which I find too much
|
||||
for an eLua, so I'm using 256 here. Of course, you can change this
|
||||
value.</li></ul>
|
||||
|
||||
|
||||
<h2>› Step 4: full GCC</h2>
|
||||
<h2>Step 4: full GCC</h2>
|
||||
|
||||
<p>Finally, in the last step of our tutorial, we complete the GCC
|
||||
build. In this stage, a number of compiler support libraries are built
|
||||
(most notably libgcc.a). Fortunately this is simpler that the Newlib
|
||||
compilation step:</p>
|
||||
|
||||
<p><pre><code>$ cd gcc-4.3.3/build
|
||||
$ make all
|
||||
$ sudo make install
|
||||
</code></pre></p>
|
||||
|
||||
<p><br></p>
|
||||
<h2>Step 5: all done!</h2>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ cd gcc-4.3.1/build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make all</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2>› Step 5: all done!</h2>
|
||||
|
||||
<p>Now you can finally enjoy your i386 toolchain, and compile eLua with
|
||||
it :) After you do, you'll be able to boot eLua directly on your PC, as
|
||||
described <a href="http://www.giga.puc-rio.br/cgi-bin/elua.cgi?p=Booting_your_PC_in_eLua">here</a>, but you won't need to download the ELF file from the eLua project page, since you just generated it using your own toolchain!
|
||||
If you need further clarification, or if the above instructions didn't work for you, feel free to <a href="http://www.giga.puc-rio.br/cgi-bin/elua.cgi?p=Contact">contact me</a>.</p>
|
||||
</div></body></html>
|
||||
<p>Now you can finally enjoy your i386 toolchain, and compile <b>eLua</b> with
|
||||
it :) After you do, you'll be able to boot <b>eLua</b> directly on your PC, as
|
||||
described <a href="tut_bootpc.html">here</a>, but you won't need to download the ELF file from the <b>eLua</b> project page, since you just generated it using your own toolchain!
|
||||
If you need further clarification, or if the above instructions didn't work for you, feel free to <a href="overview.html#contacts">contact us</a>.</p>
|
||||
</body></html>
|
||||
|
@ -1,232 +1,94 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
|
||||
<html><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Product</title>
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Building GCC for ARM</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style.css"></head>
|
||||
<body style="background-color: rgb(255, 255, 255);"><h3><a name="title" href="http://www.eluaproject.net/en/Building_GCC_for_ARM" class="local">Building GCC for ARM</a></h3>
|
||||
|
||||
<div class="content">
|
||||
<body style="background-color: rgb(255, 255, 255);">
|
||||
<h3>Building GCC for ARM</h3>
|
||||
|
||||
<p> This tutorial explains how you can create a GCC+Newlib toolchain
|
||||
that can be used to compile programs for the ARM architecture, thus
|
||||
making it possible to compile programs for the large number of ARM CPUs
|
||||
out there. You'll need such a toolchain if you want to compile eLua for
|
||||
ARM CPUs. This tutorial is similar to many others you'll find on the
|
||||
Internet (particulary the one from <a href="http://www.gnuarm.com/">gnuarm</a>, on which it's based), but it's a bit more detailed and shows some "tricks" you can use when compiling Newlib.</p>
|
||||
ARM CPUs. Please note that you can also use a
|
||||
pre-built toolchain to compile <b>eLua</b> (see <a href="toolchains.html">toolchains</a> for details) so building
|
||||
one yourself is not strictly required. This tutorial is similar to many others you'll find on the
|
||||
Internet (particulary the one from <a target="_blank" href="http://www.gnuarm.com/">gnuarm</a>, on which it's based), but it's a bit more detailed and shows some "tricks"
|
||||
(specifying parameters at compile time) you can use when compiling Newlib.</p>
|
||||
|
||||
<p><strong>DISCLAIMER: I'm by no means a specialist in the
|
||||
GCC/newlib/binutils compilation process. I'm sure that there are better
|
||||
ways to accomplish what I'm describing here, however I just wanted a
|
||||
quick and dirty way to build a toolchain, I have no intention in
|
||||
becoming too intimate with the build process. If you think that what I
|
||||
did is wrong, innacurate, or simply outrageously ugly, feel free to <a href="http://www.eluaproject.net/en/Contact">contact me</a> and I'll make the necessary corrections. And of course, this tutorial comes without any guarantees whatsoever.</strong></p>
|
||||
did is wrong, innacurate, or simply outrageously ugly, feel free to <a href="overview.html#contacts">contact us</a> and
|
||||
I'll make the necessary corrections. And of course, this tutorial comes without any guarantees whatsoever.</strong></p>
|
||||
|
||||
<h2>Prerequisites</h2>
|
||||
<p>To build your toolchain you'll need:</p>
|
||||
|
||||
<ul><li>a computer running Linux: I use Ubuntu 8.04, but any Linux
|
||||
<ul>
|
||||
<li><b>a computer running Linux</b>: I use Ubuntu, but any Linux
|
||||
will do as long as you know how to find the equivalent of "apt-get" for
|
||||
your distribution. I won't be going into details about this, google it
|
||||
and you'll sure find what you need. It is also assumed that the Linux
|
||||
system already has a "basic" native toolchain installed (gcc/make and
|
||||
related).This is true for Ubuntu after installation. Again, you might
|
||||
need to check your specific distribution.</li><li>GNU binutils: get it from <a href="http://ftp.gnu.org/gnu/binutils/">here</a>.
|
||||
At the moment of writing this, the latest versions is 2.18, which for
|
||||
some weird reason refuses to compile on my system, so I'm using 2.17
|
||||
instead.</li><li>GCC: version 4.3.0 or newer is recommended. As
|
||||
I'm writing this, the latest GCC version is 4.3.1 which I'll be using
|
||||
for this tutorial. Download it from <a href="http://gcc.gnu.org/mirrors.html">here</a> after choosing a suitable mirror.</li><li>Newlib: as I'm writing this, the latest official Newlib version is 1.16.0. Download it from the <a href="ftp://sources.redhat.com/pub/newlib/index.html">Newlib FTP directory</a>.</li><li>Also,
|
||||
the tutorial assumes that you're using bash as your shell. If you use
|
||||
something else, you might need to adjust some shell-specific commands. </li></ul>
|
||||
|
||||
|
||||
<p>Also, you need some support programs/libraries in order to compile the toolchain. To install them:</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ sudo apt-get install flex bison libgmp3-dev libmpfr-dev autoconf texinfo</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
need to check your specific distribution.</li>
|
||||
<li><b>GNU binutils</b>: get it from <a target="_blank" href="http://ftp.gnu.org/gnu/binutils/">here</a>.
|
||||
At the moment of writing this, the latest versions is 2.19.1, but it refuses to compile for ARM. Same goes for
|
||||
2.19. In fact, the only newer version of Binutils that seems to work properly is
|
||||
2.19.50, it can be downloaded from <a target="_blank" href="ftp://sourceware.org/pub/binutils/snapshots/">here</a>.
|
||||
This is the version that we are going to use in this tutorial.</li>
|
||||
<li><b>GCC</b>:as I'm writing this, the latest GCC version is
|
||||
4.3.3, which I'll be using for this tutorial. Download it from <a target="_blank" href="http://gcc.gnu.org/mirrors.html">here</a> after choosing a suitable mirror.</li>
|
||||
<li><b>Newlib</b>: as I'm writing this, the latest official Newlib version is 1.17.0, which I'll be using for this tutorial.
|
||||
Download it from <a target="_blank" href="ftp://sources.redhat.com/pub/newlib/index.html">here</a>.</li>
|
||||
<li>The tutorial assumes that you're using bash as your shell. If you use
|
||||
something else, you might need to adjust some shell-specific commands. </li></ul></p>
|
||||
<p>You need some support programs/libraries in order to compile the toolchain. To install them:</p>
|
||||
<p><pre><code>$ sudo apt-get install flex bison libgmp3-dev libmpfr-dev autoconf texinfo build-essential</code></pre></p>
|
||||
<p>Next, decide where you want to install your toolchain. They
|
||||
generally go in /usr/local/, so I'm going to assume
|
||||
/usr/local/cross-arm for this tutorial. To save yourself some typing,
|
||||
set this path into a shell variable:</p>
|
||||
generally go in <i>/usr/local/</i>, so I'm going to assume
|
||||
<i>/usr/local/cross-arm</i> for this tutorial. To save yourself some
|
||||
typing, set this path into a shell variable:</p>
|
||||
<p><pre><code>$ export TOOLPATH=/usr/local/cross-arm</code></pre></p>
|
||||
|
||||
<p><br></p>
|
||||
<h2>Step 1: binutils</h2>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ export TOOLPATH=/usr/local/cross-arm</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<h2>› Step 1: binutils</h2>
|
||||
<p>This is the easiest step: unpack, configure, build.</p>
|
||||
|
||||
<p><br></p>
|
||||
<p><pre><code>$ tar -xvjf binutils-2.19.50.tar.bz2
|
||||
$ cd binutils-2.19.50
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork --enable-multilib --with-gnu-as --with-gnu-ld --disable-nls
|
||||
$ make all
|
||||
$ sudo make install
|
||||
$ export PATH=${TOOLPATH}/bin:$PATH
|
||||
$ cd ../..</code></pre></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ tar -xvjf binutils-2.17.tar.bz2</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ cd binutils-2.17</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ mkdir build</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ cd build</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th style="text-align: left;">$ ../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork --enable-multilib--with-gnu-as --with-gnu-ld --disable-nls</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ make all</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ sudo make install</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ export PATH=${TOOLPATH}/bin:$PATH</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<p>Now you have your ARM "binutils" (assembler, linker, disassembler ...) in your PATH.</p>
|
||||
<p>Now you have your ARM "binutils" (assembler, linker, disassembler ...) in your PATH. </p>
|
||||
|
||||
<h2>Step 2: basic GCC</h2>
|
||||
|
||||
<p>In this step we build a "basic" GCC (that is, a GCC without any
|
||||
support libs, which we'll use in order to build all the libraries for
|
||||
our target). But first we need to make a slight modification in the
|
||||
configuration files. Out of the box, the GCC 4.3.1/newlib combo won't
|
||||
compile properly, giving a very weird "Link tests are not allowed after
|
||||
GCC_NO_EXECUTABLES" error. After a bit of googling, I found the
|
||||
solution for this:</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ tar -xvjf gcc-4.3.1.tar.bz2</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>$ cd gcc-4.3.1/libstdc++-v3</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">$ joe configure.ac</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<p> I'm using "joe" here as it's my favourite Linux text mode editor,
|
||||
you can use any other text editor. Now find the line which says
|
||||
"AC_LIBTOOL_DLOPEN" and comment it out by adding a "#" before it:</p>
|
||||
|
||||
<p><code># AC_LIBTOOL_DLOPEN</code></p>
|
||||
|
||||
<p>Save the modified file and exit the text editor</p>
|
||||
|
||||
<p><br> </p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ autoconf</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">$ cd ..</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
<p>Great, now we know it will compile, so let's do it:</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ mkdir build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$
|
||||
../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork
|
||||
--enable-multilib --enable-languages="c,c++" --with-newlib
|
||||
--without-headers --disable-shared--with-gnu-as --with-gnu-ld</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make all-gcc</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install-gcc</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
|
||||
<p>On my system, the last line above (sudo make install-gcc) terminated
|
||||
with errors, because it was unable to find our newly compiled binutils.
|
||||
If this happens for any kind of "make install" command, this is a quick
|
||||
way to solve it:</p>
|
||||
|
||||
<p style="text-align: left;"><br></p><div style="text-align: left;">
|
||||
|
||||
</div><table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ sudo -s -H</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th># export PATH=/usr/local/cross-arm/bin:$PATH</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th># make install-gcc</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;"># exit</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
our target). Let's compile it (and note that the install step is
|
||||
a bit different from Newlib's):</p?
|
||||
|
||||
<p><pre><code>$ tar -xvjf gcc-4.3.3.tar.bz2
|
||||
$ cd gcc-4.3.3
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork --enable-multilib --enable-languages="c,c++" --with-newlib --without-headers --disable-shared --with-gnu-as --with-gnu-ld
|
||||
$ make all-gcc
|
||||
$ sudo -s -H
|
||||
# export PATH=/usr/local/cross-arm/bin:$PATH
|
||||
# make install-gcc
|
||||
# exit
|
||||
$ cd ../..</code></pre></p>
|
||||
|
||||
<h2>Step 3: Newlib</h2>
|
||||
|
||||
@ -236,48 +98,27 @@ possible) and I only wanted to keep what's needed from it in the final
|
||||
executable, so I added the "-ffunction-sections -fdata-sections" flags
|
||||
to allow the linker to perform dead code stripping:</p>
|
||||
|
||||
<p><br></p>
|
||||
<p><pre><code>$ tar -xvzf newlib-1.17.0.tar.gz
|
||||
$ cd newlib-1.17.0
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork --disable-newlib-supplied-syscalls --with-gnu-ld --with-gnu-as --disable-shared
|
||||
$ make CFLAGS_FOR_TARGET="-ffunction-sections -fdata-sections -DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__ -Os -fomit-frame-pointer -D__BUFSIZ__=256"
|
||||
$ sudo -s -H
|
||||
# export PATH=/usr/local/cross-arm/bin:$PATH
|
||||
# make install
|
||||
# exit
|
||||
$ cd ../..</code></pre></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ tar xvfz newlib-1.16.0.tar.gz</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd newlib-1.16.0</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ mkdir build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$
|
||||
../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork
|
||||
--disable-newlib-supplied-syscalls --with-gnu-ld --with-gnu-as
|
||||
--disable-shared</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make
|
||||
CFLAGS_FOR_TARGET="-ffunction-sections -fdata-sections
|
||||
-DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__ -Os -fomit-frame-pointer
|
||||
-D__BUFSIZ__=256"</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
<p>Some notes about the flags used in the above sequence:</p>
|
||||
|
||||
<ul><li><code>--disable-newlib-supplied-syscalls</code>: this deserves a page of its own, but I won't cover it here. For an explanation, see for example <a href="http://openhardware.net/Embedded_ARM/NewLib_Stubs/">this page</a></li><li><code>-DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__</code>: compile Newlib for size, not for speed (these are Newlib specific).</li><li><code>-Os -fomit-frame-pointer</code>: tell GCC to optimize for size, not for speed.</li><li><code>-D__BUFSIZ__=256</code>:
|
||||
again Newlib specific, this is the buffer size allocated by default for
|
||||
files opened via fopen(). The default is 1024, which I find too much
|
||||
for an eLua, so I'm using 256 here. Of course, you can change this
|
||||
value.</li></ul>
|
||||
<p>Some notes about the flags used in the above sequence:
|
||||
|
||||
<ul>
|
||||
<li><code>--disable-newlib-supplied-syscalls</code>: this deserves a page of its own, but I won't cover it here. For an explanation, see for example
|
||||
<a target="_blank" href="http://openhardware.net/Embedded_ARM/NewLib_Stubs/">this page</a></li>
|
||||
<li><code>-DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__</code>: compile Newlib for size, not for speed (these are Newlib specific).</li>
|
||||
<li><code>-Os -fomit-frame-pointer</code>: tell GCC to optimize for size, not for speed.</li>
|
||||
<li><code>-D__BUFSIZ__=256</code>: again Newlib specific, this is the buffer size allocated by default for files opened via fopen(). The default is 1024, which I find too much
|
||||
for <b>eLua</b>, so I'm using 256 here. Of course, you can change this value.</li></ul></p>
|
||||
|
||||
<h2>Step 4: full GCC</h2>
|
||||
|
||||
@ -286,25 +127,13 @@ build. In this stage, a number of compiler support libraries are built
|
||||
(most notably libgcc.a). Fortunately this is simpler that the Newlib
|
||||
compilation step:</p>
|
||||
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ cd gcc-4.3.1/build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make all</th>
|
||||
</tr> <tr align="left">
|
||||
<th>$ sudo make install</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
<p><pre><code>$ cd gcc-4.3.3/build
|
||||
$ make all
|
||||
$ sudo make install
|
||||
</code></pre></p>
|
||||
|
||||
<h2>Step 5: all done!</h2>
|
||||
|
||||
<p>Now you can finally enjoy your ARM toolchain, and compile eLua with it :)
|
||||
If you need further clarification, or if the above instructions didn't work for you, feel free to <a href="http://www.eluaproject.net/en/Contact">contact me</a>.</p>
|
||||
</div></body></html>
|
||||
<p>Now you can finally enjoy your ARM toolchain, and compile <b>eLua</b> with it :)
|
||||
If you need further clarification, or if the above instructions didn't work for you, feel free to <a href="overview.html#contacts">contact us</a>.</p>
|
||||
</body></html>
|
||||
|
@ -1,120 +1,74 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
|
||||
<html><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Product</title>
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Bulding GCC for Cortex</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style.css"></head>
|
||||
<body style="background-color: rgb(255, 255, 255);"><div class="content">
|
||||
<body style="background-color: rgb(255, 255, 255);">
|
||||
|
||||
<h3><a name="title" href="http://www.eluaproject.net/en/Building_GCC_for_Cortex" class="local">Building GCC for Cortex</a></h3><p>This tutorial explains how you can create a GCC+Newlib toolchain
|
||||
<h3>Building GCC for Cortex</h3>
|
||||
<p>This tutorial explains how you can create a GCC+Newlib toolchain
|
||||
that can be used to compile programs for the Cortex (Thumb2)
|
||||
architecture, thus making it possible to use GCC to compile programs
|
||||
for the increasingly number of Cortex CPUs out there (<a href="http://www.luminarymicro.com/">Luminary Micro</a>, <a href="http://www.st.com/mcu/inchtml-pages-stm32.html">ST</a>,
|
||||
with new Cortex CPUs being announced by Atmel and other companies). I
|
||||
for the increasingly number of Cortex CPUs out there (<a target="_blank" href="http://www.luminarymicro.com/">Luminary Micro</a>, i
|
||||
<a target="_blank" href="http://www.st.com/mcu/inchtml-pages-stm32.html">ST</a>, with new Cortex CPUs being announced by Atmel and other companies). I
|
||||
am writing this tutorial because I needed to work on a Cortex CPU for
|
||||
the eLua project and I couldn't find anywhere a complete set of
|
||||
instructions for building GCC for this architecture. You'll need such a
|
||||
toolchain if you want to compile eLua for Cortex-M3 CPUs.</p>
|
||||
toolchain if you want to compile <b>eLua</b> for Cortex-M3 CPUs. Please note that you can also use a
|
||||
pre-built toolchain to compile <b>eLua</b> (see <a href="toolchains.html">toolchains</a> for details) so building
|
||||
one yourself is not strictly required.</p>
|
||||
|
||||
<p><strong>DISCLAIMER: I'm by no means a specialist in the
|
||||
GCC/newlib/binutils compilation process. I'm sure that there are better
|
||||
ways to accomplish what I'm describing here, however I just wanted a
|
||||
quick and dirty way to build a toolchain, I have no intention in
|
||||
becoming too intimate with the build process. If you think that what I
|
||||
did is wrong, innacurate, or simply outrageously ugly, feel free to <a href="http://www.eluaproject.net/en/Contact">contact us</a> and I'll make the necessary corrections. And of course, this tutorial comes without any guarantees whatsoever.</strong></p>
|
||||
did is wrong, innacurate, or simply outrageously ugly, feel free to <a href="overview.html#contacts">contact us</a> and I'll make the necessary corrections.
|
||||
And of course, this tutorial comes without any guarantees whatsoever.</strong></p>
|
||||
|
||||
<h2>Prerequisites</h2>
|
||||
<p>To build your toolchain you'll need:</p>
|
||||
<p>To build your toolchain you'll need:
|
||||
|
||||
<ul><li>a computer running Linux: I use Ubuntu 8.04, but any Linux
|
||||
<ul><li><b>a computer running Linux</b>: I use Ubuntu, but any Linux
|
||||
will do as long as you know how to find the equivalent of "apt-get" for
|
||||
your distribution. I won't be going into details about this, google it
|
||||
and you'll sure find what you need. It is also assumed that the Linux
|
||||
system already has a "basic" native toolchain installed (gcc/make and
|
||||
related). This is true for Ubuntu after installation. Again, you might
|
||||
need to check your specific distribution.</li><li>GNU binutils: get it from <a href="http://ftp.gnu.org/gnu/binutils/">here</a>.
|
||||
At the moment of writing this, the latest versions is 2.18, which for
|
||||
some weird reason refuses to compile on my system, so I'm using 2.17
|
||||
instead. <strong>UPDATE</strong>: you MUST use the new binutils 2.19
|
||||
distribution for the Cortex toolchain, since it fixes some assembler
|
||||
issues. You won't be able to compile eLua 0.5 or higher if you don't
|
||||
use binutils 2.19.</li><li>GCC: since support for Cortex (Thumb2)
|
||||
was only introduced staring with version 4.3.0, you'll need to download
|
||||
version 4.3.0 or newer. As I'm writing this, the latest GCC version is
|
||||
4.3.1, which I'll be using for this tutorial. Download it from <a href="http://gcc.gnu.org/mirrors.html">here</a> after choosing a suitable mirror.</li><li>Newlib:
|
||||
as I'm writing this, the latest official Newlib version is 1.16.0.
|
||||
However, the CVS version contains some fixes for the Thumb2
|
||||
architecture, some of them in very important functions (like
|
||||
setjmp/longjmp), so you'll need to fetch the sources from CVS (this
|
||||
will most likely change when a new official Newlib version is
|
||||
released). So go to <a href="http://sourceware.org/newlib/download.html">http://sourceware.org/newlib/download.html</a> and follow the instructions there in order to get the latest sources from CVS.</li><li>Also,
|
||||
the tutorial assumes that you're using bash as your shell. If you use
|
||||
something else, you might need to adjust some shell-specific commands. </li></ul>
|
||||
|
||||
|
||||
<p>Also, you need some support programs/libraries in order to compile the toolchain. To install them:</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ sudo apt-get install flex bison libgmp3-dev libmpfr-dev autoconf texinfo build-essential</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
need to check your specific distribution.</li>
|
||||
<li><b>GNU binutils</b>: get it from <a target="_blank" href="http://ftp.gnu.org/gnu/binutils/">here</a>.
|
||||
At the moment of writing this, the latest versions is 2.19.1, but it refuses to compile for ARM. Same goes for
|
||||
2.19. In fact, the only newer version of Binutils that seems to work properly is
|
||||
2.19.50, it can be downloaded from <a target="_blank" href="ftp://sourceware.org/pub/binutils/snapshots/">here</a>.
|
||||
This is the version that we are going to use in this tutorial.</li>
|
||||
<li><b>GCC</b>:as I'm writing this, the latest GCC version is
|
||||
4.3.3, which I'll be using for this tutorial. Download it from <a target="_blank" href="http://gcc.gnu.org/mirrors.html">here</a> after choosing a suitable mirror.</li>
|
||||
<li><b>Newlib</b>: as I'm writing this, the latest official Newlib version is 1.17.0, which I'll be using for this tutorial.
|
||||
Download it from <a target="_blank" href="ftp://sources.redhat.com/pub/newlib/index.html">here</a>.</li>
|
||||
<li>The tutorial assumes that you're using bash as your shell. If you use
|
||||
something else, you might need to adjust some shell-specific commands. </li></ul></p>
|
||||
<p>You need some support programs/libraries in order to compile the toolchain. To install them:</p>
|
||||
<p><pre><code>$ sudo apt-get install flex bison libgmp3-dev libmpfr-dev autoconf texinfo build-essential</code></pre></p>
|
||||
<p>Next, decide where you want to install your toolchain. They
|
||||
generally go in /usr/local/, so I'm going to assume
|
||||
/usr/local/cross-cortex for this tutorial. To save yourself some
|
||||
generally go in <i>/usr/local/</i>, so I'm going to assume
|
||||
<i>/usr/local/cross-cortex</i> for this tutorial. To save yourself some
|
||||
typing, set this path into a shell variable:</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ export TOOLPATH=/usr/local/cross-cortex</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<p><pre><code>$ export TOOLPATH=/usr/local/cross-cortex</code></pre></p>
|
||||
|
||||
<h2>Step 1: binutils</h2>
|
||||
|
||||
<p>This is the easiest step: unpack, configure, build.</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ tar -xvjf binutils-2.19.tar.bz2</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd binutils-2.19</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ mkdir build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$
|
||||
../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork
|
||||
--enable-multilib --with-gnu-as --with-gnu-ld --disable-nls</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make all</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ export PATH=${TOOLPATH}/bin:$PATH</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<p><pre><code>$ tar -xvjf binutils-2.19.50.tar.bz2
|
||||
$ cd binutils-2.19.50
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork --enable-multilib --with-gnu-as --with-gnu-ld --disable-nls
|
||||
$ make all
|
||||
$ sudo make install
|
||||
$ export PATH=${TOOLPATH}/bin:$PATH
|
||||
$ cd ../..</code></pre></p>
|
||||
|
||||
<p>Now you have your ARM "binutils" (assembler, linker, disassembler ...) in your PATH. They are fully capable of handling Thumb2.</p>
|
||||
|
||||
@ -122,140 +76,61 @@ typing, set this path into a shell variable:</p>
|
||||
|
||||
<p>In this step we build a "basic" GCC (that is, a GCC without any
|
||||
support libs, which we'll use in order to build all the libraries for
|
||||
our target). But first we need to make a slight modification in the
|
||||
configuration files. Out of the box, the GCC 4.3.1/newlib combo won't
|
||||
compile properly, giving a very weird "Link tests are not allowed after
|
||||
GCC_NO_EXECUTABLES" error. After a bit of googling, I found the
|
||||
solution for this:</p>
|
||||
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ tar -xvjf gcc-4.3.1.tar.bz2</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd gcc-4.3.1/libstdc++-v3</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ joe configure.ac </th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<p> I'm using "joe" here as it's my favourite Linux text mode editor,
|
||||
you can use any other text editor. Now find the line which says
|
||||
"AC_LIBTOOL_DLOPEN" and comment it out by adding a "#" before it: </p>
|
||||
|
||||
|
||||
<code># AC_LIBTOOL_DLOPEN<br></code>
|
||||
|
||||
<p>Save the modified file and exit the text editor</p>
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ autoconf</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">$ cd ..</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
|
||||
<p>Great, now we know it will compile, so let's do it:</p>
|
||||
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ mkdir build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$
|
||||
../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork
|
||||
--enable-multilib --enable-languages="c,c++" --with-newlib
|
||||
--without-headers --disable-shared --with-gnu-as --with-gnu-ld</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make all-gcc</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install-gcc</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
<p>On my system, the last line above (sudo make install-gcc) terminated
|
||||
with errors, because it was unable to find our newly compiled binutils.
|
||||
If this happens for any kind of "make install" command, this is a quick
|
||||
way to solve it:</p>
|
||||
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table style="width: 376px; height: 157px;" class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ sudo -s -H</th>
|
||||
</tr><tr><td align="undefined" valign="undefined"><code># export PATH=/usr/local/cross-cortex/bin:$PATH</code></td></tr><tr><td align="undefined" valign="undefined"><code># make install-gcc</code></td></tr><tr><td align="undefined" valign="undefined"><code># exit</code></td></tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
<code><br><br><br></code>
|
||||
our target). Let's compile it (and note that the install step is
|
||||
a bit different from Newlib's):</p?
|
||||
|
||||
<p><pre><code>$ tar -xvjf gcc-4.3.3.tar.bz2
|
||||
$ cd gcc-4.3.3
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork --enable-multilib --enable-languages="c,c++" --with-newlib --without-headers --disable-shared --with-gnu-as --with-gnu-ld
|
||||
$ make all-gcc
|
||||
$ sudo -s -H
|
||||
# export PATH=/usr/local/cross-cortex/bin:$PATH
|
||||
# make install-gcc
|
||||
# exit
|
||||
$ cd ../..</code></pre></p>
|
||||
|
||||
<h2>Step 3: Newlib</h2>
|
||||
|
||||
<p>Again, some modifications are in order before we start compiling.
|
||||
Because the CVS version of Newlib doesn't seem to have all the required
|
||||
support for Thumb2 yet, we need to tell Newlib to skip some of its
|
||||
libraries when compiling:</p>
|
||||
<p>Some modifications are in order before we start compiling. Namely, we need to tell Newlib to skip some of its
|
||||
libraries when compiling (I'm using <b>vim</b> to edit, feel free to use your editor of choice instead):</p>
|
||||
|
||||
<p><pre><code>$ tar -xvzf newlib-1.17.0.tar.gz
|
||||
$ cd newlib-1.17.0
|
||||
$ vim configure.ac
|
||||
|
||||
<p><br></p>
|
||||
<b>Find this fragment of code:</b>
|
||||
arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
|
||||
noconfigdirs="$noconfigdirs target-libffi target-qthreads"
|
||||
libgloss_dir=arm
|
||||
;;
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th>$ cd [directory where the newlib CVS is located]</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="text-align: left;">$ joe configure.ac</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
<b>And add "target-libgloss" to the "noconfigdirs" variable:</b>
|
||||
arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
|
||||
noconfigdirs="$noconfigdirs target-libffi target-qthreads <b>target-libgloss</b>"
|
||||
libgloss_dir=arm
|
||||
;;
|
||||
|
||||
<b>Save the modified file and exit the text editor.</b>
|
||||
|
||||
$ autoconf
|
||||
|
||||
<p> Find this fragment of code:</p>
|
||||
|
||||
<pre><code> arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )<br> noconfigdirs="$noconfigdirs target-libffi target-qthreads"<br> libgloss_dir=arm<br> ;;<br><br> And add "target-libgloss" to the "noconfigdirs" variable:<br><br> arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )<br> noconfigdirs="$noconfigdirs target-libffi target-qthreads target-libgloss"<br> libgloss_dir=arm<br> ;;<br><br> Save the modified file and exit the text editor<br> $ autoconf<br></code></pre>
|
||||
|
||||
|
||||
<p>On one of the systems I ran the above sequence, it terminated with
|
||||
<b>On one of the systems I ran the above sequence, it terminated with
|
||||
errors, complaining that autoconf 2.59 was not found. I don't know why
|
||||
that happens. 2.59 seems to be quite ancient, and the build ran equally
|
||||
well with 2.61 (the version of autoconf on the system that gave the
|
||||
error). If this happens to you, first execute autoconf --version to
|
||||
find the actual version of your autoconf, then do this:</p>
|
||||
error). If this happens to you, first execute <i>autoconf --version</i> to
|
||||
find the actual version of your autoconf, then do this:</b>
|
||||
<p><pre><code>$ vim config/override.m4
|
||||
|
||||
<b>Look for this line:</b>
|
||||
[m4_define([_GCC_AUTOCONF_VERSION], [2.59])])
|
||||
|
||||
<p><br></p>
|
||||
<b>And replace [2.59] with your actual version ([2.61] in my case).
|
||||
Save the modified file and exit the text editor.</b>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr>
|
||||
<th></th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
<pre><code>$ joe config/override.m4<br><br> Look for this line:<br><br> [m4_define([_GCC_AUTOCONF_VERSION], [2.59])])<br><br> And replace [2.59] with your actual version ([2.61] in my case).<br> $ autoconf<br></code></pre>
|
||||
$ autoconf</code></pre></p></code></pre></p>
|
||||
|
||||
|
||||
<p>Once again, now we're ready to actually compile Newlib. But we need
|
||||
@ -267,71 +142,38 @@ be as small as possible (as opposed to as fast as possible) and I only
|
||||
wanted to keep what's needed from it in the final executable, I added
|
||||
the "-ffunction-sections -fdata-sections" flags to allow the linker to
|
||||
perform dead code stripping:</p>
|
||||
<p><pre><code>$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork --disable-newlib-supplied-syscalls --with-gnu-ld --with-gnu-as --disable-shared
|
||||
$ make CFLAGS_FOR_TARGET="-ffunction-sections -fdata-sections -DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__ -Os -fomit-frame-pointer -mcpu=cortex-m3 -mthumb -D__thumb2__ -D__BUFSIZ__=256" CCASFLAGS="-mcpu=cortex-m3 -mthumb -D__thumb2__"
|
||||
$ sudo -s -H
|
||||
# export PATH=/usr/local/cross-cortex/bin:$PATH
|
||||
# make install
|
||||
# exit
|
||||
$ cd ../..</code></pre></p>
|
||||
<p>Some notes about the flags used in the above sequence:
|
||||
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ mkdir build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ cd build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$
|
||||
../configure --target=arm-elf --prefix=$TOOLPATH --enable-interwork
|
||||
--disable-newlib-supplied-syscalls --with-gnu-ld --with-gnu-as
|
||||
--disable-shared</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make
|
||||
CFLAGS_FOR_TARGET="-ffunction-sections -fdata-sections
|
||||
-DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__ -Os -fomit-frame-pointer
|
||||
-mcpu=cortex-m3 -mthumb -D__thumb2__ -D__BUFSIZ__=256"
|
||||
CCASFLAGS="-mcpu=cortex-m3 -mthumb -D__thumb2__"</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
<p>Some notes about the flags used in the above sequence:</p>
|
||||
|
||||
<ul><li><code>--disable-newlib-supplied-syscalls:</code> this deserves a page of its own, but I won't cover it here. For an explanation, see for example <a href="http://openhardware.net/Embedded_ARM/NewLib_Stubs/">this page</a>.</li><li><code>-DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__:</code> compile Newlib for size, not for speed (these are Newlib specific).</li><li><code>-mcpu=cortex-m3 -mthumb:</code> this tells GCC that you want to compile for Cortex. Note that you need both flags.</li><li><code>-D__thumb2__:</code> again, this is Newlib specific, and seems to be required when compiling Newlib for Cortex.</li><li><code>-Os -fomit-frame-pointer:</code> tell GCC to optimize for size, not for speed.</li><li><code>-D__BUFSIZ__=256:</code>
|
||||
again Newlib specific, this is the buffer size allocated by default for
|
||||
<ul><li><code>--disable-newlib-supplied-syscalls:</code> this deserves a page of its own, but I won't cover it here.
|
||||
For an explanation, see for example <a target="_blank" href="http://openhardware.net/Embedded_ARM/NewLib_Stubs/">this page</a>.</li>
|
||||
<li><code>-DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__:</code> compile Newlib for size, not for speed (these are Newlib specific).</li>
|
||||
<li><code>-mcpu=cortex-m3 -mthumb:</code> this tells GCC that you want to compile for Cortex. Note that you need both flags.</li>
|
||||
<li><code>-D__thumb2__:</code> again, this is Newlib specific, and seems to be required when compiling Newlib for Cortex.</li>
|
||||
<li><code>-Os -fomit-frame-pointer:</code> tell GCC to optimize for size, not for speed.</li>
|
||||
<li><code>-D__BUFSIZ__=256:</code>again Newlib specific, this is the buffer size allocated by default for
|
||||
files opened via fopen(). The default is 1024, which I find too much
|
||||
for an eLua, so I'm using 256 here. Of course, you can change this
|
||||
value.</li></ul>
|
||||
for <b>eLua</b>, so I'm using 256 here. Of course, you can change this value.</li></ul></p>
|
||||
|
||||
|
||||
<h2>Step 4: full GCC</h2>
|
||||
|
||||
<p>Finally, in the last step of our tutorial, we complete the GCC
|
||||
build. In this stage, a number of compiler support libraries are built
|
||||
(most notably libgcc.a). Fortunately this is simpler that the Newlib
|
||||
compilation step, as long as you remember that we want to build our
|
||||
compiler support libraries for the Cortex architecture:</p>
|
||||
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<table class="table_cod">
|
||||
<tbody><tr align="left">
|
||||
<th>$ cd gcc-4.3.1/build</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ make CFLAGS="-mcpu=cortex-m3 -mthumb" CXXFLAGS="-mcpu=cortex-m3 -mthumb" LIBCXXFLAGS="-mcpu=cortex-m3 -mthumb" all</th>
|
||||
</tr>
|
||||
<tr align="left">
|
||||
<th>$ sudo make install</th>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
||||
|
||||
<p><pre><code>$ cd gcc-4.3.3/build
|
||||
$ make CFLAGS="-mcpu=cortex-m3 -mthumb" CXXFLAGS="-mcpu=cortex-m3 -mthumb" LIBCXXFLAGS="-mcpu=cortex-m3 -mthumb" all
|
||||
$ sudo make install
|
||||
</code></pre></p>
|
||||
|
||||
<h2>All Done!</h2>
|
||||
<p>Phew! That was quite a disturbing tutorial, with all that confusing
|
||||
@ -339,5 +181,5 @@ flags lurking in every single shell line :) But at this point you
|
||||
should have a fully functional Cortex GCC toolchain, which seems to be
|
||||
something very rare, so enjoy it with pride.
|
||||
If you need further clarification, or if the above instructions didn't
|
||||
work for you, feel free to <a href="http://www.eluaproject.net/en/Contact">contact us</a>.</p><p></p><p></p>
|
||||
</div></body></html>
|
||||
work for you, feel free to <a href="overview.html#contacts">contact us</a>.</p>
|
||||
</body></html>
|
||||
|
@ -1,9 +1,18 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
|
||||
<html><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Product</title>
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Toolchain building tutorials</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style.css"></head>
|
||||
<body style="background-color: rgb(255, 255, 255);"><h3><a name="title" href="http://www.eluaproject.net/en/Building_GCC_for_i386" class="local">Toolchain Build</a></h3><a name="title" href="http://www.eluaproject.net/en/Building_GCC_for_i386" class="local"></a>eLua can be compiled and link edited with GCC Toolchains.<br><br>.....................<br><br>
|
||||
|
||||
</body></html>
|
||||
<body style="background-color: rgb(255, 255, 255);">
|
||||
<h3>Toolchain building tutorials</h3>
|
||||
<p>Although not strictly required, you can roll your own toolchain that can be used to build <b>eLua</b>. As explained <a href="toolchains.html">here</a>, <b>eLua</b> can generally be built with
|
||||
ready-made toolchains (with the exception of the i386 port), but you might still want to build your own toolchain for various reasons:
|
||||
<ul>
|
||||
<li>have a better control over the compilation options of different libraries (most notably libc).</li>
|
||||
<li>use a specific version of gcc/newlib.</li>
|
||||
<li>your toolchain might generate smaller code than a pre-built toolchain.</li>
|
||||
<li>get familiar with the binutils/gcc/newlib build system (not related to <b>eLua</b>, but still a good reason).</li>
|
||||
</ul></p>
|
||||
<p>Three separate tutorials explain the procedure of building a regular ARM toolchain, a Cortex-M3 toolchain and an i386 toolchain, respectively.</p>
|
||||
</body></html>
|
||||
|
@ -1,13 +1,11 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
|
||||
<html><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Product</title>
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Booting your PC in eLua</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style.css"></head>
|
||||
<body style="background-color: rgb(255, 255, 255);"><h3><a name="title" href="http://www.eluaproject.net/en/Booting_your_PC_in_eLua" class="local">Booting your PC in eLua</a></h3>
|
||||
|
||||
<div class="content">
|
||||
|
||||
<body style="background-color: rgb(255, 255, 255);">
|
||||
<h3>Booting your PC in eLua</h3>
|
||||
<p>That's right: after following this tutorial, your PC will boot
|
||||
directly into Lua! No OS there (this explains why the boot process is
|
||||
so fast), just you and Lua. You'll be able to use the regular Lua
|
||||
@ -16,14 +14,13 @@ code.</p>
|
||||
|
||||
<h2>Details</h2>
|
||||
|
||||
<p>Booting Lua involves using the well known <a href="http://www.gnu.org/software/grub/">GRUB</a> that will be used to load a <a href="http://www.gnu.org/software/grub/manual/multiboot/">multiboot</a>
|
||||
compliant ELF file that contains our eLua code. Since the eLua code and
|
||||
the build instructions are not available yet, I'll be providing a
|
||||
direct link to the ELF file. The code runs in protected mode, so you
|
||||
<p>Booting <b>eLua</b> involves using the well known <a target="_blank" href="http://www.gnu.org/software/grub/">GRUB</a> that will be used to load
|
||||
a <a target="_blank" href="http://www.gnu.org/software/grub/manual/multiboot/">multiboot</a>
|
||||
compliant ELF file that contains our <b>eLua</b> code. The code runs in protected mode, so you
|
||||
have access to your whole memory. The code does not access any kind of
|
||||
storage device (HDD, CDROM, floppy), so if you're worried that it might
|
||||
brick your system, you can relax now :) I'm only using some very basic
|
||||
keyboard and VGA "drivers", so all you're risking is a system freeze
|
||||
keyboard and VGA textmode "drivers", so all you're risking is a system freeze
|
||||
(even this is highly unlikely), nothing a good old RESET can't handle
|
||||
(be sure to use the hardware reset though, CTRL+ALT+DEL is not handled
|
||||
by the code). But just in case, see also the next section.</p>
|
||||
@ -36,7 +33,7 @@ need to worry about that. Also it doesn't try to reprogram your video
|
||||
card registers, so it can't harm it or your monitor. It only implements
|
||||
a "protected mode keyboard driver" that can't physically damage
|
||||
anything in your system. In short, I made every effort to make the code
|
||||
as harmless as possible. I tested it on 5 different computers and in 2 <a href="http://www.virtualbox.org/">VirtualBox</a>
|
||||
as harmless as possible. I tested it on 5 different computers and in 2 <a target="_blank" href="http://www.virtualbox.org/">VirtualBox</a>
|
||||
emulators, and nothing bad happened. That said, there are no warranties
|
||||
of any kind. In the very unlikely event that something bad does happen
|
||||
to your system, you have my sincere sympathy, but I can't be held
|
||||
@ -44,50 +41,61 @@ responsible for that.</strong></p>
|
||||
|
||||
<h2>Prerequisites</h2>
|
||||
|
||||
<p>To boot your computer in Lua you'll need:</p>
|
||||
<p>To boot your computer in Lua you'll need:
|
||||
|
||||
<ul><li>a 386 or better computer running Linux. I actually tested
|
||||
<ul>
|
||||
<li>a 386 or better computer running Linux. I actually tested
|
||||
this only on Pentium class computers, but it should run on a 386
|
||||
without problems.</li><li><a href="http://www.gnu.org/software/grub/">GRUB</a>.
|
||||
without problems.</li>
|
||||
<li><a target="_blank" href="http://www.gnu.org/software/grub/">GRUB</a>.
|
||||
Since you're running Linux, chances are you're already using GRUB as
|
||||
your bootloader. If not, you must install it. You don't need to install
|
||||
it on your HDD; a floppy, an USB stick or even a CDROM will work as
|
||||
well. I won't cover the GRUB installation procedure here, just google
|
||||
for "install grub on floppy/usb/cdrom" and you'll sure find what you're
|
||||
looking for. You can try for example <a href="http://orgs.man.ac.uk/documentation/grub/grub_3.html">here</a>, <a href="http://www.freesoftwaremagazine.com/articles/grub_intro/">here</a> or <a href="http://www.mayrhofer.eu.org/Default.aspx?pageindex=6&pageid=45">here</a>.</li><li>The eLua ELF file. Download it from <a href="http://elua.berlios.de/surprise">here</a>. OR <a href="http://www.eluaproject.net/en/Downloads">download eLua</a> and compile it for the i386 architecture using a toolchain that you can build by following <a href="http://www.eluaproject.net/en/Building_GCC_for_i386">this tutorial</a>.</li><li>a text editor to edit your GRUB configuration file.</li></ul>
|
||||
|
||||
looking for. You can try for example <a target="_blank" href="http://orgs.man.ac.uk/documentation/grub/grub_3.html">here</a>,
|
||||
<a target="_blank" href="http://www.freesoftwaremagazine.com/articles/grub_intro/">here</a> or
|
||||
<a target="_blank" href="http://www.mayrhofer.eu.org/Default.aspx?pageindex=6&pageid=45">here</a>.</li>
|
||||
<li>The <b>eLua</b> i386 ELF file, see <a href="downloads.html">here</a> for instructions on how to obtain it. OR <a href="downloads.html">download the eLua source distribution</a> and compile it
|
||||
for the i386 architecture using a toolchain that you can build by following <a href="tc_386.html">this tutorial</a>.</li>
|
||||
<li>a text editor to edit your GRUB configuration file.</li>
|
||||
</ul></p>
|
||||
|
||||
<p>The rest of this tutorial assumes that you're using Linux with GRUB,
|
||||
and that GRUB is located in /boot/grub, which is true for many Linux
|
||||
distributions (I'm using Ubuntu 8.04).</p>
|
||||
and that GRUB is located in <i>/boot/grub</i>, which is true for many Linux
|
||||
distributions.</p>
|
||||
|
||||
<h2>Let's do this</h2>
|
||||
|
||||
<p>First, copy the <a href="http://elua.berlios.de/surprise">eLua ELF file</a> to your "/boot" directory:</p>
|
||||
<pre><code>$ sudo cp surprise /boot<br></code></pre>
|
||||
<p>First, copy the eLua ELF file to your "/boot" directory:</p>
|
||||
<p><pre><code>$ sudo cp surprise /boot<br></code></pre></p>
|
||||
|
||||
<p>Next you need to add another entry to your GRUB menu file (/boot/grub/menu.lst). Edit it and add this entry:</p>
|
||||
<p>Next you need to add another entry to your GRUB menu file (<i>/boot/grub/menu.lst</i>). Edit it and add this entry:</p>
|
||||
|
||||
<pre><code> title Surprise!<br> root (hd0,0)<br> kernel /boot/surprise<br> boot<br></code></pre>
|
||||
<p><pre><code> title eLua
|
||||
root (hd0,0)
|
||||
kernel /boot/elua_lua_i386.elf <b>(change this if the eLua file name is different)</b>
|
||||
boot</code></pre></p>
|
||||
|
||||
|
||||
<p>You may need to modify the root (hd0,0) line above to match your
|
||||
boot device. The best way to do this is to look in the menu.lst file
|
||||
<p>You may need to modify the <i>root (hd0,0)</i> line above to match your
|
||||
boot device. The best way to do this is to look in the <i>menu.lst</i> file
|
||||
for the entry that boots your Linux kernel. It should look similar to
|
||||
this:</p>
|
||||
|
||||
<pre><code> title Ubuntu, kernel 2.6.20-16-generic<br> root (hd0,2)<br> kernel /boot/vmlinuz-2.6.20-16-generic<br> initrd /boot/initrd.img-2.6.20-16-generic<br> savedefault <br></code></pre>
|
||||
<p><pre><code> title Ubuntu, kernel 2.6.20-16-generic
|
||||
<b>root (hd0,2)</b>
|
||||
kernel /boot/vmlinuz-2.6.20-16-generic
|
||||
initrd /boot/initrd.img-2.6.20-16-generic
|
||||
savedefault</code></pre></p>
|
||||
|
||||
|
||||
<p>After you find it, simply use the root (hdx,y) line from that entry
|
||||
(root (hd0,2) in the example above) in your newly created entry instead
|
||||
of root (hd0,0).
|
||||
<p>After you find it, simply use the <i>root (hdx,y)</i> line from that entry
|
||||
(<i>root (hd0,2)</i> in the example above) in your newly created entry instead
|
||||
of root (hd0,0).<br>
|
||||
That's it! Now reboot your computer, and when the GRUB boot menu
|
||||
appears, choose "Surprise!" from it. You can even type dofile
|
||||
"/rom/bisect.lua" to execute the "bisect.lua" test file. Enjoy!
|
||||
As usual, if you need more details, you can <a href="http://www.eluaproject.net/en/Contact">contact us</a>.
|
||||
Also, if you want to have you own USB stick that boots Lua, let me
|
||||
know. If enough people manifest their interest in this, I'll add
|
||||
another tutorial on how to do it (I already have an USB stick that
|
||||
boots Lua, of course :) ).</p>
|
||||
</div></body></html>
|
||||
appears, choose "eLua" from it. See <a href="using.html">using eLua</a> for
|
||||
instructions on how to use your newly installed self-booting programming language :)</p>
|
||||
<p>As usual, if you need more details, you can <a href="overview.html#contacts">contact us</a>.
|
||||
Also, if you want to go one step ahead and have you own USB stick that boots <b>eLua</b>, check <a href="tut_bootstick.html">this tutorial</a>.</p>
|
||||
</body></html>
|
||||
|
@ -1,57 +1,60 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
|
||||
<html><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Product</title>
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Booting eLua from an USB stick</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style.css"></head>
|
||||
<body style="background-color: rgb(255, 255, 255);"><h3><a name="title" href="http://www.eluaproject.net/en/Booting_eLua_from_a_stick" class="local">Booting eLua from a stick</a></h3>
|
||||
|
||||
<div class="content">
|
||||
|
||||
<p>This is follow up of <a href="http://www.eluaproject.net/en/Booting_your_PC_in_eLua">this tutorial</a>.
|
||||
After completing it you'll be able to boot eLua directly from your USB
|
||||
<body style="background-color: rgb(255, 255, 255);">
|
||||
<h3>Booting eLua from an USB stick</h3>
|
||||
<p>This is follow up of <a href="tut_bootpc.html">this tutorial</a>.
|
||||
After completing it you'll be able to boot <b>eLua</b> directly from your USB
|
||||
stick (provided, of course, that your computer can boot from an USB
|
||||
stick, which is true for most computers nowadays). You might want to
|
||||
check the <a href="http://www.eluaproject.net/en/Booting_your_PC_in_eLua">boot your PC in eLua</a>
|
||||
check the <a href="tut_bootpc.html">boot your PC in eLua</a>
|
||||
tutorial first for more details. If you have an old USB stick that you
|
||||
don't use anymore, and/or the shear geekness of this idea makes you
|
||||
feel curious, this tutorial is definitely for you :)</p>
|
||||
|
||||
<h2>Disclaimer</h2>
|
||||
|
||||
<p><strong>As mentioned <a href="http://www.eluaproject.net/en/Booting_your_PC_in_eLua">here</a>,
|
||||
<p><strong>As mentioned <a href="tut_bootpc.html">here</a>,
|
||||
the code won't try to access any kind of storage (HDD, CDROM, floppy),
|
||||
not even for reading, so you don't need to worry about that. Also it
|
||||
doesn't try to reprogram your video card registers, so it can't harm it
|
||||
or your monitor. It only implements a "protected mode keyboard driver"
|
||||
that can't physically damage anything in your system. In short, I made
|
||||
every effort to make the code as harmless as possible. I tested it on 5
|
||||
different computers and in 2 <a href="http://www.virtualbox.org/">VirtualBox</a>
|
||||
different computers and in 2 <a htarget="_blank" ref="http://www.virtualbox.org/">VirtualBox</a>
|
||||
emulators, and nothing bad happened. That said, there are no warranties
|
||||
of any kind. In the very unlikely event that something bad does happen
|
||||
to your system, you have my sincere sympathy, but I can't be held
|
||||
responsible for that. Also, I can't be held responsible if you mess up
|
||||
your HDD by failing the GRUB installation procedure (even though, once
|
||||
again, this shouldn't be possible unless you really insist on messing
|
||||
it up). If you're new to computers, this tutorial might not be for you.
|
||||
it up). If you're new to computers or Linux, this tutorial might not be for you.
|
||||
Your call.</strong></p>
|
||||
|
||||
<h2>Prerequisites</h2>
|
||||
|
||||
<p>To have your own bootable eLua USB stick you'll need:</p>
|
||||
<p>To have your own bootable eLua USB stick you'll need:
|
||||
|
||||
<ul><li>an USB stick. I tested this on an 128M USB stick, because
|
||||
it's the smallest I could find. You should be OK with a 4M stick or
|
||||
even a 2M stick</li><li>a computer running Linux. I use Ubuntu, but any other distribution is fine.</li><li><a href="http://www.gnu.org/software/grub/">GRUB</a>.
|
||||
even a 2M stick</li>
|
||||
<li>a computer running Linux. I use Ubuntu, but any other distribution is fine.</li>
|
||||
<li><a target="_blank" href="http://www.gnu.org/software/grub/">GRUB</a>.
|
||||
Since you're running Linux, chances are you're already using GRUB as
|
||||
your bootloader. If not, you must install it on your HDD, or at least
|
||||
know how to install it directly on the USB stick. I won't go into
|
||||
details here, google it and you'll find lots of good articles about
|
||||
GRUB. This tutorial assumes that you're using GRUB as your bootloader.</li><li>The eLua ELF file. Download it from <a href="http://elua.berlios.de/surprise">here</a>. OR <a href="http://www.eluaproject.net/en/Downloads">download eLua</a> and compile it for the i386 architecture using a toolchain that you can build by following <a href="http://www.eluaproject.net/en/Building_GCC_for_i386">this tutorial</a>.</li><li>a text editor to edit your GRUB configuration file.</li></ul>
|
||||
GRUB. This tutorial assumes that you're using GRUB as your bootloader.</li>
|
||||
<li>The <b>eLua</b> i386 ELF file, see <a href="downloads.html">here</a> for instructions on how to obtain it. OR <a href="downloads.html">download the eLua source distribution</a> and compile it
|
||||
for the i386 architecture using a toolchain that you can build by following <a href="tc_386.html">this tutorial</a>.</li>
|
||||
<li>a text editor to edit your GRUB configuration file.</li></ul></p>
|
||||
|
||||
|
||||
<p>The rest of this tutorial assumes that you're using Linux with GRUB,
|
||||
and that GRUB is located in /boot/grub, which is true for many Linux
|
||||
and that GRUB is located in <i>/boot/grub</i>, which is true for many Linux
|
||||
distributions.</p>
|
||||
<h2>Backup your stick</h2>
|
||||
|
||||
@ -65,39 +68,69 @@ tutorial).</p>
|
||||
chances are you'll need to re-partition and re-format your stick before
|
||||
installing GRUB on it. The problem is that many sticks have a very
|
||||
creative, non-standard partition table, and GRUB doesn't like that. I
|
||||
looked at the partition table on my eLua USB stick, and it scared me to
|
||||
looked at the original partition table of my <b>eLua</b> USB stick and it scared me to
|
||||
death, so I had to follow this procedure. In short, you'll need to
|
||||
delete all the partitions from your stick, create a new partition, and
|
||||
then format it. For a step by step tutorial check here.</p>
|
||||
then format it. For a step by step tutorial check <a target="_blank" href="http://www.4p8.com/eric.brasseur/suse9.1_usb_stick.html">here</a>.</p>
|
||||
<h2>Install GRUB on your stick</h2>
|
||||
|
||||
<p>First, mount your freshly formatted stick (I'm going to assume that the mount directory is /mnt):</p>
|
||||
<p>First, mount your freshly formatted stick (I'm going to assume that the mount directory is <i>/mnt</i>):</p>
|
||||
|
||||
<pre><code> $ sudo mount /dev/sda1 /mnt<br></code></pre>
|
||||
<p><pre><code>$ sudo mount /dev/sda1 /mnt<br></code></pre></p>
|
||||
|
||||
|
||||
<p>(of course, you'll need to change /dev/sda1 to reflect the physical location of your USB stick).
|
||||
<p>(of course, you'll need to change <i>/dev/sda1</i> to reflect the physical location of your USB stick. You should know the physical location from the previous step).
|
||||
Then copy the required GRUB files to your stick:</p>
|
||||
|
||||
<pre><code> $ cd /mnt<br> $ mkdir boot<br> $ mkdir boot/grub<br> $ cd /boot/grub<br> $ cp stage1 fat_stage1_5 stage2 /mnt/boot/grub<br></code></pre>
|
||||
<p><pre><code>$ cd /mnt
|
||||
$ mkdir boot
|
||||
$ mkdir boot/grub
|
||||
$ cd /boot/grub
|
||||
$ cp stage1 fat_stage1_5 stage2 /mnt/boot/grub</code></pre></p>
|
||||
|
||||
<p>Copy the <b>eLua</b> ELF file (<i>elua_lua_i386.elf</i> in this example, change the name if needed) to the GRUB directory as well:</p>
|
||||
|
||||
<p>Copy the <a href="http://elua.berlios.de/surprise">eLua ELF file</a> to the GRUB directory as well:</p>
|
||||
<p><pre><code>$ cp elua_lua_i386.elf /mnt/boot/grub</code></pre></p>
|
||||
|
||||
<pre><code> $ cp surprise /mnt/boot/grub<br></code></pre>
|
||||
<p>Create a <i>menu.lst</i> file for GRUB with you favorite text editori (I'm using vim):</p>
|
||||
|
||||
|
||||
<p>Create a menu.lst file for GRUB with you favorite text editor (I'm using joe):</p>
|
||||
|
||||
<pre><code> $ cd /mnt/boot/grub<br> $ joe menu.lst<br> title Surprise!<br> root (hd0,0)<br> kernel /boot/grub/surprise<br> boot<br></code></pre>
|
||||
<p><pre><code>$ cd /mnt/boot/grub
|
||||
$ vim menu.lst
|
||||
title eLua
|
||||
root (hd0,0)
|
||||
kernel /boot/grub/elua_lua_i386.elf
|
||||
boot</code></pre></p>
|
||||
|
||||
<p>Now it's time to actually install GRUB on the stick.</p>
|
||||
|
||||
<pre><code> $ sudo -s -H<br> # grub<br> Now we need to find the GRUB name of our USB stick. We'll use the "find" command from<br> GRUB and our "surprise" file to accomplish this:<br><br> grub> find /boot/grub/surprise<br> (hd2,0)<br><br> GRUB should respond with a single line (like (hd2,0) above). If it gives you more <br> than one line, something is wrong. Maybe you also installed eLua on your HDD? If so, <br> delete the /boot/grub/surprise file from your HDD and try again.<br> You might get a different (hdx,y) line. If so, just use it instead of (hd2,0) in the rest of <br> this tutorial.<br><br> grub> root (hd2,0)<br> grub> setup (hd2)<br> Checking if "/boot/grub/stage1" exists... yes<br> Checking if "/boot/grub/stage2" exists... yes<br> Checking if "/boot/grub/fat_stage1_5" exists... yes<br> Running "embed /boot/grub/fat_stage1_5 (hd2)"... 15 sectors are embedded.<br> succeeded<br> Running "install /boot/grub/stage1 (hd2) (hd2)1+15 p (hd2,0)/boot/grub/stage2<br> /boot/grub/menu.lst"... succeeded<br> Done. <br> grub> quit<br></code></pre>
|
||||
<p><pre><code>$ sudo -s -H
|
||||
# grub
|
||||
|
||||
<b>Now we need to find the GRUB name of our USB stick. We'll use the "find" command from
|
||||
GRUB and our eLua ELF file to accomplish this:</b>
|
||||
|
||||
grub> find /boot/grub/elua_lua_i386.elf
|
||||
(hd2,0)
|
||||
|
||||
<b>GRUB should respond with a single line (like (hd2,0) above). If it gives you more
|
||||
than one line, something is wrong. Maybe you also installed eLua on your HDD? If so,
|
||||
delete the /boot/grub/elua_lua_i386.elf file from your HDD and try again.
|
||||
You might get a different (hdx,y) line. If so, just use it instead of (hd2,0) in the
|
||||
rest of this tutorial</b>.
|
||||
|
||||
grub> root (hd2,0)
|
||||
grub> setup (hd2)
|
||||
Checking if "/boot/grub/stage1" exists... yes
|
||||
Checking if "/boot/grub/stage2" exists... yes
|
||||
Checking if "/boot/grub/fat_stage1_5" exists... yes
|
||||
Running "embed /boot/grub/fat_stage1_5 (hd2)"... 15 sectors are embedded.
|
||||
succeeded
|
||||
Running "install /boot/grub/stage1 (hd2) (hd2)1+15 p (hd2,0)/boot/grub/stage2
|
||||
/boot/grub/menu.lst"... succeeded
|
||||
Done.
|
||||
grub> quit</code></pre></p>
|
||||
|
||||
<p>That's it! Now reboot your computer, make sure that your BIOS is set
|
||||
to boot from USB, and enjoy! You can even type dofile "/rom/bisect.lua"
|
||||
to execute the "bisect.lua" test file.
|
||||
As usual, if you need more details, you can <a href="http://www.eluaproject.net/en/Contact">contact us</a>.</p>
|
||||
</div></body></html>
|
||||
to boot from USB, and enjoy! See <a href="using.html">using eLua</a> for
|
||||
instructions on how to use your new toy :).</p>
|
||||
<p>As usual, if you need more details, you can <a href="overview.html#contacts">contact us</a>.</p>
|
||||
</body></html>
|
||||
|
@ -1,28 +1,29 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
|
||||
<html><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Product</title>
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Using OpenOCD</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style.css"></head>
|
||||
<body style="background-color: rgb(255, 255, 255);"><h3><a name="title" href="http://www.eluaproject.net/en/Using_OpenOCD" class="local">Using OpenOCD</a></h3>
|
||||
|
||||
<div class="content">
|
||||
<body style="background-color: rgb(255, 255, 255);">
|
||||
<h3>Using OpenOCD</h3>
|
||||
<p>This section presents <a target="_blank" href="http://openocd.berlios.de">OpenOCD</a>, a tool used to program <b>eLua</b> on some of its targets.
|
||||
If you'd rather skip the long and boring OpenOCD introduction and
|
||||
skip directly to the OpenOCD script downloads, use the links below.
|
||||
|
||||
<h2>Quick downloads</h2>
|
||||
|
||||
<p>If you'd rather skip the long and boring OpenOCD introduction and
|
||||
skip directly to the OpenOCD script downloads, use the links below.</p>
|
||||
|
||||
|
||||
<ul><li><p><a href="http://www.eluaproject.net/en/Using_OpenOCD?p=Using_OpenOCD#str9files">Configuration files for STR9-comStick</a></p></li><li><p><a href="http://www.eluaproject.net/en/Using_OpenOCD?p=Using_OpenOCD#lpc2888files">Configuration files for LPC2888</a></p></li><li><p><a href="http://www.eluaproject.net/en/Using_OpenOCD?p=Using_OpenOCD#str7files">Configuration files for STR7</a></p></li></ul>
|
||||
<ul>
|
||||
<li><a href="#str9files">Configuration files for STR9-comStick</a></li>
|
||||
<li><a href="#lpc2888files">Configuration files for LPC2888</a></li>
|
||||
<li><a href="#str7files">Configuration files for STR7</a></li>
|
||||
</ul></p>
|
||||
|
||||
<h2>About OpenOCD</h2>
|
||||
|
||||
<p><a href="http://elua.berlios.de/tut_openocd.html">OpenOCD</a> is an open source tool that can be used to connect to a CPU's <a href="http://en.wikipedia.org/wiki/JTAG">JTAG</a>
|
||||
<p><a target="_blank" href="http://openocd.berlios.de">OpenOCD</a> is an open source tool that can be used to connect to a CPU's
|
||||
<a target="_blank" href="http://en.wikipedia.org/wiki/JTAG">JTAG</a>
|
||||
interface. Using OpenOCD and a physical JTAG connection allows you to
|
||||
burn the on-chip flash memory of your CPU (or to load your code
|
||||
directly to RAM), to read the internal CPU memory (Flash/RAM) and to
|
||||
use <a href="http://sourceware.org/gdb/">gdb</a> to debug your code.
|
||||
use <a target="_blank" href="http://sourceware.org/gdb/">gdb</a> or other debuggers to debug your code.
|
||||
Needless to say, this is a very handy tool (and especially handy if
|
||||
your CPU happens to be built around an ARM core, since in this case you
|
||||
can be almost certain that it has a JTAG interface that you can use).
|
||||
@ -34,39 +35,47 @@ while to get used to. Worse, I feel that it is not very well
|
||||
docummented. The project's wiki does give a few good pointers about all
|
||||
the configuration parameters, and there are some good OpenOCD tutorials
|
||||
out there, but none of them tells the whole story. And the syntax (and
|
||||
even some commands) seems to change slightly between releases, which
|
||||
even some commands) seems to change between releases, which
|
||||
makes things even more confusing. This is why I generally choose to use
|
||||
a different firmware burning tool when available, and resort to OpenOCD
|
||||
only for targets that lack a proper firmware burning tool. If you need
|
||||
to debug your code, however, you probably want to use OpenOCD, since
|
||||
the alternatives aren't cheap.
|
||||
To summarize, you can forget about OpenOCD when:</p>
|
||||
To summarize, you can forget about OpenOCD when:
|
||||
|
||||
<ul><li><p>your CPU manufacturer provides a special tool for
|
||||
<ul>
|
||||
<li>your CPU manufacturer provides a special tool for
|
||||
firmware burning. This is quite often the case, but more often that not
|
||||
the forementioned tools work only in Windows.</p></li><li><p>you
|
||||
must debug your code, but you have a good intuition about where the
|
||||
the forementioned tools work only in Windows.</li>
|
||||
<li>you must debug your code, but you have a good intuition about where the
|
||||
problem is located. In this case, simply connecting a LED to a PIO port
|
||||
and turning it on and off from different parts of your code until you
|
||||
figure out exactly what's the problem can work wonders. I can't
|
||||
remember when was the last time I used gdb for debugging, since "LED
|
||||
debugging" was all I needed. </p></li></ul>
|
||||
debugging" was all I needed. </li>
|
||||
</ul></p>
|
||||
|
||||
<p>On the other hand, you should probably use OpenOCD when:</p>
|
||||
<p>On the other hand, you should probably use OpenOCD when:
|
||||
|
||||
<ul><li><p>your CPU manufacturer doesn't provide a special tool for firmware burning (or it does, but it's not what you need).</p></li><li><p>you're using Linux, MacOS or another OS that is not supported by the firmware burning tool.</p></li><li><p>you need to do some serious debugging in order to understand what's wrong with your application.</p></li></ul>
|
||||
<ul>
|
||||
<li>your CPU manufacturer doesn't provide a special tool for firmware burning (or it does, but it's not what you need).</li>
|
||||
<li>you're using Linux, MacOS or another OS that is not supported by the firmware burning tool.</li>
|
||||
<li>you need to do some serious debugging in order to understand what's wrong with your application.</li>
|
||||
</ul></p>
|
||||
|
||||
<p>If you decided that you don't need OpenOCD after all, now it's a
|
||||
good time to navigate away from this page and save yourself from some
|
||||
possible symptoms of headache. If you need OpenOCD, read on, I'll try
|
||||
to make this as painless as possible. However, don't expect this to be
|
||||
a full tutorial on OpenOCD, because it's not; my intention is to give
|
||||
you just enough data to use OpenOCD for burning eLua on your board.
|
||||
you just enough data to use OpenOCD for burning <b>eLua</b> on your board.
|
||||
Because of this, I won't be covering debugging with OpenOCD here, just
|
||||
firmware burning. And, before we begin, please read and understand the
|
||||
next paragraph.</p>
|
||||
|
||||
<p>DISCLAIMER: using OpenOCD improperly may force your CPU to behave
|
||||
<h2>Disclaimer</h2>
|
||||
|
||||
<p><b>Using OpenOCD improperly may force your CPU to behave
|
||||
unexpectedly. While physically damaging your CPU as a result of using
|
||||
OpenOCD is very hard to accomplish, you might end up with a locked
|
||||
chip, or you might erase a memory area that was not supposed to be
|
||||
@ -75,18 +84,18 @@ rendering it unusable). If you modify the configuration scripts that
|
||||
I'm going to provide, make sure that you know what you're doing. Also,
|
||||
I'm not at all an OpenOCD expert, so my configuration scripts might
|
||||
have errors, even though I tested them. In short, this tutorial comes
|
||||
without any guarantees whatsoever.</p>
|
||||
without any guarantees whatsoever.</b></p>
|
||||
<h2>Getting OpenOCD</h2>
|
||||
|
||||
<p>If you're on Windows, the best place to get OpenOCD already compiled and ready to run is to visit the <a href="http://www.yagarto.de/">Yagarto home page</a>.
|
||||
<p>If you're on Windows, the best way to get OpenOCD already compiled and ready to run is to
|
||||
visit the <a target="_blank" href="http://www.yagarto.de/">Yagarto home page</a>.
|
||||
They provide a very nice OpenOCD installer, and they seem to keep up
|
||||
with OpenOCD progress (the versions on the Yagarto site are not
|
||||
"bleeding edge", but there are quite fresh nevertheless). If you're on
|
||||
Linux, you can always use apt-get or your distribution-specific package
|
||||
manager:</p>
|
||||
|
||||
<pre><code>$ sudo apt-get install openocd<br></code></pre>
|
||||
|
||||
<p><pre><code>$ sudo apt-get install openocd<br></code></pre></p>
|
||||
|
||||
<p>There is a catch here though: the OpenOCD version that I get from
|
||||
apt-get is dated 2007-09-05, while the Yagarto OpenOCD version is from
|
||||
@ -96,8 +105,9 @@ instructions are relevant to the Yagarto version. As mentioned in the
|
||||
introduction, the meaning and parameters of different commands might
|
||||
change between OpenOCD version, so if you want to use the Yagarto
|
||||
version on your non Windows system, you'll have to build it from source
|
||||
(see below).
|
||||
The main resource on how to build OpenOCD from source is the <a href="http://openfacts.berlios.de/index-en.phtml?title=Building_OpenOCD">OpenOCD build page</a> from the OpenOCD wiki. Also, a very good tutorial can be found <a href="http://forum.sparkfun.com/viewtopic.php?t=11221">here</a>.
|
||||
(see below).<br>
|
||||
The main resource on how to build OpenOCD from source is the <a target="_blank" href="http://openfacts.berlios.de/index-en.phtml?title=Building_OpenOCD">OpenOCD build page</a>
|
||||
from the OpenOCD wiki. Also, a very good tutorial can be found <a target="_blank" href="http://forum.sparkfun.com/viewtopic.php?t=11221">here</a>.
|
||||
I'm not going to provide step by step build instructions, since the two
|
||||
links that I mentioned cover this very well, and the build process is
|
||||
relatively straightforward. However, since both tutorials describe how
|
||||
@ -105,67 +115,95 @@ to build the bleeding edge version of OpenOCD, you'll need a slight
|
||||
modification do build the Yagarto version instead. The modification is
|
||||
in the SVN checkout step. Replace this step:</p>
|
||||
|
||||
<pre><code>$ svn checkout svn://svn.berlios.de/openocd/trunk<br></code></pre>
|
||||
<p><pre><code>$ svn checkout svn://svn.berlios.de/openocd/trunk<br></code></pre></p>
|
||||
|
||||
<p>with this step ('717' is the SVN revision of the Yagarto OpenOCD build):</p>
|
||||
|
||||
<p>With this step ('717' is the SVN revision of the Yagarto OpenOCD build):</p>
|
||||
|
||||
<pre><code>$ svn checkout -r 717 svn://svn.berlios.de/openocd/trunk<br></code></pre>
|
||||
<p><pre><code>$ svn checkout <b>-r 717</b> svn://svn.berlios.de/openocd/trunk<br></code></pre></p>
|
||||
|
||||
|
||||
<p>Follow the rest of the build instructions, and in the end you should have a working OpenOCD.</p>
|
||||
<h2>Supported targets</h2>
|
||||
|
||||
<p>I couldn't find a good page with a list of the targets that are
|
||||
<p>I couldn't find a good list of the targets that are
|
||||
supported by OpenOCD. So, if you want to check if your particular CPU
|
||||
is supported by OpenOCD, I recommend getting the latest sources (as
|
||||
described in the previous section) and listing the
|
||||
trunk/src/target/target directory:</p>
|
||||
|
||||
<pre><code>$ ls trunk/src/target/target<br> at91eb40a.cfg<br> at91r40008.cfg<br> cfi.c<br> ....<br> str9comstick.cfg<br> ....<br></code></pre>
|
||||
<p><pre><code>$ ls trunk/src/target/target
|
||||
at91eb40a.cfg
|
||||
at91r40008.cfg
|
||||
....
|
||||
str9comstick.cfg
|
||||
....
|
||||
</code></pre></p>
|
||||
|
||||
|
||||
<p>If this listing has something that looks like your CPU name, you're
|
||||
in luck. OpenOCD has support for LPC from NXP, AT91SAM cfrom Atmel,
|
||||
STR7/STR9 from ST, and many others.</p>
|
||||
<p>If this listing has something that looks like your CPU name, you're lucky. OpenOCD has support for LPC from NXP, AT91SAM cfrom Atmel, STR7/STR9 from ST, and many others.</p>
|
||||
|
||||
<h2>Using OpenOCD</h2>
|
||||
|
||||
<p>To use OpenOCD, you'll need:</p>
|
||||
|
||||
<ul><li>the OpenOCD executable, as described above</li><li>a board with a JTAG interface</li><li>a JTAG adapter</li></ul>
|
||||
<ul>
|
||||
<li>the OpenOCD executable, as described above</li>
|
||||
<li>a board with a JTAG interface</li>
|
||||
<li>a JTAG adapter</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<p>In some cases, your CPU board might provide a built in JTAG adapter. For example, my <a href="http://www.luminarymicro.com/products/lm3s8962_can_ethernet_evaluation_kit.html">LM3S8962</a>
|
||||
<p>In some cases, your CPU board might provide a built in JTAG adapter. For example,
|
||||
my <a target="_blank" href="http://www.luminarymicro.com/products/lm3s8962_can_ethernet_evaluation_kit.html">LM3S8962</a>
|
||||
board provides both an USB-to-JTAG and an USB-to-serial converter built
|
||||
on board, switching between them automatically. The same is true for my
|
||||
<a href="http://www.hitex.com/index.php?id=383">STR9-comStick</a>. On the other hand, my <a href="http://www.olimex.com/dev/sam7-ex256.html">SAM7-EX256</a> board has only a JTAG connector, I need a separate JTAG adapter to connect to it. I'm using <a href="http://www.olimex.com/dev/arm-usb-tiny.html">ARM-USB-TINY</a> from Olimex, but there are other affordable USB-to-JTAG adapters out there, like the Amontec <a href="http://www.amontec.com/jtagkey-tiny.shtml">JTAGKey-Tiny</a>. Not to mention that you can <a href="http://www.hs-augsburg.de/%7Ehhoegl/proj/usbjtag/usbjtag.html">build your ownt</a>.
|
||||
Although USB is my interface of choice, you'll find JTAG adapters for
|
||||
on board, switching between them automagically. The same is true for my
|
||||
<a target="_blank" href="http://www.hitex.com/index.php?id=383">STR9-comStick</a>.
|
||||
On the other hand, my <a target="_blank" href="http://www.olimex.com/dev/sam7-ex256.html">SAM7-EX256</a> board has only a JTAG connector, I need a separate JTAG adapter to connect to it.
|
||||
I'm using <a target="_blank" href="http://www.olimex.com/dev/arm-usb-tiny.html">ARM-USB-TINY</a> from Olimex, but there are other affordable USB-to-JTAG adapters out there,
|
||||
like the <a target="_blank" href="http://www.amontec.com/jtagkey-tiny.shtml">Amontec JTAGKey-Tiny</a>. Not to mention that you can
|
||||
<a target="_blank" href="http://www.hs-augsburg.de/%7Ehhoegl/proj/usbjtag/usbjtag.html">build your own</a>. Although USB is my interface of choice, you'll find JTAG adapters for
|
||||
PC LPT ports too. The good news is that once you buy a JTAG adapter,
|
||||
chances are that it will work with many boards with different CPUs,
|
||||
since the JTAG connector layout is standardized and the JTAG adapters
|
||||
are generally able to work with different voltages.
|
||||
To actually use OpenOCD, you'll need a configuration file. The
|
||||
are generally able to work with different voltages.<br>
|
||||
To actually use OpenOCD, the next thing you'll need is a configuration file. The
|
||||
configuration file is the one that lets OpenOCD know about your setup,
|
||||
such as:</p>
|
||||
|
||||
<pre><code>* the kind of JTAG interface that you're using.<br>* the actual hardware platform you're using (ATM7TDMI, ARM966 and others).<br>* the memory configuration of your CPU (flash banks).<br>* the script used to program the flash memory.<br></code></pre>
|
||||
such as:
|
||||
<ul>
|
||||
<li>the kind of JTAG interface that you're using.</li>
|
||||
<li>the actual hardware platform you're using (ATM7TDMI, ARM966 and so on).</li>
|
||||
<li>the memory configuration of your CPU (flash banks).</li>
|
||||
<li>the script used to program the flash memory.</li>
|
||||
</ul></p>
|
||||
|
||||
|
||||
<p>Presenting a list of all the possible configuration options and
|
||||
their meaning is way beside the scope of this document, so I'm not
|
||||
going to do it, I'll give an example instead. For the example I'm going
|
||||
to use parts of my STR-comStick configuration file (comstick.cfg)
|
||||
going to do it, I'll give an example instead. I'm going
|
||||
to use parts of my STR9-comStick configuration file (comstick.cfg)
|
||||
adapted from the OpenOCD distribution and from other examples (don't
|
||||
worry, I'll provide full download links for this file later on). First
|
||||
we need to tell OpenOCD that we're using a the STR9-comStick
|
||||
USB-to-JTAG adapter:</p>
|
||||
|
||||
<pre><code>interface ft2232<br>ft2232_device_desc "STR9-comStick A"<br>ft2232_layout comstick<br>ft2232_vid_pid 0x0640 0x002C<br>jtag_speed 4<br>jtag_nsrst_delay 100<br>jtag_ntrst_delay 100<br></code></pre>
|
||||
<p><pre><code>interface ft2232
|
||||
ft2232_device_desc "STR9-comStick A"
|
||||
ft2232_layout comstick
|
||||
ft2232_vid_pid 0x0640 0x002C
|
||||
jtag_speed 4
|
||||
jtag_nsrst_delay 100
|
||||
jtag_ntrst_delay 100
|
||||
</code></pre></p>
|
||||
|
||||
|
||||
<p>Also, OpenOCD needs to know what's our target and its memory layout:</p>
|
||||
|
||||
<pre><code>target arm966e little run_and_init 1 arm966e<br>run_and_halt_time 0 50<br><br>working_area 0 0x50000000 32768 nobackup<br><br>flash bank str9x 0x00000000 0x00080000 0 0 0<br>flash bank str9x 0x00080000 0x00008000 0 0 0 <br></code></pre>
|
||||
<p><pre><code>target arm966e little run_and_init 1 arm966e
|
||||
run_and_halt_time 0 50
|
||||
|
||||
working_area 0 0x50000000 32768 nobackup
|
||||
|
||||
flash bank str9x 0x00000000 0x00080000 0 0 0
|
||||
flash bank str9x 0x00080000 0x00008000 0 0 0</code></pre></p>
|
||||
|
||||
|
||||
<p>This tells OpenOCD that our target is an ARM966-E running in little
|
||||
@ -175,36 +213,50 @@ it's 0x8000 bytes in size. Finally, OpenOCD must know what's the name
|
||||
of our script file (this is the file that is used to pysically program
|
||||
the CPU memory):</p>
|
||||
|
||||
<pre><code>#Script used for FLASH programming<br>target_script 0 reset str91x_flashprogram.script<br></code></pre>
|
||||
<p><pre><code>#Script used for FLASH programming
|
||||
target_script 0 reset str91x_flashprogram.script</code></pre></p>
|
||||
|
||||
|
||||
<p>The contents of the str91x_flashprogram.script is very target-dependent:</p>
|
||||
|
||||
<pre><code>wait_halt<br>str9x flash_config 0 4 2 0 0x80000<br>flash protect 0 0 7 off<br>flash erase_sector 0 0 7<br>flash write_bank 0 main.bin 0<br>reset run<br>sleep 10<br>shutdown<br></code></pre>
|
||||
<p><pre><code>wait_halt
|
||||
str9x flash_config 0 4 2 0 0x80000
|
||||
flash protect 0 0 7 off
|
||||
flash erase_sector 0 0 7
|
||||
flash write_bank 0 main.bin 0
|
||||
reset run
|
||||
sleep 10
|
||||
shutdown</code></pre></p>
|
||||
|
||||
|
||||
<p>I'm not even going to attempt to explain this one :) Basically it
|
||||
unprotects the flash, erases it, writes the contents of "main.bin" to
|
||||
flash, and then resets the CPU. If you need to flash a file with a
|
||||
different name, the only thing you need to modify is the "main.bin" in
|
||||
the "flash write_bank" line.
|
||||
the "flash write_bank" line.<br>
|
||||
To use all this, you need to tell OpenOCD to use our configuration file:</p>
|
||||
|
||||
<pre><code>openocd-ftd2xx -f comstick.cfg<br></code></pre>
|
||||
<p><pre><code>openocd-ftd2xx -f comstick.cfg<br></code></pre></p>
|
||||
|
||||
|
||||
<p>(note: under Windows, the OpenOCD executable name is often
|
||||
<p>(<b>note</b>: under Windows, the OpenOCD executable name is often
|
||||
"openocd-ftd2xx". Under Linux it's simply "openocd". Replace it with
|
||||
the actualy name with your executable.)
|
||||
That's it for your OpenOCD crash course. I realise that there's much
|
||||
the actualy name with your executable).</p>
|
||||
<p>That's it for your OpenOCD crash course. I realise that there's much
|
||||
more to learn, so here's a list of links with much better information
|
||||
on the subject:</p>
|
||||
on the subject:
|
||||
|
||||
<ul><li><a href="http://www.hs-augsburg.de/%7Ehhoegl/proj/openocd/oocd-quickref.pdf">OpenOCD quick reference</a> card. (slightly outdated)</li><li>A very good OpenOCD tutorial.</li><li><a href="http://openfacts.berlios.de/index-en.phtml?title=OpenOCD_scripts">OpenOCD configuration examples</a> from the official OpenOCD wiki.</li><li>An excellent page about using <a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/openocd_intro/index.html">OpenOCD with ARM controllers</a>, with lots of real life examples.</li><li>An interesting <a href="http://forum.sparkfun.com/viewtopic.php?p=42079">topic on the SparkFun forum</a> about STR9 and OpenOCD.</li></ul>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://www.hs-augsburg.de/%7Ehhoegl/proj/openocd/oocd-quickref.pdf">OpenOCD quick reference</a> card. (slightly outdated)</li>
|
||||
<li><a target="_blank" href="http://openfacts.berlios.de/index-en.phtml?title=OpenOCD_scripts">OpenOCD configuration examples</a> from the official OpenOCD wiki.</li>
|
||||
<li>An excellent page about using <a target="_blank" href="http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/openocd_intro/index.html">OpenOCD with ARM controllers</a>, with lots
|
||||
of real life examples.</li>
|
||||
<li>An interesting <a target="_blank" href="http://forum.sparkfun.com/viewtopic.php?p=42079">topic on the SparkFun forum</a> about STR9 and OpenOCD.</li>
|
||||
</ul></p>
|
||||
|
||||
|
||||
<p><a name="str9files"></a></p>
|
||||
<h2>Configuration files for STR9-comStick</h2>
|
||||
<h2>##Configuration files for STR9-comStick</h2>
|
||||
|
||||
<p>Download them below:</p>
|
||||
|
||||
@ -216,46 +268,47 @@ on the subject:</p>
|
||||
|
||||
<p><a href="http://elua.berlios.de/other/str91x_reset.script">str91x_reset.script</a></p>
|
||||
|
||||
<p>The comstick.cfg configuration file is for prorgramming the
|
||||
STR9-comStick. comrst.cfg is for resetting it. The comStick has a very
|
||||
<p>The <b>comstick.cfg</b> configuration file is for prorgramming the
|
||||
STR9-comStick. <b>comrst.cfg</b> is for resetting it. The comStick has a very
|
||||
interesting habit: after you power it (via USB) it does not start
|
||||
executing the code from the internal flash, you need to execute OpenOCD
|
||||
with the comreset.cfg script to start it. This script does exactly what
|
||||
with the comreset.cfg script to start it. <b>comrst.cfg</b> does exactly what
|
||||
it says: executes a CPU reset (since the board doesn't have a RESET
|
||||
button). This is a very peculiar behaviour, and I'm not sure if it's
|
||||
generic or it's only relevant to my particular comStick. I suspect that
|
||||
the CPU RESET line isn't properly handled by the on-board USB-to-JTAG
|
||||
converter, and the only solution I have for this is to execute this
|
||||
script everytime you power the board and everytime you need to do a
|
||||
RESET.</p>
|
||||
RESET.<br>
|
||||
Also, be sure to modify <b>str91x_flashprogram.script</b> if your image name is
|
||||
not <b>main.bin</b></p>
|
||||
|
||||
<p><a name="lpc2888files"></a></p>
|
||||
<h2>Configuration files for LPC2888</h2>
|
||||
<h2>##Configuration files for LPC2888</h2>
|
||||
|
||||
<p>LPC2888 is quite a different animal. I couldn't find any "official"
|
||||
LPC2888 configuration file for OpenOCD, so I had to learn how to write
|
||||
my own. It works, but I suspect it can be improved. This time, the
|
||||
configuration file applies to the latest (SVN) version of OpenOCD, so
|
||||
read this tutorial to understand how to get the latest OpenOCD sources
|
||||
use this tutorial to understand how to get the latest OpenOCD sources
|
||||
and how to compile them (this section is based on version 922 of the
|
||||
OpenOCD repository). Then use the next file to burn your binary image
|
||||
to the chip:</p>
|
||||
|
||||
<p><a href="http://elua.berlios.de/other/lpc2888.cfg">lpc2888.cfg</a></p>
|
||||
|
||||
<p>If your image name is not main.bin edit the file and change the
|
||||
corresponding line (flash write_bank 0 main.bin 0), then invoke openocd
|
||||
<p>If your image name is not <b>main.bin</b> edit the file and change the
|
||||
corresponding line (<i>flash write_bank 0 main.bin 0</i>), then invoke openocd
|
||||
like this:</p>
|
||||
|
||||
<pre><code>openocd -f lpc2888.cfg<br></code></pre>
|
||||
<p><pre><code>openocd -f lpc2888.cfg<br></code></pre></p>
|
||||
|
||||
|
||||
<p>I'm using <a href="http://www.olimex.com/dev/arm-usb-tiny.html">ARM-USB-TINY</a>
|
||||
<p>I'm using <a target="_blank" href="http://www.olimex.com/dev/arm-usb-tiny.html">ARM-USB-TINY</a>
|
||||
from Olimex, but it should be easy to use the script with any other
|
||||
JTAG adapter (don't forget to change the script to match your adapter).</p>
|
||||
|
||||
<p><a name="str7files"></a></p>
|
||||
<h2>Configuration files for STR711FR2 (STR7 from ST)</h2>
|
||||
<h2><a name="str7files">##Configuration files for STR711FR2 (STR7 from ST)</a></h2>
|
||||
|
||||
<p>Download them below:</p>
|
||||
|
||||
@ -265,24 +318,24 @@ JTAG adapter (don't forget to change the script to match your adapter).</p>
|
||||
|
||||
<p><a href="http://elua.berlios.de/other/str7rst.cfg">str7rst.cfg</a></p>
|
||||
|
||||
<p><a href="http://elua.berlios.de/other/str7_reset.script">str7_reset.scrip</a></p>
|
||||
<p><a href="http://elua.berlios.de/other/str7_reset.script">str7_reset.script</a></p>
|
||||
|
||||
<p>For STR7 I'm using the Yagarto OpenOCD build for Windows (repository
|
||||
version 717, as described at the beginning of this tutorial). The
|
||||
str7prg.cfg configuration file is for prorgramming the STR9-comStick.
|
||||
str7rst.cfg is for resetting it. I'm using a STR711FR2 heard board from
|
||||
<a href="http://www.sctec.com.br/content/view/101/30/">ScTec</a> to
|
||||
<b>str7prg.cfg</b> configuration file is for prorgramming the STR9-comStick.
|
||||
<b>str7rst.cfg</b> is for resetting it (you probably won't need this one). I'm using a STR711FR2 heard board from
|
||||
<a target="_blank" href="http://www.sctec.com.br/content/view/101/30/">ScTec</a> to
|
||||
which I attached a few LEDs and a MAX3232 TTL to RS232 converter for
|
||||
the serial communication. The board comes with its own JTAG adadpter,
|
||||
but it uses a parallel interface, and since my computer doesn't have
|
||||
one, I used the <a href="http://www.olimex.com/dev/arm-usb-tiny.html">ARM-USB-TINY</a> from Olimex. To use them, invoke the OpenOCD executable like this:</p>
|
||||
one, I used the <a target="_blank" href="http://www.olimex.com/dev/arm-usb-tiny.html">ARM-USB-TINY</a> from Olimex. To use them, invoke the OpenOCD executable like this:</p>
|
||||
|
||||
<pre><code>openocd-ftd2xx -f str7prg.cfg<br></code></pre>
|
||||
<p><pre><code>openocd-ftd2xx -f str7prg.cfg<br></code></pre></p>
|
||||
|
||||
|
||||
<p>(note: under Windows, the OpenOCD executable name is often
|
||||
<p>(<b>note</b>: under Windows, the OpenOCD executable name is often
|
||||
"openocd-ftd2xx". Under Linux it's simply "openocd". Replace it with
|
||||
the actualy name with your executable.)
|
||||
Also, be sure to modify str7_flashprogram.script if your image name is
|
||||
not main.bin.</p><p></p><p></p><p></p><p> </p>
|
||||
</div></body></html>
|
||||
the actualy name with your executable).<br>
|
||||
Also, be sure to modify <b>str7_flashprogram.script</b> if your image name is
|
||||
not <b>main.bin</b></p>
|
||||
</body></html>
|
||||
|
@ -1,7 +1,15 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
|
||||
<html><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Product</title>
|
||||
<meta http-equiv="Content-Language" content="en-us"><title>Tutorials</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../style.css"></head>
|
||||
<body style="background-color: rgb(255, 255, 255);"><h3><a name="title" href="http://www.eluaproject.net/en/Booting_eLua_from_a_stick"></a><span class="info">eLua Tutorials</span></h3><br></body></html>
|
||||
<body style="background-color: rgb(255, 255, 255);">
|
||||
<h3>Tutorials</h3>
|
||||
<p>This section contains information about different tools and procedures related to <b>eLua</b>:
|
||||
<ul>
|
||||
<li>building toolchains that can be used to build <b>eLua</b> itself.</li>
|
||||
<li>running the standalone <b>eLua</b> (i386) version in different scenarios.</li>
|
||||
<li>using OpenOCD to program <b>eLua</b> to various hardware platforms.</li>
|
||||
</ul></p>
|
||||
</body></html>
|
||||
|
@ -48,9 +48,15 @@ There's no universal rule here, it all depends on your board.
|
||||
</p>
|
||||
<p>If you're under Windows, make sure you're using a proper telnet client, which basically means "just about everything <b>but</b> the build-in telnet client".
|
||||
<a target="_blank" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a> is a very good and popular choice.</p>
|
||||
|
||||
<a name="pc"><h3>Using standalone eLua on PC</h3></a>
|
||||
<p>If you build <b>eLua</b> for the i386 platform, you can boot your PC directly in <b>eLua</b>! No underlying OS, nothing but plain <b>eLua</b>. It won't have any actual peripherals to
|
||||
access, but it can use the <b>term</b> module to run <i>hangman.lua</i> and <i>life.lua</i>, as well as other samples, which makes it a nice demo :) Follow <a href="installing_i386.html">
|
||||
this link</a> for specific informations about the i386 port. </p>
|
||||
|
||||
<a name="shell"><h3><a name="shell"></a>The eLua shell</h3></a>
|
||||
<p>No matter what's your physical connection (serial or TCP/IP), after you setup the PC-eLua board connection (and press the "RESET" button on your board or simply press ENTER if you're using
|
||||
the serial connection), you should see the <b>eLua</b> shell prompt (if you enabled the shell in your build, as described <a href="building.html">here</a>). The shell is a simple
|
||||
<p>No matter what's your physical connection (serial, TCP/IP or you PC's monitor after booting <b>eLua</b>), after you setup the PC-<b>eLua</b> board connection (if applicable) and press
|
||||
the "RESET" button on your board or simply press ENTER if you're using the serial connection, you should see the <b>eLua</b> shell prompt (if you enabled the shell in your build, as described <a href="building.html">here</a>). The shell is a simple
|
||||
interactive command interpreter that allows you to:
|
||||
<ul>
|
||||
<li>get help on shell usage with the help command</li>
|
||||
|
@ -188,6 +188,12 @@ wb_usr.tree =
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = {en = "Version History", pt = "Histórico de Versões" },
|
||||
link = "versionhistory.html",
|
||||
},
|
||||
|
||||
{
|
||||
name = { en = "", pt = "" }, -- Horizontal Separator
|
||||
link = ""
|
||||
@ -249,6 +255,9 @@ wb_usr.tree =
|
||||
{ name = { en = "Over TCP/IP", pt = "##Over TCP/IP" },
|
||||
link = "using.html#tcpip",
|
||||
},
|
||||
{ name = { en = "On PC", pt = "##On PC" },
|
||||
link = "using.html#pc",
|
||||
},
|
||||
{ name = { en = "The shell", pt = "##The shell" },
|
||||
link = "using.html#shell",
|
||||
},
|
||||
@ -313,43 +322,42 @@ wb_usr.tree =
|
||||
name = { en = "Examples", pt = "Exemplos" },
|
||||
link = "examples.html",
|
||||
},
|
||||
{
|
||||
name = { en = "Tutorials", pt = "Tutoriais" },
|
||||
link = "tutorials.html",
|
||||
folder =
|
||||
{
|
||||
{ name = { en = "Booting on a PC", pt = "Booting on a PC" },
|
||||
link = "tut_bootpc.html",
|
||||
},
|
||||
{ name = { en = "Booting from a Pendrive", pt = "Booting from a Pendriv" },
|
||||
link = "tut_bootstick.html",
|
||||
},
|
||||
{ name = { en = "Toolchain Building", pt = "Toolchain Building" },
|
||||
link = "tchainbuild.html",
|
||||
folder =
|
||||
{
|
||||
{ name = { en = "ARM7 & ARM9 Toolchains", pt = "ARM 7 & ARM9 Toolchains" },
|
||||
link = "tc_arm.html",
|
||||
},
|
||||
{ name = { en = "ARM Cortex-M3", pt = "ARM Cortex-M3" },
|
||||
link = "tc_cortex.html",
|
||||
},
|
||||
{ name = { en = "i386", pt = "i386" },
|
||||
link = "tc_386.html",
|
||||
},
|
||||
},
|
||||
},
|
||||
{ name = { en = "Using OpenOCD", pt = "Using OpenOC" },
|
||||
link = "tut_openocd.html",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
name = { en = "Tutorials", pt = "Tutoriais" },
|
||||
link = "tutorials.html",
|
||||
folder =
|
||||
{
|
||||
{ name = { en = "Booting on a PC", pt = "Booting on a PC" },
|
||||
link = "tut_bootpc.html",
|
||||
},
|
||||
{
|
||||
name = {en = "Version History", pt = "Histórico de Versões" },
|
||||
link = "versionhistory.html",
|
||||
{ name = { en = "Booting from a Pendrive", pt = "Booting from a Pendriv" },
|
||||
link = "tut_bootstick.html",
|
||||
},
|
||||
{ name = { en = "Toolchain Building", pt = "Toolchain Building" },
|
||||
link = "tchainbuild.html",
|
||||
folder =
|
||||
{
|
||||
{ name = { en = "ARM7 & ARM9 Toolchains", pt = "ARM 7 & ARM9 Toolchains" },
|
||||
link = "tc_arm.html",
|
||||
},
|
||||
{ name = { en = "ARM Cortex-M3", pt = "ARM Cortex-M3" },
|
||||
link = "tc_cortex.html",
|
||||
},
|
||||
{ name = { en = "i386", pt = "i386" },
|
||||
link = "tc_386.html",
|
||||
},
|
||||
},
|
||||
},
|
||||
{ name = { en = "Using OpenOCD", pt = "Using OpenOC" },
|
||||
link = "tut_openocd.html",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
name = { en = "Reference Manual", pt = "Manual de Referência" },
|
||||
link = "refman.html#genericmodules",
|
||||
|
@ -3,31 +3,31 @@ en/tut_bootstick.html
|
||||
en/dl_binaries.html
|
||||
en/arch_overview.html
|
||||
en/status.html
|
||||
en/arch_con_term.html
|
||||
en/comunity.html
|
||||
en/arch_tcpip.html
|
||||
en/installing_lm3s.html
|
||||
en/tut_bootpc.html
|
||||
en/news.html
|
||||
en/installing_lpc2888.html
|
||||
en/arch_platform.html
|
||||
en/overview.html
|
||||
en/tc_386.html
|
||||
en/tc_cortex.html
|
||||
en/faq.html
|
||||
en/dl_sources.html
|
||||
en/tutorials.html
|
||||
en/arch_newport.html
|
||||
en/arch_coding.html
|
||||
en/tut_openocd.html
|
||||
en/refman.html
|
||||
en/net_ref.html
|
||||
en/arch_romfs.html
|
||||
en/arch_newport.html
|
||||
en/tc_arm.html
|
||||
en/tchainbuild.html
|
||||
en/arch_ltr.html
|
||||
en/installing_avr32.html
|
||||
en/installing_str7.html
|
||||
en/installing_at91sam7x.html
|
||||
en/installing.html
|
||||
en/tchainbuild.html
|
||||
en/tutorials.html
|
||||
en/using.html
|
||||
en/versionhistory.html
|
||||
en/toolchains.html
|
||||
@ -37,6 +37,6 @@ en/doc.html
|
||||
en/arch.html
|
||||
en/installing_str9.html
|
||||
en/installing_stm32.html
|
||||
en/comunity.html
|
||||
en/arch_con_term.html
|
||||
en/installing_i386.html
|
||||
en/overview.html
|
||||
en/arch_platform.html
|
||||
|
@ -3,31 +3,31 @@ pt/tut_bootstick.html
|
||||
pt/dl_binaries.html
|
||||
pt/arch_overview.html
|
||||
pt/status.html
|
||||
pt/arch_con_term.html
|
||||
pt/comunity.html
|
||||
pt/arch_tcpip.html
|
||||
pt/installing_lm3s.html
|
||||
pt/tut_bootpc.html
|
||||
pt/news.html
|
||||
pt/installing_lpc2888.html
|
||||
pt/arch_platform.html
|
||||
pt/overview.html
|
||||
pt/tc_386.html
|
||||
pt/tc_cortex.html
|
||||
pt/faq.html
|
||||
pt/dl_sources.html
|
||||
pt/tutorials.html
|
||||
pt/arch_newport.html
|
||||
pt/arch_coding.html
|
||||
pt/tut_openocd.html
|
||||
pt/refman.html
|
||||
pt/net_ref.html
|
||||
pt/arch_romfs.html
|
||||
pt/arch_newport.html
|
||||
pt/tc_arm.html
|
||||
pt/tchainbuild.html
|
||||
pt/arch_ltr.html
|
||||
pt/installing_avr32.html
|
||||
pt/installing_str7.html
|
||||
pt/installing_at91sam7x.html
|
||||
pt/installing.html
|
||||
pt/tchainbuild.html
|
||||
pt/tutorials.html
|
||||
pt/using.html
|
||||
pt/versionhistory.html
|
||||
pt/toolchains.html
|
||||
@ -37,6 +37,6 @@ pt/doc.html
|
||||
pt/arch.html
|
||||
pt/installing_str9.html
|
||||
pt/installing_stm32.html
|
||||
pt/comunity.html
|
||||
pt/arch_con_term.html
|
||||
pt/installing_i386.html
|
||||
pt/overview.html
|
||||
pt/arch_platform.html
|
||||
|
@ -251,188 +251,189 @@
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link21folder.4" href="en/status.html#platforms">Platforms Supported</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link22folder.4" href="en/status.html#roadmap">Roadmap</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/node.png"><a class="el" name="link23folder" href="en/versionhistory.html">Version History</a></p>
|
||||
<p class="sep"><img src="wb_img/sepnode.png"></p>
|
||||
<p><img name="imgfolder.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5')"><a name="link23folder.5" class="el" href="en/doc.html">Documentation</a></p>
|
||||
<p><img name="imgfolder.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5')"><a name="link24folder.5" class="el" href="en/doc.html">Documentation</a></p>
|
||||
<div id="folder.5">
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.1')"><a name="link24folder.5.1" class="el" href="en/building.html">Building</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.1')"><a name="link25folder.5.1" class="el" href="en/building.html">Building</a></p>
|
||||
<div id="folder.5.1">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link25folder.5.1" href="en/toolchains.html">Toolchains</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link26folder.5.1" href="en/toolchains.html">Toolchains</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.2')"><a name="link26folder.5.2" class="el" href="en/installing.html">Installing</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.2')"><a name="link27folder.5.2" class="el" href="en/installing.html">Installing</a></p>
|
||||
<div id="folder.5.2">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link27folder.5.2" href="en/installing_at91sam7x.html">AT91SAM7X</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link28folder.5.2" href="en/installing_lm3s.html">LM3S</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link29folder.5.2" href="en/installing_avr32.html">AVR32</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link30folder.5.2" href="en/installing_lpc2888.html">LPC288x</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link31folder.5.2" href="en/installing_str7.html">STR7</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link32folder.5.2" href="en/installing_str9.html">STR9</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link33folder.5.2" href="en/installing_stm32.html">STM32</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link34folder.5.2" href="en/installing_i386.html">i386</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link28folder.5.2" href="en/installing_at91sam7x.html">AT91SAM7X</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link29folder.5.2" href="en/installing_lm3s.html">LM3S</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link30folder.5.2" href="en/installing_avr32.html">AVR32</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link31folder.5.2" href="en/installing_lpc2888.html">LPC288x</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link32folder.5.2" href="en/installing_str7.html">STR7</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link33folder.5.2" href="en/installing_str9.html">STR9</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link34folder.5.2" href="en/installing_stm32.html">STM32</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link35folder.5.2" href="en/installing_i386.html">i386</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.3')"><a name="link35folder.5.3" class="el" href="en/using.html">Using</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.3')"><a name="link36folder.5.3" class="el" href="en/using.html">Using</a></p>
|
||||
<div id="folder.5.3">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link36folder.5.3" href="en/using.html#uart">Over UART</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link37folder.5.3" href="en/using.html#tcpip">Over TCP/IP</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link38folder.5.3" href="en/using.html#shell">The shell</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link39folder.5.3" href="en/using.html#cross">Cross-compiling</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link37folder.5.3" href="en/using.html#uart">Over UART</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link38folder.5.3" href="en/using.html#tcpip">Over TCP/IP</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link39folder.5.3" href="en/using.html#pc">On PC</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link40folder.5.3" href="en/using.html#shell">The shell</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link41folder.5.3" href="en/using.html#cross">Cross-compiling</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link40folder.5" href="en/faq.html">FAQ</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.4')"><a name="link41folder.5.4" class="el" href="en/arch.html">Architecture</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link42folder.5" href="en/faq.html">FAQ</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.4')"><a name="link43folder.5.4" class="el" href="en/arch.html">Architecture</a></p>
|
||||
<div id="folder.5.4">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.5.4.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.4.1')"><a name="link42folder.5.4.1" class="el" href="en/arch_overview.html">Overview</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.5.4.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.4.1')"><a name="link44folder.5.4.1" class="el" href="en/arch_overview.html">Overview</a></p>
|
||||
<div id="folder.5.4.1">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link43folder.5.4.1" href="en/arch_overview.html#structure">Structure</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link44folder.5.4.1" href="en/arch_overview.html#common">Common code</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link45folder.5.4.1" href="en/arch_overview.html#platform">Platform interface</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link46folder.5.4.1" href="en/arch_overview.html#platforms">Platforms/ports</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link47folder.5.4.1" href="en/arch_overview.html#boot">Booting eLua</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link45folder.5.4.1" href="en/arch_overview.html#structure">Structure</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link46folder.5.4.1" href="en/arch_overview.html#common">Common code</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link47folder.5.4.1" href="en/arch_overview.html#platform">Platform interface</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link48folder.5.4.1" href="en/arch_overview.html#platforms">Platforms/ports</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link49folder.5.4.1" href="en/arch_overview.html#boot">Booting eLua</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link48folder.5.4" href="en/arch_platform.html">Platform interface</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link49folder.5.4" href="en/arch_romfs.html">ROM file system</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link50folder.5.4" href="en/arch_newport.html">Adding a new port</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link51folder.5.4" href="en/arch_ltr.html">Modules and LTR</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link52folder.5.4" href="en/arch_con_term.html">Consoles and terminals</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link53folder.5.4" href="en/arch_tcpip.html">TCP/IP in eLua</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link54folder.5.4" href="en/arch_coding.html">eLua coding style</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link50folder.5.4" href="en/arch_platform.html">Platform interface</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link51folder.5.4" href="en/arch_romfs.html">ROM file system</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link52folder.5.4" href="en/arch_newport.html">Adding a new port</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link53folder.5.4" href="en/arch_ltr.html">Modules and LTR</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link54folder.5.4" href="en/arch_con_term.html">Consoles and terminals</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link55folder.5.4" href="en/arch_tcpip.html">TCP/IP in eLua</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link56folder.5.4" href="en/arch_coding.html">eLua coding style</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link55folder.5" href="en/examples.html">Examples</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.5')"><a name="link56folder.5.5" class="el" href="en/tutorials.html">Tutorials</a></p>
|
||||
<div id="folder.5.5">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link57folder.5.5" href="en/tut_bootpc.html">Booting on a PC</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link58folder.5.5" href="en/tut_bootstick.html">Booting from a Pendrive</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.5.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.5.1')"><a name="link59folder.5.5.1" class="el" href="en/tchainbuild.html">Toolchain Building</a></p>
|
||||
<div id="folder.5.5.1">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link60folder.5.5.1" href="en/tc_arm.html">ARM7 & ARM9 Toolchains</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link61folder.5.5.1" href="en/tc_cortex.html">ARM Cortex-M3</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link62folder.5.5.1" href="en/tc_386.html">i386</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link63folder.5.5" href="en/tut_openocd.html">Using OpenOCD</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link64folder.5" href="en/versionhistory.html">Version History</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link57folder.5" href="en/examples.html">Examples</a></p>
|
||||
</div>
|
||||
<p><img name="imgfolder.6" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6')"><a name="link65folder.6" class="el" href="en/refman.html#genericmodules">Reference Manual</a></p>
|
||||
<p><img name="imgfolder.6" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6')"><a name="link58folder.6" class="el" href="en/tutorials.html">Tutorials</a></p>
|
||||
<div id="folder.6">
|
||||
<p><img src="wb_img/blank.png"><img name="imgfolder.6.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1')"><a name="link66folder.6.1" class="el" href="en/refman.html#genericmodules">Generic Modules</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link59folder.6" href="en/tut_bootpc.html">Booting on a PC</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link60folder.6" href="en/tut_bootstick.html">Booting from a Pendrive</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.6.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1')"><a name="link61folder.6.1" class="el" href="en/tchainbuild.html">Toolchain Building</a></p>
|
||||
<div id="folder.6.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.1')"><a name="link67folder.6.1.1" class="el" href="en/refman.html#bitmodule">bit</a></p>
|
||||
<div id="folder.6.1.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link68folder.6.1.1" href="en/refman.html#bit_bnot">bnot</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link69folder.6.1.1" href="en/refman.html#bit_band">band</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link70folder.6.1.1" href="en/refman.html#bit_bor">bor</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link71folder.6.1.1" href="en/refman.html#bit_bxor">bxor</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link72folder.6.1.1" href="en/refman.html#bit_lshift">lshift</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link73folder.6.1.1" href="en/refman.html#bit_rshift">rshift</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link74folder.6.1.1" href="en/refman.html#bit_bit">bit</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link75folder.6.1.1" href="en/refman.html#bit_set">set</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link76folder.6.1.1" href="en/refman.html#bit_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link77folder.6.1.1" href="en/refman.html#bit_isset">isset</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link78folder.6.1.1" href="en/refman.html#bit_isclear">isclear</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link62folder.6.1" href="en/tc_arm.html">ARM7 & ARM9 Toolchains</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link63folder.6.1" href="en/tc_cortex.html">ARM Cortex-M3</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link64folder.6.1" href="en/tc_386.html">i386</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link65folder.6" href="en/tut_openocd.html">Using OpenOCD</a></p>
|
||||
</div>
|
||||
<p><img name="imgfolder.7" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.7')"><a name="link66folder.7" class="el" href="en/refman.html#genericmodules">Reference Manual</a></p>
|
||||
<div id="folder.7">
|
||||
<p><img src="wb_img/blank.png"><img name="imgfolder.7.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1')"><a name="link67folder.7.1" class="el" href="en/refman.html#genericmodules">Generic Modules</a></p>
|
||||
<div id="folder.7.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.1')"><a name="link68folder.7.1.1" class="el" href="en/refman.html#bitmodule">bit</a></p>
|
||||
<div id="folder.7.1.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link69folder.7.1.1" href="en/refman.html#bit_bnot">bnot</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link70folder.7.1.1" href="en/refman.html#bit_band">band</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link71folder.7.1.1" href="en/refman.html#bit_bor">bor</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link72folder.7.1.1" href="en/refman.html#bit_bxor">bxor</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link73folder.7.1.1" href="en/refman.html#bit_lshift">lshift</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link74folder.7.1.1" href="en/refman.html#bit_rshift">rshift</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link75folder.7.1.1" href="en/refman.html#bit_bit">bit</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link76folder.7.1.1" href="en/refman.html#bit_set">set</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link77folder.7.1.1" href="en/refman.html#bit_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link78folder.7.1.1" href="en/refman.html#bit_isset">isset</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link79folder.7.1.1" href="en/refman.html#bit_isclear">isclear</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.2')"><a name="link79folder.6.1.2" class="el" href="en/refman.html#cpumodule">cpu</a></p>
|
||||
<div id="folder.6.1.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link80folder.6.1.2" href="en/refman.html#cpu_write32">write32</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link81folder.6.1.2" href="en/refman.html#cpu_write16">write16</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link82folder.6.1.2" href="en/refman.html#cpu_write8">write8</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link83folder.6.1.2" href="en/refman.html#cpu_read32">reat32</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link84folder.6.1.2" href="en/refman.html#cpu_read16">read16</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link85folder.6.1.2" href="en/refman.html#cpu_read8">read8</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link86folder.6.1.2" href="en/refman.html#cpu_disableinterrupts">disableinterrupts</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link87folder.6.1.2" href="en/refman.html#cpu_enableinterrupts">enableinterrupts</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link88folder.6.1.2" href="en/refman.html#cpu_clockfrequency">clockfrequency</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.2')"><a name="link80folder.7.1.2" class="el" href="en/refman.html#cpumodule">cpu</a></p>
|
||||
<div id="folder.7.1.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link81folder.7.1.2" href="en/refman.html#cpu_write32">write32</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link82folder.7.1.2" href="en/refman.html#cpu_write16">write16</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link83folder.7.1.2" href="en/refman.html#cpu_write8">write8</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link84folder.7.1.2" href="en/refman.html#cpu_read32">reat32</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link85folder.7.1.2" href="en/refman.html#cpu_read16">read16</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link86folder.7.1.2" href="en/refman.html#cpu_read8">read8</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link87folder.7.1.2" href="en/refman.html#cpu_disableinterrupts">disableinterrupts</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link88folder.7.1.2" href="en/refman.html#cpu_enableinterrupts">enableinterrupts</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link89folder.7.1.2" href="en/refman.html#cpu_clockfrequency">clockfrequency</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.3')"><a name="link89folder.6.1.3" class="el" href="en/refman.html#gpiomodule">gpio</a></p>
|
||||
<div id="folder.6.1.3">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link90folder.6.1.3" href="en/refman.html#gpio_configpin">configpin</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link91folder.6.1.3" href="en/refman.html#gpio_setpinvalue">setpinvalue</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link92folder.6.1.3" href="en/refman.html#gpio_getpinvalue">getpinvalue</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link93folder.6.1.3" href="en/refman.html#gpio_setpinhigh">setpinhigh</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link94folder.6.1.3" href="en/refman.html#gpio_setpinlow">setpinlow</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.3')"><a name="link90folder.7.1.3" class="el" href="en/refman.html#gpiomodule">gpio</a></p>
|
||||
<div id="folder.7.1.3">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link91folder.7.1.3" href="en/refman.html#gpio_configpin">configpin</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link92folder.7.1.3" href="en/refman.html#gpio_setpinvalue">setpinvalue</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link93folder.7.1.3" href="en/refman.html#gpio_getpinvalue">getpinvalue</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link94folder.7.1.3" href="en/refman.html#gpio_setpinhigh">setpinhigh</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link95folder.7.1.3" href="en/refman.html#gpio_setpinlow">setpinlow</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.4')"><a name="link95folder.6.1.4" class="el" href="en/refman.html#netmodule">net</a></p>
|
||||
<div id="folder.6.1.4">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link96folder.6.1.4" href="en/net_ref.html#net_setup">to be added ...</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.4')"><a name="link96folder.7.1.4" class="el" href="en/refman.html#netmodule">net</a></p>
|
||||
<div id="folder.7.1.4">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link97folder.7.1.4" href="en/net_ref.html#net_setup">to be added ...</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.5')"><a name="link97folder.6.1.5" class="el" href="en/refman.html#pwmmodule">pwm</a></p>
|
||||
<div id="folder.6.1.5">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link98folder.6.1.5" href="en/refman.html#pwm_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link99folder.6.1.5" href="en/refman.html#pwm_setcycle">setcycle</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link100folder.6.1.5" href="en/refman.html#pwm_start">start</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link101folder.6.1.5" href="en/refman.html#pwm_stop">stop</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link102folder.6.1.5" href="en/refman.html#pwm_setclock">setclock</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link103folder.6.1.5" href="en/refman.html#pwm_getclock">getclock</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.5')"><a name="link98folder.7.1.5" class="el" href="en/refman.html#pwmmodule">pwm</a></p>
|
||||
<div id="folder.7.1.5">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link99folder.7.1.5" href="en/refman.html#pwm_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link100folder.7.1.5" href="en/refman.html#pwm_setcycle">setcycle</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link101folder.7.1.5" href="en/refman.html#pwm_start">start</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link102folder.7.1.5" href="en/refman.html#pwm_stop">stop</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link103folder.7.1.5" href="en/refman.html#pwm_setclock">setclock</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link104folder.7.1.5" href="en/refman.html#pwm_getclock">getclock</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.6" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.6')"><a name="link104folder.6.1.6" class="el" href="en/refman.html#spimodules">spi</a></p>
|
||||
<div id="folder.6.1.6">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link105folder.6.1.6" href="en/refman.html#spi_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link106folder.6.1.6" href="en/refman.html#spi_select">select</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link107folder.6.1.6" href="en/refman.html#spi_unselect">unselect</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link108folder.6.1.6" href="en/refman.html#spi_send">send</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link109folder.6.1.6" href="en/refman.html#spi_sendrecv">sendrecv</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.6" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.6')"><a name="link105folder.7.1.6" class="el" href="en/refman.html#spimodules">spi</a></p>
|
||||
<div id="folder.7.1.6">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link106folder.7.1.6" href="en/refman.html#spi_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link107folder.7.1.6" href="en/refman.html#spi_select">select</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link108folder.7.1.6" href="en/refman.html#spi_unselect">unselect</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link109folder.7.1.6" href="en/refman.html#spi_send">send</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link110folder.7.1.6" href="en/refman.html#spi_sendrecv">sendrecv</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.7" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.7')"><a name="link110folder.6.1.7" class="el" href="en/refman.html#sysmodule">sys</a></p>
|
||||
<div id="folder.6.1.7">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link111folder.6.1.7" href="en/refman.html#sys_platforms">platform</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link112folder.6.1.7" href="en/refman.html#sys_mcu">mcu</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link113folder.6.1.7" href="en/refman.html#sys_cpu">cpu</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link114folder.6.1.7" href="en/refman.html#sys_board">board</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.7" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.7')"><a name="link111folder.7.1.7" class="el" href="en/refman.html#sysmodule">sys</a></p>
|
||||
<div id="folder.7.1.7">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link112folder.7.1.7" href="en/refman.html#sys_platforms">platform</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link113folder.7.1.7" href="en/refman.html#sys_mcu">mcu</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link114folder.7.1.7" href="en/refman.html#sys_cpu">cpu</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link115folder.7.1.7" href="en/refman.html#sys_board">board</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.8" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.8')"><a name="link115folder.6.1.8" class="el" href="en/refman.html#termmodule">term</a></p>
|
||||
<div id="folder.6.1.8">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link116folder.6.1.8" href="en/refman.html#term_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link117folder.6.1.8" href="en/refman.html#term_cleareol">cleareol</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link118folder.6.1.8" href="en/refman.html#term_moveto">moveto</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link119folder.6.1.8" href="en/refman.html#term_moveup">moveup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link120folder.6.1.8" href="en/refman.html#term_movedown">movedown</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link121folder.6.1.8" href="en/refman.html#term_moveleft">moveleft</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link122folder.6.1.8" href="en/refman.html#term_moveright">moveright</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link123folder.6.1.8" href="en/refman.html#term_getlinecount">getlinecount</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link124folder.6.1.8" href="en/refman.html#term_getcolcount">getcolcount</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link125folder.6.1.8" href="en/refman.html#term_printstr">printstr</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link126folder.6.1.8" href="en/refman.html#term_getx">getx</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link127folder.6.1.8" href="en/refman.html#term_gety">gety</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link128folder.6.1.8" href="en/refman.html#term_inputchar">inputchar</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.8" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.8')"><a name="link116folder.7.1.8" class="el" href="en/refman.html#termmodule">term</a></p>
|
||||
<div id="folder.7.1.8">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link117folder.7.1.8" href="en/refman.html#term_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link118folder.7.1.8" href="en/refman.html#term_cleareol">cleareol</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link119folder.7.1.8" href="en/refman.html#term_moveto">moveto</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link120folder.7.1.8" href="en/refman.html#term_moveup">moveup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link121folder.7.1.8" href="en/refman.html#term_movedown">movedown</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link122folder.7.1.8" href="en/refman.html#term_moveleft">moveleft</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link123folder.7.1.8" href="en/refman.html#term_moveright">moveright</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link124folder.7.1.8" href="en/refman.html#term_getlinecount">getlinecount</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link125folder.7.1.8" href="en/refman.html#term_getcolcount">getcolcount</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link126folder.7.1.8" href="en/refman.html#term_printstr">printstr</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link127folder.7.1.8" href="en/refman.html#term_getx">getx</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link128folder.7.1.8" href="en/refman.html#term_gety">gety</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link129folder.7.1.8" href="en/refman.html#term_inputchar">inputchar</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.9" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.9')"><a name="link129folder.6.1.9" class="el" href="en/refman.html#tmrmodule">tmr</a></p>
|
||||
<div id="folder.6.1.9">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link130folder.6.1.9" href="en/refman.html#tmr_delay">delay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link131folder.6.1.9" href="en/refman.html#tmr_read">read</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link132folder.6.1.9" href="en/refman.html#tmr_start">start</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link133folder.6.1.9" href="en/refman.html#tmr_diff">diff</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link134folder.6.1.9" href="en/refman.html#tmr_mindelay">mindelay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link135folder.6.1.9" href="en/refman.html#tmr_maxdelay">maxdelay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link136folder.6.1.9" href="en/refman.html#tmr_setclock">setclock</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.9" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.9')"><a name="link130folder.7.1.9" class="el" href="en/refman.html#tmrmodule">tmr</a></p>
|
||||
<div id="folder.7.1.9">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link131folder.7.1.9" href="en/refman.html#tmr_delay">delay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link132folder.7.1.9" href="en/refman.html#tmr_read">read</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link133folder.7.1.9" href="en/refman.html#tmr_start">start</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link134folder.7.1.9" href="en/refman.html#tmr_diff">diff</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link135folder.7.1.9" href="en/refman.html#tmr_mindelay">mindelay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link136folder.7.1.9" href="en/refman.html#tmr_maxdelay">maxdelay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link137folder.7.1.9" href="en/refman.html#tmr_setclock">setclock</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.10" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6.1.10')"><a name="link137folder.6.1.10" class="el" href="en/refman.html#uartmodule">uart</a></p>
|
||||
<div id="folder.6.1.10">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link138folder.6.1.10" href="en/refman.html#uart_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link139folder.6.1.10" href="en/refman.html#uart_send">send</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link140folder.6.1.10" href="en/refman.html#uart_recv">recv</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.10" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.7.1.10')"><a name="link138folder.7.1.10" class="el" href="en/refman.html#uartmodule">uart</a></p>
|
||||
<div id="folder.7.1.10">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link139folder.7.1.10" href="en/refman.html#uart_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link140folder.7.1.10" href="en/refman.html#uart_send">send</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link141folder.7.1.10" href="en/refman.html#uart_recv">recv</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img name="imgfolder.6.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6.2')"><a name="link141folder.6.2" class="el" href="en/refman.html#platdepmodules">Platform Dependent Modules</a></p>
|
||||
<div id="folder.6.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img name="imgfolder.6.2.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.2.1')"><a name="link142folder.6.2.1" class="el" href="en/refman.html#adcmodule">adc</a></p>
|
||||
<div id="folder.6.2.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link143folder.6.2.1" href="en/refman.html#adc_sample">sample</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link144folder.6.2.1" href="en/refman.html#adc_getsamples">getsamples</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link145folder.6.2.1" href="en/refman.html#adc_maxval">maxval</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link146folder.6.2.1" href="en/refman.html#adc_samplesready">samplesready</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link147folder.6.2.1" href="en/refman.html#adc_dataready">dataready</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link148folder.6.2.1" href="en/refman.html#adc_setmode">setmode</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link149folder.6.2.1" href="en/refman.html#adc_setsmoothing">setsmoothing</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link150folder.6.2.1" href="en/refman.html#adc_getsmoothing">getsmoothing</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link151folder.6.2.1" href="en/refman.html#adc_burst">burst</a></p>
|
||||
<p><img src="wb_img/blank.png"><img name="imgfolder.7.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.7.2')"><a name="link142folder.7.2" class="el" href="en/refman.html#platdepmodules">Platform Dependent Modules</a></p>
|
||||
<div id="folder.7.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img name="imgfolder.7.2.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.2.1')"><a name="link143folder.7.2.1" class="el" href="en/refman.html#adcmodule">adc</a></p>
|
||||
<div id="folder.7.2.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link144folder.7.2.1" href="en/refman.html#adc_sample">sample</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link145folder.7.2.1" href="en/refman.html#adc_getsamples">getsamples</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link146folder.7.2.1" href="en/refman.html#adc_maxval">maxval</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link147folder.7.2.1" href="en/refman.html#adc_samplesready">samplesready</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link148folder.7.2.1" href="en/refman.html#adc_dataready">dataready</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link149folder.7.2.1" href="en/refman.html#adc_setmode">setmode</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link150folder.7.2.1" href="en/refman.html#adc_setsmoothing">setsmoothing</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link151folder.7.2.1" href="en/refman.html#adc_getsmoothing">getsmoothing</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link152folder.7.2.1" href="en/refman.html#adc_burst">burst</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img name="imgfolder.6.2.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6.2.2')"><a name="link152folder.6.2.2" class="el" href="en/refman.html#dispmodule">disp</a></p>
|
||||
<div id="folder.6.2.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link153folder.6.2.2" href="en/refman.html#disp_init">init</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link154folder.6.2.2" href="en/refman.html#disp_enable">enable</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link155folder.6.2.2" href="en/refman.html#disp_disable">disable</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link156folder.6.2.2" href="en/refman.html#disp_on">on</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link157folder.6.2.2" href="en/refman.html#disp_off">off</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link158folder.6.2.2" href="en/refman.html#disp_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link159folder.6.2.2" href="en/refman.html#disp_print">print</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link160folder.6.2.2" href="en/refman.html#disp_draw">draw</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img name="imgfolder.7.2.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.7.2.2')"><a name="link153folder.7.2.2" class="el" href="en/refman.html#dispmodule">disp</a></p>
|
||||
<div id="folder.7.2.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link154folder.7.2.2" href="en/refman.html#disp_init">init</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link155folder.7.2.2" href="en/refman.html#disp_enable">enable</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link156folder.7.2.2" href="en/refman.html#disp_disable">disable</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link157folder.7.2.2" href="en/refman.html#disp_on">on</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link158folder.7.2.2" href="en/refman.html#disp_off">off</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link159folder.7.2.2" href="en/refman.html#disp_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link160folder.7.2.2" href="en/refman.html#disp_print">print</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link161folder.7.2.2" href="en/refman.html#disp_draw">draw</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -219,220 +219,221 @@
|
||||
<body style="margin: 2px; background-color: #F1F1F1" onload="showStartPage()">
|
||||
<div class="tree" onmouseout="clearLastLink()">
|
||||
<h3><a name="link0folder.0" class="el" href="pt/news.html">eLua</a></h3>
|
||||
<p><img name="imgfolder.1" src="wb_img/minusnode.png" onclick="toggleFolder('folder.1')"><a name="link161folder.1" class="el" href="pt/overview.html">Apresentação</a></p>
|
||||
<p><img name="imgfolder.1" src="wb_img/minusnode.png" onclick="toggleFolder('folder.1')"><a name="link162folder.1" class="el" href="pt/overview.html">Apresentação</a></p>
|
||||
<div id="folder.1" style="display:block">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link162folder.1" href="pt/overview.html#whatis">O que é eLua ?</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link163folder.1" href="pt/overview.html#features">##Features</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link164folder.1" href="pt/overview.html#audience">Público alvo</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link165folder.1" href="pt/overview.html#authors">Autores</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link166folder.1" href="pt/overview.html#contacts">Contatos</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link167folder.1" href="pt/overview.html#license">Licença</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link163folder.1" href="pt/overview.html#whatis">O que é eLua ?</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link164folder.1" href="pt/overview.html#features">##Features</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link165folder.1" href="pt/overview.html#audience">Público alvo</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link166folder.1" href="pt/overview.html#authors">Autores</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link167folder.1" href="pt/overview.html#contacts">Contatos</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link168folder.1" href="pt/overview.html#license">Licença</a></p>
|
||||
</div>
|
||||
<p><img name="imgfolder.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.2')"><a name="link168folder.2" class="el" href="pt/dl_binaries.html">Downloads</a></p>
|
||||
<p><img name="imgfolder.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.2')"><a name="link169folder.2" class="el" href="pt/dl_binaries.html">Downloads</a></p>
|
||||
<div id="folder.2">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link169folder.2" href="pt/dl_binaries.html">Binaries</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.2.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.2.1')"><a name="link170folder.2.1" class="el" href="pt/dl_sources.html">Fontes</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link170folder.2" href="pt/dl_binaries.html">Binaries</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.2.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.2.1')"><a name="link171folder.2.1" class="el" href="pt/dl_sources.html">Fontes</a></p>
|
||||
<div id="folder.2.1">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link171folder.2.1" href="pt/dl_sources.html">Versões Oficiais[B</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link172folder.2.1" href="pt/dl_sources.html#svnpublic">SVN Público</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link173folder.2.1" href="pt/dl_sources.html#svndev">Desenvolvedores</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link172folder.2.1" href="pt/dl_sources.html">Versões Oficiais[B</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link173folder.2.1" href="pt/dl_sources.html#svnpublic">SVN Público</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link174folder.2.1" href="pt/dl_sources.html#svndev">Desenvolvedores</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link174folder.2" href="pt/dl_old.html">Versões Anteriores</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link175folder.2" href="pt/dl_old.html">Versões Anteriores</a></p>
|
||||
</div>
|
||||
<p><img name="imgfolder.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.3')"><a name="link175folder.3" class="el" href="pt/comunity.html">Comunidade</a></p>
|
||||
<p><img name="imgfolder.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.3')"><a name="link176folder.3" class="el" href="pt/comunity.html">Comunidade</a></p>
|
||||
<div id="folder.3">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link176folder.3" href="pt/comunity.html#lists">Listas</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link177folder.3" href="pt/comunity.html#forums">##Forums</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link178folder.3" href="pt/comunity.html#credits">Créditos</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link177folder.3" href="pt/comunity.html#lists">Listas</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link178folder.3" href="pt/comunity.html#forums">##Forums</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link179folder.3" href="pt/comunity.html#credits">Créditos</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/node.png"><a class="el" name="link179folder" href="pt/news.html">Notícias</a></p>
|
||||
<p><img name="imgfolder.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4')"><a name="link180folder.4" class="el" href="pt/status.html">Status</a></p>
|
||||
<p><img src="wb_img/node.png"><a class="el" name="link180folder" href="pt/news.html">Notícias</a></p>
|
||||
<p><img name="imgfolder.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.4')"><a name="link181folder.4" class="el" href="pt/status.html">Status</a></p>
|
||||
<div id="folder.4">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link181folder.4" href="pt/status.html#platforms">Plataformas Suportadas</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link182folder.4" href="pt/status.html#roadmap">Futuro</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link182folder.4" href="pt/status.html#platforms">Plataformas Suportadas</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link183folder.4" href="pt/status.html#roadmap">Futuro</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/node.png"><a class="el" name="link184folder" href="pt/versionhistory.html">Histórico de Versões</a></p>
|
||||
<p class="sep"><img src="wb_img/sepnode.png"></p>
|
||||
<p><img name="imgfolder.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5')"><a name="link183folder.5" class="el" href="pt/doc.html">Documentação</a></p>
|
||||
<p><img name="imgfolder.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5')"><a name="link185folder.5" class="el" href="pt/doc.html">Documentação</a></p>
|
||||
<div id="folder.5">
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.1')"><a name="link184folder.5.1" class="el" href="pt/building.html">Building</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.1')"><a name="link186folder.5.1" class="el" href="pt/building.html">Building</a></p>
|
||||
<div id="folder.5.1">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link185folder.5.1" href="pt/toolchains.html">##Tools</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link187folder.5.1" href="pt/toolchains.html">##Tools</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.2')"><a name="link186folder.5.2" class="el" href="pt/installing.html">##Installing</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.2')"><a name="link188folder.5.2" class="el" href="pt/installing.html">##Installing</a></p>
|
||||
<div id="folder.5.2">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link187folder.5.2" href="pt/installing_at91sam7x.html">AT91SAM7X</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link188folder.5.2" href="pt/installing_lm3s.html">LM3S</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link189folder.5.2" href="pt/installing_avr32.html">AVR32</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link190folder.5.2" href="pt/installing_lpc2888.html">LPC288x</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link191folder.5.2" href="pt/installing_str7.html">STR7</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link192folder.5.2" href="pt/installing_str9.html">STR9</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link193folder.5.2" href="pt/installing_stm32.html">STM32</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link194folder.5.2" href="pt/installing_i386.html">i386</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link189folder.5.2" href="pt/installing_at91sam7x.html">AT91SAM7X</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link190folder.5.2" href="pt/installing_lm3s.html">LM3S</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link191folder.5.2" href="pt/installing_avr32.html">AVR32</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link192folder.5.2" href="pt/installing_lpc2888.html">LPC288x</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link193folder.5.2" href="pt/installing_str7.html">STR7</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link194folder.5.2" href="pt/installing_str9.html">STR9</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link195folder.5.2" href="pt/installing_stm32.html">STM32</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link196folder.5.2" href="pt/installing_i386.html">i386</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.3')"><a name="link195folder.5.3" class="el" href="pt/using.html">Usando</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.3')"><a name="link197folder.5.3" class="el" href="pt/using.html">Usando</a></p>
|
||||
<div id="folder.5.3">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link196folder.5.3" href="pt/using.html#uart">##Over UART</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link197folder.5.3" href="pt/using.html#tcpip">##Over TCP/IP</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link198folder.5.3" href="pt/using.html#shell">##The shell</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link199folder.5.3" href="pt/using.html#cross">##Cross-compiling</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link198folder.5.3" href="pt/using.html#uart">##Over UART</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link199folder.5.3" href="pt/using.html#tcpip">##Over TCP/IP</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link200folder.5.3" href="pt/using.html#pc">##On PC</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link201folder.5.3" href="pt/using.html#shell">##The shell</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link202folder.5.3" href="pt/using.html#cross">##Cross-compiling</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link200folder.5" href="pt/faq.html">FAQ</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.4')"><a name="link201folder.5.4" class="el" href="pt/arch.html">##Architecture</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link203folder.5" href="pt/faq.html">FAQ</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.4')"><a name="link204folder.5.4" class="el" href="pt/arch.html">##Architecture</a></p>
|
||||
<div id="folder.5.4">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.5.4.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.4.1')"><a name="link202folder.5.4.1" class="el" href="pt/arch_overview.html">##Overview</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.5.4.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.4.1')"><a name="link205folder.5.4.1" class="el" href="pt/arch_overview.html">##Overview</a></p>
|
||||
<div id="folder.5.4.1">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link203folder.5.4.1" href="pt/arch_overview.html#structure">##Structure</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link204folder.5.4.1" href="pt/arch_overview.html#common">##Common code</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link205folder.5.4.1" href="pt/arch_overview.html#platform">##Platform interface</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link206folder.5.4.1" href="pt/arch_overview.html#platforms">##Platforms/ports</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link207folder.5.4.1" href="pt/arch_overview.html#boot">##eLua boot process</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link206folder.5.4.1" href="pt/arch_overview.html#structure">##Structure</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link207folder.5.4.1" href="pt/arch_overview.html#common">##Common code</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link208folder.5.4.1" href="pt/arch_overview.html#platform">##Platform interface</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link209folder.5.4.1" href="pt/arch_overview.html#platforms">##Platforms/ports</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link210folder.5.4.1" href="pt/arch_overview.html#boot">##eLua boot process</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link208folder.5.4" href="pt/arch_platform.html">##Platform interface</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link209folder.5.4" href="pt/arch_romfs.html">##ROM file system</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link210folder.5.4" href="pt/arch_newport.html">##Adding a new port</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link211folder.5.4" href="pt/arch_ltr.html">##Module and LTR</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link212folder.5.4" href="pt/arch_con_term.html">##Consoles and terminals</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link213folder.5.4" href="pt/arch_tcpip.html">##TCP/IP in eLua</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link214folder.5.4" href="pt/arch_coding.html">##eLua coding style</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link211folder.5.4" href="pt/arch_platform.html">##Platform interface</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link212folder.5.4" href="pt/arch_romfs.html">##ROM file system</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link213folder.5.4" href="pt/arch_newport.html">##Adding a new port</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link214folder.5.4" href="pt/arch_ltr.html">##Module and LTR</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link215folder.5.4" href="pt/arch_con_term.html">##Consoles and terminals</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link216folder.5.4" href="pt/arch_tcpip.html">##TCP/IP in eLua</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link217folder.5.4" href="pt/arch_coding.html">##eLua coding style</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link215folder.5" href="pt/examples.html">Exemplos</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.5.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.5')"><a name="link216folder.5.5" class="el" href="pt/tutorials.html">Tutoriais</a></p>
|
||||
<div id="folder.5.5">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link217folder.5.5" href="pt/tut_bootpc.html">Booting on a PC</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link218folder.5.5" href="pt/tut_bootstick.html">Booting from a Pendriv</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img name="imgfolder.5.5.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.5.5.1')"><a name="link219folder.5.5.1" class="el" href="pt/tchainbuild.html">Toolchain Building</a></p>
|
||||
<div id="folder.5.5.1">
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link220folder.5.5.1" href="pt/tc_arm.html">ARM 7 & ARM9 Toolchains</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link221folder.5.5.1" href="pt/tc_cortex.html">ARM Cortex-M3</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link222folder.5.5.1" href="pt/tc_386.html">i386</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link223folder.5.5" href="pt/tut_openocd.html">Using OpenOC</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link224folder.5" href="pt/versionhistory.html">Histórico de Versões</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link218folder.5" href="pt/examples.html">Exemplos</a></p>
|
||||
</div>
|
||||
<p><img name="imgfolder.6" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6')"><a name="link225folder.6" class="el" href="pt/refman.html#genericmodules">Manual de Referência</a></p>
|
||||
<p><img name="imgfolder.6" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6')"><a name="link219folder.6" class="el" href="pt/tutorials.html">Tutoriais</a></p>
|
||||
<div id="folder.6">
|
||||
<p><img src="wb_img/blank.png"><img name="imgfolder.6.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1')"><a name="link226folder.6.1" class="el" href="pt/refman.html#genericmodules">Módulos Genéricos</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link220folder.6" href="pt/tut_bootpc.html">Booting on a PC</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link221folder.6" href="pt/tut_bootstick.html">Booting from a Pendriv</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img name="imgfolder.6.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1')"><a name="link222folder.6.1" class="el" href="pt/tchainbuild.html">Toolchain Building</a></p>
|
||||
<div id="folder.6.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.1')"><a name="link227folder.6.1.1" class="el" href="pt/refman.html#bitmodule">bit</a></p>
|
||||
<div id="folder.6.1.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link228folder.6.1.1" href="pt/refman.html#bit_bnot">bnot</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link229folder.6.1.1" href="pt/refman.html#bit_band">band</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link230folder.6.1.1" href="pt/refman.html#bit_bor">bor</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link231folder.6.1.1" href="pt/refman.html#bit_bxor">bxor</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link232folder.6.1.1" href="pt/refman.html#bit_lshift">lshift</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link233folder.6.1.1" href="pt/refman.html#bit_rshift">rshift</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link234folder.6.1.1" href="pt/refman.html#bit_bit">bit</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link235folder.6.1.1" href="pt/refman.html#bit_set">set</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link236folder.6.1.1" href="pt/refman.html#bit_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link237folder.6.1.1" href="pt/refman.html#bit_isset">isset</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link238folder.6.1.1" href="pt/refman.html#bit_isclear">isclear</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link223folder.6.1" href="pt/tc_arm.html">ARM 7 & ARM9 Toolchains</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link224folder.6.1" href="pt/tc_cortex.html">ARM Cortex-M3</a></p>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link225folder.6.1" href="pt/tc_386.html">i386</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link226folder.6" href="pt/tut_openocd.html">Using OpenOC</a></p>
|
||||
</div>
|
||||
<p><img name="imgfolder.7" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.7')"><a name="link227folder.7" class="el" href="pt/refman.html#genericmodules">Manual de Referência</a></p>
|
||||
<div id="folder.7">
|
||||
<p><img src="wb_img/blank.png"><img name="imgfolder.7.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1')"><a name="link228folder.7.1" class="el" href="pt/refman.html#genericmodules">Módulos Genéricos</a></p>
|
||||
<div id="folder.7.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.1')"><a name="link229folder.7.1.1" class="el" href="pt/refman.html#bitmodule">bit</a></p>
|
||||
<div id="folder.7.1.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link230folder.7.1.1" href="pt/refman.html#bit_bnot">bnot</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link231folder.7.1.1" href="pt/refman.html#bit_band">band</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link232folder.7.1.1" href="pt/refman.html#bit_bor">bor</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link233folder.7.1.1" href="pt/refman.html#bit_bxor">bxor</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link234folder.7.1.1" href="pt/refman.html#bit_lshift">lshift</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link235folder.7.1.1" href="pt/refman.html#bit_rshift">rshift</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link236folder.7.1.1" href="pt/refman.html#bit_bit">bit</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link237folder.7.1.1" href="pt/refman.html#bit_set">set</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link238folder.7.1.1" href="pt/refman.html#bit_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link239folder.7.1.1" href="pt/refman.html#bit_isset">isset</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link240folder.7.1.1" href="pt/refman.html#bit_isclear">isclear</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.2')"><a name="link239folder.6.1.2" class="el" href="pt/refman.html#cpumodule">cpu</a></p>
|
||||
<div id="folder.6.1.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link240folder.6.1.2" href="pt/refman.html#cpu_write32">write32</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link241folder.6.1.2" href="pt/refman.html#cpu_write16">write16</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link242folder.6.1.2" href="pt/refman.html#cpu_write8">write8</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link243folder.6.1.2" href="pt/refman.html#cpu_read32">read32</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link244folder.6.1.2" href="pt/refman.html#cpu_read16">read16</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link245folder.6.1.2" href="pt/refman.html#cpu_read8">read8</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link246folder.6.1.2" href="pt/refman.html#cpu_disableinterrupts">disableinterrupts</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link247folder.6.1.2" href="pt/refman.html#cpu_enableinterrupts">enableinterrupts</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link248folder.6.1.2" href="pt/refman.html#cpu_clockfrequency">clockfrequency</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.2" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.2')"><a name="link241folder.7.1.2" class="el" href="pt/refman.html#cpumodule">cpu</a></p>
|
||||
<div id="folder.7.1.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link242folder.7.1.2" href="pt/refman.html#cpu_write32">write32</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link243folder.7.1.2" href="pt/refman.html#cpu_write16">write16</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link244folder.7.1.2" href="pt/refman.html#cpu_write8">write8</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link245folder.7.1.2" href="pt/refman.html#cpu_read32">read32</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link246folder.7.1.2" href="pt/refman.html#cpu_read16">read16</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link247folder.7.1.2" href="pt/refman.html#cpu_read8">read8</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link248folder.7.1.2" href="pt/refman.html#cpu_disableinterrupts">disableinterrupts</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link249folder.7.1.2" href="pt/refman.html#cpu_enableinterrupts">enableinterrupts</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link250folder.7.1.2" href="pt/refman.html#cpu_clockfrequency">clockfrequency</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.3')"><a name="link249folder.6.1.3" class="el" href="pt/refman.html#gpiomodule">gpio</a></p>
|
||||
<div id="folder.6.1.3">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link250folder.6.1.3" href="pt/refman.html#gpio_configpin">configpin</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link251folder.6.1.3" href="pt/refman.html#gpio_setpinvalue">setpinvalue</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link252folder.6.1.3" href="pt/refman.html#gpio_getpinvalue">getpinvalue</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link253folder.6.1.3" href="pt/refman.html#gpio_setpinhigh">setpinhigh</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link254folder.6.1.3" href="pt/refman.html#gpio_setpinlow">setpinlow</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.3" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.3')"><a name="link251folder.7.1.3" class="el" href="pt/refman.html#gpiomodule">gpio</a></p>
|
||||
<div id="folder.7.1.3">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link252folder.7.1.3" href="pt/refman.html#gpio_configpin">configpin</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link253folder.7.1.3" href="pt/refman.html#gpio_setpinvalue">setpinvalue</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link254folder.7.1.3" href="pt/refman.html#gpio_getpinvalue">getpinvalue</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link255folder.7.1.3" href="pt/refman.html#gpio_setpinhigh">setpinhigh</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link256folder.7.1.3" href="pt/refman.html#gpio_setpinlow">setpinlow</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.4')"><a name="link255folder.6.1.4" class="el" href="pt/refman.html#netmodule">net</a></p>
|
||||
<div id="folder.6.1.4">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link256folder.6.1.4" href="pt/net_ref.html#net_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.4" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.4')"><a name="link257folder.7.1.4" class="el" href="pt/refman.html#netmodule">net</a></p>
|
||||
<div id="folder.7.1.4">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link258folder.7.1.4" href="pt/net_ref.html#net_setup">setup</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.5')"><a name="link257folder.6.1.5" class="el" href="pt/refman.html#pwmmodule">pwm</a></p>
|
||||
<div id="folder.6.1.5">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link258folder.6.1.5" href="pt/refman.html#pwm_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link259folder.6.1.5" href="pt/refman.html#pwm_setcycle">setcycle</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link260folder.6.1.5" href="pt/refman.html#pwm_start">start</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link261folder.6.1.5" href="pt/refman.html#pwm_stop">stop</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link262folder.6.1.5" href="pt/refman.html#pwm_setclock">setclock</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link263folder.6.1.5" href="pt/refman.html#pwm_getclock">getclock</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.5" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.5')"><a name="link259folder.7.1.5" class="el" href="pt/refman.html#pwmmodule">pwm</a></p>
|
||||
<div id="folder.7.1.5">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link260folder.7.1.5" href="pt/refman.html#pwm_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link261folder.7.1.5" href="pt/refman.html#pwm_setcycle">setcycle</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link262folder.7.1.5" href="pt/refman.html#pwm_start">start</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link263folder.7.1.5" href="pt/refman.html#pwm_stop">stop</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link264folder.7.1.5" href="pt/refman.html#pwm_setclock">setclock</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link265folder.7.1.5" href="pt/refman.html#pwm_getclock">getclock</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.6" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.6')"><a name="link264folder.6.1.6" class="el" href="pt/refman.html#spimodules">spi</a></p>
|
||||
<div id="folder.6.1.6">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link265folder.6.1.6" href="pt/refman.html#spi_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link266folder.6.1.6" href="pt/refman.html#spi_select">select</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link267folder.6.1.6" href="pt/refman.html#spi_unselect">unselect</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link268folder.6.1.6" href="pt/refman.html#spi_send">send</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link269folder.6.1.6" href="pt/refman.html#spi_sendrecv">sendrecv</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.6" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.6')"><a name="link266folder.7.1.6" class="el" href="pt/refman.html#spimodules">spi</a></p>
|
||||
<div id="folder.7.1.6">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link267folder.7.1.6" href="pt/refman.html#spi_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link268folder.7.1.6" href="pt/refman.html#spi_select">select</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link269folder.7.1.6" href="pt/refman.html#spi_unselect">unselect</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link270folder.7.1.6" href="pt/refman.html#spi_send">send</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link271folder.7.1.6" href="pt/refman.html#spi_sendrecv">sendrecv</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.7" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.7')"><a name="link270folder.6.1.7" class="el" href="pt/refman.html#sysmodule">sys</a></p>
|
||||
<div id="folder.6.1.7">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link271folder.6.1.7" href="pt/refman.html#sys_platforms">platform</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link272folder.6.1.7" href="pt/refman.html#sys_mcu">mcu</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link273folder.6.1.7" href="pt/refman.html#sys_cpu">cpu</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link274folder.6.1.7" href="pt/refman.html#sys_board">board</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.7" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.7')"><a name="link272folder.7.1.7" class="el" href="pt/refman.html#sysmodule">sys</a></p>
|
||||
<div id="folder.7.1.7">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link273folder.7.1.7" href="pt/refman.html#sys_platforms">platform</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link274folder.7.1.7" href="pt/refman.html#sys_mcu">mcu</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link275folder.7.1.7" href="pt/refman.html#sys_cpu">cpu</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link276folder.7.1.7" href="pt/refman.html#sys_board">board</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.8" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.8')"><a name="link275folder.6.1.8" class="el" href="pt/refman.html#termmodule">term</a></p>
|
||||
<div id="folder.6.1.8">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link276folder.6.1.8" href="pt/refman.html#term_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link277folder.6.1.8" href="pt/refman.html#term_cleareol">cleareol</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link278folder.6.1.8" href="pt/refman.html#term_moveto">moveto</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link279folder.6.1.8" href="pt/refman.html#term_moveup">moveup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link280folder.6.1.8" href="pt/refman.html#term_movedown">movedown</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link281folder.6.1.8" href="pt/refman.html#term_moveleft">moveleft</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link282folder.6.1.8" href="pt/refman.html#term_moveright">moveright</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link283folder.6.1.8" href="pt/refman.html#term_getlinecount">getlinecount</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link284folder.6.1.8" href="pt/refman.html#term_getcolcount">getcolcount</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link285folder.6.1.8" href="pt/refman.html#term_printstr">printstr</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link286folder.6.1.8" href="pt/refman.html#term_getx">getx</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link287folder.6.1.8" href="pt/refman.html#term_gety">gety</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link288folder.6.1.8" href="pt/refman.html#term_inputchar">inputchar</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.8" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.8')"><a name="link277folder.7.1.8" class="el" href="pt/refman.html#termmodule">term</a></p>
|
||||
<div id="folder.7.1.8">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link278folder.7.1.8" href="pt/refman.html#term_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link279folder.7.1.8" href="pt/refman.html#term_cleareol">cleareol</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link280folder.7.1.8" href="pt/refman.html#term_moveto">moveto</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link281folder.7.1.8" href="pt/refman.html#term_moveup">moveup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link282folder.7.1.8" href="pt/refman.html#term_movedown">movedown</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link283folder.7.1.8" href="pt/refman.html#term_moveleft">moveleft</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link284folder.7.1.8" href="pt/refman.html#term_moveright">moveright</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link285folder.7.1.8" href="pt/refman.html#term_getlinecount">getlinecount</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link286folder.7.1.8" href="pt/refman.html#term_getcolcount">getcolcount</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link287folder.7.1.8" href="pt/refman.html#term_printstr">printstr</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link288folder.7.1.8" href="pt/refman.html#term_getx">getx</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link289folder.7.1.8" href="pt/refman.html#term_gety">gety</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link290folder.7.1.8" href="pt/refman.html#term_inputchar">inputchar</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.9" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.1.9')"><a name="link289folder.6.1.9" class="el" href="pt/refman.html#tmrmodule">tmr</a></p>
|
||||
<div id="folder.6.1.9">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link290folder.6.1.9" href="pt/refman.html#tmr_delay">delay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link291folder.6.1.9" href="pt/refman.html#tmr_read">read</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link292folder.6.1.9" href="pt/refman.html#tmr_start">start</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link293folder.6.1.9" href="pt/refman.html#tmr_diff">diff</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link294folder.6.1.9" href="pt/refman.html#tmr_mindelay">mindelay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link295folder.6.1.9" href="pt/refman.html#tmr_maxdelay">maxdelay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link296folder.6.1.9" href="pt/refman.html#tmr_setclock">setclock</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.9" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.1.9')"><a name="link291folder.7.1.9" class="el" href="pt/refman.html#tmrmodule">tmr</a></p>
|
||||
<div id="folder.7.1.9">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link292folder.7.1.9" href="pt/refman.html#tmr_delay">delay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link293folder.7.1.9" href="pt/refman.html#tmr_read">read</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link294folder.7.1.9" href="pt/refman.html#tmr_start">start</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link295folder.7.1.9" href="pt/refman.html#tmr_diff">diff</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link296folder.7.1.9" href="pt/refman.html#tmr_mindelay">mindelay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link297folder.7.1.9" href="pt/refman.html#tmr_maxdelay">maxdelay</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link298folder.7.1.9" href="pt/refman.html#tmr_setclock">setclock</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.6.1.10" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6.1.10')"><a name="link297folder.6.1.10" class="el" href="pt/refman.html#uartmodule">uart</a></p>
|
||||
<div id="folder.6.1.10">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link298folder.6.1.10" href="pt/refman.html#uart_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link299folder.6.1.10" href="pt/refman.html#uart_send">send</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link300folder.6.1.10" href="pt/refman.html#uart_recv">recv</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img name="imgfolder.7.1.10" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.7.1.10')"><a name="link299folder.7.1.10" class="el" href="pt/refman.html#uartmodule">uart</a></p>
|
||||
<div id="folder.7.1.10">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link300folder.7.1.10" href="pt/refman.html#uart_setup">setup</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link301folder.7.1.10" href="pt/refman.html#uart_send">send</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link302folder.7.1.10" href="pt/refman.html#uart_recv">recv</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img name="imgfolder.6.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6.2')"><a name="link301folder.6.2" class="el" href="pt/refman.html#platdepmodules">Dependentes de Plataforma</a></p>
|
||||
<div id="folder.6.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img name="imgfolder.6.2.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.6.2.1')"><a name="link302folder.6.2.1" class="el" href="pt/refman.html#adcmodule">adc</a></p>
|
||||
<div id="folder.6.2.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link303folder.6.2.1" href="pt/refman.html#adc_sample">sample</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link304folder.6.2.1" href="pt/refman.html#adc_getsamples">getsamples</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link305folder.6.2.1" href="pt/refman.html#adc_maxval">maxval</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link306folder.6.2.1" href="pt/refman.html#adc_samplesready">samplesready</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link307folder.6.2.1" href="pt/refman.html#adc_dataready">dataready</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link308folder.6.2.1" href="pt/refman.html#adc_setmode">setmode</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link309folder.6.2.1" href="pt/refman.html#adc_setsmoothing">setsmoothing</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link310folder.6.2.1" href="pt/refman.html#adc_getsmoothing">getsmoothing</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link311folder.6.2.1" href="pt/refman.html#adc_burst">burst</a></p>
|
||||
<p><img src="wb_img/blank.png"><img name="imgfolder.7.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.7.2')"><a name="link303folder.7.2" class="el" href="pt/refman.html#platdepmodules">Dependentes de Plataforma</a></p>
|
||||
<div id="folder.7.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img name="imgfolder.7.2.1" src="wb_img/plusnode.png" onclick="toggleFolder('folder.7.2.1')"><a name="link304folder.7.2.1" class="el" href="pt/refman.html#adcmodule">adc</a></p>
|
||||
<div id="folder.7.2.1">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link305folder.7.2.1" href="pt/refman.html#adc_sample">sample</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link306folder.7.2.1" href="pt/refman.html#adc_getsamples">getsamples</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link307folder.7.2.1" href="pt/refman.html#adc_maxval">maxval</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link308folder.7.2.1" href="pt/refman.html#adc_samplesready">samplesready</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link309folder.7.2.1" href="pt/refman.html#adc_dataready">dataready</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link310folder.7.2.1" href="pt/refman.html#adc_setmode">setmode</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link311folder.7.2.1" href="pt/refman.html#adc_setsmoothing">setsmoothing</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/node.png"><a class="el" name="link312folder.7.2.1" href="pt/refman.html#adc_getsmoothing">getsmoothing</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/vertline.png"><img src="wb_img/nodelast.png"><a class="el" name="link313folder.7.2.1" href="pt/refman.html#adc_burst">burst</a></p>
|
||||
</div>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img name="imgfolder.6.2.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.6.2.2')"><a name="link312folder.6.2.2" class="el" href="pt/refman.html#dispmodule">disp</a></p>
|
||||
<div id="folder.6.2.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link313folder.6.2.2" href="pt/refman.html#disp_init">init</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link314folder.6.2.2" href="pt/refman.html#disp_enable">enable</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link315folder.6.2.2" href="pt/refman.html#disp_disable">disable</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link316folder.6.2.2" href="pt/refman.html#disp_on">on</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link317folder.6.2.2" href="pt/refman.html#disp_off">off</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link318folder.6.2.2" href="pt/refman.html#disp_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link319folder.6.2.2" href="pt/refman.html#disp_print">print</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link320folder.6.2.2" href="pt/refman.html#disp_draw">draw</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img name="imgfolder.7.2.2" src="wb_img/plusnodelast.png" onclick="toggleFolder('folder.7.2.2')"><a name="link314folder.7.2.2" class="el" href="pt/refman.html#dispmodule">disp</a></p>
|
||||
<div id="folder.7.2.2">
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link315folder.7.2.2" href="pt/refman.html#disp_init">init</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link316folder.7.2.2" href="pt/refman.html#disp_enable">enable</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link317folder.7.2.2" href="pt/refman.html#disp_disable">disable</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link318folder.7.2.2" href="pt/refman.html#disp_on">on</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link319folder.7.2.2" href="pt/refman.html#disp_off">off</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link320folder.7.2.2" href="pt/refman.html#disp_clear">clear</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/node.png"><a class="el" name="link321folder.7.2.2" href="pt/refman.html#disp_print">print</a></p>
|
||||
<p><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/blank.png"><img src="wb_img/nodelast.png"><a class="el" name="link322folder.7.2.2" href="pt/refman.html#disp_draw">draw</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user