This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Can I add an external FRAM to current released FRAM based MSP430 products?

Other Parts Discussed in Thread: MSP430FR5739, MSP430G2553

HI there,

My customer needs 128k FRAM now. I understand the FR69x will be released in 2nd half of this year.   Can I take a FR59x that is currently released and bolt an external Ramtron FRAM up to the MSP430 to reach my memory requirements??  My guess is no as this is not an MMU device..

Thanks in advance,

Amy

  • You may take Ramtrons serial FRAM up to 256kB using SPI ! 

  • Hey Amy,

    You could use a SPI chip as Dirk suggests.  The main concern you need to have is with regards to what kind of data will need stored on the external memory--will it be configuration data that isn't used often, or will it be data the the MSP430 needs to access frequently?  The speed you can read and write will be limited by the SPI interface, so just make sure the customer is aware of this and designs his software accordingly.

    Regards,

    Josh

  • Depends on how you need to use the FRAM memory...

    If you need it for extra code storage, then the answer is NO.

    If you need it for on-the-fly variable storage, then the answer is NO.

    If however, you need it for extra data storage, and can handle the overhead penalty (time) of storing/retrieving the data in pages, then you can use the solution that Dirk suggested (external device via SPI).

  • Brian,
    an external SPI FRAM can be used for extra code storage, for on-the-fly variable storage, and for data storage. Of course there is a time penalty involved.

    The trick is to factorize the software in a way that the time consuming parts are stored in the microcontroller FRAM. The upper layers, let's say the human interface and the communication interface, can reside in the SPI-FRAM.

    I am sure you wrote your answer with assembly language in mind. Assembly language programs won't work on serial memory.

    Ten years ago I had a microcontroller project with a M38049. I was asked to add new features, but the FLASH was used to the brink. My boss back then told me to use tho onboard EEPROM for code. My first reaction was to tell him that he is stupid, he should know, that no program will run on EEPROM. But instead of doing this, I got the idea to take up his challenge, and compile code directly into the EEPROM. And it was possible with some additions to the compiler.

    How could I do this?

    I am programming with Forth for nearly thirty years now, and I could solve any problem with Forth. Most of the time I used RSC-FORTH on Rockwell's R6511, but when this great microcontroller wasn't produced anymore, I found Mitsubihi's M38049 and ported RSC-FORTH onto the M38049, and then I was able to extend the Forth compiler to compile directly to the EEPROM. That was amazing! And the user didn't see any difference in reaction time, because it was the top layer compiled to the EEPROM, the layer for the human interaction: Display and Keypad. The drivers for Display and Keypad itself of course have been on the microcontroller itself.

    TI's FRAM microcontrollers give a great new opportunity for rapid prototyping, for interactive incremental programming in Forth, as it has never been before with microcontrollers. If you never heard about Forth: when I started programming Forth, Forth was the first programming language available for nearly all microprocessors, and not only for microprocessors. Forth was the language of choice to get the hardware going. Mitch Bradley used Forth at Apple to test the hardware, and later he developed the Open Boot Prom, which is written in Forth. Sun workstations run on Forth. I encourage everybody to look out for this language. A renaissance will come.

    Concerning speed penalty: Operating code on external FRAM with the MSP430FR5739 is as fast as operating code stored in parallel memory connected to former generations of microprocessors.

  • Dirk Bruehl said:
    I am sure you wrote your answer with assembly language in mind. Assembly language programs won't work on serial memory.

    I didn't write my response with any particular language in mind.

    I wrote it with the "and not have to do anything special" mindset.

    If you are willing to write a whole memory manager and pagefile subsystem and the resultant performance penalty of "swapping" memory pages, then sure, you can do what you said.

    However, that is not a trivial task. And that begs the question... by the time you do all that, is it for naught because by then the bigger devices are available. Or maybe Amy should be looking at a different solution space.

    When you find yourself doing something that seems crazy (and writing a paging memory manager on a low-performance MCU sounds crazy to me) that should be a trigger to re-evaluate your approach and make sure you are doing the right thing.

  • Dirk Bruehl said:
    an external SPI FRAM can be used for extra code storage, for on-the-fly variable storage, and for data storage. Of course there is a time penalty involved.

    Teh time penalty contradicts the 'on-the-fly' purpose. And external code storage would require some sort of module loading mechanism, whic isn't supported by the MSP coding tools. (but could be done with some effort, I elaborated it once in an older thread).
    Of course if you have an interpreter and just load the scripts, this would be an easy (but not really fast) approach to extend code space.

    The main point is that the MSP has no way to attach additional memory-mapped storage, so any external storage is just that: external storage of some kind (and doesn't need to be FRAM, it could as well be an SD card or a hard drive)

    Dirk Bruehl said:
    Forth was the first programming language available for nearly all microprocessors, and not only for microprocessors.

    Well, it was actually the fo(u)rth, hence the name. But you might be right with 'almost all', as the previous three versions weren't widely used :)

  • Brian,

    First of all, my intention is to help Amy to find a solution for her problem. Now she has several answers and opinions, and I am sure she will be able to choose the right way. She hasn't commented yet.

    Of course I read that she wrote about the Ramtron device that "this is not an MMU device" - please tell me about the MSP430FR-Family MMU.
    I didn't find anything about MMU there - only mmu in communication and community, and "No matches found for the selected search term ( Wolverine MMU )".

    Looking for MSP430 MMU I got one result: http://sourceforge.net/projects/blubos/

    So what?

    If you would have taken a closer look at Forth, you would have discovered that Forth doesn't need an MMU, and neither does need page swapping. You can use protective vocabularies instead.

    People who are using Forth as programming language and/or operating system know about all the great features Forth has to offer. No problem with small systems and no problem with huge systems either.

    To me it would be crazy not to use Forth which is highly productive, and using Forth I am doing the right thing. 

    If you have a challenging problem, you have to do something special.

  • Jens-Michael,

    Even for changes on-the-fly time penalties may occur. It depends how fast you like to fly. The MSP430FR family is a family of really fast microcontrollers, compared to previous generations. If there is a challenge, we'll find a solution. That's what we engineers do. And Forth is a solution, especially in cases other programming languages don't have a solution. It is even possible to cure hardware bugs with Forth - may be not all of them, but most.

    The name "Forth" has been chosen to declare this programming language a fourth generation programming language. Unfortunately this was so early, in a time, when IBM computers could only comprehend words with no more than five characters. That's why the "u" is missing. The other three generations have been machine code (first generation), assembly language (second generation), and third generation programming languages like FORTRAN, ALGOL, COBOL - and C, C++, C#, Java, BASIC and Pascal are also third-generation languages. Source: http://en.wikipedia.org/wiki/Third-generation_programming_language

  • Dirk Bruehl said:
    Even for changes on-the-fly time penalties may occur.

    The question is whether this is bearable. And it's not abut how fast I like to fly but how fast I need to fly. 'like' is almost always 'as fast as possible*'.

    Dirk Bruehl said:
    The MSP430FR family is a family of really fast microcontrollers, compared to previous generations.

    Really? I don't think so. FRAM has a amximum access speed of 8MHz. If you go above, waitstates are added on a cache-miss or data write. So almost every MSP in 2x, 4x and 5x/6x family has a higher maximum speed (especially since due to the low amount of SRAM in the FRs, variables are stored in FRAM too. However, if you need to store persistant data at runtime (on-the-fly), then FRAM is indeed much faster as it doesn't need the slow flash erase and write cycles. Don't take me wrong, I like the FRs, but they have drawbacks as well as advantages.

    Dirk Bruehl said:
    If there is a challenge, we'll find a solution. That's what we engineers do.

    I wholeheartedly agree. However, some think that 'find' refers to the result of a Google search. You'll find this no-so-rare species here on e2e too. ;)

    Dirk Bruehl said:
    And Forth is a solution, especially in cases other programming languages don't have a solution.

    That's the reason why there is more than one programming language: every one offers a solution where the others failed. Unfortunately, no language so far offers a solution for every problem, to make all others obsolete.

    It's been many years since tried Forth the last time. I found it intriguing and interesting but lack of documentation (pre-internet times) made it difficult for me to do anything useful then. All I ever did was a a simple UPN (reverse polish notation) calculator. Maybe I still have this Forth interpreter for the C64 somewhere.

    About the name, yes, I know the story. Even though I heard it a little bit different a gazillion years ago (and Wikipedia, as useful as it is, isn't always the most trustworthy source for background stories and other things except hard facts).
    As far as I remember, it was the file system that only allowed 5-letter filenames. (But maybe that means the same here, as in CP/M and others, the filename was equal to the 'command' name, there was no 'command.com' with internal commands)
    And it was not the 'language generation number' but the major revision number of the interpreter, the 4th version was the first one that was really usable. (interestingly, the Wikipedia article about 4th generation programming languages doesn't mention Forth at all)

    But that's just what I was told some 30 years ago.

    BTW: being of a later generation doesn't necessarily mean an evolution. It may also mean degeneration. :) And one thing all of these 4th generation languages have in common is the by magnitudes higher resource consumption for the same problem. Something that contradicts the 'micro' in 'microcontroller'.

  • Wow!
    Seems to be we touched an interesting point! Thanks for all your remarks!

    Jens-Michael Gross said:
    The question is whether this is bearable. And it's not abut how fast I like to fly but how fast I need to fly. 'like' is almost always 'as fast as possible*'.

    Of course. That's why I wrote "Even for changes on-the-fly time penalties may occur". I totally agree!

    Jens-Michael Gross said:
    "]The MSP430FR family is a family of really fast microcontrollers, compared to previous generations

    I should have explained. I should have expected that for you only the MSP430 is counting. I didn't compare to previous MSP430 generations, my comparison meant these generations of microprocessors I worked with, long ago: the 6502 with 1MHz. I should have mentioned this. Reading one byte of external SPI memory with the MSP430FR5739 needs approximately the same time than reading one byte of external parallel addressed memory with this 6502 back then.

    And it was possible to do great things with this 6502. I wrote a database program for an alarming system, with extremely fast response times with that micro: http://www.somersetweb.com/BruehlConsult/Projekte/FAS.html

    We presented our FAS system at "Der Rote Hahn" 1980 in Hannover, Germany. Representatives of all those big companies came along and asked where we are hiding our computer. We only had a casing with a few Eurocard PCBs: one microcontroller board, one battery backed memory board for the database, one video board, one I/O board, and a bubble memory set. The bubble memory later went out of business, that's why my hope now is FRAM.   

    What I liked to say: time is relative.

    Jens-Michael Gross said:
    some think that 'find' refers to the result of a Google search

    Thanks for this remark! When I had my engineering education, I had to find solutions by myself. As an engineer, of course I read magazines like Electronics and Byte (only available in Internet archives now) and got inspirations. But I started structural programming before I read Dijkstra, and my database system used a virtual machine before I read about Forth - I didn't like to type so much, and the virtual machine was much more effective, and totally fast, to my surprise. That paved the way to my later endeavor to compile executable programs into external serial memory.

    Jens-Michael Gross said:
    Unfortunately, no language so far offers a solution for every problem, to make all others obsolete

    I am sure you are right. But interestingly, all programming problems I was confronted with in my engineering career, I was able to solve with Forth.

    Jens-Michael Gross said:
    And it was not the 'language generation number' but the major revision number of the interpreter, the 4th version was the first one that was really usable.

    You are right, there have been successive versions of Forth:

    In an interview four years ago Chuck Moore said: "The first Forth was indeed written in Fortran on an IBM 1130 at Mohasco Industries. But the second Forth was written in Cobol, again at Mohasco. And the third Forth in assembler at NRAO.The name Forth derived from fourth (as in generation) not from Fortran." 
    Source: https://www.simple-talk.com/opinion/geek-of-the-week/chuck-moore-geek-of-the-week/

    And in "Forth - The Early Years" he wrote: "The file holding the interpreter was labeled FORTH, for 4th (next) generation software - but the operating system restricted file names to 5 characters" Source: http://www.colorforth.com/HOPL.html
    Chuck Moore, the inventor of Forth, wrote a book: "Programming a Problem-Oriented-Language" http://www.forth-ev.de/filemgmt_data/files/CHUCKM~2.pdf
    He wrote a lot about names.

    Jens-Michael Gross said:
    (interestingly, the Wikipedia article about 4th generation programming languages doesn't mention Forth at all

    I read this yesterday, too, and I was waiting for this comment. But reading carefully you will find "The term fourth-generation programming language (1970s-1990) (abbreviated 4GL) is better understood to be a fourth generation environment; packages of systems development software including very high level programming languages" - no wonder that Forth isn't mentioned. Source: http://en.wikipedia.org/wiki/Fourth-generation_programming_language

    This fourth generation environment is still waiting for fulfillment with Forth, but people who are using Forth don't miss it.

    In "Programming language" Wikipedia says: "Rather than inventing new paradigms, all of these movements elaborated upon the ideas invented in the previous decade" Source: http://en.wikipedia.org/wiki/Programming_language

    That's where Forth is totally different. Forth has an still unprecedented paradigm - I am sure that's the reason why newbees understand Forth easily and immediately, but educated programmers do not.

    Jens-Michael Gross said:
    And one thing all of these 4th generation languages have in common is the by magnitudes higher resource consumption for the same problem. Something that contradicts the 'micro' in 'microcontroller'.

    I mentioned that these so called 4th generation languages are better understood to be a fourth generation environment. That's against the Forth philosophy.

    An important part of the Forth philosophy is: keep it small, keep is simple. Forth allows you to make your own environment fitting to your needs. It's based on the presumption, that somebody, let's say a scientist, who likes to solve a problem with a computer or microprocessor knows his needs best. The normal mainstream way is that this scientist has to look for a programmer who does this work for him. The programmer, to do this work, first has to understand and learn what this scientist already knows to achieve this task. There is more or less friction between these levels of knowledge, and a lot of time is needed. The Forth way is to give this scientist a tool with which he can solve his problem by himself. I had such a customer. Using Forth he could work on the human genome analysing much better and faster than with any other programming language, with full graphics!

    Developments like LabView, MATLAB and Mathematica have shown that this way - that somebody programs by himself  - is the way to go, but Forth will result in less resource consumption.

    By the way, a Forth compiler and operating system will fit in 8kB. There are solutions for the MSP430G2553 LaunchPad, 4E4th - Forth for Education is one of these.
    Source: www.4e4th.com

    And there will be a 4E4th-IDE including FLASH programmer, needing less than 10MB disk space. 

    It's a pleasure to correspond with you!

  • Jens-Michael,

    I would like to reply, but after sending my reply to your recent comment I got the message "You have posted to a forum that requires a moderator to approve posts before they are publicly available. If the administrator has configured this forum to support email notifications you will receive an email when your post is either approved or denied (if you have emails enabled in your profile)"

    Seems to be somebody changed the rules.

  • Wow!
    Seems to be we touched an interesting point! Thanks for all your remarks!

    Jens-Michael Gross said:
    The question is whether this is bearable. And it's not abut how fast I like to fly but how fast I need to fly. 'like' is almost always 'as fast as possible*'.

    Of course. That's why I wrote "Even for changes on-the-fly time penalties may occur". I totally agree!

    Jens-Michael Gross said:
    "]The MSP430FR family is a family of really fast microcontrollers, compared to previous generations

    I should have explained. I should have expected that for you only the MSP430 is counting. I didn't compare to previous MSP430 generations, my comparison meant these generations of microprocessors I worked with long ago: the 6502 with 1MHz. I should have mentioned this. Reading one byte of external SPI memory with the MSP430FR5739 needs approximately the same time than reading one byte of external parallel addressed memory with this 6502 back then.

    And it was possible to do great things with this 6502. I wrote a database program for an alarming system, with extremely fast response times with that micro: http://www.somersetweb.com/BruehlConsult/Projekte/FAS.html

    We presented our FAS system at "Der Rote Hahn" 1980 in Hannover, Germany. Representatives of all those big companies came along and asked where we are hiding our computer. We only had a casing with a few Eurocard PCBs: one microcontroller board, one battery backed memory board for the database, one video board, one I/O board, and a bubble memory set. The bubble memory later went out of business, that's why my hope now is FRAM.   

    What I liked to say: time is relative.

    Jens-Michael Gross said:
    some think that 'find' refers to the result of a Google search

    Thanks for this remark! When I had my engineering education, I had to find solutions by myself. As an engineer, of course I read magazines like Electronics and Byte (only available in Internet archives now) and got inspirations. But I started structural programming before I read Dijkstra, and my database system used a virtual machine before I read about Forth - I didn't like to type so much, and the virtual machine was much more effective, and totally fast, to my surprise. That paved the way to my later endeavor to compile executable programs into external serial memory.

    Jens-Michael Gross said:
    Unfortunately, no language so far offers a solution for every problem, to make all others obsolete

    I am sure you are right. But interestingly, all programming problems I was confronted with in my engineering career, I could solve with Forth.

    Jens-Michael Gross said:
    And it was not the 'language generation number' but the major revision number of the interpreter, the 4th version was the first one that was really usable.

    You are right, there have been successive versions of Forth:

    In an interview four years ago Chuck Moore said: "The first Forth was indeed written in Fortran on an IBM 1130 at Mohasco Industries. But the second Forth was written in Cobol, again at Mohasco. And the third Forth in assembler at NRAO.The name Forth derived from fourth (as in generation) not from Fortran." 
    Source: https://www.simple-talk.com/opinion/geek-of-the-week/chuck-moore-geek-of-the-week/

    And in "Forth - The Early Years" he wrote: "The file holding the interpreter was labeled FORTH, for 4th (next) generation software - but the operating system restricted file names to 5 characters" Source: http://www.colorforth.com/HOPL.html
    Chuck Moore, the inventor of Forth, wrote a book: "Programming a Problem-Oriented-Language" http://www.forth-ev.de/filemgmt_data/files/CHUCKM~2.pdf
    He wrote a lot about names.

    Jens-Michael Gross said:
    (interestingly, the Wikipedia article about 4th generation programming languages doesn't mention Forth at all

    I read this yesterday, too, and I was waiting for this comment. But reading carefully you will find "The term fourth-generation programming language (1970s-1990) (abbreviated 4GL) is better understood to be a fourth generation environment; packages of systems development software including very high level programming languages" - no wonder that Forth isn't mentioned. Source: http://en.wikipedia.org/wiki/Fourth-generation_programming_language

    This fourth generation environment is still waiting for fulfillment with Forth, but people who are using Forth don't miss it.

    In "Programming language" Wikipedia says: "Rather than inventing new paradigms, all of these movements elaborated upon the ideas invented in the previous decade" Source: http://en.wikipedia.org/wiki/Programming_language

    That's where Forth is totally different. Forth has an still unprecedented paradigm - I am sure that's the reason why newbees understand Forth easily and immediately, but educated programmers do not.

    Jens-Michael Gross said:
    And one thing all of these 4th generation languages have in common is the by magnitudes higher resource consumption for the same problem. Something that contradicts the 'micro' in 'microcontroller'.

    I mentioned that these so called 4th generation languages are better understood to be a fourth generation environment. That's against the Forth philosophy.

    An important part of the Forth philosophy is: keep it small, keep is simple. Forth allows you to make your own environment fitting to your needs. It's based on the presumption, that somebody, let's say a scientist, who likes to solve a problem with a computer or microprocessor knows his needs best. The normal mainstream way is that this scientist has to look for a programmer who does this work for him. The programmer, to do this work, first has to understand and learn what this scientist already knows to achieve this task. There is more or less friction between these levels of knowledge, and a lot of time is needed. The Forth way is to give this scientist a tool with which he can solve his problem by himself. I had such a customer. Using Forth he could work on the human genome analysing much better and faster than with any other programming language, with full graphics!

    Developments like LabView, MATLAB and Mathematica have shown that this way - that somebody programs by himself  - is the way to go, but Forth will result in less resource consumption.

    By the way, a Forth compiler and operating system will fit in 8kB. There are solutions for the MSP430G2553 LaunchPad, 4E4th - Forth for Education is one of these.
    Source: www.4e4th.com

    And there will be a 4E4th-IDE including FLASH programmer, needing less than 10MB disk space. 

    It's a pleasure to correspond with you!

  • Dirk Bruehl said:
    Seems to be somebody changed the rules.

    No. The forum just does that sometimes. I think it's just a bug in the ASP code for the forum that shows up under the correct circumstances.

    It's happened to me before on one particular thread, but then I could still post in a different thread just fine.

  • Brian Boorman said:
    I think it's just a bug in the ASP code for the forum

    No, it's not a bug;  it's intended behaviour - trying to catch spam.

    Posts with lots of links - even just "internal" liks to TI pages - are particularly liable to get "caught".

    The post should appear in an hour or two once it's been "moderated" - if not, contact the moderators.

    http://e2e.ti.com/group/helpcentral/f/263/t/227543.aspx

  • Andy Neil said:
    No, it's not a bug;  it's intended behaviour - trying to catch spam.



    Thanks, Andy!

    Having this experience first time looks strange somehow, but just when I had posted my remarks, I got a moderator approval email "Your forum post was approved and has been posted."

  • Dirk Bruehl said:
    Having this experience first time looks strange somehow, but just when I had posted my remarks, I got a moderator approval email "Your forum post was approved and has been posted."


    I get this message frequently. Either it triggers when the time between two posts is below a certain limit (as Andy said, to prevent spamming), or maybe because a filter detected a suspicious word, or a possible insult. So a moderator is asked to check the text first.

    If it is the anti-spam timer, I wonder how many posts are suppressed this way. Imagine someone who really uses the search function (doesn't happen too often), but then posts the very same question to every thread found by the search...

    Dirk Bruehl said:
    "]The MSP430FR family is a family of really fast microcontrollers, compared to previous generations


    I should have explained. I should have expected that for you only the MSP430 is counting. I didn't compare to previous MSP430 generations, my comparison meant these generations of microprocessors I worked with long ago: the 6502 with 1MHz. I should have mentioned this. Reading one byte of external SPI memory with the MSP430FR5739 needs approximately the same time than reading one byte of external parallel addressed memory with this 6502 back then. [/quote]No, I'm familiar with others too. I started with an 8085 in an Alpphatronic P4, then came the 6502 in the VC20 and then 6510 of the C64. And I also made some projects on a 8032. And before we switched to MSPs, my company used PICs.

    I actually earned my first money with self-written programs for the C64 (mainly software - and hardware - projects related to the GEOS OS).

    It was that you specifically mentioned the MSP430FR that made me think that you're comparing against the MSP430F and G.

    Dirk Bruehl said:
    We presented our FAS system at "Der Rote Hahn" 1980 in Hannover,

    Slightly before my time. I started 1983 with my own C64. Before, it was just playing around with the systems at school. No real own projects. (A modified UCSD pascal compiler that used the names of our IT teachers instead of the original commands, a maze program that used the specific screen characters of the Alphatronic as graphics output etc.).
    But perhaps you later read about the Texl compiler or the GeoROM module in the 64're magazine. Or the 2MB extension for the 1750 module.

    Dirk Bruehl said:
    What I liked to say: time is relative.

    Lunchtime doubly so. (Douglas Adams).
    However, with the MSP we're going back to the roots. In these old times, 64k memory were plenty. Now, my browser swallows 64MB when just showing the Google start page. And every small Visual-Something program takes more memory than I had on my PC 10 years ago. Not to mention the OS itself.
    With the MSP, memory is limited again (even though the plain processing power exceeds that of the first PC generations) and people have to focus on resource efficiency once more. Which could result in better (because more thoughtfully designed) software.
    The Arduino might be a nice thing to start playing, but I bet that most programs are again just clicking together lots of libraries without really knowing what's going on - and with many bugs arising inherently from this ignorance.

    Dirk Bruehl said:
    I am sure you are right. But interestingly, all programming problems I was confronted with in my engineering career, I could solve with Forth.

    I'm not surprised. It's common that people have a affinity to a certain type of jobs and for those jobs of course a tool that is perfect for them fits them all (mor eor less).
    You seem to be more database-related. So Forth is maybe indeed the language of choice for you and any project you might find interesting. (Did you ever try PROLOG?)
    I'm more into realtime hardware control. And there, the less abstraction the better for optimum results. Even though abstraction layers make the life easier for first results.
    That's why I personally dislike the MSP driver library: It obfuscates the hardware and creates problems by ignorance. But of course it is convenient.

    Dirk Bruehl said:
    The programmer, to do this work, first has to understand and learn what this scientist already knows to achieve this task.

    That's the key problem. One solution is of course to have the Scientist do the programming himself. And Forth may be the tool for it. The other solution is indeed that the programmer learns about the problem. An effort most programmers avoid - with devastating results regarding the quality of the produced software.

    Dirk Bruehl said:
    By the way, a Forth compiler and operating system will fit in 8kB.

    Compiler? Can't you precompile it outside? You'll have to upload the code to the MSP anyway, so why not the compiled code?

    Dirk Bruehl said:
    And there will be a 4E4th-IDE including FLASH programmer, needing less than 10MB disk space. 

    Sounds small. However, I once had a pascal IDE, compiler, linker, interpreter and runtime environment on a 1.2MB floppy disk (which did also hold DOS and a few other tools). And Modula2 came on two 360k disks (including temporary storage for the program)
    And I'm sure, the Forth I once had for the C64 was even much smaller. :)
    However, complexity of the IDE has surely increased since.

    Dirk Bruehl said:
    It's a pleasure to correspond with you!

    For me too.

  • Jens-Michael Gross said:
    It was that you specifically mentioned the MSP430FR that made me think that you're comparing against the MSP430F and G.



    I mentioned the MSP430FR because the original question was "Can I take a FR59x that is currently released and bolt an external Ramtron FRAM up to the MSP430 to reach my memory requirements??"

    Jens-Michael Gross said:
    With the MSP, memory is limited again (even though the plain processing power exceeds that of the first PC generations) and people have to focus on resource efficiency once more. Which could result in better (because more thoughtfully designed) software.


    ... as it was in olden times when Forth made just that possible !

    Jens-Michael Gross said:
    The Arduino might be a nice thing to start playing, but I bet that most programs are again just clicking together lots of libraries without really knowing what's going on - and with many bugs arising inherently from this ignorance.


    That's why our approach is to teach newbees how to use their own ideas for programming, to learn from scratch, knowing what they are doing and seeing results immediately.

    Jens-Michael Gross said:
    You seem to be more database-related. So Forth is maybe indeed the language of choice for you and any project you might find interesting. (Did you ever try PROLOG?)
    I'm more into realtime hardware control. And there, the less abstraction the better for optimum results.


    Forth is database-related, because all Forth program modules - called words - are contained inside the Forth database, which is the main part of Forth.
    I am in realtime hardware control, too, I always have been, and I like Forth because it spans from the lowest abstraction to the highest abstraction level, and I am able to choose where I like to go. PROLOG would be to complicated for me and would use a lot of scarce  MCU resources. I started with developing hardware, and when Dr. Schenk at Prof. Seitzers Institute for Industrial Electronics in Erlangen brought a M6800 board from the United States I recognized that this is the future - software instead of hardware. With Forth we are able to bridge the gap between both worlds.

    Jens-Michael Gross said:
    One solution is of course to have the Scientist do the programming himself. And Forth may be the tool for it. The other solution is indeed that the programmer learns about the problem. An effort most programmers avoid - with devastating results regarding the quality of the produced software.


    That's the point! Not everybody will like to learn Forth, but it is easy to learn. School kids don't have problems with Forth. And Forth is a mighty language to help scientists to reach their goals. If you google for Forth scientific library you will find a lot of websites just about that.

    Jens-Michael Gross said:
    Compiler? Can't you precompile it outside? You'll have to upload the code to the MSP anyway, so why not the compiled code?


    Sure, but with the onChip compiler the user is independent from any other tool. To start he may need a terminal or terminal emulator, but it is easy to add display and keypad to have a fully integrated system. The IDE is only needed to flash the LaunchPad with the Forth operating system, and it is used as a terminal. 
    Our goal is to let newbees experience what the microcontroller is doing, a direct contact to hardware. Using a PC based compiler will lead to what you have been complaining about.

    MSP430 Cross-Compilers are available from MPE and Forth Inc.

    Seems to be we have a lot in common and may be we have the same goals.

  • Jens-Michael Gross said:

    And there will be a 4E4th-IDE including FLASH programmer, needing less than 10MB disk space. 

    Sounds small. However, I once had a pascal IDE, compiler, linker, interpreter and runtime environment on a 1.2MB floppy disk (which did also hold DOS and a few other tools). And Modula2 came on two 360k disks (including temporary storage for the program)
    And I'm sure, the Forth I once had for the C64 was even much smaller. :)
    However, complexity of the IDE has surely increased since.

    [/quote]

    The 4E4th-IDE is available now at http://www.4E4th-IDE.org/ - the whole zip package is less than 1.2MB.

**Attention** This is a public forum