CC3D and Libre Pilot
« on: August 15, 2017, 03:09:10 pm »
Hello Forum members,
my name is Erwin I'm old on Years and young at heart. I do have a problem getting my CC3D (bought June 2015) set up with Libre Pilot. Yes I installed the newest Version of Libre Pilot and I tried to flash the board to BL 4. I usd the rescue method. I followed the Wiki documentation letter by letter. After clicking rescue and open I load the downloaded BL 4 software and flash it to the board. the blue bar shows that flashing is completed. When I go to boot it still works as it should. After disconnecting, pessing rescue, reconnecting and click erase settings it comes to a screeching halt. By the way, I had the unit working properly with Open Pilot I think it was Vers.12XXXX or something. I tried to "modernize" the unit and loaded Libre Pilot on my computer. That was it!
I hope someone out there has a solution for my problem and I'm thankful for all the help I can get.
Friendly Regards

Mateusz

  • *
  • 808
Re: CC3D and Libre Pilot
« Reply #1 on: August 15, 2017, 03:35:15 pm »
Hi,
To begin with you have different type of flashable images
  • bu_xxx - Bootloader updater, bootable by LP bootloader and replacing that bootloader
  • fw_xxx - Firmware only bootable by LP bootloader
  • ef_xxx - Entire flash (LP bootloader + firmware)
LibrePilot images are flashed to chip which has internal bootloader which triggers more flexible LibrePilot bootloader which runs firmware.
Furthermore you have files ending with opfw, which are files flashable with GCS only and ef_xxx.bin files which is entire image, flashable with SBL method and dfu-utils (bridging SBL pads and using uart-usb adapter 3.3V to flash CC3D, no need for adapter for Revo).

Regarding bootloader updater, it must run for a while to update bootloader, if you disconnect it too soon, then bootloader might not get updated because you terminate flashing, but no worries, there is still internal chip's bootloader which you can use to flash entire chip with SBL method.

Here is the article that describes flashing CC3D with SBL method http://www.southquay3d.com/index.php?route=news/article&news_id=9
(update: I just had more careful look, and southquay3d guy provides some hex file, obviously you don't need that as that's some old firmware, you need *.bin file from the same version of LibrePilot you are using, same as GCS version. There are bootloaders here https://librepilot.atlassian.net/wiki/spaces/LPDOC/pages/5669026/Firmware+Tab which can be flashed with GCS and than firmware updated with GCS once new bootloader is there, for bin files look in LibrePilot folder wherever on Windows you installed it).
Above should be similar to https://librepilot.atlassian.net/wiki/spaces/LPDOC/pages/29622291/Recover+board+using+DFU but with usb-serial adapter as for CC3D.
You can also flash entire chip with SWD port and cheap STLink programmer for STM32 chips https://librepilot.atlassian.net/wiki/spaces/LPDOC/pages/40402972/Recover+board+using+ST-Link

Before trying any of the above, you could consider trying flashing old OpenPilot if that still works (perhaps there is still old bootloader). Checking what are LED statuses, maybe dev's will know what went wrong, but that's as much as I can help for now. Personally, whenever I have problem I just do SBL method and EF image which has all. If you run Windows, you should make sure that it's only one instance of GCS running, no other program is calming COM port (see here https://librepilot.atlassian.net/wiki/spaces/LPDOC/pages/12812343/Troubleshooting).

I hope this is somehow useful.
« Last Edit: August 15, 2017, 03:47:47 pm by Mateusz »

Re: CC3D and Libre Pilot
« Reply #2 on: August 15, 2017, 07:29:54 pm »
After flashing the bootloader UPDATER, you must run it for a few seconds, then you MUST flash the actual firmware using manual rescue method.  Then it will work.