TC3xx OCDS based FW Programming on PFLASH

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

cross mob
User21219
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hello Infineon Users/Experts,

We are trying to program the PFLASH using the OCDS module. We are able to Halt the processor and read some system registers exposed via OCDS. We are also able to read PFLASH .  We are noticing BUS WR ERRORS in IOINFO when trying to write to PFLASH BANK 0 example when trying to write  to  0x80000020 . IOINFO => 0x408 which is BUS WR_ERR.

Do we need to disable any protection settings to perform writes to PFLASH?

Can we get some guidance on how we should go about going through the erase-program cycle?

Thanks

JK

 

 

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

Hello,

How you're communicating with the Aurix, are you doing with help of a debugger ? In the TC3xx User Manual section "3.1.1.7.7 Debug System handling" provides information about the debug unlock sequence when a debugger is connected on higher level. Is it taken care? What are the values of IOCONF & IOSR registers?

Regards,

Prudhvi.

0 Likes
User21219
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hello,

How you're communicating with the Aurix, are you doing with help of a debugger ?

We are communicating to Aurix over  FTDI-->JTAG/DAP. This tool is external to Aurix and we are trying to be independent of any SW on the Aurix as in program virgin as well as update an already programmed device.

In the TC3xx User Manual section "3.1.1.7.7 Debug System handling" provides information about the debug unlock sequence when a debugger is connected on higher level. Is it taken care?

We are definitely not doing this. Will take a look, thanks for the pointer. We entered RW mode and verified we can read/write System registers in for # Init TLE35584 C-Step on connect (0xF00XXXX), # switch off FLASH error traps(0xF880XXXx). 

This seems to be dependent SSW(Startup SW) . We are currently halting the processor using HARR and RSTCTL3 and are expecting to unlock to perform OCDS block reads/writes to program the PFLASH.

What are the values of IOCONF & IOSR registers?

When Trying to write to the PFLASH0 0x8000XXXX we are seeing IOCONF as 0x0408 (BUS WR ERRORS). We are seeing IOSR : 0x100  but not capturing this for each write. Which we can.

Questions

Does ACCEN0/ACCEN1 registers need to be set with TAG ID?

Should we be using Cached address range instead of 0x8000XXXX ?

Is there a documented erase/program cycle also described that we need to follow?

Thanks

 

 

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

Hello,

Please find the answers to your question below:

Does ACCEN0/ACCEN1 registers need to be set with TAG ID?

The default value allows all TAG IDs unless it is changed by the User.

Should we be using Cached address range instead of 0x8000XXXX ?

Usage of 0x8 series address shouldn't have any problem.

Is there a documented erase/program cycle also described that we need to follow?

Please refer to sections 1.2 Functional Description and 1.4 Use Cases of "AURIX TC3XX OCDS Target specification" document.

Regards,

Prudhvi.

0 Likes

Thank you for your reply

Section 1.4.2.2 We are trying to implement this and failing when trying to write/blockwrite to the PFLASH.( Use Cases of "AURIX TC3XX OCDS Target specification" document)

Regarding section 3.1.1.7.7 Debug System handling(User manual Part 1)

Here is a log snippet that we have

Reset the platform and enable DAP
Sync Completed
DAPISC Completed : 0x400
JTAG ID 0x20205083
IOINFO => 0x60; End of initialization indication; Application Reset occur;
IOINFO => 0x40; Application Reset occur;
IOINFO => 0x440; Application Reset occur; Trigger Line Status = 0x20b10
Switch to RW and SV_MODE
IOINFO => 0x400; Trigger Line Status = 0x20b10
IOSR : 0x100 0b100000000
COMDATA : 0x99e33ecc 0b10011001111000110011111011001100
Writing COMDATA PASSWORD Completed
PROCONPF : 0x0 0b0
IOINFO => 0x400; Trigger Line Status = 0x20b10
PROCONDBG : 0x0 0b0
OSTATE : 0x80001 0b10000000000000000001
OSTATE : 0x80001 0b10000000000000000001
JTAG_ID : 0x20205083 538988675
UCB Confirmation :0xAF4021F0: 0x43211234
value: 0x4e414e
IOINFO => 0x400; Trigger Line Status = 0x20b10

Writing to Flash 0x80000020!!


IOINFO => 0x408; Bus write error; Trigger Line Status = 0x20b10

Questions

Any things we can try or what else can be the reason why PFLASH cannot be written to?

Do we have Bus contention with any other blocks such as SCU/HSM?

Thanks

JK

 

0 Likes