Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 7:d0f98d61ec4c, committed 2011-09-30
- Comitter:
- daugihao
- Date:
- Fri Sep 30 14:55:11 2011 +0000
- Parent:
- 6:fab999f0e93b
- Commit message:
- Some slight alterations and comment addition
Changed in this revision
diff -r fab999f0e93b -r d0f98d61ec4c ID.cpp
--- a/ID.cpp Fri Sep 30 12:03:31 2011 +0000
+++ b/ID.cpp Fri Sep 30 14:55:11 2011 +0000
@@ -5,29 +5,33 @@
switch (idcode) {
//Cortex M3 - LPC17xx
- case 637615927: //Works
+ case 637615927://Works //ID code
strcpy(strChipType, "LPC1768 - Cortex M3"); //Chip name
+ //MAX 230400 baud //Maximum baud rate
lastSector = 29; //Last available sector in Flash
- RAM = 268435968; //First RAM address
+ RAM = 0x10000200; //First RAM address
strcpy(speed, "4000"); //Chip speed
break;
- case 1023410219:
- strcpy(strChipType, "LPC1343 - Cortex M3"); //Can run up to 115200 baud (working on compatability)
+ case 1023410219://Looking at the user manual to solve problems
+ strcpy(strChipType, "LPC1343 - Cortex M3");
+ //MAX 115200 baud
lastSector = 7;
RAM = 0x10000000;
- strcpy(speed, "4000");
+ strcpy(speed, "60000");
break;
- case 71569451:
- strcpy(strChipType, "LPC1114 - Cortex M3"); //Can run up to 115200 baud (working on compatability)
+ case 71569451://Looking at the user manual to solve problems
+ strcpy(strChipType, "LPC1114 - Cortex M3");
+ //MAX 115200 baud
lastSector = 7;
RAM = 0x10000000;
strcpy(speed, "4000");
break;
//ARM7
- case 117702437: //Works
+ case 117702437://Works
+ //MAX 230400
strcpy(strChipType, "LPC2387 - ARM7");
lastSector = 27;
RAM = 0x40000200;
diff -r fab999f0e93b -r d0f98d61ec4c ISP.cpp
--- a/ISP.cpp Fri Sep 30 12:03:31 2011 +0000
+++ b/ISP.cpp Fri Sep 30 14:55:11 2011 +0000
@@ -13,19 +13,17 @@
int sector[30] = {4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768, 32768};
int startadd[30] = {0x0, 0x1000, 0x2000, 0x3000, 0x4000, 0x5000, 0x6000, 0x7000, 0x8000, 0x9000, 0xA000, 0xB000, 0xC000, 0xD000, 0xE000, 0xF000, 0x10000, 0x18000, 0x20000, 0x28000, 0x30000, 0x38000, 0x40000, 0x48000, 0x50000, 0x58000, 0x60000, 0x68000, 0x70000, 0x78000};
- pc.printf("**** LPCxxxx Flash Bootloader ****\n\n\r");
+ pc.printf("\n\r**** LPCxxxx Flash Bootloader ****\n\r");
if(CheckTargetPresent()==0) {
pc.printf("ERROR: Communication failed with board. Ensure board reset and P2.10 pulled low before running mbed program! If the setup is correct, try lowering the baud rate, set in main.cpp.\r\n\n");
exit(0);
}
- sprintf(strRAM, "W %d 1024", RAM);
-
- DIR *d = opendir("/fs"); // Opens the root directory of the local file system
+ DIR *d = opendir("/fs"); //Opens the root directory of the local file system
struct dirent *p;
fname[0] = 0;
- while((p = readdir(d)) != NULL) { // Print the names of the files in the local file system
+ while((p = readdir(d)) != NULL) { //Print the names of the files in the local file system
if ( strcmp(p->d_name+strlen(p->d_name)-3,"LPC") == 0 )
{
strcpy(fname,"/fs/");
@@ -41,6 +39,7 @@
}
else pc.printf("%s opened successfully\n\n\r", fname);
+ sprintf(strRAM, "W %d 1024", RAM);
TargetSendStringAndCR(strRAM);
readBytes(buf, 3);
if ( strncmp(buf,str0, 1) != 0 )
@@ -171,17 +170,13 @@
readBytes(buf, 3);
if (strncmp(buf,str0,1) != 0 )
return 0;
- readBytes(buf, 12);
- int length;
- for (length=0; length<12; length++) {
- if (buf[length]==0x0D)
- break;
+ readBytes(buf,1);
+ while(buf[0]!=0x0D) {
+ id = (id*10)+buf[0]-'0';
+ readBytes(buf,1);
}
-
- for (int i=0; i<length; i++)
- id = (id*10)+buf[i]-'0';
- //pc.printf("%d\n\r", id);
+ readBytes(buf,1);
int finish = IDCheck(id);
pc.printf("Chip to bootload: %s\n\r", strChipType);
@@ -204,6 +199,6 @@
if ( strncmp(buf,str0,1) != 0 )
return 0;
- pc.printf("Ready to write to chip...\n\r");
+ pc.printf("Ready to write to chip\n\r");
return 1;
}
\ No newline at end of file
diff -r fab999f0e93b -r d0f98d61ec4c SerialBuffered.cpp
--- a/SerialBuffered.cpp Fri Sep 30 12:03:31 2011 +0000
+++ b/SerialBuffered.cpp Fri Sep 30 14:55:11 2011 +0000
@@ -11,7 +11,7 @@
target.attach( this, &SerialBuffered::handleInterrupt );
m_buff = (uint8_t *) malloc( bufferSize );
if ( m_buff == NULL ) {
- pc2.printf("SerialBuffered - failed to alloc buffer size %d\r\n", (int) bufferSize );
+ pc2.printf("\n\rERROR: Failed to alloc serial buffer size of %d\r\n", (int) bufferSize );
} else {
m_buffSize = bufferSize;
}
@@ -78,7 +78,7 @@
void SerialBuffered::handleInterrupt() {
while (target.readable()) {
if (m_contentStart == (m_contentEnd +1) % m_buffSize) {
- pc2.printf("SerialBuffered - buffer overrun, data lost!\r\n" );
+ pc2.printf("\n\rERROR: Serial buffer overrun, data lost!\r\n" );
exit(0);
} else {
m_buff[m_contentEnd++] = target.getc();
diff -r fab999f0e93b -r d0f98d61ec4c main.cpp
--- a/main.cpp Fri Sep 30 12:03:31 2011 +0000
+++ b/main.cpp Fri Sep 30 14:55:11 2011 +0000
@@ -5,7 +5,7 @@
int main() {
//RESET CHIP TO LOAD TO BEFORE RUNNING PROGRAM!!!
- lpc.InitUART(230400); //Specified limit of 230400 baud
+ lpc.InitUART(115200); //Specified limit of 230400 baud
lpc.ProgramFile();
}
//To add new chips to load to, add a case to the switch function in ID.cpp, using the ID code and last sector number information
\ No newline at end of file