sim: ft32: test coverage for link parameters and PM write port
authorJames Bowman <james.bowman@ftdichip.com>
Wed, 7 Oct 2015 15:19:08 +0000 (15:19 +0000)
committerMike Frysinger <vapier@gentoo.org>
Tue, 13 Oct 2015 00:23:26 +0000 (20:23 -0400)
Adds test coverage for recent features.

sim/testsuite/sim/ft32/ChangeLog
sim/testsuite/sim/ft32/basic.s

index a0cfa181831e1530d50cabd686cc53c253d104ad..cb1d2f4f89523c2821b08fd546de78f16a103839 100644 (file)
@@ -1,3 +1,8 @@
+2015-10-12  James Bowman  <james.bowman@ftdichip.com>
+
+       * basic.s: Add test for memory size link parameters.
+       Add test for program memory write port.
+
 2015-02-28  James Bowman  <james.bowman@ftdichip.com>
 
        * basic.s, allinsn.exp, testutils.inc: New files.
index c92f295366f213adb0e591612beee87d7e2b863e..62977c8820f858c434bae8368956e8094dcb9f4e 100644 (file)
@@ -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