Artigos do Jack PDF Versão para impressão Enviar por E-mail

 

Abaixo temos a lista de artigos publicados por Jack Ganssle.

 

 

Analog, Filtering, etc.

  • Convolutions - Convolutions are a really cool way to smooth and even differentiate data. You gotta check this out.

  • Minimizing Analog Noise - Analog noise is a tough problem. Here are a few ways to minimize it.

  • Radio Days - Radios and noise reduction

  • Self Calibrating Systems - Here's an algorithm to make an instrument read correct values without ever manually setting gain and offset coefficients.

  • Smoothing Digital Inputs - There's a lot of way ways to debounce digital inputs. A few are listed in this article.

  • Taming Analog Noise - Here's a few ways to use smart software to reduce the amount of noise in your system.

Communications

  • Bit Banging - You don't need a UART to send and receive serial data. Software alone suffices. Here's the code.

  • 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.

  • Serial Data Transmission - Here's a primer to using UARTs in embedded systems.

  • USB  - An overview of embedded USB

Debugging Embedded Systems

Fun Embedded Systems

  • Aprils Fools - So you have a backup strategy?

  • Call Me Ishmaell - Lessons from failures on a small boat at sea.

  • Dear Abbey - Abbey talks to developers about building embedded systems. 

  • Firmware Disasters - Test like you fly, fly what you have tested!

  • Disasters Redux! - Those who forget history are condemned to repeat it.

  • Jake Busts Out - Jake busts out of jail to help the VCs get a product to market. 

  • 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. 

  • The Case of the Crashing 68000 - a fun detective story about embedded systems

  • The Secret of My Success - Our hero takes on another project... heh heh

  • The Vote - This article, written in 2002, discusses how Bubba "the can man" won the 2004 presidential election. 

  • Toastal Lessons - Our hero designs a mechanical toaster, that morphs into a net-connecte 32 bit monster

Hardware

  • 8 and 16 Bit Microcontrollers - A look at the state of smaller CPUs

  • An Example of Foolishness - Jack lays out the basic rules of troubleshooting anything.

  • ARRLHandbooks -  A review of one of the finest hardware handbooks.

  • Asynchronous Hardware-Firmware - External events that are changing (analog inputs, timers, encoders and many other sources) often sometimes confuse the code. Few developers understand how to read these simple inputs reliably.

  • 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.

  • 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.

  • Bus Cycles - Software folks need to understand how a microprocessor handles data on its busses. Here's the short intro.

  • Computing CRCs in Parallel - How to use a PLD to figure CRCs in a single clock cycle.

  • 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.

  • Electromagnetics for Firmware People - Maxwell's Laws really are important for firmware development. Here is an introduction.

  • Encoders - Want to learn more about measuring position? Read this article.

  • Green Motor Control - As a designer, you can make decisions that greatly impact the environment. Here's how to save energy.

  • Hardware for Better Firmware - A few changes to the system's hardware design can greatly improve the code. 

  • Interrupt Latency - Do you really know what latency is? Where it comes from? How to measure it? Here's guidelines.

  • Is Hardware Reliable - How reliable is hardware anyway? Intel's telling us not to expect our CPUs to actually work . . . 

  • Metastability and Firmware -  A very subtle reentrancy-like situation develops when software needs two or more reads of hardware to input a value. 

  • New Hardware - Suggestions for bringing up a new hardware design. 

  • 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.

  • Prototyping with SMT - One person's experience with using SMT devices on prototypes.

  • 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?

  • Refreshing Software - Refresh is yet one more thing that software can, in some situation, replace.

  • Resistors - Be careful how you design resistors and R-packs into your digital circuits. This article tells how.

  • Smoothing Digital Inputs - There's a lot of way ways to debounce digital inputs. A few are listed in this article.

  • The Zen of Diagnostics - part 1 of a two part series on embedded diagnostics

  • The Tao of Diagnostics - part 2 of a two part series on embedded diagnostics

  • VCO Based Sensors - VCOs can form a clever way to digitize analog data.

  • What Goes In Must Come Out - FIFOs are hardware analogs of a sort of reverse stack. Here's how they work.

Historical Embedded Systems

Managing, Scheduling, Tracking Embedded Systems

Math

  • Embedded Trig - Here's some algorithms to make it easier to compute complex trig functions.

Memory

