On Wed, May 25, 2011 at 12:26 PM, Andrew Sabelhaus <[email protected]> wrote:
> Hello Everyone, Hi Andrew, I see that Michiel has responded and that might help. There are well over 300 TI chips and there are lots of differences. I am currently working on pulling together support for 3 of the major families of msp430 chips that are supported on TinyOS. The families are differentiated on how they deal with register mappings for peripherals, interrupts, clock systems, and other low level interfaces. The intent is to have the 3 major families easily support most of the TI msp430 chipset line. A chip is added to a family when it TinyOS is ported to it. For example: x1: currently supports msp430f149, msp430f1611 (telosb) x2: in integration, supports msp430f2616-2619 (z1) x5: in integration, supports cc430f5137 (surfboard) As noted above, this work is in progress. I have the integration of the x1 and x2 families done and am currently working on bringing in the x5 support. This work is happening on the msp430 integration branch which is off the main SVN trunk. The main svn trunk does have directories for the msp430X to support the original Z1 work but this work is well over a year old. I am working with the Zolertia folks to clean this up and get it integrated properly. This is happening in the msp430 integration branch. So, if you are willing, I'd like you to try using the x2 support in the integration branch it should work pretty well for what you are doing. You will need to figure out how to support a new platform but you will need to figure that out anyway. I'd be willing to help you out with it. So send me email if you'd like to go this route. Basically we'd be starting with the Z1 which is based on the msp430f2617 and modifing some things. It should be pretty straight forward. If we go this way I'd also like you to basically keep notes on our steps on the wiki which will then eventually become a new howto page. more below, > I'm trying to get TinyOS up and running on some development boards for my > research lab, in anticipation of using MSP430s on a robotics project coming > up. The board I've been working with is the TI eZ430-rf2500T, the relatively > generic package from TI that includes, on one chip, a CC radio and the > MSP430F2274, and on the other, the FET to flash it over USB. I've been > running into some issues even compiling the Null app, much less flashing the > chip, and I would greatly appreciate any help. > Not surprising the 2274 is very different than the 1611. > > Is there a universal reference somewhere for the pins that TinyOS requires > for basic compilation? > No. This would be difficult to maintain. There are too many chips with too many differences. The other thing is what one is using from a chip is dependent on what application one is compiling. If one is using serial i/o then on x1 parts one needs some flavor of usart brought in. On x2 and x5 parts then usci but on other as yet unsupported chips a usi. It just depends, so writing some kind of reference documenting this is first a pain and second difficult. Especially apriori. The approach I'm taking is to make this clearer in the code. Along with proper documentation in the code about what is going on this will go a long ways to documenting how things work. > For example, I've been following the "Platforms" tutorial, and the MSP430 > that I'm using seems to have a very different set of pins than the 1611 in > the tutorial. > One of the problems we've been dealing with is the msp430 toolchain (mspgcc) hasn't really been maintained for awhile. The current default toolchain is mspgcc 3.2.3 and is very old. It doesn't support anything other than the x1 chips. There is a z1 varient that supports the x2 chips. This is another variant based on mspgcc4 which supports the x5 chips. Yes that is a mess and Peter Bigot is actively working on cleaning it up. His current work is called uniarch and greatly simplifies things. His new code is also based on current gcc technology (4.5) and when released (later this summer) will move to 4.6. We are holding off on revamping things (including the documentation, tools repositories, etc) until that is further. In the meantime, you should use the z1 toolchain but with the new TI HEADER files. I can help you grab all of this stuff. > I'm not well versed on serial communication frameworks, but the issue seems > to stem from the fact that the newer MSP430s use TI's USCI (or USI, I'm not > quite sure) interface. > Depends on the chip one is using. The easiest way to tell what is going on is by looking at the appropriate TI HEADER for the chip in question. > In comparing the datasheets for the 1611 and the 2274, the pins used on the > former in the tutorial do not seem to have matches on the latter. For > example, the tutorial (as well as the code for various other platforms) use > TOSH_ASSIGN_PIN with pin names that seem to imply a USART/SPI interface, > which, if I understand correctly, the 2274 does not have (or has indirectly, > via the upgrade to TI's newer USCI/USI protocols.) > > I'm not sure if only pins that TinyOS technically requires for basic > compilation and operation (ie. the Null app) is just a single pin for the > clock, or if the communication framework is somehow a dependency also. In > browsing the internet, it seems that people have written code in TinyOS for > this board before, but I can't seem to find any .platform and hardware.h > file(s) that they have used. In summary, if anyone could point me to any of: > > - A thorough documentation of the pin declaration / naming system in > TinyOS, specifically with respect to the clocks and timers, and how/where > the pin declarations in hardware.h are used in the other TinyOS source code > (everything in the /chips directory, etc) > - A few basic source files that others have used for the eZ430-rf2500T, or > the 2274 version of the MSP430 > - Some other resource for this info > I'd be happy to help you come up the learning curve. Along the way would you be willing to jot down notes about the missing things that would have helped so that we can start putting together reasonable documentation that will help others in the future? Also, there is the distinct possibility that I'm way out of my league here. > Not at all. What I like about what you've done is first you've done your homework. You have tried to use the existing documentation both TinyOS and TI to figure out a confusing problem. Then it is clear from the above that you are then asking reasonable questions. Both of those are good things. Thanks for making the effort to do your homework first. eric If any of this is totally off/irrelevant/points to large gaps in my > knowledge, let me know. Either way, props on this awesome operating system > that you all have developed! Thanks again, > > Andrew Sabelhaus > Micro-Robotics Lab at the University of Maryland, College Park > > _______________________________________________ > Tinyos-help mailing list > [email protected] > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > -- Eric B. Decker Senior (over 50 :-) Researcher
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
