solved Task 3.2

This commit is contained in:
Schrom01 2022-10-28 10:46:13 +02:00
parent 6f4740e719
commit 36f6411dd2
10 changed files with 294 additions and 155 deletions

View File

@ -117,15 +117,45 @@ EndCalcByMult
; Add Bin Value in higher Byte in R0
LSLS R2, R2, #8
ORRS R0, R0, R2
; Show R0 on LEDs
LDR R2, =ADDR_LED_15_0
STRH R0, [R2]
; Show R0 on LEDs 15-0
LDR R3, =ADDR_LED_15_0
STRH R0, [R3]
; Show R0 on 7-Segment
LDR R2, =ADDR_7_SEG_BIN_DS3_0
STRH R0, [R2]
LDR R3, =ADDR_7_SEG_BIN_DS3_0
STRH R0, [R3]
; Count positive Bits in Higher Byte of R2 to R1
LDR R1, =0 ; initialize R1 with 0
LDR R3, =0x1 ; mask to set first bit and to substract counter
LDR R4, =9 ; counter for loop
LSLS R2, R2, #16
CheckBitLoop
SUBS R4, R4, R3
BEQ EndCheckBitLoop ; goto EndCheckBitLoop if R4 (counter) = 0
LSLS R2, R2, #1 ; Shift Bits in R2
BCC CheckBitLoop ; goto CheckBitLoop if carry = 0
ORRS R1, R3 ; Add Carry to R1
LSLS R1, R1, #1 ; Shift Bits in R1
B CheckBitLoop ; goto checkBitLoop
EndCheckBitLoop
LSRS R1, R1, #1 ; Shift Bits in R1
; Rotate LEDs 31-16
LDR R2, =ADDR_LED_31_16
LDR R4, =17 ; Counter for LedRotationLoop
LedRotationLoop
SUBS R4, R4, R3
BEQ EndLedRotationLoop ; goto EndCheckBitLoop if R4 (counter) = 0
BL pause
STRH R1, [R2] ; Show R1 on LEDs 31-16
MOV R5, R1 ; Coppy R1 to R5
LSLS R5, R5, #16 ; Shift Bits in R5
ORRS R1, R1, R5 ; Coppy lower bytes of R1 in upper bytes in R1
RORS R1, R1, R3
B LedRotationLoop
EndLedRotationLoop
; END: To be programmed

View File

@ -1822,7 +1822,7 @@
<Name>Build</Name>
<Buttons>
<Len>976</Len>
<Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
<Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
</Buttons>
<OriginalItems>
<Len>583</Len>
@ -1838,7 +1838,7 @@
<Name>Debug</Name>
<Buttons>
<Len>2373</Len>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
</Buttons>
<OriginalItems>
<Len>898</Len>
@ -3563,7 +3563,7 @@
<Name>Build</Name>
<Buttons>
<Len>955</Len>
<Data>00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
<Data>00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
</Buttons>
<OriginalItems>
<Len>583</Len>
@ -3579,7 +3579,7 @@
<Name>Debug</Name>
<Buttons>
<Len>2362</Len>
<Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
<Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
</Buttons>
<OriginalItems>
<Len>898</Len>
@ -3606,9 +3606,9 @@
<ActiveTab>0</ActiveTab>
<Doc>
<Name>.\app\main.s</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>92</TopLine>
<CurrentLine>103</CurrentLine>
<ColumnNumber>26</ColumnNumber>
<TopLine>131</TopLine>
<CurrentLine>156</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>

View File

@ -148,7 +148,24 @@
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_2048 -FS08000000 -FL0200000 -FP0($$Device:CT_Board_HS14_M0$Flash\STM32F4xx_2048.FLM))</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint/>
<Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>146</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134221644</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\app\main.s</Filename>
<ExecCommand></ExecCommand>
<Expression>\\mul\app/main.s\146</Expression>
</Bp>
</Breakpoint>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>

View File

