Jump to content
43oh

boseji

Members
  • Content Count

    22
  • Joined

  • Last visited

Reputation Activity

  1. Like
    boseji got a reaction from tonesenna in Launchpad as external programmer   
    Hello,
     
    There is some good news from my side that I would like to share in this same context.
     
    I have tested MSP430 LaunchPad to successfully program MSP430F5310, MSP430F5418 and MSP430F5438 over SBW!! :thumbup:
    I would detail the setup in my blog.
     
    These are all bigger microcontroller and have lots of features.
    They are the ones I use to make embedded products at work.
    Some of them can give a battery lifetime of 5years on 2.4G Wireless networks.
     
    Well now I can use them at home too. Thanks to TI , MSP430.
    And a Big Thanks to the 43oh Community :clap:
     
    I have new board coming up that I have developed using MSP430F5310.
    Hope that this would enable more advanced projects.
  2. Like
    boseji got a reaction from Fe2o3Fish in Updated compile of mspgcc and mspdebug on Linux   
    Hello,
     
    I was able to successfully compile the complete mspgcc and mspdebug.
    This compile has been perfomed with the most updated gcc compiler GCC4.7
    http://m8051.blogspot.in/2012/07/compiling-msp430-gcc-in-linux-upto-date.html
     
    However this has a special provistion that C++ language is enabled and the installation is in a custom location at user space.
     
    I wish if any one could verify the compile steps and let me know the feeback.
    As this was the first time I compiled with C++ enabled.
     
    Thanks,
  3. Like
    boseji got a reaction from turd in Updated compile of mspgcc and mspdebug on Linux   
    Hello,
     
    I have started a project in github to create the scripted compile and download of mspgcc components.
    https://github.com/AdharLabs/mspgcc-build-linux
    This project would provide with examples for makefile based projects for Launch Pad and also for advance MSP430 processors.
    There is also a plan to provide an easy to use makefile generator script to help speed up the project development.
     
    For the easy of the users, I did the complete build and packaging of the MSPGCC + MSP430libc + MCU files and mspdebug.
    The same has been tested for Ubuntu Linux 12.04. Hope that this release should be compatible to most of the updated Debian Linux flavours.
    Here is the Download link: https://github.com/AdharLabs/mspgcc-build-linux/downloads
    You can directly download the first release:
    https://github.com/downloads/AdharLabs/mspgcc-build-linux/mspgcc-build-linux-20120710-Ubuntu12.04.tar.bz2
     
    I would like to know feedback and suggestions.
     
    Kindly help me out to make this innitiatve successful.
     
    Thanking you,
  4. Like
    boseji got a reaction from bluehash in Updated compile of mspgcc and mspdebug on Linux   
    Hello,
     
    I was able to successfully compile the complete mspgcc and mspdebug.
    This compile has been perfomed with the most updated gcc compiler GCC4.7
    http://m8051.blogspot.in/2012/07/compiling-msp430-gcc-in-linux-upto-date.html
     
    However this has a special provistion that C++ language is enabled and the installation is in a custom location at user space.
     
    I wish if any one could verify the compile steps and let me know the feeback.
    As this was the first time I compiled with C++ enabled.
     
    Thanks,
  5. Like
    boseji got a reaction from turd in Updated compile of mspgcc and mspdebug on Linux   
    Hello,
     
    I was able to successfully compile the complete mspgcc and mspdebug.
    This compile has been perfomed with the most updated gcc compiler GCC4.7
    http://m8051.blogspot.in/2012/07/compiling-msp430-gcc-in-linux-upto-date.html
     
    However this has a special provistion that C++ language is enabled and the installation is in a custom location at user space.
     
    I wish if any one could verify the compile steps and let me know the feeback.
    As this was the first time I compiled with C++ enabled.
     
    Thanks,
  6. Like
    boseji got a reaction from bluehash in Mspdebug compiled using MinGW on Windows   
    Hello,
    mspdebug has a flash-bsl driver.
    This helps to.program the Msp430 using the preprogrammed boot loader via a serial port.
    Initially the Win32version of mspdebug was unable to communicate with Msp430 using FT232 like I did using slau319a BSL_Scripter mod.
    So I am recompiling the Mspdebug to make this work.
    The first step is to initialize and enter the boot loader thats what I have achieved as of now.
  7. Like
    boseji got a reaction from bluehash in Mspdebug compiled using MinGW on Windows   
    Hello,
     
    I have successfully compiled the Mspdebug on windows using MinGW.
    Have a look at my detailed build:
    http://m8051.blogspot.com/2011/11/compiling-mspdebug-for-windows-using.html
     
    If it really works for the MSP430 BSL_Scripter that I am trying with http://www.43oh.com/forum/viewtopic.php?f=35&t=1853 then it would make MSP430F5310 as boot loadable as Arduino.
     
    I would test this and post an update on my findings.
  8. Like
    boseji got a reaction from GeekDoc in MSP430F5310 based Application Enhancer   
    Hello,
    Another good news!
     
    Boot loader on the MSP430F5310 is working with FT232.
    No special configuration is required for the FT232.
     
    The Source code for the MSP430 BSL Scripter available in Appnote: slau319a
     
    However TI's BSL_Scripter needs modification to make it work with normal FT232.
    For now the I have stripped out the DFU functionality for MSP430F55XX series from TI's code.
    The new code can be compiled using MinGW.
    And hence should also be possible to compile on Linux platform with gcc4.4 or higher.
    Also TI's code does not include the exit from boot loader mode.
    You need to cycle the power to get out of BSL
    So I have included this feature into the new code.
     
    Here is what is working now with my new code:
    1. Boot loading to Flash code to MSP430F5310
    2. Exit & Entry into the boot loader - automatic
    3. Code modification to work with any FT232 module.
     
    I am trying to ask TI for permissions to release this new code.
    If not possible then I would port the code to MinGW +Qt framework to make it open source.
     
    The main intention was to help make the MSP430F5310 boot loadable like Arduino.
     
    Well there is a long way to go for that as there are no IDE as easy as ArduinoIDE
    but hope that some day code compilation can be as easy as Arduino.
     
    With help from EasyMSP & MSPGCC this can surely be achieved.
     
    Let me know your suggestion and views on this.
  9. Like
    boseji got a reaction from bluehash in MSP430F5310 based Application Enhancer   
    Hello,
    Another good news!
     
    Boot loader on the MSP430F5310 is working with FT232.
    No special configuration is required for the FT232.
     
    The Source code for the MSP430 BSL Scripter available in Appnote: slau319a
     
    However TI's BSL_Scripter needs modification to make it work with normal FT232.
    For now the I have stripped out the DFU functionality for MSP430F55XX series from TI's code.
    The new code can be compiled using MinGW.
    And hence should also be possible to compile on Linux platform with gcc4.4 or higher.
    Also TI's code does not include the exit from boot loader mode.
    You need to cycle the power to get out of BSL
    So I have included this feature into the new code.
     
    Here is what is working now with my new code:
    1. Boot loading to Flash code to MSP430F5310
    2. Exit & Entry into the boot loader - automatic
    3. Code modification to work with any FT232 module.
     
    I am trying to ask TI for permissions to release this new code.
    If not possible then I would port the code to MinGW +Qt framework to make it open source.
     
    The main intention was to help make the MSP430F5310 boot loadable like Arduino.
     
    Well there is a long way to go for that as there are no IDE as easy as ArduinoIDE
    but hope that some day code compilation can be as easy as Arduino.
     
    With help from EasyMSP & MSPGCC this can surely be achieved.
     
    Let me know your suggestion and views on this.
  10. Like
    boseji reacted to bluehash in Black Friday Embedded System Deals   
    Looks like we are always left out. However Hackaday, posted a bunch of good deals for us:
     
    [1]Pololu BF Deals - Cheap breadboard voltage regulators and motor drives
     
    [2]Adafruit Industries Black Friday
  11. Like
    boseji reacted to MattTheGeek in 70 Pack Jumper Wires - $3.50 shipped   
    Dealextreme has a 70 pack of jumper wire for $3.50 with shipping...
  12. Like
    boseji got a reaction from canid in Big problem with my Launchpad   
    Hello,
     
    My friend has faced the same problem. It was after me trying to get him to embedded design, that he bough his first MSP430 Launch Pad kit. But then it was not working in the same way as you said.
    I suggested a simple route:

    1. Disconnect the LaunchPad board from the PC
    2. Remove the Socketed MCU
    3. Use capacious amounts of IP(Isopropyle Alcohol) to clean the LaunchPad on both sides. (Take care for ESD damage)
    4. Let is dry for some time till all the IP on the board has vaporized
    5. Now remove the All Programming jumpers on J3
    6. Connect the Board to PC
    a. Check it is being detected
    ->if so then one level of your problem is solved
    b. if not detected or as you said its getting heated up
    ->Only option is to buy a new board
    7. If it was working then check for the voltage at the VCCpin of J3 and ground.

    -> If thats 3.0 - 3.29V then everything is alright.
    Place back the MSP430 in the socket and the jumpers on J3
    You can get back to business and have a happy time with MSP430.
     
    Hope that this helps.
  13. Like
    boseji reacted to bluehash in Get your Booster Packs Sponsored - $10   
    Hello guys..This has been at the back of my head for a long time. So lets start at Booster Packs.

    43oh will be glad to sponsor your initial Booster Pack[bP] development. $10 will be awarded to you to make initial PCBs or purchase parts. It's not much, but it is an incentive. A max of two BPs will be sponsored/month.

    Your selection depends on the following factors:
    [1] Be a member on this forum for at least 4 weeks and have a minimum of 20 posts.
    [2] A thread in the Booster Pack sub-forum.
    [3] Create initial schematics and layouts in the thread, including selection of parts.
    [4] BP usable by a large number of people.
    [5] Open source your schematic and PCB Files. Git it if you have to, but keep a copy on the Forum.
    [6] Some amount of test code if the success of your Booster Pack depends on it.
    [7] A voting system for the community to decide if the BP needs to be sponsored. I'm not sure how many votes make a good BP. If there are enough "Yes" votes(more than 50%) than "No"... your sponsored.

    I can't think of anything else.I'd also like to put a donate button for members to donate towards the pool. Would there be any interest in this? Donations will be made public to ensure transparency. I would appreciate the communities response to the idea. This will also help increase the number of sponsorships/month.

    There is no liability once you are sponsored(since the schematics/PCB files have been shared). It's a matter of mutual understanding that you will not run away with the boards. Maybe give them away with the interested party paying for shipping.

    One thing to keep in mind is to keep this KISS - Keep It Simple, Stupid.
    Also, no arguing, but intelligent debate when voting. This is NOT a competition.
  14. Like
    boseji reacted to gatesphere in Launchpad as external programmer   
    I haven't done this myself, but it seems to me that you have to connect Vcc and GND, and also at least RST and TEST. I'm not sure about TXD (P1.1) and RXD (P1.2), as I think they're only used for UART comm with the host PC. But, it couldn't hurt to attach them, unless you're using them in your circuit.
     
    The easiest way to program a chip in your breadboard from the launchpad would be to simply leave all the jumpers on at the top of the board, and connect to the proper pins of the chip on the breadboard by using jumper wires into the socket on the LaunchPad. The holes might be a bit tough to get jumpers in initially, but they'll eventually go in.
     
    Hope this helps!
  15. Like
    boseji reacted to kenemon in Launchpad as external programmer   
    don't worry, i am not that advanced. Your reply is what I was looking for. In CCS, I cant find these??
     
     
     

     
    but I found the debugger setting you mentioned in IAR:
     

     
     
    I cant find the "programmer" you mentioned. Can you point me closerI think this is what I needed. Much Thanks....
  16. Like
    boseji reacted to bluehash in Grace, the graphical code generator for MSP430 CCS   
    I found it:
    When you are creating a new project, after the project settings - You will find it in Project Templates. Kind of hidden within layers.
     

  17. Like
    boseji reacted to NatureTM in MSP430G2331 Clock settings   
    You're welcome boseji! I looked over that post today and noticed a typo on one of the filenames. Maybe you figured it you yourself already, but I corrected the post.
  18. Like
    boseji reacted to NatureTM in Flashing the missing DCO calibration constants   
    EDIT: Here's another really nice DCO calibration program. It's part of TinyOS-msp430. http://code.google.com/p/tinyos-msp430/ It's the file called calibrate-dco. As gordon, who discovered it said, "[it] appears to be a quite beefed-up DCO calibration app, with goodies on the side (taking silicon errata into account for various devices when calibrating)." It looks like it's built to be solid and reliable. I skimmed over the code and didn't see anything for calculating SegA checksum, but that usually isn't an issue for most non-critical applications.
     
    EDIT: maxpenna shared another version of the DCO calibration program. This is the one to use if you need a correct SegmentA checksum. It uses the C calibration function. You can get it here http://www.43oh.com/forum/download/file.php?id=292
     
    WARNING: Some of the programs in this thread will erase Segment A and only put back the DCO calibrations. They should not be used with chips that have an ADC12, as this process will destroy the ADC12 calibrations. Some of the programs do not calculate the Segment A checksum, so the integrity of Segment A cannot be verified during runtime after calibration. Still, I've been using it without any problems.
     
     
    There's been a bit of a discussion in another thread about an idea simpleavr had for adding the dco calibration constants to flash for the Value Line series. I've cobbled together some pieces of TI code and have it working. It seems to work great. Here's how I did it with CCS. I think the people on linux should be able to reproduce the result with a little adaptation.
     
    This requires the TI DCO library I modified in another thread and an external LF crystal like the one with Launchpad.
    http://naturetm.com/files/Launchpad%20setDCO%20lib.rar
     
    First, run this to calibrate the constants and write them to flash:
    EDIT: 43oh member zeke has made some changes to the code for finer tuning. Check page 2 for his code.

    //****************************************************************************** // MSP430F20xx Demo - DCO Calibration Constants Programmer // // NOTE: THIS CODE REPLACES THE TI FACTORY-PROGRAMMED DCO CALIBRATION // CONSTANTS LOCATED IN INFOA WITH NEW VALUES. USE ONLY IF THE ORIGINAL // CONSTANTS ACCIDENTALLY GOT CORRUPTED OR ERASED. // // Description: This code re-programs the F2xx DCO calibration constants. // A software FLL mechanism is used to set the DCO based on an external // 32kHz reference clock. After each calibration, the values from the // clock system are read out and stored in a temporary variable. The final // frequency the DCO is set to is 1MHz, and this frequency is also used // during Flash programming of the constants. The program end is indicated // by the blinking LED. // ACLK = LFXT1/8 = 32768/8, MCLK = SMCLK = target DCO // //* External watch crystal installed on XIN XOUT is required for ACLK *// // // MSP430F20xx // --------------- // /|\| XIN|- // | | | 32kHz // --|RST XOUT|- // | | // | P1.0|--> LED // | P1.4|--> SMLCK = target DCO // // A. Dannenberg // Texas Instruments Inc. // May 2007 // Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.42A //****************************************************************************** #include "msp430x20x1.h" #include "DCO_Library.h" unsigned char CAL_DATA[8]; // Temp. storage for constants volatile unsigned int i; int j; char *Flash_ptrA; // Segment A pointer void Set_DCO(unsigned int setting); void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT for (i = 0; i < 0xfffe; i++); // Delay for XTAL stabilization P1OUT = 0x01; // Red LED on P1SEL = 0x10; // P1.4 SMCLK output P1DIR = 0x51; // P1.0,4,6 output j = 0; // Reset pointer Set_DCO(TI_DCO_16MHZ); // Set DCO and obtain constants CAL_DATA[j++] = DCOCTL; CAL_DATA[j++] = BCSCTL1; Set_DCO(TI_DCO_12MHZ); // Set DCO and obtain constants CAL_DATA[j++] = DCOCTL; CAL_DATA[j++] = BCSCTL1; Set_DCO(TI_DCO_8MHZ); // Set DCO and obtain constants CAL_DATA[j++] = DCOCTL; CAL_DATA[j++] = BCSCTL1; Set_DCO(TI_DCO_1MHZ); // Set DCO and obtain constants CAL_DATA[j++] = DCOCTL; CAL_DATA[j++] = BCSCTL1; Flash_ptrA = (char *)0x10C0; // Point to beginning of seg A FCTL2 = FWKEY + FSSEL0 + FN1; // MCLK/3 for Flash Timing Generator FCTL1 = FWKEY + ERASE; // Set Erase bit FCTL3 = FWKEY + LOCKA; // Clear LOCK & LOCKA bits *Flash_ptrA = 0x00; // Dummy write to erase Flash seg A FCTL1 = FWKEY + WRT; // Set WRT bit for write operation Flash_ptrA = (char *)0x10F8; // Point to beginning of cal consts for (j = 0; j < 8; j++) *Flash_ptrA++ = CAL_DATA[j]; // re-flash DCO calibration data FCTL1 = FWKEY; // Clear WRT bit FCTL3 = FWKEY + LOCKA + LOCK; // Set LOCK & LOCKA bit P1OUT = 0; while (1) { P1OUT ^= BIT6; // Toggle green LED for (i = 0; i < 0x4000; i++); // SW Delay } } void Set_DCO(unsigned int setting){ volatile unsigned int I; // P1DIR |= BIT0; // P1.0 output BCSCTL1 &= ~XTS; // external source is LF; BCSCTL3 &= ~(LFXT1S0 + LFXT1S1); // watch crystal mode BCSCTL3 |= XCAP0 + XCAP1; // ~12.5 pf cap on the watch crystal as recommended for( I = 0; I < 0xFFFF; I++){} // delay for ACLK startup if(TI_SetDCO(setting) == TI_DCO_NO_ERROR) // if setting the clock was successful, P1OUT |= BIT0; // bring P1.0 high (Launchpad red LED) else while(1); // trap if setting the clock isn't successful }
     
    The green light should start blinking in a few seconds, indicating success. Now we need to modify some linker and header files so CCS knows about the new calibrations.
     
    I'm using the MSP430G2231, so I duplicated the file C:\Program Files (x86)\Texas Instruments\ccsv4\msp430\include\msp430g2231.cmd in that directory, and renamed the duplicate as msp430g2231_mod.cmd. Now I can edit it without affecting the original. Edit msp430g2231_mod.cmd and change the calibration section at the bottom to this:
     

    /************************************************************ * Calibration Data in Info Mem ************************************************************/ CALDCO_16MHZ = 0x10F8; CALBC1_16MHZ = 0x10F9; CALDCO_12MHZ = 0x10FA; CALBC1_12MHZ = 0x10FB; CALDCO_8MHZ = 0x10FC; CALBC1_8MHZ = 0x10FD; CALDCO_1MHZ = 0x10FE; CALBC1_1MHZ = 0x10FF;
     
    Now the linker knows we have calibration data in that section when we use the modified file.
     
    When we create a new project in CCS or modify an existing one, CCS will want to use the default linking file, and the default header. Here's an example about how to configure a project to use the new constants.
    First create a new project. Within the project, there should be a file called something like lnk_msp430g2231.cmd. The last line of that file should be something like -l msp430g2231.cmd. Open it, and change the last line to reflect the new linker file so it reads -l msp430g2231_mod.cmd.
    Next, add the appropriate header file to the project. Right-click the project folder in the left pane of CCS and click "Add files to project..." In this example, I'm using C:\Program Files (x86)\Texas Instruments\ccsv4\msp430\include\msp430g2231.h. Now we have a copy of the file in the project we can safely edit. Edit the file so the calibration section looks like this:

    /************************************************************ * Calibration Data in Info Mem ************************************************************/ #ifndef __DisableCalData SFR_8BIT(CALDCO_16MHZ); /* DCOCTL Calibration Data for 16MHz */ SFR_8BIT(CALBC1_16MHZ); /* BCSCTL1 Calibration Data for 16MHz */ SFR_8BIT(CALDCO_12MHZ); /* DCOCTL Calibration Data for 12MHz */ SFR_8BIT(CALBC1_12MHZ); /* BCSCTL1 Calibration Data for 12MHz */ SFR_8BIT(CALDCO_8MHZ); /* DCOCTL Calibration Data for 8MHz */ SFR_8BIT(CALBC1_8MHZ); /* BCSCTL1 Calibration Data for 8MHz */ SFR_8BIT(CALDCO_1MHZ); /* DCOCTL Calibration Data for 1MHz */ SFR_8BIT(CALBC1_1MHZ); /* BCSCTL1 Calibration Data for 1MHz */ #endif /* #ifndef __DisableCalData */
     
    Now you can begin using the new calibration data in your program. When you #include the msp430g2231.h file, put it in quotes instead of <> to ensure it's loading the modified header local to the project directory.
     
    I tested the constants with a cheap oscilloscope and they seemed correct. My scope doesn't have great accuracy at high frequencies so they might be a little off, but nothing I can detect. It works with my composite video prog, so that's a pretty good sign.
     
    EDIT: Oops! I had an incorrectly named file in these instructions. Corrected.
×
×
  • Create New...