Many of the Board Support Packages (BSPs) for Windows Embedded that I have seen over the years tend to have several drawbacks. Some lack the full complement of drivers, others only come with binary code. Some show little, if any signs, of ever being tested. I can understand the underlying reason for some of these issues but one that is rather irritating is the lack of a consistent coding style. You would think that at least within an individual BSP a single, consistent coding style could be followed. Most times this is not the case. Over the years different developers work on different pieces, each imposing their own coding style (instead of taking the time and effort to learn the existing style and following the existing norm). Also, as more platforms based on the same SOC come on line, we tend to just “add on” adding deeper levels of abstraction, adding more compile time and macro directives. While it can be argued this is what makes modern day programming so powerful, it also adds “code bloat”, slows down build times and, in general, makes the code hard to understand.
For example, the original TI BSP release for the BeagleBone, which is based on the AM335x processor, has its roots in earlier generation processors. The OMAP 18XX, 24xx, 35XX and 37XX processors all came before and the BSP was built up to support these chips. As they add newer generation parts the developers choose to use “bits and pieces” from existing code. Many times the older code is just left in even though it serves no useful purpose for the processor of interest. This process along with inconsistent naming conventions tends to make the code very hard to follow, especially for beginners i.e. “Can’t see the forest through the trees”.
In an effort to add a little “readability” for the beginner, as will as speed up build times, I have scrubbed much of the BeagleBone BSPs code. I added consistent file naming and removed many unnecessary files. Still more to be done but it’s a start.
Hi David, Interest in the fully version of the image. Please let me know the commercials. I need clarification on the following - 1 - Installing a Dlink WiFi usb dongle; 2 - SQL lite installation; 3 - USB HUB driver installation; 4 - Running an application in startup. Thanks & Regards. CB
Re: Windows Embedded Compact 2013 on Beaglebone gets IoT sample
Please contact me regarding a full installation of this BSP for WINCE2013, and what is necessary for...
-- Aaron Peterson
Re: BeagleBone BSP code clean up
Hi David, Interest in the fully version of the image. Please let me know the commercials. I need clarification...
-- CB
Re: BeagleBone BSP gets several improvements
Hi David, How can I get a full version (without reboot) of your image available for demonstration?
-- Marco Aurélio Braun
Re: Low power operation on the community IoT Beaglebone BSP (Part 1)
Hello , dvescovi . Because of Job , I use your Beaglebone black BSP which is helpful for me . I want...
-- KevinHsu
Re: Yet Another Gotcha: Compact 7 Update
Hi David, Would you please contact me regarding the wince7 BSP for the BBB? I have a few LCD Capes...
-- trialsrideraz
Seems MS may have posed a new updated ISO on MSDN. For those without a subscription, you are still out...
-- dvescovi
Re: Power management on the Beaglebone part 2–Battery
Hi David, First of all thanks for this, blog it's been very useful. Before I go ahead and solder anything...
-- Juanes1220
Re: More improvements for Beaglebone BSP
Thank you for the fixes. The latest version builds under WEC7! Yay! Next .. have to try deploying it...
-- OzFlipper
Of course, I meant the WEC2013 SDK ... see what happens when you work with too many bits at the same...
Hi David. First, thank you for what must have been a huge amount of work. I have been trying to install...