Running VxWorks 7 on the Nitrogen8M SBC

2020-07-04T15:30:22+01:00July 4, 2020|Blog|

In this short article I'll look at how the support for modern system-on-chip devices in Wind River's VxWorks 7 real-time operating system enables developers to get a kernel running a new board is a very short space of time. Why use the Nitrogen8M SBC? The Boundary Devices Nitrogen8M SBC is a great development board we've

I2C lock-up: prevention and recovery

2020-07-01T18:11:15+01:00July 1, 2020|Blog|

  I2C is normally thought of as being a straightforward and easy-to-use interface, but there are some pitfalls that can catch the unwary.  In this post I'm going to explain one of them and give some practical advice that will help you avoid being caught out. What is I2C? First of all, to re-cap: I2C

QNX PTP pulse per second output on the Intel i210

2020-06-01T09:32:48+01:00April 21, 2020|Blog|

A requirement for the QNX network driver we recently wrote was to add support for outputting a pulse-per-second signal, similar to the Linux PTP_PEROUT_REQUEST ioctl. We added support to the driver by creating a new IOCTL command and a simple utility program to issue the command to enable or disable the PPS output. This is

QNX network driver custom ioctls

2020-06-01T09:32:03+01:00April 21, 2020|Blog|

Learn how to add your own custom commands to your QNX network driver using lessons learned from a real project described below. QNX defines a set of IOCTL commands that a driver must implement in order to support PTP. These are defined in usr/include/netdrvr/ptp.h.  #define PTP_GET_RX_TIMESTAMP    0x100  /* get RX timestamp */ #define PTP_GET_TX_TIMESTAMP    0x101  /* get TX timestamp */ #define PTP_GET_TIME            0x102  /* get

QNX Network Driver Development

2020-01-06T20:06:56+00:00November 21, 2019|Blog|

Network driver development is hard Writing network drivers is a tricky business as anyone who has ever tried it will tell you. Or you are talking to Bill Joy.  My experience has been on a various RTOSes but mostly on VxWorks. Recently, I wrote a network driver for a new gigabit Ethernet controller for QNX

VxWorks 7 VxBus device-specific parameters

2019-10-06T20:08:50+01:00October 1, 2019|Blog|

Using VxWorks 7 VxBus device-specific parameters Add flexibility to your driver configuration using device-specific parameters. A couple of years ago we developed a VxWorks 7 BSP for the Renesas R-Car H3 SIP evaluation board. This included developing drivers for the main SoC interfaces: serial, Ethernet, MMC, I2C, GPIO and PCI Express.  I wrote the PCI

Security Issues with the IoT

2018-07-02T10:41:12+01:00June 7, 2016|Blog|

The ability to connect, communicate with, and remotely manage immense numbers of networked, automated devices via the internet has now permeated all areas of our lives. However, against a wider backdrop of increasing cyber fraud and online crime, our growing reliance on interconnected devices is raising serious concerns about security.

Why is so much Embedded Code Unreadable?

2018-07-02T10:41:55+01:00February 20, 2015|Blog|

The importance of readability is not just about aesthetics and beautiful code – although that plays a part – but it relates directly to the overall lifecycle cost of software.

Load More Posts