<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=Generator content="Microsoft Word 10 (filtered)">

<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Fixedsys;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Joel,</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I have a small issue with Rtems Startup code that I would
like to discuss.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Rtems allows the programmer to determine if to ‘zero
out’ RTEMS workspace memory by a variable called</span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> “do_zero_of_workspace”</span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> that is
typically set in the “bspstart.c” in your bsp.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>By modifying </span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>“Cpu_table.do_zero_of_workspace
= TRUE” you can cause the RTEMS workspace memory to be zeroed once pasted
to the memory manager. The side effect to this is it will later zero out all
the remaining memory that RTEMS passes to the Heap manager for you application.
In most cases this is a good and expected thing.</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>I have 64Meg of memory on my
application and it takes around 11secs to zero out this space and </span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>it seems
that, in my case, RTEMS expects the RTEMS workspace to be zero’ed out on
startup up. I get frequent lockups if I don’t zero this space.</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>I have found that getting RTEMS to
zero out the workspace, without zeroing the 64 Meg of Ram is a bit of a trick.</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>I have patched my bsp  by declaring
“bsp_pretasking_hook()” local in my bsp directories and turning off
the flag which by now is called “_Cpu_Table.do_zero_of_workspace”,
but I feel that this is a bit unclear why I am setting a variable to TRUE in
one function then turning it off later (yes I commented it heavily) </span></font><font
size=2 face=Wingdings><span style='font-size:10.0pt;font-family:Wingdings'>J</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>I believe reusing “do_zero_of_workspace”
to signal the zeroing of RTEMS workspace memory and the HEAP space is unclear. 
Would it be clearer for these separate functions to check their own flag so that
we might be able to zero out RTEMS workspace but not require us to zero out the
entire memory?</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>Humbly your,</span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>

<p class=MsoNormal style='text-autospace:none'><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'> </span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(ps Mark po is coming </span></font><font size=2
face=Wingdings><span style='font-size:10.0pt;font-family:Wingdings'>J</span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> )</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Bill Butler</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Project Lead</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Sr Software Engineer</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>AIPCOM Inc</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>(972) 644-2328 (x16)</span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> </span></font></p>

</div>

</body>

</html>