September 2, 2010
Hello,
I do not know what I did (or did not do), but today I was able to upload programs to the FLASH memory of my Maple Rev3 board (running IDE 0.0.6).
I was able to upload the the sketch from: examples\Maple\InteractiveTest
This sketch cannot be uploaded to SRAM, because it is too large. It requires 24240 bytes (on my Windows XP system).
I tested the sketch using the Maple-IDE Serial Monitor, the Microsoft HyperTerminal (Version 5.1), and another terminal monitoring program.
Using the Maple-IDE Serial Monitor, the sketch responds well to lowercase 'u' commands (responding with "Hello World"). However, the sketch does not respond well to uppercase 'U' commands. A large number of characters appear, but the system stops responding. If the Windows Task Manager is open it shows that javaw.exe is using 95% of the CPU cycles.
Then I rebooted my system (to "clear out" any residual problems), uploaded the Interactive Test sketch again, and tested the sketch output using Microsoft HyperTerminal. I was very surprised when the Interactive Test passed the 'U' command. The SerialUSB.print() function succeeds at printing the "DUMMY_DAT" string many times without any problems.
Finally, I tested the Interactive Test sketch twice using another terminal program. On the first attempt the output from the Maple stopped after 50 prints of the complete "DUMMY_DAT" string. I forgot what I did next, but it is possible I rebooted my system and uploaded the sketch again. On the second attempt the output from the Maple stopped after 54 complete prints of the "DUMMY_DAT" string. I do not know if it significant that complete "DUMMY_DAT" strings printed (ie, SerialUSB.printing did not stop in the middle of the string).
I did not change the length of the DUMMY_DAT variable. If it is shortened or lengthened I do not know if the number of complete DUMMY_DAT strings printed is increased or decreased, respectively.
I should have tested the sketch using a Mac OS terminal program, but I was lazy.
Running the Interactive Test sketch reproducibly causes the system "lock" (95% system CPU in use) using the Maple-IDE 0.0.6 on my Windows XP Professional SP3 system (Pentium III 32-bit).
Then I found a way to make the Interactive Test sketch succeed with the Maple-IDE Serial Monitor.
The original unmodified code is:
<start of code>
case 85: // 'U'
COMM.println("Dumping data to USB. Press enter.");
while(!COMM.available()) {
SerialUSB.print(DUMMY_DAT);
}
break;
<end of code>
If the "SerialUSB.print(DUMMY_DAT);" is changed to "SerialUSB.println(DUMMY_DAT);" the code works on my Windows XP Pro SP3 system (Pentium III 32-bit).
I have not looked at the source-code for SerialUSB.print() and SerialUSB.println(). Does this observation help trouble-shoot the SerialUSB problems which have been reported by several users?
Thanks!
Stephen from NYC
Here is a description of my system:
Maple board: Rev 3 (summer 2010)
Maple IDE: 0.6.0
Processor: Pentium III (1 GHz)
USB ports: 1.1
OS: Windows XP Professional (32-bit)
SP: Service Pack 3
Java type: JDK and JRE
Java version: 1.6.0_20 (as reported by the Control Panel)