Learn How to Write a Driver for Linux 3.x With The Linux Driver Template

A Linux Driver Template (LDT) has been published to help new Linux kernel developers writing hardware device drivers. Constantine Shulyupin posted the Linux Driver Template (LDT) on the Linux mailing list in order to merge it into the mainline Linux kernel. The code can be used as as a starting point for new drivers, and shows how to use several Linux facilities such as  module, platform driver, file operations (read/write, mmap, ioctl, blocking and nonblocking mode, polling), kfifo, completion, interrupt, tasklet, work, kthread, timer, simple misc device, multiple char devices, Device Model, configfs, UART, hardware loopback, software loopback and  ftracer. This sample has been added to other device drivers samples in eLinux.org. And if you want to learn further there’s always the Linux driver bible: “Linux Device Drivers, Third Edition” which can be downloaded for free as PDF, although it’s for 2.6.10 kernel and many parts may not be up-to […]

Debian is Worth a Lot (Yet it’s Free) and C/C++ Language Still Rules

James E. Bromberger (JEB) , a contributor to Perl CPAN and Debian, has estimated the cost of developing Debian Wheezy (7.0) from scratch based on the the number of lines of code (LOC) counted with SLOCCount tool, the Constructive Cost Model (COCOMO) and the average wage of a developer of 72,533 USD (using median estimates from Salary.com and PayScale.com for 2011). He found 419,776,604 lines of code in 31 programming languages giving an estimated cost of producing Debian Wheezy in February 2012 of 19 billion US dollar (14.4 Billion Euros), making each package source code (out of the 17,141 packages) worth an average of 1,112,547.56 USD to produce. He also estimated the cost of Linux 3.1.8 Kernel with almost 10 millions lines of source code would be worth 540 million USD at standard complexity, or 1.877 billions USD when rated as ‘complex’. I don’t know which tool he used for […]

Android Training & Tutorials

The Android team just announced the launch of Android Training a collection of classes aimed at helping developers to build better Android applications. Each class explains the steps required to solve a problem, or implement a feature, with code snippets and sample code. They’ll add more materials over time, but right now developers can already learn (more) about the following topics: Designing for Multiple Screens Improving Layout Performance Managing Audio Playback Optimizing Battery Life Remembering Users Sharing Content Capturing Photos Maintaining Multiple APKs Developing for Enterprise Monetizing Your App Designing Effective Navigation There are currently 34 lessons on all those topics, and most include code samples such as the News Reader  (Designing for Multiple Screens). You can get started immediately by visiting Android Training page. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write […]

Qt Quick QML Digital Signage Demo Part 2

Following up on Qt Quick QML Digital Signage Demo Part 1, I’ve updated the digital signage demo to support the following: Play 5 videos in a loop Display 5 pictures in a loop where the picture is changed every 5 seconds Use a (twitter) RSS feed for the scrolling text I initially planned to use QML to list the media files, but it is apparently not possible without using C/C++ and I may do it later on. So instead, I hard-coded the video and picture playlists in the QML files with the ListModel element. Videos are located in the video directory and pictures in the pic folder. An index is needed to scroll thru the playlist, but QML does not support global variables, so I created a JavaScript file (globals.js) to store the video and picture index: // Global variables in JavaScript file var iVideoIndex = 0 var iPicIndex = […]

Qt Quick QML Digital Signage Demo Part 1

I’ve recently started to play around with Qt and since I’d like to do a digital signage player running on Raspberry Pi, I’ve decided to try to make a simple digital signage demo application to evaluate the development platform. In Part 1, my goal was to make a 3 zones layout with a video zone, a picture zone and a scrolling text zone. I would just play one hard-coded media in each zone and the video and scrolling text would have to continuously loop. I used Qt Creator to create  a “Pigital Signage” application (or should it be Πgital Signage ?). To create the 3 zones I used the Gridview Element with 3 rectangles: Video zone: 600×432 Picture zone: 200×432 Text zone: 800×48 Displaying the image is very easy with the Image Element:

The video playback was also supposed to be easy with the Video Element but it can […]

Nokia Developer Day 2: Qt QML Workshop – Chiang Mai

I’ve just attended Nokia Developer Day  on 6-7 December 2011 in Chiang Mai. I’ve already written a summary about the first day dealing with Series 40 Java and Web Apps Workshop. The second day was focused on Qt/QML (Qt Meta-Language) software development for Nokia’s Symbian phones. Nokia will phase out Symbian operating system in 2016, but they’ll still support it until that time. Nokia will also port  Qt to lower end phones (e.g. Series 40) on a new operating system based on Linux called Meltemi. Overall Business Direction & Strategy The first 45-minutes for was presentation given by Grant Aaron McBeath, Managing Director, Nokia Thailand and Emerging Asia, about Nokia business direction: focus on Windows Phone for smartphones, Java/Web Apps for feature phones and future disruption. He also showed the progress of Nokia Ovi Store with 10 million downloads a day and 177 publishers with more than 1 million downloads. […]

Nokia Developer Day 1 Summary – Chiang Mai

I’ve just attended the first day of Nokia Developer Day (6-7 December 2011). The focus was on software development for Nokia’s feature phones with Java or Web Apps (HTML/CSS/Javascript) and most of the time was spent on workshops to get started for developing for Nokia feature phones such as the S40 series. Introduction to Ecosystem Business Updates During the first 15 minutes, an “Introduction to Ecosystem Business Updates” was given by Jirapat Janjerdask, Head of the Ecosystem Developer Experience at Nokia Thailand. He gave an overview of the ecosystem for features phones including the brand, developer & publisher, mobile brand, mobile operator and consumer. One interesting statistics was that there are 10 millions app downloads every single day. He also talked about the new Nokia Asha 300 and 303 features phones available for 3000 to 4000 Thai Baht (100 to 130 USD)  that are capable of running applications that usually […]

11 Recommendations for Optimizing Mobile Apps Power Efficiency

Following an AT&T Labs Research and corresponding paper entitled “Profiling Resource Usage for Mobile Applications: A Cross-layer Approach“,  AT&T found that a few simple design approaches could significantly improve mobile application responsiveness and reduce battery drain by lowering your application power consumption. They analyzed PANDORA internet radio and  discovered that the streaming music was delivered efficiently, but periodic audience measurements were draining battery life. Here is an excerpt of the PANDORA Case Study: While the music itself was sent simply and efficiently as a single file, the periodic audience measurements—each constituting only 2KBs or so—were being transmitted at regular 62.5-second intervals. The constant cycle of ramping up to full power (2 seconds to ramp up, 1 second to download 2KB) and back to idle (17 seconds for the two tail times, the first down from full-power mode and the second down from half-power mode) was extremely wasteful. Of the total […]

EmbeddedTS embedded systems design