Answer - quick prototyping look like challenge sometimes. Personally I preffer took Kit from shelf (one from many) and start to work, and spent all time for development of parts which do not exists. By this way - quick progress and result.

@FELiX_CZ there is a slide deck of the information the presenter is lecturing about. There is not a video. The slide deck button is in red, under the Special Educational Materials, under the sound bar. I have found that it is best to log in, then bring up the slide deck, then start the audio.

That's why I selected Microchip. I needed a 32 bit microcontroller with Ethernet and USB (and GPIB but that isn't included in any of them). MPLAB ICD3 didn't cost very much and MPLABX is free to any usinging it just for Microchip controllers.

.

Yes, Microchip is very focused with lots of networking interfaces with their PIC32. That's why the PIC32 parts have so much RAM and internal buffers. It's also faster on interrupt response (less cycles) than the Cortex family.

@BillGiovino: That's why I selected Microchip. I needed a 32 bit microcontroller with Ethernet and USB (and GPIB but that isn't included in any of them). MPLAB ICD3 didn't cost very much and MPLABX is free to any usinging it just for Microchip controllers.

@garysxt: I have done stuff over 100K so far -- it must be used as I stated -- plugged into board or with XDS100 or similar.. If you are doing your own desing you must pay the $495 at least for a one user node locked.

I would really love to know how to reduce cost of development(including IDE's) and cost estimation when selecting an MCU especially for 1 - 2 people companies. Also advise on how to cut costs would be great

Wow, that's a great topic. It's not as easy as it sounds ("free software can be expensive") and a bit complicated to explain.

@BillGiovino: I would really love to know how to reduce cost of development(including IDE's) and cost estimation when selecting an MCU especially for 1 - 2 people companies. Also advise on how to cut costs would be great

@Bill Architechture - Mostly PIC16 and Atmel MegaAVR in recent years. Did Z80, 68HCxx, NS32K, and a few others in distant past. Looking to move to ARM Cortex but have not found affordable softare tools that seem able to do the job.

Not all gcc compilers are the same. In general if you are using a gcc compiler you really need to know something about the target microcontroller architecture and write your own assembly routines to make your code optimized.

Some people swear by gcc, but I'm not a fan. I'd rather use a manufactuer's free compiler.

I am currently getting a fractal diplay running on the STM32F4 discovery (Embest). The code for the original STM32F4 board (by ST (Keil?) I presume) is not well documented -- so much of it is incomprehensible. Getting it running takes guesswork as well as C knowledge.

It's harder to hide things in Pascal. It seems to require a more organized approach. It is not foregiving for bad programing -- which is good in my mind.

Well, for the past few years ST has been putting a lot of resources into the ST-Ericcson partnership. So there's been a cutback on R&D and support that is showing up in small ways.

Are there any 8 bit mcu's doing the switching off of RAM or other peripherals like the MSP430?

Off the top of my head I know that ST and Microchip switch off peripherals when not in use. they don't just turn them off - they cut power. About turnign off RAM, I can't say for certain without checking my records.

I am currently getting a fractal diplay running on the STM32F4 discovery (Embest). The code for the original STM32F4 board (by ST (Keil?) I presume) is not well documented -- so much of it is incomprehensible. Getting it running takes guesswork as well as C knowledge.

It's harder to hide things in Pascal. It seems to require a more organized approach. It is not foregiving for bad programing -- which is good in my mind.

QUESTION - Follow up on the low power. Are there any 8 bit microcontrollers doing the same thing from other vendors? Also are there any low power RAM's such as FRAM's which I have to take into account?

Note about 8051 vs. Z80 vs. X86 - I designed an 8051 project in the early 80's and when time came to buy for production not a one could be purchased for love or money. A little company called IBM had designed 'em into thier new keyboard for a product that was yet to be announced - the IBM PC - and had quietly bought 'em all. I ended up doing an emergency redesign with the Z80 for the project I was working on. THe 8051 is not compatible with the 8080/Z80 and I had to rewrite the code from scratch. Neither is directly compatibe with the x86 family although there were lots of effort expended for code migration from CP/M to MSDOS. I was involved with a few projects to do exactly that migration.

Rapid Prototyping: I try to buy eval boards configured as close as possible to my desired config -- with ready to go driver librraries and lots of demos showing as many pieces of the puzzle as possible. I then scour the internet looking for missing pieces andd further examples -- and active user forums.

If possible I download and test eval versions of the IDE/Compiler -- if practical.

Since I try to use C+ or Pascal -- testing is important.

Also -- I need Ethernet TCP/UDP packetizing -- so looking through those implementations is a mus as well.

If I can find the above items, the MCU and board go on the final list -- then I choose.

Re RP: I generally rapid prototype using solderless breadboards with SMD to DIP adapters when needed. Soldering can be a real bear for the small MCUs. Designs are usually small though. Stick with mfg IDE for SW.

---

For rapid prototyping, I will use the MCU and IDE I am familiar with and focus on the unique parts of the prototype. Normally, it is a new process algorithm or a new control method

Are there any low power considerations I have to take in terms of 8 bit microcontroller? I have been using a TI MSP430 and they give options of putting off parts of RAM not in use etc. Do all the 8 bit microcontrollers have similar features?

There are some devices that will dynamically turn on and off RAM to conserve power, because RAM is power hungry. That is extremyl valuable. I know that the MSP430 is the best at doing that, I believe they did it first and one of the reasons whhy the MSP430 is one of the most popular microcontrolelr architectures. Digi-Key has all the MSP430 flavors.

Re RP: I generally rapid prototype using solderless breadboards with SMD to DIP adapters when needed. Soldering can be a real bear for the small MCUs. Designs are usually small though. Stick with mfg IDE for SW.

QUESTION - Are there any low power considerations I have to take in terms of 8 bit microcontroller? I have been using a TI MSP430 and they give options of putting off parts of RAM not in use etc. Do all the 8 bit microcontrollers have similar features?

What's the strength to use a language such as Jave? I think it is the cross-platform ability. To support that, a OS is definitely needed. However, many applications are aimed to provide real time control or processing. Cross platform ability is the least thing to think about. So for me, I will not consider Java at all.

What's the strength to use a language such as Jave? I think it is the cross-platform ability. To support that, a OS is definitely needed. However, many applications are aimed to provide real time control or processing. Cross platform ability is the least thing to think about. So for me, I will not consider Java at all.

I learned the hard way that the less-expensive CCS C Compiler does not come with the specific PIC device files that MPLABX needs. These files are an extra $200.00. I must learn to read very deeply into mfg. docs.....

Yes, it is true, you get what you pay for. Although I know that there are zealots out ther that will swear by free compilers, they have their own personal libraries to keep thigns efficient.

@DaveWR I learned the hard way that the less-expensive CCS C Compiler does not come with the specific PIC device files that MPLABX needs. These files are an extra $200.00. I must learn to read very deeply into mfg. docs.....

QUESTION - If you are in a situation where you need to get a prototype out IMMEDIATElY - it doens't have to be efficient, it just has to be working tomorrow - how do you di it? What hardware do you use? How do you program it?

Here's a what if. Say your application is a straightforward industrial process that can be handled by an 8 bit MCU. However, when upset conditions occur then suddenly all sorts of interrupts happen, complex software decisions need to be made, real time response is required. Would it be feasible to design a system with a seperate MCU, maybe 32 bit, to deal with the more complex software environment, rather than trying to cram everything into a one big MCU? Especially considering that upsets should be very rare..

If you are as interrupt-intenseve as you say, you have two options:

1) A 16-bit microcontroller. Why? because you have extra proessing power and don't have the interrupt overhead of a 32-bit MCU

2) Go like you said - an 8-bit as a dedicated interrupt processor, interfacing to a larger 32-bit or 26-bit system controller. I see this a lot

