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

CCS/MSP432-DEBUGGERS: Unable to Debug or Program MSP432 Launchpad

$
0
0

Part Number:MSP432-DEBUGGERS

Tool/software: Code Composer Studio

Hi,

I am using MSP432P401R launchpad and CCS 6.2.0.00050.  Suddenly I am not able to program or debug it. I have even tried the out of the box msp432 example. I am getting the following errors in the Debug Console.

CORTEX_M4_0: * WARNING *: The connected device is not MSP432P401R
CORTEX_M4_0: GEL Output: Memory Map Initialization Complete
CORTEX_M4_0: GEL Output: Halting Watchdog Timer
CORTEX_M4_0: WARNING : On MSP432P401R hitting a breakpoint cannot be detected by the debugger when the device is in low power mode.
Click the pause button during debug to check if the device is held at the breakpoint.
CORTEX_M4_0: Flash Programmer: Reading HW revision failed.
CORTEX_M4_0: Your XMS432P401R material is no longer supported. We recommend you moving to production-quality MSP432P401R/M silicon by ordering samples at www.ti.com/product/MSP432P401R.
CORTEX_M4_0: File Loader: Memory write failed: Unknown error
CORTEX_M4_0: GEL: File: C:\Users\ABHAY\Desktop\ccs_practice\TEST_432\Debug\TEST_432.out: Load failed.

I tried searching in the e2e forums and I think I have bricked my MSP432. Accordingly I tried to Factory Reset the MSP432, but at the end step when I try to run the SCRIPT menu, it shows there aren't any scripts available.

Hoping for help in this regard as soon as possible.

Regards,

Amit Kotal


MSP432P401R: MSP 432 with 16X2 lcd

$
0
0

Part Number:MSP432P401R

Hello,

I am trying to use a 16x2 lcd with MSP432.

I have previously tried the 16x2 lcd with arduino and it worked fine.

Can anyone help me on how to go about coding it in MSP432, either CCS or energia.

I tried the example programs in Energia but I think those are compatible for MSP430 only.

Also, in energia code in says connect LCD's clock pin but there is no clock pin on 16X2 lcd. It says connect reset pin and even thats not there on the lcd.

I have attached the pic of the same.

Kindly help, the code used in energia is examples -> coglcd -> helloworld

  

MSP430FR5739: CC3100BOOST CC3100 code support for MSP430FR5739 Launchpad

$
0
0

Part Number:MSP430FR5739

I would like to know the available code support for the MSP430FR5739 for the CC3100BOOST module. Does TI provide an example code set to perform WiFi related tasks? Perhaps a GET request or a POST. 

If not, is there code support for the MSP430G2553 module to work with the CC3100 booster pack?

Thank you.

MSP430F6736: Problems for SVS modules of MSP430F6736

$
0
0

Part Number:MSP430F6736

Dear,

Based on MSP430x5xx and MSP430x6xx Family User's Guide, when the voltage of DVCC beyond SVSH_IT+, the reset is released. Then based on the datasheet of MSP430F6736, the default of SVSH_IT+ is 1.74 V.

So, we use about 50 uF capacitor on DVCC pin of F6736 to make the voltage of DVCC increase slowly. And make P1.0 output high level in the beginning of "cstartup.s43" to ensure that P1.0 can output high level at first time of the code execution. The result of this experiment we expected is that when the voltage of DVCC beyond 1.74V, the reset is released and the code begin to be executed, P1.0 output high level at this time. 

However, the result is that P1.0 begin to output high level when the voltage of DVCC is set up for about 1 ms by oscilloscope. So, how to explain it? When does the code begin to be executed? Is it that when the voltage of DVCC beyond SVSH_IT+ and the reset is released? I am waiting your reply, thank you.

Note: The code and the tested waveform are shown as follows, the yellow line is the waveform of DVCC and the green line is the waveform of P1.0.

CCS/MSP430F5510: ADC10 reading only values of 1023

