This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
hello,
I am using MSP430G2553 launch pad, windows xp and trying to debug the program but each time the following error comes.
this is the setting in the run ->debug configuration. I tried manually to enter the path, created new project but same problem occuring. Please help me to find the issue.
/*
* LCD.H
*
* Created on: Sep 15, 2016
* Author: dinesh
*/
#ifndef LCD_H_
#define LCD_H_
#define lcd_EN BIT3
#define lcd_RS BIT0
#define lcd_D4 BIT4
#define lcd_D5 BIT5
#define lcd_D6 BIT6
#define lcd_D7 BIT7
#define lcd_DIR P1DIR
#define lcd_PORT P1OUT
#define lcd_PORT_MASK (lcd_EN | lcd_RS | lcd_D4 | lcd_D5 | lcd_D6 | lcd_D7)
void lcd_cmd(char);
void lcd_pulse(void);
void lcd_init(void);
void lcd_data(unsigned char);
void set_cursor_pos(int,int );
void busychck(void);
void clear_lcd(void);
void lcd_cmd(char cmd)
{
//busychck();
lcd_PORT &= (~lcd_PORT_MASK);
//lcd_PORT =(lcd_PORT&0x0F)|(cmd&0xF0);
lcd_PORT |=(cmd & 0xF0); //HIGHER NIBBLE
lcd_PORT &= ~lcd_RS;
lcd_pulse();
lcd_PORT &= (~lcd_PORT_MASK);
lcd_PORT |=((cmd&0x0F)<<4); //LOWER nibble
//lcd_PORT =(lcd_PORT&0x0F)|((cmd&0x0F)<<4);
lcd_PORT &= ~lcd_RS;
lcd_pulse();
_delay_cycles(1000);
}
void lcd_pulse()
{
lcd_PORT&= ~lcd_EN; //EN low
_delay_cycles(4000);
lcd_PORT |= lcd_EN; //EN high
_delay_cycles(4000);
/*lcd_PORT &= ~lcd_EN; //EN low
_delay_cycles(1000);*/
}
void set_cursor_pos(int row,int col)
{
char addr;
if(row==0)
addr=0x00; //row 0 then addr=0x00h(RAM addr)
else
addr=0x40; //row 1 den addr=0x40h
addr |=col; //add offset for column
lcd_cmd(0x80|addr); //set DDRAM addr for display
}
void clear_lcd()
{
lcd_cmd(0x01); //CLEAR DISPLAY
//_delay_cycles(1000);
lcd_cmd(0x02); //RETURN HOME
//_delay_cycles(100000);
}
void lcd_init()
{
//lcd_DIR =0XFF;
lcd_PORT &= (~lcd_PORT_MASK);
//_delay_cycles(10000);
lcd_PORT&=~lcd_EN; //CLEAR EN
lcd_PORT&=~lcd_RS; //CLEAR RS
lcd_PORT=0x20;
lcd_pulse(); //EN HIGH
//_delay_cycles(1000);
lcd_cmd(0x28); //FUNCTION SET- 4 BIT,1 LINE ,5X7 MATRIX
//_delay_cycles(1000);
lcd_cmd(0x06); //ENTRY MODE
//_delay_cycles(1000);*/
lcd_cmd(0x0C); //DISPLAY, CURSOR AND BLINK OFF
//_delay_cycles(1000);
/*lcd_cmd(0x10); //NO SHIFT
_delay_cycles(1000); */
}
void lcd_data(unsigned char data)
{
//busychck();
lcd_PORT &=(~lcd_PORT_MASK);
//lcd_PORT =(lcd_PORT&0x0F)|(data&0xF0);
lcd_PORT |=(data & 0xF0); //HIGHER NIBBLE
lcd_PORT |=lcd_RS;
lcd_pulse(); //EN HIGH
lcd_PORT &=(~lcd_PORT_MASK);
//lcd_PORT =(lcd_PORT&0x0F)|((data&0x0F)<<4);
lcd_PORT |=(data&0x0F)<<4; //LOWER nibble
lcd_PORT |=lcd_RS; //RS HIGH
lcd_pulse(); //EN HIGH
//lcd_pulse();
//_delay_cycles(1000);
}
void display(char* word)
{
char* c;
c=word;
while((*c!=0) & (c!=0))
{
if(c=='\0')
break;
lcd_data(*c);
c++;
}
}
/*void busychck()
{
lcd_DIR &=~BIT7; //bit 7 as input port to read busy chck
while((P1IN & BIT7)==1)
{
}
lcd_DIR |=BIT7; //bit 7 as output pin
}
*/
#endif /* LCD_H_ */
Did you check your linker command file, debugger memory map and memory accessibility as suggested in the above wiki?
The address 0xFFE4 is an interrupt vector, and it should be able to be programmed.harish yadav said:MSP430: File Loader: Verification failed : Values at address 0xFFE4 do not match Please verify target memory and memory map.
Can you enable the CCS Debug Server Logging and attach the log file from when CCS reports the data verification failure.
Also which version of CCS are you using?
In the past there have been other case where interrupt vectors failed to be programmed correctly, but the root cause wasn't clear (e.g. HELP!!! MSP430: File Loader: Data verification failed...)