Projects update: add Obsolete flag
[beagleboard.org.git] / db / 2765.xml
blobbfd9b42d69662ba1a7a78f92cace62476b36ae77
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <?xml-stylesheet type="text/xsl" href="helma.xsl"?>
3 <xmlroot xmlns:hop="http://www.helma.org/docs/guide/features/database">
4   <hopobject id="2765" name="bone101" prototype="Page" created="1371588720910" lastModified="1386714261059">
5   <hop:parent idref="121" prototyperef="Page"/>
6     <is_xhtml type="boolean">true</is_xhtml>
7     <http_remotehost>68.43.104.104</http_remotehost>
8     <http_language>en-US,en;q=0.8</http_language>
9     <uri>bone101</uri>
10     <http_browser>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36</http_browser>
11     <time type="date">10.12.2013 16:24:21 CST</time>
12     <hopsession>68.43.104.occnfohvio7s</hopsession>
13     <body>&lt;h2&gt;BeagleBone 101&lt;/h2&gt;\r
15     &lt;div id=&apos;side-menu&apos; class=&quot;t3_sidebar&quot;&gt;\r
16      &lt;ul class=&quot;left-menu&quot;&gt;\r
17       &lt;strong&gt;Navigation&lt;/strong&gt;\r
18       &lt;li&gt;&lt;a href=&quot;/Support/BoneScript/menu/&quot;&gt;Menu contents&lt;/a&gt;&lt;/li&gt;\r
19      &lt;/ul&gt;\r
20     &lt;/div&gt;\r
21     &lt;div class=&quot;t3_content_1&quot;&gt;\r
22      &lt;div id=&apos;connect-status&apos;&gt;&lt;/div&gt;\r
23      &lt;div id=&quot;content_child&quot;&gt;\r
24      &lt;!--- START CONTENT --&gt;\r
25      &lt;h1&gt;BeagleBone: open-hardware expandable computer&lt;/h1&gt;\r
26      &lt;h2&gt;Artist-tested, engineer approved&lt;/h2&gt;\r
27      &lt;p&gt;The left-hand navigation bar will help you explore\r
28       your board and learn how to program it.\r
29      &lt;/p&gt;\r
30      &lt;img src=&quot;/static/images/artist-tested-engineer-approved.jpg&quot; /&gt;\r
32      &lt;h2 id=&quot;software&quot;&gt;&lt;/h2&gt;\r
33      &lt;h2&gt;Latest ARM open source focused on easy hardware experimentation&lt;/h2&gt;\r
34      &lt;ul&gt;\r
35       &lt;img src=&quot;/static/images/beaglebone-in-hand.JPG&quot; align=&quot;right&quot; width=&quot;25%&quot; /&gt;\r
36       &lt;li&gt;Ships ready to use&lt;ul&gt;\r
37        &lt;li&gt;Angstrom Distribution with C++, Perl, Python, ...&lt;/li&gt;\r
38        &lt;li&gt;Linux drivers support countless USB peripherals&lt;/li&gt;\r
39        &lt;li&gt;Interactive tutorial to start learning about capabilities&lt;/li&gt;\r
40       &lt;/ul&gt;&lt;/li&gt;\r
41       &lt;li&gt;Open source means options&lt;ul&gt;\r
42        &lt;li&gt;Texas Instruments releases:\r
43         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/rowboat&quot;&gt;Android&lt;/a&gt;,\r
44         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/amsdk&quot;&gt;Linux&lt;/a&gt;,\r
45         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/starterware&quot;&gt;StarterWare (no OS)&lt;/a&gt;\r
46        &lt;/li&gt;\r
47        &lt;li&gt;Linux: \r
48         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/angstrom&quot;&gt;Angstrom Distribution&lt;/a&gt;,\r
49         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/ubuntu&quot;&gt;Ubuntu&lt;/a&gt;,\r
50         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/debian&quot;&gt;Debian&lt;/a&gt;,\r
51         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/AM/&quot;&gt;ArchLinux&lt;/a&gt;,\r
52         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/sabayon/&quot;&gt;Sabayon&lt;/a&gt;,\r
53         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/buildroot/&quot;&gt;Buildroot&lt;/a&gt;,\r
54         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/Nerves/&quot;&gt;Erlang&lt;/a&gt;,\r
55         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/fedora/&quot;&gt;Fedora&lt;/a&gt;\r
56        &lt;/li&gt;\r
57        &lt;li&gt;Other:\r
58         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/QNX+Neutrino+on+OMAP/&quot;&gt;QNX&lt;/a&gt;,\r
59         &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/freebsd/&quot;&gt;FreeBSD&lt;/a&gt;\r
60        &lt;/li&gt;\r
61        &lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project&quot;&gt;Projects page&lt;/a&gt;&lt;/li&gt;\r
62       &lt;/ul&gt;&lt;/li&gt;\r
63       &lt;img align=&quot;right&quot; src=&quot;/static/images/imager.png&quot; width=&quot;30%&quot; /&gt;\r
64       &lt;li&gt;SD card images like get-out-of-jail-free card\r
65        &lt;pre&gt;xzcat XXX.img.xz | sudo dd of=/dev/sdX&lt;/pre&gt;\r
66        &lt;ul&gt;\r
67         &lt;li&gt;Can be used just as easily for backups&lt;/li&gt;\r
68         &lt;li&gt;Board can be booted from SD using device ROM, so you can&apos;t &quot;brick&quot; it&lt;/li&gt;\r
69         &lt;li&gt; \r
70          &lt;a href=&quot;http://http://www.7-zip.org/&quot;&gt;7-zip&lt;/a&gt; \r
71          and\r
72          &lt;a href=&quot;https://wiki.ubuntu.com/Win32DiskImager&quot;&gt;\r
73          Ubuntu Win32DiskImager\r
74          &lt;/a&gt;\r
75          enable programming cards from Windows\r
76         &lt;/li&gt;\r
77        &lt;/ul&gt;\r
78       &lt;/li&gt;\r
79      &lt;/ul&gt;\r
80  \r
81      &lt;h2 id=&quot;updates&quot;&gt;&lt;a href=&quot;/Support/BoneScript/updates/&quot;&gt;Update board with\r
82       latest software&lt;/a&gt;&lt;/h2&gt;\r
83      &lt;p&gt;There are multiple ways to run initial software on your board, but\r
84       it is likley that the simplest way to get an update is to create an\r
85       exact replica of a bootable microSD card and boot off of it.  The\r
86       BeagleBone Black has 2GB of eMMC storage that can be initialized by\r
87       a program booted off of a microSD card.  If you want to update to the\r
88       latest software image for your board, this is a way to do that.&lt;/p&gt;\r
89      &lt;p&gt;See &lt;a href=&quot;/Support/BoneScript/updates/&quot;&gt;updates&lt;/a&gt; for the\r
90       step-by-step guide.&lt;/p&gt;\r
91      &lt;p&gt;Information about getting the source code for the image shipped with\r
92       your board can be found at &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/angstrom&quot;&gt;\r
93       beagleboard.org/angstrom&lt;/a&gt;, along with instructions for rebuilding it.&lt;/p&gt;\r
95      &lt;h2 id=&quot;bonescript&quot;&gt;&lt;a href=&quot;/Support/BoneScript/&quot;&gt;Bonescript interactive \r
96       guide&lt;/a&gt;&lt;/h2&gt;\r
97      &lt;p&gt;Bonescript is a JavaScript library to simplify learning how to perform\r
98       physical computing tasks using your embedded Linux.  This web page is able\r
99       to interact with your board to provide an interactive tutorial.\r
100      &lt;/p&gt;\r
101 &lt;h3&gt;Example\r
102  &lt;button class=&quot;dynlink&quot; onclick=&quot;demoRun(&apos;code&apos;)&quot;&gt;run&lt;/button&gt;\r
103  &lt;button class=&quot;dynlink&quot; onclick=&quot;demoRestore(&apos;code&apos;); restore()&quot;&gt;restore&lt;/button&gt;\r
104 &lt;/h3&gt;\r
105 &lt;pre id=&quot;code&quot; class=&quot;use-editor&quot;&gt;\r
106 var b = require(&apos;bonescript&apos;);\r
107 b.pinMode(&apos;USR0&apos;, b.OUTPUT);\r
108 b.pinMode(&apos;USR1&apos;, b.OUTPUT);\r
109 b.pinMode(&apos;USR2&apos;, b.OUTPUT);\r
110 b.pinMode(&apos;USR3&apos;, b.OUTPUT);\r
111 b.digitalWrite(&apos;USR0&apos;, b.HIGH);\r
112 b.digitalWrite(&apos;USR1&apos;, b.HIGH);\r
113 b.digitalWrite(&apos;USR2&apos;, b.HIGH);\r
114 b.digitalWrite(&apos;USR3&apos;, b.HIGH);\r
115 setTimeout(restore, 2000);\r
116 &lt;/pre&gt;\r
117 &lt;script&gt;\r
118 function restore() {\r
119     var b = require(&apos;bonescript&apos;);\r
120     var p = &apos;/sys/class/leds/beaglebone:green:usr&apos;;\r
121     b.digitalWrite(&apos;USR0&apos;, b.LOW);\r
122     b.digitalWrite(&apos;USR1&apos;, b.LOW);\r
123     b.digitalWrite(&apos;USR2&apos;, b.LOW);\r
124     b.digitalWrite(&apos;USR3&apos;, b.LOW);\r
125     resetUSR0();\r
126     function resetUSR0() {\r
127         b.writeTextFile(p+&apos;0/trigger&apos;, &apos;heartbeat&apos;, resetUSR1);\r
128     }\r
129     function resetUSR1() {\r
130         b.writeTextFile(p+&apos;1/trigger&apos;, &apos;mmc0&apos;, resetUSR2);\r
131     }\r
132     function resetUSR2() {\r
133         b.writeTextFile(p+&apos;2/trigger&apos;, &apos;cpu0&apos;, resetUSR3);\r
134     }\r
135     function resetUSR3() {\r
136         b.writeTextFile(p+&apos;3/trigger&apos;, &apos;mmc1&apos;, complete);\r
137     }\r
138     function complete() {\r
139     }\r
141 &lt;/script&gt;\r
142      &lt;p&gt;Running the above example will cause all of your LEDs to light up at once for a\r
143       couple of seconds.\r
144      &lt;/p&gt;\r
145      &lt;p&gt;To learn more about Bonescript, please continue exploring \r
146       &lt;a href=&quot;/Support/BoneScript/&quot;&gt;this interactive guide&lt;/a&gt;.\r
147      &lt;/p&gt;\r
149      &lt;h2 id=&quot;cloud9&quot;&gt;&lt;a target=&quot;_blank&quot; class=&quot;cloud9-url&quot; href=&quot;http://192.168.7.2:3000&quot;&gt;Cloud9 IDE&lt;/a&gt;&lt;/h2&gt;\r
150      &lt;p&gt;To begin editing programs that live on your board, you can use the Cloud9 IDE.&lt;/p&gt;\r
151      &lt;p&gt;Click on the &quot;Cloud9 IDE&quot; link above to start the editor.&lt;/p&gt;\r
152      &lt;a target=&quot;_blank&quot; class=&quot;cloud9-url&quot;&gt;\r
153       &lt;img src=&quot;/static/images/Cloud9_Screen.png&quot; width=&quot;100%&quot; /&gt;\r
154      &lt;/a&gt;\r
156  &lt;p&gt;As a simple exercise to become familiar with &lt;a href=&quot;http://c9.io&quot; target=&quot;_blank&quot;&gt;Cloud9 IDE&lt;/a&gt; and the &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/bonescript&quot;&gt;Bonescript JavaScript library&lt;/a&gt;, creating a simple application to blink one of the 4 user programmable LEDs on the BeagleBone is a good start.&lt;/p&gt;\r
157  &lt;ul class=&quot;action&quot;&gt;\r
158   &lt;li&gt;&lt;b&gt;Step A:&lt;/b&gt; Close any open file tabs.&lt;br /&gt;&lt;br /&gt;\r
159    &lt;img src=&quot;/static/images/c9-close-tab.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;\r
160   &lt;/li&gt;\r
161   &lt;li&gt;&lt;b&gt;Step B:&lt;/b&gt; Click the &quot;+&quot; in the top-right to create a new file.&lt;br /&gt;&lt;br /&gt;\r
162    &lt;img src=&quot;/static/images/c9-create-tab.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;\r
163    &lt;img src=&quot;/static/images/c9-new-tab.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;\r
164   &lt;/li&gt;\r
165   &lt;li&gt;&lt;b&gt;Step C:&lt;/b&gt; Cut and paste the following code into the new tab:&lt;br /&gt;\r
166    &lt;pre&gt;\r
167 var b = require(&apos;bonescript&apos;);\r
169 var state = b.LOW;\r
171 b.pinMode(&quot;USR0&quot;, b.OUTPUT);\r
172 b.pinMode(&quot;USR1&quot;, b.OUTPUT);\r
173 b.pinMode(&quot;USR2&quot;, b.OUTPUT);\r
174 b.pinMode(&quot;USR3&quot;, b.OUTPUT);\r
175 setInterval(toggle, 1000);\r
177 function toggle() {\r
178     if(state == b.LOW) state = b.HIGH;\r
179     else state = b.LOW;\r
180     b.digitalWrite(&quot;USR3&quot;, state);\r
181 }&lt;/pre&gt;\r
182   &lt;/li&gt;\r
183   &lt;li&gt;&lt;b&gt;Step D:&lt;/b&gt; Save the file by clicking the disk icon and giving the file a name with the .js extension.&lt;br /&gt;&lt;br /&gt;\r
184    &lt;img src=&quot;/static/images/c9-disk-icon.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;\r
185    &lt;img src=&quot;/static/images/c9-save-name.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;\r
186    &lt;img src=&quot;/static/images/c9-save-name-complete.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;\r
187    &lt;img src=&quot;/static/images/c9-named-tab.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;\r
188   &lt;/li&gt;\r
189   &lt;li&gt;&lt;b&gt;Step E:&lt;/b&gt; Run the code by selecting the arrow to the right of &quot;run&quot; (or &quot;debug&quot;) in the toolbar to pull down the list of files to run and select your new file.&lt;br /&gt;&lt;br /&gt;\r
190    &lt;img src=&quot;/static/images/c9-run.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;\r
191   &lt;/li&gt;\r
192   &lt;li&gt;&lt;b&gt;Step F:&lt;/b&gt; Observe the BeagleBone USR3 LED blinking steadily about 5 times a second.&lt;br /&gt;&lt;br /&gt;\r
193   &lt;/li&gt;\r
194   &lt;li&gt;&lt;b&gt;Step G:&lt;/b&gt; Stop the code by clicking &quot;stop&quot; in the toolbar.&lt;br /&gt;&lt;br /&gt;\r
195    &lt;img src=&quot;/static/images/c9-stop.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;\r
196   &lt;/li&gt;\r
197  &lt;/ul&gt;\r
198  &lt;p&gt;Additional information about the Bonescript library is available in the presentation viewed in the next step and on-line at &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/project/bonescript&quot;&gt;http://beagleboard.org/project/bonescript&lt;/a&gt;.&lt;/p&gt;\r
199  &lt;h3&gt;Autorun&lt;/h3&gt;\r
200  &lt;p&gt;Once you&apos;ve finished developing your JavaScript application, you can have it start upon boot-up by simply\r
201   dropping it into the &apos;autorun&apos; subfolder (located at /var/lib/cloud9/autorun in the file system).\r
202  &lt;/p&gt;\r
203  &lt;p&gt;The systemd bonescript-autorun.service runs at start-up and uses the /usr/lib/node_modules/bonescript/autorun.js\r
204   script to automatically detect when .js files are in this directory and invoke them as separate processes with\r
205   node.js.  When the files are changed or moved, the script will kill the processes.\r
206  &lt;/p&gt;\r
207  &lt;h3&gt;Resources&lt;/h3&gt;\r
208  &lt;p&gt;To learn more about Cloud9 IDE and to synchronize the software on your board with cloud-hosted services, see\r
209   &lt;a target=&quot;_blank&quot; href=&quot;http://c9.io&quot;&gt;www.c9.io&lt;/a&gt;.\r
210  &lt;p&gt;For more information on Node.JS, the JavaScript interpreter, see &lt;a target=&quot;_blank&quot; href=&quot;http://nodejs.org&quot;&gt;www.nodejs.org&lt;/a&gt;.\r
211   Note that version 0.8.22 is what is currently installed on the default image and you can find the api documentation\r
212   at &lt;a target=&quot;_blank&quot; href=&quot;http://nodejs.org/docs/v0.8.22/api&quot;&gt;www.nodejs.org/docs/v0.8.22/api&lt;/a&gt;.\r
213  &lt;/p&gt;\r
214  &lt;p&gt;For more information about the Bonescript library, see &lt;a target=&quot;_blank&quot; href=&quot;http://beagleboard.org/bonescript&quot;&gt;\r
215   www.beagleboard.org/bonescript&lt;/a&gt;.\r
216  &lt;/p&gt;\r
218      &lt;h2 id=&quot;gateone&quot;&gt;&lt;a target=&quot;_blank&quot; class=&quot;gateone-url&quot; href=&quot;https://192.168.7.2&quot;&gt;GateOne SSH client&lt;/a&gt;&lt;/h2&gt;\r
219      &lt;p&gt;&lt;small&gt;&lt;em&gt;Note:&lt;/em&gt; GateOne has been removed from the default image\r
220          due to performance and reliability concerns. We hope to bring it back\r
221          soon.\r
222      &lt;/small&gt;&lt;/p&gt;\r
223      &lt;p&gt;GateOne provides a method for logging into the shell of your board without installing an\r
224       ssh client on your computer.  Click on the &quot;GateOne SSH client&quot; link above to login.\r
225      &lt;/p&gt;\r
226      &lt;ul&gt;\r
227       &lt;li&gt;&lt;em&gt;Host/IP or SSH URL&lt;/em&gt; - localhost&lt;/li&gt;\r
228       &lt;li&gt;&lt;em&gt;Port&lt;/em&gt; - 22&lt;/li&gt;\r
229       &lt;li&gt;&lt;em&gt;User&lt;/em&gt; - root&lt;/li&gt;\r
230       &lt;li&gt;&lt;em&gt;Password&lt;/em&gt; - &lt;empty&gt;&lt;/li&gt;\r
231      &lt;/ul&gt;\r
232      &lt;p&gt;&lt;small&gt;&lt;em&gt;Note&lt;/em&gt;: If you get errors, you might need to set the date on your BeagleBone.\r
233       &lt;button class=&quot;dynlink&quot; onclick=&quot;setDate();&quot;&gt;Set Date&lt;/button&gt;\r
234      &lt;/small&gt;&lt;/p&gt;\r
235      &lt;a target=&quot;_blank&quot; class=&quot;gateone-url&quot;&gt;\r
236       &lt;img src=&quot;/static/images/gateone.png&quot; width=&quot;100%&quot; /&gt;\r
237      &lt;/a&gt;\r
238      &lt;script&gt;\r
239          function setDate() {\r
240             var b = require(&apos;bonescript&apos;);\r
241             b.setDate(Date().toString());\r
242          }\r
243      &lt;/script&gt;\r
245      &lt;h3&gt;List of common Linux commands&lt;/h3&gt;\r
246      &lt;table&gt;&lt;tr&gt;\r
247       &lt;td&gt;&lt;ul&gt;\r
248        &lt;li&gt;&lt;em&gt;pwd&lt;/em&gt; - show current directory&lt;/li&gt;\r
249        &lt;li&gt;&lt;em&gt;cd&lt;/em&gt; - change current directory&lt;/li&gt;\r
250        &lt;li&gt;&lt;em&gt;ls&lt;/em&gt; - list directory contents&lt;/li&gt;\r
251        &lt;li&gt;&lt;em&gt;chmod&lt;/em&gt; - change file permissions&lt;/li&gt;\r
252        &lt;li&gt;&lt;em&gt;chown&lt;/em&gt; - change file ownership&lt;/li&gt;\r
253        &lt;li&gt;&lt;em&gt;cp&lt;/em&gt; - copy files&lt;/li&gt;\r
254        &lt;li&gt;&lt;em&gt;mv&lt;/em&gt; - move files&lt;/li&gt;\r
255        &lt;li&gt;&lt;em&gt;rm&lt;/em&gt; - remove files&lt;/li&gt;\r
256        &lt;li&gt;&lt;em&gt;mkdir&lt;/em&gt; - make directory&lt;/li&gt;\r
257        &lt;li&gt;&lt;em&gt;rmdir&lt;/em&gt; - remove directory&lt;/li&gt;\r
258        &lt;li&gt;&lt;em&gt;cat&lt;/em&gt; - dump file contents&lt;/li&gt;\r
259        &lt;li&gt;&lt;em&gt;less&lt;/em&gt; - progressively dump file&lt;/li&gt;\r
260        &lt;li&gt;&lt;em&gt;vi&lt;/em&gt; - edit file (complex)&lt;/li&gt;\r
261        &lt;li&gt;&lt;em&gt;nano&lt;/em&gt; - edit file (simple)&lt;/li&gt;\r
262        &lt;li&gt;&lt;em&gt;head&lt;/em&gt; - trim dump to top&lt;/li&gt;\r
263        &lt;li&gt;&lt;em&gt;tail&lt;/em&gt; - trim dump to bottom&lt;/li&gt;\r
264       &lt;/ul&gt;&lt;/td&gt;\r
265       &lt;td&gt;&lt;ul&gt;\r
266        &lt;li&gt;&lt;em&gt;echo&lt;/em&gt; - print/dump value&lt;/li&gt;\r
267        &lt;li&gt;&lt;em&gt;env&lt;/em&gt; - dump environment variables&lt;/li&gt;\r
268        &lt;li&gt;&lt;em&gt;export&lt;/em&gt; - set environment variable&lt;/li&gt;\r
269        &lt;li&gt;&lt;em&gt;history&lt;/em&gt; - dump command history&lt;/li&gt;\r
270        &lt;li&gt;&lt;em&gt;grep&lt;/em&gt; - search dump for strings&lt;/li&gt;\r
271        &lt;li&gt;&lt;em&gt;man&lt;/em&gt; - get help on command&lt;/li&gt;\r
272        &lt;li&gt;&lt;em&gt;apropos&lt;/em&gt; - show list of man pages&lt;/li&gt;\r
273        &lt;li&gt;&lt;em&gt;find&lt;/em&gt; - search for files&lt;/li&gt;\r
274        &lt;li&gt;&lt;em&gt;tar&lt;/em&gt; - create/extract file archives&lt;/li&gt;\r
275        &lt;li&gt;&lt;em&gt;gzip&lt;/em&gt; - compress a file&lt;/li&gt;\r
276        &lt;li&gt;&lt;em&gt;gunzip&lt;/em&gt; - decompress a file&lt;/li&gt;\r
277        &lt;li&gt;&lt;em&gt;du&lt;/em&gt; - show disk usage&lt;/li&gt;\r
278        &lt;li&gt;&lt;em&gt;df&lt;/em&gt; - show disk free space&lt;/li&gt;\r
279        &lt;li&gt;&lt;em&gt;mount&lt;/em&gt; - mount disks&lt;/li&gt;\r
280        &lt;li&gt;&lt;em&gt;tee&lt;/em&gt; - write dump to file in parallel&lt;/li&gt;\r
281        &lt;li&gt;&lt;em&gt;hexdump&lt;/em&gt; - readable binary dumps&lt;/li&gt;\r
282       &lt;/ul&gt;&lt;/td&gt;\r
283      &lt;/tr&gt;&lt;/table&gt;\r
284       \r
285      &lt;h3&gt;Other programming environments&lt;/h3&gt;\r
286      &lt;p&gt;The board also ships with gcc, python and more that can be invoked directly from the command-line.&lt;/p&gt;\r
288      &lt;h1 id=&quot;hardware&quot;&gt;Hardware documentation&lt;/h1&gt;\r
289      &lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://circuitco.com/support/index.php?title=BeagleBoneBlack&quot;&gt;\r
290 CircuitCo.com&apos;s BeagleBoneBlack page&lt;/a&gt; documents all of the known hardware issues, as well as the latest available software, \r
291 hardware documentation and design materials.\r
292      &lt;/p&gt;\r
293      &lt;p&gt;&lt;em&gt;Always read the System Reference Manual!!!&lt;/em&gt;&lt;/p&gt;\r
295      &lt;h3&gt;&lt;a href=&quot;http://beagleboard.org/hardware/design&quot;&gt;Design materials&lt;/a&gt;&lt;/h3&gt;\r
296      &lt;p&gt;Design materials for creating your own customized version of the hardware or for better\r
297       understanding the design are also linked from the traditional home of\r
298       &quot;&lt;a href=&quot;http://beagleboard.org/hardware/design&quot;&gt;http://beagleboard.org/hardware/design&lt;/a&gt;&quot;\r
299      &lt;/p&gt;\r
301      &lt;h3&gt;BeagleBone Black hardware details&lt;/h3&gt;\r
302      &lt;img src=&quot;/static/images/black_hardware_details.png&quot; width=&quot;100%&quot; /&gt;\r
303      &lt;p&gt;Revision A5 also provides a POWER button that can be used to enter and exit hibernate modes once\r
304       that feature is implemented in the software.\r
305      &lt;/p&gt;\r
307      &lt;h3 id=&quot;headers&quot;&gt;Headers&lt;/h3&gt;\r
308      &lt;p&gt;The expansion headers provide extensive I/O capabitilities.&lt;/p&gt;\r
309      &lt;img src=&quot;/static/images/cape-headers.png&quot; width=&quot;100%&quot; /&gt;\r
310      &lt;p&gt;Each digital I/O pin has 8 different modes that can be selected, including GPIO.&lt;/p&gt;\r
311      &lt;img src=&quot;/static/images/cape-headers-digital.png&quot; width=&quot;100%&quot; /&gt;\r
312      &lt;p&gt;In GPIO mode, each digital I/O can produce interrupts.&lt;/p&gt;\r
313      &lt;img id=&quot;headers-pwm&quot; src=&quot;/static/images/cape-headers-pwm.png&quot; width=&quot;100%&quot; /&gt;\r
314      &lt;p&gt;Up to 8 digital I/O pins can be configured with pulse-width modulators (PWM) to\r
315       produce signals to control motors or create analog voltage levels, without taking\r
316       up any extra CPU cycles.\r
317      &lt;/p&gt;\r
318      &lt;img src=&quot;/static/images/cape-headers-analog.png&quot; width=&quot;100%&quot; /&gt;\r
319      &lt;p&gt;&lt;em&gt;Make sure you don&apos;t input more than 1.8V to the analog input pins.&lt;/em&gt;&lt;/p&gt;\r
320      &lt;p&gt;This is a single 12-bit analog-to-digital converter with 8 channels, 7 of which\r
321       are made available on the headers.\r
322      &lt;/p&gt;\r
323      &lt;img src=&quot;/static/images/cape-headers-serial.png&quot; width=&quot;100%&quot; /&gt;\r
324      &lt;p&gt;There is a dedicated header for getting to the UART0 pins and connecting a\r
325       debug cable. Five additional serial ports are brought to the expansion headers,\r
326       but one of them only has a single direction brought to the headers.\r
327      &lt;/p&gt;\r
328      &lt;img src=&quot;/static/images/cape-headers-i2c.png&quot; width=&quot;100%&quot; /&gt;\r
329      &lt;p&gt;The first I2C bus is utilized for reading EEPROMS on cape add-on boards and\r
330       can&apos;t be used for other digital I/O operations without interfering with that\r
331       function, but you can still use it to add other I2C devices at available\r
332       addresses.\r
333      &lt;/p&gt;\r
334      &lt;p&gt;The second I2C bus is available for you to configure and use.&lt;/p&gt;\r
335      &lt;img src=&quot;/static/images/cape-headers-spi.png&quot; width=&quot;100%&quot; /&gt;\r
336      &lt;p&gt;For shifting out data fast, you might consider using one of the SPI ports.&lt;/p&gt;\r
338      &lt;img src=&quot;/static/images/boris-cape.png&quot; width=&quot;20%&quot; align=&quot;right&quot; /&gt;\r
339      &lt;h1 id=&quot;capes&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://beaglebonecapes.com&quot;&gt;Capes&lt;/a&gt;&lt;/h1&gt;\r
340      &lt;p&gt;Capes are really just daughterboards for BeagleBone and BeagleBone Black, but\r
341       we refer to them enough that a short name makes sense.  BeagleBone wears them, they\r
342       typically have a cut-out around the Ethernet connector that gives them a cape-like\r
343       shape and &lt;em&gt;Underdog is a Beagle&lt;/em&gt;!\r
344      &lt;/p&gt;\r
345      &lt;p&gt;The &lt;a href=&quot;http://beaglebonecapes.com&quot; target=&quot;_blank&quot;&gt;beaglebonecapes.com&lt;/a&gt;\r
346       site attempts to consolidate the currently available cape add-on boards for\r
347       BeagleBone and BeagleBone Black.\r
348      &lt;/p&gt;\r
349      &lt;img src=&quot;/static/images/what-is-a-cape.png&quot; width=&quot;100%&quot; /&gt;\r
350      &lt;p&gt;The types of capes available is quite diverse, from 3D printer capes and\r
351       touchscreen displays to wireless communications and FPGA-based prototyping tools.\r
352      &lt;/p&gt;\r
353      &lt;img src=&quot;/static/images/cape-eeprom.png&quot; width=&quot;100%&quot; /&gt;\r
354      &lt;p&gt;Every cape that utilizes pins on the expansion header is expected to notify\r
355       software on the board by providing contents within EEPROM connected to I2C2 with\r
356       an address from 0x54 to 0x57.  To work with other capes, you can make your\r
357       address selectable between those values to avoid conflicts.  It is also possible\r
358       to provide through connectors such that other capes can also get connections to\r
359       the cape header pins\r
360      &lt;/p&gt;\r
361      &lt;h3 id=&quot;headers-black&quot;&gt;Headers on BeagleBone Black&lt;/h3&gt;\r
362      &lt;img src=&quot;/static/images/black-emmc-and-hdmi-pins.png&quot; width=&quot;100%&quot; /&gt;\r
363      &lt;p&gt;BeagleBone Black ships with two virtual capes already on it, one for the\r
364       on-board eMMC storage and one for the HDMI output.  When configured for use\r
365       these virtual capes consume actual resources.\r
366      &lt;/p&gt;\r
367      &lt;p&gt;If the eMMC is not placed in\r
368       reset, the MMC1* signals may not be used without potentially corrupting the\r
369       contents of your on-board eMMC---and possibly damaging the physical circuit\r
370       as well.\r
371      &lt;/p&gt;\r
372      &lt;p&gt;The HDMI signals are all inputs to the HDMI device, so there is no need to\r
373       put the HDMI device into reset, but using those pins for other operations will\r
374       cause the HDMI output to be disrupted.  However, note that the Linux software\r
375       typically allocates these for use by the HDMI driver, so your software might\r
376       not be able to get access to them without unloading that driver.\r
377      &lt;/p&gt;\r
378      &lt;h2&gt;Cape demos&lt;/h2&gt;\r
379      &lt;ul&gt;\r
380       &lt;li&gt;&lt;em&gt;&lt;a href=&quot;/Support/BoneScript/cape_bacon/&quot;&gt;Bacon\r
381        Cape&lt;/a&gt;&lt;/em&gt; - Teach basic interactions&lt;/li&gt;\r
382      &lt;/ul&gt;\r
384      &lt;!--- START FOOTER --&gt;\r
385      &lt;/div&gt;\r
386     &lt;/div&gt;\r
387     &lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;\r
388     &lt;script src=&quot;/static/bonescript-demo.js&quot;&gt;&lt;/script&gt;</body>
389     <pseudoparent idref="121" prototyperef="Page"/>
390     <http_referer>http://beagleboard.org/Support/bone101/edit</http_referer>
391     <http_host>beagleboard.org</http_host>
392     <user>jkridner@gmail.com</user>
393     <lang>en-us</lang>
394     <hop:child idref="2807" prototyperef="Page"/>
395     <hop:child idref="2822" prototyperef="Page"/>
396     <hop:child idref="2823" prototyperef="Page"/>
397     <hop:child idref="2824" prototyperef="Page"/>
398     <hop:child idref="2849" prototyperef="Page"/>
399     <hop:child idref="3030" prototyperef="Page"/>
400     <hop:child idref="3170" prototyperef="Page"/>
401     <hop:child idref="3171" prototyperef="Page"/>
402   </hopobject>
403 </xmlroot>