For 3 years, my Mac has been very, very, very (and I mean very, very, very) sluggish.
Typing on the keyboard would give me approximately 1 character per second.
Sometimes I even had to resort to using my laptop, because it was so painfully slow.
This changed recently. Not by changing to a different computer, not by re-installing the operating system (which I tried a few times, but it did not help).
-But why did it happen then ?
Well, it all started a few days ago, my ISP shut down my internet connection for maintenance. My Mac froze completely, because I had mounted a network drive, and it suddenly disappeared while I had documents open.
I could not open my programming IDE, because it remembers what files i had open in the project last time, and it kept trying to open those files that were not accessible.
After having my internet connection back a few hours later, I decided to look at my DNS setup in my D-Link DIR-655 router.
So I thought: "Something is called 'Advanced DNS', it's disabled, might be a good idea to set up some local DNS; how do I enable it ?"
I started searching for "DIR 655 Advanced DNS" and after reading about it a little, I decided that it might not be just yet.
But I did notice that D-Link had a firmware upgrade available for my router.
I decided to upgrade my firmware, because the changelog said something about a "DNS fix".
After doing so, my PowerMac has been running like if it was brand new.
So this is a practical example on why it is a good idea to use an ARM based microcontroller in a device, for instance a router:
If there is an error, you can fix it and provide firmware upgrades easily.
Of course, it's possible with other microcontrollers as well, but if you use ARM, it's even easier, because there are plenty of different MCU vendors, thus there are plenty of example-code, because each vendor provides example code for how to do things, and there's usually at least one Linux distribution available for each Cortex-A (sometimes also for Cortex-M) MCU out there.
And since there are so many Linux distributions available, there are solutions available for most problems that have been through the times.
Firmware upgrade saves you money, because you don't have to have 200 people working in your support department, in order to service your customers. The customers nowadays often have internet and can download firmware upgrades and upgrade their products themselves, and it can be done safely, without the fear of the device never working again, if it was turned off during an upgrade.
If you plan on implementing a firmware upgrade feature for your device, I Recommend reading: Bootloader Design for MCU's in Embedded Systems by jacobbeningo. This excellent document gives you insight in how a bootloader works, which can support firmware upgrade and how to implement it in a safe and robust way.
I don't like all that work, but as there is no dislike button, I clicked "Like" instead...
I'm not sure I will be able to do this, though.
But I might be able to convince some swedish guys to do it (they're always able to do way past what seems impossible).
Well spotted, I hadn't checked both...
I hadn't heard about the MBAN (Medical Body Area Network) before! It seems to be a target application for the KW2x
Now I hesitate between two replies:
Hi Alban.
I haven't received the chips yet, so they'll be without solder balls.
LGA is probably not as difficult to solder as the BGA, it's almost a QFN, so I think I can do it manually.
There's a pad that need to be connected to GND under the chip, but the 6 small pads should be left unconnected.
That means you'll only need to worry about getting the pins along the sides lined up right.
If it's too difficult, I'll just send a chip to Jaco, and they'll do it for me.
I think that at least the KW02 (M4) can be used for WiFi.
KW0x: Sub-GHz.
KW2x: 2.4GHz
According to my understanding of the datasheet, they're both ZigBee compatible.
Both uses the IEEE 802.15.4 Standard, so you could cheat and make a translator for the M0+.
-Eg. connect one KW2x to one KW0x and make the KW2x do the WiFi-talking, make the KW0x talk to other KW0x chips.
That might be complicated, because you'll have to make your own router or switch - but I certainly think it would be possible.
Did you but some solder balls yourself or having some paste on the PCB was enough?
I don't think I would have taken the challenge: BGA would already be painful without adequate equipment.
This looks like two chips in the same package, a Kinetis MCU and an ISM RTX. It's also a good way to integrate two different technologies/processes in a single package: MCU in smaller geometry and high voltage in a separate die. The less chips you have to solder, the less risk of them to go wrong.
They don't look like WiFi though as they are in the 300MHz - 900MHz range and not above 1GHz. I think they are more for remote control than bandwidth intensive applications.
They're called KW2x for the 50MHz Cortex-M4 and KW0x for the 40MHz Cortex-M0+.
Both are equally attractive. The M4 for its speed and instructionset; the M0+ for its low energy consumption.
One of the Cortex-M0+: MKW01Z128CHN (LGA60 package) [Farnell: 2383234]
One of the Cortex-M4: MKW21D256VHA5 (LGA63 package) [Farnell: 2401869]
The M4 can be delivered around June 24. 2014 if you order it now.
The only thing I don't like about them is the LGA packages. They caused me a lot of pain during PCB-design.
-I had to make those footprints by myself, and Freescale didn't make it clear whether the drawing was mirrored or not. So I ended up re-doing it twice. If I hadn't had to do it, though, a bug in the PCB layout program would not have been corrected. (I'm so lucky that I have the developer's ear).
I hope Freescale will grant you an evaluation board, so you can try it out.