Many network-enabled embedded devices do not have displays and configuration must be done via a webpage. This is the case for modems and routers and possibly for IP cameras, networked printers… With a web server, there is no need to develop specific drivers and/or applications for computers connected to the device. You just need to write HTML/Javascript pages and possibly CGI scripts. I’ve already posted a blog post about mathopd for ARM no-mmu targets as this HTTP server is ideal for uCLinux since it does not fork. Today, I’ll list some other HTTP servers that may also be used with embedded processors. Tiny/Turbo/Throttling HTTP server thttpd is a lightweight HTTP server implementing the HTTP/1.1 (minimum) and simple to configure and run. Its executable size is 88K. The description says it does not fork, but fork is called in the source code, so I do not know what that means… It’s […]
Open Source Licenses Overview: GPL, LGPL, Apache, BSD,…
The great thing about open source code is the large amount of high quality code that is available and many embedded projects use FOSS code as it really speeds up development time. What is not often taken into account are the licenses for the code. Many companies often simply ignore licenses issues and some even go one step further by obfuscating the code to work around dual license issues or to hide the use of a particular open source library. Even though history shows that few companies get sued due to open source license infringements and release of open source code modified in commercial projects often requires the community involvement, open source licenses should still be taken into consideration as the risk still exists. I’ll give an overview of open source licenses in this blog post, as well as recommendation on how to keep your proprietary code closed. Definition of […]
HTML5 Bleeding Edge – Google Devfest Chiang Mai 2011
GTUG Thailand has uploaded 2 videos that recorded HTML5 Bleeding Edge presentation by Eric Bidelman at Google Devfest 2011 in Chiang Mai, Thailand on September, 24 2011. This presentation focuses on what’s new on HTML5 including WebSockets, messaging, and rich media APIs like the Web Audio API. A summary of this presentation is available here. The presentation slides are available at http://bleedinghtml5.appspot.com and the instructions to retrieve code are given at http://code.google.com/p/bleedinghtml5/
Finding a Missing Package in Ubuntu with Aptitude
When you configure a program before building, it will usually check for dependencies and if one is missing it will return an error such as: checking for OPENSSL… configure: error: Package requirements (openssl) were not met: No package ‘openssl’ found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. It could be a PATH issue, but usually that simply means the development version of the library is not installed. Sometimes the name is easy to guess and can be installed with apt-get: sudo apt-get install packagename-devel But sometimes it’s more difficult to guess and Google is not always very helpful. In that case you can use aptitude to search for the package. For example for nss3: sudo aptitude search nss3 i libnss3 – Network Security Service libraries i libnss3-1d – Network Security Service libraries p libnss3-dbg – Development files for the Network Security p libnss3-dev […]
Qualcomm Snapdragon S4: MSM8960
Qualcomm initially announced the Snapdragon S4 is a blog post back in August. They have now released a white paper providing further information on this processor. The Qualcomm Snapdragon S4 (MSM8960) is composed of two Krait CPUs clocked between 1.2 and 1.5 Ghz, an Adreno 225 GPU and a modem subsystem with LTE, GPS, Wifi, Bluetooth and FM support. It will be manufactured using 28nm technology and provide much lower power consumption compared to previous generations. Key features and improvements: New CPU micro-architecture: The Krait CPU offer a 60% performance improvement compared to the scorpion CPU used in previous generations. SIMD/VFP performance: Multimedia instructions (SIMD) and floating point operations have also been improved, but no metrics have been provided. Optimized memory subsystem: Krait includes dual-channel memory. Dual-channel memory is critical in order for the processor to being able to handle the large bandwidth requirements in multicore systems. 25/40% power improvement: […]
Embedded Linux Conference Europe 2011
Embedded Linux Conference Europe (ELC-E 2011) will take place on October 26 – 28, 2011 at Clarion Congress Hotel in Prague, Czech Republic. The event will be co-located with LinuxCon Europe 2011 and GStreamer Conference. The day before the official opening of the conference, two tutorials will be offered on Tuesday 25th of October:b Outside the Box: An Introduction to Embedded Linux and Hardware Interfacing Using the Snowball Board – 9:00 – 17:00 – Trainer: Chris Simmonds – Cost: 350 USD. Embedded Android Workshop – 9:00 – 17:00 – Trainer: Karim Yaghmour- Cost: 300 USD. ELCE consists of 3 days of presentations, tutorials and sessions. There will be over 50 sessions during those 3 days. I’ll highlight a few sessions that I find particularly interesting. October 26 10:45 – 11:45 – Linaro’s Android Platform by Zach Pfeffer, Linaro Android Platform team leader. Linaro uses components from the Android Open Source […]
Dropbear: Lightweight SSH Server / Client
You may need to remotely access your embedded device, or your embedded systems is simply headless. You could use telnet, but this is insecure. A secure way to access a device remotly is to use SSH protocol. OpenSSH is one implementation but this is relatively too large and may use uncesary space on a device with limited storage. That’s where Dropbear comes into play. Dropbear is a lightweight implementation of an SSH client and server and is ideal for embedded systems. Dropbear ARM executable is only 200 KB. Here’s how it’s described on its website: Dropbear is a relatively small SSH 2 server and client. It runs on a variety of POSIX-based platforms. Dropbear is open source software, distributed under a MIT-style license. Dropbear is particularly useful for “embedded”-type Linux (or other Unix) systems, such as wireless routers. The main features of dropbear: A small memory footprint suitable for memory-constrained […]
Cross-comping zlib for ARM target
Zlib is defind as “A Massively Spiffy Yet Delicately Unobtrusive Compression Library” and used in many projects requiring compression. Here are the instructions cross-compile zlib for ARM: Download zlib1.25 wget http://cdnetworks-kr-2.dl.sourceforge.net/project/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz Extract it tar xzvf zlib-1.2.5.tar.gz cd zlib-1.2.5 Configure, build and install zlib. CC=armv5tel-redhat-linux-gnueabi-gcc ./configure –prefix=/home/jaufranc/edev/rootfs make make install This will install libz.a (static library) and libz.so (dynamic library) in /home/jaufranc/edev/rootfs/lib and copy the header files to /home/jaufranc/edev/rootfs/include.