RE: Boot up speed

"Kelly Smith" <[email protected]>
Newsgroups gmane.comp.hardware.microcontrollers.tini
Message-ID <[email protected]>
Dear Andrew -

Re: "Perhaps I am getting towards the limit of what can be achieved with the
TStik?".
...and,

Re: "Monitors the status of the power supplies in the system also using
I2C -
there can be up to 64 power supplies monitored".

I bet you'll "hit the wall" with threads pretty quickly with TINI SDK,
regardless of the amount of RAM used.  On that note, I spent over a year
horsing around with X10 Home Automation power modules (on/off/dim/bright),
and was very disappointed with overall performance with just 6+ X10 power
modules.  Any more, and I was running out of memory on 1MB TINIs and/or
threads (16 maximum). X10 relaibility "blows huge chunks" BTW!

I abandoned all of the code for the X10 project (unreliable and unexplained
on/offs also!), and moved on to 1-Wire devices.  Maybe I2C will be found to
be just as suitable, for you.  I am impressed by the number of small
programs that CAN run concurrently, on a TINI.  For instance, I have had a
(1) Tynamo web-server running, along with a (2) IP "Proxy" server to
dispatch IPs across multiple (additional TINI's to "share the workload,
rather than a single TINI), (3) a background 1-Wire entered/exited device
monitor, and a (4) 1 line 1-Wire (DS2408) text display with "time"
displayed, and a (5) "heart-beat" indicator.  All of the hardware is COTS
from Systronix and AAG.  Another TINI, was also running a  (1) alternate
(back-up) Tynamo web-server (or TiniHttpServer) "House Monitor", and a (2)
SBX2 w/LCD and Keypad and a (3) 1-Wire LCD.  I started "hitting the wall",
when I added (4) a low cost camera "NickClick" camera, and things came down
to a crawl while the camera was being processed (and occasion "out of
memory" crashes.

You might consider "spreading the pain" as I did with a "proxy server" (I
can send you the code off-list if you like), over 3 or 4 TINIs (actually,
use the Systronix TStik (1 MB), and TILT-Pro!).

All-in-all, I would say that you are being highly aggressive, for what can
be squeezed out of a TINI and it's resources.

Good luck!  Best regards, Kelly Smith

P.S. I'll take a look at your code, as time allows if you like (email:
[email protected]).

-----Original Message-----
From: tini-admin-6tN4nzCoH/[email protected] [mailto:tini-admin-6tN4nzCoH/[email protected]]On Behalf Of
Andrew Page
Sent: Monday, April 26, 2004 11:22 AM
To: Bruce Boyes
Cc: tini-6tN4nzCoH/[email protected]
Subject: Re: [TINI]Boot up speed


Hi Bruce and others,

I have looked at the serial 0 messages at startup and it pauses part way
through for quite a while.  I will let you know exactly where when I get
back to work tommorrow.  As some have suggested, it may be that on a
previous run of my application, I have chewed up the memory somewhat as it
is quite complex (two classes, about 600 lines of java).  After about 10 or
so runs of starting and stopping (for various updates, bug fixes etc.), the
TStik won't play any more and just says 'not enough heap' so that's when I
reboot.  The code is too large to post to the list, but I guess I could
email the source  code to a few people to see if they can find ways to
optimize it a bit  (It would take some wading through though).  I'm no java
expert and this is my first big java application and my first on a
TStik/TINI.

The application itself controls a telecom power system.  It basically does
the following:
1.  Monitors some sensors on the I2C bus (voltages, currents, temperatures,
circuit breakers) .
2.  Monitors the status of the power supplies in the system also using I2C -
there can be up to 64 power supplies monitored.
3.  Checks the temperature of the batteries (one of the sensors) and adjusts
the float voltage (generated by the power supplies) to help maintain the
batteries in tip top condition for as long as possible (possibly 10 years or
more).
4.  It controls alarm relays and low voltage disconnects (via I2C) for
various system conditions.
5.  In a separate thread, it serves a status webpage which shows basic
system parameters.  One of my goals is to try and serve this webpage also
through the serial port and modem, but I have not read of anybody doing
this - it sounds feasible but this is a way off yet.
6.  It displays system parameters on an LCD display (2 x 16 chars), also
controlled through the I2C bus.
7.  Monitors a keypad connected via the LCD display - this enables the user
to select different displayed parameters and adjust some system variables.

All this fits into a .tini file of about 22k which I think is not too bad.
I guess with all the above going on, perhaps it is not surprising that the
memory might be getting a bit fragmented.  Perhaps I am getting towards the
limit of what can be achieved with the TStik?

Best Regards,

Andy.
----- Original Message -----
From: "Bruce Boyes" <[email protected]>
To: "Andrew Page" <andymark.page-XZoyATsUNX5Wk0Htik3J/[email protected]>
Cc: <tini-6tN4nzCoH/[email protected]>
Sent: Sunday, April 25, 2004 11:10 PM
Subject: Re: [TINI]Boot up speed


> At 08:41 PM 4/24/2004 +0100, Andrew Page wrote:
> >Hi all,
> >
> >
> >
> >I have written a small java program (about 20k) for a TSTIK72NB (behaves
> >like a TINIm400).  I have put this program in the etc directory and
edited
> >the .startup file so the app runs automatically at power up.  It seems
that
> >it takes about 90 seconds before the application starts after initial
power
> >up.  My question is - is this about right or can I do something to make
this
> >time a bit shorter?  I am not ready to put the program into flash yet but
> >would this make boot up any quicker?
>
> As you suspect, something unusual is going on -- this is not the normal
> startup time.
>
> Normal TStik/TINI power on slush startup, with autorun of Tynamo web
server
> doesn't take anywhere near this long, and it has to set up http, ftp and
> telnet servers.
>
> As another example, in production of TStik we use NetBoot to load the
> TINIOS and our mfg test code, then run it and test the TStik itself. This
> entire process, including transferring the TINIOS and then starting and
> running the code takes less than 90 seconds (I forget the exact time, it's
> about a minute, maybe a tad more).
>
> Do you emit messages to serial0 on startup? If you have Javakit connected
> to serial0 do you see any unusual pauses or messages such as when memory
> gets tested, etc?
>
> Bruce
>
>

_______________________________________________
TINI mailing list
TINI-6tN4nzCoH/[email protected]
To UNSUBSCRIBE, edit your profile, or see list archives:
http://lists.dalsemi.com/mailman/listinfo/tini


_______________________________________________
TINI mailing list
TINI-6tN4nzCoH/[email protected]
To UNSUBSCRIBE, edit your profile, or see list archives:
http://lists.dalsemi.com/mailman/listinfo/tini
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.