David,
That's why the reset pin has a jumper
For development wire in a switch to Gnd to reset when the test program crashes. Otherwise no need to manually reset as the reboot command can perform a soft reset.
I have worked on it before and picked this up again yesterday. I need to get it running to move forward with debugging marks Sphinx compiler that I have been working on.
So it sounds like you're looking for code that can parse the incoming download from the PC. Can't you just use the same code that is in the ROM but modify it to write to an SD card instead of hub memory? I think Chip provided the source code for the P1 ROM.
Cluso...it has already been said in various ways by others but, WAY TO GO!! I absolutely love this new addition to the P1 family.
As for a possible SX board, atm I'm sorely tempted to make my own (using dirtyboards.com). I'd like to see how many SX-48 header boards can fit into 100 square centimeters. Clearly they won't be anywhere as nice or as professional as your new P8XBlade2 but they may at least allow me to use SX chips once again for those simple embedded control tasks that come along every day.
User Name,
Thanks for your kind comments. I am very pleased that you like my little board.
I built it for the 1 square inch hackaday contest and then read the entry requirements and found that not only did it need to be 1 sq in or less (that's why the board is 0.78x1.28" and not 0.8x1.3") and then found the extra requirement of fitting in 1" x 1" square
FYI the connections are still on a 0.1" pitch - I just trimmed the outer board edges.
@Cluso99, Will your P8XBlade2 board always be available? I would like to buy at least two, but it will have to wait till, I can climb out of the Christmas money pit I fell into. >:(
MikeDYur,
Yes. I have plenty of pcbs and can always have more made.
I still sell RamBlade and I made those pcbs in 2009. I don't carry the CpuBlade any more but I can always have pcbs made by oshpark if needed.
MikeDYur,
Yes. I have plenty of pcbs and can always have more made.
I still sell RamBlade and I made those pcbs in 2009. I don't carry the CpuBlade any more but I can always have pcbs made by oshpark if needed.
Cool. That was going to be my question. I think I might just standardise on this board.
I have a couple of boards based on my P8XBlade2 design. The P8XBlade2 layout sits near the centre of a larger pcb which has other things on it.
I am just tweeking the prototype board layout which is 2"x2". It just a P8XBlade2 with some prototyping area. Hope to get if off for production later today.
And then I have to complete the next 2"x2" that it's featured on.. Has TV, VGA, Kbd, Mouse, 2 channel audio out, 2 channels of Sigma-Delta (prop) ADC, a couple of uncommitted LEDs, a USB direct connection with auto-config pullups/pulldowns, and of course the P8XBlade2 (with microSD) in the centre. It's almost done. Just a few tweeks left so hope to get it off sometime next week.
Just tried hooking up my board. Should I be able to identify the Propeller chip if I just hook up GND, 5V, SI, SO, and reset to a USB2serial adapter? Or do I have to do something to enable reset?
What should I expect to see on SI/SO if I just connect a terminal program? Can I do anything without a PropOS SD card inserted?
Just tried hooking up my board. Should I be able to identify the Propeller chip if I just hook up GND, 5V, SI, SO, and reset to a USB2serial adapter? Or do I have to do something to enable reset?
What should I expect to see on SI/SO if I just connect a terminal program? Can I do anything without a PropOS SD card inserted?
Thanks,
David
Well, I answered part of my question. If I just hook up a serial terminal program I get this:
*** Cluso's Propeller Operating System v0.84 ***
------------------------------------------------
(see 'VER' for acknowledgements)
Locks used: --------
SD Driver Cog = 2
Hardware: Cluso's P8XBlade2
ClockFreq 096000000Hz, ClockMode $E, Cog 0
SD card on pins 12,13,14,15
Serial on pins 30,31, Mode 00, Baud 00115200, Cog 1
Screen size: 080 x 040
<LF> is OFF
Resident Cogs : 1 2 This Cog: 0
Cogs available: 3 4 5 6 7 (=5)
Booting from SD card...
t) Error on file (SD card failure) - 01:Disk IO Error
!!!!!!!!!!!!
Thanks guys, and thanks for posting what happens David.
There are two sets of links on the P8XBade2 that you should be aware of..
WE
This two pads need to be shorted to program the EEPROM. PropOS has a "PROGRAM <sourcefile> WL/WU" to program the EEPROM. You can also download to eeprom. Both require two WE pads to be shorted - you can put a solder blob on this if you wish, or buy a 0.050" pair of pins and a 0.050" shunt (both expensive) and solder - be careful as the pins will only go thru to the other side of the pcb but there is the eeprom on the other side (a consequence of tiny boards!). BTW I program your boards using a piece of wire to short (its a little better than this but you get the idea - I just hold it on by hand and do a download to eeprom.
QE - reset circuit
On the P8XBlade2, there is a 3 pad set of links. The centre is the common. The QE marked pair (centre to edge of pcb) when shorted use the onboard transistor reset circuit (ie non PropPlug usb-serial boards). When the other pair (centre to inner pcb) are shorted, the reset circuit bypasses the transistor reset (ie for PropPlugs with inbuilt transistor reset circuits). When all 3 pads are open, off-board reset from the *R pad close to SO is isolated, but the *R pad beside the centre pad remains connected to the props reset line (you can see it is joined to the centre of the 3 pads). You can use this *R pad and ground to install a reset switch.
David,
You asked a question recently that made me think. I remembered that on my RamBlade I use a basic booter in ROM that looks for a BOOTPROP.BIN file (or AUTOEXEC,BAT) on the SD card.
But on PropOS I actually program & run the _OS.CMD (_OS.binary) from EEPROM. I do need to change this as some updates will require EEPROM changes and this I was trying to avoid like I do on the RamBlade.
I ordered a couple because they are neat little boards but I want to make sure I understand a couple of things first.
1.) In order to use standard tools that program the EEPROM I will need to solder-blob the WE jumpers together on the top of the board. Once I have programmed the EEPROM I can't get PropOS back onto the board. Correct?
2.) I also need to jumper R to the directly connected RST side so the PropPlug can reset the Prop to begin the download?
3.) Can I safely supply 3.3V directly while leaving 5V unconnected?
I ordered a couple because they are neat little boards but I want to make sure I understand a couple of things first.
1.) In order to use standard tools that program the EEPROM I will need to solder-blob the WE jumpers together on the top of the board. Once I have programmed the EEPROM I can't get PropOS back onto the board. Correct?
Yes, either solder-blob or put a fine wirebetween the two WE holes (the wire will not go totally thru the board because of the eeprom underneath. The blob method is probably the easiest although you can use a component wire offcut and solder in place.
The _OS.CMD file can be re-programmed into the eeprom to get PropOS back.
2.) I also need to jumper R to the directly connected RST side so the PropPlug can reset the Prop to begin the download?
Yes. This is the 3 pin jumpers labelled QE (near P17). You need to link/solder-blob the middle pin to the pin towards the centre of the board (ie not the QE marked pair which enables the transistor reset circuit since this circuit is on the PropPlug).
3.) Can I safely supply 3.3V directly while leaving 5V unconnected?
It is preferable to supply 5V and use the regulator. Some regulators cannot handle being supplied power on the output (3V3) side, so it is generally a bad idea.
These days there are a lot of 5V supplies for phone chargers as well as using 5V from USB.
Having said all this, if you link 5V to 3V3on the board and then supply 3V3 everything should be fine.
Thanks for the clarifications. These look like an easy way to drop a Prop onto a board design. Looking closer at the pin layout the 3.3V question is moot anyway. The position of the GND pin means I will have to put female headers on it to jumper in power anyway. Looking forward to playing with these.
Rosco, sorry I am away house sitting until Sunday evening and don't have a board or pcb layout with me. The rip 40 pin header is across the top. Some of the more useful rip pins such as txt and red and a rew I/o have tracks to the visa just below the header IIRC. You will also need to link the Gnd pin(s) which I also believe are tracked to via(s). Depending on the power source, you might want to connect the 5V lines too.
Otherwise, you can just wait till I get home to post the precise details.
The P8XBlade2 has made it onto my P2 development board initially as a "boot assistant" but in parallel with all the other relevant I/O to maybe take over in the meantime as I am not confident about using the BemicroCV-A9 FPGA board for a unit that needs to be installed on-site for reliable 24/7 operation. I used the P8X mainly because it had plenty of I/O unlike my little P8 module which were designed mainly for the IoT5500. I am running an IoT5500, twin SD, quad RS485 using my ping-pong prototcol and a few other devices and modules.
Here's a shot of the P2 board with the P8X installed (The IoT5500 and some other modules were vacated for testing).
Nice Peter.
I wonder if you could fit your parts on my other version that has a prototyping section on it?
See page 1 a few posts down for a pic. It also has an Arduino footprint header (unconnected) and Raspberry Pi (unconnected) at the top. Also has footprint for microUSB broken out which needs the middle of the Raspberry Pi section cut out. I have a few of these pcbs as I had 10 made. Note the microSD is on P8-11 and not P12-15 as on the P8XBlade2.
_BOOT_OS v1.11: P8X2, SD mount FAT32 "V110_OS ", boot _BOOT_P1.BIN, boot _OS.CMD
*** Cluso's Propeller Operating System v1.13?***
------------------------------------------------
(see 'VER' for acknowledgements)
Hardware: Cluso's P8XBlade2
ClockFreq 096000000Hz, ClockMode $6E, Cog 0
Serial on pins 30,31, Mode 00, Baud 00115200, Cog 1
Screen size: 080 x 040
<LF> is OFF
SD card on pins 12,13,14,15
SD Driver Cog = 2
Resident Cogs : 1 2 This Cog: 0
Cogs available: 3 4 5 6 7 (=5)
Booting from SD card...
SD:>help
*** Cluso's Propeller SD card Operating System v1.13 *** (26 July 2016)
-------------------------------------------------------------------------------
clear ' Clear screen
cmd --- ' Internal use (command interpreter)
copy <source_file> <destination_file> ' Copy a file
del <file> ' Delete a file
diff <file1> <file2> ' Display file differences
dir [mask] ' Display directory of files
dircpm <cpm_disk> ' Display directory of files on CPM
dnload ' Download code Ctl-F10/F11 w/o reset
dumpfil <file> ' Dump xxx file in hex+ascii
dumphub <addr> <bytes> ' Dump hub memory addr(hex) bytes(hex)
dumpsob <file> ' Dump SOB file (compiler file)
dumptok <file> ' Dump TOK file (compiler file)
echo <text> ' Echo the line of text
eeprom <file> [{-WL}{-WU}{-RL}{-RU}] ' EEPROM Read/Write Lower/Upper 32KB
free ' Display FAT16/32 used/free space
getcpm <cpm_disk> <cpm_file> <fat_file> -T/B ' Get (copy) CPM file to FAT16/32
getfat <fat_file> ' Get (copy) FAT16/32 file to PC
help ' Display help info
lf ' Toggles LF on/off
ls [mask] [A] ' Display directory of files
mapcpm <cpm_disk> [<cpm_file> [-d]] ' Maps info about the CPM filesystem
os --- ' PropOS binary file (runs PropOS)
putcpm <fat_file> <cpm_disk> <cpm_file> ' Put (copy) FAT16/32 file to CPM
putfat <fat_file> ' Put (copy) FAT16/32 file from PC
reboot ' Reboot the Propeller Chip
ren <source_file> <destination_file> ' Rename a file
run <file> ' Run a ".BIN" file (kills PropOS)
testsd ' Tests the SD card (writes to SD)
type <file> [-Hn] ' Display the contents of a file
used ' Display FAT16/32 used/free space
ver ' Display info about PropOS
-------------------------------------------------------------------------------
*** Compiler (spin/pasm) in 3 parts...
lex <file> [-Vn] ' Compiles xxx.spn to xxx.tok
codegen <file> [-Vn] ' Compiles xxx.spn/tok to xxx.sob
link <file> [-Vn] ' Compiles xxx.spn/tok/sob to xxx.bin
-------------------------------------------------------------------------------
_OS .CMD ' Boots the OS
BOOTxxxx.EEP ' May be programmed into EEPROM to boot PropOS (v1.10)
' - runs SD program "PROP_P1.BIN" else "_OS.CMD"
xxxx = board/xtal/sdpin specific (refer to forum/website)
-------------------------------------------------------------------------------
To RUN any Propeller Binary (replaces the OS completely)...
SD:>RUN z3_174fx ' Runs ZiCog RamBlade3 V174 binary
^^^^^^^^ this binary requires the RamBlade3 hardware
A:>HALT ' Reboots the prop (from CPM prompt)
-------------------------------------------------------------------------------
SD:>
Very cool! I had seen your P8XBlade2 listed with the "LED POV Globe with Prop" project from Tharkun although it looks like they used a CpuBlade for the project.
Do somebody have a component library for use in diptrace or eaglecad for this beauty P8XBlade2 ?
I am waiting for some tryouts P8XBlade2 from post, but wants to draw my pcb interfaces already
I haven't posted the pcb files but they are not in dip trace format.
I am guessing you want to make an expansion pcb and not a P8XBlade2? If so, the large holes are all on 0.1" grid and the pcb is just under another 0.05" beyond the pad centres. Does this help?
You can use any of...
1. Solder a 6-pin 0.1" pitch socket (remove/cut pin 5) on the P8XBlade2, and plug in the CP2102 board when required
2. Solder a 6-pin 0.1" pin header (remove/cut pin 5) on the P8XBlade2, and connect the CP2102 by female/female jumper wires
3. Solder the CP2102 board pins directly to the P8XBlade2
NOTE:
When using the PropPlug, you need to link the "transistor bypass link" which joins the opposite end to the centre pin of the 3-pin QE links. Otherwise, the RESET pin is disconnected from the Propeller chip. (see circuit diagram on page 1 of this thread).
Comments
That is exactly what I have been doing
Haven't got it working yet though
As for a possible SX board, atm I'm sorely tempted to make my own (using dirtyboards.com). I'd like to see how many SX-48 header boards can fit into 100 square centimeters. Clearly they won't be anywhere as nice or as professional as your new P8XBlade2 but they may at least allow me to use SX chips once again for those simple embedded control tasks that come along every day.
Thanks for your kind comments. I am very pleased that you like my little board.
I built it for the 1 square inch hackaday contest and then read the entry requirements and found that not only did it need to be 1 sq in or less (that's why the board is 0.78x1.28" and not 0.8x1.3") and then found the extra requirement of fitting in 1" x 1" square
FYI the connections are still on a 0.1" pitch - I just trimmed the outer board edges.
_mike
Yes. I have plenty of pcbs and can always have more made.
I still sell RamBlade and I made those pcbs in 2009. I don't carry the CpuBlade any more but I can always have pcbs made by oshpark if needed.
Cool. That was going to be my question. I think I might just standardise on this board.
I am just tweeking the prototype board layout which is 2"x2". It just a P8XBlade2 with some prototyping area. Hope to get if off for production later today.
And then I have to complete the next 2"x2" that it's featured on.. Has TV, VGA, Kbd, Mouse, 2 channel audio out, 2 channels of Sigma-Delta (prop) ADC, a couple of uncommitted LEDs, a USB direct connection with auto-config pullups/pulldowns, and of course the P8XBlade2 (with microSD) in the centre. It's almost done. Just a few tweeks left so hope to get it off sometime next week.
What should I expect to see on SI/SO if I just connect a terminal program? Can I do anything without a PropOS SD card inserted?
Thanks,
David
There are two sets of links on the P8XBade2 that you should be aware of..
WE
This two pads need to be shorted to program the EEPROM. PropOS has a "PROGRAM <sourcefile> WL/WU" to program the EEPROM. You can also download to eeprom. Both require two WE pads to be shorted - you can put a solder blob on this if you wish, or buy a 0.050" pair of pins and a 0.050" shunt (both expensive) and solder - be careful as the pins will only go thru to the other side of the pcb but there is the eeprom on the other side (a consequence of tiny boards!). BTW I program your boards using a piece of wire to short (its a little better than this but you get the idea - I just hold it on by hand and do a download to eeprom.
QE - reset circuit
On the P8XBlade2, there is a 3 pad set of links. The centre is the common. The QE marked pair (centre to edge of pcb) when shorted use the onboard transistor reset circuit (ie non PropPlug usb-serial boards). When the other pair (centre to inner pcb) are shorted, the reset circuit bypasses the transistor reset (ie for PropPlugs with inbuilt transistor reset circuits). When all 3 pads are open, off-board reset from the *R pad close to SO is isolated, but the *R pad beside the centre pad remains connected to the props reset line (you can see it is joined to the centre of the 3 pads). You can use this *R pad and ground to install a reset switch.
David,
You asked a question recently that made me think. I remembered that on my RamBlade I use a basic booter in ROM that looks for a BOOTPROP.BIN file (or AUTOEXEC,BAT) on the SD card.
But on PropOS I actually program & run the _OS.CMD (_OS.binary) from EEPROM. I do need to change this as some updates will require EEPROM changes and this I was trying to avoid like I do on the RamBlade.
1.) In order to use standard tools that program the EEPROM I will need to solder-blob the WE jumpers together on the top of the board. Once I have programmed the EEPROM I can't get PropOS back onto the board. Correct?
2.) I also need to jumper R to the directly connected RST side so the PropPlug can reset the Prop to begin the download?
3.) Can I safely supply 3.3V directly while leaving 5V unconnected?
The _OS.CMD file can be re-programmed into the eeprom to get PropOS back. Yes. This is the 3 pin jumpers labelled QE (near P17). You need to link/solder-blob the middle pin to the pin towards the centre of the board (ie not the QE marked pair which enables the transistor reset circuit since this circuit is on the PropPlug). It is preferable to supply 5V and use the regulator. Some regulators cannot handle being supplied power on the output (3V3) side, so it is generally a bad idea.
These days there are a lot of 5V supplies for phone chargers as well as using 5V from USB.
Having said all this, if you link 5V to 3V3on the board and then supply 3V3 everything should be fine.
see forums.parallax.com/discussion/comment/1367946/#Comment_1367946
@Cluso99: do you have a schematic for the CpuBlade7 as well (wondering how the Raspberry pi interface is connected
Otherwise, you can just wait till I get home to post the precise details.
https://forums.parallax.com/discussion/comment/1389683/#Comment_1389683
Here's a shot of the P2 board with the P8X installed (The IoT5500 and some other modules were vacated for testing).
I wonder if you could fit your parts on my other version that has a prototyping section on it?
See page 1 a few posts down for a pic. It also has an Arduino footprint header (unconnected) and Raspberry Pi (unconnected) at the top. Also has footprint for microUSB broken out which needs the middle of the Raspberry Pi section cut out. I have a few of these pcbs as I had 10 made. Note the microSD is on P8-11 and not P12-15 as on the P8XBlade2.
BTW here is the latest OS V1.14 output...
Really nice work. Thanks for sharing.
Do somebody have a component library for use in diptrace or eaglecad for this beauty P8XBlade2 ?
I am waiting for some tryouts P8XBlade2 from post, but wants to draw my pcb interfaces already
Thanks
I am guessing you want to make an expansion pcb and not a P8XBlade2? If so, the large holes are all on 0.1" grid and the pcb is just under another 0.05" beyond the pad centres. Does this help?
Available for $1.25 here http://www.ebay.com/itm/6Pin-USB-2-0-to-TTL-UART-Module-Serial-Converter-CP2102-STC-Replace-Ft232-Module-/401092508083?hash=item5d62f9f9b3:g:2aQAAOSw0kNXhzR7
You can use any of...
1. Solder a 6-pin 0.1" pitch socket (remove/cut pin 5) on the P8XBlade2, and plug in the CP2102 board when required
2. Solder a 6-pin 0.1" pin header (remove/cut pin 5) on the P8XBlade2, and connect the CP2102 by female/female jumper wires
3. Solder the CP2102 board pins directly to the P8XBlade2
NOTE:
When using the PropPlug, you need to link the "transistor bypass link" which joins the opposite end to the centre pin of the 3-pin QE links. Otherwise, the RESET pin is disconnected from the Propeller chip. (see circuit diagram on page 1 of this thread).