HOME  |  NEWS  |  BLOGS  |  MESSAGES  |  FEATURES  |  VIDEOS  |  WEBINARS  |  INDUSTRIES  |  FOCUS ON FUNDAMENTALS
  |  REGISTER  |  LOGIN  |  HELP
Comments
You must login to participate in this chat. Please login.

Thanks for the nice lecture.

 

Iron

hello all from Edmonton, Alberta

Iron

Missed it online, downloading it today.

well, a bit late but here

Iron

@jjrochow@ra.rockwell.com - 4 reasons:
1) New architecture. Does things other architecures don't, lots of new hardware logic.
2) Proprietary machine language - Any translation from a current Forth would practically be a write from scratch anyway.
3) Different operators - I'm used to C, so as much as possible I am changing standard Forth ops to their C equivalents. Might as well piss off all the Forth user groups at the same time!
4) I'm interested in HLL design generally, so starting from scratch is the best way for me to learn anyway.

 

Iron

Bob Loy: Why write a Forth-like language? Why not just use Forth-80, or 83 or FIG Forth?

Thanks for today's informative session.

Iron

@Lauren - Posting was much more responsive today - only had to post twice one time.

Iron

Thank you Warren and Lauren (I've been trying to cath up reading the questions and answers to the posts).

Iron

Thank you Mr. Miller and all the chat buddies. Chat sessions are really getting more and more informative...

Iron

@jjrochow@ra.rockwell.com - I should say USING a proprietary machine language.

Iron

@jjrochow@ra.rockwell.com - I'm writing a Forth-like stack based language, running a proprietary machine language.

Iron

So if I can say C+ mixed with Assembly(Thumb-2) is a better choice then C&assembly?

Iron

Bob Loy: Are you writing a Forth? There are designs and code from FIG for FIF Forth and there is Forth-80 and 83

sorry object oriented design translates better into C+

For me C+ verses C is dependent upon processor size/speed and the use of object oriented design. C can be slower and bulkier than C, but object oriented design translates better into C .

@Bob- Yep, should be a piece of cake!

Iron

How about C+ with Cortex-M4 MCU? Do you think that is a good idea?

Iron

@WarrenM - >@Bob- You should consider doing a blog about it...

Let me "prove a few more concepts" before I bite that apple! But thanks for the encouragement.

Iron

@WarrenM - RPN powerful, AND (reasonably) easy to develop an interpreter/compiler for.

Iron

 @sherlock- C+ is a good choice for data bases and complex memory structures. It is growing in popularity even for MCUs.

Iron

thank you, good day to all bye for now

Iron

I means if it is a time to apply C+ into embedded design with RTOS?

Iron

@Bob- You should consider doing a blog about in on Microcontroller Central. Email Rich Quinnell if you are interested...

Iron

I did a quick look at Flowcode, it is another graphics modeling program similar to Labview. The output is C code. In order to make a product additional code must be hand written.

Hi Warren,

Do you knew if people use C+ more and more? Since ROTS is becaming more popular. I just use C useually and embedded assembly when need do DSP algorithem such as Conclution.

Iron

@Bob- RPN is a powerful concept...

Iron

@WarrenM - I'm REALLY starting from scratch - simulating new hardware, developing a stack based language for it, www.genapro.com ...

Iron

@Bob I see a few Java implementations of FORTH on the web....

Iron

interesting info thank you

Iron

@Bob Loy- FORTH is a very fun and powerful language. I have not done anything with it in years however... Where did you get the compiler?

Iron

@RajuK- Compring compilers is difficult. There are some benchmarks, but usually the benchmarks are so different from you own application that they are not a good predictor. Mostly you learn from experience or from other engineers... Optimizing compilers tend to be better, but they can also cost alot more...

Iron

@WarrenM - I'm developing an MCU with a FORTH-like language...

Iron

I came in late, but how to compare different C compilers for

a) generting assembly code

b) making best use of target processor resources.

?

Iron

Well, if MCU is dotated of an SO like Android you can use Java or Python.

 

Iron

@fjgalan- I'm not sure when the name from the architecture came from. You might check the ARM web site...

Iron

Any other questions? Does anyone else write MCU code in something other than C (like Flowcode)?

Iron

?Replay an older question, Why the Cortex gamma is named so?

Wikipedia don´t clear this dude.

Iron

When I used C callable assembly code I found it dependent upon the C Compiler/Precompiler

@aapl- Usually C callable Assemble requires IDE support, it shouldn;t depend on the arctitecture (other than knowing what registers need to get saved, etc)

