Brad For Dem Bedded

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 27 October 2011

New Beginnings

Posted on 13:26 by Unknown
I attended a retirement lunch today for a former coworker. Previously in my life I've attended a reasonable number of similar events, either people retiring or people leaving for other opportunities. Sometimes the people leaving get emotional and I had a hard time understanding why. I always thought, "It's just a job." Today, it's hitting me as to why.

Friday November 4, 2011 will be my last day at my current job. The following Monday I'll be starting at a much smaller company with huge aspirations to do amazing things for their customers. I'll be building embedded Linux systems and developing the software that runs on them. It's going to be an awesome challenge. I'm very excited.

I spent most of today organizing my notes and cleaning out my office. Over the next week, I'll be transferring my notes, responsibilities, and everything I've worked on to the rest of my group. Looking at things I've done, it's astounding. I've gotten a lot accomplished. I didn't realize how much work I've actually done in the past six and a half years and three different roles within the company. The amount of time, effort, and personal investment I've put in astounds me. Others feel the same way when they leave a company, that's what drives the emotions.

Looking at my resume, sure, I've done a lot. But when I found a directory full of minutes from meetings I ran 5 years ago and I can remember the details surrounding decisions that were made, problems that were solved, and bureaucracy that was dealt with, it's way more impressive. I've had quite a few other experiences like this, just today.

People spend a huge portion of their non-sleeping life at work. The relationships that are developed, the work that's accomplished, the situations that are dealt with, and the impact on the world that is made is non-trivial. It's a big deal to stop working somewhere that you've been for a significant amount of time. Work reflects a good chunk of life, leaving it, even for something better, is a big deal and shouldn't be taken lightly.
Read More
Posted in embedded, linux, next steps, work | No comments

Monday, 24 October 2011

Management and Leadership - Startup versus Established?

Posted on 05:08 by Unknown
I like Seth, his blog is in my Google Reader. His books are good, too. He recently wrote about leadership and management. It inspired me to come up with a question:

Does the relationship between leadership/management and startup/established business exists in a meaningful and measurable way?

I think it exists, and I'm sure it's meaningful, but I'm not sure it's measurable. How can you measure leadership or management in the way that Seth describes them? There's no easy metrics that spring to my mind. It's mostly one of those, "You'll know it when you see it" kind of things. That's too bad.

There's probably a whole industry out there claiming that they can offer insight into how to perform this measurement. These consultants probably make good money. Sadly, it's most likely all for naught. Unless you can see it plain as day, the person you're looking at isn't a leader.
Read More
Posted in work | No comments

Friday, 21 October 2011

Embedded Linux and Long Term Support / Updates - Part 2

Posted on 10:08 by Unknown
In my previous post about embedded Linux long term support, I neglected Ubuntu. I had not realized how much effort Canonical are putting into their ARM platform products. After doing a little reading today, it appears that within the next year, Ubuntu's long term support server distribution should be a very high quality product on ARM platforms. That's awesome!

Ubuntu LTS server releases are already supported for 5 years. Starting with version 12.04, the desktop LTS release will also be supported for 5 years. Combined with prebuilt images for various ARM development kits, that's an awesome starting point for higher powered, ARM based, embedded systems.

Ubuntu seems primed to completely take over the Linux distro landscape. I think that's awesome if you're looking to develop any new Linux based device on a platform they support. It'll make your life that much easier. Thanks, Canonical!
Read More
Posted in beagleboard, embedded, linux | No comments

Monday, 17 October 2011

An Unknown Error Has Occurred

Posted on 05:54 by Unknown
In software, don't ever tell a user that an "unknown error" has occurred. It does nothing but hurt the relationship between user and software.

This weekend I upgraded our iPad and my wife's iPhone4 to iOS5. The iPad went super smooth other than taking forever to download the update. The iPhone update did not go nearly as smooth. After downloading the update, backing up the iPhone, and erasing the flash, iTunes errored out with an "unknown (14) error." There was a nice link provided to an Apple knowledge base article telling me to try another USB port, reboot, or update iTunes (again? I just did!).

Lacking from all of this was any indication of what the heck caused the error!

Clearly, iTunes knows what caused the error, it raised an error message because of some event happening in a way that wasn't expected. But I have no idea what that event was so that I can try to prevent it from happening again or so I can write a bug report. It also left the iPhone in an uninitialized state, requiring a restore (which in itself was over an hour in duration).

Don't ever tell me that an "unknown" error has occurred. Either just tell me that "an error has occurred preventing" a task from completing or tell me what the heck the error was! The "UNKNOWN" part of the error is the most frustrating part, then Apple kicked me when I was down by providing a knowledge base article with stupid answers that didn't provide any insight into what the problem actually was. Yeah, I've used Windows before, rebooting is the knee jerk reflex, I don't need to be told that.