$
0
0

Part Number:MSP430F5510

Tool/software: Code Composer Studio

Hi, I'm totally new at this. I am using an Olimex board and I'm trying to read analog voltage values from a voltage divider with a thermistor. The value at the analog input pin is about 1.4V. I can only get it to print 1023 (max value). I haven't been able to figure out what's wrong. Can anyone point out my error(s)?

#include <msp430f5510.h>
#include <stdio.h>

int main(void)
	{
	WDTCTL = WDTPW | WDTHOLD;						// Stop watchdog timer
	P1SEL = 0;										// port one to digital IO
	P1DIR = BIT0;									// Set P1.0 to output direction and all others to 0
	P1OUT &= ~BIT0; 								//Turn on led (pin low)

	P1SEL |= BIT0;                            		// Enable A/D channel A0

	ADC10CTL0 |= ADC10ON;							// Turn on ADC10, set sampling time
	ADC10CTL0 |= ADC10SHT_2;						// sample-hold-time. Number of clock cycles in the sampling period

	ADC10CTL1 |= ADC10SHP;							// set timing to be done internally, rather than by trigger

	ADC10MCTL0 |= ADC10SREF0;                 		//select avcc and avss as ref
	ADC10MCTL0 |= ADC10INCH0; 						//enable a0



	volatile unsigned int i;
	printf("finished setup\n");

	while(1){
		ADC10CTL0 |= ADC10ENC;      				// Enable conversions
		ADC10CTL0 |= ADC10SC; 						// Trigger new conversion
		while ((ADC10CTL1 & ADC10BUSY) == 1){
		} 											// just sit while it's 1 (busy)

		i = 50000;									// SW Delay, counts down, uses clock cycle.
		do i--;										// Just gives it something to do
		while(i != 0);

		printf("temp = %d\n", ADC10MEM0);

	}

}

WEBENCH® Tools/MSP430FR5969: MSP430FR5969

$
0
0

Part Number:MSP430FR5969

Tool/software: WEBENCH® Design Tools

The IAR Workbench shows that the device is not supported... Will you please tell me the solution for this?

Thanks and regards

Mukul

MSP430F6433: LCD_B: resistance value of internal bias resistor ladder

$
0
0

Part Number:MSP430F6433

Hi,

one of my customers is looking for the resistor value of the internal resistor ladder of LCD_B. This is required to figure out the current consumption generated by the internal resistors.

Best regards,
Phil

MSP430FR5739: Reading a SW2 and SW2 switch input in the launchpad in the MSP430FR5739

$
0
0

Part Number:MSP430FR5739

I am trying to read the S1 and S2 which is connected to to the MSP430FR5739 experimental launchpad. My code is as follows,

#include <msp430.h>

int main(void)
{

  WDTCTL = WDTPW + WDTHOLD;                 // Stop the watchdog timer

  P4DIR  = 0;                // Set P1.0 to output direction
  P4REN  = (BIT0 + BIT1);   // Pull BIT 0,1 HIGH and Keep them HIGH. Refer www.ti.com/.../slau343b.pdf page 7 S1,S2 connections.

  PJDIR  = ( BIT0 + BIT1 + BIT2 + BIT3);    // Set outputs in PORT
  P3DIR  = ( BIT4 + BIT5 + BIT6 + BIT7);    // Set outputs in PORT

  P3OUT  = 0; //set initial outputs to LOW
  PJOUT  = 0; //set initial outputs to LOW

  while (1) {

    if ((P4IN & BIT1) == BIT1) { //perform bitwise AND operation between 1 and P4IN Register

        P3OUT = 0;
        PJOUT = ( BIT0 + BIT1 + BIT2 + BIT3);     // if P1.4 set, set P1.0
    }

    if ((P4IN & BIT2) == BIT2) {

      PJOUT = 0;
      P3OUT = ( BIT4 + BIT5 + BIT6 + BIT7);
      }

  }
}

