@theslawek - Maybe a late respose, but you are correct: the MCU handles pipelining. The programmer does not explicitly utilize pipelining but can take it into account when coding in Assembly. For example, many MCUs will execute the instruction after a jump instruction because the true/false check for the jump occurs a few stages into the pipeline. A programmer can prevent a wasted instruction by swapping the order of the jump instruction and the one before it.
Good introduction to Microcontrollers. Hopefully you can resolve the broadcast issues by tomorrow. I had to listen to the downloadable archive. The bad part is that I am not able to post questions as the presentation goes along.
@EETimes - that might be a good topic for someone to cover on the PCB designline at some point. Just an overview how different products are designed from the ground up.. a glimpse into schematic capture, simulation, prototype PCB.. what tools are used, etc. Since SMD devices are all the rage, how ARE different companies doing the development? Do the device guys at "Company X" have PCB Milling machines, pick-and-place and wave-soldering systems just lying around sitting next to the office printer? Or are they spending time in simulators, then sending the designs out to some board house for completion? heh.. I dunno, that might be too basic a question that most readers "in the industry" would know. As a hobbist, I'm probably not in the EETimes target audience. :)
I suggest a bit less time on instuction pipelining and a bit more time on the NVIC (and WIC). The method (and benefits) of nesting interrupts using tail chaining is brilliant and an important selling point for the ARM Cortex-M3.
@drw36 - yeah, I saw that. I'm amazed at how small things are getting. SMD is great, but developing this stuff as a hobbist is a major pain. It's getting to the point where I can't even etch boards @ home any more because I cant get the traces small enough with good enough quality to make the board viable! How do the "professionals" do it I wonder? I wonder how engineers are designing and building things like cell phones and MP3 players, TVs, etc; since they aren't building these circuits on a breadboard anymore.. they have to be prototyping these out somehow, though probably not physically anymore.. Allego/orCad, Altium, CadSTAR and the like are good - but is the simulation software really that good?
@keyoke - datasheet shows the STM32F429 part is available in a QFP package. For breadboarding you'd need to use a DIP adapter pcb and careful soldering :) . For the hobbyist, or even just us older folks, things are getting difficult.
How many cycles does the M4's FPU would take for a floating point operation? DOes it perform the floating point operations in the FPU by default or does it need speacial instructions ? If it need speacial intstructions how many cycles would a floating point multiplication would take when not using FPU?
Q: "So, when you say Standby Mode: 0.3 uA. Does it includes I/O leakage?"
A: That would be accruate at room temperature, however leakage is highly temperature dependent, so if your end product needs to live through extended temperature cycling, you'll need to take this into account when it comes to your power budget and battery life.
So the discovery kits are a great way to playing around/introduction to the STM32 line. What's the typical BOM look like for a product using these from scratch? I'm pulling datasheets and looking for reference designs now, and they look comparable to AVR in that aspect (Crystal, power regulation, and MCU). From the hobbist perspective, how hard are these to work with? I'm not going to need to deal with BGA or LFN, or 4+ layer boards am I ?
Yeah. I see the "traditional" difference being that of having the memory embedded in the chip. Though with DMA, and using it to interface with external SRAM, that line is blurred indeed. It's really amazing how far technology has come in such a short time with this kind of thing.
keyoke, an MCU typically has program memory and peripherals built in so that it is essentially a self contained device. A CPU needs external device support. As a result, an MCU typically is resource constrained.
Keyoke, they very much are blurring the line. What is considered high end mcu like the Cortex-M4 I used to consider to be a CPU. However, CPU's like desktops still use distributed RAM, external drives, everything isn't integrated into a single package. I consider an MCU to be resource constrained!
out of curoisity - what's the difference between a MCU and a CPU ? Devices like the STM32 (and other ARM based devices), with DMA and other features are kind of blurring the lines of traditional MCU/CPU (and even begining to enroach a bit on DSPs) aren't they?
Thanks Jacob. I initaially had trouble recieving the auto and I hdid a computer reboot. Missed some of the intro during the reboot, but I will listen again using the archived autio file. All should go better tomarrow, I hope.
polonia - I would suggest looking at an MCU familiy which is scalable with pin and software compatibility across the family. That way you can move up and down the family depending on performance/memory requirements
Q: Can you suggest reference books you have found helpfu?
A: There is ALOT of information on www.arm.com on the generic cores, and you'll want to search on the Cortex M0, M3, M4. In addition, you may want to consider "The Definitive Guide to the ARM Cortex-M3" by Joseph Yiu. He has also written one for the Cortex M4.
Leviton, I would look at sleep modes although the important thing is how much work needs to be done! You want to be able to put the mcu in low power mode and keep it there as long as possible. We'll talk more about mcu selection tomorrow.
Jacob, Thanks. Will you be speaking to "A microcontroller is a good choice for an IoT device. There are a lot of easy ways to add internet functionality to a microcontroller" and some of the ways to do this in the later sessions ?
On the USB slide, does the proc run the pins directly or does it need an external USB controller (I am interested in a "hub" mode where, in addition to just being a hub, the proc can also participate as a host or a slave)
what are your thoughts on the hobbyist and shrinking form factor of mcu's. I have arthritis and working with things that are smaller than 0.1 pitch? Will we see breakoiut boards just for the mcu as a means of keeping cost down?
Q: capacitive touch is not touch screen readout for TFT ?
A: It is possible to enable and operate capacitive touch on a TFT LCD depending on the nature of the physical touch construction. For instance, if you have ITO as discrete locations on the screen, it is possible to decern which location is being touched. This would not necessarily include a multi-touch experience unless the designer wants to extend the capabilities beyond today's firmware release. Most TFT, ITO screens we see already come with an attached device to handle capacitive touch down to the pixel level.
DMA to GPIO is possible. The GPIO register would be classified as a 'memory' location rather than a 'peripheral' resource. Then the contents can be connected to either another memory or peripheral location. There is a 'bit-banding' feature set available as well which may fit better in certain applications.
DMA can reach all the peripherals and memory as well as the Cortex Core. It is best to consult the reference manual for the granularity of exactly how to connect each DMA channel to each peripheral/memory.
One thing that I found works most of the time for the audio stream with IE is to press play for the intro then press play again then press pause for 3-5 seconds to let the buffer fill a little and then press play again. Most of the time this allows me to listen without interuption for the rest of the lecture.
this is hopeless. I tried updating the flash player. I had this problem with the EE times classes last year. Does anyone there monitor these chats? I would think they would have fixed the problem since then.
-The streaming audio player will appear on this web page when the show starts at 12:00 pm Eastern 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. Also, Firefox and Chrome seemed to be the best browser for listening.
jm, if you can chat on here, you are signed in already. EETimes will automatically sign you in when you click the proper links. THat box that appears then disappears again is the wizard doing the signin
Hi, I've already enrolled in the course, and looking forward to attending it! Are the sessions going to be self contained, assuming we don't have the STM32F429 Discovery board (nor there's a chance of winning one outside US/Canada)
@pumaspread, these presentations will be archived pretty much immediately following their conclusion. So, you can hear the archive anytime after the live session is over. Presentation materials should be downloadable before the presentation starts (and thereafter, of course).
I'm told that even if you cannot make the live session, you can still get credit for attending (and qualify for a board) if you view the archive promptly. Once the shipping list gets generated, though, that opportunity closes. Not certain of the timing, so if you cannot make the live session view the archive as soon as possible thereafter. Oh, and you must attend both of the first two sessions to be able to get a board for the remaining three.
Unfortunately, if you read the fine print, the boards are only available to those in the US and Canada. The reason for this is the complexity of shipping overseas. Things like customs, duties, shipping cost, and time to receive make it impractical to promise units elsewhere.
Quite excited. I'm very much hoping to be one of the fist 1,000, if not is it possible to purchase the STM32F429 Discovery board through EETimes? Or is it best to purchase it through AVNet or someplace similar? I'd rather give EETimes the business if possible.
Would you kindly include a walkthrough of the steps to initialize and set up the DCMI program, DMA based, and identify where the captured image resides in memory. I have combed the documrntation and blogs from STM to Italy, and cannot find out how that DMA process is setup and executes.
Extremely frustrated with thw pitiful and convoluted documentation for this well designed but useless, undocumented feature.