11 Replies Latest reply on Feb 16, 2020 7:10 AM by Arha_4247766

    Psoc PWM with OTA

       I have uploaded PWM Example Code (brightness control) to PSOC4BLE using USB. Now I would like to update the code without using the USB but using Android BLE / OTA. I think I need to publish the App in the Google playstore along with the HEX code and transfer to the PSOC4 BLE using Cysmart App. Is this correct? How do I do these? Is there any application  notes for this?

        • 1. Re: Psoc PWM with OTA

          The HEX image you loaded on the PSoC4BLE chip also needs to have the OTA functionality programmed into it as well. 

             

          Here's the AN that should walk you through it: http://www.cypress.com/documentation/application-notes/an97060-psoc-4-ble-and-proc-ble-over-air-ota-device-firmware-upgrade

          • 2. Re: Psoc PWM with OTA

            Thank you Pratt for the helpful information. I have successfully bootloaded to my android device. I did the External Memory OTA upgrade, and I used a cyacd file to have an application upgrade. The upgrade was completed, but when it was over, I just got a message on my android tablet saying that the BLE device is disconnected. Is this supposed to happen? And if it is, I didn't notice any changes in the app, so please tell me if there is something wrong?

            • 3. Re: Psoc PWM with OTA

              Well, for bootloaders, generally they reset upon completing uploading the new firmware/software. My guess would be that it is supposed to disconnect upon finishing bootloading, as the device is going through a reset. The App will probably need to reconnect once the bootloading is completed.

              • 4. Re: Psoc PWM with OTA

                Thanks again Pratt. I have bootloaded the External Memory OTA Upgrade, and now I moved on to the Fixed Stack OTA Upgrade. 

                   

                However, this error shows up: 

                   

                Could not locate the binaries for the generic tool chain "ARM MDK Generic" in the selected path "C:\Users\\Documents\PSoC Creator". The following are the missing binaries: "armasm.exe".

                   

                The path provided for the tool chain does not contain the necessary binaries for a build. Either you selected the wrong directory through the Tools > Options > Project Management dialog, or the installation of the tool chain is corrupt. Use the Project Management dialog to select the correct directory or re-install the tool chain.

                   

                Can you help me fix this and find out what is wrong?

                • 5. Re: Psoc PWM with OTA

                  Thanks, but after I make the upgrade, what are the changes in the program going to be? So what should I notice that it different from before?

                  • 6. Re: Psoc PWM with OTA

                    Since it is an External Memory OTA Bootloader, it should be updating everything: BLE stack, your code. The only thing it won't upgrade is the bootloader it is using to load the new image from the external memory chip.

                       

                    If you are loading new images to it, I would suggest having each image return a "version number" to differentiate whether it succeeded, and to tell what it currently has on it.

                    • 7. Re: Psoc PWM with OTA

                      It sounds like you deleted the armasm.exe file, or it got corrupted? Reinstalling PSoC Creator should fix it; Reselect the ARM GCC toolchain location under Tools->Options->Project Management->ARM Toolchains

                      • 8. Re: Psoc PWM with OTA

                        Hi,

                           

                        I checked in ARM GCC toolchain location, and everything was correct. After, I uninstalled and reinstalled PSoC Creator, but to no avail. However, I did notice that this problem did not occur to any other projects that were similar.

                           

                        So is there any way to find out how to solve this problem?

                        • 9. Re: Psoc PWM with OTA

                          I ran my previous project with External_Memory Bootloader, and it successfully runs. However, there is no Bootloader button to press on the home screen of the app. There is the Gatt DB, and the Device Information buttons, but no Bootloader. Can you help me resolve this problem?

                          • 10. Re: Psoc PWM with OTA

                            I'm out of ideas for fixing it :(

                               

                            Could try recreating the project from source files and the schematic file though; Generally when stuff goes wrong: Verify all files/data is correct and verified, then try duplicating the issue consistently for various test cases. But that's just my approach to fixing problems on any system :)

                            • 11. Re: Psoc PWM with OTA
                              Arha_4247766

                              epr_1639216 joco_1568336  : I fixed it using the following method....  I had the same issue and got error as yours

                               

                              Could not locate the binaries for the generic tool chain "ARM MDK Generic" in the selected path "C:\Users\\Documents\PSoC Creator". The following are the missing binaries: "armasm.exe".

                               

                               

                              SOLUTION:

                               

                              In the "PSoC Creator User Guide" , there is a guideline on selecting the toolchain [Tools--> Options --> Project Management--> ARM Toolchains] . You need to select the right folder .

                               

                              But , the path shown in the user guide is wrong. I had to choose 'C:Keil\ARM\ARMCC\bin' instead of 'C:Keil\ARM\BIN40'

                               

                               

                              1) From "PSoC Creator User Guide"

                               

                              2) You should see these files in the bin folder