The above code does not detect the switch input. I understand that this is a very simple task. However, I was not able to get this to work. Would appreciate if anyone could help.


MSP430F6736: Problems for SVS module of MSP430F6736

$
0
0

Part Number:MSP430F6736

Dear,

Based on MSP430x5xx and MSP430x6xx Family User's Guide, when DVCC beyond SVSH_IT+( the default value of MSP430F6736 is 1.74 V), the reset is released.

Now, we use about 50 uF capacitor on DVCC pin of F6736 to make the voltage of DVCC increase slowly. And make P1.0 output high level in the beginning of "cstartup.s43" to ensure that P1.0 can output high level in the beginning of code execution. The result of this experiment we expected is that when DVCC increase up to 1.74 V, the reset is released and the code begin to be executed, P1.0 output high level at this time.

However, the result is that P1.0 output high level when DVCC is set up for about 1ms. So how to explain it? When is the code executed? Is it that when DVCC beyond SVSH_IT+ and the reset is released? I am waiting your reply, thank you!

Note: The portion code in "cstartup.s43" and the tested waveform are shown as follows, the yellow line is the waveform of DVCC and the green line is the waveform of P1.0.

MSP430FR5972: UART

$
0
0

Part Number:MSP430FR5972

Hi,

I am using CCS v7, device MSP430FR5972. I am just trying to run UART. Just send anything from PC keyboard want to receive the same but not working.

my coding is below:

#include <msp430.h>

int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop Watchdog

// Configure GPIO
P2SEL0 |= BIT0 | BIT1; // USCI_A0 UART operation
P2SEL1 &= ~(BIT0 | BIT1);

// Disable the GPIO power-on default high-impedance mode to activate
// previously configured port settings
PM5CTL0 &= ~LOCKLPM5;

// Startup clock system with max DCO setting ~8MHz
CSCTL0_H = CSKEY >> 8; // Unlock clock registers
CSCTL1 = DCOFSEL_3 | DCORSEL; // Set DCO to 8MHz

CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK;
CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers
CSCTL0_H = 0; // Lock CS registers

// Configure USCI_A0 for UART mode
UCA0CTLW0 = UCSWRST; // Put eUSCI in reset

UCA0CTLW0 |= UCSSEL__SMCLK; // CLK = SMCLK

// Baud Rate calculation
// 8000000/(16*9600) = 52.083
// Fractional portion = 0.083
// User's Guide Table 21-4: UCBRSx = 0x04
// UCBRFx = int ( (52.083-52)*16) = 1
UCA0BR0 = 52; // 8000000/16/9600
UCA0BR1 = 0x00;
FRCTL0 = FRCTLPW | NWAITS_1; // Change the NACCESS_x value to add the right amount of waitstates

UCA0MCTLW |= UCOS16 | UCBRF_1 | 0x4900;
UCA0CTLW0 &= ~UCSWRST; // Initialize eUSCI
UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt

__bis_SR_register(LPM3_bits | GIE); // Enter LPM3, interrupts enabled
__no_operation(); // For debugger
}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCI_A0_VECTOR))) USCI_A0_ISR (void)
#else
#error Compiler not supported!
#endif
{
switch(__even_in_range(UCA0IV, USCI_UART_UCTXCPTIFG))
{
case USCI_NONE: break;
case USCI_UART_UCRXIFG:

while(!(UCA0IFG&UCTXIFG));

UCA0TXBUF = UCA0RXBUF;

__no_operation();
break;
case USCI_UART_UCTXIFG: break;
case USCI_UART_UCSTTIFG: break;
case USCI_UART_UCTXCPTIFG: break;
}
}

Also using USB-TTL device and connect Rx-Tx, Tx-Rx & GND common. Set baud rate 9600 on Hyper terminal. 

 

MSP432P401R: Coding MSP432 and using it for controlling LCD 16X2

$
0
0

Part Number:MSP432P401R

Hello,

