You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
</span></div></h2><div><span><p>Codeus Tech is honored to be advised by <strong>Edward Hart</strong>, a former Deputy Director of NSA for Information Systems Security. While working with NSA, Ed oversaw development of some of the world's most advanced and secure IoT devices. In private industry, he has played a key role in several successful entities -- founding, managing and as a member of various boards.</p>
</span></div></h2><div><span><p>Many professors at University of Wyoming have significantly contributed to the validation and development of Codeus Tech. Dr. Ruben Gamboa (pictured) is Cody's doctoral advisor; Ruben has expert-level experience in formal verification and programming language design and has successfully founded/exited a software research company (Databases).</p>
8
+
</span></div></h2><div><span><p>Many professors at University of Wyoming have significantly contributed to the validation and development of Codeus Tech. Dr. <strong>Ruben Gamboa</strong> (pictured) has advised Fagley on academic/research for over half a decade; Ruben has expert-level experience in formal verification and programming language design and has also <ahref="https://en.wikipedia.org/wiki/Logical_Information_Machines">successfully founded/exited a research-forward database company</a>.</p>
</span></div></h2><div><span><p>Codeus Tech is honored to be advised by <strong>Edward Hart</strong>, a former Deputy Director of NSA for Information Systems Security. While working with NSA, Ed oversaw development of some of the world's most advanced and secure IoT devices. In private industry, he has played a key role in several successful entities -- founding, managing and as a member of various boards.</p>
</span></div></h2><div><span><p>Many professors at University of Wyoming have significantly contributed to the validation and development of Codeus Tech. Dr. Ruben Gamboa (pictured) is Cody's doctoral advisor; Ruben has expert-level experience in formal verification and programming language design and has successfully founded/exited a software research company (Databases).</p>
8
+
</span></div></h2><div><span><p>Many professors at University of Wyoming have significantly contributed to the validation and development of Codeus Tech. Dr. <strong>Ruben Gamboa</strong> (pictured) has advised Fagley on academic/research for over half a decade; Ruben has expert-level experience in formal verification and programming language design and has also <ahref="https://en.wikipedia.org/wiki/Logical_Information_Machines">successfully founded/exited a research-forward database company</a>.</p>
<spanclass="hljs-comment">-- Desired Memory Mappings and Firmware Interfaces</span>
86
86
<spanclass="hljs-type">GPIO</span>: <spanclass="hljs-number">0x3F215000</span> + <spanclass="hljs-number">0xD4</span>; <spanclass="hljs-comment">-- The first number represents an initial memory address</span>
87
-
<spanclass="hljs-type">BSC</span>: <spanclass="hljs-number">0x3F205000</span> + <spanclass="hljs-number">0x1C</span>, <spanclass="hljs-comment">-- The second number represents the upper bound of the range</span>
87
+
<spanclass="hljs-type">BSC</span>: <spanclass="hljs-number">0x3F205000</span> + <spanclass="hljs-number">0x1C</span>, <spanclass="hljs-comment">-- The second number represents the number of bytes</span>
<spanclass="hljs-type">DMA</span>: <spanclass="hljs-number">0x3F007000</span> + <spanclass="hljs-number">0x1400</span>, <spanclass="hljs-comment">-- Separated ranges can be denoted by commas</span>
91
91
<spanclass="hljs-number">0x3FE05000</span> + <spanclass="hljs-number">0x100</span>; <spanclass="hljs-comment">-- And terminated by semi-colins</span>
<spanclass="hljs-type">Timer</span>: <spanclass="hljs-number">0x3F003000</span> + <spanclass="hljs-number">0x18</span><spanclass="hljs-comment">-- Make sure there is no ';' at the end</span>
94
94
</code></pre>
95
+
<p><strong>NOTE:</strong> Alternatively, you can define the drivers using <code>-</code> operator (in contrast to <code>+</code> operator). The <code>-</code> syntax will instead define the lower</p>
96
+
<pre><codeclass="hljs css language-haskell"><spanclass="hljs-type">GPIO</span>: <spanclass="hljs-number">0x3F215000</span> - <spanclass="hljs-number">0x3F2150D4</span>; <spanclass="hljs-comment">-- The first number represents an initial memory address</span>
97
+
<spanclass="hljs-type">BSC</span>: <spanclass="hljs-number">0x3F205000</span> - <spanclass="hljs-number">0x3F20501C</span>, <spanclass="hljs-comment">-- The second number represents the number of bytes</span>
<spanclass="hljs-type">DMA</span>: <spanclass="hljs-number">0x3F007000</span> - <spanclass="hljs-number">0x3F008400</span>, <spanclass="hljs-comment">-- Separated ranges can be denoted by commas</span>
101
+
<spanclass="hljs-number">0x3FE05000</span> - <spanclass="hljs-number">0x3FE05100</span>; <spanclass="hljs-comment">-- And terminated by semi-colins</span>
<spanclass="hljs-type">Timer</span>: <spanclass="hljs-number">0x3F003000</span> - <spanclass="hljs-number">0x3F003018</span><spanclass="hljs-comment">-- Make sure there is no ';' at the end</span>
<p>Each chip can have a collection of firmware drivers written in Xita's functional language. Each firmware driver addresses a unique named Firmware Interface, defined in the loaded <code>.chip</code> file (above).</p>
97
107
<p>Once the firmware driver is defined correctly, it can freely access any memory address within the predefined interface range. As an example, see the following Driver file:</p>
<p>Firmware Drivers have the unique ability to directly access the data held at specific memory addresses, but they can only access data in the range owned by the firmware driver (defined in the *.chip file).</p>
122
+
<p>To read or write data to a specfic memory address, the integer address must be known at compile time. Therefore, it can only be an integer literal (e.g. <code>10</code>) or a defined integer constant identifier (e.g. <code>const Int addr = 10</code>).</p>
0 commit comments