Quantcast
Channel: MSP low-power microcontroller forum - Recent Threads
Viewing all 22106 articles
Browse latest View live

Compiler/MSP430FR6989: Where to Find MSP430 TI CGT Support Files

$
0
0

Part Number: MSP430FR6989

Tool/software: TI C/C++ Compiler

I'm experimenting with both of the compilers TI offers for MSP430 products. For MSP430 GCC, the toolchain is provided separately from the MSP430 header and .ld files (together called "support files"). I successfully downloaded the toolchain and support files and can link to those support files during build.

For the TI CGT toolchain, I have not been able to find a source for the corresponding support files. I have been using CCS with the TI toolchain, but I'd like to transition to using the CGT via command line and move away from CCS. I downloaded the toolchain itself here: http://www.ti.com/tool/download/MSP-CGT-18. Through some investigation of what CCS is doing for build I was able to track down the support files located at ccs910/ccs/ccs_base/msp430. This directory includes the MSP430 GCC support files (include_gcc) along with the TI CGT support files (include), which differ in that the CGT support files include headers and .cmd linker files (rather than .ld).

While I've been able to get the TI CGT toolchain running successfully by linking to the CCS installed support files, I'd prefer not to have to install CCS just to get these files. However, I've been unable to find them hosted anywhere else for download. Am I missing something? Or must I install CCS to get them?

A secondary question, mostly unrelated: The GCC support files do not include the lib directory found in the CCS msp430 directory. By default CCS is linking to these libraries when using the TI CGT toolchain. Is it possible to link against these using the GCC toolchain? I imagine they improve performance (and I am indeed seeing worse code performance when using GCC vs CGT).

Thanks!


MSP430FR2433: Source Code for MSP430 Firmware Flash through BSL-UART from Host Processor

$
0
0

Part Number: MSP430FR2433

I need to flash firmware in MSP430FR2433 chip through BSL UART from a Host Processor. Please provide the source code that implements BSL-UART flashing in our MSP Chip

EVM430-FR6047: How to measure current consumption?

$
0
0

Part Number: EVM430-FR6047

Hi,

Is there a suggested way of measure current consumption, from pins J32, of one cycle of flow measurement?

I would like to achieve something similar to Figure 26 on the TIDUDN0 on this link

Ultrasonic Sensing Subsystem Reference Design for Water Flow
Measurement

Thanks.

MSP-FET: The documentation for the TI MSP-FET does not match the hardware

$
0
0

Part Number: MSP-FET

Hello,

I have just purchased a TI MSP-FEP Flash Emulation Tool.  Reading the documentation, I see that it does not match the revision of hardware that I have, which is Rev 2.0.6.  I think that TI needs to update the manual to represent the current hardware so that customers are not confused by the discrepancy, especially for something as important as instructions on how to restore scrambled firmware.

Along this line, when I first connected the MSP-FET to my PC, I tried to program my control board with MSP Flasher v1.3.11.  It updated the MSP-FET's firmware, but then the MSP-FET did not work with anything after that.  I did a COLD RESET and connected to it with MSP Flasher v1.3.20 and it reprogrammed the MSP-FET's firmware, which I was then able to program the control board with it.  But, I was never able program the control board with MSP Flasher v1.3.11.   Is the new MSP-FET rev 2.0.6 incompatible with MSP Flasher v1.3.11?  The reason I need to know this is that the factory has the older MSP Flasher software and older MSP-FET hardware.  I am concerned that if they ever need to buy new programmers, they will have a compatibility issue.  Either the older Flasher software won't work with the new hardware or the older hardware won't work with the new Flasher software.

Thanks,

Jon

CCS/MSP430FR5994: UART + TIMERA Problems delay

$
0
0

Part Number: MSP430FR5994

Tool/software: Code Composer Studio

Hello,

I have a problem with a program using driverLib on the MSP430FR5994.

I have a timer A configured in Up mode to 1 second, it works fine (I have the interruption toggle a LED), but inside I send 5 bytes by serial (9600 - 8N1). 

The serial works fine, but the data arrives every two times the timer interrupts, In other words, In one interruption I don't see data on the serial, and on the next, I get the delayed data, and the new data at the same time.

Here is my code.

#include "driverlib.h"

