Skip to Content
Designing Embedded Hardware, 2nd Edition
book

Designing Embedded Hardware, 2nd Edition

by John Catsoulis
May 2005
Beginner to intermediate
398 pages
12h 12m
English
O'Reilly Media, Inc.
Content preview from Designing Embedded Hardware, 2nd Edition

Interacting with Hardware and Memory

Forth is great for debugging embedded hardware. You can use Forth to examine the contents of memory or peripheral registers:

2000 @

This places the content of address 2000 onto the stack. You can also use Forth to set memory or peripheral registers:

41 2000 !

This sets the content of address 2000 to 41. Remember that you can do this from within a word or interactively from the command prompt. This means that from the prompt, you can interactively probe and change peripheral registers—a very powerful debugging tool.

Warning

If you're using a version of Forth that is running on a desktop computer (such as a Mac or PC), don't try using store (!) or any other word that directly modifies memory, as it may have unforeseen (and possibly disastrous) results.

Fetch (@) and store (!) work with 16-bit-wide locations. To access 8-bit-wide locations, use the words c@ ("c-fetch") and c! ("c-store"), respectively. To access 32-bit-wide locations, use 2@ and 2!.

Warning

On some versions of Forth, such as gnu's gforth running on a PowerPC processor, @ and ! operate on 32-bit values rather than 16-bit values. Similarly, on the same platform, 2@ and 2! are 64-bit operations.

As an example, let's create a Forth program called status that will read the content of an 8-bit register located at address 2100 and place the result onto the stack.

: status 2100 c@ ;

This can be manually run from the prompt to examine the register during debugging:

status .

Perhaps you would like ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Designing Embedded Hardware

Designing Embedded Hardware

John Catsoulis
Analog Circuit Design Volume Three

Analog Circuit Design Volume Three

Bob Dobkin, John Hamburger

Publisher Resources

ISBN: 0596007558Errata Page