Tags

kernel

  • 2017-11-06

    Understanding the NXP i.MX6UL Pin Mux (Part 2)

    In the previous post, it was noted that bit 30 needs to be set in the i.MX6UL pad config if you want to read the state of a GPIO output. Digging into this a bit more, we find the following text in the Documentation/devicetree/bindings/pinct…

  • 2012-01-31

    A Linux Kernel Tracing Tutorial

    The Linux kernel has a fairly extensive tracing infrastructure that is quite useful for debugging.  There are a number of things you can do with tracing, but the focus of this article will be the traditional printk type debugging we often e…

  • 2009-12-07

    OMAP3 Resume Timing

    One of the most common power management modes for ARM processors is the suspend mode.  In this mode, peripherals are shut down when possible, the SDRAM is put into self-refresh, and the CPU is placed in a low power mode.  A useful bit of in…

  • 2009-12-01

    Linux kernel stats, and long term advantages

    I just read an interesting interview with Greg Kroah Hartman.  According to Greg, we add 11,000 lines, remove 5500 lines, and modify 2200 lines every single day.  This rate of change is something that few organizations have the resources to…

  • 2009-11-23

    Linux PM: OMAP3 Suspend Support

    This article provides an overview of the Linux kernel support for the suspend state in the TI OMAP3.  Power management has always been one of the more difficult parts of a system to get right.  The OMAP3 power management is quite extensive.…

  • 2009-11-19

    Integrated CAN solutions for Linux

    I just received an email notification from EMS (http://ems-wuensche.com/) that support for their CAN controllers is now in mainline Linux kernels.  The EMS PCI products are supported in 2.6.31, and the CPC-USB product will be supported in 2…

  • 2009-10-13

    Best practices for kernel development with OpenEmbedded

    A common question is how do you do kernel development with OpenEmbedded?  Typically, OpenEmbedded builds a kernel by checking the source out of a git repository, or by applying patch files to a released version of the kernel.  See the many …

  • 2009-06-20

    Embedded Linux versus Windows CE

    Occasionally I am asked how Embedded Linux compares with Windows CE.  I have spent the past 5 years doing mostly embedded Linux development, and the previous 5 years doing mostly WinCE development with a few exceptions, so my thoughts are n…

  • 2009-04-24

    Compulab cm-x270 kernel updated to 2.6.29 in OE

    The cm-x270 kernel support in OpenEmbedded has just been updated to version 2.6.29.

  • 2009-03-19

    Wi2Wi W2CBW003 Wifi/Bluetooth module review

    The Wi2Wi W2CBW003 is a highly integrated module that provides both Wifi and Bluetooth radios for embedded designs. This module is ideal for embedded designs, as it provides a lot of functionality in a small package and includes standard i…

  • 2009-01-26

    Socketcan CAN-bus drivers added to OpenEmbedded

    I just added a recipe to OpenEmbedded to build the Socketcan kernel modules from the socketcan SVN.  So if you are using the latest OpenEmbedded metadata, you can: bitbake socketcan-modules scp /build/angstrom-2008.1/tmp/deploy/glibc/ipk//…

  • 2009-01-17

    Fix for PXA270 MMC/SD Controller Write Corruption

    During system verification for a customer, we noticed occasional failures when writing to a SD card using the Marvell PXA270 MMC/SD controller.  The failure is a 4KB block of data is shifted on byte, where the first byte is duplicated and t…

  • 2009-01-10

    How to implement an interrupt driven GPIO input in Linux

    With Linux, some of the things that seem like they should be easy are not – at least at first glance.  For example, how do you read an interrupt driven GPIO input in a Linux application?  With simpler microcontroller systems, this is straig…

  • 2008-08-22

    Linux Input Testing and Debugging

    The Linux input layer has made a lot of progress in recent years.  When writing a new input driver (such as keyboard, trackball, etc), it is useful to be able to monitor input events using a test application.  This article describes two way…

  • 2008-04-02

    The Linux kernel container_of macro

    The Linux kernel contains a very useful macro named “container_of” that is used extensively in back-casting a data structure to its containing data structure.  This article includes a simple program that illustrates how this macro is used, …

  • 2008-03-19

    Should you be using monotonic timers?

    In a previous article, I covered some of the basics of Linux timers.  Any time you are doing any type of fixed time delay in a program, you should really be using monotonic times, so the delay will not be affected by system time changes.  I…

  • 2008-02-29

    Compulab cm-x270 kernel update to 2.6.24

    The kernel support in OpenEmbedded for the Compulab cm-x270 has been updated to version 2.6.24.  The 2.6.24 kernel opens up several possibilities including better real time and high resolution timer functionality, an improved SD Card driver…

  • 2008-02-18

    GESBC-9302E kernel update to 2.6.24, and reboot fix

    I recently updated the GESBC-9302 machine support in OpenEmbedded to include the 2.6.24 released kernel.  Also, Glomation has kindly provided me with a patch for the software reboot problem which I have integrated into the OpenEmbedded buil…

  • 2008-01-09

    Marvell Embedded SDIO Wifi Success

    As detailed in the article I wrote back in September of 2007 (/web/content/view/75/9/), getting  embedded wifi modules functioning is not a simple task.  However, due to recent advances in the Linux kernel, it looks like a viable solution f…

  • 2007-10-22

    Linux 2.6.23 for the Compulab cm-x270

    Updated 2.6.23 kernel patches for the Compulab cm-x270 are now available in OpenEmbedded: http://www.openembedded.org/filebrowser/org.openembedded.dev/packages/linux/linux-2.6.23/cm-x270 The cm-x270 support in OpenEmbedded has undergone a l…

  • 2007-09-25

    How to implement realtime periodic tasks in Linux applications

    (see also should you be using monotonic timers?) Have you ever wondered what is the best way to implement periodic tasks in Linux applications – something better than usleep()?  This article covers a number of issues related to this subject…

  • 2007-08-13

    Linux 2.6.22 for the Compulab cm-x270

    I just completed porting the cm-x270 Linux kernel patches to the 2.6.22 kernel.  Kernel build is available in OpenEmbedded.  Patches are available in the OE tree: http://www.openembedded.org/filebrowser/org.openembedded.dev/packages/linux/c…

  • 2007-05-12

    Is Linux ready for real-time applications?

    Have you ever wondered about the real-time response of Linux and how well it performs?  I recently developed a system where I had the requirement to send a packet of data out a serial port every 30ms.  This article describes how stock Linux…

  • 2007-02-21

    Do you need "software update" functionality in your Embedded Linux system?

    In this day and age, most embedded systems include a way for users to easily update software once the device has been deployed.  This article discusses the requirements for a field update mechanism along with pointers for how to implement. …