@ -1,6 +1,6 @@
Dependencies for Project 'bcd', Target 'Target 1': (DO NOT MODIFY !)
CompilerVersion: 6180000::V6.18::ARMCLANG
F (.\app\main.s)(0x635B82E1)(--cpu Cortex-M0 --pd "__EVAL SETA 1" -g -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --pd "__UVISION_VERSION SETA 537" --pd "_RTE_ SETA 1" --pd "_RTE_ SETA 1" --list .\build\main.lst --xref -o .\build\main.o --depend .\build\main.d)
F (.\app\main.s)(0x635B9615)(--cpu Cortex-M0 --pd "__EVAL SETA 1" -g -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --pd "__UVISION_VERSION SETA 537" --pd "_RTE_ SETA 1" --pd "_RTE_ SETA 1" --list .\build\main.lst --xref -o .\build\main.o --depend .\build\main.d)
F (RTE/Device/CT_Board_HS14_M0/datainit_ctboard.s)(0x5C517478)(--cpu Cortex-M0 --pd "__EVAL SETA 1" -g -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --pd "__UVISION_VERSION SETA 537" --pd "_RTE_ SETA 1" --pd "_RTE_ SETA 1" --list .\build\datainit_ctboard.lst --xref -o .\build\datainit_ctboard.o --depend .\build\datainit_ctboard.d)
F (RTE/Device/CT_Board_HS14_M0/startup_ctboard.s)(0x5C517478)(--cpu Cortex-M0 --pd "__EVAL SETA 1" -g -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\Device\Include\m0 -IC:\Users\roman\AppData\Local\Arm\Packs\InES\CTBoard14_DFP\4.0.2\HAL\Include --pd "__UVISION_VERSION SETA 537" --pd "_RTE_ SETA 1" --pd "_RTE_ SETA 1" --list .\build\startup_ctboard.lst --xref -o .\build\startup_ctboard.o --depend .\build\startup_ctboard.d)
F (RTE/Device/CT_Board_HS14_M0/system_ctboard.c)(0x5C597514)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m0 -c -fno-rtti -funsigned-char -D__EVAL -gdwarf-4 -O1 -fno-function-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I./RTE/_Target_1 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/Device/Include/m0 -IC:/Users/roman/AppData/Local/Arm/Packs/InES/CTBoard14_DFP/4.0.2/HAL/Include -D__UVISION_VERSION="537" -D_RTE_ -D_RTE_ -o ./build/system_ctboard.o -MD)

View File

