Barebones Propeller not Found using Simple IDE and Prop Plug
in Propeller 1
Hey everyone, I'm fairly new at using parallax processors and have run into a problem trying to program a P8X32A-Q44 on a PCB I designed. I started out just trying to program the propeller without much else on the board except the bypass caps on the power pins and two LEDs to test my program and a 10MHz Oscillator (which I believe should not affect the chips ability to have programs downloaded onto it since it uses internal RC for the boot up) and currently no EEPROM, but every time I try to upload my program using the Prop Plug and SimpleIDE I get the same error message: ERROR: Propeller not Found on COM5.
The troubleshooting I have done so far as been testing all my traces for continuity, apply power and measuring the voltages on the VCC pins to verify they were getting 3.3V, measured the current draw of the chip (~2mA) to make sure it was drawing the correct amount of power and tested the prop plug with a propeller mini to verify it wasn't the Prop Plug. I'm fairly certain it's not my computer since all my drivers are properly installed and the Prop Plug is correctly identified in the device manager. I've also reinstalled drivers, restarted my computer, and unplugged and plugged the prop, but nothing changed.
When I do try to upload the program with Prop Plug, the blue light on the plug flashed once after it tries to load the program for a while, and then I get the error.
I also tried messing around with the reset settings, switching between DTR and RTS, but from what I've read it seems that the prop plug is designed to use DTR.
At this point I'm wondering if the Propeller went bad for some reason, maybe I accidentally shorted it or something, but I'd really like to try everything before deciding if that's the case. Does anyone have other suggestions of what to check/try? Let me know if you need any pictures of my schematic of physical board.
The troubleshooting I have done so far as been testing all my traces for continuity, apply power and measuring the voltages on the VCC pins to verify they were getting 3.3V, measured the current draw of the chip (~2mA) to make sure it was drawing the correct amount of power and tested the prop plug with a propeller mini to verify it wasn't the Prop Plug. I'm fairly certain it's not my computer since all my drivers are properly installed and the Prop Plug is correctly identified in the device manager. I've also reinstalled drivers, restarted my computer, and unplugged and plugged the prop, but nothing changed.
When I do try to upload the program with Prop Plug, the blue light on the plug flashed once after it tries to load the program for a while, and then I get the error.
I also tried messing around with the reset settings, switching between DTR and RTS, but from what I've read it seems that the prop plug is designed to use DTR.
At this point I'm wondering if the Propeller went bad for some reason, maybe I accidentally shorted it or something, but I'd really like to try everything before deciding if that's the case. Does anyone have other suggestions of what to check/try? Let me know if you need any pictures of my schematic of physical board.
Comments
Double check that old "txd rxd mislabeling" thing. In some diagrams the txd from the prop plug was labelled rxd to show that it connected to rxd. Silly way to label it and it would have been much clearer if it said "txd to Prop rxd" for instance.
Post a schematic and photos of the actual board if you still have troubles.
I found this out after trying to program a Propeller without a crystal installed and found it did not work.
The load program installs a stub program to actually do the loading of the program at a higher baud rate and since you don't have a standard clock it will fail.
Mike
I did make my own .cfg file with the clkmode to XTAL1+PLLX8 settings and that did not seem to change anything, but I also tried the spinstamp.cfg but get the same error.
I'm fairly certain I wired it correctly but I also tried switching the tcx and rx pins, but I still get the same error.
Should be:
PropPlug Propeller VSS Ground RES\ Reset (pin 7) TX RX (pin 31) RX TX (pin 30)
After getting it wrong I created a PropPlug schematic symbol for myself so that I didn't do it again.Yes I checked it in the device manager and COM5 is what I used to program the propeller mini to verify the Prop Plug was working correctly.
Eliminating the bypass caps could cause the PLL to fail and subsiquentley kill the clock circuit. Any program that was looking for 80 MHz would fail.
Can you see if the Prop identifies with the Propeller Tool?
https://www.parallax.com/downloads/propeller-tool-software-windows-spin-assembly
That just says the software see the Prop Plug and not the Prop.
Eureka! So the Propeller Tool does identify it and I was able to upload a program to it, so it seems like it may have had something to do with the settings for SimpleIDE. So even through I changed the .cfg file to use the 10MHz crystal, does simpleIDE still look for 80MHz sourced from a 5MHz crystal? Why is the SimpleIDE not working with the 10MHz crystal while the Propeller Tool is?
Did you try Dave's suggestion to:
I have noticed now that I get a slightly different error now:
Opening file 'cmm/testing_configurations.elf'
ERROR: Download failed: -1
I would suggest a new programming environment FlexGUI.
http://forums.parallax.com/discussion/170730/flexgui-a-complete-programming-system-for-p2-and-p1/p1
Supports P1/P2 SPIN/C/BASIC.
I think it will be the environment for the future. I am not a Parallax employee, but a user.
https://www.parallax.com/downloads/simpleide-software-windows-propeller-c
I use FlexGUI myself.
Yes I have V1.1.2 for SimpleIDE
I'll have to give it a go, thanks for suggesting it and all your help!
One other thing I was trying was to use the internal fast RC oscillator so that it would ignore the 10MHz oscillator but it still gives me the same sort of error, but it doesn't make sense to me why this wouldn't work.
propeller-load options:
% propeller-load usage: propeller-load [ -b <type> ] select target board (default is 'default:default') [ -p <port> ] serial port (default is to auto-detect the port) [ -P ] list serial ports with Propeller chips [ -Q ] list available serial ports [ -I <path> ] add a directory to the include path [ -D var=value ] define a board configuration variable [ -e ] write the program into EEPROM [ -r ] run the program after loading [ -g ] set up the program for debugging after loading [ -s ] write a spin .binary file for use with the Propeller Tool [ -x ] write a .pex binary file for use with the SD loader or SD cache [ -l ] write a program to the sd card and use the SD loader [ -z ] write a program to the sd card and use the SD cache [ -f ] write a file to the SD card [ -t ] enter terminal mode after running the program [ -t<baud> ] enter terminal mode with a different baud rate [ -T ] enter pst terminal mode after running the program [ -T<baud> ] enter pst terminal mode with a different baud rate [ -q ] quit on the exit sequence (0xff, 0x00, status) [ -v ] verbose output [ -S ] slow down the loader by adding 5 microseconds delay [ -S<n> ] slow down the loader by adding <n> microseconds delay [ -? ] display a usage message and exit <name> elf or spin binary file to load Target board type can be either a single identifier like 'propboe' in which case the subtype defaults to 'default' or it can be of the form <type>:<subtype> like 'c3:ram'. Variables that can be set with -D are: clkfreq clkmode baudrate reset rxpin txpin tvpin cache-driver cache-size cache-param1 cache-param2 sd-driver sdspi-do sdspi-clk sdspi-di sdspi-cs sdspi-clr sdspi-inc sdspi-start sdspi-width spdspi-addr sdspi-config1 sdspi-config2 eeprom-first Value expressions for -D can include: rcfast rcslow xinput xtal1 xtal2 xtal3 pll1x pll2x pll4x pll8x pll16x k m mhz true false an integer or two operands with a binary operator + - * / % & | or unary + or - all operators have the same precedence The -b option defaults to the value of the environment variable PROPELLER_LOAD_BOARD. The -p option defaults to the value of the environment variable PROPELLER_LOAD_PORT if it is set. If not the port will be auto-detected. The 'sd loader' loads AUTORUN.PEX from an SD card into external memory. It requires a board with either external RAM or ROM. The 'sd cache' arranges to run AUTORUN.PEX directly from the SD card. It can be used on any board with an SD card slot.
dgately