Here's a what if. Say your application is a straightforward industrial process that can be handled by an 8 bit MCU. However, when upset conditions occur then suddenly all sorts of interrupts happen, complex software decisions need to be made, real time response is required. Would it be feasible to design a system with a seperate MCU, maybe 32 bit, to deal with the more complex software environment, rather than trying to cram everything into a one big MCU? Especially considering that upsets should be very rare..

On 8 bit parts I've found that determining the sources of the interrupt can take more time than saving system state. Having a part with a vectored interrupt controller can speed up the interrupt response time a lot

I am slightly confused with the clock speeds? Is doing work fast and then going to sleep(or lower power) saves more power or doing things at slower frequency? How does 8 bit microcontroller fare in this?

I am slightly confused with the clock speeds? Is doing work fast and then going to sleep(or lower power) saves more power or doing things at slower frequency? How does 8 bit microcontroller fare in this?

Bill, I appreciate the tie-back of the first micros to products in your opening slides. I have one of those Speak-n-Spells and I've always wondered what as in it. How cool to learn it was the first microcontroller!

Yeah, early I programmed 68000's but my first microcontrolelr was an 8-bit COP8 in assembly. Very cool to program!

Why do you lecture first selecting 32-bit microcontroller and then the 16-bit ones?

.

Good catch. It's easier to discuss 32-bit and 8-bit. 16-bit is the "in-betwen" point of the two and it's important to understand 8-bit and 32-bit first, and why 16-bit is an important compromise of pwer and performance.

Bill, I appreciate the tie-back of the first micros to products in your opening slides. I have one of those Speak-n-Spells and I've always wondered what as in it. How cool to learn it was the first microcontroller!

On RTOS, I would like to learn more about the considerations where one would cross over from traditional superloops to the RTOS advantages in the 8-bit realm.

I will be discussing that tomorrow. In general, when your code gets very complicated and has multiple linear tasks, you will need some task scheduling to manage all these tasks. It's then that you need a 16-bit or 32-bit mcu and more RAM to manage it all.

Hi everyone, it's been brought to my attention that many of you couldn't hear me after Bill was finished speaking. I just wanted to again thank everyone for attending today's class, thank our sponsor Digi-Key, and remind you to join us tomorrow for "Selecting a 32-bit Microcontroller."

On 8 bit parts I've found that determining the sources of the interrupt can take more time than saving system state. Having a part with a vectored interrupt controller can speed up the interrupt response time a lot

At the time it came out it was NOT compatible with the 8080/z80 code set as it was a completely different internal architecture. It was incompatible with the existing CP/M OS that was popular at the time.

The usual definition of a processor word width is the size of the accumulator or similar register. The 8088 has an 8 bit wide external bus, but the internal architecture is of a 16 bit ALU (arithmetic/logic unit).

A few weeks ago, Ford Motor Co. quietly announced that it was rolling out a new wrinkle to the powerful safety feature called stability control, adding even more lifesaving potential to a technology that has already been very successful.

It won't be too much longer and hardware design, as we used to know it, will be remembered alongside the slide rule and the Karnaugh map. You will need to move beyond those familiar bits and bytes into the new world of software centric design.

People who want to take advantage of solar energy in their homes no longer need to install a bolt-on solar-panel system atop their houses -- they can integrate solar-energy-harvesting shingles directing into an existing or new roof instead.

Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.