This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCSv6.1.1 (compiler version: 6.2.11): Adding class constructor to code results in C28xx: File Loader: Verification failed: Values at address 0x0000000000004000 do not match Please verify target memory and memory map.

Guru 20035 points
Other Parts Discussed in Thread: TMS320F28335

Hello,

I am using an XDS100v2, CCSv6.1.1 and compiler version v6.2.11 for the C2000 (TMS320F28335).

After adding a constructor to a class (I only have one class in my program), The following error appeared when I tried to download the program to the target:

CCSv6.1.1 (compiler version: 6.2.11): C28xx: File Loader: Verification failed: Values at address 0x0000000000004000 do not match Please verify target memory and memory map.

Why is the constructor causing an issue?

Stephen

 

  • This isn't a compiler question.  But it appears this forum thread addresses a very similar problem.

    Thanks and regards,

    -George

  • Here's an example project that has the same issue.

    TestAddConstructor.zip

  • That post didn't help too much since I am not using the XINTF for my project.  

    0x4000 is a valid RAM address.  Why would adding a constructor, which goes into flash and is called by _c_int00 on power-up, cause a problem with programming the target.  .pinit is located 0x4000.

    What e2e forum should I post to?

    Stephen

  • Probably the CCS form, where that other thread resides.

    It seems likely that the error you're getting is due to configuration of the loader, not due to how you build the executable, unless you're using a linker command file that doesn't match the device, which seems unlikely. In the CCS forum, they can help you get to the bottom of exactly why the error is occurring.
  • It seem strange that the configuration of the loader needs to be changed simply because I added a class constructor to the code.  Did you try out the attached project containing the issue?

    0x4000 is reserved for the XINTF and the linker decided to put the .pinit table in that memory area.  Why is the linker putting the table in that area?

    Stephen

  • I fixed the issue. I just needed to add .pinit : > FLASHA, PAGE = 0 to the linker cmd file.