From: travisutk Date: Thu, 27 Aug 2009 00:59:38 +0000 (+0000) Subject: Nearing support for the MSP430F2618 in lieu of the 1612. X-Git-Url: http://git.rot13.org/?p=goodfet;a=commitdiff_plain;h=4ad169e89a063394cbc38963eba6fdd0b52ceba4;ds=sidebyside Nearing support for the MSP430F2618 in lieu of the 1612. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@90 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- diff --git a/client/goodfet.spiflash b/client/goodfet.spiflash index c2bc60b..10750ff 100755 --- a/client/goodfet.spiflash +++ b/client/goodfet.spiflash @@ -77,9 +77,7 @@ if(sys.argv[1]=="dump"): i=start; while i<=stop: data=client.SPIpeekblock(i); - - - if(i%0x100==0): + if(i%0x1000==0): print "Dumped %06x."%i; for j in data: file.write(j); diff --git a/firmware/Makefile b/firmware/Makefile index 5bc3555..75ada15 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -24,9 +24,13 @@ run: ../client/goodfet.msp430 test install: $(app).hex - $(BSL) -e -p $(app).hex + $(BSL) -e + #$(BSL) -p info.txt || true #MSP430F2xx targets only, inelegant. + $(BSL) -p $(app).hex verify: $(BSL) -P $(app).hex -v $(app).hex +dumpinfo: + $(BSL) --dumpinfo -c /dev/ttyUSB0 $(app): $(app).c $(libs) $(apps) $(app).hex: $(app) msp430-objcopy goodfet -O ihex goodfet.hex diff --git a/firmware/goodfet.c b/firmware/goodfet.c index 8cd782e..c7ec7dd 100644 --- a/firmware/goodfet.c +++ b/firmware/goodfet.c @@ -76,8 +76,10 @@ int main(void) //} //delay(0xffff); //while(*((int*)0x1001)); + //while(1) // txdata(0xFF,0xFF,0); + txstring(MONITOR,OK,"http://goodfet.sf.net/"); //Command loop. There's no end! diff --git a/firmware/lib/msp430x2618.c b/firmware/lib/msp430x2618.c index ac17e0d..0158082 100644 --- a/firmware/lib/msp430x2618.c +++ b/firmware/lib/msp430x2618.c @@ -49,23 +49,28 @@ void serial1_tx(unsigned char x){ //! Set the baud rate. void setbaud(unsigned char rate){ - //http://mspgcc.sourceforge.net/baudrate.html + //Table 15-4, page 481 of 2xx Family Guide switch(rate){ case 1://9600 baud - + UCA0BR1 = 0x06; + UCA0BR0 = 0x82; break; case 2://19200 baud - + UCA0BR1 = 0x03; + UCA0BR0 = 0x41; break; case 3://38400 baud - + UCA0BR1 = 0xa0; + UCA0BR0 = 0x01; break; case 4://57600 baud - + UCA0BR1 = 0x1d; + UCA0BR0 = 0x01; break; default: case 5://115200 baud - + UCA0BR0 = 0x8a; + UCA0BR1 = 0x00; break; } } @@ -79,7 +84,6 @@ void setbaud1(unsigned char rate){ break; case 2://19200 baud - break; case 3://38400 baud @@ -94,12 +98,8 @@ void setbaud1(unsigned char rate){ } } - - -//19200 -#define BAUD0EN 0x1b -#define BAUD1EN 0x00 - +#define BAUD0EN 0x41 +#define BAUD1EN 0x03 void msp430_init_uart(){ @@ -112,8 +112,11 @@ void msp430_init_uart(){ UCA0CTL0 = 0x00; //UCA0CTL0 |= UCMSB ; UCA0CTL1 |= UCSSEL_2; // SMCLK - UCA0BR0 = BAUD0EN; // 115200 - UCA0BR1 = BAUD1EN; + + //UCA0BR0 = BAUD0EN; // 115200 + //UCA0BR1 = BAUD1EN; + setbaud(5);//default baud, 115200 + UCA0MCTL = 0; // Modulation UCBRSx = 5 UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** @@ -124,9 +127,10 @@ void msp430_init_uart(){ } -//external resistor -#define DCOR 1 void msp430_init_dco() { + //This REQUIRES that info flash be unmolested. + //TODO check for that. + BCSCTL1 = CALBC1_16MHZ; DCOCTL = CALDCO_16MHZ; return;