Philosophical and Career

  • As Good As It Gets - Why is it so hard to build great code? Musings on software failures. 

  • At Sea - Embedded Systems 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.

  • Crash and Burn - Disasters, and what we can learn

  • Depot Repair - Thoughts on our throwaway economy, and our role in it.

  • Disaster - A description of some embedded disasters, and what we can learn from them.

  • Do You Need A Degree - Is a degree needed? Useful? 

  • 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. 

  • Habits - The 7 Habits of Highly Dysfunctional Developers

  • 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. 

  • Kids - In praise of kids these days

  • Kids These Days - Back in my day, we had to build our own equipment.

  • Living to Learn - A philosophy of never having to say you're done with school

  • Magic - an article about our society's inability to embrace the new technologies we techies create.

  • 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. 

  • Momisms - Things your mom should have taught you

  • Non-Degreed Engineers - How important is a degree in this industry?

  • Open Source? - Opening the open source debate

  • Passion and the Developer - Use reason, not emotions.

  • 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. 

  • Religious Wars - Choosing a programming language is a place where people often get really dysfunctional.

  • Sell Yourself - Guidelines for writing a resume. 

  • 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.

  • 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!

  • 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 Future of Embedded Programming - Here's a set of prognostications about programming in the future. Read 'em and weep.

  • The Vote - This article, written in 2002, discusses how Bubba "the can man" won the 2004 presidential election. 

  • When the Thrill is Gone - Life has a funny way of changing the obvious...

RealTime and High Speed

  • An OS in a Can - Using a commercial RTOS will save big bucks... and is rather fun.

  • Asynchronous Hardware-Firmware - External events that are changing (analog inputs, timers, encoders and many other sources) often sometimes confuse the code. Few developers understand how to read these simple inputs reliably.

  • Beginner's Corner - Reentrancy - A beginner's guide to reentrancy issues.

  • Coding ISRs - Handling interrupts is tricky at best. Here's a few suggestions.

  • Design For Performance - Make the system as fast as it needs to be!

  • DSP - An introduction to Digital Signal Processing.

  • Interrupt Latency - Do you really know what latency is? Where it comes from? How to measure it? Here's guidelines.

  • Interrupt Predictability - How do you know if your ISRs will be fast enough?

  • Metastability and Firmware -  A very subtle reentrancy-like situation develops when software needs two or more reads of hardware to input a value. 

  • Perform or Perish - How do you deal with software performance problems?

  • Real Time - The basics of real-time programming

  • Speed Kills - Data comm over cheap serial links might be more cost effective than other, faster, options.

  • The Perils of NMI - NMI is a critical resource, yet all too often it's misused.

  • What Happens at 100Mhz? - At very high speeds we'll have to change debugging strategies. Here's some ideas.

Sailing Stories

  • Sailing stories, linked here by popular demand

Software Processes

  • A Matter of Style - We tend to be bad a living up to promises we make - even to ourselves. It's important to change the whole approach.

  • Awesome Functions - How to write a clean, tight and bug-free function.

  • Bailing Frantically - In panic mode? You'll never exit it till you take time to stop bailing and plug the leaks. 

  • Comments on Commenting -  Rules for creating awesome comments in your code. 

  • Deconstructing XP - eXtreme Programming has some fabulous ideas. And some really dumb ones. This is a review of two XP books. 

  • 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. 

  • Fire Code for Software - As a collector of software disasters - why is there no fire code for software?

  • Interactive Design - Build your system incrementally. Here's some tips.

  • 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. 

  • Longevity Planning - Do you have a backup system?

  • Measuring Bugs - If you don't measure bug rates you'll never improve your coding. Besides, the right measures will accelerate the schedule. 

  • Momisms - Things your mom should have taught you

  • On Measurements - Managers chant "If you can't measure it, you can't manage it." What should we measure in firmware development?  

  • Picking a CPU - How do you decide what CPU to use? Here's some factors to consider.

  • 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. 

  • Shared Perceptions - On a stop in Bermuda, Jack meets a wizened ex-developer. Over too many drinks several interesting lessons emerge. 

  • 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. 

Tools

  • A Plea to Compiler Vendors - Compilers miss the mark on real-time issues

  • Beginner's Corner - In-Circuit-Emulators - A beginner's guide to the best debugging tool of all, the in-circuit emulator. 

  • Built-in Debuggers - More and more processors have built-in debugging resources. Here's a look at what features they offer.

  • C for Microcontrollers - This article discusses the state of C for controllers circa 1990.

  • Embedded Lingos - How do you pick a language? Here's some thoughts about C++

  • Emulators - The basics of the In-Circuit Emulator

  • Java - Ready for Prime Time? - Is Java really the next silver bullet for embedded programming?

  • Language Selection - Thoughts on selecting a programming language

  • Oscilloscope Upate - The wise embedded engineer will be a master of many tools. The scope is one of the most important.

  • Religious Wars - Choosing a programming language is a place where people often get really dysfunctional.

  • 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 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.

  • 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. 


 

Parceiros

Faixa publicitária

Newsletter

Receba informações sobre os eventos realizados pelo Portal Eventos Embarcados










Valid XHTML & CSS | Template Design ah-68 | Copyright © 2009 by Firma