On Mon, Mar 25, 2013 at 8:11 AM, Christopher Head wrote: > On Sun, 24 Mar 2013 21:14:55 +0800 > Xiaofan Chen wrote: > >> Microchip's USB Stack seems to be not bad if compared to >> other vendors' USB Stack. It has the USB HID Bootloader >> which has a cross-platform host software (based on hidapi) >> as well. It is not burned into ROM though. >> >> The good thing about using the HID class is that it does >> not need a driver under Windows whereas DFU class >> requires a driver under Windows since Microsoft does >> not offer OS built-in DFU USB driver. > > The last sentence of the first paragraph above is the only one that > really matters to me. If it=92s not in ROM, then that means you have to > burn it into the chip some other way first. For DIPs that=92s no big > deal. For TQFPs, it means you put a programming header on your > application board. If your objective was to save space by reusing a USB > socket already present, adding a programming header anyway means you > have failed, and (to me) there is no longer any reason to have the > bootloader. I guess that depends on the use cases. If it is built-in the ROM, then that means it can not be upgraded. So each method has its pros and cons. > Besides, I dislike as a matter of principle disgusting hacks like > calling a bootloader a human interface device. If you have a device > whose purpose is to upgrade device firmware, call it a device firmware > upgrade device. I see no reason to have a knee-jerk =93drivers are evil= =94 > reaction, especially since STMicro provides a driver that works with > their DfuSe devices for Windows and Linux doesn=92t need a driver anyway. > This is not for consumer-facing field upgrades, this is for programming > during development, in case that makes my perspective more > understandable. Take note DFU is actually not that popular among the small MCUs. Firstly it depends on the control endpoint which can be slow. Secondly it will require a driver under Windows and the driver may not be easy to write and maintain. As for HID, the vendor specific is widely used by vendors for different things, because Windows driver is difficult to write and HID is well supported by different OS. So you can call it a hack but it is quite a common hack. Cross-platform HID library like HIDAPI makes supporting HID across different OS much easier. So again, it depends on the use cases and personal preferences. Personally I like HID better than DFU. --=20 Xiaofan --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .