RTEMS for NIOS2 update; new BSP for NIOS II simulator

Waschk,Kolja rtems at telos.de
Mon Aug 7 21:46:05 UTC 2006


Hi,

> Does it run hello, ticker, etc?

I currently have a script running through the testsuite (nios2-iss isn't
really that fast...)

So far the following appeared to complete without problems during the past
hours (I stopped those that need interactive input or network connection
manually):

> base_sp cpuuse fileio hello loopback malloctest minimum monitor paranoia
> pppd putenvtes sp01 sp02 sp03 sp04 sp06 sp07 sp08 sp09 spsize rmios ticker

rtmonuse and stackchecker cause a simulator failure after some simulated
seconds, reading data from "uninitialized memory"; I'll take a look at that
later. The stackchecker failure makes me somewhat nervous; I didn't run that
test before.

Furthermore sp05 failed (a known problem, see below) and "unlimited":

> TEST3 : creating task 'aa49', failure, unsatisfied.
> FAIL3 : not enough tasks created -
>         task created = 49, required number = 55

Hm, sp09 just said on "screen 12":

> rtems_region_create with illegal size FAILED --
> expected (specified size was invalid) got (successful completion)

During earlier tests with almost the same code on actual hardware, all TMxx
tests and most SPxx tests passed, with only three exceptions,

sp05: Needed to change node:=1 argument in task1.c to ":= RTEMS_SEARCH_ALL_NODES"

sp16: Needed to reduce the page size in sp16 code (as an old posting to the
list suggested)

sp20: Joel suggested the system maybe too slow?

Only a subset of possible NIOS II configurations is supported.
For now I had to ignore

- variable endianness
- (optional) custom instructions for byteswap/bitcount/...
- (optional) custom instructions for floating point computations
- (optional) data cache (are there any tests for cache management?)

Instruction cache is initialized properly, but I haven't tested the
functions/macros for invalidating it yet.

The support for the JTAG UART is only a polled variant so that I can see
some output. It should actually be implemented using termios, I think. And
support for further peripherals would be important as well; at least the
peripherals included in the NIOS kits (UART,SPI,serial Flash,91C111 MAC) and
some further common extensions (Opencores.ORG MAC) should be supported.

The libbsp subdirectories should be organized in some way to simplify
derivation of custom BSPs from a standard one, e.g. putting most code in a
shared/ directory. I assume that almost everyone who would like to use RTEMS
with NIOS2 uses a different FPGA configuration and needs a custom BSP.
Therefore it should be simplified to create the custom BSP. Definitions of
memory layout are provided by the Altera software in a so-called PTF file,
and I initiated a "nios2gen" tool that someday will be able to read such a
PTF file and create a BSP configuration from it (bsp.h and linkcmds).

Kolja

-- 
Mr. Kolja Waschk, waschk at telos - +49(40) 450173-0; Fax -99
telos EDV Systementwicklung GmbH - Schlueterstrasse 16 - D-20146 Hamburg




More information about the users mailing list