Book for Understanding the Minutia?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Recently, I was trying to get u-boot to connect to our NAND chip,
copying the init and reader code directly from the board maker's
diagnosis app. No connection.

After various tinkering about, I came to try and add in the nand init
code, but to modify the port init code to match that of the diagnosis
app--and it worked.

While I get the idea of raising and lowering certain bits on a port
register to send commands I, for instance, haven't the foggiest what
the differences are between an UP, DAT, and CON register, nor what
relationship those would have to each other such that if one is set
wrong, the other doesn't work.
I would assume that the technical documents released by the
architecture manufacturer has sufficient information that one could
figure this out--but I have no idea where one attains such knowledge
(as a programmer) so that you can look at the stuff written by the
hardware guys and translate that into functioning code.

I fear that this has mostly occurred by osmosis for most people, or
transferring from hardware to software somewhere through your career.
But before assuming that, just thought I would ask if there does happen
to be a book somewhere about that describes how to look at all of the
various charts and tables in the technical documentation and know what
that looks like from a programming standpoint.

Thank you,
Chris Williams

Re: Book for Understanding the Minutia?

Quoted text here. Click to load it

Back up a little.  I have no idea what a u-boot is or what init and
reader code are or who the board maker is or what the board is supposed
to do.  For specific systems, as you seem to be dealing with, the vendor
is the first place to go, since they should be familiar with the
equipment.  Often you can talk to someone directly.  Sometimes email
questions work well.  Larger vendors often have forums for discussion
among the users and technical staff.  Microchip is a good example of this.

If you have tried the vendor and can't get any help, go ahead and ask
here, but you will need to provide a lot more information than shown in
your post.

Quoted text here. Click to load it

Nor do I, but there should be some technical documentation somewhere
that describes this.  Check the vendor's web site for such supporting
information.  It might be titled a User's Manual, Technical Reference,
Data Sheet, Programmer's Reference, etc.

Quoted text here. Click to load it

Hmmm, the most important issue is usually to determine how to address
various registers in a device by your code.  You will, in general, need
to be able to read a schematic to understand such things as address
decoding and chip select.  If the device uses an interface supported by
a hardware peripheral, such as a UART, SPI, I2C, etc., you need to read
the processor description of the peripheral to know how to set up and
use the peripheral on the processor before you can do anything with an
external component.

There are introductory books on embedded systems development that cover
a lot of these issues (sorry, I don't know one to recommend).  Another
valuable resource, which is free, is the collection of application notes
for your processor and for your peripherals.  There are some good app
notes that include a schematic, parts lists, explanation of the design,
and processor code.  See if you can find an app note that is close to
you application and set of components.


Re: Book for Understanding the Minutia?
Quoted text here. Click to load it


No no, just providing background on why I'm here looking for books. I
just needed to replace the port init code with some from the maker.
Just bothers me that I had to do this without having the knowledge to
be able to figure out what the difference was between the various

Quoted text here. Click to load it

Ah. Had thought that this trio of registers might be common for IO
ports. Ah well.

Quoted text here. Click to load it

Yeah, this is what I am looking for. I am just hoping to be able to
find one that approaches things from a "hardware schematics for
non-hardware guys" point of view.

Quoted text here. Click to load it


Yep, have all that. And I can piece together bits by connecting my
(basic) knowledge of generic x86 assembly programming and matching up
macro's names and define values to those in the reference material--but
the reference material will say something like "0: The pull-up function
attached to the corresponding port is enabled."* but never explain what
a pull-up function is--so I assumed that this was something generic to
port IO. But since I have no idea what is and what isn't generic, at
this moment I don't know when I encounter something unexplained whether
I need to go looking up ports, or to track down people knowledgeable of
the board to ask (which I can't do easily in my current position.)

So if anyone out there does know a good book on embedded programming
and dealing with schematics, I'd be very gratious.


* Well actually, this line is from Samsung's S3C2410 reference. We have
darn near to squat material on the board we are building for except
this bit. But that's a different issue.

Site Timeline