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.

CCS/TMS320F28376S: Memory map prevented reading 0x000480xx@Data

Part Number: TMS320F28376S
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hello.

I'm unable to read Can registers in my project. There is an error "Memory map prevented reading 0x000480xx@Data". However, I can read other peripheral registers without any problems.

I read topics related to my issue, increased heap and stack size, but it didn't affect. In my target configuration I have basic GEL file "f28376s.gel".

I use CCS v7.4.

Please, help me to solve the problem

  • Hello,
    The CANA registers should be mapped to address 0x48000 of page 3 (Peripheral) or 0x48000@Peripheral (as shown in your second screenshot). However, the expressions view is trying to access 0x48000@Data (page 1), which is invalid memory.

    Please try restarting with a manual debug session launch and connect to the target. Do not load the program but instead enter "CanaReg" in the expressions view. Does it map correctly?

    Thanks
    ki
  • Hello Ki-Soo, thank you for your reply.

    I connected to the target and you can see "CanaRegs" on the attached screen. The values of the registers are visible, but I'm not sure that these are the correct values.

  • It should be the same as what is displayed in the Registers view. Look for 'CanaRegs' in the Registers view
  • When program is not loaded, CanaRegs in the Registers view and in the Expressions view looks the same. But when the program is loaded, I am unable to read registers

  • Aliaksei Rusakovich said:
    But when the program is loaded, I am unable to read registers

    Your program (re)defines CanaRegs (see the second screenshot which shows that it is defined as a struct).

  • Ki-Soo Lee said:
    Your program (re)defines CanaRegs (see the second screenshot which shows that it is defined as a struct).

    However, as you can see on the screen, all registers are defined as a struct, but I can see their values except of CanRegs.

  • I think I know what is going on. The F2837xS_Headers_nonBIOS.cmd defines CANA and CANB memory range on the Data page when it should be the peripheral page. I think the cmd file is incorrect. I shouldn't impact the application however. And use the Register view to see the values. I will confirm my findings and let you know.
  • Thank you, I'll wait for your reply.
    And I'd like to add that I use the standard F2837xS_Headers_nonBIOS.cmd
  • I confirmed with the C2000Ware experts that this is a bug. It will be fixed in a future release. In the mean time, please use the Register view.

    Thanks
    ki