|
Axis Linux/ETRAX port
The source code to Axis' Linux port for ETRAX
100 is available in the Download section. As usual, all
kernel code is under the GPL (General Public License). You can
find documentation in the documentation
section.
The Linux/ETRAX port is based on the 2.0.38 Linux kernel,
copyright Linus Torvalds et al. We are also using the uClinux
patches for MMU-less Linux, copyright by D. Jeff Dionne and
Kenneth Albanowski. For more info on uClinux, see uClinux
- The Linux/Microcontroller Project. Linux is a Trademark
of Linus Torvalds.
The kernel includes our Journaling Flash
File System, JFFS, which is a file system designed by us
to be used on Flash-ROM chips. It implements a log-structured
file system which is always consistent no matter crashes or
power-downs - and it does not require an fsck upon boot.
Also, the Axis Bluetooth stack is released with the kernel.
Please see the Bluetooth section on this web for more
information.
The Linux/ETRAX port also includes drivers for the
following interfaces/hardware on the developer
board: serial ports, parallel ports, I2C EEPROM, DS1302
timekeeper, general I/O.
Additionally, drivers for the following interfaces/hardware
are included, but these interfaces are not supported by the
development board: ATA, SCSI, Axis ARTPEC-1 image compression
chip.
Register macros
Macros for manipulating ETRAX 100
mode registers in C(++) and assembler. Include the
sv_addr_ag.h file in your source. Not documented as of yet.
RTFS and these few examples.
*R_WAITSTATES = 0;
*R_DMA_CH0_CLR_INTR =
IO_STATE(R_DMA_CH0_CLR_INTR, clr_eop, dont) |
IO_STATE(R_DMA_CH0_CLR_INTR, clr_descr, do);
foo = *R_TR_COUNTERS;
if (foo & IO_MASK(R_TR_COUNTERS, deferred))
{
printf("deferred\n");
}
Shadow register macros
These are more advanced macros and are the ones we
recommend. Read our internal documentation
and get the tarball. |