Iron

@gamatec@email.com

Superscalar equal at that have more than one ALU or FPU or Multimedia unit

Iron

@gamatec- Superscaler processors typically execute multiple instructions at a time. For example, they can do a logical operation, and arithmetic operation at the same time. This is possible because the have multiple execution units (multiple ALus for example).

Iron

? What does the method of writting C callable assembly code depend upon : the IDE or the architecture...

Iron

@Dev.khan- M0+ is more power efficient (low power and higher performance) than M0.

Iron

? In short terms, what it means superscalar processor ?

? M0 vs M0+ whats major difference

Iron

Usually use assembler when working with DACs and timer/counters in interrupt routines.

@asicsoc- There is an article I reference on friday that describes an actual design done that might be useful. I will make sure to highlight it on Friday.

Iron

@Dev.khan- 8bit MCUs are targeted at very very low cost applications, while 32-bit are more widely used.

Iron

Response to earlier question: Do you typically have a tight 'inner loop' in your algorithms that is critical for high-performance? Have done so on occassion, but typically rely on a main loop and interrupts.

Iron

@gamatec- M0 is the smallest implementation of the ARM architecture. The M3 is more mainstream..

Iron

@asiscsoc

A good book centered in assembler word (only for Intel x86 prePentium era) will be

zen of assembly language by michael abrash, tricks was interpolable to other world.

Iron

@fbpack @RMRSS, Go to the archived lectures and see the class on Choosing a Microcontroller Architecture. Class dates Feb 18 -22 of 2013

Gold

thanks for a good info

Iron

? is it necessary to have expertise on 8-bit uC, I have started my carrier on 32 bit uC's

Iron

@Bob Loy- I have not done a talley on the low power vs high performance vote yet. I will check it out for tomorrows class.

Iron

I agree on class on how to select micro would be nice problem is they are so dynamic, changing every day

Iron

Thank You Warren. Very informative.

? Which is the biggest difference between cortex-m0 and cortex-m3 ?

Response to earlier question: Do you typically start a design with existing code in place or start from 'scratch'? Depends on the assignment. I have worked both to complete other designs, and on new designs from scratch.

Iron

@Dev.khan- These days the embedded industry is looking for embedded programmers with experience in specific algorithms (as well as a track record of successful designs). Motor control for example is a popular algorithm...

Iron

It would be interesting to hear suggestions on how to select the most appropriate MCU for a pariticular project.  Maybe this is not the right forum, but perhaps a future lecture series?

Iron

Thanks Warren, Lauren & Digikey.

Iron

Response to earlier quesion: Code size of recent design? 128KB Flash (Freescale JM128). And has only 16KB RAM. Severely resource constrained!

Iron

@Dev.khan- I don't have any specific recommendations for a book on CM-3. Check out the MCU site however or go over to Microcontroller Central and ask a question on the site. That might give you some ideas.

Iron

?Flowcode is an english prog tool its quit easy for varous levels

Warren, If you could point me to a tech. article which shows how to improve a existing code, be very useful.

Thanks,

 

Iron

?what industry expects from an embedded engineer

Iron

 

thanks Warren.... very clear and useful

Iron

Thank you. See you tomorrow.

Iron

@jafar- Not familiar with Flowcode. I will ckeck it out.

Iron

Thanks Warren and Digi-Key for bringing this.

Iron

Thanks Lauren and Warren - good info for upcoming projects

Iron

?any good book to code in assembly for CM-3

Iron

Thanks, Warren..got to go..see you tomorrow!!

Very helpful, thanks!

Iron

Thank you Laureen and Warren

Iron

Please use the "?" so I know you have a question for me.

Iron

Thank you Mr. Miller.

Iron

Thanks Warren and Lauren.

Iron

Thanks Warren

Thanks Lauren

Iron

?any good book to code in assembly for CM-3

Iron

thank you, great series

Iron
thanks Warren and Lauren
Iron

Another good session Warren. Thank You Warren and Lauren.

Iron

Thanks Warren - good information

Iron

Thank you Warren and Lauren, great presentation

Iron

? Just wondering - how did yesterday's "vote" on performance vs power turn out?

Iron

usually I use a main loop and interrupts

Iron

Yes, I use assembly to implement a Convolution dsp function.

Iron

?Are y familiar with Flowcode ,its anew way of programming

no siempre! with interrupts we can do some little difference

Iron

Have tight loop running through FORTH dictionary linked list.

Iron

