So I have decided to move my blog to Blogger.com
It’s just easier to manage.
From now on you can find this blog at
http://www.embeddedstories.org
(yes, I got my own domain)
or
embeddedstories.blogspot.com
See you there!
So I have decided to move my blog to Blogger.com
It’s just easier to manage.
From now on you can find this blog at
http://www.embeddedstories.org
(yes, I got my own domain)
or
embeddedstories.blogspot.com
See you there!
This post will be short and simple:
If you don’t know what the Freedom board is, go to: www.freescale.com/freedom and find out. I’ll summmarize it: a low-cost Freescale Cortex M0+ enabled development platform that’s just awesome.
If you want to check out some awesome things that can be done with the Freedom board, go and visit my buddy Erich Styger’s blog mcuoneclipse.com
If you want to start developing with this board right away and without major hassles go and visit mbed.org
mbed is a development platform on web. Yes, web, your IDE is on the web browser, there’s libraries, code samples, a version tracker on the browser. Documentation is clear and thorough, no need for licenses, you just create an account and write code.
I’ve been waiting for a chance to post about this for a while (being a Freescale engineer I knew about this some time before it was release to the public) now it’s here, and it’s awesome and you should go and check it out!
I’m trying to get a topic going in twitter via the #EngineeringSuperpower hashtag in twitter, it’s been fun. Drop by twitter and share what your #EngineeringSuperpower would be. If you don’t use twitter, leave a comment here and I’ll tweet it (and give you credit, of course).
Some favorites: debugger vision (coupled with picosecond vision), scope vision (look at a pin and see it’s signal).
Mine would be Infinite Datasheet Memory: the ability to recall any spec and register from any data sheet ever
What’s your #EngineeringSuperpower?
Reblogged from MCU on Eclipse:
The great thing with the Freedom FRDM-KL25Z board is its compatibility with Arduino Shields: a great set of board available at very reasonable prices. I had my hands on the Adafruit Data Logger shield, and now it was time to use the original Arduino Motor Shield R3.
Pull-up resistors: first class I took in college where they were mentioned I didn’t get them…12 years later I still don’t get th…wait! I do get them, forget I said that, particularly if you’re my boss or colleague, I get them, ok? Forget it!
On the other hand, pull-ups have caused me some grief over the years (and by “grief” I mean fun fun times growling at the computer screen, at the board, at the oscilloscope, etc., and figuring out what’s wrong).
This one time, a colleague I was working with was enabling a UART interface on a small MCU with (supposedly) previously working code. In this particular device, which had the same UART as the original MCU for which the code had been written for, the transmit channel was operating correctly but the receive wasn’t. Of course it was getting late to finish this part of the project so we started scrambling for answers. First thing I asked this guy (who we’ll call “dude” for the purposes of this story) is whether he had checked the signal with an oscilloscope, the dude hadn’t. So we did, and found a strange waveform unlike what you would expect to see in a UART channel. The dude hadn’t checked the hardware out, he was obsessed with configuration bits, baud rate settings, pointers, interrupts, etc., turns out the signal wasn’t even getting there.
We went back to the hardware and discovered the problem: the channel was an open collector configuration (part of an optocoupler to be exact) and there was no way it would ever go to one. This MCU pin conveniently had an internal pull-up available so we enabled it and everything worked.
Not everything is software. Some error are so simple that they are easy to overlook. Always remember to be very methodic and cover all bases one by one, isolate variables and by all means, always have an oscilloscope at hand.
As I’ve said before, I’m an applications engineer with Freescale. It’s a really cool job, but one of its downsides is that I seldom get to publish about the stuff I’m working on in my blog, until it has been released, it’s available to the public, etc.
Well, today is one of those days, the Kinetis L Series MCUs have been released together with a fun video you should watch:
Note: I’m not in the video, marketers get all the fun ¬¬
Anyways, it’s a really cool new family of low-power MCUs with a whole lot of features targeted at consumer applications, particularly in the “internet of things” space, tiny devices powered by batteries and with a bunch of connectivity and analog sensing capabilities. I won’t go into detail af all the features because that’s what the Freescale web page is for, there’s a lot of info already available and more to come. Erich Styger’s blog, MCU on Eclipse already has a bunch of tutorials on using CodeWarrior 10.3 and Processor Expert (the graphical code configuration tool) to create code for the Kinetis L series. There are also several tutorial videos on the Freescale YouTube to get you started with CodeWarrior, Processor Expert and with the new Freedom development platform, a whole new easy-to-use development system in a tiny and cost-effective format.
Besides all this excitement, another new tool has been launched by Freescale recently. Although I was not involved in the launch of that project, I am actively participating in it right now. It is the Freescale Community a new user community where both Freescale engineers and customers can go and ask questions, talk about technology, share knowledge etc. (and, though I’m not 100% what they’re for, you get points, and getting points is always exciting).
So there you go, a lot of new stuff to browse around, have fun, leave me some comments and expect some more posts very soon.
As you may have read from my previous post and lack of posts, this year has been a busy one.
Although this last month has been nothing compared to the previous ones, I have noticed an interesting trend. Before I was so stressed and focused on finishing just a handful of important tasks that I become sort of “super productive”. I focused on getting the job done and it achieved results.
Now it’s all about everything else that needs to be finished. It’s many many tasks that have about the same priority. Yes, I think I know how to prioritize. The problem is all these tasks seem to have the same importance after some analysis. So the way I’ve been dealing with them is “multitasking”. That is, doing a little bit of each at a time, in hopes that I’ll eventually get them all done, sort of how an OS would do it. Turns out, I feel I’m going nowhere at times, mainly because there’s not much stuff I’m checking off, but there is new stuff piled on top of the old stuff, that I’m also partially starting, and so on, “ad infinitum”. There’s so much time lost in the “context switching”, plus the distractions that might come in between, like obsessively checking emails, that I feel my productivity is diluted.
So my conclusion is: either I get a clone that focuses, or I do the focusing myself. Since the first option is too expensive, probably impossible and highly unethical (or at least in some sort of moral gray area), I need to do the second one. I need to choose a task and go with it, until it’s finished.
Alright, let’s say I’ve mastered the art of focusing, that doesn’t entirely solve my problem. There are still interruptions, people requesting immediate action. Many times you can say: “hold on”. Other times you just can’t, stuff needs immediate action. I’m still trying to learn how to give those interruptions the appropriate attention without loosing track of whatever I was doing. What do you do? Do you effectively multitask?
Update: my buddy Erich Styger also wrote a really nice post on multitasking in real life. Instead of only complaining he lists some things he does to keep productive, check his post out, after that, check his blog MCU on Eclipse out.