provides software and services that enable enterprises
Live Chat 1-888-673-6564
The Enterprise Open Source Blog
  • Home
  • Search
  • Contact Us
  • Products and Support
  • Services
  • Enterprise OSS Blog
  • Wazi Technical Blog
  • Resources Library
  • Cloud Services
  • Partners
  • Customers
  • Community
  • Company
  • Careers
  • News and Events

Subscribe by Email

Your email:

Most Popular Posts

  • Enterprise Apache Tomcat 7 Clustering - Designing an Efficient, Reliable and Productive Application Server Cluster
  • Open Source Virtual Whiteboards and Dimdim Review
  • An Enterprise Apache Tomcat Clustering Guide
  • Supporting CentOS In The Cloud With Windows Azure
  • VLC License Change: A lesson in perseverance
  • An In-Depth Look at Tomcat’s Clustering Mechanisms
  • Apache HTTP Server: New Features for Version 2.4
  • Why Closed Source is Better Than Open Source
  • Access Serial Ports through Ruby
  • JBoss AS7 Clustering Using mod_cluster and http 2.4 (Part 1)

Connect With Us!

Current Articles | RSS Feed RSS Feed

Firmware Development with Eclipse

Posted by Aaron Mandelbaum on Tue, Oct 30, 2007
  
Email This Email Article  
Tweet  
  

Most people who work with me know I'm not a big fan of Eclipse though I do use it from time to time for typical Java tasks. I also used it several years ago with CDT to do C++ development for some GIS projection code and it worked well for that task. Recently, I used Eclipse for something I've never used it for before: writing firmware. I like building GPS related devices and software applications and bought an Olimex SAM7 P256 development board so I could start learning the ARM core architecture and specifically the SAM7 microcontroller from Atmel. The SAM7 (S256 flavor) is a 32bit RISC microcontroller that has 256KB of built-in flash memory for holding firmware and 64KB of RAM. It incorporates two serial ports, an analog to digital interface, a plethora of digital GPIO ports, built-in USB physical level support, and has SPI (Serial Parallel interface) which is a low-level (register level) mechanism commonly used for communicating with external flash devices like SD and MMC cards. The device runs on 3.3 volts and needless to say, has a lot of functionality packed into a low-power package that is smaller than a postage stamp. The Olimex development board which incorporates the SAM7 looks like this: This board breaks out all the GPIO and serial interfaces, adds a themistor for measuring temperature, a few buttons to exercise GPIO, and provides a JTAG interface. JTAG is a physical and electrical standard used to both flash new firmware into embedded devices but also used to source-level debug embedded code running directly on the platform -- in the olden days, this functionality was encapsulated by a huge machine, ICE (in-circuit emulator), which cost thousands of dollars. In fact, one of the ways the iPhone was cracked was through a builtin JTAG interface embedded deep in the iPhone. JTAG is one of those ubiquitous technologies that flies under the radar - it is everywhere if you know where to look. I bought a JTAG for ARM programming device (~ $70) which works in conjunction with Eclipse and a package of GNU ARM cross-compiler tools called Yagarto (Yet Another GNU ARM Toolchain.) That tool chain, along with an excellent tutorial written by Jim Lynch, got me up and writing C code for the SAM7 in about 1/2 hr (not counting download times.) This is a picture of my setup - the Olimex board connected through JTAG to the Olimex JTAG programmer which is USB to my laptop development environment: In order to use JTAG, Yagarto incorporates an open source JTAG middleware piece called OpenOCD (Open On-Chip Debugger.) OpenOCD's main task is to be the mediator between the Eclipse, ARM cross-compiler binaries, GNU GDB and the JTAG programming device itself. OpenOCD's gdb service is not used to flash the device, just debug with it, but OpenOCD software is involved with flashing the device. There's a special build target in the Eclipse project that defines an OCD script for flashing the device. Using Eclipse and OpenOCD, I was able to single-step through lines of C code in my Eclipse environment though the code was running directly on the SAM7 board. Considering everything that was going on in order to make that happen and considering the cost of the software development tools was $0, this is nothing short of impressive. Some shortfalls in the environment that I found were mainly 1) productivity tools for embedded development in Eclipse are very lacking. For example, I wanted to easily be able to look at a hex dump of memory, but there's no simple way to do that (no way that I found.) 2) after running through one session with OpenOCD and JTAG, in order to reflash my device, I had to unplug the device which kills/disconnects OpenOCD, and then reconnect to reflash it. 3) there are some odd breakpoint issues with OpenOCD and JTAG which limited the ability to set hardware breakpoints...I would often have to clear all breakpoints right after starting a JTAG debug session before I could get anything running again. There are other commercial embedded tools that work much better but cost thousands of dollars to get into. So, given the price and functionality of this solution, I can live with those limitations - this package was good enough for me to develop an SPI SD/MMC flash memory card driver, for example. I also developed a non-interrupt serial driver with it. It's plenty good to do real work with. So, there's a new use of Eclipse that partially redeemed it in my eyes.

Read More

0 Comments Click here to read/write comments
Tags: Open Source Trends

Open source software bugs get squashed faster - even on the user's computer!

Posted by Aaron Mandelbaum on Thu, Oct 11, 2007
  
Email This Email Article  
Tweet  
  

Matt Asay has an interesting blog post about how open source software bugs get squashed faster.   I'd like to add that it's not that they get fixed faster, it's that the fix gets out to end users faster.  An open source fix is available to end users almost immediately after it gets created.  With almost any proprietary software the company has a whole test and QA process that needs to be followed first and it's at least days if not weeks before the fix is released to end users.  

Read More

0 Comments Click here to read/write comments
Tags: Open Source Trends

Programming with Ruby