void board_init()
{
    //Set DCO Frequency to 1MHz
    CS_setDCOFreq(CS_DCORSEL_0, CS_DCOFSEL_0);

    //configure MCLK, SMCLK to be source by DCOCLK
    CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1);
    CS_initClockSignal(CS_MCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1);
    // Set GPIO pins as out
    GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0 + GPIO_PIN1);
    // Set GPIO pins as input
}

void timer_init()
{
    //Start timer in up mode sourced by SMCLK
    Timer_A_clearTimerInterrupt(TIMER_A0_BASE);

    Timer_A_initUpModeParam param = { 0 };
    param.clockSource = TIMER_A_CLOCKSOURCE_SMCLK;
    param.clockSourceDivider = TIMER_A_CLOCKSOURCE_DIVIDER_40;
    param.timerPeriod = 25000;
    param.timerInterruptEnable_TAIE = TIMER_A_TAIE_INTERRUPT_DISABLE;
    param.captureCompareInterruptEnable_CCR0_CCIE = TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE;
    param.timerClear = TIMER_A_DO_CLEAR;
    param.startTimer = false;

    Timer_A_initUpMode(TIMER_A0_BASE, &param);

    Timer_A_startCounter( TIMER_A0_BASE, TIMER_A_UP_MODE);

}

void uart_init()
{
    // Configure UART pins
    //Set P2.0 and P2.1 as Secondary Module Function Input.
    /*
     * Select Port 2d
     * Set Pin 0, 1 to input Secondary Module Function, (UCA0TXD/UCA0SIMO, UCA0RXD/UCA0SOMI).
     */
    GPIO_setAsPeripheralModuleFunctionInputPin( GPIO_PORT_P2,
    GPIO_PIN0 + GPIO_PIN1,
                                               GPIO_SECONDARY_MODULE_FUNCTION);

    // Configure UART
    EUSCI_A_UART_initParam param = { 0 };
    param.selectClockSource = EUSCI_A_UART_CLOCKSOURCE_SMCLK;
    param.clockPrescalar = 6;
    param.firstModReg = 8;
    param.secondModReg = 20;
    param.parity = EUSCI_A_UART_NO_PARITY;
    param.msborLsbFirst = EUSCI_A_UART_LSB_FIRST;
    param.numberofStopBits = EUSCI_A_UART_ONE_STOP_BIT;
    param.uartMode = EUSCI_A_UART_MODE;
    param.overSampling = EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION;

    if (STATUS_FAIL == EUSCI_A_UART_init(EUSCI_A0_BASE, &param))
    {
        return;
    }

    EUSCI_A_UART_enable(EUSCI_A0_BASE);

    EUSCI_A_UART_clearInterrupt(EUSCI_A0_BASE, EUSCI_A_UART_RECEIVE_INTERRUPT);

    // Enable USCI_A0 RX interrupt
    EUSCI_A_UART_enableInterrupt(EUSCI_A0_BASE,
    EUSCI_A_UART_RECEIVE_INTERRUPT);                     // Enable interrupt
}


int main(void)
{
    //Stop watchDog Timer
    WDT_A_hold(WDT_A_BASE);
    board_init();
    timer_init();
    uart_init();

    // Activate all pins changes
    PMM_unlockLPM5();

    __bis_SR_register(GIE);

    GPIO_setOutputHighOnPin(GPIO_PORT_P1, GPIO_PIN0);
    __bis_SR_register(LPM0_bits);
    while (1)
    {
        __delay_cycles(250000); // (1/2) seg
        GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN1);
        EUSCI_A_UART_transmitData(EUSCI_A0_BASE, '@');

    }
}

char num[4];
int contador = 0;

#pragma vector = TIMER0_A0_VECTOR
__interrupt
void TIMER1_A0_ISR(void)
{
    if (contador > 9999)
        contador = 0;
    num[3] = (int) (contador % 10);
    num[2] = (int) ((contador / 10) % 10);
    num[1] = (int) ((contador / 100) % 10);
    num[0] = (int) ((contador / 1000));

    EUSCI_A_UART_transmitData(EUSCI_A0_BASE, num[0] + 48);
    EUSCI_A_UART_transmitData(EUSCI_A0_BASE, num[1] + 48);
    EUSCI_A_UART_transmitData(EUSCI_A0_BASE, num[2] + 48);
    EUSCI_A_UART_transmitData(EUSCI_A0_BASE, num[3] + 48);
    EUSCI_A_UART_transmitData(EUSCI_A0_BASE, 10);

    //Toggle P1.0
    GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
    contador++;
}