@ -103,22 +103,22 @@ ARM Macro Assembler Page 2
50 00000000
51 00000000 ; STUDENTS: To be programmed
52 00000000
53 00000000 4A17 LDR R2, =MASK_LOW_NIBBLE
53 00000000 4A23 LDR R2, =MASK_LOW_NIBBLE
54 00000002
55 00000002 ; Load BCD Tens in R0
56 00000002 4818 LDR R0, =ADDR_DIP_SWITCH_15_8
56 00000002 4824 LDR R0, =ADDR_DIP_SWITCH_15_8
57 00000004 7800 LDRB R0, [R0]
58 00000006 4010 ANDS R0, R0, R2
59 00000008
60 00000008 ; Load BCD Ones in R1
61 00000008 4917 LDR R1, =ADDR_DIP_SWITCH_7_0
61 00000008 4923 LDR R1, =ADDR_DIP_SWITCH_7_0
62 0000000A 7809 LDRB R1, [R1]
63 0000000C 4011 ANDS R1, R1, R2
64 0000000E
65 0000000E ; Check if T0 is pressed. If pressed goto CalcByMult
66 0000000E 4B17 LDR R3, =ADDR_BUTTONS ; load base a
66 0000000E 4B23 LDR R3, =ADDR_BUTTONS ; load base a
ddress of keys
67 00000010 4C17 LDR R4, =BITMASK_KEY_T0
67 00000010 4C23 LDR R4, =BITMASK_KEY_T0
; load key mask T0
68 00000012 781A LDRB R2, [R3] ; load key values
69 00000014 4222 TST R2, R4 ; check, if key T0
@ -134,11 +134,11 @@ ARM Macro Assembler Page 2
ARM Macro Assembler Page 3
75 00000018 4A16 LDR R2, =ADDR_LCD_RED
76 0000001A 4B17 LDR R3, =0xffff
75 00000018 4A22 LDR R2, =ADDR_LCD_RED
76 0000001A 4B23 LDR R3, =0xffff
77 0000001C 8013 STRH R3, [R2]
78 0000001E 4A17 LDR R2, =ADDR_LCD_BLUE
79 00000020 4B17 LDR R3, =0x0
78 0000001E 4A23 LDR R2, =ADDR_LCD_BLUE
79 00000020 4B23 LDR R3, =0x0
80 00000022 8013 STRH R3, [R2]
81 00000024
82 00000024 ; Calculate Bin Value to R2 by Bit Shifting
@ -156,16 +156,16 @@ ARM Macro Assembler Page 3
94 0000002E CalcByMult
95 0000002E
96 0000002E ; set the LCD background to blue
97 0000002E 4A11 LDR R2, =ADDR_LCD_RED
98 00000030 4B13 LDR R3, =0x0
97 0000002E 4A1D LDR R2, =ADDR_LCD_RED
98 00000030 4B1F LDR R3, =0x0
99 00000032 8013 STRH R3, [R2]
100 00000034 4A11 LDR R2, =ADDR_LCD_BLUE
101 00000036 4B10 LDR R3, =0xffff
100 00000034 4A1D LDR R2, =ADDR_LCD_BLUE
101 00000036 4B1C LDR R3, =0xffff
102 00000038 8013 STRH R3, [R2]
103 0000003A
104 0000003A ; Calculate Bin Value to R2 by Multiplication
105 0000003A ; R2 = R0 * 10
106 0000003A 4A12 LDR R2, =FACTOR_10
106 0000003A 4A1E LDR R2, =FACTOR_10
107 0000003C 4342 MULS R2, R0, R2
108 0000003E 1852 ADDS R2, R2, R1
109 00000040
@ -180,52 +180,102 @@ ARM Macro Assembler Page 3
118 00000044 0212 LSLS R2, R2, #8
119 00000046 4310 ORRS R0, R0, R2
120 00000048
121 00000048
122 00000048 ; Show R0 on LEDs
123 00000048 4A0F LDR R2, =ADDR_LED_15_0
124 0000004A 8010 STRH R0, [R2]
125 0000004C
126 0000004C ; Show R0 on 7-Segment
127 0000004C 4A0F LDR R2, =ADDR_7_SEG_BIN_DS3_0
128 0000004E 8010 STRH R0, [R2]
129 00000050
130 00000050 ; END: To be programmed
131 00000050
132 00000050 E7FE B main
133 00000052 ENDP
121 00000048 ; Show R0 on LEDs 15-0
122 00000048 4B1B LDR R3, =ADDR_LED_15_0
123 0000004A 8018 STRH R0, [R3]
124 0000004C
125 0000004C ; Show R0 on 7-Segment
126 0000004C 4B1B LDR R3, =ADDR_7_SEG_BIN_DS3_0
127 0000004E 8018 STRH R0, [R3]
128 00000050
129 00000050 ; Count positive Bits in Higher Byte of R2 to R1
130 00000050 4917 LDR R1, =0 ; initialize R1 wit
h 0
131 00000052 4B13 LDR R3, =0x1 ; mask to set first
bit and to substra
ARM Macro Assembler Page 4
134 00000052
135 00000052 ;----------------------------------------------------
136 00000052 ; Subroutines
137 00000052 ;----------------------------------------------------
138 00000052
139 00000052 ;----------------------------------------------------
140 00000052 ; pause for disco_lights
141 00000052 pause PROC
142 00000052 B403 PUSH {R0, R1}
143 00000054 4906 LDR R1, =1
144 00000056 480E LDR R0, =0x000FFFFF
145 00000058
146 00000058 loop
147 00000058 1A40 SUBS R0, R0, R1
148 0000005A D2FD BCS loop
149 0000005C
150 0000005C BC03 POP {R0, R1}
151 0000005E 4770 BX LR
152 00000060 ALIGN
153 00000060 ENDP
154 00000060
155 00000060 ; ------------------------------------------------------
ct counter
132 00000054 4C1A LDR R4, =9 ; counter for loop
133 00000056 0412 LSLS R2, R2, #16
134 00000058 CheckBitLoop
135 00000058 1AE4 SUBS R4, R4, R3
136 0000005A D004 BEQ EndCheckBitLoop ; goto EndCheck
BitLoop if R4 (coun
ter) = 0
137 0000005C 0052 LSLS R2, R2, #1 ; Shift Bits in R2
138 0000005E D3FB BCC CheckBitLoop ; goto CheckBitLoo
p if carry = 0
139 00000060 4319 ORRS R1, R3 ; Add Carry to R1
140 00000062 0049 LSLS R1, R1, #1 ; Shift Bits in R1
141 00000064 E7F8 B CheckBitLoop
; goto checkBitLoop
142 00000066 EndCheckBitLoop
143 00000066 0849 LSRS R1, R1, #1 ; Shift Bits in R1
144 00000068
145 00000068 ; Rotate LEDs 31-16
146 00000068 4A16 LDR R2, =ADDR_LED_31_16
147 0000006A 4C17 LDR R4, =17 ; Counter for LedRo
tationLoop
148 0000006C LedRotationLoop
149 0000006C 1AE4 SUBS R4, R4, R3
150 0000006E D007 BEQ EndLedRotationLoop ; goto EndCh
eckBitLoop if R4 (c
ounter) = 0
151 00000070 F7FF FFFE BL pause
152 00000074 8011 STRH R1, [R2] ; Show R1 on LEDs 3
1-16
153 00000076 460D MOV R5, R1 ; Coppy R1 to R5
154 00000078 042D LSLS R5, R5, #16 ; Shift Bits in R5
155 0000007A 4329 ORRS R1, R1, R5 ; Coppy lower bytes
of R1 in upper byt
es in R1
156 0000007C 41D9 RORS R1, R1, R3
157 0000007E E7F5 B LedRotationLoop
158 00000080 EndLedRotationLoop
159 00000080
160 00000080 ; END: To be programmed
161 00000080
162 00000080 E7FE B main
163 00000082 ENDP
164 00000082
165 00000082 ;----------------------------------------------------
166 00000082 ; Subroutines
167 00000082 ;----------------------------------------------------
168 00000082
169 00000082 ;----------------------------------------------------
170 00000082 ; pause for disco_lights
171 00000082 pause PROC
172 00000082 B403 PUSH {R0, R1}
173 00000084 4906 LDR R1, =1
174 00000086 4811 LDR R0, =0x000FFFFF
175 00000088
176 00000088 loop
177 00000088 1A40 SUBS R0, R0, R1
178 0000008A D2FD BCS loop
ARM Macro Assembler Page 5
179 0000008C
180 0000008C BC03 POP {R0, R1}
181 0000008E 4770 BX LR
182 00000090 ALIGN
183 00000090 ENDP
184 00000090
185 00000090 ; ------------------------------------------------------
------------
156 00000060 ; End of code
157 00000060 ; ------------------------------------------------------
186 00000090 ; End of code
187 00000090 ; ------------------------------------------------------
------------
158 00000060 END
188 00000090 END
0000000F
60000201
60000200
@ -238,6 +288,9 @@ ARM Macro Assembler Page 4
0000000A
60000100
60000114
00000009
60000102
00000011
000FFFFF
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M0 --depend=.\bu
ild\main.d -o.\build\main.o -I.\RTE\_Target_1 -IC:\Users\roman\AppData\Local\Ar
@ -268,6 +321,15 @@ Symbol: CalcByMult
Uses
At line 70 in file app\main.s
Comment: CalcByMult used once
CheckBitLoop 00000058
Symbol: CheckBitLoop
Definitions
At line 134 in file app\main.s
Uses
At line 138 in file app\main.s
At line 141 in file app\main.s
EndCalcByBitShift 0000002C
Symbol: EndCalcByBitShift
@ -284,13 +346,43 @@ Symbol: EndCalcByMult
Uses
At line 92 in file app\main.s
Comment: EndCalcByMult used once
loop 00000058
EndCheckBitLoop 00000066
Symbol: EndCheckBitLoop
Definitions
At line 142 in file app\main.s
Uses
At line 136 in file app\main.s
Comment: EndCheckBitLoop used once
EndLedRotationLoop 00000080
Symbol: EndLedRotationLoop
Definitions
At line 158 in file app\main.s
Uses
At line 150 in file app\main.s
Comment: EndLedRotationLoop used once
LedRotationLoop 0000006C
ARM Macro Assembler Page 2 Alphabetic symbol ordering
Relocatable symbols
Symbol: LedRotationLoop
Definitions
At line 148 in file app\main.s
Uses
At line 157 in file app\main.s
Comment: LedRotationLoop used once
loop 00000088
Symbol: loop
Definitions
At line 146 in file app\main.s
At line 176 in file app\main.s
Uses
At line 148 in file app\main.s
At line 178 in file app\main.s
Comment: loop used once
main 00000000
@ -299,7 +391,7 @@ Symbol: main
At line 48 in file app\main.s
Uses
At line 49 in file app\main.s
At line 132 in file app\main.s
At line 162 in file app\main.s
myCode 00000000
@ -309,21 +401,15 @@ Symbol: myCode
Uses
None
Comment: myCode unused
pause 00000052
ARM Macro Assembler Page 2 Alphabetic symbol ordering
Relocatable symbols
pause 00000082
Symbol: pause
Definitions
At line 141 in file app\main.s
At line 171 in file app\main.s
Uses
None
Comment: pause unused
8 symbols
At line 151 in file app\main.s
Comment: pause used once
12 symbols
@ -336,7 +422,7 @@ Symbol: ADDR_7_SEG_BIN_DS3_0
Definitions
At line 28 in file app\main.s
Uses
At line 127 in file app\main.s
At line 126 in file app\main.s
Comment: ADDR_7_SEG_BIN_DS3_0 used once
ADDR_BUTTONS 60000210
@ -400,7 +486,7 @@ Symbol: ADDR_LED_15_0
Definitions
At line 24 in file app\main.s
Uses
At line 123 in file app\main.s
At line 122 in file app\main.s
Comment: ADDR_LED_15_0 used once
ADDR_LED_31_16 60000102
@ -408,8 +494,8 @@ Symbol: ADDR_LED_31_16
Definitions
At line 25 in file app\main.s
Uses
None
Comment: ADDR_LED_31_16 unused
At line 146 in file app\main.s
Comment: ADDR_LED_31_16 used once
BITMASK_KEY_T0 00000001
Symbol: BITMASK_KEY_T0
@ -451,4 +537,4 @@ Symbol: MASK_LOW_NIBBLE
At line 53 in file app\main.s
Comment: MASK_LOW_NIBBLE used once
14 symbols
357 symbols in table
361 symbols in table