Posted by Aaron Mandelbaum on Thu, Oct 04, 2007
  
Email This Email Article  
Tweet  
  

It's been a long time since I wrote much real code, so when I started getting a lot of pointers in that direction, I decided to go for it.  What I discovered is that's it's just as addictive as it used to be!

Read More

0 Comments Click here to read/write comments
Tags: Open Source Trends

When is a virus scanner like a virus?

Posted by Aaron Mandelbaum on Wed, Oct 03, 2007
  
Email This Email Article  
Tweet  
  

I spent a few hours on the wrong side of that riddle recently.  

Most of the engineers here at OpenLogic work in some flavor of Linux on their development machines.  When I first received my laptop I attempted to join the crowd and install Ubuntu.  However, due to hardware issues with the video and wireless chipsets on the machine I got, I reluctantly decided to back out and go with the standard issue Windows XP and am still running that today.

This past week I joined a new project team working in Ruby on Rails.  Having been previously focused on Java projects, I had to install and configure a number of things to get up and running in the new development environment.  Part of that setup involved installing a MySQL instance used by the application.  

Once I had everything ready to roll, I wanted to run "rake test" to verify that all the tests passed.  Well, they didn't.  I realized that I initially set some things in the MySQL configuration to be too restrictive.  I'll spare you the details, as that's not the point of this blog post.  So, I reconfigured, based on the settings another developer had working in Windows.

I ran "rake test" again.  Things were looking better.  Tests were passing.  Feeling good.  Nope, boom, suddenly failures left and right.  I ran "rake test" again and got failures from the start.  The errors that were occurring repeatedly looked something like this:

Read More

0 Comments Click here to read/write comments
Tags: Open Source Trends
All Posts
Error sending email
Email sent successfully

Email article
Email To : 
Your name : 
Message : (maximum 200 characters)

Enterprise OSS Blog Policy

If you read a post on The Enterprise OSS Blog, please leave a comment. Let us know what you think, even if it's just a few words. Comments do not require approval, but they are moderated.OpenLogic reserves the right to remove any comments it deems inappropriate.

 

click-to-chat-with-a-live-open-source-expert

get-a-quote-on-support

download-the-support-evaluation-kit

Browse by Tag

  • 2013 (2)
  • Agile (1)
  • Apache (2)
  • apache tomcat (1)
  • AS 7 (1)
  • as7 (1)
  • Auditing (5)
  • Azure (2)
  • Budget (1)
  • BusyBox (1)
  • CentOS (3)
  • Closed Source Software (1)
  • cloud (4)
  • clustering (1)
  • CMS (1)
  • Code Scanning (1)
  • commercial distribution (1)
  • Community (4)
  • compliance (40)
  • C-Suite (1)
  • Database (1)
  • developers (2)
  • DevOps (15)
  • diploma (1)
  • Drupal (1)
  • enterprise software (2)
  • foss (5)
  • Gitbhub (1)
  • GNU-Bash (1)
  • Governance (36)
  • guide (1)
  • Hadoop (2)
  • HBase (2)
  • http 2.4 (1)
  • httpd 2.4 (1)
  • Java (1)
  • javascript (1)
  • jboss (3)
  • JBoss Cluster (1)
  • Joomla (1)
  • Legal (21)
  • Legal & Compliance (62)
  • Legal and Compliance (2)
  • license compliance (1)
  • Licenses (12)
  • Linux (4)
  • lisp code (1)
  • martin fowler (1)
  • Mobile (3)
  • mod_cluster (2)
  • MySQL (1)
  • Neal Ford (1)
  • open source (19)
  • open source compliance (1)
  • open source components (1)
  • open source events (1)
  • Open Source Governance (2)
  • open source legal issues (1)
  • Open Source Licensing (3)
  • Open Source Management (38)
  • Open Source Policy (3)
  • open source software (15)
  • Open Source Software Adoption (4)
  • open source software policy (1)
  • Open Source Training (1)
  • Open Source Trends (337)
  • Open Source vs. Commercial Software (3)
  • OSS (5)
  • OSS Packages (2)
  • PaaS (1)
  • paredit (1)
  • picketlink (1)
  • Policy (4)
  • PostgreSQL (1)
  • Presentations (1)
  • Programming (2)
  • red hat (1)
  • RHEL (1)
  • Ruby (1)
  • Scanning (27)
  • Scanning & Governance (12)
  • Scanning & Provisioning (30)
  • Security (13)
  • Shibboleth (1)
  • software compliance (1)
  • Software Development (2)
  • Software Development Lifecycle (7)
  • software infrastructure (1)
  • Solr (1)
  • struts (1)
  • Support (48)
  • Support & Services (2)
  • SUSE (1)
  • Technical Governance (1)
  • The Cloud (35)
  • The C-Suite (2)
  • tomcat (4)
  • Training (10)
  • Ubuntu (1)
  • Uncategorized (69)
  • Windows (1)
  • Windows Azure (1)
  • Wordpress (1)
  • Zookeeper (1)
Home | Search | Contact Us | Products and Support | Services | Enterprise OSS Blog | Wazi Technical Blog | Resources Library | Cloud Services | Partners | Customers | Community | Company | Careers | News and Events
Products
OpenLogic Exchange (OLEX)
License Compliance Module
OSS Discovery
OSS Deep Discovery
OpenUpdate
Services
Open Source Support
CentOS Support
Scanning & Compliance
Open Source Training
Professional Services
Solutions
Support & Indemnification
Open Source Governance
Open Source Scanning
Open Source Provisioning
Consulting & Training
Contact Us
1-888-673-6564


© 2013 OpenLogic, Inc. All rights reserved.
Site Map  |  Privacy Policy