Shop OBEX P1 Docs P2 Docs Learn Events
Propeller chip P8X32A-D40 without additional hardware. Where to start from? — Parallax Forums

Propeller chip P8X32A-D40 without additional hardware. Where to start from?

sv3orasv3ora Posts: 9
edited 2014-03-28 17:00 in Propeller 1
Hello,
This would have been probably asked before but I am a newcommer to the microcontrollers area.
I am waiting for a single 40-pin dip P8X32A-D40 to arrive soon. I do not have any development kit and I wish not to purchase one currently. The information on the website is a bit confusing for me so I would like to know some things.

1. Is there any way to program the chip (ICSP?) without using any development board or USB?
I am thinking like connecting the chip to an available COM port and some kind of homemade ICSP programmer for it. Any thoughts about a siotable programmer to build?

2. Since I have a C and C++ PC programming experience (not embedded) I would like to try c++ better.
Is simple IDE the appropriate suite to download to my computer?

3. In simple IDE I do not see a way to choose the appropriate COM port?

Thank you very much

Comments

  • jazzedjazzed Posts: 11,803
    edited 2014-03-27 11:41
    Hi. Welcome to the forum.
    sv3ora wrote: »
    1. Is there any way to program the chip (ICSP?) without using any development board or USB?
    I am thinking like connecting the chip to an available COM port and some kind of homemade ICSP programmer for it. Any thoughts about a siotable programmer to build?

    Propeller is programmed via serial (COM) ports. There is no ICSP. However, DTR is typically used to reset the board before sending data. Please look at this schematic. http://forums.parallax.com/attachment.php?attachmentid=41503&d=1146622912 (Can't find the more recent one on the parallax site).
    sv3ora wrote: »
    2. Since I have a C and C++ PC programming experience (not embedded) I would like to try c++ better.
    Is simple IDE the appropriate suite to download to my computer?

    Yes. Please avoid using std:: namespace otherwise your code will immediately be too big.
    sv3ora wrote: »
    3. In simple IDE I do not see a way to choose the appropriate COM port?

    Do you have COM1 or COM2 on your system? If not, you will need a PropPlug http://www.parallax.com/product/32201
    sv3ora wrote: »
    The information on the website is a bit confusing for me so I would like to know some things.

    What is confusing about it? The web people are always looking for ways to make it better.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-03-27 12:02
    The P8X32A does not have built-in flash or EEPROM program memory. Alothough you can load to and execute from internal RAM, you will need an external EEPROM chip (e.g. 24C256 or equiv.) for a persistent program store. Also, an external crystal is needed for accurate timing and/or maximum execution speed.

    -Phil
  • sv3orasv3ora Posts: 9
    edited 2014-03-27 12:11
    jazzed wrote: »
    Hi. Welcome to the forum.

    Thank you very much.
    jazzed wrote: »
    Propeller is programmed via serial (COM) ports. There is no ICSP. However, DTR is typically used to reset the board before sending data. Please look at this schematic. http://forums.parallax.com/attachment.php?attachmentid=41503&d=1146622912 (Can't find the more recent one on the parallax site).

    That is even better than I thought!
    jazzed wrote: »
    Do you have COM1 or COM2 on your system? If not, you will need a PropPlug http://www.parallax.com/product/32201

    Yes I do have COM1. I do not know why I have not seen it before, but now COM1 appears in the top right corner. Perfect!
    jazzed wrote: »
    What is confusing about it? The web people are always looking for ways to make it better.

    As a very beginner, I would expect a simple guide, explaining these things I have asked. It may be my mistake though, maybe I have not look for enough.
    Oh by the way, I hate interrupts. The way the propeller handles these operations (because it is multi-core) is just perfect to my taste, just monitor for inputs using a spare core.

    I really feel that it is worth it to begin learning embedded programming on this microcontroller, I am going to take my chances on it to see how it goes.
  • sv3orasv3ora Posts: 9
    edited 2014-03-27 12:14
    The P8X32A does not have built-in flash or EEPROM program memory. Alothough you can load to and execute from internal RAM, you will need an external EEPROM chip (e.g. 24C256 or equiv.) for a persistent program store. Also, an external crystal is needed for accurate timing and/or maximum execution speed.

    -Phil

    You mean that if I load the program to the micro, it can run as long as the micro power is not off. If I switch off the power, then I need to load the program again from the PC or alternativelly use an external eeprom?
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-03-27 12:17
    sv3ora wrote: »
    As a very beginner, I would expect a simple guide, explaining these things I have asked. It may be my mistake though, maybe I have not look for enough.
    Oh by the way, I hate interrupts. The way the propeller handles these operations (because it is multi-core) is just perfect to my taste, just monitor for inputs using a spare core.

    A lot of beginners start with the Propeller Education Kit (PEK) rather than just a bare 40 pin chip. If you follow that link, you will find you can download the documentation for the Propeller Education Kit and with it you can build up your 40 pin dip to do whatever you want to try.
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-03-27 12:17
    sv3ora wrote: »
    You mean that if I load the program to the micro, it can run as long as the micro power is not off. If I switch off the power, then I need to load the program again from the PC or alternativelly use an external eeprom?

    Yes, exactly! :smile:
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-03-27 12:18
    sv3ora wrote:
    You mean that if I load the program to the micro, it can run as long as the micro power is not off. If I switch off the power, then I need to load the program again from the PC or alternativelly use an external eeprom?
    Yes, exactly.

    -Phil
  • sv3orasv3ora Posts: 9
    edited 2014-03-27 13:09
    Thank you very much for the kickstart!
    I will read the documents.
    Best regards
  • Heater.Heater. Posts: 21,230
    edited 2014-03-27 18:30
    I started out with nothing but a DIP Propeller chip. The magical thing about this device is that you don't need a dev board. You don't need the EEPROM, you don't even need a crystal.

    All you need is power, and some decoupling capacitors and a serial connection to your PC. I used a transistor circuit to do that but I suggest a Prop Plug is a lot simpler.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2014-03-28 01:29
    Yes, you can get the Propeller to run and load without the EEPROM or a crystal, but it won't be long before you might see the wisdom in having both these items.

    A. As Phil mentioned, the EEPROM provides persistent storage for programs... so you don't have to load each and every time from the PC.

    B. The crystal (@5Mhz) can allow you to not only go faster, it provides more precise timing than the internal oscillator.

    BTW, you can build your own RS232 interface, if you want to do so.
  • Heater.Heater. Posts: 21,230
    edited 2014-03-28 01:57
    Quite so Loopy.

    It's quite fun and instructive I think. Start with almost nothing. Just the chip. Bring it up, check it out with some simple programs, flash some LEDs etc. Then add the crystal and try out some timing critical things, like servo driving. Then add the EEPROM and get a free running device for your little robot or whatever. Or add those resistors for some video action. Or tack on an SD card. And so on.

    Perhaps Parallax should have a little starter kit and tutorial manual that progresses along those lines.
  • sv3orasv3ora Posts: 9
    edited 2014-03-28 16:24
    Talking about the EEPROM, what is the maximum EEPROM size?
    Any DIP-package chip to propose for this maximum size?
  • jazzedjazzed Posts: 11,803
    edited 2014-03-28 16:45
    sv3ora wrote: »
    Talking about the EEPROM, what is the maximum EEPROM size?
    Any DIP-package chip to propose for this maximum size?
    Since you're interested in C/C++, the maximum useful size is whatever you want it to be, but 512KBytes is maximum practical.

    Use up to 4 Microchip 24LC1026 128KByte chips or equivalent (don't use 24LC1025 as it has strange addressing characteristics if i recall correctly).

    The minimum size is 32KBytes, but that doesn't leave any room for non-volatile parameter storage.
  • sv3orasv3ora Posts: 9
    edited 2014-03-28 17:00
    jazzed wrote: »
    Since you're interested in C/C++, the maximum useful size is whatever you want it to be, but 512KBytes is maximum practical.
    Isn't there a limitation in the hardware? How can increase the max memory in software when the hardware is not capable of providing it, I am sure I have misanderstood your answer.
    jazzed wrote: »
    Use up to 4 Microchip 24LC1026 128KByte chips or equivalent (don't use 24LC1025 as it has strange addressing characteristics if i recall correctly).
    Ok I will use 24LC1026 or maybe the faster 24FC1026 (I wonder if there is a single chip for 512KBytes), but how should I wire all 4 of them to get a maximum of 512KBytes? What I mean is that can they be seen by the chip as a "single" memory block or I need to change the I2C address to access each of them?

    Now I may get a little bit out of topic, but it is still a novice beginner question.
Sign In or Register to comment.