Shop OBEX P1 Docs P2 Docs Learn Events
Why I (really) like Propellers! — Parallax Forums

Why I (really) like Propellers!

mindrobotsmindrobots Posts: 6,506
edited 2014-07-07 13:31 in Propeller 1
Next week, I'm attending a webinar about ARM-Cortex programming (we must try to embrace all technologies!!). The webinar's target board is an STM32F3-Discovery. In preparation, I've ordered both and F3 and F4 board.

To get a jump on things, I thought I'd load some of the development tools so I'd have things in place on my Laptop.

Last night, I Googled, watched some tutorials and read a bit more and found a path to follow. A couple hours ago, I started downloading and installing. So far, I'm about 1GB (or more) into downloads read through a lot of Application Notes. I do have a new GCC installed, an IDE is downloading and most mystifying of all is I just found the spreadsheet from STM that help you configure the clock and build a system_stm32f4xx.c file to use in the project...because that seems to be one of the more difficult parts of getting started.

Hopefully, in a few more hours, I will be able to blink and LED from a C program (What was I thinking!!!) At this rate, if I can blink an LED before Sunday, I'll consider it a success!!

I've yet to have fun yet with my STM32F4. (as a hobbyist, this is all about the fun, right??)

The bright side of all this is that the F4 Discovery is a killer $16 platform for Espruino!! :thumb:

In the Propeller Universe, at this point, I could have several different Propeller IDEs downloaded installed and had been running demos and such for several hours (even programming in C or Forth!) ...and I would have been well down the road to having fun!

So, that's one reason I really, really like Propellers!

PS - It took me less time to to download and setup Quartus, load a P2 emulation and start programming an emulated P2 with PNut! :lol: Those were the good old days!!!

