Shop OBEX P1 Docs P2 Docs Learn Events
Kicking the tire - Propeller C... - Page 2 — Parallax Forums

Kicking the tire - Propeller C...

24

Comments

  • Joel RosenzweigJoel Rosenzweig Posts: 52
    edited 2007-03-05 17:15
    Richard,

    This is great news that you're going to tackle this project.· Your target price is right on.· The $200 price tag is completely reasonable.·

    I started a thread months ago here: http://forums.parallax.com/showthread.php?p=603082·inquiring about a Prop C compiler.· Some of the feedback was far from positive.· I'm glad that you were able to see past this and decide to forge ahead on a commercial venture to create what some believe couldn't be done.··There is a large community of professional software engineers and hobbiests alike that will benefit from this tool, and that's only a good thing.

    Regarding all the libraries of code currently available in SPIN ... My expectation is that your C compiler would include a C - Run Time Library that replicates many of these capabilities (Serial communications, LCD support, I2C, EEPROM routines, floating point library, SD/MMC/SDIO, timer functions, etc).· It is the availability of these library routines that adapt the compiler to the Prop environment that make it truly useful in an embedded environment.· I hope that having a relatively full library is part of your plan.

    Best of luck with the project.· I think it will be mutually beneficial for you, Parallax, and the growing Prop developer community.

    Regards,
    Joel-
    ·
  • GavinGavin Posts: 134
    edited 2007-03-11 07:44
    I am very happy that Imagecraft is considering getting onboard, especially for the next version.
    Anyone who has used AVRs knows how good a micro can be when designed for C compilers.

    Most of my professional work is with embedded C micros, 8-32bits and good C compilers sure help.
    We will pay a speed penalty for the large memory model of the current chip but·gain speed in writing code using C, this is great for guys who live C, it allows faster product developement.

    Anyone doing professional products using the propellor chip would prefer C, er correction upper management would prefer C. Trying to learn Spin and prop assembly in spare time takes ages, I am only persisting because parallel processors are the future, well at least until Quantum CPUs show up for the hobbyist[noparse]:)[/noparse]

    Richard, subsumption code for the prop hmm? I have fond memories for the HC11.
    Mike's OS with Bill's LMM has interesting implications for prop RTOS, hope you can incorparate it.

    Regards Gavin

    ·
  • Nick MuellerNick Mueller Posts: 815
    edited 2007-04-09 08:12
    OK, here is my comment and my questions:

    I'd like to have a C-compiler, because I could use a block of code that would be too difficult to rewrite in SPIN. It is an interpreter for a special-purpose language. Lots of allocs and frees, recursive calls, callback-functions via pointers... You know how that looks like.

    To be able to use the C-compiler, I should include basic libraries (memory management, string-handling (simple), bsearch and qsort).
    How much code (size) can I expect to be able to handle?
    Could I mix ASM, SPIN and C? I'd like to keep SPIN, because I think it generates a much more compact code (save space) and fits the Propeller better than the all-purpose-C.

    WIll it be C99? What will be the limitations?

    The price is absolutely OK if it does what I need.

    Nick
  • ImageCraftImageCraft Posts: 348
    edited 2007-04-09 08:29
    Nick Mueller said...
    OK, here is my comment and my questions:

    I'd like to have a C-compiler, because I could use a block of code that would be too difficult to rewrite in SPIN. It is an interpreter for a special-purpose language. Lots of allocs and frees, recursive calls, callback-functions via pointers... You know how that looks like.

    To be able to use the C-compiler, I should include basic libraries (memory management, string-handling (simple), bsearch and qsort).
    How much code (size) can I expect to be able to handle?
    Could I mix ASM, SPIN and C? I'd like to keep SPIN, because I think it generates a much more compact code (save space) and fits the Propeller better than the all-purpose-C.

    WIll it be C99? What will be the limitations?

    The price is absolutely OK if it does what I need.

    Nick

    Our compilers are C86/C89 and the C preprocessor is C99 compliant. We have not delivered a bsearch or qsort but the other functions are there. I'd imagine you can also find bsearch/qsort from the BSD library. Since it uses the Large Programming Model, the size of the program is limited by the Hub RAM, not COG RAM.

    Hope this helps.
    // richard
  • mirrormirror Posts: 322
    edited 2007-04-09 10:44
    This sure would be an *interesting* compiler. Since the memory map isn't really 32K bytes, but 512 longs at a time. You do get the benefit of splitting it eight ways but . . . you could end up spending an awful lot of time trying to get code back and forth across the HUB. I think that this multi-threaded C is going to be harder to grasp - where else do you start a seperate thread (COG) just to draw a line? And yet it's inluded in the Parallax object repository.

    Although I've used many C compilers (on 68HC11, 68HC05, 8051, TMS320C25, LPC-ARM, PIC), I have to say that the concept of spin and Propeller assembly have blown my mind. Why constrain yourself to the familiar when the designers of the Propeller have given us a language pair of such power. One of the most conceptually fascinating bits of code is the PS2 mouse driver in the object repository - the guys at Parallax are encouraging us to write self-modifying code, and showing us how to do it! And no more interrupts!!!! I just can't believe our luck!

    I don't think that C is the quick fix to programming paradigms. I think the real answer to software development on the Propeller is the same (but different) as it has always been. *Think* about the problem - eventually the correct answer will reveal itself in splendour. eg: 1024x768 VGA generated by the ochestration of 4 cogs - WOW that's got to blow your mind.

    If you have to go with a C compiler, the guys at ImageCraft have lots of experience, but . . .

    Allow yourself to think parallel thoughts!
  • ImageCraftImageCraft Posts: 348
    edited 2007-04-09 10:51
    mirror said...
    This sure would be an *interesting* compiler. Since the memory map isn't really 32K bytes, but 512 longs at a time. You do get the benefit of splitting it eight ways but . . . you could end up spending an awful lot of time trying to get code back and forth across the HUB. I think that this multi-threaded C is going to be harder to grasp - where else do you start a seperate thread (COG) just to draw a line? And yet it's inluded in the Parallax object repository.

    Although I've used many C compilers (on 68HC11, 68HC05, 8051, TMS320C25, LPC-ARM, PIC), I have to say that the concept of spin and Propeller assembly have blown my mind. Why constrain yourself to the familiar when the designers of the Propeller have given us a language pair of such power. One of the most conceptually fascinating bits of code is the PS2 mouse driver in the object repository - the guys at Parallax are encouraging us to write self-modifying code, and showing us how to do it! And no more interrupts!!!! I just can't believe our luck!

    I don't think that C is the quick fix to programming paradigms. I think the real answer to software development on the Propeller is the same (but different) as it has always been. *Think* about the problem - eventually the correct answer will reveal itself in splendour. eg: 1024x768 VGA generated by the ochestration of 4 cogs - WOW that's got to blow your mind.

    If you have to go with a C compiler, the guys at ImageCraft have lots of experience, but . . .

    Allow yourself to think parallel thoughts!

    We have the full support of the Parallax staff smile.gif Also, please read the earlier posts about Large Programming Model, I think you may have some misunderstanding. Cut to the bottom - goal is 25-35% of native asm code, meaning it will probably be at least a factor of 10 faster than Spin code.
  • inserviinservi Posts: 113
    edited 2007-04-09 13:32
    Hello Richard,

    Plaese, made us quickly a good and fast compiler, because the slowness of the language SPIN is very penalizing for those which as me do not want to write programme out of assembler language

    dro.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    in medio virtus
  • JossJoss Posts: 32
    edited 2007-04-09 14:04
    I'm quite late to this thread, but I have a a couple of questions:

    Do you see engineering in pseudo-signaling between the cogs and the hub and cogs to enhance the parallelism?
    Will you provide fixed point math?

    I've been on a steep learning journey this past few months, and the Propeller is just a joy to use compared to the BS, Javelin, ARM, PIC and the other odd MPUs I've been researching. It's unique (other than the PS/3) in its design and allows for some interesting problem solutions, providing one can truly exploit the chip. I'm quite interested in how this thing evolves as it moves toward industrial grade.

    I am pleased to read that Chip is working on the next generation.

    Regards,

    Joss
  • inserviinservi Posts: 113
    edited 2007-04-20 17:26
    Hello Richard,

    I'm very happy to learn that ImageCraft ICCv7 for Propeller will be available by end of 2007.
    I'm ready to buy one as soon as you can sell the first version !
    I'm impatient to test it !

    dro.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    in medio virtus
  • Mike GreenMike Green Posts: 23,101
    edited 2007-04-21 02:54
    richard,
    Thanks a lot for committing to produce a Large Model Propeller C Compiler/Assembler/Linker/IDE. If you can keep the assembler pretty much compatible with the existing assembler in Spin, it should make porting existing code much easier. Most of the most difficult and important existing routines are primarily written in assembly like the floating point package, display, keyboard and serial drivers, etc.
  • telluriantellurian Posts: 52
    edited 2007-04-21 18:26
    Great news, a C compiler will really take advantage of the speed of the propeller, especially if we can place machine code into the cogs instead of running an interpreter. I look forward to the release!

    regards,
    Allen
  • Bill HenningBill Henning Posts: 6,445
    edited 2007-04-22 01:10
    The large memory model I came up with *does* run machine code; albeit fetched from hub memory. Richard is (wisely) being very conservative with his performance estimate; I expect he should be able to get at least 90% of "pure" code speed through proper usage of FCACHE and local variables.
    tellurian said...
    Great news, a C compiler will really take advantage of the speed of the propeller, especially if we can place machine code into the cogs instead of running an interpreter. I look forward to the release!

    regards,
    Allen
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com - a new blog about microcontrollers
  • Jim ColemanJim Coleman Posts: 52
    edited 2007-05-30 03:59
    Dear Richard

    I am waiting anxiously to purchase the new Propeller C when it is released. There is, however, one issue which should be covered now when there is plenty of time to address it.

    In the past, I purchased your (ImageCraft) microcontroller C tool for the HC11. Although the program worked fine and I had no problems, I felt the explanation of the software and it’s operation was barely sufficient. Please don’t react defensively; it was OK, but certainly not up to Parallax standards.

    Therefore, I am hoping that when the new Propeller C is released, there will also be available Parallax quality educational material to not only explain the operation of the entire new C tool but also numerous fundamental examples in the form of a tutorial or other documentation in the spirit of the “GREAT ANDY.” I would also agree that these extra items should have an additional charge because not everyone would desire or need them.

    Thank you for your consideration.

    Jim
  • ImageCraftImageCraft Posts: 348
    edited 2007-05-30 04:59
    Jim Coleman said...
    Dear Richard

    I am waiting anxiously to purchase the new Propeller C when it is released. There is, however, one issue which should be covered now when there is plenty of time to address it.

    In the past, I purchased your (ImageCraft) microcontroller C tool for the HC11. Although the program worked fine and I had no problems, I felt the explanation of the software and it’s operation was barely sufficient. Please don’t react defensively; it was OK, but certainly not up to Parallax standards.

    Therefore, I am hoping that when the new Propeller C is released, there will also be available Parallax quality educational material to not only explain the operation of the entire new C tool but also numerous fundamental examples in the form of a tutorial or other documentation in the spirit of the “GREAT ANDY.” I would also agree that these extra items should have an additional charge because not everyone would desire or need them.

    Thank you for your consideration.

    Jim

    First of all, you probably had V5 or earlier of ICC11. Check out our latest doc at our website. It comes asl HTML and printable PDF. It's much improved over the old ICC11 versions. Nevertheless, the main doc. is purposefully somewhat terse: it is not meant to be a tutorial in C (although I did put in a chapter called "C in 16 pages" that covers the basic) since lots C tutorial books exist and it is not meant to be a tutorial in embedded programming in general because, well, a number of such books also exist. We do change our products and documentation base on customers' feedback and I think the current one has the right mix.

    Two items of further interests: I have been talking to a big Properller supporter author since "Day One" and he is very keen in updating his Propeller tutorial book using the compiler for examples. Secondly, we are also going to release a complete educational kit with hardware, compiler, tutorial, examples etc. within the next 3-4 months. Currently the hardware is not based on the Propeller, but we expect to have different versions of the product using different hardware and certainly the Propeller is a strong candidate.
  • Jim ColemanJim Coleman Posts: 52
    edited 2007-05-30 10:58
    ImageCraft

    I have only one thing to say now:

    “Praise the Lord and pass the ammunition!”

    Jim
  • simonlsimonl Posts: 866
    edited 2007-05-30 11:20
    ImageCraft,

    Please please please base the educational kit on the Propeller!

    I've never programmed in C, so would need to be 'educated', and it only makes sense to me to do so on the Propeller...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Cheers,

    Simon
    www.norfolkhelicopterclub.co.uk
    You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
    BTW: I type as I'm thinking, so please don't take any offense at my writing style smile.gif
  • mirrormirror Posts: 322
    edited 2007-05-30 22:16
    I've never programmed in C, so would need to be 'educated', and it only makes sense to me to do so on the Propeller...
    If you've never learned C, then why start now? C on the propeller is for those who want something familiar. I've programmed in C·for about 13 years now. It's not all it's cracked up to be. For day-to-day programming on a PC I prefer Delphi (Pascal). Spin probably needs a couple of little tweaks, but for a first attempt at a language, Parallax have done something pretty awesome. With the new processor coming, more RAM in each of the cogs could result in the Spin interpreter running much, much faster.

    C is not THE answer. It is AN answer. For a lot of embedded processors it's the ONLY answer, but Parallax have given us an alternative.


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    It's not all that hard to count the number of grains of sand on the beach. The hardest part is making a start - after that it just takes time.·· Mirror - 15 May 2007
  • Mike GreenMike Green Posts: 23,101
    edited 2007-05-30 22:23
    Simon,
    Conceptually, C and Spin are very similar. Unless you have some additional reason to learn C, I would suggest that you start with Spin and the Propeller. Once you learn that, it should be relatively easy to move to C and other microprocessors.
  • simonlsimonl Posts: 866
    edited 2007-05-31 10:23
    Hi Mike / mirror,

    Thanks for your input; I hear you smile.gif

    I'm already programming in Spin - real easy to get used to - but I have this nagging thought that I'm gonna need more speed than it offers (until the new PChip arrives I guess?!). I don't thinkl I'm ever gonna be able to get my head around PASM (and think that's probably way too fast for my projects anyway!), so C looks like a good option.

    Partly, I also would like to change career too (I'm bored with building web pages!) and most employers wouldn't even consider me without embedded C experience - I'm happy programming PICs in ProtonBASIC, but think I could count potential employers using that on less than one finger!!!

    Roll-on the new PChip, that's what I say smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Cheers,

    Simon
    www.norfolkhelicopterclub.co.uk
    You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
    BTW: I type as I'm thinking, so please don't take any offense at my writing style smile.gif
  • Jim ColemanJim Coleman Posts: 52
    edited 2007-06-01 12:05
    ImageCraft

    Did you notice the response of Simonl to being discouraged by two Parallax heavyweights against getting involved with C versus Spin. Simonl wanted to learn C, no matter what. I believe this represents the desire and need of young Parallax technical students who are moving through the microprocessor ranks, they will need to know C in order to survive. I, for one, love the Parallax products because they always work and they always teach. For this reason, I am requesting that you include the Propeller in your educational kit. I would certainly buy this especially if it is a “soup to nuts” package including hardware, textbooks, examples, etc. There is nothing finer than a complete educational tool. Please allow Parallax to review the work to make sure it is up to their standards. In my opinion they are the experts.

    Have a nice day.

    Jim
  • simonlsimonl Posts: 866
    edited 2007-06-01 15:10
    I think Mike and Mirror's responses are perfectly valid -- if I could avoid using C I think I would! However, if potential employers aren't going to entertain ProtonBASIC (which compiles to extremely tight ASM for the PIC) or Spin, then I guess I have no choice :-(

    Of course, my other option is to set-up on my own and design some nifty products, then I can use whatever language I like smile.gif

    My original comment to ImageCraft was really saying that, if I have to learn C, I'd probably only do so if it's on the Propeller wink.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Cheers,

    Simon
    www.norfolkhelicopterclub.co.uk
    You'll always have as many take-offs as landings, the trick is to be sure you can take-off again ;-)
    BTW: I type as I'm thinking, so please don't take any offense at my writing style smile.gif
  • Kevin WoodKevin Wood Posts: 1,266
    edited 2007-06-01 19:24
    Simon,

    If you are interested in learning C, here are a couple of suggestion that you can start with while waiting for the Propeller compiler:

    Basic tutorials: cslibrary.stanford.edu/101/
    Ch Interpreter: www.softintegration.com
    Good C Reference: C in a Nutshell by O'Reilly - www.oreilly.com/catalog/cinanut/

    I'm constantly recommending the Ch interpreter because it is very easy to use, and allows you to bypass the standard preprocess/compile/link cycle. You'll eventually need to learn it, but for the beginner, it allows you to focus on the language itself. You can also download a version of Scite (text editor) that has built-in Ch integration, which makes getting up and running even easier, although you can use other editors, too.
  • Oliver H. BaileyOliver H. Bailey Posts: 107
    edited 2007-06-01 20:21
    Hello Everyone,
    I wanted to clarify a recent post that mentioned the Propeller Book I am currently in the midst of. It is in my plans to do a short book on Multi-Core Propeller C covering the different language semantics from standard C.

    The Propeller book will not cover C as it is project oriented. C is different enough that if I were to write a book on how to use Propeller C, it would be for the intermediate level reader. There have been to many good C books written in the past that do an excellent job of covering the language for the beginner programming student.

    I think you will be pleased with the upcoming book I am writing because it is hands on and shows how to use many different types of sensors, communication protocols, and use existing Spin objects. It also makes heavy use of the Video and Broadcast outputs plus keyboard and mouse inputs.

    I'm certain that the folks at ImageCraft did not purposely mislead you as I have not spoken to anyone over in well over a month.

    And for anyone at the Sensors show in a couple of weeks, stop by the Parallax booth and say hi. I will have several of the projects from the new book on display and running.

    Regards,
    Oliver
  • ImageCraftImageCraft Posts: 348
    edited 2007-06-01 20:47
    Oliver H. Bailey said...
    Hello Everyone,
    I wanted to clarify a recent post that mentioned the Propeller Book I am currently in the midst of. It is in my plans to do a short book on Multi-Core Propeller C covering the different language semantics from standard C.

    The Propeller book will not cover C as it is project oriented. C is different enough that if I were to write a book on how to use Propeller C, it would be for the intermediate level reader. There have been to many good C books written in the past that do an excellent job of covering the language for the beginner programming student.

    I think you will be pleased with the upcoming book I am writing because it is hands on and shows how to use many different types of sensors, communication protocols, and use existing Spin objects. It also makes heavy use of the Video and Broadcast outputs plus keyboard and mouse inputs.

    I'm certain that the folks at ImageCraft did not purposely mislead you as I have not spoken to anyone over in well over a month.

    And for anyone at the Sensors show in a couple of weeks, stop by the Parallax booth and say hi. I will have several of the projects from the new book on display and running.

    Regards,
    Oliver

    Yes, in no way do I want to mis-represent what we discussed. In fact, since my recollections are too good, I purposefully left things fairly vague smile.gif

    Anyway, I am in the midst of thousand projects. Propeller C is moving along, but still in the very early stages. Will post details as warranted.
  • PointDogPointDog Posts: 22
    edited 2007-06-23 14:20
    Hi,
    I just want to voice my support for this project, If the ImageCraft C compiler can produce code that runs as efficiently as other c compilers (PIC30-GCC or AVR-GCC or BoostC etc...) I __WILL__ use the prop for nearly every future project. At the moment, the use of SPIN seems to undo most of the performance advantages that the propeller hardware has, making it less useful than a PIC24 at half the price. A good C compiler that would leverage the true power of the prop would make it an attractive alternative to low end arm processors, which are in a similar price bracket.

    The fact is that when the prop runs C, it will be used by commercial programmers (like me) as well as hobbyists. Hence a wider market.

    Don't worry about the price tag. If a user doesn't want to pay $200 they can use spin. JUST MAKE SURE THE COMPILER WORKS WELL. I have no problem paying for GOOD software. You're not Microsoft so you can't charge for a half baked piece of s**t (like windows).

    I hope to be one of your first customers.

    Best regards.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-06-23 18:40
    Actually the Propeller is already going into several commercial products, they don't wish to be identified so we don't. They are companies that recognize TTM (time to market) is more important than making the requirement that a certain language be used. And those who are redesigning existing products are finding a very significant reduction in manufacturing costs. But you are right, there is a certain segment of professional developers that will not use the Propeller until there is a C compiler, and we are greatful that ImageCraft will eventually open up that segment.

    You may not be aware of ImageCraft but they make quality compilers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.

    Post Edited (Paul Baker (Parallax)) : 6/23/2007 6:46:48 PM GMT
  • Mike GreenMike Green Posts: 23,101
    edited 2007-06-23 21:52
    I would question your assertion that the use of Spin undoes most of the performance advantages of using the Propeller hardware. The Propeller, because of the limited memory available and the lack of multiplication and division instructions, is not well suited to large computational (or even large data movement) problems. It "shines" in implementing multiprocessing involving very exacting high speed timing (on the order of 100ns) and control, particularly where this needs to be adaptable. The video drivers and Chip's experiments with vocal tract synthesis are prime examples. The fact that the chip can do multichannel DAC and ADC as well also illustrates it's power as a flexible, fast processor. Some of these functions are only implementable in hand optimized assembly language ... you will not find a compiler that can do it. Spin is the "glue" that holds such functions together and is a very efficiently coded interpreter and byte code set. It can also do "bit bang" I/O up to about 20K Baud ... pretty impressive. Given the very limited memory and the 32 bit native instruction set, Spin allows very complex programs in the limited space, yet with impressive execution speed.

    The ImageCraft C compiler will turn out relatively efficient code, but it has to implement the C language. That means a call stack and parameter passing ... things that are implemented efficiently in Spin, but will cost several 4-byte instructions to do in either the straight native instruction set or with the "Large Memory Model" that allows programs to be executed from the 8K long word main memory (one instruction per long word) rather than the 512 long word cog memory. Most of the C operators and statements will be efficiently implementable with the native instructions, but not all. Subscripting particularly will be inefficient, particularly in terms of memory usage, due to the lack of index registers. I could go on, but the issue is that the use of C and a C compiler doesn't solve much other than the political issue of what languages are acceptable to a particular company for implementation of their systems. That may still be a "show stopper", but it's not because there's anything wrong or inefficient with using a mixture of Spin and assembly language.
  • PointDogPointDog Posts: 22
    edited 2007-06-24 03:25
    Sorry, no disrespect intended to ImageCraft, I'm sure they're capable of building good compilers, I just wanted to emphasize that the C compiler will likely be a tool rather than a toy, and the slightest problem can cost hours and $$$ many times the price of the compiler.

    The main reason for implementing C is not an arbitrary insistance on a specific language. It is a business decision. If I wish to move my application to the propeller, ATM, i need to learn a new language, then completely re-write every piece of my C source code (and libraries). Then when my product outgrows the capabilities of the Prop, (or, forbid this happening, the Propeller becomes unavailable for any reason) I will need to again rewrite every line of code (most likely back to C) for use on another processor.

    If c source code is written with a view to portability, transferring an application to another processor is a trivial task, not so transferring an application to/from SPIN.

    Surely you can see the business sense in using a standard language
  • Mike GreenMike Green Posts: 23,101
    edited 2007-06-24 03:57
    PointDog,
    It's possibly a very false business sense. What you say is very true when you're working with processors with plenty of memory and speed much faster than the basic functions you want to accomplish. I'd say we're talking minimally about what a PC would come with shortly after its introduction, say a minimum of 256KB of RAM, probably more like 512KB or 1MB with all of it (or most of it) accessible to the instruction set which is fairly rich, including some kind of index register setup and a multiply instruction.

    The Propeller has none of those things other than very high (and deterministic) speed for the native instruction set. The hub memory is limited to 32KB and functions somewhat like an I/O device rather than memory. Arbitrary use of it slows things down markedly and complicates the determinism. The actual memory for a processor is only 2KB which is only 496 instructions and THERE'S NO INDEXING. You have to use instruction modification to do indexed operations and you have to do all kinds of special tricks to make that work efficiently. My point is that there are very very few compilers that can do anything efficient with that kind of setup and most of them have been demonstration projects for someone's doctoral thesis, not a production compiler.

    Sure, you will have a program written in C that will compile for the Propeller, but, if you need to do things that "crowd the envelope" in terms of speed or memory or really need the determinancy or tight timing, you will need to use assembly language and that immediately limits you to one specific processor.
  • PointDogPointDog Posts: 22
    edited 2007-06-24 04:04
    Thanks Mike,
    I've PM'd you regarding my application, maybe I'm trying to fit the prop into a niche it's not designed for.

    I am thinking only of the Controller's I've used, I have ported the same code between PIC 16 /18 /24/ ATMEGA 32/8535/128,(a total of 4 different cores, and infinitely varying peripherals) and the compilers for these chips generate source code that is almost as fast as hand-coded ASM.

    These processors also have very limited memory (the largest is 8kbytes, the smallest about 68 bytes).

    The main advantage for me is not the porting of an entire application, but the porting of tried and tested libraries that make connecting a peripheral to a new processor a 5 minute job.

    Thus my product can out-grow a processor, without loosing all of the time invested in the un-changed parts.

    Post Edited (PointDog) : 6/24/2007 4:23:41 AM GMT
Sign In or Register to comment.