Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Rickta59

  1. Something is fishy here. Those sections .rodata.* .. those look like they are getting loaded into ram instead of flash. 0x200 is the start or ram. The .rodata sections should be going into flash some where around 0xc100 after the .text section. "rodata" is the read only data that is copied to ram at startup. Something strange going on there... This is what my mspdebug output looks like when loading the Blink program: Device: MSP430G2553 Code memory starts at 0xc000 Number of breakpoints: 2 Erasing... Programming... Writing 520 bytes to c000... Writing 32 bytes to ffe0... Done, 552 b
  2. I cloned the latest mspdebug using git: git clone git://mspdebug.git.sourceforge.net/gitroot/mspdebug/mspdebug Then I rolled back to this version using: git checkout e02567a7123817660db15649a76d64aa3314a257 If I use the latest version, the reset button on the launchpad no longer works. Using an older version of mspdebug to upload the same elf file works fine. There is a recent checkin that looks suspect to me, so I went to the check-in just before that one. That is the e02567a7123817660db15649a76d64aa3314a257 in checkout line above. I uploaded linux binaries to the
  3. I had the same problems yesterday when I grabbed the latest mspdebug. I rolled back to a slightly older version and then it worked properly. It looked like the interrupt vector table wasn't getting loaded.
  4. Might be a good thing not to use P1.2 and P1.1 so serial communication can still happen. -rick
  5. I never really noticed the interesting stuff in the theme.txt file. I'm not a big fan of the cursor bouncing around while I type. I went ahead and turned off the bracket matching feature. Makes it feel more like an editor now than a pinball machine : ) # bracket/brace highlighting editor.brackethighlight = false editor.brackethighlight.color = #006699 -rick
  6. I think you are encountering a pin conflict. Serial uses P1.1 and P1.2. It looks like the color lcd code uses P1.2. #define LCD_SCE_PIN BIT2 #define LCD_SELECT P1OUT &= ~LCD_SCE_PIN #define LCD_DESELECT P1OUT |= LCD_SCE_PIN You might try changing LCD_SCE_PIN to a different unused pin. -rick
  7. Thanks for the further explanation Peter. I agree with that assement completely. The only problem with doing inline gnu assembler is the slightly funny syntax required to pass arguments to your asm from C. There are enough barriers to cross to getting started with msp430 asm. I didn't want to add anymore. It is probably the best approach once you feel comfortable with msp430 asm instructions and syntax. It is pretty simple, here is an example of a hello world for the watchdog timer: #include __attribute__((interrupt(WDT_VECTOR),naked)) void timera1_isr(void) { __asm__("
  8. C++ output is created in a TEMP directory. Turn on verbose mode in preferences and it will show you where the temp files are being created. -rick
  9. Even though Energia is aimed at new users of the msp430, there is nothing stopping you from using the low level features of msp430-gcc and writing code in msp430 assembler. Looking around the net I'm guessing you will have little luck finding any examples of how to mix msp430 asm and ISR handlers. I'm going to try and fix that. The code below isn't a full working example. I'm presenting it mainly to show you how to use some of the features of GNU asm. I'll also try and explain some techniques I've found useful. The code below is similar to the 'C' version of the TimerSerial receive ISR h
  10. Do you have anti-alias turned on? How about making the tab text black for both active and inactive And if we are tweaking, can we get the default font to be Consolas ? http://en.wikipedia.org/wiki/Consolas. -rick
  11. Looks very nice! I think you should submit this for formal review. You can follow the steps here to get your changes considered, discussed and potentially included in the code base: https://github.com/energia/Energia/wiki ... ew-process -rick
  12. I like it. I like that the current tab is white not dark. What does it look like with multiple source file tabs open? -rick
  13. If you are adventuresome you might grab the latest version from source. I checked in fixes for all this stuff. You don't have to explicitly include the TimerSerial stuff now. The code now creates a Serial instance based on your chip. For g2231/g2542 chips it will pick the TimerSerial, for g2553 it will use HardwareSerial. It also allows you to change the baud rate with TimerSerial and automatically limits it to 4800 if you are running at 1MHz so that it will work properly. Source is here: https://github.com/energia/Energia/commits/master Comments and changes I made to fix the iss
  14. In Energia, which board do you have selected? The msp430g2553?
  15. The only chip with a hardware UART that works with the launchpad is the msp430g2553. This is the chip that comes in the latest versions of the launchpad you can buy (V1.5). If you bought one last year and you have the 1.4 board, it came with an msp430g2231 msp430g2211. You have to use the TimerSerial class to get Serial print functionality. There are also solutions in the code vault section of this site that don't use Energia that allows for serial port access without using a Timer. However, the TimerSerial current version of Energia doesn't really work with your chips. I posted a fix for
  16. Your compile is failing because the g2211 doesn't have a hardware uart. See this post viewtopic.php?f=38&t=2907
  17. Energia expects to find the mspdebug in your path. It seems like that is working because you are seeing some output. Shutdown Energia and try using mspdebug from the command line and see if you can interact with your launchpad. # mspdebug rf2500 You should be able to connect to the device, it should tell you what chip is in the socket. You should be able to type help and see if you can do various commands. If you can interact with it, find the /tmp/build*/ directory where your program/sketch got compiled and see if you can load it outside of Energia. The file you want to load will be
  18. You could replace TimerSerial::RxIsr with this code: //Timer A1 interrupt service routine __attribute__((interrupt(TIMERA1_VECTOR))) void TimerSerial::RxIsr(void) { static unsigned char rxBitCnt = 8; static unsigned char rxData = 0; // reading TAIV auto-resets the interrupt flag volatile uint16_t reset_TAIV = TAIV; (void) reset_TAIV; TACCR1 += TICKS_PER_BIT; // Setup next time to sample if (TACCTL1 & CAP) { // Is this the start bit? TACCTL1 &= ~CAP; // Switch capture to compare mode TACCR1 += TICKS_PER_BIT_
  19. Unfortunately, most distributions are shipping older versions of the msp430-gcc. Energia assumes 4.6.3 msp430-gcc --version shows your version. I've been trying to stay out of the business of shipping an msp430-gcc binary as it is huge and I didn't really want to become support central for the compiler. There are just too many linux distributions out there to provide any kind of real support. It would be best if you figured out how to either compile gcc or find a precompiled version for your distribution. For Ubuntu/debian users, there is a newer binaries in sid that can be g
  20. https://github.com/energia/Energia/blob ... _energia.h // +-\/-+ // VCC 1| |20 GND // (A0) P1.0 2| |19 XIN // (A1) P1.1 3| |18 XOUT // (A2) P1.2 4| |17 TEST // (A3) P1.3 5| |16 RST# // (A4) P1.4 6| |15 P1.7 (A7) (SCL) "(MISO/MOSI) depends on chip" // (A5) P1.5 7| |14 P1.6 (A6) (SDA) "(MOSI/MISO) depends on chip" // P2.0 8| |13 P2.5 // P2.1 9| |12 P2.4 // P2.2 10| |11 P2.3 // +----+ //
  21. Yes to compile change to the build directory and type "ant clean build run" @blund You should give msp430-4.6.3 a try. The header files for the msp430g2231 chip changed between 4.5.3 and 4.6.3. The blink code does compile with either version of the compiler if you are using the larger chips. It seems like a lot of people trying this out recently are using the older launchpad with an msp430g2231 chip. More time has been spent getting the g2452 and g2553 chips to work as they have a a bit more memory and two Timers instead of one. You might want to sample an msp430g2553 chip or just spe
  22. http://www.linuxfromscratch.org/lfs/view/stable/chapter05/chapter05.html
  23. So I finally tried out the replacement cdc_acm module from the e2e forums. I'm using the file 7028.msp430_patch.zip mentioned in this post http://e2e.ti.com/support/low_power_rf/f/156/p/53610/697952.aspx#697952. I'm using Ubuntu 11.04 with a 2.6.38 kernel. Installing this patch solved my problems with /dev/ttyACM0 and linux. I tried the unmodified Energia ASCII Table example. The code in that sample doesn't wait before sending data, however with this patched module it just works. With the old cdc-acm my whole UI would freeze for multiple 10s of seconds. There are some things that a
  • Create New...