if you want to develop a custom bootloader Host application (as I suspect you want) you can take a look at the files located in
C:\Program Files\Cypress\PSoC Creator\3.0\PSoC Creator\cybootloaderutils
Were you able to create a stand alone bootloader host? If so, would you pass along any insights you may have?
There are working example projects for bootloaders in Creator, Just use "Find example project". Or is there something you mean by "Stand alone" which I do not understand?
1 of 1 people found this helpful
The original question was simply if Cypress distributes the bootloader tool in Creator on its own (as a stand-alone applicaiton), or if the whole Creator suite has to be downloaded and installed.
I was wanting an answer to the same question: it would be great if the whole shebang didn't have to be downloaded!
Look at the second ap note, shows how to build a host program -
http://www.cypress.com/documentation/application-notes/an73854-psoc-3-psoc-4-and-psoc-5lp-introduction-bootloaders AN73503 PSoC® 3, PSoC 4, and PSoC 5LP Introduction To Bootloaders
http://www.cypress.com/documentation/application-notes/an68272-psoc-3-psoc-4-and-psoc-5lp-uart-bootloader AN68272 UART BL PSOC 3, 4, 5LP
http://www.cypress.com/documentation/application-notes/an60317-psoc-3-and-psoc-5lp-i2c-bootloader AN60317 I2C BL PSOC 3, 5LP
http://www.cypress.com/documentation/application-notes/an73503-usb-hid-bootloader-psoc-3-and-psoc-5lp AN73503 USB HID BL with GUI Host PSOC 3, 5LP
http://www.cypress.com/documentation/application-notes/an86526-psoc-4-i2c-bootloader AN86526 - PSoC® 4 I2C Bootloader
http://www.cypress.com/documentation/application-notes/an68272-psoc-3-psoc-4-and-psoc-5lp-uart-bootloader AN68272 - PSoC® 3, PSoC 4 and PSoC 5LP UART Bootloader
I just noticed this topic. Nick Johnson built cyflash Python script, but it doesn't seem to work with the current versions of the bootloader. (I haven't gotten a chance to look into it yet, I just know that it crashes on the cyacd file format). Has anyone else found a solution to this before I spend the time to get something working? Thanks.
Like others have pointed out, I don't want people to need to download a 604MB file (creators current size) just to download a new version of firmware on their boards. (That, and creator only supports windows platforms).
I too would like a standalone bootloader programming host. It doesn't need to have any branding, so a generic (or Cypress branded) app would be just fine. I built the visual studio project that is attached with the app note AN73503 and I can debug and run the program without any hickups. However when I release the program and try and run it on a computer without visual studio installed the program runs up until I press the "program" button, then it says it can't find the "BootLoader_Utils.dll" (Exception from HRESULT: 0x8007007E). I've tried placing the dll in the same folder as the exe and in the windows system 32 folder. I'm not very familiar with visual studio. Does anyone have a portable bootloader host working?
I try the USB Bootloader of the AN73503 but I have the same issue with the same Error Exception 0x8007007E when I try to program my device...
So, I need a generic Stand-Alone application (.exe program) for Windows to Bootload and upgrade firmware without need to install the whole Creator Suite
I am also experimenting with the cyflash tool (https://github.com/arachnidlabs/cyflash.git), still in process of adapting it to Python 3.
However it's interesting to note another thing: CyBtldrCommWrite function has a parameter 'count' that says 'Pointer to an unsigned short variable to write the number of bytes actually written.'. However the function is in turn called by Bootloader_WritePacket that just returns the error status, that is if CyBtldrCommWrite happens to write less than requested the whole process will fail. I agree this may not be the case in I2C/UART/SPI scenarios, but I am developing a CANbus based bootloader and the situation is different. My point is: the documentation is not clear about this fact and the pointer parameter is useless. I will implement the "packetization" in my own code, but if Cypress is interested I can put it in the generated code and share it for an updated bootloader component.
Hello andresnavas, make shure that you are runnuing software in 32bit mode, also there is an error in CyUSB.dll file
//First Byte in buffer holds the Report ID
BootloaderHIDDevice.Outputs.DataBuf = BootloaderHIDDevice.Outputs.ID;
DataBuf is created but not initialized, try to find older version of this library, or you can fix it directly.
I had this same problem as Jimmy and Andres and tracked down the issue to the wrong dll in the Release folder provided by Cypress in AN73503__001-73503_0G. The Cypress provided Bootloader Host Project (VS C# 2010) or USBBootloaderHost sample for C# has Bootloader_Utils.dll in the Debug folder but Bootload_Utils.dll (note no 'er') in the Release folder. You must copy the Bootloader_Utils.dll to the Release folder then distribute along with CyUSB.dll and the USBBootloaderHost.exe. No need to have Creator, PSoC Programmer or Visual Studio ever installed.