I am using MSP432P401R.

I want to know the following things-

1. Where can I find example of coding MSP432 using CCS.

2. How can I control a 16x2 lcd with the MSP432? I am not able to do it with Energia existing libraries as they are compatible only with MSP430. Are there libraries on CCS for the same purpose?

Kindly tell how can I program MSP432 for controlling 16X2 lcd

MSP430F5329: Horrible power supply and SVS/BOR

$
0
0

Part Number:MSP430F5329

In our application power is supplied by the user using battery clamps. You can imagine how many kind of noise/dips/spikes whatsoever come thru these. Most of the power supplies issues are handled by the regulator filter, however I still have one problem...

There is one kind of voltage dip which hangs the MPU. The 5329 has the vcore to the max to handle the maximum clock frequency so I reckon the BOR is not enough to restart the MCU (the threshold is for the lowest performance level). The idea would be to use the SVSH to reset the application when VDD goes down.

I'm using the reference code from the 5529EXP board to crank up the vcore for raising the clock (and it seems to be reconfigure the SVS too while doing so) and for some reason I find the SVSH disabled on exit (it should be enabled by default, right?). Even if I enable it afterwards the MPU still 'hangs'

The situation is this: MSP5329 with full vcore at maximum clock, VDD goes down from 3.3V to about 2.0V in about 10ms, stays at that level for about other 20ms then goes back up to 3.3V. Guaranteed to hang the MPU! The strange thing is that on another board with similar power issues a 5172 works perfectly (reset and restarts)

I tried to configure the SVSH to the recommended values but it doesn't seem to work (or maybe I am doing something wrong). Crystal doesn't restart, code execution seems stopped however pulling down MCLR restarts correctly the program. How can I check what's happening? Is the SVS specced for this kind of dip (the datasheet isn't very clear) or I *need* an external supervisor?


Thanks in advance

MSP430G2553: implementing a clock (hh:mm:ss) and use of __delay_cycles()

$
0
0

Part Number:MSP430G2553

Hello,

I'm designing a device that needs to show a clock on a display, I mean I want to show the time of the day (hour, minutes). The mcu is a MSP430G2553 with a 32768KHz xtal connected to the relevant pins. My code (simplified) looks like:

#define  SLEEP_TIME_1S  32767L

void main(void)
{
	WDTCTL = WDTPW | WDTHOLD;      // stop watchdog

	init(); // various initializations, e.g. gpio, display

	while(1)
	{
		start_LPM_Timer(SLEEP_TIME_1S);
		
		do_something_and_display_clock();		// perform some task		
		
		LPM3I();		
	}
}

void start_LPM_Timer(unsigned long time)
{
    TA0CCR0 = time;
    TA0CTL = TIMER_CLOCK_ACLK+TIMER_MODE_UP+TACLR;
    TA0CCTL0 &= ~CCIFG;
    TA0CCTL0 |= CCIE;
}

void LPM3I(void)
{
    __bis_SR_register(LPM3_bits+GIE);
    __no_operation();
}

#pragma vector=TIMER0_A0_VECTOR
__interrupt void ISR_Timer0_A0(void) // wake up from sleep function
{
    TA0CTL &= ~(MC_1);
    TA0CCTL0 &= ~(CCIE);
    _low_power_mode_off_on_exit();
}

// LPM3 with interrupt enable

void LPM3I(void)
{
       __bis_SR_register(LPM3_bits+GIE);
       __no_operation();
}

ACLK is clocked by the external 32khz crystal.

The idea is to start a timer that counts exactly 1s inside the while(1).  After starting the timer, the code performs some tasks (included updating the time on a display) then goes to low power mode 3. When the timer expires (i.e. after 1s) the mcu wakes up starting a new cycle.