uint8_t RXData = 0, TXData = 0;

#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
    switch (__even_in_range(UCA0IV, USCI_UART_UCTXCPTIFG))
    {
    case USCI_NONE:
        break;
    case USCI_UART_UCRXIFG:
        RXData = EUSCI_A_UART_receiveData(EUSCI_A0_BASE);
        GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN1);
        switch (RXData)
        {
        case 'a':
            EUSCI_A_UART_transmitData(EUSCI_A0_BASE, 'h');
            EUSCI_A_UART_transmitData(EUSCI_A0_BASE, 'i');
            EUSCI_A_UART_transmitData(EUSCI_A0_BASE, '0');
            EUSCI_A_UART_transmitData(EUSCI_A0_BASE, '1');
            break;
        default:
            EUSCI_A_UART_transmitData(EUSCI_A0_BASE, RXData);
            break;
        }
        break;
    case USCI_UART_UCTXIFG:
        break;
    case USCI_UART_UCSTTIFG:
        break;
    case USCI_UART_UCTXCPTIFG:
        break;
    }
}

Thank you.

MSP430FR5969-SP: Clocking

$
0
0

Part Number: MSP430FR5969-SP

Team,

We’re trying to determine whether we can exclusively use the internal VLO or if we need to use an external oscillator for clocking. We had a couple questions regarding this:

  • Should we be fine using just the internal oscillator if we have no critical timing requirements?
  • Would we need to use a higher frequency external oscillator for JTAG programming?

MSP430FR5989-EP: Need some teChnical information for the mentioned P/N

$
0
0

Part Number: MSP430FR5989-EP

Hello,

I need information for the Part no. MSP430FR5989 which is mentioned in the attached image. i didn't get that information even in datasheet. so please provide all information.

 -EP 

MSP432E401Y: What will happen to RAM on software reset?

$
0
0

Part Number: MSP432E401Y

Hi,

What will happen to RAM of MSP432E401Y on software reset using SysCtlReset() API?

Thanks 


Need a contoller capable of driving TFT LCD with resolution greater than 640*480 pixels.

$
0
0

Hi,

I am in search of a cost effective controller with the capability to drive a TFT-LCD display having a resolution greater than or equal to 640*480 pixels.The device is also expected to have other peripherals like SPI,I2C,UART,tc.Mainly IC with 100 pins or more are required, preferably of LQFP package.BGA ics are not under consideration due to pcb layer limitation.

MSP432P401R: UART Receive in callback mode, reading data of indefinite length?

$
0
0

Part Number: MSP432P401R

Hello there,

I'm using MSP432 with TI Drivers. I have a query, How I can receive data of indefinite length through UART in CALLBACK mode.

Actually, I want to receive data in CALLBACK mode whose data length is not known to application and data can arrive at any time.

Regards,

Keshav Aggarwal

CCS/MSP432P401R: Issue with SimpleLink "Multi-threaded RTOS Thermostat" example

$
0
0

Part Number: MSP432P401R

Tool/software: Code Composer Studio

Hello,

I had an issue with the "temperature.c" code after project build.

With respect to the following piece of code, the "Board_TMP_ADDR" is undefined.

/* Point to the T ambient register and read its 2 bytes */
txBuffer[0] = TMP007_OBJ_TEMP;
i2cTransaction.slaveAddress = Board_TMP_ADDR;
i2cTransaction.writeBuf = txBuffer;
i2cTransaction.writeCount = 1;
i2cTransaction.readBuf = rxBuffer;
i2cTransaction.readCount = 2;

Could you please tell me the relevant value of  "Board_TMP_ADDR" ?

Thanks & Regards,

Anthony

MSPWARE: Question about USSLib on MSP430

$
0
0

Part Number: MSPWARE

Hi everyone,

I'm new in MSP430, I have a few questions when developing with USSLib.

(1) Is there any details about the algorithms of hilbert hilbertWide lobe lobeWide used in computeAbsTOF? I try to google it but the response seems to be unuseful.

(2) Is the source code of USSLib avaliable to apply? I'd like to study on it if possible and I promise it will be used for education only.

Compiler/MSP432P4111: MSP432P4111

