For those interested in the industry historical approaches to booting / bootloading, the opening lecture might benefit a little from some historical perspective. One succinct article on same can be found at:

That's LevitonDave. Wear leveling won't be an issue in our application. (YEa, I read through the typo! :) Be sure to say hi to Dan Evans for me. Used to work with him at GE Security. C'ya all tomorrow.

@mharkins - We had issues once we tried to get the high density cards operational. The driver we had didn't cleanly support the HD cards. It may have been something in the initialization sequence but we didn't have the datandard to reference so we were flying blind.

We were also looking at generic FAT vs FAT32 at the time. Our problem was wear leveling on the SD card.

LevitonDave, from what I see, the code I wrote is up to the SD 2.00 spec, so unless I ran into speed issues, there should be no issues with the higher capacity cards once I get the Fat 32 on there. Am I missing something? I've taken a SDHC card and partitioned, and formated a Fat16 partion and had no issues.

No problem - issues are making sure you can still reboot into some form of operational state if power is lost while actually reprogramming. This can get tricky especially since you may need to erase and write the reset vector to ensure things will work during the reprogramming.

I just had to modify my SD card initialization for dealing with the SDHC cards. Only needed a couple of commands. Adding the Fat 32 support is a bugger though. When you buy cards off the street, anything I've found that was 2G or less came formated as Fat 16. SO that's what our initial product was released with. Now once again, things have changed! LOL

@mharkins - Sorry for the confusion. You are fight the Fat16 limiation of 2 G is correct. However, the file system is not the issue for SD cards it is the protocol for the High Density. We have a Fat32 on a 2 G card and 4 G card that works just fine. However, it doesn't work with the HDSD cards. SD driver stack needs to be modified.

Hi Fred, I have a development kit with several components, can I use the bootloader without affecting the functionality of the components?, is this bootloader in C? can I use a boot loader from any other maker?

@aefelgate - For this approach you will need to have some form of confirmation of receipt/success since the communications mechanism is inherently unreliable. (use to design equipment for the cellular industry)

The idea was to have enough FLASH left over for a large application to run in. The bootloader is a C app that pulls in lots of modules. I'm sure with some work we could reduce the size of the bootloader by eliminating unecessary modules.

The SPI and SD interface is not so bad, but support of FAT16 and 32 adds a ton. In fact, I'm just now writing code to add the Fat 32 since its getting harder and harder to find 2Gig and smaller SD cards.

Thank Fred, I found a dev kit for PIC18F47J13 that I will purchase online. I will continue through the class and double back once I receive the kit. Will the audio be available for review after the class?

It can be shared in a sense. You have to tell your application about the MDD File System files just like you have to tell the bootloader about them. It's the same MDD code but referenced from the application instead of the bootloader code.

JacquesB: this is prob. the price you pay for getting it from a standard media (microSD) and in standard format (HEX). I had experience with PIC bootloader and we got it in the 6 - 8K range but with a custom protocol using serial IF and a custom stream pre-processed from HEX ... however that also covered a clusters of micros ... "trees an a bus" :-)

No specific project at this time but have 3 Pic kits two antiques and one current would like to break the seal on this one and play with it, .... thought this seminar might come in handy since I'm more of a hardware type.

@LeoSieben - The lecture is audio only. The audio is through this web page. The box above that says "The audio player will load automatically ..." will change to an animated graphics box. Someone will make a post below, commenting that they have audio. If you don't see the text above change to red graphics, reload the page. Either the lecturer, or someone in a post will indicate the slide number through the lecture

My personal preference is to convert the presentation to a PDF file, and make notes directly in the PDF file for future reference.

Downloaded the slides - looks like there is lots of code to discuss, but I did not see a link for where I might be able to download the source code. If you have full source code for this week's example project, can you please post a link. Thanks!

Industrial workplaces are governed by OSHA rules, but this isnt to say that rules are always followed. While injuries happen on production floors for a variety of reasons, of the top 10 OSHA rules that are most often ignored in industrial settings, two directly involve machine design: lockout/tagout procedures (LO/TO) and machine guarding.

Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.