14 Replies Latest reply on May 14, 2012 6:55 AM by yan.david

    download 68013  .hex file (firmware) problem

    yan.david

      Hi,all,

         

      Many days ago I designed the automatically downloading function in my VC application software on the application software running. It was successful everytime.

         

      Yesterday  I added many functions in the firmware code,   Strangely after the VC application software run the firmware didn't run. To judge which secton the problem is in, I downloaded the .hex file (firmware) by Cyconsole.exe. The firmware was running after the downloading. So the problem was in my automatically downloading function in my VC application software. The firmware is right. 

         

      But the strange thing is the automatically downloading function can download the firmware I designed before yesterday. I observe the differences of the .hex files. I found the firmware which can't be downloaded is larger than the others. Its file size is 14KB, the others are about 10KB.  So this could be the problem. But I don't know how to solve it. Can anybody help me?

         

      Thanks & Best regards,

        • 1. Re: download 68013  .hex file (firmware) problem
          yan.david

          can somebody reply to me

          • 2. Re: download 68013  .hex file (firmware) problem
            gayathri.vasudevan

             Hi,

               

             

               

            What do you meant by autoatically download application? Can you please detail a little what your application does ( Flow chart kind of explanation).

               

             

               

            Regards,

               

            Gayathri

            • 3. Re: download 68013  .hex file (firmware) problem
              yan.david

              I download the firmware automatically so that i don't need to download the firmware everytime manually.  I add the function in my application software so that  only one application software can run the 68013, Or it need the application software and the Cyconsole.exe to run the 68013. It's not convenient. Do you get it? 

              • 4. Re: download 68013  .hex file (firmware) problem
                gayathri.vasudevan

                 Hi,

                   

                 

                   

                Sorry that I still did not understand what your application does. Can you please give me a flow chart kind of description. Is it something similar to a script download?

                   

                 

                   

                Regards,

                   

                Gayathri

                • 5. Re: download 68013  .hex file (firmware) problem
                  yan.david

                  Hello,Gayathri,

                     

                  In my application software, I download the firmware(.hex file) into 68013 with request code 0xa0. The .hex  file is generated by Keil.  I download the hex file in the function CBmpDlg::OnInitDialog().

                     

                  If  the firmware download succesfully 68013 would turn on the LED light, Then drive the temperature sensor. Then 68013 transfer the temperature data to application software. And the application software receive the temperature data in the main thread. The application software circularly receive, compute the data and display them in the mainthread.

                     

                  I judge the firmware download fail from the LED light.

                     

                  Many days ago I designed the automatically downloading function in my VC application software on the application software running. It was successful everytime.

                     

                  Four days ago  I added many functions in the firmware code,   Strangely after the VC application software run the firmware didn't run. To judge which secton the problem is in, I downloaded the .hex file (firmware) by Cyconsole.exe. The firmware was running after the downloading. So the problem was in my automatically downloading function in my VC application software. The firmware is right.

                     

                  But the strange thing is the automatically downloading function can download the firmware I designed before which doesn't add those functions. I observe the differences of the .hex files. I found thehex file which can't be downloaded is larger than the others. Its file size is 14KB, the others are about 10KB.  So this could be the problem. But I don't know how to solve it. Can anybody help me?

                     

                  Best regards & Thanks

                     

                   

                     



                   

                  • 6. Re: download 68013  .hex file (firmware) problem
                    gayathri.vasudevan

                     Hi,

                       

                     

                       

                    From the problem definition, I think we will have to have a look at both the firmware as well as the application to get to the root of the issue. Please create a tech support case at http://www.cypress.com/ -> Support -> Technical Support -> Create a  case.

                       

                     

                       

                    Regards,

                       

                    Gayathri

                    • 7. Re: download 68013  .hex file (firmware) problem
                      yan.david

                      Hello,

                         

                      thanks for your advice.

                         

                      But I think it's a waste of time.

                         

                      And I don't think you read my description of the problem in detail. I even have a sense that you are an intern in Cypress,  you are not familiar with debugging.

                         

                      Here I repeat my problem

                         

                      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                         

                      I downloaded the .hex file (firmware) by Cyconsole.exe. The firmware was running after the downloading. So the problem was in my automatically downloading function in my VC application software. The firmware is right.

                         

                      But the strange thing is the automatically downloading function can download the firmware I designed before yesterday. I observe the differences of the .hex files. I found the firmware which can't be downloaded is larger than the others. Its file size is 14KB, the others are about 10KB.  So this could be the problem.

                         

                      /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                         

                      So if I have the source code of the downloading firmware in Cyconsole.exe, the problem would be find out.

                         

                      so would you please tell me where I can find the source code of the downloading firmware in Cyconsole.exe

                         

                      Best regards & Thanks

                      • 8. Re: download 68013  .hex file (firmware) problem
                        yan.david

                        I have found the download firmware source code which is provide by Anand.

                        • 9. Re: download 68013  .hex file (firmware) problem
                          anand.srinivasan.asokan

                          Guys,

                             

                          Be friendly on the forum. We're just trying to help each other out. That is all.

                             

                          Is your new firmware exceeding the 16k internal memory boundary? If so, are you downloading vend_ax and then using 0xA3 vendor request to write to external memory or are you using 0xA0 to write to external memory as well?

                             

                          Regards,

                             

                          Anand

                          • 10. Re: download 68013  .hex file (firmware) problem
                            yan.david

                            Hello,Anand,

                               

                            the firmware is only 14KB, I use the request code 0xa0.  The downloading code successfully works when the firmware size is  about 10KB. so it really puzzled me.

                               

                            Best regards

                            • 11. Re: download 68013  .hex file (firmware) problem
                              anand.srinivasan.asokan

                              Even if firmware size is less than 16KB there can be parts of code located in external memory. If it is completely located in internal memory the same host application code should work properly irrespective of the code being 10k or 14k.

                                 

                              When you download the same firmware using CyConsole do you see A3 Vendor request being used anywhere (The print messages in CyConsole which happen during firmware download will the vendor request being used for each of the transfers, you should be able to find it from there)

                                 

                              Use can use the application provided by me as well, it also outputs this information.

                                 

                               

                                 

                              By the way is urs a CyAPI.lib based host app or CyUSB.dll based host app?

                                 

                              Regards,

                                 

                              Anand

                              • 12. Re: download 68013  .hex file (firmware) problem
                                yan.david

                                Hello,Anand,

                                   

                                thanks for your immediate reply, I downloaded the firmware with Cyconsole.exe a moment ago. the attachment file is the copy of the output window.

                                   

                                however i didn't find vendor request A3. furthermore i don't use external memmory on my PCB board.

                                   

                                so the thing is more complicated.

                                   

                                I use the Cyapi.lib in my application software.

                                   

                                Best regards & Thanks

                                • 13. Re: download 68013  .hex file (firmware) problem
                                  anand.srinivasan.asokan

                                  Then your application is doing something funny. Please try outputting the data that is being sent and compare it with the CyConsole print output.

                                     

                                  Start from "Toggle 8051 Reset (01)" that is in the middle of the output that you attached. That is from where the download of your firmware is happening.

                                     

                                  Regards,

                                     

                                  Anand