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

cross mob
remixoff
Level 1
Level 1
First question asked Welcome!

The case: TC399 + Lauterbach + firmware using OCDS registers:

In order to use XCP over DAP with VX1000 device the device driver initializes some OCDS registers. 
The registers are not described in any documentation I've checked (UM p1 and p2, DS, Arch Manual).

On the command writes some value to the address 0xF000040C it causes system trap, and stops my firmware. The behavior I can see by the Lauterbach debugger.

(!) In the same time, exact the same *.elf file at the exact the same board, flashed and ran by iSystem BlueBox debugger works well, doesn't go to any exception.

In order to figure out it's good to have some description of the registers used. 

Where can I found it? 

SAL-TC399XX-256F300S BD 

0 Likes
3 Replies
Prudhvi_E
Moderator
Moderator
Moderator
250 replies posted 100 solutions authored 25 likes received

Hello,

Could you please let us know the Trap reported ? From the issue description, it seems the OCDS module registers are being accessed and due to security reasons the module documentation is not available in the public domain and is not discussed in the community. Also, it is generally relevant for debug tooling partners.

It seems a protected register is accessed which may have caused the issue. Have you checked with the Lauterbach or Vector already on the device driver that is writing to the register? 

Regards,

Prudhvi.

0 Likes

Hi,

Yep, the Trap looks like:

remixoff__0-1685711895333.png


@Prudhvi_E wrote:

 

... due to security reasons the module documentation is not available in the public domain ...

which security reasons do you mean? I thought the main goal of security is to not have vulnerabilities, but not to hide them by hiding documentation 😉 That's not the question, just notice 😀


@Prudhvi_E wrote:

It seems a protected register is accessed which may have caused the issue.


Totally agree, it seems exactly like that. And if this appeared, I'd like (as a developer of the product) to know everything: reasons, conditions, times, and ways to allow and deny access to the register. That's why I ask 😉

Could you, please, point me to a document where the registers and the whole module are described?


@Prudhvi_E wrote:

Have you checked with the Lauterbach or Vector already on the device driver that is writing to the register? 


Not yet, and actually wouldn't like to. I guess they did their best and provided me with their solution. But unfortunately, it still requires user attention. I just don't like to walk blindly. That's why I ask for help in deep clarifying. 

0 Likes
yangliujie
Level 1
Level 1
First reply posted Welcome!

Add "SYStem.Option CBSACCEN0 TarGet" into your Lauterbach .cmm script.

0 Likes