And to top it all off, iOS5 is noticeably slower than iOS4 was on both the iPad and iPhone4. The updated features are almost unnoticeable but the slowness is easily seen. Overall, I'm unimpressed.
Read More
Posted in iOS, software | No comments

Friday, 14 October 2011

Embedded Linux and Long Term Support / Updates

Posted on 08:39 by Unknown
If you are building a non-consumer commercial system that uses embedded Linux, you will probably be interested in long term support. Now, what I mean by long term support is: Two (or five) years from now, will someone be providing me with security updates to the same version of software that I use today?

For example, if you run RedHat Enterprise on a desktop or server, you can be sure that 5 years from when a new release comes out, RedHat will still be providing you with security updates for the exact same versions of all the software you run. You won't be forced to upgrade to some new version of software provided by RHEL in order to continue getting security updates. Your kernel will stay the same version, your Apache will stay the same version, your Bash will stay the same version, and you'll only get little tiny changes that 99% of the time are due to security issues being fixed. The other 1% of the time is things that are actually seriously broken and need to be fixed. But overall, NO NEW VERSIONS OR FEATURES!

For desktop and server distributions, there's a lot of choice between paid for setups like this and community supported setups. You've got RedHat and Suse as the major players in the paid for sector, and Debian stable, Ubuntu LTS, and Scientific / CentOS in the community sector.

