Suggested Reading

I am working on what QNX calls a “deeply embedded” project with my own
hardware design based on the Motorola Lite5200 BSP. I have built my own
IPL, built my own startup code, built my OS image, and have run some simple
test applications on my custom built hardware.

Up to this point in my project, I have been primarly concerned with just the
basics, getting the hardware booted up and twiddling the right register bits
to get things configured properly. The test programs I have written hardly
use OS calls at all except to memory map my hardware devices.

Now, that I have the hardware under control, it is time to get the real time
software going and I need some help achitecting the software. I expect to
have multiple processes running such as CAN driver(s), dual port driver, and
a couple of independent application programs that use both the CAN drivers
and the dual port. What I need is information on how to get all those
processes to cooperate with each other. I have read the tiny little book
that came with my QNX license and it provides some hints, but its subject
matter is so wide that it is necessarily shallow.

Briefly, my background is this. I am an experienced C programmer. I am
experienced with embedded systems. I am experienced with other non-POSIX
RTOS’s (both using and some kernel development.) I have academic training
in hardware and software design. My experience with UNIX-like systems is
limited to a user. I have no experience in programming UNIX/POSIX/Linux
systems. I have some experience programming for MS-Windows.

Where do I go from here? Should I bone up on POSIX or do I need to focus on
QNX? Are POSIX materials too general for the QNX world? Any suggested
reading for architecting sofware under POSIX (or QNX)?

The QNX documentation seems to do a reasonably good job of describing all
the calls, but I’m looking for something one level higher that gives some
ideas on how to put everything together. Basically, I’m trying to avoid
being a hack. I’m sure I could hack something together, but I’d rather have
something a little more elegant.

Any suggestions for reading materials would be appreciated.

Thanks,
Matt

www.parse.com


Marty Doane
Siemens Dematic

“Matt Boothe” <embeddedmatt@yahoo.com> wrote in message
news:chprot$4rl$1@inn.qnx.com

I am working on what QNX calls a “deeply embedded” project with my own
hardware design based on the Motorola Lite5200 BSP. I have built my own
IPL, built my own startup code, built my OS image, and have run some
simple
test applications on my custom built hardware.

Up to this point in my project, I have been primarly concerned with just
the
basics, getting the hardware booted up and twiddling the right register
bits
to get things configured properly. The test programs I have written
hardly
use OS calls at all except to memory map my hardware devices.

Now, that I have the hardware under control, it is time to get the real
time
software going and I need some help achitecting the software. I expect to
have multiple processes running such as CAN driver(s), dual port driver,
and
a couple of independent application programs that use both the CAN drivers
and the dual port. What I need is information on how to get all those
processes to cooperate with each other. I have read the tiny little book
that came with my QNX license and it provides some hints, but its subject
matter is so wide that it is necessarily shallow.

Briefly, my background is this. I am an experienced C programmer. I am
experienced with embedded systems. I am experienced with other non-POSIX
RTOS’s (both using and some kernel development.) I have academic training
in hardware and software design. My experience with UNIX-like systems is
limited to a user. I have no experience in programming UNIX/POSIX/Linux
systems. I have some experience programming for MS-Windows.

Where do I go from here? Should I bone up on POSIX or do I need to focus
on
QNX? Are POSIX materials too general for the QNX world? Any suggested
reading for architecting sofware under POSIX (or QNX)?

The QNX documentation seems to do a reasonably good job of describing all
the calls, but I’m looking for something one level higher that gives some
ideas on how to put everything together. Basically, I’m trying to avoid
being a hack. I’m sure I could hack something together, but I’d rather
have
something a little more elegant.

Any suggestions for reading materials would be appreciated.

Thanks,
Matt

Marty Doane <martin.doane@siemens.com> wrote:

www.parse.com

Ah you beat me to it :slight_smile: Thanks for the plug, Marty.

Cheers,
-RK


Marty Doane
Siemens Dematic

“Matt Boothe” <> embeddedmatt@yahoo.com> > wrote in message
news:chprot$4rl$> 1@inn.qnx.com> …
I am working on what QNX calls a “deeply embedded” project with my own
hardware design based on the Motorola Lite5200 BSP. I have built my own
IPL, built my own startup code, built my OS image, and have run some
simple
test applications on my custom built hardware.

Up to this point in my project, I have been primarly concerned with just
the
basics, getting the hardware booted up and twiddling the right register
bits
to get things configured properly. The test programs I have written
hardly
use OS calls at all except to memory map my hardware devices.

