<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5927936730448043790</id><updated>2011-05-26T05:55:33.704-07:00</updated><category term='symbols'/><category term='scripting'/><category term='flow'/><category term='refactoring'/><title type='text'>MSP430static Development Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-4636801185437666470</id><published>2008-08-30T20:51:00.000-07:00</published><updated>2008-08-30T20:52:58.697-07:00</updated><title type='text'>r68 with Ubuntu/Debian Installer</title><content type='html'>While setting m4s up on my new laptop, I got frustrated with perl mods.  Calling 'sudo make pmods_ubuntu' will now install all prerequisite perl modules.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;--Travis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-4636801185437666470?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/4636801185437666470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=4636801185437666470' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/4636801185437666470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/4636801185437666470'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/08/r68-with-ubuntudebian-installer.html' title='r68 with Ubuntu/Debian Installer'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-3135045963658542209</id><published>2008-08-21T11:33:00.001-07:00</published><updated>2008-08-21T11:35:39.732-07:00</updated><title type='text'>r67 with Register Fingerprinting</title><content type='html'>&lt;pre&gt;karen% m4s /fingerprint/regs&lt;br /&gt;r12 60&lt;br /&gt;r13 6&lt;br /&gt;r14 48&lt;br /&gt;r15 221&lt;br /&gt;karen&lt;/pre&gt;&lt;br /&gt;This example was compiled with an old version of IAR, which would only pass parameters in r12 and r14.  r15 is the first scratch register, and r13 the second.  GCC allocates r15, r14, r13, r12; recent revisions of IAR allocate r12, r13, r14, r15.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;--Travis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-3135045963658542209?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/3135045963658542209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=3135045963658542209' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/3135045963658542209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/3135045963658542209'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/08/r67-with-register-fingerprinting.html' title='r67 with Register Fingerprinting'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-8204424988991228594</id><published>2008-07-22T14:20:00.001-07:00</published><updated>2008-07-22T14:24:00.533-07:00</updated><title type='text'>r66, with a critical fix</title><content type='html'>R66 contains a fix to a critical bug introduced around r60.  Upgrade immediately to regain use of subs.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;--Travis Goodspeed&lt;br /&gt;&amp;lt;travis at utk.edu&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-8204424988991228594?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/8204424988991228594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=8204424988991228594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/8204424988991228594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/8204424988991228594'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/07/r66-with-critical-fix.html' title='r66, with a critical fix'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-2857519525196959252</id><published>2008-06-29T12:52:00.000-07:00</published><updated>2008-06-29T13:14:15.237-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='scripting'/><title type='text'>r60, in which much needed refactoring begins.</title><content type='html'>Howdy y'all,&lt;br /&gt;&lt;br /&gt;It's an understatement to say that the m4s code has become a bit cluttered.  To that end, I've begun to separate the code into modules and scripts.  The code code has been moved to MSP430static.pm.  msp430static.pl remains as a simple wrapper.&lt;br /&gt;&lt;br /&gt;Further, a scripting feature has been added.  Scripts reside in $m4s/scripts, and it is my intention to remove all unessential code from MSP430static.pl into the scripting directory.  A script is called by name, preceded by a forward slash.  The script loadmacros.pl, for example, is called as "/loadmacros".  Subdirectories are supported.  A matching textfile, loadmacros.txt, contains a short description for generating documentation.&lt;br /&gt;&lt;br /&gt;Also, .lib.import.hashed is no longer run by default at initialization.  Be sure to call it if you expect to recognize functions.&lt;br /&gt;&lt;br /&gt;Please email me if you've any confusion regarding this processor, or have uncovered any bugs therein.&lt;br /&gt;&lt;br /&gt;--Travis Goodspeed&lt;br /&gt;&amp;lt;travis at utk.edu&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-2857519525196959252?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/2857519525196959252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=2857519525196959252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/2857519525196959252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/2857519525196959252'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/06/r60-in-which-much-needed-refactoring.html' title='r60, in which much needed refactoring begins.'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-7111687935507024521</id><published>2008-06-27T13:33:00.000-07:00</published><updated>2008-06-27T13:36:04.769-07:00</updated><title type='text'>r60 with 'graph' directive</title><content type='html'>I've just committed a minor but useful feature to make my life easier while generating function flow diagrams.  The new syntax follows,&lt;br /&gt;&lt;i&gt;echo "select insflow(asm) from code where ...;" | m4s sql graph &gt;foo.dot"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;--Travis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-7111687935507024521?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/7111687935507024521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=7111687935507024521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/7111687935507024521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/7111687935507024521'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/06/r60-with-graph-directive.html' title='r60 with &apos;graph&apos; directive'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-3024104930429559417</id><published>2008-05-12T17:46:00.000-07:00</published><updated>2008-05-12T17:48:30.718-07:00</updated><title type='text'>r59 with Boost::Graph requirement</title><content type='html'>R59 is out with minor fixes and the prerequisite that I promised.  Better install Boost::Graph before updating.&lt;br /&gt;&lt;br /&gt;--Travis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-3024104930429559417?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/3024104930429559417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=3024104930429559417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/3024104930429559417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/3024104930429559417'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/05/r59-with-boostgraph-requirement.html' title='r59 with Boost::Graph requirement'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-7649149413525514690</id><published>2008-04-30T12:00:00.000-07:00</published><updated>2008-04-30T12:43:52.441-07:00</updated><title type='text'>Upcoming Boost::Graph Requirement</title><content type='html'>Heads up!  Beginning with the (not-yet-committed) r58, msp430static will require the &lt;a href="http://search.cpan.org/~dburdick/Boost-Graph-1.4/Graph.pm"&gt;Boost::Graph&lt;/a&gt; module from CPAN.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-7649149413525514690?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/7649149413525514690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=7649149413525514690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/7649149413525514690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/7649149413525514690'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/04/upcoming-boostgraph-requirement.html' title='Upcoming Boost::Graph Requirement'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-863438283206954869</id><published>2008-04-27T20:39:00.000-07:00</published><updated>2008-04-27T21:39:50.197-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='symbols'/><title type='text'>r57 with Standard Library Hashes</title><content type='html'>R57 includes a major new feature.  A hashed function symbol library has been committed to the subversion repository.  If I have a copy of a function, and you have that function in an example program, you can now recover it with a single command after initialization!&lt;br /&gt;&lt;br /&gt;Consider the following example, wherein a stripped LED blinker is loaded and its symbols recovered.&lt;br /&gt;&lt;pre&gt;karen% msp430-objdump -D blink.exe | m4s init&lt;br /&gt;Reading library hashes.&lt;br /&gt;Reading code.&lt;br /&gt;karen% m4s .symbols.recover&lt;br /&gt;karen% m4s .funcs&lt;br /&gt;4000    .text&lt;br /&gt;403a    __ctors_end&lt;br /&gt;403e    _unexpected_&lt;br /&gt;404c    __nesc_atomic_start&lt;br /&gt;4060    __nesc_atomic_end&lt;br /&gt;4068    4068&lt;br /&gt;4084    Msp430TimerCapComP&lt;br /&gt;4094    Msp430TimerCapComP&lt;br /&gt;40a4    Msp430TimerCapComP&lt;br /&gt;40b4    40b4&lt;br /&gt;40fa    40fa&lt;br /&gt;4118    CC2420ControlM&lt;br /&gt;411a    411a&lt;br /&gt;41da    SchedulerBasicP&lt;br /&gt;4230    4230&lt;br /&gt;432e    TransformCounterC&lt;br /&gt;43a4    Msp430TimerP&lt;br /&gt;43b8    43b8&lt;br /&gt;43dc    43dc&lt;br /&gt;4568    MSP430ClockM&lt;br /&gt;4584    MotePlatformC&lt;br /&gt;459c    459c&lt;br /&gt;45ea    45ea&lt;br /&gt;46a2    46a2&lt;br /&gt;475a    TransformAlarmC&lt;br /&gt;4798    AlarmToTimerC&lt;br /&gt;47dc    VirtualizeTimerC&lt;br /&gt;482c    482c&lt;br /&gt;48a2    48a2&lt;br /&gt;4910    Msp430ClockP&lt;br /&gt;497c    SchedulerBasicP&lt;br /&gt;4994    McuSleepC&lt;br /&gt;4a58    __stop_progExec__&lt;br /&gt;karen% &lt;/pre&gt;Revision 57 includes hashed symbols for TinyOS, Contiki, GNU's libc, and ImageCraft ICCV7's libc.  If you have access to other libraries, please send me the file produced by &lt;i&gt;m4s .contribute.lib&lt;/i&gt; after inputing the library.&lt;br /&gt;&lt;br /&gt;(Note that msp430static only includes one-way hashes of library functions.  This is more spartan than the fingerprint format used for privately-imported libraries, but it's necessary to comply with copyright law.)&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;--Travis Goodspeed&lt;br /&gt;&amp;lt;travis at utk.edu&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-863438283206954869?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/863438283206954869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=863438283206954869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/863438283206954869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/863438283206954869'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/04/r57-with-standard-library-hashes.html' title='r57 with Standard Library Hashes'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-1035167720220969161</id><published>2008-04-26T15:38:00.000-07:00</published><updated>2008-04-26T15:41:28.867-07:00</updated><title type='text'>r54 insshort()</title><content type='html'>I've added a sub for shortening assembly code.  It contains less information than the long-hand variety, but it's handy for blog postings and diagrams.  insflow() and fnflow() now use this by default.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;m4s&amp;gt; select insshort(asm) from code limit 20;&lt;br /&gt;4000: mov #23168, &amp;0x0120 &lt;br /&gt;4004: &lt;br /&gt;4006: mov #19036, r15 &lt;br /&gt;400a: mov #4352, r14 &lt;br /&gt;400e: mov #4354, r13 &lt;br /&gt;4012: cmp r14, r13 &lt;br /&gt;4014: jz $+12 &lt;br /&gt;4016: mov.b @r15+, 0(r14) &lt;br /&gt;401a: inc r14 &lt;br /&gt;401c: cmp r13, r14 &lt;br /&gt;401e: jnc $-8 &lt;br /&gt;4020: mov #4354, r15 &lt;br /&gt;4024: mov #4407, r13 &lt;br /&gt;4028: cmp r15, r13 &lt;br /&gt;402a: jz $+12 &lt;br /&gt;402c: mov.b #0, 0(r15) &lt;br /&gt;4030: inc r15 &lt;br /&gt;4032: cmp r13, r15 &lt;br /&gt;4034: jnc $-8 &lt;br /&gt;4036: br #0x43dc &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Cheers,&lt;br /&gt;--Travis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-1035167720220969161?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/1035167720220969161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=1035167720220969161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/1035167720220969161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/1035167720220969161'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/04/r54-insshort.html' title='r54 insshort()'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-7752510737619954376</id><published>2008-04-23T13:13:00.000-07:00</published><updated>2008-05-23T15:03:49.607-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flow'/><title type='text'>r52 with Flow Diagrams</title><content type='html'>I've added flow graphs to &lt;a href="http://msp430static.sourceforge.net/"&gt;msp430static&lt;/a&gt;, though they can use a bit of work.  The following is a flow digram of __nesc_atomic_end from TinyOS 2.x:&lt;br /&gt;&lt;img src="http://frob.us/~travis/public/blog/images/msp430static/atomic_flow.png" /&gt;&lt;br /&gt;&lt;br /&gt;This was generated by:&lt;pre&gt;echo "select fnflow(asm) from funcs&lt;br /&gt;where name like '__nesc_atomic_end';" |&lt;br /&gt;m4s  sql |&lt;br /&gt;dot -Tps2 -o atomic_flow.ps&lt;/pre&gt;Enjoy,&lt;br /&gt;--Travis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-7752510737619954376?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/7752510737619954376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=7752510737619954376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/7752510737619954376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/7752510737619954376'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/04/r52-with-flow-diagrams.html' title='r52 with Flow Diagrams'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-1315020152053433812</id><published>2008-04-12T18:39:00.000-07:00</published><updated>2008-04-12T19:00:51.949-07:00</updated><title type='text'>r50 with .contribute.bsl, default shell, and a revised .memmap.gd</title><content type='html'>Revision 50 has been committed.  I've added the .contribute.bsl macro, made the "shell" directive default, and added a revised memory mapper macro.&lt;br /&gt;&lt;br /&gt;The new memmap macro draws FFFFFFFF areas--which are likely uninitialized flash--as black.  '.word ????' code--which I find large expanses of in some ripped images--are grey.  This coloring should only be apparent on code which has been dumped from a chip, as most compilers leave such expanses undefined.  I also fixed the ragged edge and overlapping pixel bugs.  A screenshot of the default programming of the MSP-EXP430FG4618 kit follows.&lt;br /&gt;&lt;img src="http://frob.us/~travis/public/blog/images/msp430static/r50.memmap.png" /&gt;&lt;br /&gt;&lt;br /&gt;The shell directive is now default, so typing "m4s shell" can now be shortened to "m4s" if no parameters are necessary.&lt;br /&gt;&lt;pre&gt;karen% svn update&lt;br /&gt;At revision 50.&lt;br /&gt;karen% m4s &lt;br /&gt;msp430static r50&lt;br /&gt;from Sat, 12 Apr 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 2008, Travis Goodspeed &amp;lt;travis at utk.edu&amp;gt;&lt;br /&gt;&lt;br /&gt;This program is free software. You can distribute it and/or modify it&lt;br /&gt;under the terms of the GNU General Public License version 2.&lt;br /&gt;m4s sql&amp;gt;&lt;/pre&gt;&lt;br /&gt;I'm interested in the BSL code of the various msp430 chips.  If you use msp430static on a ROM image recovered from a physical device, please run the following script to send me the chip's BSL code:&lt;br /&gt;&lt;pre&gt;m4s sql&amp;gt; .contribute.bsl                                                        &lt;br /&gt;BSL found for chipid=f46f.&lt;br /&gt;Please email ./bsl_f46f.txt.gz to &amp;lt;tmgoodspeed at gmail.com&amp;gt;&lt;br /&gt;with 'CONTRIBUTE_BSL f46f' as the title.&lt;br /&gt;m4s sql&amp;gt; &lt;/pre&gt;&lt;br /&gt;Cheers,&lt;br /&gt;--Travis Goodspeed&lt;br /&gt;&amp;lt;travis at utk.edu&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-1315020152053433812?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/1315020152053433812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=1315020152053433812' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/1315020152053433812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/1315020152053433812'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/04/r50-with-contributebsl-default-shell.html' title='r50 with .contribute.bsl, default shell, and a revised .memmap.gd'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5927936730448043790.post-4118516430398620657</id><published>2008-04-12T18:31:00.000-07:00</published><updated>2008-04-12T18:35:31.736-07:00</updated><title type='text'>Announcing the MSP430static Blog</title><content type='html'>Rather than polluting &lt;a href="http://travisgoodspeed.blogspot.com/"&gt;my own blog&lt;/a&gt; with &lt;a href="http://msp430static.sourceforge.net/"&gt;msp430static&lt;/a&gt; minutia, I've decide to create this site.  This will mostly be for announcements, such as feature additions.  Long articles will remain on my own blog.&lt;br /&gt;&lt;br /&gt;--Travis Goodspeed&lt;br /&gt;&amp;lt;travis at utk.edu&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5927936730448043790-4118516430398620657?l=msp430static.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://msp430static.blogspot.com/feeds/4118516430398620657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5927936730448043790&amp;postID=4118516430398620657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/4118516430398620657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5927936730448043790/posts/default/4118516430398620657'/><link rel='alternate' type='text/html' href='http://msp430static.blogspot.com/2008/04/announcing-msp430static-blog.html' title='Announcing the MSP430static Blog'/><author><name>Travis Goodspeed</name><uri>http://www.blogger.com/profile/09826896758948270949</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_OYfpeQbN9I0/SKdWz6tDN0I/AAAAAAAAAAY/rdx3wLFWvPE/S220/goodspeed.jpg'/></author><thr:total>0</thr:total></entry></feed>