$
0
0

Part Number: MSP432P4111

Tool/software: TI C/C++ Compiler

Good morning, 

We are developing some code and every time we initiate an I2C communication the program gets stuck here:

ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I:
.asmfunc
tst lr, #4 ; context on PSP?
ite NE
mrsne r0, psp ; if yes, then use PSP
moveq r0, sp ; else use MSP

mov sp, r0 ; use this stack
stmfd sp!, {r4-r11} ; save r4-r11 while we're at it
mov r0, sp ; pass sp to exception handler
mov r1, lr ; pass lr too
mov r4, lr ; preserve LR in r4

ldr r2, excHandlerAddr
blx r2

mov r0, sp ; for ROV
mov r1, r4 ; for ROV
$1
b $1 ; spin here indefinitely

 


Do you have any idea why?

 

Thank you.

MSP430FR5994: Is there any micro controller/ Evolution Board/ Launchpad which has implemented FFT/FIR/IIR filter in C language?

$
0
0

Part Number: MSP430FR5994

Dear sir,

i am using launchpad of MSP430FR5994. Now i have seen example  BOOSTXL_AUDIO project  which has implemented FFT in assembly language. Is there any launchpad/evolution board which has implemented FFT in C language ? Looking for your suggestion

Thanks and Regards,

Krunal Desai.

CCS/MSP432E401Y: MQTT not connect after static IP set

$
0
0

Part Number: MSP432E401Y

Tool/software: Code Composer Studio

Hi,

By using original question . i have been able to set static IP of device. But my mqtt connection fail. its return error  -2006(SLNETERR_RET_CODE_INVALID_INPUT).

If i not use static IP means use default code(DHCP) then MQTT connection success.

so what is the problem?

Thanks,

Dinkar


EVM430-FR6047: I2C to communicate with external board.

$
0
0

Part Number: EVM430-FR6047

Hello,

I want to set up a connection with my evm and a micro-controller I have and I thought of using the I2C protocol. With this connection I want to send and receive from my micro-controller the commands that the Design Center sends and receives from the evm. Is this possible through the I2C connection to initiate that communication. In the ussDCCommandHandlers file I see it uses the I2C protocol. 

I am using the water meter demo for the EVM430-FR6047 evaluation board.

Any help would be appreciated.

Thank you for your time.

Panagiotis Nomikos

EVM430-FR6047: Different GND used in the reference design

$
0
0

Part Number: EVM430-FR6047

Hello, 

I am confused on the highlighted pads used in the design. Even the PCB manufacturers get confused and manufacture their own way, This time mine boards are not working unless I short all three of them with main GND manually. Can I short these pads to main GND?

Regards,

Prudhvi Sagar

MSP-FET430UIF: MSP-FET430UIF

$
0
0

Part Number: MSP-FET430UIF

Hi,

I am using the MSP-FET430UIF programmer with IAR IDE and MSP430F1611 controller. I am trying to use the programmer's back channel UART to send commands from my PC to the controller.

Can anybody guide me with the steps to send commands/characters from PC using the IAR and MSP-FET430UIF programmer back channel UART?

CAPTIVATE-PGMR: CaptivateCenter cannot connect to CAPTIVATE Eval-Kit

$
0
0

Part Number: CAPTIVATE-PGMR

Hello,

I still have the problem that on my computer I can't connect to the Eval-Kit out of the Captivate-Studio.

It seems like I need some additional help on this, I need to get this working ASAP!

On another laptop, also with WIN10 like mine, it works out of the box.
Captivate Studio always says after pressing 'connect':

'HID devcie detected, but could not connect to it', after pressing 'ok', the same error window appears again, and I have to press 'ok' again.
Maybe this is an indication for finding the error???

 

I have found this thread with the same problem, I tried everything you suggested there, but nothing worked.
Could you assist me to get this working?

Kind regards

David

MSP430F5659: Effects of voltage drop while writing or erasing flash

$
0
0

Part Number: MSP430F5659

1) What could happen if, while the microcontroller is writing of erasing the Flash memory, the supply voltage drops to a value below the SVS level? Is there any risk of the Flash being corrupted (besides the byte that was being written at that moment)?

2) What could happen in the same case, but with the SVS disabled and the supply voltage dropping to less than 1.8V.

Viewing all 22106 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>