Now, that I have the hardware under control, it is time to get the real
time
software going and I need some help achitecting the software. I expect to
have multiple processes running such as CAN driver(s), dual port driver,
and
a couple of independent application programs that use both the CAN drivers
and the dual port. What I need is information on how to get all those
processes to cooperate with each other. I have read the tiny little book
that came with my QNX license and it provides some hints, but its subject
matter is so wide that it is necessarily shallow.

Briefly, my background is this. I am an experienced C programmer. I am
experienced with embedded systems. I am experienced with other non-POSIX
RTOS’s (both using and some kernel development.) I have academic training
in hardware and software design. My experience with UNIX-like systems is
limited to a user. I have no experience in programming UNIX/POSIX/Linux
systems. I have some experience programming for MS-Windows.

Where do I go from here? Should I bone up on POSIX or do I need to focus
on
QNX? Are POSIX materials too general for the QNX world? Any suggested
reading for architecting sofware under POSIX (or QNX)?

The QNX documentation seems to do a reasonably good job of describing all
the calls, but I’m looking for something one level higher that gives some
ideas on how to put everything together. Basically, I’m trying to avoid
being a hack. I’m sure I could hack something together, but I’d rather
have
something a little more elegant.

Any suggestions for reading materials would be appreciated.

Thanks,
Matt


[If replying via email, you’ll need to click on the URL that’s emailed to you
afterwards to forward the email to me – spam filters and all that]
Robert Krten, PDP minicomputer collector http://www.parse.com/~pdp8/

As has already been suggested there are two excellent books on QNX
Neutrino from Robert Krten.

What essentially will your end product be?

What kind of device support will you require?

I would stay close to the standards. The more you try to reinvent the
wheel the more of an uphill battle I think you will have. QNX is easy to
develop for. Use it to your advantage.


Matt Boothe <embeddedmatt@yahoo.com> wrote:
MB > I am working on what QNX calls a “deeply embedded” project with my own
MB > hardware design based on the Motorola Lite5200 BSP. I have built my own
MB > IPL, built my own startup code, built my OS image, and have run some simple
MB > test applications on my custom built hardware.

MB > Up to this point in my project, I have been primarly concerned with just the
MB > basics, getting the hardware booted up and twiddling the right register bits
MB > to get things configured properly. The test programs I have written hardly
MB > use OS calls at all except to memory map my hardware devices.

MB > Now, that I have the hardware under control, it is time to get the real time
MB > software going and I need some help achitecting the software. I expect to
MB > have multiple processes running such as CAN driver(s), dual port driver, and
MB > a couple of independent application programs that use both the CAN drivers
MB > and the dual port. What I need is information on how to get all those
MB > processes to cooperate with each other. I have read the tiny little book
MB > that came with my QNX license and it provides some hints, but its subject
MB > matter is so wide that it is necessarily shallow.

MB > Briefly, my background is this. I am an experienced C programmer. I am
MB > experienced with embedded systems. I am experienced with other non-POSIX
MB > RTOS’s (both using and some kernel development.) I have academic training
MB > in hardware and software design. My experience with UNIX-like systems is
MB > limited to a user. I have no experience in programming UNIX/POSIX/Linux
MB > systems. I have some experience programming for MS-Windows.

MB > Where do I go from here? Should I bone up on POSIX or do I need to focus on
MB > QNX? Are POSIX materials too general for the QNX world? Any suggested
MB > reading for architecting sofware under POSIX (or QNX)?

MB > The QNX documentation seems to do a reasonably good job of describing all
MB > the calls, but I’m looking for something one level higher that gives some
MB > ideas on how to put everything together. Basically, I’m trying to avoid
MB > being a hack. I’m sure I could hack something together, but I’d rather have
MB > something a little more elegant.

MB > Any suggestions for reading materials would be appreciated.

MB > Thanks,
MB > Matt


\

Bill Caroselli – Q-TPS Consulting
1-(708) 308-4956 <== Note: New Number
qtps@earthlink.net

Matt Boothe <embeddedmatt@yahoo.com> wrote:

Where do I go from here? Should I bone up on POSIX or do I need to focus on
QNX? Are POSIX materials too general for the QNX world? Any suggested
reading for architecting sofware under POSIX (or QNX)?

As mentioned by others – Rob’s books are one good place.

Or a QNX training course might be another. We’re doing a Realtime
Programming under QNX Neutrino, which basically starts where you’ve
finished and goes through from there, starting next Tuesday (3 business
days from now) which may be too soon for you to register & arrange
travel, but if you can do it, that’s another good way to go. (Contact
your sales/customer service rep if you want to register.)

-David

Please follow-up to newsgroup, rather than personal email.
David Gibbs
QNX Training Services
dagibbs@qnx.com