我正在开发一个项目,我需要使用c#编写一个GUI来闪存PIC 18f4550。
我知道使用c进行固件编程。但是这个要求我更深入地了解闪烁背后的机制。我该如何处理这个问题?有没有我可以用来开始的资源?
我是否需要创建驱动程序(PC)才能在PIC和PC之间进行通信? 在pic方面,我需要修改我认为的引导加载程序。
感谢您的帮助..非常感谢...
答案 0 :(得分:3)
这取决于你用什么级别“闪存”PIC控制器。
如果PIC设备中的引导加载程序具有接受固件更新的协议,则需要使用可用的任何链接实现该协议的PC端。例如,如果引导加载程序使用RS-232协议查找固件,则需要实现其服务器端。这取决于您在PIC中处理的软件以及PIC如何连接到PC。如果您可以修改引导加载程序,那么您可以在两端实现适当的协议来进行软件更新。
在引导加载程序的情况下,您不需要PC端的设备驱动程序,除非您正在处理某些深奥的界面。我希望引导加载程序更新的PC端完全处于用户模式。
如果要在不关心PIC中的软件的情况下闪存设备,则需要在flash programming specification中实现协议。为此,您需要在PC端安装适当的设备,并使用软件来控制该设备。
答案 1 :(得分:1)
当您使用支持USB的PIC18F4550时,我建议使用HID引导程序。您可以使用工作示例作为Microchip Application Libraries中自定义固件加载器UI的基础。
当前版本(v2011-10-18)中PC软件和固件的路径:
<installdir>\USB\Device - Bootloaders\HID\
<installdir>\USB\Device - Bootloaders\HID\Firmware - PIC18 Non-J\
USB HID引导加载程序很不错,因为它允许在没有特殊硬件的情况下闪存设备,Windows不需要为HID设备安装驱动程序/ inf。这是一种让您的客户在现场进行固件更新的舒适方式。