I expect that whatever it takes the execution of  do_something_and_display_clock(), provided it is much less than 1s, the system should implement a precise clock; instead I noticed that after about one day the display shows a time (hh:mm) which is about 3 minutes late than a wall clock I use as a reference (that should be very precise). As further detail, the do_something_and_display_clock() function performs few calls of __delay_cycles(DELAY); where DELAY = 4000 (this is done by the code that drives the display which needs to drive some pins with a specified timing).

The mcu is clocked by 1MHz DCO (so delay_cycles should wast 4ms each time).

Is there any reason I'm missing why the clock is rather wrong after just 24 hours ? 3 seconds per day means 1 hour and half after a month, definitely not acceptable.

Thanks and best regards

Fabio

MSP430F5528: If the power is cycled at -30 degrees C, the part does not boot properly

$
0
0

Part Number:MSP430F5528

Hi,  I am checking out some new prototypes.  If I cycle the power at -30deg C the part does not flash the alive LED properly, and communications with the part are also not functioning.   Please see the attached plot of my 3V supply, and /RST signal.  /RST is created

(Please visit the site to view this file)using a 47k resistor in conjunction with a 0.1uF cap.  I have seen similar behavior on 2 out of 8 sample PCBs.

Could the steps in the 3V supply be causing the problem ?

If the temperature is raised to -20deg C(or higher), the power cycle goes correct, and the part functions.  The steps in the 3V supply are present at 25deg C.

Thank you for your help.  

BLE Device is not adverstising

$
0
0

Hello,

I have a CC2650 module Boosterpack connected via 10 pin JTAG cable to the MSP-EXP432P401R. I downloaded the Simple_np_cc2650bp example code.

But, BLE device is not advertising. Can someone help me with that?

Thank You 


MSP430F5510: ZQE Pinout Diagram Missing

$
0
0

Part Number:MSP430F5510

Hi,

The MSP430F5510 datasheet does not contain a diagram that maps pin numbers to signal names. Figure 4-2 shows the pins and how they map to the ball grid array, but there isn't a mapping of signal names to pins:

MSP430F5659: When to use Timers, delay_cycles(), and internal-MCU RTC alarms

$
0
0

Part Number:MSP430F5659

When to use Timers, delay_cycles(), and internal-MCU RTC alarms

I want to start a discussion on the best practices for when to use timers, delay_cycles, rtc alarms (if present).

Quick overview:

delay_cycles(x) - compiler inserts instructions that take x cycles. Cycles can be converted to a time if the clock frequency is known. (Disclaimer: Interrupts can trigger while delay is in progress, thereby proloning the delay by the ISR execution time, in sum making the amount of time delayed hard to predict in certain cases).

Timers - Useful for timing that isn't affected by other ISRs (Except some edge cases). Processor can be doing other things while timer counts (Sleeping, processing other inputs, etc). Really powerful tool, Main problem is the lack of timer modules available (MSP430F5659 has 2 plus a WDT).

Internal RTC - Clock that runs indepedent of the CPU that can be polled for H:M:S:D:M:Y. Useful for keeping course time, and has alarms. Interrupts can be triggered for things like minute change, midnight, etc. Useful for waking up from sleep, or for comparing time against a list of alarms to determine when to do things. Not great at fine scale timing (Less than seconds granularity)


To give an example for the discussion:

Say we have a sensor that we interface (SPI, I2C, UART...whatever) . At the I/O layer, we may want to communicate at a specific interval, or stop listening for input after a specific time. On top of the IO layer, we process sensor information and store it in external memory which most likely requires its own delays (serial Flash, FRAM, SD card...etc). The process of storing this sensor information should be limited to a certain amount of time due to power constraints, or maybe additional time won't provide better samples due to outside forces. Finally, there are tasks similar to this one that are scheduled to happen periodically, where we sleep in between them.

A problem I run into frequently is not being able to use a timer in a function because its currently being used in my calling function. I'm curious what best practices you guys have for when to use each of the above tools together to address problems such as the one above.

CCS/MSP432P401M: Error in loading the program in MSP432P401M

$
0
0

Part Number:MSP432P401M

Tool/software: Code Composer Studio

Hi ,

I have XDS 100V2 JTAG connector and i am using my own board for MSP432P401M

I got this error during the debug process, error in loading the program:-

CORTEX_M4_0: Flash Programmer: Reading HW revision failed.
CORTEX_M4_0: Your XMS432P401R material is no longer supported. We recommend you moving to production-quality MSP432P401R/M silicon by ordering samples at www.ti.com/product/MSP432P401R.
CORTEX_M4_0: File Loader: Memory write failed: Unknown error
CORTEX_M4_0: GEL: File: C:\Users\Nikhil Bapat\workspace_v7\inclinometer1\Debug\inclinometer1.out: Load failed.

I already checked "MSP432 Launchpad Users Guide-Factory reset script" and its shows that my xds100v2 is successfully connected.

Please help me in solving this .

With regards

Sayali Pathak

MSP430i2040 Sub metering EVM support Kilowatt per our

$
0
0

Hi,

May I know if MSP430i2040 Sub metering EVM support kilowatt per hour reading?

Thanks,

Christina

CCS/MSP430F5529: Custom BSL: Skipped sections in .asm file

$
0
0

Part Number:MSP430F5529

Tool/software: Code Composer Studio

Hello, 

I am using CCS v6.2 and v1_00_12_00 of MSP430 Custom BSL to create my own bootloader to fit my communication needs. I modified MSP430F5418 example project to MSP430F5529, that also included some changes to linker file. However when I builded project I noticed, that sections created in BSL430_LOW_LEVEL_INIT.asm file doesn't appear in generated TI-HEX file nor are listed during linking. Espescially the ".ZAREA" section is missing which I planned to use for "jumping" into Bootloader.

Linker creating HEX file:

Translating to TI-TXT format...
   "MSP430_BSL.out" .BSL430_VERSION_VENDOR ==> .BSL430_VERSION_VENDOR
   "MSP430_BSL.out" .BSL430_VERSION_CI ==> .BSL430_VERSION_CI
   "MSP430_BSL.out" .BSL430_VERSION_API ==> .BSL430_VERSION_API
   "MSP430_BSL.out" .BSL430_VERSION_PI ==> .BSL430_VERSION_PI
   "MSP430_BSL.out" .text:_isr ==> .text:_isr
   "MSP430_BSL.out" .text ==> .text
   "MSP430_BSL.out" .cinit ==> .cinit
   "MSP430_BSL.out" RTC ==> RTC
   "MSP430_BSL.out" PORT2 ==> PORT2
   "MSP430_BSL.out" TIMER2_A1 ==> TIMER2_A1
   "MSP430_BSL.out" TIMER2_A0 ==> TIMER2_A0
   "MSP430_BSL.out" USCI_B1 ==> USCI_B1
   "MSP430_BSL.out" USCI_A1 ==> USCI_A1
   "MSP430_BSL.out" PORT1 ==> PORT1
   "MSP430_BSL.out" TIMER1_A1 ==> TIMER1_A1
   "MSP430_BSL.out" TIMER1_A0 ==> TIMER1_A0
   "MSP430_BSL.out" DMA ==> DMA
   "MSP430_BSL.out" USB_UBM ==> USB_UBM
   "MSP430_BSL.out" TIMER0_A1 ==> TIMER0_A1
   "MSP430_BSL.out" TIMER0_A0 ==> TIMER0_A0
   "MSP430_BSL.out" ADC12 ==> ADC12
   "MSP430_BSL.out" USCI_B0 ==> USCI_B0
   "MSP430_BSL.out" USCI_A0 ==> USCI_A0
   "MSP430_BSL.out" WDT ==> WDT
   "MSP430_BSL.out" TIMER0_B1 ==> TIMER0_B1
   "MSP430_BSL.out" TIMER0_B0 ==> TIMER0_B0
   "MSP430_BSL.out" COMP_B ==> COMP_B
   "MSP430_BSL.out" UNMI ==> UNMI
   "MSP430_BSL.out" SYSNMI ==> SYSNMI
   "MSP430_BSL.out" .reset ==> .reset

