|
| |
 |
| |
Bring this class to your company! Click here to find how we can come to your facility and present the class.
|
|
|
|
| |
 |
|
|
| |
 |
| |
|
Articles by Title
(go here for articles by subject area)
- Bailing Frantically - In panic mode? You'll never exit it till you take time to stop bailing and plug the leaks.
- Banking Basics - Ideas to help you expand your system's address space.
- Beginner's Corner - In-Circuit-Emulators - A beginner's guide to the best debugging tool of all, the in-circuit emulator.
- Beginner's Corner - Reentrancy - A beginner's guide to reentrancy issues.
- Big Systems - Another piece on using x86 Protected Mode.
- Bit Banging - You don't need a UART to send and receive serial data. Software alone suffices. Here's the code.
- Boolean Algebra - Do you get the boolean blues? Those hardware weenies keep chatting about DeMorgan, truth and evil... and you're feeling left out? Read on.
- Boss Management - Bosses need to be managed too.
- Built-in Debuggers - More and more processors have built-in debugging resources. Here's a look at what features they offer.
- Built-In Diagnostics - No system is useful unless it can be built in production. Add simple diagnostics.
- Bus Cycles - Software folks need to understand how a microprocessor handles data on its busses. Here's the short intro.
- Business 101 - You can't be an effective engineer unless you understand how your engineering role impacts the business as a whole. Step back, get a new zeitgeist, and expand your horizons a bit.
- C for Microcontrollers - This article discusses the state of C for controllers circa 1990.
- Call Me Ishmaell - Lessons from failures on a small boat at sea.
- Chaotic Systems - The new science of chaos is fascinating in its own right, and may have important implications for designers of embedded systems.
- Coding ISRs - Handling interrupts is tricky at best. Here's a few suggestions.
- Comments on Commenting - Rules for creating awesome comments in your code.
- Computing CRCs in Parallel - How to use a PLD to figure CRCs in a single clock cycle.
- Convolutions - Convolutions are a really cool way to smooth and even differentiate data. You gotta check this out.
- Crash and Burn - Disasters, and what we can learn
- Data Compression - Transmission bandwidth is always limited (hey... if you're reading this over a 28.8kb link, you get the picture!). Data compression can help a lot.
- Dear Abbey - Abbey talks to developers about building embedded systems.
- Debuggable designs - Tips for improving hardware designs
- Debugging ISRs - Part 1 - This is part 1 of a two part series on debugging interrupt service routines.
- Debugging ISRs - Part 2 - This is part 2 of a two part series on debugging interrupt service routines.
- Deconstructing XP - eXtreme Programming has some fabulous ideas. And some really dumb ones. This is a review of two XP books.
- Depot Repair - Thoughts on our throwaway economy, and our role in it.
- Design For Performance - Make the system as fast as it needs to be!
- Digital Engineering is More Fun - Core memory was all we had years ago. It's interesting stuff.
- Disaster - A description of some embedded disasters, and what we can learn from them.
- DMA - Too many of us don't really understand DMA. Read on...
- Do You Need A Degree - Is a degree needed? Useful?
- Drawing Systems - Most small companies never organize their drawings in a logical fashion, and instead all-too-often rely on memory when building production units. Here's an easy system that will get your drawings in order.
- DSP - An introduction to Digital Signal Processing.
- Electromagnetics for Firmware People - Maxwell's Laws really are important for firmware development. Here is an introduction.
- Embedded Lingos - How do you pick a language? Here's some thoughts about C++
- Embedded Trig - Here's some algorithms to make it easier to compute complex trig functions.
- Emulators - The basics of the In-Circuit Emulator
- Encoders - Want to learn more about measuring position? Read this article.
- Engineering Ethics - We enginers build systems that profoundly impact people's lives. Strong ethics are the most important tool we have to keep our customers safe from misbehaving products.
- Extreme Embedded - A look at eXtreme Programming.
- Green Motor Control - As a designer, you can make decisions that greatly impact the environment. Here's how to save energy.
- Guardian Angels - Every project needs a guardian angel, someone who watches over the code.
- Habits - The 7 Habits of Highly Dysfunctional Developers
- Hardware for Better Firmware - A few changes to the system's hardware design can greatly improve the code.
- How Microsoft Saved The World - The Big Bad Beast or a a force of good? Jack's inviting flames by claiming that without Microsoft we would still be computing on our fingers and toes.
- Huge Data on the Z180 - The Z180's banking scheme is great for handling code; data is a bit more complex. Here's example code.
- Jack's Rules of Thumb - Engineers use rules of thumb to quickly estimate rather than do detailed calculations. Firmware can benefit from the same idea. Here's a sampling of such rules.
- Jake Busts Out - Jake busts out of jail to help the VCs get a product to market.
- Java - Ready for Prime Time? - Is Java really the next silver bullet for embedded programming?
- Keep it Small - Get the product out faster by better partitioning
- Kids - In praise of kids these days
- Kids These Days - Back in my day, we had to build our own equipment
- Magic - an article about our society's inability to embrace the new technologies we techies create.
- Measuring Bugs - If you don't measure bug rates you'll never improve your coding. Besides, the right measures will accelerate the schedule.
- Memo To My Boss - Jake Schmidt quits and fires off a memo to his ex-boss. It's flaming, but full of useful lessons.
- Memorial Day - Years in the future a wealthy man looks back on how the embedded world collapsed.
- Memory as a Device - Clever use of memory devices can really enhance your products.
- Metastability and Firmware - A very subtle reentrancy-like situation develops when software needs two or more reads of hardware to input a value.
- Minimizing Analog Noise - Analog noise is a tough problem. Here are a few ways to minimize it.
- Momisms - Things your mom should have taught you
- On Management - Thoughts on managing development
- On Measurements - Managers chant "If you can't measure it, you can't manage it." What should we measure in firmware development?
- Open Source? - Opening the open source debate
- Oscilloscope Upate - The wise embedded engineer will be a master of many tools. The scope is one of the most important.
- Passion and the Developer - Use reason, not emotions.
- Perform or Perish - How do you deal with software performance problems?
- Picking a CPU - How do you decide what CPU to use? Here's some factors to consider.
- Pipelines and Prefetchers - All modern processors use pipelines and/or prefetchers to increase performance. Here's how they work.
- Position Encoders - Encoders transmit position or frequency info to the computer. Here's a few ways to make life with them easier.
- Proactive Debugging - Seed your code with simple tricks to find bugs
- Programming Style - Programming style is just as important as any other parameter that goes into a coding task. Here are a few ideas, rants, and raves.
- Promise Management - We make lots of promises to our boss, our employees, spouse and children. Promises are a sort of social currency. Manage them properly or they'll lose their value.
- Prototyping with SMT - One person's experience with using SMT devices on prototypes.
- Radio Days - Radios and noise reduction
- Read That Datasheet - Never assume a part has certain electrical or timing parameters. Often little surprises lurk. Did you know that virtually all microprocessors do not accept TTL levels for clock and reset?
- Real Time - The basics of real-time programming
- Reentrancy - Most real time systems require a certain amount of reentrant code, yet too many programmers have no idea what this entails
- Refreshing Software - Refresh is yet one more thing that software can, in some situation, replace.
- Religious Wars - Choosing a programming language is a place where people often get really dysfunctional.
- Relocatable Code - Some embedded code must run at more than on address.
- Resistors - Be careful how you design resistors and R-packs into your digital circuits. This article tells how.
- Sailing stories, linked here by popular demand
- Schedule Madness - Most schedules are dysfunctional
- Scheduling - It is possible to create accurate schedules, here's how.
- Self Calibrating Systems - Here's an algorithm to make an instrument read correct values without ever manually setting gain and offset coefficients.
- Sell Yourself - Guidelines for writing a resume.
- Serial Data Transmission - Here's a primer to using UARTs in embedded systems.
- Shared Perceptions - On a stop in Bermuda, Jack meets a wizened ex-developer. Over too many drinks several interesting lessons emerge.
- Small is Beautiful - Small Processors dominate this industry. This is why.
- Smoothing Digital Inputs - There's a lot of way ways to debounce digital inputs. A few are listed in this article.
- Speed Kills - Data comm over cheap serial links might be more cost effective than other, faster, options.
- Survival of the Fittest - Do you work hard? How about smart? This article might make you mad, but hopefully it's start some ideas flowing. Feel free to send flames to us via email!
- Taming Analog Noise - Here's a few ways to use smart software to reduce the amount of noise in your system.
- Testing RAM - How to test system RAM.
- Thanks for the Memories - Here's some advice about testing RAM and ROMs in your embedded system.
- The C Blues - C is still a long way from what we embedded folks need in a language. Here's some ideas and complaints.
- The Case of the Crashing 68000 - a fun detective story about embedded systems
- The Future of Embedded Programming - Here's a set of prognostications about programming in the future. Read 'em and weep.
- The Good Guys - Here are a few great products for managing spam, backups, network security, and even a cool CAD package.
- The ICE Blues - Using an emulator? Here are some gotchas to watch out for.
- The Olden Days - Before CAD we pushed our pencils in the snow, uphill both ways.
- The Organized Bench - Lab pigs beware! This is your 12 step plan to recovery.
- The Perils of NMI - NMI is a critical resource, yet all too often it's misused.
- The Secret of My Success - Our hero takes on another project... heh heh
- The Tao of Diagnostics - part 2 of a two part series on embedded diagnostics
- The Vote - This article, written in 2002, discusses how Bubba "the can man" won the 2004 presidential election.
- The Zen of Diagnostics - part 1 of a two part series on embedded diagnostics
- The Z80 Lives! - The Z80 and its derivatives continues to be tremendously successful. Here's the current state of the art.
- Toastal Lessons - Our hero designs a mechanical toaster, that morphs into a net-connecte 32 bit monster
- Tool Quest - Decent tools have less than zero cost... if you make more than a dollar an hour.
- Tools For Clean Code - There are a lot of tools around that will automatically check our code. Efficient developers automate everything they can. Experts know that firmware is so expensive that any code-auditing tool is a great thing.
- Tricks of the Trade - Troubleshooting hints and kinks.
- Troubleshooting - Troubleshooting is a mental exercise requiring a firm grasp of the technical concepts involved, along with the right philosophy.
- Troubleshooting 101 - Troubleshooting is more art than science. Here's some ideas.
|
 |