Best Practices for Writing Safer C Code

Thomas Honold wrote an article published on EETimes giving 17 steps to safer C code. Not only this article provides tips to write safer C code, but I believe those steps are simply best practices when writing C code for embedded systems as they shorten the software life cycle by making it easier for a software team to write, debug and maintain code and by improving the software QA procedure. Here’s a summary of the 17 steps to achieve safer C code: Follow the rules you’ve read a hundred times: Initialize variables before use. Do not ignore compiler warnings. Check return values. Use enums as error types. Define an ENUM_MAX value at the end, so that the code to check the range does not have to be modified each time you add a new error code. Expect to fail Always assume there will be an error and set to default […]

What Programming Language Should I Learn ?

“What programming language should I  learn ?” is a question often asked by people new to software development. The answer is always “it depends”. But for embedded systems, it seems C language is a must as you can see in the chart below (Source: “The 2011 Embedded Market Study” by Embedded.com). For the 2011 survey, 1886 respondents from across the embedded industry answered that their embedded project was mostly programmed in C language  (62%), followed by C++ (22%), assembler (5%) and Java (2%). The other languages were all under 1%.   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 daily news, and reviews full time later in 2011. www.cnx-software.com

Android 2.3.4 Release For ST Ericsson Snowball Development Board

Igloo Community – the team developing for ST Ericsson Snowball Nova A9500 development board – has released the first version of Android 2.3.4 for the board. It can be downloaded at http://igloocommunity.org/download/android/images/20110910/. Here are the main features for this release: Based on Android 2.3.4 HDMI/DVI-D display support Graphics acceleration with the Mali 400 GPU Bluetooth support Multimedia acceleration Ethernet connectivity microSD card support Sensors support ADB over ethernet (by default) and over USB OTG port and the Known issues: WLAN connectivity is disabled in the UI due to startup problems with the interface. Audio recording does not work Consecutive audio playback might not work Potrait mode does not work (rotating the device corrupts screen until rotated back) Might be a temporary problem, but the browser crashes on the default google page when loading finishes. Other pages seem to work fine, so interrupting loading or going through the search acts as […]

Chumby NeTV: Open Hardware and Software STB

Althought not officially announced, Chumby is currently developing a Linux-based IPTV media player that can be remotely controlled by a Wi-Fi connected Android device. It will be offered as an open development platform where both software and hardware will be made available to developers. NeTV is built around a Marvell Armada 166 processor clocked at 800 MHZ (88AP166 – Armada 100 Family) with 2GB RAM, a MicroSD slot and Wifi. The media player is powered via micro USB and comes with a 7-button IR remote, although you might prefer to use your Android device to control the device via a WiFi connection.  NeTV STB supports  HD resolution (480p, 720p & 1080p24 “True Cinema”). On the software side, NeTV provides what they call “Smart Event Display” that allows you to receive personalized internet news via Twitter, Facebook and other internet news source. Android users can also enjoy seamless SMS and email […]

Advantech PCM-C3500 Series OMAP35xx SBC

Advantech announced the PCM-C3500 Series single board computers (SBC) powered by TI OMAP3503 or OMAP3530 processors with 128 to 256 MB SDRAM and 1 to 2 GB Flash (optional) . These heatsink-free boards are targeted for various low-power applications in industrial control, HMI/kiosk, medical, and portable applications.The boards will run Windows CE 6.0 (default), Embedded Linux 2.6 and Android 2.2. Here are the specifications for PCM-C3500 SBC: CPU – PCM-C3530: TI OMAP3530 @ 600 MHz / PCM-C3503: TI OMAP3503 @ 600 MHz DSP – Built-in 430-MHz TMS320C64x+™ DSP Core (PCM-C3530 only) 2D/3D Accelerators – OpenGLES 1.1 and 2.0, OpenVG1.0 (PCM-C3530 only) OS – WinCE6.0 English professional version as default, and Linux DRAM – PCM-C3530: 256 MB, PCM-C3503: 128 MB (Optional: 256 MB) Onboard Flash – PCM-C3530: Default 2 GB, (Optional: 0 GB, 1 GB) /PCM-C3503: Default 0 GB, (Optional: 1 GB, 2 GB) RTC Watchdog Power Management – Standard, idle […]

Installing Android 2.3.5 on HP TouchPad

The instructions to install Android 2.3.5 (Pre-Alpha) on HP TouchPad have now been made available for developers by fnj00 (touch-droid community) who want to play with the system. N.B: Normal users should not install this version as this is a pre-alpha build and some features like wifi do not work. You can get the system dump and android.uImage at http://touch-droid.com/touch-droid.torrent or http://randomshit.dreamhosters.com/TouchPad/. This system dumps use the touch screen drivers recently made available by CyanogenMod Team. You’ll also need to install the Palm SDK in order to have Novaterm and Novacom installed on your computer. Then you’ll have to re-partition your flash to add one partition for Android and dump the system image to the new partition. Please visit Semi-working build of 2.3.5 on the HP TouchPad to get the step by step instructions to install Android 2.3.5 on your HP TouchPad. After installation, you’ll have a dual boot system […]

Netgem N7500 & N9700 Media Centers and N8400 Media Server

Netgem will be present at IBC 2011 in Amsterdam this week. They have updated their website this week, where we can see their current Sigma Designs platform such as the N5200 Internet OTT adapter  and N8200 Media Center as well as the new platform based on Broadcom solutions namely: N7500 Media Center based on Broadcom BCM7230 with 1 Tuner and flash storage N8400 Media Server based on Broadcom BCM7413 with 2 to 4 tuners and HDD. In a separate presentation, they also mention the Netbox N9700 which will be released in 2012. There is no mention of the processor used (probably Broadcom) , but the device will support Netgen nCloud Core features (IPTV, Broadcast TV, Pay TV and PVR functions) and nCloud Advances features (Broadcast to 4/6 screens, download to own, download to go, multimedia NAS and convert media to mobile). You’ll also be able to play games (Gameloft) and […]

Nvidia Tegra 3 based Tablets Could be Ready for Xmas

Back in February at MWC2011, Nvidia announced its Tegra Roadmap including a demo of the Tegra 3 quad-core processor (Codenamed “Kal-El”) . Kal-El features a new Geforce GPU with 12 cores, giving 5 times greater performance than Tegra 2 and  NVidia also provided benchmark results showing that Kal-El was faster than an Intel Core2 Duo T7200. Yesterday, NVidia CEO – Jen-Hsun Huang – announced that tablets based on Nvidia Tegra 3 could be available later this year, but that quad-core smartphones would only be available in 2012. Since Android 4.0 is likely to be released sometimes in October or November, we could see quad-core Android 4.0 tablet for Xmas although the schedule is very tight. He went on to say that there are only 2 active players in the high-end mobile processor market: Nvidia and Qualcomm  (Qualcomm will ship its latest quad-core processor Snapdragon APQ8064 later in 2012). Nvidia CEO […]

UP 7000 x86 SBC