Begging of Hex file:

@1010
00 08 08 04 
@1042
32 D0 10 00 FD 3F 03 43 6A 15 21 83 0E 41 3E 80 
00 1C 3F 40 FE 1B 0F 5E 8F 43 00 00 2F 83 2E 83 
FB 23 82 43 0E 1D B2 40 00 A5 10 1D B2 40 00 1C 
04 1D B2 40 00 1C 06 1D B2 40 41 03 0A 1D B2 40
...

As seen above, no code was allocated to ZAREA (0x1000) section

Linker file may be found here:  (Please visit the site to view this file)

When chaning this section in linker file : 

.ZAREA : {}  > ZAREA

To this:

.ZAREA{
      BSL430_Low_Level_Init.obj(.ZAREA)
}  > ZAREA

Linker returns following warning on line specifing input object : "#10068-D no matching section".

I dumped BSL430_Low_Level_Init.obj using dis430 and sections appear to be created correctly:

Disassembly of BSL430_Low_Level_Init.obj:

TEXT Section .ZAREA, 0x10 bytes at 0x0
000000: .ZAREA:
000000: BSL_Entry_JMP:
000000: 053C JMP (C_Branch)
000002: 8000 BRA #SYSCTL
000004: 0000
000006: FF3F JMP (SBSLSigLoc)
000008: FF3F JMP (0x0008)
00000a: FF3F JMP (BslEntryLoc)
00000c: C_Branch:
00000c: 3040 BR #SYSCTL
00000e: 0000

TEXT Section .ZAREA_CODE, 0x2E bytes at 0x0
000000: .ZAREA_CODE:
000000: BSL_ACTION0:
000000: 3D90 CMP.W #0xdead,R13
000002: ADDE
000004: 0420 JNE (RETURN_ERROR)
000006: 3E90 CMP.W #0xbeef,R14
000008: EFBE
00000a: 0120 JNE (RETURN_ERROR)
00000c: 033C JMP (RETURN_TO_BSL)
00000e: RETURN_ERROR:
00000e: 0C43 CLR.W R12
000010: 0D43 CLR.W R13
000012: 1001 RETA
000014: RETURN_TO_BSL:
000014: 3C41 POP.W R12
000016: 3D41 POP.W R13
000018: 1001 RETA
00001a: BSL_Protect:
00001a: 0C43 CLR.W R12
00001c: B2D0 BIS.W #0x8003,&SYSCTL
00001e: 0380
000020: 0000
000022: B2B0 BIT.W #0x0010,&SYSCTL
000024: 1000
000026: 0000
000028: 0124 JEQ (BCC2BSL)
00002a: 2CD3 BIS.W #2,R12
00002c: BCC2BSL:
00002c: 1001 RETA

DATA Section .BSLSIG, 0xC bytes at 0x0
000000: .BSLSIG:
000000: ffff .word 0xffff
000002: BslProtectVecLoc:
000002: 0000 .word 0x0000
000004: PBSLSigLoc:
000004: 3ca5 .word 0x3ca5
000006: SBSLSigLoc:
000006: c35a .word 0xc35a
000008: ffff .word 0xffff
00000a: BslEntryLoc:
00000a: 0000 .word 0x0000

DATA Section .JTAGLOCK_KEY, 0x4 bytes at 0x0
000000: PJTAGLOCK_KEY:
000000: .JTAGLOCK_KEY:
000000: ffff .word 0xffff
000002: SJTAGLOCK_KEY:
000002: ffff .word 0xffff

Is this problem related to project configuration? When trying to build this project for the first time, environment prompted me to change compiler version, as this used in project was outdated.

Thank you for any help or tips where to look for problem.

Tom

Viewing all 22047 articles
Browse latest View live