Re: Boot up speed
Thomas Chenot <tom.chenot-6tN4nzCoH/[email protected]>
| Newsgroups | gmane.comp.hardware.microcontrollers.tini |
|---|---|
| Message-ID | <[email protected]> |
Andy Page wrote:
>As promised I have looked at the serial output during the boot process. The
>TStik pauses for ages at the line 'CPersistant blocks freed' actually the
>'C' comes up and then the rest of the line about 1 minute later.
>
>
This means the memory has been chewed up into tiny little pieces and the
Memory Manager is working to coalesce the many freed fragments into
fewer, larger free memory blocks. I'm sure this tip has already been
mentioned but this type of problem (and others) can usually be cured by
many of the optimizations mentioned in chapter 11 of "TINI
Specification and Developer's Guide" (see
http://www.maxim-ic.com/products/tini/devguide.cfm ).
The most common cause is a loop like this
while (conditionThatIsTrueMostOfTheTime)
{
//...
myVariable = new objectOrByteArrayOrWhatever();
// do something with myVariable
//...
}
This can usually be rewritten to look something like
myVariable = new objectOrByteArrayOrWhatever();
while ( conditionThatIsTrueMostOfTheTime)
{
//...
// do something with myVariable
//...
}
These optimizations typically speed up execution by
- saving time required to create an object and
- saving time required to recycle (GC) the memory .
>Does this help anyone shed some light on what the TStik/TINI is upto during
>this time?
>
>Andy Page.
>
>See below for serial output...
>
>
>DS80C400 Silicon Software - Copyright (C) 2002 Maxim Integrated Products
>Detailed product information available at http://www.maxim-ic.com
>
>Welcome to the TINI DS80C400 Auto Boot Loader 1.0.1
>
>
>
>
>>E
>>
>>
>
>----> TINI Boot <----
>TINI OS 1.12 - Copyright (C) 1999 - 2003 Maxim Integrated Products
>API Version: 9004
>Crystal: 14.7456MHz x 2
>POR Count: 00000021
>Running POR Code
>Memory POR Routines
>000028
>0080,0100,0180,0200,0280,0300,0380,0400,0480,0500,0580,0600,0680,0700,0780,0
>800,0880,0900,0980,0A00,0A80,0B00,0B80,0C00,0C80,0D00,0D80,0E00,0E80,0F00,0F
>80,1000,1080,1100,1180,1200,1280,1300,1380,1400,1480,1500,1580,1600,1680,170
>0,1780,1800,1880,1900,1980,1A00,1A80,1B00,1B80,1C00,1C80,1D00,1D80,1E00,1E80
>,1F00,1F80,2000,2080,2100,2180,2200,2280,2300,2380,2400,2480,2500,2580,2600,
>2680,2700,2780,2800,2880,2900,2980,2A00,2A80,2B00,2B80,2C00,2C80,2D00,2D80,2
>E00,2E80,2F00,2F80,3000,3080,3100,3180,3200,3280,3300,3380,3400,3480,3500,
>Transient blocks freed: 3503, size: 0B64AD CPersistant blocks freed: 0000,
>size: 000000 Memory Available: 0E81A0
>Creating Task:
>0100
>01
>Loading application: 470100
>Creating Task: 0200 02
>Application load complete
>[-= slush Version 1.12 =-]
>[ System coming up. ]
>[ Beginning initialization... ]
>[ Not generating log file. ] [Info]
>[ Initializing shell commands... ] [Done]
>[ Checking system files... ] [Done]
>[ Initializing and parsing .startup... ]
>[ Initializing network... ]
>[ Starting up Telnet server... ] [Done]
>[ Starting up FTP server... ] [Done]
>[ Network configuration ] [Done]
>[ System init routines ] [Done]
>
>[ slush initialization complete. ]
>
>Hit any key to login.
>
>Welcome to slush. (Version 1.12)
>
>
>_______________________________________________
>TINI mailing list
>TINI-6tN4nzCoH/[email protected]
>To UNSUBSCRIBE, edit your profile, or see list archives:
>http://lists.dalsemi.com/mailman/listinfo/tini
>
>
>
--
Thomas Chenot
_______________________________________________
TINI mailing list
TINI-6tN4nzCoH/[email protected]
To UNSUBSCRIBE, edit your profile, or see list archives:
http://lists.dalsemi.com/mailman/listinfo/tini