Binary file not shown.

Binary file not shown.

View File

@ -36,7 +36,7 @@ compiling system_ctboard.c...
compiling hal_rcc.c...
compiling hal_gpio.c...
linking...
Program Size: Code=3532 RO-data=428 RW-data=0 ZI-data=8192
Program Size: Code=3592 RO-data=428 RW-data=0 ZI-data=8192
".\build\mul.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>

View File

@ -3,7 +3,7 @@
<title>Static Call Graph - [.\build\mul.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\build\mul.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6180002: Last Updated: Fri Oct 28 09:21:17 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6180002: Last Updated: Fri Oct 28 10:43:03 2022
<BR><P>
<H3>Maximum Stack Usage = 132 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@ -485,120 +485,121 @@ Global Symbols
<P><STRONG><a name="[66]"></a>__system</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_ctboard.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 132<LI>Call Chain = __system &rArr; system_enter_run &rArr; hal_gpio_init_alternate &rArr; hal_gpio_init_output
</UL>
<BR>[Calls]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
<BR>[Calls]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_ctboard.o(.text)
</UL>
<P><STRONG><a name="[68]"></a>system_enter_run</STRONG> (Thumb, 280 bytes, Stack size 48 bytes, system_ctboard.o(.text))
<P><STRONG><a name="[69]"></a>system_enter_run</STRONG> (Thumb, 280 bytes, Stack size 48 bytes, system_ctboard.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 124<LI>Call Chain = system_enter_run &rArr; hal_gpio_init_alternate &rArr; hal_gpio_init_output
</UL>
<BR>[Calls]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_fmc_init_sram
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_gpio_init_alternate
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_rcc_setup_clock
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_pwr_set_overdrive
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_rcc_setup_pll
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_rcc_set_osc
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_rcc_reset
<BR>[Calls]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_fmc_init_sram
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_gpio_init_alternate
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_rcc_setup_clock
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_pwr_set_overdrive
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_rcc_setup_pll
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_rcc_set_osc
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_rcc_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__system
</UL>
<P><STRONG><a name="[71]"></a>system_enter_sleep</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, system_ctboard.o(.text), UNUSED)
<P><STRONG><a name="[72]"></a>system_enter_sleep</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, system_ctboard.o(.text), UNUSED)
<P><STRONG><a name="[72]"></a>system_enter_stop</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, system_ctboard.o(.text), UNUSED)
<P><STRONG><a name="[73]"></a>system_enter_stop</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, system_ctboard.o(.text), UNUSED)
<P><STRONG><a name="[73]"></a>system_enter_standby</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, system_ctboard.o(.text), UNUSED)
<P><STRONG><a name="[74]"></a>system_enter_standby</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, system_ctboard.o(.text), UNUSED)
<P><STRONG><a name="[74]"></a>hal_fmc_reset</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, hal_fmc.o(.text), UNUSED)
<P><STRONG><a name="[75]"></a>hal_fmc_reset</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, hal_fmc.o(.text), UNUSED)
<P><STRONG><a name="[6f]"></a>hal_fmc_init_sram</STRONG> (Thumb, 264 bytes, Stack size 36 bytes, hal_fmc.o(.text))
<P><STRONG><a name="[70]"></a>hal_fmc_init_sram</STRONG> (Thumb, 264 bytes, Stack size 36 bytes, hal_fmc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = hal_fmc_init_sram
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
</UL>
<P><STRONG><a name="[75]"></a>hal_gpio_reset</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[76]"></a>hal_gpio_reset</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[76]"></a>hal_gpio_init_input</STRONG> (Thumb, 156 bytes, Stack size 32 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[77]"></a>hal_gpio_init_input</STRONG> (Thumb, 156 bytes, Stack size 32 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[77]"></a>hal_gpio_init_analog</STRONG> (Thumb, 240 bytes, Stack size 36 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[78]"></a>hal_gpio_init_analog</STRONG> (Thumb, 240 bytes, Stack size 36 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[70]"></a>hal_gpio_init_output</STRONG> (Thumb, 276 bytes, Stack size 36 bytes, hal_gpio.o(.text))
<P><STRONG><a name="[71]"></a>hal_gpio_init_output</STRONG> (Thumb, 276 bytes, Stack size 36 bytes, hal_gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = hal_gpio_init_output
</UL>
<BR>[Called By]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_gpio_init_alternate
<BR>[Called By]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_gpio_init_alternate
</UL>
<P><STRONG><a name="[6e]"></a>hal_gpio_init_alternate</STRONG> (Thumb, 262 bytes, Stack size 40 bytes, hal_gpio.o(.text))
<P><STRONG><a name="[6f]"></a>hal_gpio_init_alternate</STRONG> (Thumb, 262 bytes, Stack size 40 bytes, hal_gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 76<LI>Call Chain = hal_gpio_init_alternate &rArr; hal_gpio_init_output
</UL>
<BR>[Calls]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_gpio_init_output
<BR>[Calls]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_gpio_init_output
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
</UL>
<P><STRONG><a name="[78]"></a>hal_gpio_input_read</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[79]"></a>hal_gpio_input_read</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[79]"></a>hal_gpio_output_read</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7a]"></a>hal_gpio_output_read</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7a]"></a>hal_gpio_output_write</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7b]"></a>hal_gpio_output_write</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7b]"></a>hal_gpio_bit_set</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7c]"></a>hal_gpio_bit_set</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7c]"></a>hal_gpio_bit_reset</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7d]"></a>hal_gpio_bit_reset</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7d]"></a>hal_gpio_bit_toggle</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7e]"></a>hal_gpio_bit_toggle</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7e]"></a>hal_gpio_irq_set</STRONG> (Thumb, 292 bytes, Stack size 36 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7f]"></a>hal_gpio_irq_set</STRONG> (Thumb, 292 bytes, Stack size 36 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[7f]"></a>hal_gpio_irq_status</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[80]"></a>hal_gpio_irq_status</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[80]"></a>hal_gpio_irq_clear</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[81]"></a>hal_gpio_irq_clear</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[81]"></a>hal_pwr_reset</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[82]"></a>hal_pwr_reset</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[82]"></a>hal_pwr_set_backup_domain</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[83]"></a>hal_pwr_set_backup_domain</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[83]"></a>hal_pwr_set_backup_access</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[84]"></a>hal_pwr_set_backup_access</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[84]"></a>hal_pwr_set_wakeup_pin</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[85]"></a>hal_pwr_set_wakeup_pin</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[85]"></a>hal_pwr_set_flash_powerdown</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[86]"></a>hal_pwr_set_flash_powerdown</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[6c]"></a>hal_pwr_set_overdrive</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, hal_pwr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
<P><STRONG><a name="[6d]"></a>hal_pwr_set_overdrive</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, hal_pwr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
</UL>
<P><STRONG><a name="[86]"></a>hal_pwr_set_underdrive</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[87]"></a>hal_pwr_set_underdrive</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, hal_pwr.o(.text), UNUSED)
<P><STRONG><a name="[69]"></a>hal_rcc_reset</STRONG> (Thumb, 104 bytes, Stack size 16 bytes, hal_rcc.o(.text))
<P><STRONG><a name="[6a]"></a>hal_rcc_reset</STRONG> (Thumb, 104 bytes, Stack size 16 bytes, hal_rcc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = hal_rcc_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
</UL>
<P><STRONG><a name="[87]"></a>hal_rcc_set_peripheral</STRONG> (Thumb, 228 bytes, Stack size 8 bytes, hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[88]"></a>hal_rcc_set_peripheral</STRONG> (Thumb, 228 bytes, Stack size 8 bytes, hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[6a]"></a>hal_rcc_set_osc</STRONG> (Thumb, 108 bytes, Stack size 16 bytes, hal_rcc.o(.text))
<P><STRONG><a name="[6b]"></a>hal_rcc_set_osc</STRONG> (Thumb, 108 bytes, Stack size 16 bytes, hal_rcc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = hal_rcc_set_osc
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
</UL>
<P><STRONG><a name="[6b]"></a>hal_rcc_setup_pll</STRONG> (Thumb, 220 bytes, Stack size 24 bytes, hal_rcc.o(.text))
<P><STRONG><a name="[6c]"></a>hal_rcc_setup_pll</STRONG> (Thumb, 220 bytes, Stack size 24 bytes, hal_rcc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = hal_rcc_setup_pll
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
</UL>
<P><STRONG><a name="[6d]"></a>hal_rcc_setup_clock</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, hal_rcc.o(.text))
<P><STRONG><a name="[6e]"></a>hal_rcc_setup_clock</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, hal_rcc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = hal_rcc_setup_clock
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;system_enter_run
</UL>
<P><STRONG><a name="[65]"></a>main</STRONG> (Thumb, 82 bytes, Stack size 0 bytes, main.o(myCode))
<P><STRONG><a name="[65]"></a>main</STRONG> (Thumb, 130 bytes, Stack size 0 bytes, main.o(myCode))
<BR><BR>[Calls]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pause
</UL>
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@ -606,7 +607,11 @@ Global Symbols
</UL><P>
<H3>
Local Symbols
</H3><P>
</H3>
<P><STRONG><a name="[68]"></a>pause</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, main.o(myCode))
<BR><BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>

View File

@ -125,7 +125,8 @@ Image Symbol Table
__arm_cp.3_5 0x08000e88 Number 4 hal_rcc.o(.text)
__arm_cp.4_0 0x08000edc Number 4 hal_rcc.o(.text)
__arm_cp.4_1 0x08000ee0 Number 4 hal_rcc.o(.text)
myCode 0x08000ee4 Section 148 main.o(myCode)
myCode 0x08000ee4 Section 208 main.o(myCode)
pause 0x08000f67 Thumb Code 14 main.o(myCode)
STACK 0x20000000 Section 8192 startup_ctboard.o(STACK)
__initial_sp 0x20002000 Data 0 startup_ctboard.o(STACK)
@ -277,8 +278,8 @@ Image Symbol Table
hal_rcc_set_osc 0x08000d25 Thumb Code 108 hal_rcc.o(.text)
hal_rcc_setup_pll 0x08000d99 Thumb Code 220 hal_rcc.o(.text)
hal_rcc_setup_clock 0x08000e8d Thumb Code 80 hal_rcc.o(.text)
main 0x08000ee5 Thumb Code 82 main.o(myCode)
Image$$RO$$Limit 0x08000f78 Number 0 anon$$obj.o ABSOLUTE
main 0x08000ee5 Thumb Code 130 main.o(myCode)
Image$$RO$$Limit 0x08000fb4 Number 0 anon$$obj.o ABSOLUTE
Image$$RW$$Base 0x20000000 Number 0 anon$$obj.o ABSOLUTE
Image$$ZI$$Base 0x20000000 Number 0 anon$$obj.o ABSOLUTE
Stack_Mem 0x20000000 Data 8192 startup_ctboard.o(STACK)
@ -292,9 +293,9 @@ Memory Map of the image
Image Entry point : 0x08000229
Load Region LR_1 (Base: 0x08000000, Size: 0x00000f78, Max: 0xffffffff, ABSOLUTE)
Load Region LR_1 (Base: 0x08000000, Size: 0x00000fb4, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000f78, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000fb4, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@ -307,15 +308,15 @@ Memory Map of the image
0x08000504 0x08000504 0x00000604 Code RO 34 .text hal_gpio.o
0x08000b08 0x08000b08 0x000000ac Code RO 42 .text hal_pwr.o
0x08000bb4 0x08000bb4 0x00000330 Code RO 50 .text hal_rcc.o
0x08000ee4 0x08000ee4 0x00000094 Code RO 1 * myCode main.o
0x08000ee4 0x08000ee4 0x000000d0 Code RO 1 * myCode main.o
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000f78, Size: 0x00000000, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000fb4, Size: 0x00000000, Max: 0xffffffff, ABSOLUTE)
**** No section assigned to this execution region ****
Execution Region ER_ZI (Exec base: 0x20000000, Load base: 0x08000f78, Size: 0x00002000, Max: 0xffffffff, ABSOLUTE)
Execution Region ER_ZI (Exec base: 0x20000000, Load base: 0x08000fb4, Size: 0x00002000, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@ -334,12 +335,12 @@ Image component sizes
1540 96 0 0 0 11993 hal_gpio.o
172 20 0 0 0 2124 hal_pwr.o
816 168 0 0 0 5352 hal_rcc.o
148 52 0 0 0 424 main.o
208 64 0 0 0 448 main.o
36 8 428 0 8192 820 startup_ctboard.o
354 60 0 0 0 6763 system_ctboard.o
----------------------------------------------------------------------
3532 470 428 0 8192 31725 Object Totals
3592 482 428 0 8192 31749 Object Totals
0 0 0 0 0 0 (incl. Generated)
2 0 0 0 0 0 (incl. Padding)
@ -354,15 +355,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
3532 470 428 0 8192 31541 Grand Totals
3532 470 428 0 8192 31541 ELF Image Totals
3532 470 428 0 0 0 ROM Totals
3592 482 428 0 8192 31565 Grand Totals
3592 482 428 0 8192 31565 ELF Image Totals
3592 482 428 0 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 3960 ( 3.87kB)
Total RO Size (Code + RO Data) 4020 ( 3.93kB)
Total RW Size (RW Data + ZI Data) 8192 ( 8.00kB)
Total ROM Size (Code + RO Data + RW Data) 3960 ( 3.87kB)
Total ROM Size (Code + RO Data + RW Data) 4020 ( 3.93kB)
==============================================================================