[PATCH, FT32] sim: test coverage for link parameters, PM write port

James Bowman
2015-10-07T15:20:46Z

Adds test coverage for recent features.

OK to apply?

[sim/testsuite/sim/ft32/ChangeLog]

2015-10-07 James Bowman <james.bowman@ftdichip.com>

* basic.s: Add test for memory size link parameters.
Add test for program memory write port.

diff --git a/sim/testsuite/sim/ft32/basic.s b/sim/testsuite/sim/ft32/basic.s
index c92f295..62977c8 100644
--- a/sim/testsuite/sim/ft32/basic.s
+++ b/sim/testsuite/sim/ft32/basic.s
@@ -5,6 +5,11 @@

start

+ ldk $r0,__PMSIZE
+ EXPECT $r0,0x00040000
+ ldk $r0,__RAMSIZE
+ EXPECT $r0,0x00010000
+
ldk $r4,10
add $r4,$r4,23
EXPECT $r4,33
@@ -784,6 +789,38 @@ tmp: .long 0
pop.l $r0
EXPECT $r0,0x12345678

+# PM write port
+ .equ PM_UNLOCK, 0x1fc80
+ .equ PM_ADDR, 0x1fc84
+ .equ PM_DATA, 0x1fc88
+
+ lpm.l $r0,k_12345678
+ lpm.l $r1,k_abcdef01
+ EXPECT $r0,0x12345678
+ EXPECT $r1,0xabcdef01
+ ldk.l $r3,(0x1337f7d1 >> 10)
+ ldl.l $r3,$r3,(0x1337f7d1 & 0x3ff)
+ EXPECT $r3,0x1337f7d1
+ ldk $r4,k_12345678
+ sta.l PM_ADDR,$r4
+
+ # write while locked does nothing
+ sta.l PM_DATA,$r1
+ sta.l PM_DATA,$r0
+ lpm.l $r0,k_12345678
+ lpm.l $r1,k_abcdef01
+ EXPECT $r0,0x12345678
+ EXPECT $r1,0xabcdef01
+
+ # write while unlocked modifies program memory
+ sta.l PM_UNLOCK,$r3
+ sta.l PM_DATA,$r1
+ sta.l PM_DATA,$r0
+ lpm.l $r0,k_12345678
+ lpm.l $r1,k_abcdef01
+ EXPECT $r0,0xabcdef01
+ EXPECT $r1,0x12345678
+
# final stack check
EXPECT $sp,0x00000000