There is a feature call 'Isochonous Operation' which means clock/synchronous I/O for the PLC.  The overall module loop has a very tight timing requirement.  The interrupts are usually handled with assembly and many of the control processes are handled with assembly in order to meet very strict timing.

Iron

sometimes using tricky "tight ' inner loop'",

Iron

loop, such as while,do in C code

Yes, mostly for timer loop I use inner loop

Iron

Occasional polling routines usually as subroutine

Iron

yes depending on the process etc

Iron

Warren are you familiar with the Propeller?: http://www.parallax.com/propeller/ 

Iron

Interrupts for timekepping.

Iron

I haven't used a tight inner loop recently

Iron

Interrupts for timekepping.

Iron

Warren's question was: Do you typically have a tight 'inner loop' in your algorithms that is critical for high-performance?

Platinum

Have not played with ARM

Iron

Answer to previous question: have not used ARM before, just readed a documentation!

Iron

Have used LPC2378 (ARM core)

Iron

Sorry got here late

 

Iron

I try to use old code if possible.

Iron

Answer to previous question: have not used ARM before.

Iron

I always try to reuse existing code if I can because it saves time and effort.

Iron

Answer to old question: Never used ARM.

Iron

Leverage existing code

Iron

Leveraging existing code

Iron

from scratch but I try to reuse some routines

Iron

chat window is skipping my notes

Chat's missed the last 4 or my posts

Iron

Re-use of existing code with updates and rewritten sections.

Silver

Most projects are very different and there are few opportunities to reuse code.

Iron
New designs leveraging prewritten code and driver libraries
Iron

Updating and Upgrading existing codes.

Iron

I think this chat is skipping my posts.

 

Both.

Iron

Updating new design to Cortex-M4.

Iron

updating existing code

Iron

I think this chat is skipping my posts.

 

Both.

Iron

from scratch whenever possible

Iron

Usually leverage existing code, but offen massive refactoring to benefit from experience and education.

Iron

New code, small program, PIC-508

Iron

Updating new design to Cortex-M4.

Iron

using several templates for starts, then estimate it's suitabilty

Iron

Add only have 9 instruction set in slide 11

Iron

I am typically leveraging on existing code.  Typically I am pulling from two or three sources merging source as well.  Mixed assembly and C code, and at times I have to try and translate between assembly source based on the used MCU.

Iron

Typically start from scratch, but use some previously developed "library routines" for some common functions/subroutines.

Iron

Updating existing code.

Iron

Leveraging existing code

Iron

I usually start with existing code.

Typically design from scratch -- 100K or greater code/binary

Iron

Updating existing code.

Iron

Usually from scratch but not always.

Iron

scratch and its in C

Iron

yes, we are stasting from scratch

Iron

Updating new version - Porting to new MCU 

Iron

Design from scrach in C

Brand new design starting from scratch

 

Iron

starting from scratch - I am new to this

Iron

Warren's question was: Do you typically start a design with existing code in place or start from 'scratch'?

Platinum

?any good book to code in assembly for CM-3

Iron

Multiple CPUs, each with 64K

Iron

Florida here - back from the dentist ... What'd I miss?

Iron

Varies 8K-128K on recent projects.

Iron

?: no divide instruction on the Cortex-M0..what do we use?

This is a RISC architecture??? With 86 different instructions?

Next proj mem size tenative 200K

 

Iron

I have a very large FLASH program memory space (16MByte), 128 MB internal ram, 32K ITCM, 8K DTCM

Iron

usually below 32kbytes

Iron

Warren's question was: What MCU code memory size have you used in your most recent design?

Platinum

Arm7TDMI, Cortex M3

Iron

Worked with Ti Cortex-M3

Iron

We are on slide nine.

Platinum

ARM Cortex M3 - Actel

Iron

Using ARM for the first time

Yes, using Cortex-M

Iron

We are on slide eight.

Platinum

Have played with Cortex-M from TI & ST. Evaluating Atmel's offering. Expect to do first ARM project in next few months.

Iron

yes, ARM LPC2368, SAM9, but not Cortex

Iron

I am on my third consecutive ARM design, ARM Cortex R4F.

Iron

We are on slide seven.

Platinum

Have not used arm but am considering it.

Iron

Use Cortex-M0, NXP device.

Iron

have not tried ARM MCU yet. 

Iron

Hello from Greensboro

Iron

Have not used an ARM based processor.

 

Iron

TI Stellaris platform

Iron

no, have not used ARM

Iron

Warren's question was: Have you used an ARM based processor previously?

Platinum

further explanation of DMIPS please.

Iron

Does anybody use Thumb and Tumb-2 in here often?