Comments

  • jazzedjazzed Posts: 11,803
    edited 2014-07-05 12:22
    Gee.

    I used mbed to get started in 5 minutes with Nucleo. Need a network connection for that though.

    I haven't tried any of the tools you've loaded. You probably need them though ....

    Since you're investing all this time, maybe you can take notes, and write a best seller!
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-07-05 12:34
    I've used mbed before - yes, it is the 5 minute solution.

    All the links I find for the webinar end up pointing to STM tool chains. It will probably be a waste of time but I'll still have my Discovery board!! (STM32 Forth, anybody??)

    If I invest much more time, I may just go out and cut a branch off one of our ash trees and turn it into a nice baseball bat..........
  • jazzedjazzed Posts: 11,803
    edited 2014-07-05 12:47
    LOL

    This isn't the first time I've heard of STM32 tool chain horror stories.

    I have an STM32F4 Discovery LCD board, but haven't even bothered opening the package yet. Good thing it was free ;-)
  • Heater.Heater. Posts: 21,230
    edited 2014-07-05 13:06
    mindrobots,

    Strangely enough I have been tinkering with two Espruino boards and an STM32F4 Discovery today. If I can admit that here.

    They are great. For the Espruino's just install the Esruino Chrome App, flash the latest Epruino code with it, and start writing JavaScript. In no time at all I have two Espruino's communicating via Nordic Semiconductor radios and a GPS module working on one of them. SD card also "just works". A lot of fun already.

    The Discovery board is a bit more tricky on my Debian box:

    1) Download and install a GCC ARM compiler. There are plenty of ready compiled compilers to use around the net.
    2) Download st-link flasher software and build it.
    3) Download the Espruino code, compile with the above gcc and flash it with the st-link.

    Then one can continue with the Espruino IDE Chrome app. It's took about two hours to get to "Hello World". Another hour of tinkering had the accelerometers on the Discovery board driving the LEDS.

    I'm sure Windows users would have an easier time of it.

    All in all not any harder than downloading and building propgcc and SimpleIDE from sources.

    I have no idea why you are getting into gigabytes of dowloads.

    In terms of simplicity of getting to that first flashing LED the Espruino and Propeller Tool are neck and neck. The Espruino has a bit of an edge it that it is a cross platform solution.

    Next up is, get an Espruino talking to a Propeller:) I'm thinking I need a JavaScript version of a Propeller loader...
  • User NameUser Name Posts: 1,451
    edited 2014-07-05 14:09
    Hey Rick,

    This probably won't help you at work because it sounds like they have a specific agenda for you...but the STM Discovery board is a great platform for Michael Koch's FORTH. I think it's called Mecrisp. It is a resident Forth. All you have to do is load it to FLASH and you're in business. Now your development system is just the Discovery board and a terminal emulator like Tera Term or Minicom.

    Mecrisp and FISH FORTH (by Clyde Philips) are so happy-making that I'm equipping a Propeller with everything necessary to be the terminal, editor, and storage device, and then ditching even the laptop running Tera Term.

    What a relief to get away from that Brobdingnagian IDE!
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-07-05 14:49
    @Heater. Work? This is all for fun(:innocent:) My day job has nothing to do with anything electronic or even remotely interesting.

    Espruino isn't the issue - I had it up and running on my Olimexuino boards once I found those a month or so ago. It's sweet. It running on the STM32F4 is just a bonus (or the only good thing to come out of this project). The Espruino IDE Chrome app is super! I have it on my Chromebook (and other places of course) and can just sit in my comfy chair and while away the hours JavaScripting.

    There are even prebuilt binaries for the STM32F4 on GOrdon's site, I believe. (Of course, now that I have GCC ARM, I can build it like the cool kids!) -

    The download craziness is the STM tools plus GCC ARM plus CooCox IDE....I think it's done, I got bored and wandered away from that computer for a while.

    @User Name: I remember you mentioning the Forths, I'm sure I'll go there. Thanks!

    Oldbitcollector (Jeff @ PropellerPowered) is building the Propeller terminal platform for your stand alone dreams.

    We've been playing with it using a microMite (PIC with MMBASIC) as the target system but one night Jeff and I hooked it up to a QuickStart running PropForth - we're working toward it being a general purpose terminal/editor/storage system for all these cool serial attached micros (Espruino, Propeller Forths, microMites, etc.)

    The goal is to use the Prop for the terminal and storage, the MicroMite for the editor (it has a nice built in editor) and then support multiple serial connections to various target systems that you can simply stream files to from the SD card. I've just started playing with the multi-port serial to replace the current serial driver Jeff is using.

    Oh yeah, it also allows you to edit and compile Spin (using Sphinx) on the Propeller - a nice little stand-alone Propeller development system.

    Jeff has a Parallax Forum thread here talking about the project.


    Just more good, clean fun to keep us off the streets at night.
  • User NameUser Name Posts: 1,451
    edited 2014-07-05 15:12
    mindrobots wrote: »
    Oldbitcollector (Jeff @ PropellerPowered) is building the Propeller terminal platform for your stand alone dreams.

    The goal is to use the Prop for the terminal and storage, the MicroMite for the editor (it has a nice built in editor) and then support multiple serial connections to various target systems that you can simply stream files to from the SD card. I've just started playing with the multi-port serial to replace the current serial driver Jeff is using.

    Outstanding! Since my project was just a means to and end, I'm delighted to hear that most of this is already done. The idea of using the MicroMite editor is brilliant...what a savings in time, hassle, and Prop memory! Now to familiarize myself with the details...
    Just more good, clean fun to keep us off the streets at night.

    LOL :)
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-07-07 09:04
    Yay!!! I've blinked LEDs on my STM32F4 Discovery board!!

    I followed this tutorial to install CooCox IDE and set it up wot work with GCC for ARM.

    I now have a 1MB plus project folder called Blinker with with 14 subfolders and 37 various files in it. But by golly, I can blink the 4 LEDs!!!!


    This is the actual C code to blink the LEDs
    #include <stdio.h>
    #include "stm32f4xx_rcc.h"
    #include "stm32f4xx_gpio.h"
    
    GPIO_InitTypeDef GPIO_InitStruct;
    
    int main(void) {
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
    
        GPIO_InitStruct.GPIO_Pin = GPIO_Pin_15 | GPIO_Pin_14 | GPIO_Pin_13
                | GPIO_Pin_12;
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz;
        GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
        GPIO_Init(GPIOD, &GPIO_InitStruct);
    
        printf("Hello World!\r\n");
    
        while (1) {
            static int count = 0;
            static int i;
    
            for (i = 0; i < 10000000; ++i)
                ;
            GPIO_ToggleBits(GPIOD, GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15);
    
            printf("%d\r\n", ++count);
    
        }
    }
    
    

    The rest is all the required fluff to make it work and let it live as a project inside CooCox IDE (an Eclipse clone).

    We'll see what the Webinar uses as a toolchain!!
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2014-07-07 10:27
    I strongly suspect the microcontrller chip makers created this whole tool chain maze as a Minoan-like labrynith that sucks in customers that feel they can never get out. Once you have spent years in learning what is where, you dread the idea of looking at someone else's product.

    Both Microchip and AVR have a very good job at making their tool chain as opaque as a muddy quagmire on a moonless night.

    On the other hand, Parallax's much disdained 'bit-banging' is empowering and allows you to actually make a chip that lacks particular features in silicon adapt to fit the project.

    Thus, I LUV my Propeller... somewhat of a Swiss Army knife of microcontrollers. I am very excited that the Propeller 2 is finally nearing arrival.

    OMG -- I didn't reallize I got to 10,000... suddenly I see **VIP** (blush). Parallax really should have changed the requirement to 20,000 before I got this.
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-07-07 10:42
    Congrats, **VIP** Loopy!!

    I'm not going to say anything (directly) negative about my ARM experience until I've experienced it for a while. Time will tell. The siren song of $10-$20 big horsepower development boards is quite appealing!
  • Heater.Heater. Posts: 21,230
    edited 2014-07-07 10:51
    Loopy,

    Well done!

    I must have missed 20 or so of your posts. I was all set to wish you congrats on the big 10K.

    Anyway, I think there is something in what you say but not quite what you think.

    Chip makers like ARM, AVR, PIC, whoever, make chips. That is their business. That is their expertise.

    Software houses make compilers, IDEs. debuggers etc.

    For a long time now it has been very convenient for the chip makers to make microprocessors/microcontrollers and leave all the software support to the software houses.

    Same like you buy your PC or laptop from DELL but you get you OS from Microsoft.

    It has been a cozy relationship which spawns dependencies on Windows to run the IDE's, because the software vendors are to lazy to make cross platform tools. It results in needing programming hardware that only has drivers for Windows etc etc etc.

    Slowly, slowly, the ice is melting here. ATMEL loves the simplicity of the Arduino environment because it moves more chips. Even Intel is embracing Linux. And so on.

    What this thread is about is a lot to do with "I love the supper simple development environment I get out of the box with Parallax" vs "programming the F4 is hard" rather than the qualities of the silicon itself.

    The fact that we have super simple Javascript and Python programming systems for these devices shows that it is not the hardware that is the problem.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2014-07-07 11:18
    Well, it seems that 'Chip Gracey's Vision' of what a microcontroller should be is somewhat like an empty slate that any artist can work upon.

    As for the rest, they have 'Special Register Hell' were each new variation of features in silicon that wreak havoc by making documentaiton of every minor change in chip into a 100 page tome to be poured over by the poor end-user.

    The Tool-Chain Mess is just an off-shoot of the architectural nightmare of demanding much of what can be done easily and flexably in software MUST instead be done in hardware.

    +++++++++++++
    There are an awful lot of poor souls out there that look at the Propeller Manual, find no discussion of Special Registers for USART, I2C, ADC, DAC and freak out. They feel the documentation is incomplete.

    The reality is their education is incomplete, not the documentation.

    I can manage programing in "Special Register Hell", but I find no joy there. I feel like a lowly postman sorting mail by zipcode.
  • Heater.Heater. Posts: 21,230
    edited 2014-07-07 11:33
    Loopy,


    I do totally love the "empty slate that any artist can work upon." idea. However...
    There are an awful lot of poor souls out there that look at the Propeller Manual, find no discussion of Special Registers for USART, I2C, ADC, DAC and freak out. They feel the documentation is incomplete.
    Quite so. Those "poor souls" who need USART, SPI, I2C, ADC, DAC etc to get their work done are very happy to get it all in a 1 dollar chip that runs at 100Mhz or so. Plus a huge pile of RAM and FLASH as a bonus. One cannot demean them for making the logical choice.


    In that world the Propeller can only shine when something different is required.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2014-07-07 13:31
    The Propeller does shine brightly. And if the world were really logically we would have world peace now.

    Parallax just cannot compete cost wise with companies that are heavily capitalized by public offerings. It is a small business enterprise.

    And while ARM and AVR may indeed be selling vast quantities to the cellular phone and touch pad markets, the Propeller excels when someone really wants to learn.

    Not everything that is cheaper is more wonderful. Just visit a Wallmart to confirm that, or a Radio Shack. You can play around an awful lot, but you can't build a real bridge with just Legos, nor an airplane that flies. For those you need different kinds of materials and need to fully learn Statics and Strengths of Materials. A lot of people are enjoying their flights of fantasy with the Arduino, but they wait for someone to write a library before they feel they can tackle anything new.

    I tend to buy where I can recognize quality. In the case of the Propeller, it is so much more than just the chip itself. The value is in the whole package, not just a bare chip to bare chip cost analysis.
Sign In or Register to comment.