download 68013 .hex file (firmware) problem

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

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,

0 Likes
14 Replies
Anonymous
Not applicable

can somebody reply to me

0 Likes
Anonymous
Not applicable

 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

0 Likes
Anonymous
Not applicable

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? 

0 Likes
Anonymous
Not applicable

 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

0 Likes
Anonymous
Not applicable

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

   

 

   



 

0 Likes
Anonymous
Not applicable

 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

0 Likes
Anonymous
Not applicable

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

0 Likes
Anonymous
Not applicable

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

0 Likes
Anonymous
Not applicable

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

0 Likes
Anonymous
Not applicable

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

0 Likes
Anonymous
Not applicable

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

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

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

0 Likes
Anonymous
Not applicable

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

0 Likes
Anonymous
Not applicable

ok i will trry it

0 Likes