Iron

Assembly for ARM Cortex-M0 CPU is 8 bits or 16 bits?

Iron

Hello from Albuquerque

Iron

We are on slide six.

Platinum

We are on slide five.

Platinum

Typo on slide 4: "Cortex-M0" not "Cirtex-M0".

Hello from foggy SW Michigan

Iron

We are on slide four.

Platinum

Hello from Beaverton Oregon. My meeting was cancelled for today.

Iron

We are on slide three.

Platinum

We are on slide two.

Platinum

Hi from rochester, ny

 

Iron

Hello from Toronto, ON

Iron

Hi all - The audio is now live!

@fjgalan

Hi figalan ... my skype is eng.sysc

 

Iron

hi from Mishawaka, IN

 

Iron

Greeting from Wheaton IL

Hello from Seattle. Should be another nice day after the marine layer burns off...

Iron

hello from Saint Louis, Missouri

Iron

Hello from Albuquerque.

Iron

Hello from rainy Atlanta

Iron

Greetings from Los Angeles

Iron

Hi from Michigan

 

Iron

Yikes, almost forgot about the class

Iron

Greetings from Colorado Springs and another nice bright sunshiny day...

Iron

Good morning from cloudy Valdez

Hello from Charlotte, NC

Iron

Hello from Minneapolis.  Partly cloudy, and a perfect 75 degF today.

Iron

hello from Mishawaka

Iron

Greetings from Vermont

Iron
hi you guys from SoCal
Iron

Hey from Johnson City, TN

Iron

Aloha from Montana. sunny 75 degrees

Gold

Good Afternoon from a perfect 10 weather day in Boston!

Iron

Hello again from Rockwell Automation in cloudy, rainy and cool (77F) Cleveland Ohio..actually the Mayfield Hts Advanced Technology Lab.

Good afternoon everyone.
Iron

Hello from sunny SE Lake SImcoe Ontario. Ok Maybe it's clouy actually..

Iron

Hello from Binghamton, NY

Iron

@All- When we start the chat Questiona and Answer session please use a "?" at the start of your question to me so I can easily spot it. That will help me answer quickly.

Iron

@All- Please view the PPT in Slide Show or Presentation mode so the url links are clickable.

Iron

Hello from sunny NY.

Iron

@marcioSysc

I read that this morning

"Since its beginning in 1974 as a small group of specialists in a previously unknown discipline, ACM SIGGRAPH has evolved to become an international community of researchers, artists, developers, filmmakers, scientists, and business professionals who share an interest in computer graphics and interactive techniques.

MoRe iNfO:

http://www.siggraph.org"

If I can comunicate with you in private I could pass you an interensiting link about him

Iron

Be sure to follow @designnews and @DigiKeyCEC on Twitter for the latest class information. We encourage you to tweet about today's class using the hashtag #CEC.

Platinum

Thanks Mr. Miller.


Although I consifer myself to be a hands-on guy, I think you're right.

Iron

Hello from cloudy Michigan

Iron

@Mark.Browne- Excellent point about compilers with multiple MCU targets. Some of the optimizing compilers can eliminate the more 'generic' code that gets generated but the 'simple' compilers we get for free from the MCU manufacturers may not have these features available. (You might need to pay for them).

Iron

Does someone knows a website for who wants to learn Image Processing?

Iron

@Camarillo-

Development Tools: Perhaps the best way to start out is to use the MCU manufacturers free tools- either an evaluation version of a 3rd party tool or the MCU manufacturers own version. That way you can try it out before purchasing something. Check out the website of the MCU manufacturer you are targeting and you will usually find the tools right away.

Iron

I "LinkedIned" yet, today link work fine.

Iron

Please join our Digi-Key Continuing Education Center LinkedIn Group at http://linkd.in/yoNGeY

Platinum

Good afternoon from Valladolid, Spain.

Iron

Good Morning from Panama City, FL.

Iron

Hello Mr. Miller.

After looking at today's slide, I see that you use ARM.  For those of us that don't use that MCU, can you recommend a development tool?

Did some research and found this in mouser 771-OM13053.

 

Thanks.

Iron

The streaming audio player will appear on this web page when the show starts at 2 PM Eastern time today. Note however that some companies block live audio streams. If when the show starts you don't hear any audio, try refreshing your browser. If that doesn't work, try using Firefox or Google Chrome as your browser. Some users experience audio interruptions with IE. If that doesn't work, the class will be archived immediately following our live taping.

Platinum

 