In the embedded landscape, there's companies like MontaVista and Wind River that supply longish term supported embedded Linuxes, much the same way RedHat does. But the on the community side, other than Emdebian, there's not a whole lot (that I've heard of) that provide a long term support system for embedded.

Many of the embedded distributions are focused on cutting edge stuff. Cutting edge is cool, it's hip, and it's where all the neat stuff happens. But if you're deploying a real product that's going to have to function for years and years at a customer site, you're not going to want to have to keep sending them software updates having cutting edge versions. Cutting edge versions means things break. Stable old stuff being updated only with tiny security fixes means things don't break, at least not usually more than they were before. If you're looking to make real money selling embedded non-consumer Linux systems, you're going to pick old stable stuff getting security updates, and if you need fancy new stuff, you'll become an expert in just that new fancy stuff, and you'll do your own security updates just for that one thing you need to be newer.

I understand that having long term support be a community activity is hard. Especially when there's a low number of developers. Small projects can't afford to spend developer time supporting old stuff if they want to continue moving forward. Bigger companies who get paid (like Wind River and MontaVista) can. And Debian can, but only because they've built up the support systems, platforms, and methods of working over a huge amount of time and with a huge community that's dedicated to just that. It's very hard to do.

Linux kernel has long term supported versions, but those only get updates for 2 years, then they assume the distributions will take care of further updates. This is awesome for short life commercial projects, but some commercial projects need to last longer than that. For those projects, your choices are really limited if you don't want to employ a huge number of experts to keep things stable and secure. For those projects, you're going to buy a long term support system from a vendor or need the support of a high quality community. Because of this, you're either going to pay, or you're going to use Emdebian.

What else is there for community support?
Read More
Posted in embedded, linux | No comments

Tuesday, 4 October 2011

More Raspberry Pi

Posted on 04:30 by Unknown
When I wrote my blog entry last week about the Raspberry Pi project, I was being negative. That was wrong of me.

I was being negative about Raspberry Pi because they're doing an awesome job of putting out a low cost embedded system and I'm a bit jealous. The TuxedoBoard won't be nearly as low of cost. When I first thought up the TuxedoBoard, most ARM based single board computers were in the $100 to $250 range (think BeagleBoards and Gumstix). Pricing my less capable but much more open TuxedoBoard at $100 would fit in nicely with that marketplace. But with the Raspberry Pi being $25 and $35, that's going to ruin my potential customers' expectations on price. Even though I'm not trying to compete with the Raspberry Pi, just the fact that they're putting out an ARM based system (with very nice stats) for such a low price will hurt my chances of selling TuxedoBoards.

Raspberry Pi project, I'm sorry. I hope you succeed. I'm just jealous. Heck, I want to buy one of the $35 models. Good luck!
Read More
Posted in embedded, market, open source | No comments

Saturday, 1 October 2011

TI AM170x Booting Annoyances: Take 2

Posted on 11:08 by Unknown
I was incorrect in some of the statements I made before when discussing the TI AM170x booting. Daniel pointed out a few of my mistakes in the comments (thanks!). This is a quick follow up. I have quite a lot more reading and learning to do.

The AM170x chips require an external memory attached either to EMIFA, I2C, SPI, UART, or the HPI (host port interface). Since I want to be able to boot without requiring the UART connected, that boot method is most likely ruled out. The HPI sounds interesting but the impression I get is that usually another processor of some sort is connected there, which the TuxedoBoard won't have. So it's down to NOR or NAND flash on EMIFA, I2C, or SPI. Any of those will probably work for me, even though I wanted to avoid having an external memory device.

It turns out that the internal ROM is hard coded and not changeable. I was under the incorrect impression that it was an EEPROM and that using Code Composer Studio that one could change it. This is not the case. The internal ROM is what gets executed after reset, it sets up some basic configuration registers and checks the boot mode pins. Based on the boot mode pins, the ROM will configure the processor to access the appropriate external memory interface and load up the AIS (or non AIS boot mode) executable. This executable holds the device configuration information along with some other setup data such as clock speeds, pin mux settings, and various other configuration registers.

It seems like one could create an AIS (or non AIS executable) that would contain arbitrary code to be executed as a first stage bootloader but I'm not entirely clear on that yet. If so, or if it could fetch a first stage bootloader from the external memory that could contain a custom written binary that can access the SD/MMC card. All this together might be an end-around for booting off SD/MMC. Uboot would then be the second stage bootloader.

Daniel pointed out that there's a TI BSD licensed version of the AIS generator and other core boot code written in C# which should execute under Mono in Linux. These utilities also should not require Code Composer Studio, which is handy.
Read More
Posted in embedded, open source, tuxedo | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • Downsides and Upsides of Altera's Configuration Via Protocol
    Yesterday, I wrote a little about reconfigurable FPGAs attached to the PCI-Express bus as an addition to the general purpose computer. The...
  • Toolchain, Check! Kernel, Check!
    I've been working on the CLFS embedded book for a few months now.  I've been learning a lot and my goal has been to get a CLFS embe...
  • KDE4 Sucks
    I upgraded to Debian 6 Squeeze last weekend on my desktop.  I was very excited to get some more up-to-date packages (git, gcc, kernel, and c...
  • Low Cost ARM Computer
    I was thinking about my ARM + FPGA computer idea some more.  There's already a lot of competition in the single board computer space an...
  • Crypto Load Balancer Using Off The Shelf Hardware
    At my day job, I work a reasonable amount of time with cryptographic and authentication systems. Lately, I've been reading about OpenCL...
  • Embedded Linux and Long Term Support / Updates - Part 2
    In my previous post about embedded Linux long term support, I neglected Ubuntu. I had not realized how much effort Canonical are putting i...
  • The TuxedoBoard has a Brain! (picked out)
    I've chosen an ARM SoC (system on chip) for the TuxedoBoard! The Texas Instruments AM1707 ARM9 core will meet my requirements. The AM1...
  • Pick an ARM ABI When Building GCC
    If you follow the CLFS embedded book for ARM , you'll see that your ABI choice isn't used until compiling packages (ie: after you...
  • SanDisk iNAND
    I stumbled upon SanDisk's iNAND products today while doing some searching about SD cards. The iNAND idea looks very appealing to me co...
  • I'm Writing a Book
    I'm writing a book about embedded Linux but I'm not going to compete with traditional technical books.  O'Reilly isn't my co...

Categories

  • beagleboard
  • blog
  • book review
  • business
  • c
  • chairs
  • clfs
  • community
  • computers
  • crypto
  • db
  • debian
  • disapointment
  • embedded
  • energy
  • fedora
  • flash
  • fpga
  • gcc
  • git
  • google
  • health
  • hp
  • internet
  • iOS
  • learning
  • license
  • linux
  • market
  • microsoft
  • movie review
  • my book
  • next steps
  • open source
  • pandaboard
  • rails
  • software
  • SOPA
  • tuxedo
  • web 2.0
  • webOS
  • windows
  • work

Blog Archive

  • ►  2012 (10)
    • ►  January (10)
  • ▼  2011 (70)
    • ►  December (10)
    • ►  November (9)
    • ▼  October (7)
      • New Beginnings
      • Management and Leadership - Startup versus Establi...
      • Embedded Linux and Long Term Support / Updates - P...
      • An Unknown Error Has Occurred
      • Embedded Linux and Long Term Support / Updates
      • More Raspberry Pi
      • TI AM170x Booting Annoyances: Take 2
    • ►  September (8)
    • ►  August (1)
    • ►  July (3)
    • ►  June (3)
    • ►  May (3)
    • ►  April (8)
    • ►  March (4)
    • ►  February (5)
    • ►  January (9)
  • ►  2010 (16)
    • ►  December (6)
    • ►  November (9)
    • ►  October (1)
Powered by Blogger.

About Me

Unknown
View my complete profile