I am brand new to the PSOC and about to start working on my first project.
The project requires a bootloader and also a facility for users to make changes to program settings. Until now I have been using the Microchip 32 bit ptocessor and have the USB just for Bootloader and a serial RS232 port for interfacing to a PC based GUI for users to set parameters.
I note there is a USB/UART appplication which appears that it would make the interface to the GUI a beeze via the USB port (Mainly using VB.NET for GUI) as I can use standard UART code I have already running.
My question is: Can I also set up the USB to facilitate the bootloader AND my user parameter setup? (ie. Set up a reserved command on the PC software to put the target into bootloder mode and enable upload of new firmware).
Alterantely, is there an example gthat shows how to set up the target device as an HID USB and a "template" program for communicating with the PC. I am not familiar with USB programming from the PC to the target so would need something that does the underlying endpoint handling etc and gives me simple access (say a buffer I can drop data into at either end of the link and pick it up at the other). I would expect the USB would be a lot faster than using USB-UART?
I recommand you of this link. http://www.cypress.com/?rID=34870 This firmware is for psoc1 but host program and test program is same. Many host examples are useful. Examples for each psoc firmware is there every where. HID, BULK, MIDI... I'm not shavvy about bootloader actually. Thank you.
The bootloading process will look at first whether there is a valid device with a valid new bootloadable program. If not, the usual initialization process is started which in turn supplied your main() with all the hardware you defined.
If there is a new bootloadable it will get transferred through the interface and after completion a reset is made and the process starts all over again. Since now the bootloadable is not "New" (it has been installed already) control is taken over by the initialization process of the bootloadable.