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