Jump to content

KatiePier

Members
  • Content Count

    42
  • Joined

  • Last visited

  • Days Won

    3

Reputation Activity

  1. Like
    KatiePier reacted to agaelema in Promotion of MSP430FR2433 MCU LaunchPad™ kit   
    Hi,
    The new MSP430FR2433 ValueLine Launchpad is with a promotional price.
    https://e2e.ti.com/blogs_/b/msp430blog/archive/2017/11/08/introductory-price-of-4-30-for-msp430fr2433-mcu-launchpad-kit?HQS=epd-mcu-msp-vline-fb-blog-LPdiscount-wwe&hootPostID=97a463d63a1e96cbf999f3c7a33c703e
    It seems to be a good replacement to the old ValueLine G2


  2. Like
    KatiePier reacted to jazz in Basic Question in using MSP430   
    I just don't see any reason for buying old MSP430G2 LP with not updatable firmware and limited support for 10$, when new MSP430F5529 LP based on eZ-FET Lite with updatable (open source) firmware can program all SBW devices for 13$.
  3. Like
    KatiePier got a reaction from gsutton in programming a MSP430G2955?   
    Hi kendalls,
     
    Sorry for all of the frustration this has caused. I thought I might be able to provide some useful information for others trying to use G2955 in the future and an update on some of the topics in this old thread.
     
    The MSP-EXP430F5529LP launchpad has a newer redesigned emulation than the MSP-EXP430G2 Launchpad, and this is why this works for your setup. For reference, the G2 launchpad emulation section is usually called "eZ-430" and the new one on the F5529 is "eZ-FET Lite". Now, the reason the G2xx5 support was not added in later on G2 is because there is not a good way built in on that emulator to be able to reliably update the firmware - please see Dietmar's comments in these e2e threads concerning these topics: http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/255422/900180.aspx#900180 http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/254008/897717.aspx#897717 The G2xx Launchpad wasn't really designed to be used with other devices or to be updateable, and unfortunately G2955 came out later (and can't fit in launchpad board).
     
    However in that second post you can see where Dietmar mentions that the "next generation on-board emulator will be update-able and support all MSP430 devices" - this is the eZ-FET lite that he was referring to, which is now available on the F5529 Launchpad. So F5529 Launchpad supports most MSP430s (basically all SBW devices) including G2955 - you can see this on this wiki page as well: http://processors.wiki.ti.com/index.php/EZ-FET_lite and in the F5529 Launchpad user's guide http://www.ti.com/lit/pdf/slau533 p. 25 section 2.5. This is what we are using on new boards going forward, as you can see this is true on the new FR5969 Launchpad as well: http://www.ti.com/lit/pdf/slau535 section 2.6.
     
    And then of course as always the FET tool can also be used to program all MSP430 variants, and has additional features (adjustable voltage level, 4-wire JTAG as well as SBW, faster programming, etc). One more note - there is a target development board available for G2955 as well: http://www.ti.com/tool/msp-ts430da38 though of course you can make your own board too.
     
    Regards,
    Katie
  4. Like
    KatiePier reacted to D^2 in 43oh-TI Secret Santa - 2015   
    @@AkshayaJain hope you like it, had to make some guesses based on your elfster wish list
     
    Getting back in the office after a long break, I also received my SS gift today. 
      Haven't played this game before, but very interesting from what I've read. Can't wait to try it out!   Thank you Secret Santa!    

  5. Like
    KatiePier reacted to Dennis in 43oh-TI Secret Santa - 2015   
    Dear Katie!
     
    Thank you very much for my Secret Santa gift! I'm very pleased about it - you definitely made a very good choice! I received the LaunchPad book from Dung and Adrian and some cool Texas cookie cutters.
     
    I hope you had a great christmas and of course a happy new year!

    Dennis

  6. Like
    KatiePier got a reaction from bluehash in 43oh-TI Secret Santa - 2015   
    Mine came in, but unsure who my Santa was because Amazon conveniently lost the shipping receipt! :-) My photo didn't look nice so here is a better one: 

    Very fun game! It's a word-association party game. Anomia is the word for when you cannot think of the word for something, and that basically is how the game goes. We played with some friends we had in town this weekend and had a blast. Thank you Santa! :-D 
     
    -Katie
  7. Like
    KatiePier reacted to yyrkoon in HO! HO! HO! Get Your Stockings Ready - 2015 Secret Santa   
    Santa-Creeper ?
  8. Like
    KatiePier reacted to bluehash in TI's new CapTIvate MSP430 controllers   
    TI announced their new CapTIvate MSP430 controllers today. TI has been implementing capacitive touch via their CapTouch software library. having moved cap touch to hardware will definitely help touch performance and battery life.
     
    To evaluate CapTIvate, TI is selling a MCU Development Kit for $99.00. It consists of the MSP430FR2633 microcontroller board, a programmer/debugger board with EnergyTrace
  9. Like
    KatiePier reacted to tripwire in Timer works only with CCS debugger   
    It looks like the sparkfun crystal is slightly bigger than the stock launchpad one. It's also a through-hole part rather than SMT. I think it would be possible to push the leads through the plated through-holes on either side of the pads used by the stock SMT crystal. Then you could solder the two wires from the back of the board, which might be easier than surface mounting.
     
    The body connection can probably be made with the sparkfun crystal even though it doesn't have a flat underside. Having said that, the body connection is not essential. It grounds the case, which helps to shield against any interference. It should still work just fine without it, and it's better to leave it unconnected than to overheat the crystal if you're finding it awkward to solder.
  10. Like
    KatiePier reacted to roadrunner84 in How to create text style   
    Figlet, a free and open tool.
  11. Like
    KatiePier reacted to Rickta59 in How to create text style   
    http://patorjk.com/software/taag
  12. Like
    KatiePier reacted to basil4j in Combined PWM with interrupt not interrupting   
    Hi Guys. Thought I'd responded but its not here! Yeah, I knew about the 2 vectors, CCR0 vector and the everything else vector. TAxCCR0 and TACTL interrupts are so similar in reality that I thought they were the same lol all clear now thanks!
     
    Sent from my SM-G900F using Tapatalk
  13. Like
    KatiePier got a reaction from tripwire in Combined PWM with interrupt not interrupting   
    In addition to @@oPossum 's awesome advice, the final point that always confuses people is that each Timer has TWO different ISRs. One (TIMER0_A0_VECTOR) is a special higher priority one just for TA0CCR0, and its interrupt flag is cleared automatically by entering the ISR at all. The other one (TIMER0_A1_VECTOR) is for all of the other TA0CCRx interrupts and TAIE - this is the one that uses TAIV - its highest-priority pending flag is cleared by reading TAIV.
     
    This code example uses both of them, so you can see: http://dev.ti.com/tirex/#/?link=MSPWare%2FDevices%2FMSP430%2FMSP430G2XX%2FMSP430G2553%2FExamples%2FC%2Fmsp430g2xx3_ta_07.c
     
    It's a common point that trips people up. 
     
    If you currently have no ISR defined for TIMER0_A1_VECTOR but have TAIE enabled, if you use CCS for example it defines a trap ISR for all undefined ISRs for just this case (so part doesn't jump off into some random location), so your part is probably hanging out there. 
  14. Like
    KatiePier got a reaction from abecedarian in Combined PWM with interrupt not interrupting   
    In addition to @@oPossum 's awesome advice, the final point that always confuses people is that each Timer has TWO different ISRs. One (TIMER0_A0_VECTOR) is a special higher priority one just for TA0CCR0, and its interrupt flag is cleared automatically by entering the ISR at all. The other one (TIMER0_A1_VECTOR) is for all of the other TA0CCRx interrupts and TAIE - this is the one that uses TAIV - its highest-priority pending flag is cleared by reading TAIV.
     
    This code example uses both of them, so you can see: http://dev.ti.com/tirex/#/?link=MSPWare%2FDevices%2FMSP430%2FMSP430G2XX%2FMSP430G2553%2FExamples%2FC%2Fmsp430g2xx3_ta_07.c
     
    It's a common point that trips people up. 
     
    If you currently have no ISR defined for TIMER0_A1_VECTOR but have TAIE enabled, if you use CCS for example it defines a trap ISR for all undefined ISRs for just this case (so part doesn't jump off into some random location), so your part is probably hanging out there. 
  15. Like
    KatiePier got a reaction from basil4j in Combined PWM with interrupt not interrupting   
    In addition to @@oPossum 's awesome advice, the final point that always confuses people is that each Timer has TWO different ISRs. One (TIMER0_A0_VECTOR) is a special higher priority one just for TA0CCR0, and its interrupt flag is cleared automatically by entering the ISR at all. The other one (TIMER0_A1_VECTOR) is for all of the other TA0CCRx interrupts and TAIE - this is the one that uses TAIV - its highest-priority pending flag is cleared by reading TAIV.
     
    This code example uses both of them, so you can see: http://dev.ti.com/tirex/#/?link=MSPWare%2FDevices%2FMSP430%2FMSP430G2XX%2FMSP430G2553%2FExamples%2FC%2Fmsp430g2xx3_ta_07.c
     
    It's a common point that trips people up. 
     
    If you currently have no ISR defined for TIMER0_A1_VECTOR but have TAIE enabled, if you use CCS for example it defines a trap ISR for all undefined ISRs for just this case (so part doesn't jump off into some random location), so your part is probably hanging out there. 
  16. Like
    KatiePier got a reaction from yyrkoon in Combined PWM with interrupt not interrupting   
    In addition to @@oPossum 's awesome advice, the final point that always confuses people is that each Timer has TWO different ISRs. One (TIMER0_A0_VECTOR) is a special higher priority one just for TA0CCR0, and its interrupt flag is cleared automatically by entering the ISR at all. The other one (TIMER0_A1_VECTOR) is for all of the other TA0CCRx interrupts and TAIE - this is the one that uses TAIV - its highest-priority pending flag is cleared by reading TAIV.
     
    This code example uses both of them, so you can see: http://dev.ti.com/tirex/#/?link=MSPWare%2FDevices%2FMSP430%2FMSP430G2XX%2FMSP430G2553%2FExamples%2FC%2Fmsp430g2xx3_ta_07.c
     
    It's a common point that trips people up. 
     
    If you currently have no ISR defined for TIMER0_A1_VECTOR but have TAIE enabled, if you use CCS for example it defines a trap ISR for all undefined ISRs for just this case (so part doesn't jump off into some random location), so your part is probably hanging out there. 
  17. Like
    KatiePier got a reaction from oPossum in Combined PWM with interrupt not interrupting   
    In addition to @@oPossum 's awesome advice, the final point that always confuses people is that each Timer has TWO different ISRs. One (TIMER0_A0_VECTOR) is a special higher priority one just for TA0CCR0, and its interrupt flag is cleared automatically by entering the ISR at all. The other one (TIMER0_A1_VECTOR) is for all of the other TA0CCRx interrupts and TAIE - this is the one that uses TAIV - its highest-priority pending flag is cleared by reading TAIV.
     
    This code example uses both of them, so you can see: http://dev.ti.com/tirex/#/?link=MSPWare%2FDevices%2FMSP430%2FMSP430G2XX%2FMSP430G2553%2FExamples%2FC%2Fmsp430g2xx3_ta_07.c
     
    It's a common point that trips people up. 
     
    If you currently have no ISR defined for TIMER0_A1_VECTOR but have TAIE enabled, if you use CCS for example it defines a trap ISR for all undefined ISRs for just this case (so part doesn't jump off into some random location), so your part is probably hanging out there. 
  18. Like
    KatiePier reacted to oPossum in Combined PWM with interrupt not interrupting   
    They are two distinct interrupts, you do not have to enable both.
     
    The TAIE bit in TACTL enables an interrupt that occurs when the timer reaches 0.
     
    The CCIE bit in the TACCTLx registers enables an interrupt that occurs on a match between the compare register or a capture event.
     
    All these interrupt enable bits are completely independent of each other. Enable only those that you are using and have written an ISR for.
     
    The only other interrupt that has to be enabled is the global interrupt flag in the status register. That can be enabled with _enable_interrupts() or a few other methods.
  19. Like
    KatiePier reacted to abecedarian in Concurrently debugging multiple boards   
    If you have one "workspace" for one board, and another "workspace" for the other board, you could start two instances of CCS with one instance tied to one workspace and the other tied to the other.
     
    Whether this accomplishes your goal, I do not know.
  20. Like
    KatiePier got a reaction from enl in Prevent reading code   
    Hi @@MSPLife,
     
    @@enl's summary above is spot on.
     
    One or two more additions about BSL - with the BSL password protection, as @@enl mentioned you cannot read out the part unless you provide the correct 32-byte BSL password. Now, if you provide an incorrect password, the part will do a mass erase which should get rid of the code in the part - that is to try to help against someone brute-forcing your password. After your code is erased, there's not anything for them to read anymore of value. This should all be described in www.ti.com/lit/pdf/slau319
     
    The other point I wanted to make was, that only some parts in the G2xx family have a BSL in hardware - G2xx3/4/5 do, but the earlier G2xx1/2 don't I believe. Make sure to check your device datasheet if you want to use BSL. If you still need to do firmware updates, but also want to blow the JTAG fuse on a G2xx1/2 that does not have BSL, you could look into doing a main/info memory bootloader like discussed in the MSP-BOOT app note SLAA600, or potentially the tiny G2xx loader mentioned at the end of SLAA450.
     
    But as @@enl and others have mentioned, there's not one way to make sure you are 100% safe if someone really has the resources time and motivation trying to break in with some fancy tools - this is true of any IC. But you do what you can to make it harder for someone to do it - it's like locking the door on your car.
     
    Regards,
    Katie
  21. Like
    KatiePier got a reaction from MSPLife in Prevent reading code   
    Hi @@MSPLife,
     
    @@enl's summary above is spot on.
     
    One or two more additions about BSL - with the BSL password protection, as @@enl mentioned you cannot read out the part unless you provide the correct 32-byte BSL password. Now, if you provide an incorrect password, the part will do a mass erase which should get rid of the code in the part - that is to try to help against someone brute-forcing your password. After your code is erased, there's not anything for them to read anymore of value. This should all be described in www.ti.com/lit/pdf/slau319
     
    The other point I wanted to make was, that only some parts in the G2xx family have a BSL in hardware - G2xx3/4/5 do, but the earlier G2xx1/2 don't I believe. Make sure to check your device datasheet if you want to use BSL. If you still need to do firmware updates, but also want to blow the JTAG fuse on a G2xx1/2 that does not have BSL, you could look into doing a main/info memory bootloader like discussed in the MSP-BOOT app note SLAA600, or potentially the tiny G2xx loader mentioned at the end of SLAA450.
     
    But as @@enl and others have mentioned, there's not one way to make sure you are 100% safe if someone really has the resources time and motivation trying to break in with some fancy tools - this is true of any IC. But you do what you can to make it harder for someone to do it - it's like locking the door on your car.
     
    Regards,
    Katie
  22. Like
    KatiePier got a reaction from spirilis in Prevent reading code   
    Hi @@MSPLife,
     
    @@enl's summary above is spot on.
     
    One or two more additions about BSL - with the BSL password protection, as @@enl mentioned you cannot read out the part unless you provide the correct 32-byte BSL password. Now, if you provide an incorrect password, the part will do a mass erase which should get rid of the code in the part - that is to try to help against someone brute-forcing your password. After your code is erased, there's not anything for them to read anymore of value. This should all be described in www.ti.com/lit/pdf/slau319
     
    The other point I wanted to make was, that only some parts in the G2xx family have a BSL in hardware - G2xx3/4/5 do, but the earlier G2xx1/2 don't I believe. Make sure to check your device datasheet if you want to use BSL. If you still need to do firmware updates, but also want to blow the JTAG fuse on a G2xx1/2 that does not have BSL, you could look into doing a main/info memory bootloader like discussed in the MSP-BOOT app note SLAA600, or potentially the tiny G2xx loader mentioned at the end of SLAA450.
     
    But as @@enl and others have mentioned, there's not one way to make sure you are 100% safe if someone really has the resources time and motivation trying to break in with some fancy tools - this is true of any IC. But you do what you can to make it harder for someone to do it - it's like locking the door on your car.
     
    Regards,
    Katie
  23. Like
    KatiePier got a reaction from bluehash in Prevent reading code   
    Hi @@MSPLife,
     
    @@enl's summary above is spot on.
     
    One or two more additions about BSL - with the BSL password protection, as @@enl mentioned you cannot read out the part unless you provide the correct 32-byte BSL password. Now, if you provide an incorrect password, the part will do a mass erase which should get rid of the code in the part - that is to try to help against someone brute-forcing your password. After your code is erased, there's not anything for them to read anymore of value. This should all be described in www.ti.com/lit/pdf/slau319
     
    The other point I wanted to make was, that only some parts in the G2xx family have a BSL in hardware - G2xx3/4/5 do, but the earlier G2xx1/2 don't I believe. Make sure to check your device datasheet if you want to use BSL. If you still need to do firmware updates, but also want to blow the JTAG fuse on a G2xx1/2 that does not have BSL, you could look into doing a main/info memory bootloader like discussed in the MSP-BOOT app note SLAA600, or potentially the tiny G2xx loader mentioned at the end of SLAA450.
     
    But as @@enl and others have mentioned, there's not one way to make sure you are 100% safe if someone really has the resources time and motivation trying to break in with some fancy tools - this is true of any IC. But you do what you can to make it harder for someone to do it - it's like locking the door on your car.
     
    Regards,
    Katie
  24. Like
    KatiePier reacted to enl in Prevent reading code   
    docs are the references above from TI. Google for SLAU319 and 320. This is really not a 30 second, one paragraph thing to answer. The protection is provided via a number of options using the same interfaces that are used for programming.
     
    The option with BSL is to set the password (32 bytes, which is a 256bit password) that will be required for the read command to be used to read the code memory, either via JTAG or BSL. Disabling JTAG reduces the risk of several possible exploits that can get information without an explicit read (see the docs on the CCC website for more info).
     
    NOTHING can provide absolute security. I could decap the IC an use several methods to directly read the code memory if I wanted it bad enough (well, I personally couldn't at this time, but some of my former students could, and I could have when I was still in university, and, now that I think about it, maybe I could now, but I would need several samples to work with, and I wouldn't bet my house on it). More work than in the old days of mask programmed ROM, where you could pretty much read the data with an optical microscope, but still not a major challenge with appropriate gear. ANY security you use can be broken, and the issue is whether it is some guy in his basement, or if it requires equipment that only someone with enough money to reproduce you work from the ground up anyway will have.
     
    Edit: 32*8 is 256 bit password, not 512. I have become too used to working with 16bit words over the last few years....
  25. Like
    KatiePier got a reaction from dubnet in Configuring the f5529lp to run at 25 MHz   
    Hi @@nickn,
     
    Looks like you are using driverlib function calls - great! It is recommended to use the PMM_setVCore() function call from driverlib for setting the Vcore level before you change the clock - this has the most recent implementation of what @@fatihinanc showed you in their code. This will do all the single stepping of the core and required checks for you.
     
    For using the UCS functions you mentioned - are you using CCS? If you have CCSv6 with MSP430ware, go to View > Resource Explorer and you can see in MSP430ware under Libraries there is Driver Library, and there should be examples here for all the different driver library functions. I remember there is even one specifically for setting the DCO to a desired frequency on F5xx: in Resource Explorer, MSP430ware > Libraries > Driver Library > MSP430F5xx_6xx > Example Projects > UCS > ucs_ex1_DCO12MHz.
     
    If you have questions about how a particular driverlib function call works, you can find documentation built into Resource Explorer under MSP430ware > Libraries > Driver Library > MSP430F5xx_6xx > API Programmer's Guide. This is html-based documentation - you can click Modules to get a list of all the modules in the device family, click on one of them (like ucs) and it will give you a list of all the function calls for that module. Click on a function call, like UCS_initFLLSettle, and it has a full description and a list of all the parameters that you pass to it.
     
    MSP430ware also has some blank driverlib projects that you can use as a starting place. Let me know if you have any more driverlib questions! I like to help people out with these libraries.
     
    Regards,
    Katie
×
×
  • Create New...