Oops - I should add that stack frame addressing is not very efficient with the Z80. This speaks to the general case that complier writers are likely to use the same general methods for all the compilers they make. If one of the targets does not implement that method very well the generated code is likely to suffer.

I should add that stack frame addressing is not very efficient with the Z80. This speaks to the general case that complier writers are likely to use the same general methods for all the compilers they make. If one of the targets does not implement method that very well the generated code is likely to suffer.

Greetings from Raleigh, NC

Iron

Hi morning from Vancouver, Canada.

Iron

@Mark.Browne- Thanx for the decription. Uniform calling conventions can add some overhead so that is a good one to look at. More modern optimizing compilers might catch some of these inefficiencies, but it is still good to keep them in mind, and to look at your generated code once in a while to see what improvements have been made. I will bring this point up in todays class. Thanx!

Iron

Hello from Scottsdale,AZ

Iron

 

This was an older compiler so I am not sure if it still relevant today.

That said - There was much data movement to and from the stack to support uniform calling conventions. There was a good deal of promotion and testing to 16 bit that was not strictly needed; I suspect that modern optimizing compliers don't do this.

 

@Mark.Browne- Doing that type of comparison is very valuable. Did you notice any particular areas (types of functions) where your C implementation was particularly inefficient with respect to code size?

Iron

Be sure to click 'Today's Slide Deck' under Special Educational Materials above right to download the PowerPoint for today's session.

Platinum

 

C vs. Assembly Language:

After a large project writing assembly language to interface with existing C code and replace some C code. This was due to severe space constraints; I was able to get about a 10% code shrink which allowed the needed code enhancements to fit in the ROM. As I went through each routine I could see how each C token was implemented in assembly language by the compiler. It was a most educational process. I can now see what C does and how it does it; I think of C as pretty assembly language.

 

Sunny and pleasant in Aurora, Ontario - G'Day

Iron

Good morning from Tennessee

Iron

Goodmorning everyone

Iron

@wonohkim,  not true.  Yes C and assembly are the popular languages for MCU because they simply are the most commonly supported, but there are several languages that support control register and memory maps. 

Iron

Morning from Portland Oregon.

Iron

I agree today's slide of C and Assembly are the popular languages for MCU. They are the only languages that can control register and memory map.

Iron

Good Morning from GA

Iron

Morning from North Pole, AK

Iron

Good morning from Mobile, AL

Hi there

getting slides.

Iron

Mr. Miller's CV looks impressive. Waiting to hear his insights.



Partner Zone
Latest Analysis
In this new Design News feature, "How it Works," we’re starting off by examining the inner workings of the electronic cigarette. While e-cigarettes seemed like a gimmick just two or three years ago, they’re catching fire -- so to speak. Sales topped $1 billion last year and are set to hit $10 billion by 2017. Cigarette companies are fighting back by buying up e-cigarette manufacturers.
Microchip recently released the 3D TouchPad, the first USB PC Peripheral device that couples 2D multi-touch input with 3D air gesture technology. The company seeks the help of developers to further enhance the capabilities of the technology.
Made by Monkeys highlights products that somehow slipped by the QC cops.
To give engineers a better idea of the range of resins and polymers available as alternatives to other materials, this Technology Roundup presents several articles on engineering plastics that can do the job.
Mac Cameron of Stratasys describes the company’s Connex3 technology, which allows users to 3D-print complex parts in one build with no assembly required.
More:Blogs|News
Design News Webinar Series
10/7/2014 8:00 a.m. California / 11:00 a.m. New York
9/25/2014 11:00 a.m. California / 2:00 p.m. New York
9/10/2014 11:00 a.m. California / 2:00 p.m. New York
7/23/2014 11:00 a.m. California / 2:00 p.m. New York
Quick Poll
The Continuing Education Center offers engineers an entirely new way to get the education they need to formulate next-generation solutions.
Oct 20 - 24, How to Design & Build an Embedded Web Server: An Embedded TCP/IP Tutorial
SEMESTERS: 1  |  2  |  3  |  4  |  5  |  6


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.
Next Class: 10/28-10/30 11:00 AM
Sponsored by Stratasys
Next Class: 10/28-10/30 2:00 PM
Sponsored by Gates Corporation
Next Class: 11/11-11/13 2:00 PM
Sponsored by Littelfuse
Learn More   |   Login   |   Archived Classes
Twitter Feed
Design News Twitter Feed
Like Us on Facebook

Sponsored Content

Technology Marketplace

Copyright © 2014 UBM Canon, A UBM company, All rights reserved. Privacy Policy | Terms of Service