diff --git a/.gitignore b/.gitignore index 6dd1859..96017c4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,13 @@ /Debug/ +/Asm/ +/Release/ +/UKSSTMS320F28335/Debug/ +/UKSSTMS320F28335/Release/ +/UKSSTMS320F28335/.inspect/ +/UKSSTMS320F28335/.settings/org.eclipse.core.resources.prefs +/UKSSTMS320F28335/project.log +/.ccs12_*workspace*/ +/.ti_appdata/ /UKSSTMS320F28335.CS_/ /Debug.lkf /cc_build_Debug.log diff --git a/.project b/.project new file mode 100644 index 0000000..95db45b --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + ice_22220_6 + + + + + + + + diff --git a/Bin/ICE_MODULE_OVEN.bin b/Bin/ICE_MODULE_OVEN.bin deleted file mode 100644 index b5a1692..0000000 Binary files a/Bin/ICE_MODULE_OVEN.bin and /dev/null differ diff --git a/Bin/ICE_MODULE_UKSS.bin b/Bin/ICE_MODULE_UKSS.bin deleted file mode 100644 index 09b59f3..0000000 Binary files a/Bin/ICE_MODULE_UKSS.bin and /dev/null differ diff --git a/Bin/UKSSTMS320F28335.bin b/Bin/UKSSTMS320F28335.bin index 2d14192..6db11bf 100644 Binary files a/Bin/UKSSTMS320F28335.bin and b/Bin/UKSSTMS320F28335.bin differ diff --git a/Bin/UKSSTMS320F28335.hex b/Bin/UKSSTMS320F28335.hex index 6c7e571..2cc6e4d 100644 --- a/Bin/UKSSTMS320F28335.hex +++ b/Bin/UKSSTMS320F28335.hex @@ -1,4 +1,4 @@ -:20000000AA080000000000000000000000000000000000001AACBE0100008FAD00FF00DD91 +:20000000AA080000000000000000000000000000000000000EACBE0100008CAD00FF00DDA0 :2000200000000000C1C081C1400101C3C003800241C201C6C006800741C70005C1C581C4C4 :20004000400401CCC00C800D41CD000FC1CF81CE400E000AC1CA81CB400B01C9C0098008A5 :2000600041C801D8C018801941D9001BC1DB81DA401A001EC1DE81DF401F01DDC01D801CD4 @@ -19,15 +19,15 @@ :200240000000000000000000000000000000000000000000FFFFB4D700000000FFFFB5D78B :2002600000000000FFFF6FDB00000000FFFF70DB00000000FFFF71DB00000000FFFF72DB58 :2002800000000000FEFF74DB000000000000FEFF76DB000000000000FCFF78DB0000000076 -:2002A000000000000000F4FF50DB00000000000000000000799A00002D9B0000CA9A0000E1 -:2002C000CF9A0000FFFF68DB00000000FFFF69DB00000000FFFF6ADB00000000FFFF6BDBAB +:2002A000000000000000F4FF50DB000000000000000000006D9A0000219B0000BE9A000005 +:2002C000C39A0000FFFF68DB00000000FFFF69DB00000000FFFF6ADB00000000FFFF6BDBB7 :2002E00000000000FEFFDEDC000000000000FEFFE0DC000000000000FEFFE2DC00000000D3 :200300000000FEFFE4DC000000000000FFFFE6DC00000000FFFFE7DC00000000FFFFE8DCDD :2003200000000000FFFFE9DC00000000FFFFEADC00000000FFFFF4DC00000000FEFFFADC95 -:2003400000008AAD0000FEFFFCDC00008AAD0000FEFF00DE000000000000FEFF02DE0000A2 +:20034000000087AD0000FEFFFCDC000087AD0000FEFF00DE000000000000FEFF02DE0000A8 :2003600000000000FFFF00D700000000FFFF44D300000100FFFF7CDB00000A00FFFF7DDBDD :1803800000000100FFFF77D700000000FFFF7ED70000000000000000C5 -:200398008F2D000000801B76F0FF00E2BD0030E60006422916562376391110292576006FD1 +:200398008C2D000000801B76F0FF00E2BD0030E60006422916562376391110292576006FD4 :2003B8001B76F0FF00E2BD0030E60006422916562376390110292576006F1B76F0FF00E29B :2003D800BD0030E60006422916562376390110292576006F1B76F0FF00E2BD0030E6000604 :2003F800422916562376390110292576006F1B76F0FF00E2BD0030E60006422916561029AD @@ -134,650 +134,649 @@ :20109800000602FE422916561F7633003292419623760001267600011F76330032921F76A0 :2010B8003300322B1F7633002128FFFF1029103B1F763300419232962576006F1B76F0FF08 :2010D80000E2BD0030E6000602FE422916561F7633003292419623760001267600011F7637 -:2010F800330032921F763300322B1F7633002128FFFF1029103B1F7633004192329625762B -:20111800006F1B76F0FF00E2BD0030E6000602FE422916561F763300329241962376000139 -:20113800267600011F76330032921F763300322B1F7633002128FFFF1029103B1F763300EE -:20115800419232962576006F1B76F0FF00E2BD0030E6000602FE422916561F763300329234 -:20117800419623760001267600011F76330032921F763300322B1F7633002128FFFF102950 -:20119800103B1F763300419232962576006F1B76F0FF00E2BD0030E6000602FE422916566D -:2011B8001F7633003292419623760001267600011F76330032921F763300322B1F76330004 -:2011D8002128FFFF1029103B1F763300419232962576006F1B76F0FF00E2BD0030E6000684 -:2011F80002FE422916561F7633003292419623760001267600011F76330032921F76330012 -:20121800322B1F7633002128FFFF1029103B1F763300419232962576006F1B76F0FF00E2F7 -:20123800BD0030E6000602FE422916561F7633003292419623760001267600011F76330084 -:2012580032183F001F7633002128FFFF1029103B1F763300419232962576006F1B76F0FF6D -:2012780000E2BD0030E6000602FE422916561F7633003292419623760001267600011F7695 -:20129800330032187F001F7633002128FFFF1029103B1F763300419232962576006F1B76A9 -:2012B800F0FF00E2BD0030E6000602FE422916561F763300389241962376000826760000EF -:2012D8001F76330038189E001F7633002128FFFF1029103B1F763300419238962576006F3A -:2012F8001B76F0FF00E2BD0030E6000602FE422916561F763300389241962376000826761E -:2013180000001F76330038189C001F7633002128FFFF1029103B1F7633004192389625766A -:20133800006F1B76F0FF00E2BD0030E6000602FE422916561F76330038924196237600080A -:20135800267600001F763300381890001F7633002128FFFF1029103B1F7633004192389635 -:201378002576006F1B76F0FF00E2BD0030E6000602FE422916561F76330038924196237637 -:201398000008267600001F763300381890001F7633002128FFFF1029103B1F7633004192BB -:2013B80038962576006F1B76F0FF00E2BD0030E6000602FE422916561F76330038924196C2 -:2013D80023760008267600001F76330038921F763300382B1F7633002128FFFF1029103B68 -:2013F8001F763300419238962576006F1B76F0FF00E2BD0030E6000602FE422916561F76BB -:2014180033003892419623760008267600001F76330038189F001F7633002128FFFF1029A4 -:20143800103B1F763300419238962576006F1B76F0FF00E2BD0030E6000602FE42291656C4 -:201458001F7633003892419623760008267600001F76330038921F763300382B1F76330049 -:201478002128FFFF1029103B1F763300419238962576006F1B76F0FF00E2BD0030E60006DB -:20149800422916562576006F1B76F0FF00E2BD0030E60006422916562576006F1B76F0FFB7 -:2014B80000E2BD0030E60006422916562576006F1B76F0FF0500BDA8BDA0BDC2BDC3BDABCA -:2014D80000E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000602FE69FF422916566C -:2014F8001F7633003292419623760001267600011F76330032921F763300322B1F763300C1 -:201518002128FFFF1029008F00D069FF4076658E008F00D04076C989103B1F763300419276 -:20153800329682FEAFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE835E -:20155800BE8A0300F1FF177602761B76F0FF0500BDA8BDA0BDC2BDC3BDAB00E2BD0003E201 -:20157800BD0003E2BD0103E2BD0203E2BD0330E6000602FE69FF422916561F7633003292C3 -:20159800419623760001267600011F76330032921F763300322B1F7633002128FFFF10292C -:2015B800008F80D369FF4076658E008F80D34076C989103B1F7633004192329682FEAFE277 -:2015D800BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE83BE8A0300F1FF5C -:2015F800177602761B76F0FF0500BDA8BDA0BDC2BDC3BDAB00E2BD0003E2BD0003E2BD013C -:2016180003E2BD0203E2BD0330E6000602FE69FF422916561F763300329241962376000111 -:20163800267600011F76330032921F763300322B1F7633002128FFFF1029008F00D069FF35 -:201658004076658E008F00D04076788B103B1F7633004192329682FEAFE2BE03AFE2BE02E0 -:20167800AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE83BE8A0300F1FF177602761B7637 -:20169800F0FF0500BDA8BDA0BDC2BDC3BDAB00E2BD0003E2BD0003E2BD0103E2BD0203E2A8 -:2016B800BD0330E6000602FE69FF422916561F7633003292419623760001267600011F76C8 -:2016D800330032921F763300322B1F7633002128FFFF1029008F80D369FF4076658E008F0C -:2016F80080D34076788B103B1F7633004192329682FEAFE2BE03AFE2BE02AFE2BE01AFE214 -:20171800BE0080E2BE00BE87BEC5BEC4BE83BE8A0300F1FF1776027604FE42A8428AC48A02 -:20173800ECCC4000C5FF16ED1F7633002192A9CDFFFEC7FF01901F7633000150019087FF5D -:20175800A8CA2196428AC48A0BDCC41A4000EFFF9201428AC48AFC92FF904396428AC48A7E -:20177800ECCC8000C6FF0AEC428AC48ACC18DFFF428AC48ACC1A2000D26F428A008DA00127 -:201798009492CDED428A008D3B039492015216ED428A008D3D03BF569401428A0002008DA0 -:2017B8003403941E428A008D3F03942B428A008D3E03942B428A0DD0942B428A008D3F0372 -:2017D8009492ADED428A008D3D039492C156F400428A008D3E0394924BED1F76040302923F -:2017F80043541FEC1F766D033D92435403ED005218ED428A008D31039492435406ED428A74 -:20181800008D330394920DED1F766D033C92435424ED005222EC428A008D330394921DED33 -:20183800428A4392008D320394964206008F3E030156A400019BC492A995C497428A013B5D -:20185800A9850156A4000ED043929496089A428A40766A8CEFFF64FF428A008D3F03BF564F -:201878009401428A008D3D03942BEFFF59FF4206008F3E030156A400019BC492A995C4977F -:20189800428A013BA9850156A4000ED043929496428A008D3E039492075210ED428A0DD063 -:2018B800949210520BED428A008D3303949206ED43921F765C030A9C1096428A008D3E0339 -:2018D800949203520DED428A0DD09492045208ED428395584392008F00D7059C9496428ADD -:2018F800008D3E03949202523DED428A43920DD09496428A949203521668428A949242526B -:20191800126642839558008F00D7949203520B68428A0DD0949233521CED428A0CD0949206 -:201938003A5217EC428A099A40766A8C428A008D3E03942B428A008D3D03BF569401428A7D -:20195800008D3F03942B428A0DD0942BEFFFE8FE428A0DD09492335205ED428A008D3D03C6 -:20197800942B42830DD095584283008F00D79492008D3E03955408694283008F9001958589 -:20199800A40FE8FFCDFE428A099A40766A8C428A008D3D03942B428A008D3F03BF56940112 -:2019B800428A008DA001BF569401428A0DD0942BEFFFB6FE4283F5C4208F0000A9A8A60F2E -:2019D80008664283F5C42F8F0000A9A8A60F08674283208F0000F5A842830AD095A8428A17 -:2019F8000CD094923A52C0569BFE428A008DA001949208EC428A008D3F03BF569401EFFF4B -:201A18008FFE4206008F34030156A400C4C4A692019001DEC4C2449609EC4283F58AA9A8FE -:201A38000109F51E4392C498066F428AF48A03564308C496428A008D34039406428AE40F9A -:201A5800E8FF6EFE428A339A0FD09496428A0CD09496099A428A40766A8C428A008D3F03F1 -:201A7800BF569401428A008DA001BF569401EFFF57FE84FE060004FE42A8428A008D3A03B3 -:201A980094923CED4206008F38030156A4000102C407C41E428A008D3603940F0568428AB4 -:201AB800C48ABF56E402428A08D0948A4283849295A8428AC48A09D09496428A4283008DB0 -:201AD80036039406008D3803950F5766428AC48AE4CC4000C5FFFBEC428A099A40766A8C22 -:201AF800428AD492025205ED1F76BF01081A0400428A008D9E01942B406F4206008F380363 -:201B18000156A400C4C4A692019001DEC4C24396428A4283008D36039406008D3803950FC6 -:201B38000566428AC48ABF56E40243920DEC428A08D0948A4283849295A8428AC48AFF90BC -:201B580009D094960B6F428A428308D0948AC58309D0C492A7FFFF909596428A4283008D74 -:201B780036039406008D3803950F0766428AC48AE4CC4000C5FFFBEC1F7633002192A9CDFB -:201B9800FFFEC7FF01901F7633000150019087FFA8CA219684FE060002FE412B4192465221 -:201BB8000D63013B008F00D741850156A4004192C496410A41924652F5641F765C03BF56F5 -:201BD800330C1F765C03BF56340C1F765C03BF5635081F765C03BF5636091F765C03BF56CE -:201BF80037101F765C03BF5638081F765C03BF56390C1F765C03BF563A0C1F765C03BF5697 -:201C18003B051F764D030492FE9C1F765C033D961F764D0304921F765D03FF9C01961F7659 -:201C38005C03BF563E081F765C03BF5603081F765C03BF5604651F765C03BF5606081F76A0 -:201C58005C03BF56100D1F765C03BF56051B1F765C03BF563C1282FE060004FE439642A810 -:201C7800439208520BED089A428A01D54E9B4076248E428A008D3B03942B439209520CED11 -:201C9800089A428A01D54E9B4076248E428A008D3B03BF56940184FE060008FE461E44A080 -:201CB80042A8472B471B30750566470A471B3075FD69428AD492025205ED1F76BF01081893 -:201CD800FBFF472B471B10270566470A471B1027FD69428A4606008D3603941E428A440686 -:201CF80008D00109941E428A008D3A03942B428AC48AE4CC4000C5FFFBEC428A089A40760A -:201D18006A8C428A008D38030102941E460F0C67428AC48ABF56E401428AC483448A09D0D6 -:201D3800C4929596216F4283448AC58309D0C4929596428AC48AE4CC4000C5FFFBEC472B1E -:201D5800471BE8030566470A471BE803FD69428A099A40766A8C428AD492025205ED1F7687 -:201D7800BF01081A0400009A88FE060006FE461E44A042A8428AD492025205ED1F76BF013C -:201D98000818FBFF428A4606008D3603941E428A08D04406941E428A008D3A03BF569401A1 -:201DB800428AC48AE4CC4000C5FFFBEC428A089A40766A8C428A008D38030102941E428A27 -:201DD800C48ABF56E4014283448A09D0C583C492A7FFFF909596009A86FE060006FE441EAF -:201DF80042A81F765D0384E2440188E23A0050E8094040767DAA88E60000007703E246002F -:201E1800428AC48A4692A7FFFF90D496428AC48A4692FF90DC9686FE060002FE41961F7630 -:201E38004D0304961F764003BF5602011F764E03BF56020282FE060008FE441E417C419233 -:201E5800015231ED008F50701F76400300A8008F00D048A822761F76BE0109CCFFF3A91A65 -:201E780000041F76BE0109961F76BE0109CCFFFCA91A00011F76BE0109961F763700008F1D -:201E9800958800A81F763700008F2F8902A81F763300321A01001F763300321A02002376E4 -:201EB80000011A764192025239ED008F50771F764E0300A8008F80D348A822761F76BE018A -:201ED80007CCFFCFA91A00201F76BE0107961F76BE0107CCFF3FA91A00801F76BE010796DC -:201EF8001F76BE011618CFFF1F76BE011A1A04001F763700008FE28804A81F763700008F22 -:201F18007C8906A81F763300321A04001F763300321A0800237600011A76488A4192D49689 -:201F3800488AC406461E01D5089A488A4E9B4076248E468A0CDCC41A0040468A0CDCC41884 -:201F5800FFDF468ACC18BFFF468ACC18DFFF468ACC18F7FF468ACC18FBFF468ACC1A020077 -:201F7800468ACC1A0100468A0ADCC418FFBF468A0BDCC4CCE0FF0150C4964076098C488A54 -:201F9800440640762B8D488AD492025205ED1F76BF01081A0400488AC48ABF56E402099ABA -:201FB800488A40766A8C488A0CD0942B488A008D9E01942B488A008D3303942B468A0BDC56 -:201FD800C41A4000468ACC1A200088FE060008FE457D4497439642A8428AC406481E439232 -:201FF8001D6509521B63488AFF9CC4CDF8FF0790A8CAC496136F488AC418DFFF166F488AB1 -:20201800C41A2000488AC418BFFF0F6F488AC41A2000488AC41A4000086F44924552F7EC39 -:202038004E52EAEC4F52ECEC4592015204ED488AC4187FFF4592025204ED488AC41A800006 -:20205800488AC418EFFF488AC418F7FF88FE060002FE42A8428A0002008D4203941E82FEE0 -:20207800060002FE42A882FE06001F76BF010D1A000806001F76BF010F1A0008060008FEB6 -:2020980003E2440103E24200AFE2440110E7080000776FE800F0007703E24600AFE24202CD -:2020B80001E8E8FAAFE2440120E751000DE8B89E00E70800007703E24800AFE24600AFE2C9 -:2020D8004601AFE2480200E3484100E78900007710E708004076F2AC02E8010250E80000FB -:2020F80040767DAA88FE06001B76F0FF0500BDA8BDA0BDC2BDC3BDAB00E2BD0003E2BD0070 -:2021180003E2BD0103E2BD0203E2BD0330E6000669FF42291656227601021F767303015663 -:202138000C00237600102676391110291A761F766F033FCC0080CEFF04ED69FF4076759FA1 -:202158001F7673032A92C0561C011F765E03000A1F765E030092145208681F765E03002BEE -:202178001F765E03BF560101009B1F765E03009A1540BD56A9011F766F030052B156A801F4 -:202198003F920190A8CA05EC69FF4076778E046F69FF4076728E1F765E03350A1F765E0383 -:2021B80035920A522B681F765E03352B1F765E03399206EC1F76BF010D1A0010056F1F76B3 -:2021D800BF010B1A00101F765E033A9206EC1F76BF010D1A0004056F1F76BF010B1A0004CC -:2021F8001F765E033B9206EC1F76BF010D1A0040056F1F76BF010B1A00401F766F0324926B -:202218001F765E03355411ED1F766F033F400DEE1F76BF010B1A00101F76BF010B1A0004A0 -:202238001F76BF010B1A0040009A1F765E0300D43C93B056A9011F766F030052B156A401E4 -:202258003F920190A4CE0AEC1F765E0313921F765E0334961F765E03362B1F766F033F9212 -:2022780001901F765E033C961F765E03340A1F765E0334921F765E03135420681F765E0322 -:20229800342B1F765E03360A1F765E03364003EF019A026F009A1F765E0337961F765E03D4 -:2022B8003692079003EC019A026F009A1F765E0338961F76BF010F1A00801F766F033FCC3E -:2022D8004000C5FF1AEC1F766F033FCC8000C6FF1F765E0339961F766F033FCC8000C6FF69 -:2022F8001F765E033A961F766F033FCC8000C6FF1F765E033B96446F1F766F033F400EEFAC -:202318001F765E0337921F765E0339961F765E033A961F765E033B96336F1F765E03BF56E7 -:2023380039011F765E0315CC0400C1FF1F765E03B0563A0125ED1F765E0315CC0800C2FFC7 -:2023580008EC1F765E0337921F765E033A96186F1F765E0315CC1000C3FF0FEC009A1F7692 -:202378005E0300D43893B056A9011F765E030052B156A4013A7C046F1F765E033A2BAFE28C -:20239800BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE83BE8A0300F1FF8E -:2023B8001776027602FE1F765E031328E803008FA60E1F765E0316A80C021F765E03181EB3 -:2023D8001F765E03008FD4301AA8412B419218521363013B008F9CD741850156A400C42B8D -:2023F8004185008FC0D70156A4004192C496410A41921852EF64412B41920C520D63013B8D -:20241800008F9CD741850156A400BF56C403410A41920C52F564412B419228521063412D96 -:20243800008F80D81235408F18D80156A40012024076D1AC410A41922852F264412B419228 -:2024580018520D63013B008F80DB41850156A400C41800E0410A41921852F5641F765E0310 -:20247800BF56120C82FE060002FE412B419202521863422B429208521063013B008F82D74B -:20249800035641030156A40042850156A400C42B420A42920852F264410A41920252EA644B -:2024B800412B419218523663013B008F9CD741850156A400C4922AEC4193A892A2FF008D1B -:2024D80082D7CBFFA894A3FFA9850156A000109B4192C000C0ACA92D019B67FFC099013BA7 -:2024F8004192189C008D82D7A993A2FFCBFFA894A3FFA9850156A000109B4192189CC000BB -:20251800C0AC019BA92D67FFC099410A41921852CC64412B419203521463013B008F82D71F -:202538004185408F8AD70156A4004192039CA9850156A500C492C596410A41920352EE6480 -:202558001F765E03031A80001F765E03BF5610701F765E03111A00E082FE060006FE467DF7 -:20257800459744A8419600520EEC448A013B4585C40F0362019A116F448A01020156C40045 -:2025980046920B6F448AC40603ED009A066F448A01024156C400469286FE060008FE44A8BA -:2025B8004196448AC49245964796013B008F80DB41850156A400C4CC0020CCFF12ED418529 -:2025D800008F80DB0156A400C4CC00E046964185008F80DB0156A400469247CAC496086F4D -:2025F8004185008F80DB0156A4004792C49847CC0001C7FF00D400BE0BEC4185408F80DB90 -:202618000156A500C5CC0040CDFFB156A601A693408F80DBB156A40141850156A500A49254 -:20263800019088FFC5CDFFFDA8CAC5964185408F80DB0156A50000D41F765E03009BC5CC2D -:202658000002C8FFB056A8010053B156A40114921F765E03A9CD0100A4CB0191A9CCFEFF65 -:20267800A9CB149788FE06000AFE439600520AED1F765E0314921F765E0315961F765E033A -:20269800142B1F765E030356120143542065013B008F80DB43850156A400C4CC0080CEFF9F -:2026B80016EC4385008F80DB0156A400C42B4385008F80DB0156A400C41A0080008F98DB57 -:2026D80043850156A400C42BEFFFD900013B008F46D743850156A400C4E2C400007703E2F8 -:2026F80046001F766F033FCC1000C3FF0DEC43858CE60000008F98DB0156A400A9BF120FDF -:20271800C496EFFFBC00492B408F80DB43850156A50000D4009BC5CC0040CDFFB056A80180 -:202738000053B156A401487C008FD8D74385408F40D80156A400AFE24602807600D80356D6 -:202758004301C8E2C4010156A50043850156A60020E75100AFE2C50200E75100C8E2C60293 -:2027780002E8401C10E751000CE8000020E70800007703E2460016E8000D14AD056306E8EC -:20279800000D03E2460012E8401A14AD056502E8401A03E2460050E8004843858CE6000041 -:2027B800408F11DC0156A500A6BF120F008F98DBC57E43850156A400C47E477E4792A91B17 -:2027D80038FF0465A91BD0070E64491A01001F765E03489214CDEFFF01901F765E0383FF28 -:2027F800A8CA1496494045EE4385008FB0DB0156A400C492FB9C47540A634385008F80DB65 -:202818000156A400C4CC2000C4FF09ED4385008FB0DB0156A400C49247541663491A200072 -:20283800489249CDFFFE019087FFA8CA49961F765E0314CDFBFF489201901F765E0381FF79 -:20285800A8CA1496166F4385008FC8DB0156A400C49247540E63491A10001F765E03489225 -:2028780014CDF7FF019082FF1F765E03A8CA1496AD5C439289DC40760B918AFE060002FE22 -:20289800421E428AC49282FE060004FE437C421E428A4392C49684FE0600BDB206FE42A817 -:2028B800428A008DA001949271EC428A942B428A0FD094924396013B4385008F00D701568D -:2028D800A400C492035209684385008F00D70156A400C41B90011069428AD492025205ED96 -:2028F8001F76BF01081A0400428A099A40766A8CA928FFFF4D6F4392335207ED428A4392B0 -:202918000CD094964392446F4385008F00D70156A400C492FE9CA9804206008F00D7A70D6D -:20293800A61E43850156A4000ED10ED0C492FF9CA9804206A70DA98A03569C08A68A94CA67 -:2029580044964528FFFF428A408F00D743850156A5000EDCC592455DFE9CA90E40762BA926 -:202978004596445407ED428A43920CD0949643920F6F428AD492025205ED1F76BF01081AEF -:202998000400428A099A40766A8CA928FFFF86FEBE8B0600BDB204FE439642A8428A428399 -:2029B800008D3203408DA10194929D96428A008DA20143929496000201195AFF443F008FF3 -:2029D800A101445D42060156A400020240762BA94496428A008DA301FF9094964492428A99 -:2029F800008DA401A7FFFF909496428A008DA501942B428A008DA601942B408FA101428A74 -:202A180042060156A500060240768A8C84FEBE8B06000AFE461E44A846C5AC281F00013B23 -:202A380044C4A7062256A70740FF0156A60048C2488AC49249960202421E4606C0006FACCB -:202A580004EC49CCFF00046F4992A7FFFF908AFE060004FE42A8428A13D09492FF90A90E42 -:202A7800441E428A12D09492FF90A988440637FFA6AF441E428A11D09492FF90A988440634 -:202A980037FFA6AF441E428A10D09492FF90A988440637FFA6AF441E428A17D042839492CA -:202AB800FF90A90EE51E428A16D042C442839492FF90A980E50637FFA7AFE61E428A15D02E -:202AD800428342C49492FF90A980E50637FFA7AFE61E428A14D0428342C49492FF90A98061 -:202AF800E50637FFA7AFE61E428A02020156E400428A4406F41E428A0AD04406941E1F76D9 -:202B18007303BF5628013A9A428A4076079384FE0600BDB204FE42A8428A42830AD0E406C1 -:202B38000219958A40764693428A42C4A95DE4060119968A407646930356A908A59444960C -:202B5800428A4283408D32030ED09C929596428A0FD0BF5694334328FFFF428A435D020233 -:202B78000EDC40762BA94396428A42830AD0E4060219958A435D40764AA9439644924354D2 -:202B98000BED428A339A40760793428A008D3C03BF569401116F428A008D3C03942B428A57 -:202BB800D492025205ED1F76BF01081A0400428A099A40766A8C84FEBE8B0600BDB208FE75 -:202BD80042A8428A13D09492FF90A90E441E428A12D09492FF90A988440637FFA6AF441EAB -:202BF800428A11D09492FF90A988440637FFA6AF441E428A10D09492FF90A988440637FFE1 -:202C1800A6AF441E2FFF0040440F15664318FF0F4492407695A8469620FFF40140768BAD99 -:202C38004492019C407695A8459620FFF40140768BAD196F2FFF0020440F0A664318FF0F37 -:202C5800AD5C4492049B86DC4076059A0C6F4318FF0F440640767C92469601024407407655 -:202C78007C924596428A4283008D3203408DA10194929D96428A008DA201BF569438428A8F -:202C98004692008DA301FF9094964692428AA7FF008DA401FF909496428A008DA501942B67 -:202CB800428A008DA601942B4728FFFF008FA1014206475D0156A400060240762BA9479649 -:202CD800428A4792008DA701FF9094964792428A008DA801A7FFFF909496428A008DA9010C -:202CF800942B428A008DAA01942B408FA101428A42060156A5000A0240768A8C88FEBE8B12 -:202D1800060006FE42A8428A13D09492FF90A90E441E428A12D09492FF90A988440637FF16 -:202D3800A6AF441E428A11D09492FF90A988440637FFA6AF441E428A10D09492FF90A98868 -:202D5800440637FFA6AF441E452B428A15D045939492A8384596428A14D045939492A838BC -:202D780045962FFF0004440F08664318FF0044924593407639A8146F2FFF0002440F0A6658 -:202D98004318FF00AD5C4492029B85DC4076BA99076F4318FF00455C440640768292428A8A -:202DB800399A4076079386FE0600BDB208FE42A81F767303BF562A01428A13D09492FF9040 -:202DD800A90E441E428A12D09492FF90A988440637FFA6AF441E428A11D09492FF90A98864 -:202DF800440637FFA6AF441E428A10D09492FF90A988440637FFA6AF441E428A17D09492E2 -:202E1800FF90A90E461E428A16D09492FF90A988460637FFA6AF461E428A15D09492FF90B7 -:202E3800A988460637FFA6AF461E428A14D09492FF90A988460637FFA6AF461E428A4283AC -:202E5800008D3203408DA10194929D96428A008DA201BF569434008FFFFF48A8008FA10149 -:202E7800485D42060156A400020240762BA9A90E481E485D448A460640764AA9A90E481E22 -:202E9800408FA1014206428A0156A500010240768A8C428A008DA101BF569434408FA10181 -:202EB800428A42060156A500010240768A8C428AC48AE4CC4000C5FFFBEC428A4606448387 -:202ED8004076F38C428AC48AE4CC4000C5FFFBEC428A4892008DA101FF9094964892428ABC -:202EF800A7FF008DA201FF909496428A008DA301942B428A008DA401942B408FA1014206F9 -:202F1800428A0156A500060240768A8C1F7673032A2B88FEBE8B06000AFE42A8428A13D027 -:202F38009492FF90A90E441E428A12D09492FF90A988440637FFA6AF441E428A11D094920D -:202F5800FF90A988440637FFA6AF441E428A10D09492FF90A988440637FFA6AF441E428ACD -:202F780017D09492FF90A90E461E428A16D09492FF90A988460637FFA6AF461E428A15D0FE -:202F98009492FF90A988460637FFA6AF461E428A14D09492FF90A988460637FFA6AF461E27 -:202FB800428A1BD09492FF90A90E481E428A1AD09492FF90A988480637FFA6AF481E428AC9 -:202FD80019D09492FF90A988480637FFA6AF481E428A18D09492FF90A988480637FFA6AF58 -:202FF800481E428A1CD09492FF904996428A1DD09492FF904A96186F4406468A48C4A693D3 -:203018004076BA99176F4A9208EC4406468A48C4A69340760EA90E6F4406468A48C4A69391 -:203038004076059A076F49920452E7EC0552ECEC056F428A3C9A407607938AFE060002FE86 -:20305800412B4192805209674158008F80DB942B410A41928052F9681F766F03BF562408FC -:203078001F766D032E921F766F033E961F766F03BF56250A1F766F03BF5626C8412B419204 -:20309800185214674158008F9CD7949203520AED008FB0DB942858024158008FC8DB94286F -:2030B800F401410A41921852EE6882FE0600BDB202FEA9287E3F008F40DCA828020140766E -:2030D800059A809A008F40DC40767DA942961F767303009242541FED421BFFFF1CEC1F7689 -:2030F80072033E921F766D032E5415ED412B419280520D6741584159008F40DC408F80DB5D -:2031180094929D96410A41928052F5681F766F033F2B086F40765C961F766F033F2B40763A -:20313800D19682FEBE8B060002FE422B412B4192805211674158008F80DB408F40DC9492B7 -:20315800955405EC94929596BF564201410A41928052F168429211EC008F40DC809A40763F -:203178007DA91F7673030096A9287E3F008F40DCA82802014076BA9982FE06000CFE442B5C -:2031980044920C52E3FFAE000356440245964592407695A8429620FFF40140768BAD45925E -:2031B800019C407695A8419620FFF40140768BAD4592469C407695A8439620FFF40140763F -:2031D8008BAD029AAD5C82DC40767DA9435412EC013B008F9CD744850156A400C49203527E -:2031F80006ED42284A01BF56411E046F422B4128110142924696C4E24100007703E24A0003 -:203218004592029C407695A8429620FFF40140768BAD4592039C407695A8419620FFF40100 -:2032380040768BAD4592489C407695A8439620FFF40140768BAD029AAD5C82DC40767DA920 -:20325800435413EC013B008F9CD744850156A400C492035206ED4228A00F41286801056FC1 -:203278004228CE0E4128D90142924796C4E24100007703E24C00013B008FD8D744850156D3 -:20329800A4004692C496AFE24A00008F00D88CE6000044850156A400A9BF120FC49647920C -:2032B800AFE24A00AFE24C01469E20E70800A985A9BD160F007700770077007789E609003D -:2032D80040767DAA013B008F40D8035644010156A40003E2C400440A44920C52E4FF56FF1A -:2032F800BF56440C44921052E3FF83000356440245964592407695A8429620FFF4014076CE -:203318008BAD4592019C407695A8419620FFF40140768BAD4592469C407695A8439620FF79 -:20333800F40140768BAD029AAD5C82DC40767DA9435404EC4228FF07412B42924696C4E2FA -:203358004100007703E24A004592029C407695A8429620FFF40140768BAD4592039C407600 -:2033780095A8419620FFF40140768BAD4592489C407695A8439620FFF40140768BAD029AFA -:20339800AD5C82DC40767DA9435404EC42280609412B42924796C4E24100007703E24C0026 -:2033B800013B008FD8D744850156A4004692C496AFE24A00008F00D88CE6000044850156B1 -:2033D800A400A9BF120FC49602E8D123C8E2470040767DAA013B008F40D8035644010156CA -:2033F800A40003E2C400440A4492105280648CFE060006FEBF56440C449210526C630356A5 -:2034180044024596013B008FD8D744850156A400C4924296412BAD5C029A82DC40767DA9BC -:20343800439645924293407639A8018FA086A9A840768BAD4592019C4193407639A8018FF4 -:20345800A086A9A840768BAD4592469C4393407639A8018FA086A9A840768BAD008F40D82D -:20347800013B035644010156A400AFE2C40051E8801E00778EE6000000770077A9BF120FD1 -:203498004296412BAD5C029A82DC40767DA943964592029C4293407639A8018FA086A9A830 -:2034B80040768BAD4592039C4193407639A8018FA086A9A840768BAD4592489C43934076E9 -:2034D80039A8018FA086A9A840768BAD440A449210529664BF56440186FE0600BDB208FE25 -:2034F80042A8428A11D0949244964283428A12D113D003569D0894CA4596428A10D09492BD -:203518004696428A1F766D03008DA1013D929496428A008DA201BF569403428A008DA30119 -:20353800035645019496472B459247545469469229EC47924494008F01DCE89CA958949254 -:20355800A7FFFF90A988008DA10103564701039CA9804206A70DA98A947E4792008F01DCCF -:203578004494E89CA9589492FF90A988008DA10103564701049CA9804206A70DA98A947E16 -:20359800266F4792008F80DB4494A95894CC00FFC7FFA98803564701008DA101039CA980F4 -:2035B8004206A70DA98A947E4792008F80DB4494A9589492FF90A988008DA1010356470160 -:2035D800049CA9804206A70DA98A947E470A45924754AE664328FFFF008FA1014206435D70 -:2035F8000156A40003564501039CA90E40762BA94396008DA10103564501039CA98842067A -:20361800A60DA98A4392FF90949603564501049CA9884206A60DA98A4392A7FFFF9094964C -:2036380003564501059CA9884206A60DA98A942B03564501069CA9884206A60DA98A942BB5 -:2036580003564501079CA9884206A60DA98A942B03564501089CA9884206A60DA98A942B91 -:20367800428A008D9E01BF569401408FA1014206428A0156A50003564501089CA90E40765F -:203698008A8C88FEBE8B0600BDB206FE42A8452B459208521167458842060ED0A60DA98AD8 -:2036B80042069480408DA101A60DA98A9C7F450A45920852F168428A11D0949243964283DC -:2036D800428A12D113D003569D0894CA449643584492008F80DB9496428A008D9E01BF5678 -:2036F8009401408FA1014206428A0156A5000A0240768A8C86FEBE8B060006FE459744A825 -:2037180041961F7673030002141E1F76300014282040008F50DB4076D49A0052FBEC45932B -:203738004592D0FF0190A89445962DEC4192209B1F90A99F4697459246542A5646081F76D4 -:203758006D0344061C1E1F766D03460E1E1E1F766D0303564101A90E201E008F50DB408FAA -:203778005CDB4076DF9A008F50DB4076D49A0052FBEC460E015644004692417246924574A9 -:203798004592D5ED1F7630001428104086FE060006FE459744A841961F7673030002141EBB -:2037B8001F76300014282040008F50DB4076D49A0052FBEC45934592D0FF0190A894459653 -:2037D8002DEC4192209B1F90A99F4697459246542A5646081F766D034406221E1F766D0383 -:2037F800460E241E1F766D0303564101A90E261E008F50DB408F62DB4076EA9A008F50DBC6 -:203818004076D49A0052FBEC460E0156440046924172469245744592D5ED1F76300014288E -:20383800104086FE060002FE1F766D0314C5008F50DB673E22761F763400008FF59A1CA816 -:203858001A7669FF4076F1A91F765D030F8F404242A83806C00060ACA9BD120F007700778A -:2038780002E84116008FD2DC89E60000407642AA2376002082FE060002FE42A822761F764B -:20389800BE0108CCFCFF01501F76BE0108961F76BE0108CCF3FF04501F76BE0108961F764A -:2038B800BE0108CCCFFF10501F76BE0108961F76BE0108183FFF1F76BE010B1A08001F7675 -:2038D800BF010118F7FF1A761F76C101BF5600071F76C101BF56011F1F76C101022B1F7659 -:2038F800C101BF56040C1F76C1010A2800801F76C1010B2B1F76C1010C2B1F76C101BF5639 -:203918000F10428AD42B428A0002C41E1F76C101001A800082FE69FF06001F76BF01011AA6 -:20393800080006001F76BF010118F7FF060002FE42A8428AD492039003EC009A026F019AB3 -:2039580082FE060004FE44A042A8428A4406C41E428AD41A010084FE060004FE44A042A8EE -:20397800428A4406C41E428AD41A020084FE06001B76F0FF0500BDA8BDA0BDC2BDC3BDAB45 -:2039980000E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000669FF422916562276EF -:2039B80001021F767303015614001F766D0316C5008F50DB69FF673E1A76AFE2BE03AFE25C -:2039D800BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE83BE8A0300F1FF1776027685 -:2039F80002FE42A8EFFFBE01428AD4400CEF1F766D03BF562901428AD41A0400428A0AD095 -:203A180094C5673E428AD441CC56BE011F766D03BF56290D428AD41A0800428A0AD094C5BD -:203A3800673EEFFFB1011F76C101BF5600871F76C101082800061F76C101021A20001F7681 -:203A58006D03BF562902EFFF9F011F76C10102CC4000C5FFC15698011F76C10107921F76B2 -:203A78006D032B96428A08D094C5673E1F766D03BF562903EFFF8801428A0AD094C5673EFA -:203A98001F76C101BF5600871F76C101082800021F76C101021A20001F766D03BF562904B8 -:203AB800EFFF72011F76C10102CC4000C5FFC1566B011F76C10107921F766D032B961F7696 -:203AD8006D03BF562905EFFF5F011F76C101BF56008F428AC48A1F76C101E49208961F76B8 -:203AF800C101021A20001F766D03BF562906EFFF4B011F76C10102CC4000C5FFC1564401A8 -:203B18001F76C10107921F766D032B961F766D03BF562907EFFF38011F76C101BF56008F6B -:203B3800428AC48A1F766D032A58C48A1F76C101949208961F766D032A0A1F76C101021AB7 -:203B580020001F766D03BF562908EFFF1D011F76C10102CC4000C5FFC15616011F76C10128 -:203B780007921F766D032B96428AC48A1F766D032A0ED40F0BED428A08D094C5673E1F7665 -:203B98006D03BF562909EFFFFF001F766D03BF562907EFFFF900428A0AD094C5673E1F76FF -:203BB800C101BF5600871F76C101082800051F76C101021A20001F766D03BF56290AEFFF35 -:203BD800E3001F76C10102CC4000C5FFC156DC001F76C10107921F766D032B961F766D0313 -:203BF800BF56290BEFFFD0001F76C101082B1F76C101021A20001F766D03BF56290CEFFF4C -:203C1800C3001F76C10102CC4000C5FFC156BC00428A08D094C5673E1F76C10107401F76F8 -:203C38006D03BD562909CD56AF00428AD418FBFF428AD418FEFF1F766D03292B1F766D0320 -:203C58002A2BEFFFA1001F76C101BF5600871F76C101082800031F76C101021A20001F76C3 -:203C78006D03BF56290EEFFF8F001F76C10102CC4000C5FFC15688001F76C10107921F76A6 -:203C98006D032B961F766D03BF56290F7C6F1F76C101BF56008F428AC48A1F76C101E492BC -:203CB80008961F76C101021A20001F766D03BF562910696F1F76C10102CC4000C5FF63EC18 -:203CD8001F76C10107921F766D032B961F766D03BF562911586F1F76C101BF56008F1F766B -:203CF800C101082B1F76C101021A20001F766D03BF562912486F1F76C10102CC4000C5FFEF -:203D180042EC428AC48A1F766D032A58C48A1F76C101079294961F766D032A0A1F766D0316 -:203D3800BF562913306F428AC48A1F766D032A0ED40F12ED428A08D094C5673E1F766D039B -:203D5800292B1F766D032A2B428AD418F7FF428AD418FDFF186F1F766D03BF562911136FDE -:203D78001F766D03299213520E660356A901C0765AC1A988A706A60DA71EA92401DFA8246F -:203D9800A71E207682FE0600BDB2BDAAAD5A40FE86DA42974196AA281C80AB2800E07EA9B7 -:203DB800A92800E0A8280C80F21E42920263422B42920F52B256420F227641921DED008F96 -:203DD800006078A8008F00617AA8008FC0607CA81F76BE0109CCFFCFA91A00101F76BE0148 -:203DF80009961F76BE0109CCFF3F1F76BE01A91A004009961C6F008F006278A8008F006321 -:203E18007AA8008FC0627CA81F76BE0107CCFFFCA91A00021F76BE0107961F76BE0107CC94 -:203E3800FFF31F76BE01A91A00080796788A08022AD0941E788A2CD0941E7A8AD41E7A8A5A -:203E58000AD0941E7A8A12D0941E788A0002C41E7A8A013B42857E07C41E08D07A8A42852F -:203E78007E072009941E10D1429201907A8AA985F20730099C1E788AAA28FFFFAB28FEFFC4 -:203E9800D4A9788A0702C41E788A000208D00119941E788A00020CD00119941E788A000248 -:203EB8001ED00119941E788A000222D00119941E788A000218D00119941E0002621E621AB8 -:203ED8000080621A0040621A0020621A0002621A8000621A0010788A14D06206941E18D004 -:203EF800788A94CC1000C3FFFCEC788A16D09406601E60CCFFFCA91A000160965FCC00FF83 -:203F180005505F96601A780060CCF8FF02506096788A6006941E6218FFEF788A14D0620612 -:203F3800941E18D0788A94CC1000C3FFFCED7C83088F7064C5A87C83D5A8788A010230D05A -:203F5800941E788A32D00002941E788A2ED0941E561E788A24D00602941E788A26D000020F -:203F7800941E561A0100551A0200561A0200561A0400788A20D05606941E1F763700008F54 -:203F9800C59E08A81F763300321A10001F763700008F309F0AA81F763300321A2000237629 -:203FB80000011A761F76730300021C1E1F7673031A1E1F767303262B1F7673031E1EC0FE6D -:203FD800BE86BE8B69FF06000EFE459744A84196005207ED008F00604CA8008F00614EA814 -:203FF8001F76730327920FEC4C8A08D094060190009B58FF08ED4C8A0AD094060190009BB4 -:2040180058FF44EC4C8A010208D0941E4C8A0AD0941E448A013B45850156A400C4855AFFCB -:20403800AA18000045853FFFABCAAACBA81A00E0481E448A4592029CA9850156A400C485F7 -:204058005AFF448A4592019CA9850156A400AA180000C4853FFFABCAAACB4A1E4E8A4806C3 -:20407800F41E4E8A4A06E41E22764C8A2ED00002941E1A764C8A0102E41E1F767303BF5641 -:2040980027011F76BF010F1A10008EFE06000EFE42A8428AF406481E428AE4064A1E480632 -:2040B800439743CC0080469643CC0040459643CC002044964318FF1F48924D964A064C9707 -:2040D8004A924B96469209EC43928052066743584D92008F80DB9496430A459209EC4392AE -:2040F8008052066743584C92008F80DB9496430A449209EC43928052066743584B92008FA9 -:2041180080DB94961F76BF010F1A02008EFE06001B76F0FF0500BDA8BDA0BDC2BDC3BDAB42 -:2041380000E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000604FE69FF42291656DD -:204158000102421E1F7633003292449623760001267600011F76330032921F763300322B96 -:204178001F7633002128FFFF10291F7680011E921F904396432D42063B56421E1F768001D2 -:2041980042060C1E013B008F006169FF035643030156A4004076849E1F7633002192A9CD9E -:2041B800FFFE1F763300C7FF01900150019087FFA8CA2196103B1F7633004492329684FE07 -:2041D800AFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE83BE8A03008F -:2041F800F1FF177602761B76F0FF00E2BD0030E6000602FE422916561F763300329241963D -:2042180023760001267600011F76330032921F763300322B1F7633002128FFFF1029010253 -:204238001F768001061E1F767303260A1F7633002192A9CDFFFEC7FF1F7633000190015093 -:20425800019087FFA8CA2196103B1F7633004192329682FE80E2BE00F1FF1776027640760D -:204278008E9F049A029B4076969F40762EA006001F76C00121920F90045213ED1F76C001F5 -:2042980011CC8001C6FF02520CED22761F76C001BF5625551F76C001BF5625AA1A76016FDF -:2042B800060022761F76C001BF5629681A7669FF060006FE449743961F76C00111CC08005B -:2042D800C2FF02EC25761F76C00111CC8001C6FF07EC22761F76C00111187FFE1A76227654 -:2042F8001F76C001111A400043921F76C0010F9021CDF0FF1F76C001A8CA21961A7643925A -:20431800B156A901A90E461E69FFA828C901A92880C3AC1E44564600461E40768E9F1F761D -:20433800C001119201900152FBED22761F76C0011118BFFF1A764492015203EC02520DED6A -:2043580022761F76C001039011CD7FFE1F76C00186FFA8CA11961A7644920BED46C4013BD1 -:20437800AC281E00A60640FF2256A60741FF461E449201520BED46C4013BAC281E00A6067A -:2043980040FF2256A60741FF461E449202520AED46C4AC281F00013BA6062256A60740FF93 -:2043B800461E439218ED4492035215ED22761F76C00111CC7FFE1F76C001A91A0001119671 -:2043D80069FF20FFDA0540768BAD1F76C001111A80011A7646061F765D03381E86FE69FF5C -:2043F800060004FE22761F76C001BF561A011F76C0011B2B1F76C0011A9206EC1F76C00199 -:2044180003561A01026F019AA90E441E1F765D0369FF4406421E3806C00060AC441E1F76E3 -:204438005D0344063C1E1F76C0011B9206EC1F76C00103561B01026F019AA90E441E1F76E6 -:204458005D034406421E3806C00060AC441E1F765D0344063A1E1F762C0035CCF8FF01502D -:204478001F762C0035961F762C00341A04001F762C003418F7FF1F76C0011C1A0800787600 -:2044980080001F76C0011C1A10001F76C0011C1A00041F76C0011C1A00081F76C0011C1A38 -:2044B80020001F76C0011C1A00011F76C0011C1A00101F76C0011C1A00201F76C0011C1A63 -:2044D80000401F76C0011C1A00801F76C0011C18FBFF1F76C0011D1A01001F76C0011D1AD9 -:2044F80002001F76C0011D1A04001F76C0011D1A08001F76C0011D1A10001F76C0011D1A52 -:2045180020001F76C0011C1A04001F76C0011D1A00041F76C0011D1A00081F76C0011D1A20 -:2045380000101F76C0011D1A00201F76C0011D1A00011F76C0011D1A00021F76C0011D1AFC -:2045580000401F76C0011D1A00801F76C001201A00011F76C001201A00021F76C001201A43 -:2045780000041F76C001201A00081F76C001201A00101F76C001201A00201A7684FE69FFBD -:20459800060002FE22761F762B002028FFFF1F762B002128FFFF1F762B002228FFFF1F76BB -:2045B8002B002328FFFF1F762B002428FFFF1F762B002528FFFF1F762B002628FFFF1F76B9 -:2045D8002B002728FFFF1A761F76FFCF389241961F76FFCF399241961F76FFCF3A924196AC -:2045F8001F76FFCF3B9241961F76FFCF3C9241961F76FFCF3D9241961F76FFCF3E92419681 -:204618001F76FFCF3F9241961F762B002F4003EE019A026F009A82FE69FF060002FE22762B -:20463800008FB18E1F7634001AA81A7669FF1F765D030F8F4042380642A8C00060ACA9BDA2 -:20465800120F0077007702E8D11F008FCADC89E60000407642AA1F7630000C282040237621 -:20467800001082FE060006FE40766C9F103B69FF407675AB267600002F760000407612AD88 -:20469800407605AB40766FA61F76BF010C1A01001F76BF010B1A0100412B41920A521263CA -:2046B800012920FF50C340765FAB1F76BF010F1A01001F76BF010E1A0100410A41920A524F -:2046D800F0641F76BF010A1A01001F76BF010B1A0100407683A61F766D032C92109B407676 -:2046F80076AD0D9A40764A8D01D4418F00C2A9A04076598D02D4418F00C2A9A04076598DB2 -:204718001F766D03009A2E934076019D4076509A40764BA140768AAC4076C4AB407603A31E -:2047380040760F90407617A8078F20A1A9A840765FAB4076FB9640769496407671901F76BC -:204758006D032E921F766F033E9622761F76C001BF56292F1A761F765D03BF5637011F7674 -:204778005E030192C1568E001F765E03012B412B41920252E3FF8600013B008FE5DB41851A -:204798000156A400C49278EC4185008FF5DC0156A400408FE5DBC492019CA988C496418558 -:2047B8000156A500A692C55467681F767303359263EC4185008FF5DC0156A400013BC42B58 -:2047D8004185008FF7DC0156A400C492805207684185008FF7DC0156A400C42B4185008FA0 -:2047F800F7DC0156A400408F82D7C492C3FFA95803564103008FF7DC0156A500418501567A -:20481800A400C4930F91A82D959262FF43961CED4185008FF7DC0156A400C492109CA98850 -:20483800A618F0FF4185008FF7DC0156A400C47EC86F013B008FF7DC41850156A400C40AEA -:204858004392A0FF43964340F5EF016F013B008FF7DC41850156A40069FFC493009A008FD5 -:2048780080DB4076219E013B008FF7DC41850156A400C4080300410A41920252E4FF7EFF50 -:2048980069FF407650A71F766F033FCC0400C1FF07EC1F766F033F18FBFF4076D1961F7618 -:2048B8006F033FCC0800C2FF07EC1F766F033F18F7FF407694961F766F033FCC2000C4FF7E -:2048D80007EC1F766F033F18DFFF4076FB961F766F033FCC0200C0FF07EC1F766F033F1826 -:2048F800FDFF40765C96412B41920252E3FF39FF005205EC008F00D046A8046F008F80D36A -:2049180046A8468A40768A924296A91BFFFF39EC1F76BF010F1A0100216F468A40766693A2 -:20493800306F468A4076C6932C6F468A40761B94286F468A4076BE94246F468A40761295E2 -:20495800206F468A4076C9951C6F468A4076AB98186F468A40768199146F38520C6238524C -:20497800E5EC0352F3EC0652F5EC3352DBEC3452E5EC076F3952DEEC3A52D0EC3C52E2ECCF -:20499800410A41920252B564EFFFEBFE08FE2276008F11A41F7635000AA81A7669FF407691 -:2049B80062AD1F763300221A2000237601001F76C401021A0F001F76C40103CCF0FF1F76E0 -:2049D800C4010B5003961F76C40103CC0FFF1F76C401A05003961F76C40103CCFFF01F763F -:2049F800C401A91A000903961F76C40103CCFF0F1F76C401A91A008003961F76C401041892 -:204A1800F0FF1F76C40104CC0FFF1F76C401105004961F76C40104CCFFF01F76C401A91ACD -:204A3800000404961F76C40104CCFF0F1F76C401A91A003004961F76C40105CCF0FF1F76F2 -:204A5800C401055005961F76C40105CC0FFF1F76C401205005961F76C40105CCFFF01F763C -:204A7800C401A91A000605961F76C40105CCFF0F1F76C401A91A007005961F76C401061A1A -:204A98000F001F76C40106CC0FFF1F76C401D05006961F76C40106CCFFF01F76C401A91A67 -:204AB800000E06961F76C40106CCFF0F1F76C401A91A00C006961F76C401011A00011F7676 -:204AD800C401011A00081F76C401191A10001F76C401001A10001F76C401011A00401F766B -:204AF8003300BF5621011F76A001191A00081F76A00119CCFFF81F76A001A91A0004199605 -:204B18001F76A0011ACCFFFC1F76A001A91A00011A961F76A001BF5609801F76A00100CCE6 -:204B38007FFC1F76A001A91A000100961F76A00100CCFFE31F76A001A91A000800961F7642 -:204B5800A001013B019A00CD001CD9FFA82D66FFA985441E1F76A00100CC8003C6FF0AECFA -:204B78001F76A00100CC8003C6FF80FFA985461E036F0102461E44871F765D034456460049 -:204B9800421E3806C00060AC008FC40942A8C00060AC481E1F76A001489205961F76A0013A -:204BB8000018FCFF88FE06001B76F0FF0500BDA8BDA0BDC2BDC3BDAB00E2BD0003E2BD004F -:204BD80003E2BD0103E2BD0203E2BD0330E6000604FE69FF422916561F763300229244961E -:204BF80023760100267601011F763300221848001F7633002128FFFF10291F7673032A920C -:204C180057ED1F765D03379253EC432B439217524663013B008F9CD743850156A400C4928F -:204C38002EEC4385008F08710156A400C492C3FFA90EA9BD120F00770077007700778BE6D4 -:204C58000000007703E24200432D69FF008F80D812350156A4004076CFAB03E24200013B0A -:204C7800008F46D78CE6000043850156A400A9BF120FC4964392407671910D6F4385008FF8 -:204C980098DB0156A400C42B4385008F80DB0156A400C42B430A43921752BC641F765E0362 -:204CB80014921F765E0315961F765E03142B1F76C401011A00401F76C401191A10001F7679 -:204CD8003300BF562101103B1F7633004492229684FEAFE2BE03AFE2BE02AFE2BE01AFE2AB -:204CF800BE0080E2BE00BE87BEC5BEC4BE83BE8A0300F1FF1776027622761F762C0035CC99 -:204D1800F8FF01501F762C0035961F762C003418FCFF1F762C003418F7FF1F762C00341A8D -:204D380004001F762C00201A60001F762C00201A1C001F762C00201A03001F762C00201AEC -:204D580000301F762C00201A000E1F762C00201A80011F762C00211A40001F762C00201A4F -:204D780000401F762C00201A00801F762C00211A03001F762C002C1A60001F762C002C1AF3 -:204D98001C001F762C002C1A03001F762C002C1A00301F762C002C1A000E1F762C002C1A82 -:204DB80080011F762C002D1A40001F762C002C1A00401F762C002C1A00801F762C002D1A3C -:204DD80003001F762C002E1A60001F762C002E1A1C001F762C002E1A03001F762C002E1A15 -:204DF80000301F762C002E1A000E1F762C002E1A80011F762C002F1A40001F762C002E1A77 -:204E180000401F762C002E1A00801F762C002F1A03001F762C00381A07001F762C00381A77 -:204E380038001A7669FF4076DBA507F6007769FF060022761F76BE01181A03001F76BE019D -:204E5800181A0C001F76BE01181A30001F76BE01181AC0001F76BE01181A00031F76BE0123 -:204E7800181A000C1F76BE01181A00301F76BE01181A00C01F76BE01191A03001F76BE0102 -:204E9800191A0C001F76BE01191A30001F76BE01191AC0001F76BE01191A00031F76BE01DF -:204EB800191A000C1F76BE01191A00301F76BE01191A00C01F76BE01141A03001F76BE01C4 -:204ED800141A0C001F76BE01141A30001F76BE01141AC0001F76BE01141A00031F76BE01B3 -:204EF800141A000C1F76BE01141A00301F76BE01141A00C01F76BE01151A03001F76BE0192 -:204F1800151A0C001F76BE01151A30001F76BE01151AC0001F76BE01151A00031F76BE016E -:204F3800151A000C1F76BE01151A00301F76BE01151A00C069FF4076DBA5060022761F7657 -:204F5800BE01261A03001F76BE01261A0C001F76BE01261A30001F76BE01261AC0001F76EA -:204F7800BE01261A00031F76BE01261A000C1F76BE01261A00301F76BE01261A00C01F76CA -:204F9800BE01271A03001F76BE01271A0C001F76BE01271A30001F76BE01271AC0001F76A6 -:204FB800BE01271A00031F76BE01271A000C1F76BE01271A00301F76BE01271A00C01F7686 -:204FD800BE01171A03001F76BE01171A0C001F76BE01171A30001F76BE01171AC0001F76A6 -:204FF800BE01171A00031F76BE01171A000C1F76BE01171A00301F76BE01171A00C01F7686 -:20501800BE01281A03001F76BE01281A0C001F76BE01281A30001F76BE01281AC0001F7621 -:20503800BE01281A00031F76BE01281A000C1F76BE01281A00301F76BE01281A00C01F7601 -:20505800BE01161AC0001F76BE01161A000C1F76BE01161A00301F76BE01161A00C01A7671 -:2050780069FF060022761F76BE011618FCFF1F76BE011818FCFF1F76BE011A1A01001F76F8 -:20509800BE011B1A01001A7669FF060002FE22761F76BE01061800001F76BE01071800FF89 -:2050B8001F76BE0108183F001F76BE01091800FF1F76BE011618C0FF0F8F00F0ABA81F76FA -:2050D800BE01AB93AA9218C11F76BE0119C01F76BE010B18EFFF1F76BE010B18DFFF1F762A -:2050F800BE010B18BFFF1F76BE011B18F7FF1A761F766D032C2B422B412B419264521263B8 -:205118001F76BF01009B019200BEC5FF0190B056A601A692B156A8014273410A41926452C3 -:20513800F0644292325204651F766D032C0A422B412B4192645212631F76BF01009B0192AD -:2051580000BEC3FF0190B056A601A692B156A8014273410A41926452F064429232520565F2 -:205178001F766D032C080200422B412B4192645212631F76BF01009B019200BEC4FF019070 -:20519800B056A601A692B156A8014273410A41926452F0644292325205651F766D032C088A -:2051B80004001F766D0303562C011F766D032E961F766D032C0A422B412B4192645212636D -:2051D8001F76BF01009B099200BEC2FF0190B056A601A692B156A8014273410A41926452FE -:2051F800F0644292325204651F766D032E0A1F766D03BF562D0122760E6F088F00001F76BC -:20521800BE010AA8AA2813DCAB2807001F76BE011AA9066F1F766D032D920152EFEC1A765C -:2052380082FE69FF060002FE0002421E1F76BF0100CC8000C6FF06ED00021F766D03381E50 -:205258000D6F038F90D01F766D03A9A8380F066501021F766D0301563800038F90D01F76A2 -:205278006D03A9A8380F03650102421E1F76BF0100CC4000C5FF06ED00021F766D033A1ECC -:205298000B6FA9A81F766D033A0F066501021F766D0301563A00A9A81F766D033A0F0465D1 -:2052B80002024207421E1F76BF0101CC0004C9FF04ED04024207421E1F76BF0101CC8000F9 -:2052D800C6FF04ED08024207421E1F76BF01009B099200D4013BC2FF0190B056A80100535E -:2052F800B156A4010356A404A9854207421E1F76BF01009B00D401CC4000C5FFB056A801CE -:205318000053B156A4010356A405A9854207421E1F76BF01009B00D401CC1000C3FFB05634 -:20533800A8010053B156A4010356A406A9854207421E1F76BF01009B00D401CC2000C4FF5F -:20535800B056A8010053B156A4010356A407A9854207421E1F766D03429233961F766D0305 -:2053780033921F766E03179682FE060022761F76BE011C18FEFF1F76BE011C18FDFF1F76E1 -:20539800BE01121A03001F76BE01121A0C001F76BE0116CCFCFF01501F76BE0116961F7664 -:2053B800BE0116CCF3FF1F76BE01045016961A7669FF06004076F3A71F76E401BF560750BA -:2053D8001F76E4010918DFFF1F76E401BF560C0E1F76E401BF56030A1F76E401BF5604055F -:2053F8001F76E401092B1F76E401091A00041F76E401091A2000060002FE429741961F763E -:20541800E40109CC0008CAFF015204EDA92855554E6F1F76E40102CC0010CBFF015204ED07 -:20543800A9280010446F1F76E401BF5605041F76E4010928206E035641011F76E401C7FF14 -:2054580008961F76E40102CC1000C3FFFBEC035641011F76E40108961F76E40102CC10008A -:20547800C3FFFBEC42921F76E401A7FF08961F76E40102CC1000C3FFFBEC42921F76E4018A -:2054980008961F76E40102CC1000C3FFFBEC1F76E40109CC0008CAFF0152FAEC1F76E40182 -:2054B80002CC0010CBFF0152FAEC009A82FE060004FE41961F76E40109CC0008CAFF015287 -:2054D80004EDA92855556C6F1F76E40102CC0010CBFF015204EDA9280010626F1F76E401DB -:2054F800BF5605021F76E4010928206E035641011F76E401C7FF0896008FFFFF44A81F76B8 -:20551800E40102CC1000C3FF06ED4406A98A81DC44A8F6ED035641011F76E4010896008F10 -:20553800FFFF44A81F76E40109CC0008CAFF015206ED4406A98A81DC44A8F5ED1F76E401E1 -:20555800BF5605021F76E4010928206C008FFFFF44A81F76E40102CC0800C2FF06ED440619 -:20557800A98A81DC44A8F6ED1F76E40106934292A8384296008FFFFF44A81F76E40102CC54 -:205598000800C2FF06ED4406A98A81DC44A8F6ED1F76E40142930692A83C4297429284FE94 -:2055B800060006FE459744A84196462B4592465414654192410A407695A8448A013BA98883 -:2055D80046850156A400C47E20FFF40140768BAD460A45924654EE6286FE060006FE461EA6 -:2055F80044A8417D4606A98A81DC46A814EC4483859244A04158A0F2008F00DDA092FF9005 -:20561800A9584192C7FF947041964606A98A81DC46A8EEED419286FE06000CFE461E44A8A1 -:20563800417D00024C1E46064C0F28694CCC01004796448A01294C0640FF0156A400C49220 -:205658004896479205ED48CC00FFC7FF49964792015204ED4892FF90499649924170008F51 -:2056780000DDFF90A9584192C7FF9470419601024C074C1E46064C0FDA6641928CFE060027 -:2056980006FE439642A84428FFFF452B4392455436694558428A9492FF9044F2462B4692A7 -:2056B80008521067444007EF4492C0FFA91C01A04496046F4492C0FF4496460A469208524E -:2056D800F2684558428A94CC00FFC7FF44F2462B469208521067444007EF4492C0FFA91CA6 -:2056F80001A04496046F4492C0FF4496460A46920852F268450A43924554CC66449286FE10 -:20571800060008FE421E0129420647FFA81A00FF441E472B479220521463440608560080CE -:20573800461E460605ECAA280031AB2B46A9440630FF46704571441E470A47922052EE64B3 -:2057580042A34406AC281800AB1800FF2256FF90009BABCAAACB441E4206440F03ED019A40 -:20577800026F009A88FE0600008F000C1F76730302A8AA28FFFFAB28FFFF1F76300002A919 -:205798001F763000062B1F763000072B1F763000041A10001F763000041A200000021F7677 -:2057B8007303041E1F767303008F080C0AA81F767303008F100C12A81F7630000AA91F765C -:2057D800300012A91F7630000E2B1F7630000F2B1F763000162B1F763000172B1F763000F7 -:2057F8000C1A10001F763000141A10001F7630000C1A20001F763000141A20001F7673032F -:205818000C1E1F767303141E060008FE03E2460103E2440042A8428A4406E41E428A46068E -:20583800F41EAFE24400AFE2460100E70800007788E60000007703E24800428AC48A4806B1 -:20585800D41E428AC48AF42B428AC48AFC2B428AC48AE41A1000428AC48AE41A2000428A98 -:20587800C48AE418FFFB428AC48AE418FFF7428AC48AE41A0040428A0002D41E88FE06001C -:20589800BD3ABDB2BDAABDA202FE0129A9BF120F58FF5B61A85C7F91A8088000421EA49323 -:2058B800D6FFA85CA9BF160F6761A85D7F91A8088000A859A958A593D6FFA85DA493A571FC -:2058D800A8180001A697A418FF00A518FF007FDCA492A59EA7964D64A90801FF3E62A193F4 -:2058F800A09236FFA859A958420635FF0EF6A11FA95BA3010AF6A11F2D56A204A32DA036B0 -:2059180040FF0BF6A11F33FF009B30FF54FFA20CA39540FFA70801001FF677FF200940FF58 -:20593800A70801001FF677FF5AFFA7922265A90801FF1363A9A946FF7F91A85BA95AA6255C -:20595800A79596FFA20CA395A9BD120F82FEBE82BE86BE8BBE8E0600009B57FFA8087FFF33 -:205978005AFFA693F260A8280080AA71AB92ED6F20FF0000EA6F5AFFA493A818000196FFC9 -:20599800A85CA9A9A8087FFFA81C0080A4CBDD6F1F76C001201A00104076DBA522761F7669 -:2059B8002C003518F8FF1F762C00341A03001F762C003418F7FF1F762C003418FBFF1F76AE -:2059D8002C002ECC9FFF1F762C0020502E961F762C002ECCE3FF1F762C0008502E961F76E7 -:2059F8002C002ECCFCFF1F762C0001502E961F762C002ECCFFCF1F762C00A91A00102E96B7 -:205A18001F762C002ECCFFF11F762C00A91A00062E961F762C002E187FFE1F762C002F18E9 -:205A3800BFFF1F762C002E18FFBF1F762C002E18FF7F1F762C002F1A03001A7607F6007735 -:205A580069FF060004FE421E0129420640FF421E0002441E4206440F0A69100240768BADDB -:205A780001024407441E4206440FF86684FE0600103B1F7633002018FEFF1F763300222B80 -:205A98001F763300242B1F763300262B1F763300282B1F7633002A2B1F7633002C2B1F76D2 -:205AB80033002E2B1F763300302B1F763300322B1F763300342B1F763300362B1F763300E2 -:205AD800382B1F763300232B1F763300252B1F763300272B1F763300292B1F7633002B2BC9 -:205AF8001F7633002D2B1F7633002F2B1F763300312B1F763300332B1F763300352B1F7645 -:205B18003300372B1F763300392B69FF06001F763300201A01001F7633002128FFFF1029F3 -:205B380069FF0600BDB2BDAABDA203E2BD0403E2BD0506FE03E2440042A808D00CD142C58A -:205B58004283AFE2440142C4428A4286AFE2F70050E80200428212E3958B42C50ED012E383 -:205B7800D6CCAFE2C40000E39F4208E3E295AFE2930140E74921007710E70800007703E268 -:205B98004600428A42830CD00ED194069D1E428A4606941E428A428308D0F406951E428A5A -:205BB8004406F41EAFE2460086FEAFE2BE05AFE2BE04BE82BE86BE8B0600AD28000469FF5B -:205BD8001F5616561A5610E6000240291F76000002291B762276A9288FADA828000001092B -:205BF8001B61C0768FAD04290F6F009BA92401DF046C0429A82401DFA61EA1F78624A706B0 -:205C1800A1810109A71EA92403635CFF043BA95901DF0900ECFF1A76A928FFFFA828FFFFAB -:205C380001090E61FF76FFFF066F01DFBDC3A71E673EBEC5A92401DFA82458FFF7604076C1 -:205C58002EAD40764BAD022904295F565AFF42065F56421E00021FF617564200AB063256E1 -:205C780002292076022904295F565AFF420656FF421E00021FF617564200325602292076D9 -:205C98005AFF00021FF617564200A9A920765AFF00021FF617564200207602FE208F000081 -:205CB8001F7673032CA81F767303208F00FA2EA81F7673032C061F767303301E1F767303C2 -:205CD800322B1F7673032C06421E066F428AC42B01024207421E1F7673032E06420FF766E9 -:205CF80082FE0600A85CA971A697013BA98556FFA95DA48556FFA95CA5920FF6A41FA64F6F -:205D1800026C5CFF2076A696A85C013BA98556FFA95DA48556FFA95CA5920FF6A41FA64F90 -:205D3800026C5DFFA89220765AFFAB92A4C5A48E07ECFF9CA988859287960E00FEFFAB9245 -:205D5800A988A9A9A60F10ECAA930EECA9A9FF9DA85CBF76FEFF859287960E00FEFF859246 -:205D780087960C00F8FFA08A0600A0E514AD0962A0E51F765D0314AD90E5B4563E01156F8D -:205D98004FE803C092E601008CB5050000E7CA00007700E78A000077CFE812F0007700E70B -:205DB8005100007700E74000060006FE008F00C044A8008F000D46A82276412B4192805264 -:205DD8000D63448A84C444A8468AA9A80209461EC4C2410A41928052F5641A7686FE69FF5E -:205DF8000600A928FFFFAA28FFFFAB28FFFFA828FFFFAB0F04ED00D400BE0B6FA927A928EF -:205E1800FFFFA92FA4A9C488A928FFFF0209A98AA692407670A106000077006F1F767303F8 -:205E3800BDB23CC5A959673E1F76780302C5A70603ECA192673E1F767803000603ECA71E1E -:205E5800673E407649ADBE8B060022761F76C0011C1A080069FF787680001A761F76C4019E -:205E7800BF5618E0028FE64969FFA9A840768BAD060002FE429741961F766D033D961F7673 -:205E98006D0342923C9682FE06001F7673033AA806001F7673033CA8060006000119C3562D -:045EB800FFFF0600E2 -:205EBC002B0000002EC122761F762A00001A01001F762A0006CCFFF0A91A00051F762A0033 -:205EDC0006961F762A0006CCF0FF05501F762A0006961F762A0007CCE0FF08501F762A0052 -:1C5EFC0007961F762A00041AFF011F762A00051AFF011A7607F6007769FF0600C0 -:205F18000301000000C07788000077880000778800007788000077880000778800007788AC -:205F38000000778800007788000077880000778800007788000077880000008000000D8042 -:205F580000001A800000278000008B8800003F8000004A80000055800000608000006B80AC -:205F7800000076800000818000008C80000097800000A2800000AD800000B8800000C38025 -:205F98000000CE800000D9800000FA8000008B8800001B8100003C8100005B8100007C8183 -:205FB80000009F810000C0810000E1810000028200002382000046820000678200008B8819 -:205FD80000008B88000088820000A9820000CC820000EF82000010830000318300008B8848 -:205FF80000008B880000548300007583000098830000B9830000DA830000FB8300008B8862 -:2060180000008B8800001C8400003D8400008B8800008B8800008B8800008B8800008B8895 -:2060380000008B8800006084000081840000A4840000C5840000E6840000078500008B88D2 -:2060580000008B8800002A8500004B8500006C8500008D850000AE850000CF8500008B88F9 -:2060780000008B880000F2850000158600008B8800008B88000036860000578600008B8811 -:2060980000008B880000788600009B860000BE860000E186000004870000278700004A8701 -:2060B80000006B8700008B8800008B8800008B8800008B8800008B8800008B8800008B8851 -:2060D80000008B8800008B8800008B8800008B8800008B8800008B8800008B8800008B8810 -:2060F80000008B8800008C870000AD870000CE870000EF870000108800008B8800003388FD -:0C61180000005488000033000B000A0057 -:20612400280000005AC1319B0000509B0000629B0000799B00008F9B0000A29B0000B69B98 -:206144000000C99B0000E49B0000089C00001E9C0000319C00003E9C0000609C0000729C49 -:186164000000849C0000979C0000A89C0000B89C0000D09C00000000CC +:2010F80033003218FD001F7633002128FFFF1029103B1F763300419232962576006F1B76CD +:20111800F0FF00E2BD0030E6000602FE422916561F7633003292419623760001267600019C +:201138001F763300321871001F7633002128FFFF1029103B1F763300419232962576006F14 +:201158001B76F0FF00E2BD0030E6000602FE422916561F76330032924196237600012676CC +:2011780000011F763300321875001F7633002128FFFF1029103B1F7633004192329625763E +:20119800006F1B76F0FF00E2BD0030E6000602FE422916561F7633003292419623760001B9 +:2011B800267600011F76330032921F763300322B1F7633002128FFFF1029103B1F7633006E +:2011D800419232962576006F1B76F0FF00E2BD0030E6000602FE422916561F7633003292B4 +:2011F800419623760001267600011F76330032921F763300322B1F7633002128FFFF1029D0 +:20121800103B1F763300419232962576006F1B76F0FF00E2BD0030E6000602FE42291656EC +:201238001F7633003292419623760001267600011F763300321831001F7633002128FFFFAA +:201258001029103B1F763300419232962576006F1B76F0FF00E2BD0030E6000602FE4229DF +:2012780016561F7633003292419623760001267600011F763300321875001F7633002128B8 +:20129800FFFF1029103B1F763300419232962576006F1B76F0FF00E2BD0030E6000602FE0C +:2012B800422916561F7633003892419623760008267600001F76330038189E001F7633001B +:2012D8002128FFFF1029103B1F763300419238962576006F1B76F0FF00E2BD0030E600067D +:2012F80002FE422916561F7633003892419623760008267600001F76330038189C001F7610 +:2013180033002128FFFF1029103B1F763300419238962576006F1B76F0FF00E2BD0030E60F +:20133800000602FE422916561F7633003892419623760008267600001F763300381890006A +:201358001F7633002128FFFF1029103B1F763300419238962576006F1B76F0FF00E2BD0050 +:2013780030E6000602FE422916561F7633003892419623760008267600001F7633003818A4 +:2013980090001F7633002128FFFF1029103B1F763300419238962576006F1B76F0FF00E23D +:2013B800BD0030E6000602FE422916561F7633003892419623760008267600001F763300F7 +:2013D80038921F763300382B1F7633002128FFFF1029103B1F763300419238962576006FFA +:2013F8001B76F0FF00E2BD0030E6000602FE422916561F763300389241962376000826761D +:2014180000001F76330038189F001F7633002128FFFF1029103B1F76330041923896257666 +:20143800006F1B76F0FF00E2BD0030E6000602FE422916561F763300389241962376000809 +:20145800267600001F76330038921F763300382B1F7633002128FFFF1029103B1F763300C0 +:20147800419238962576006F1B76F0FF00E2BD0030E60006422916562576006F1B76F0FF0D +:2014980000E2BD0030E60006422916562576006F1B76F0FF00E2BD0030E600064229165686 +:2014B8002576006F1B76F0FF0500BDA8BDA0BDC2BDC3BDAB00E2BD0003E2BD0003E2BD0178 +:2014D80003E2BD0203E2BD0330E6000602FE69FF422916561F763300329241962376000153 +:2014F800267600011F76330032921F763300322B1F7633002128FFFF1029008F00D069FF77 +:201518004076598E008F00D04076BD89103B1F7633004192329682FEAFE2BE03AFE2BE02EA +:20153800AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE83BE8A0300F1FF177602761B7678 +:20155800F0FF0500BDA8BDA0BDC2BDC3BDAB00E2BD0003E2BD0003E2BD0103E2BD0203E2E9 +:20157800BD0330E6000602FE69FF422916561F7633003292419623760001267600011F7609 +:201598003300321871001F7633002128FFFF1029008F80D369FF4076598E008F80D340767E +:2015B800BD89103B1F7633004192329682FEAFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2FB +:2015D800BE00BE87BEC5BEC4BE83BE8A0300F1FF177602761B76F0FF0500BDA8BDA0BDC2A4 +:2015F800BDC3BDAB00E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000602FE69FF3A +:20161800422916561F7633003292419623760001267600011F7633003218FD001F7633006A +:201638002128FFFF1029008F00D069FF4076598E008F00D040766C8B103B1F7633004192BC +:20165800329682FEAFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE833D +:20167800BE8A0300F1FF177602761B76F0FF0500BDA8BDA0BDC2BDC3BDAB00E2BD0003E2E0 +:20169800BD0003E2BD0103E2BD0203E2BD0330E6000602FE69FF422916561F7633003292A2 +:2016B800419623760001267600011F763300321875001F7633002128FFFF1029008F80D353 +:2016D80069FF4076598E008F80D340766C8B103B1F7633004192329682FEAFE2BE03AFE24D +:2016F800BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE83BE8A0300F1FF1776027688 +:2017180004FE42A8428AC48AECCC4000C5FF16ED1F7633002192A9CDFFFEC7FF01901F7612 +:2017380033000150019087FFA8CA2196428AC48A0BDCC41A4000EFFF9201428AC48AFC9285 +:20175800FF904396428AC48AECCC8000C6FF0AEC428AC48ACC18DFFF428AC48ACC1A200000 +:20177800D26F428A008DA0019492CDED428A008D3B039492015216ED428A008D3D03BF5675 +:201798009401428A0002008D3403941E428A008D3F03942B428A008D3E03942B428A0DD0FC +:2017B800942B428A008D3F039492ADED428A008D3D039492C156F400428A008D3E0394926D +:2017D8004BED1F760403029243541FEC1F766D033D92435403ED005218ED428A008D3103A8 +:2017F8009492435406ED428A008D330394920DED1F766D033C92435424ED005222EC428ACB +:20181800008D330394921DED428A4392008D320394964206008F3E030156A400019BC4922B +:20183800A995C497428A013BA9850156A4000ED043929496089A428A40765E8CEFFF64FF8A +:20185800428A008D3F03BF569401428A008D3D03942BEFFF59FF4206008F3E030156A4007A +:20187800019BC492A995C497428A013BA9850156A4000ED043929496428A008D3E039492F7 +:20189800075210ED428A0DD0949210520BED428A008D3303949206ED43921F765C030A9C9A +:2018B8001096428A008D3E03949203520DED428A0DD09492045208ED428395584392008F2B +:2018D80000D7059C9496428A008D3E03949202523DED428A43920DD09496428A9492035221 +:2018F8001668428A94924252126642839558008F00D7949203520B68428A0DD094923352FA +:201918001CED428A0CD094923A5217EC428A099A40765E8C428A008D3E03942B428A008D88 +:201938003D03BF569401428A008D3F03942B428A0DD0942BEFFFE8FE428A0DD094923352BB +:2019580005ED428A008D3D03942B42830DD095584283008F00D79492008D3E03955408691D +:201978004283008F90019585A40FE8FFCDFE428A099A40765E8C428A008D3D03942B428AB8 +:20199800008D3F03BF569401428A008DA001BF569401428A0DD0942BEFFFB6FE4283F5C48A +:2019B800208F0000A9A8A60F08664283F5C42F8F0000A9A8A60F08674283208F0000F5A82A +:2019D80042830AD095A8428A0CD094923A52C0569BFE428A008DA001949208EC428A008D9D +:2019F8003F03BF569401EFFF8FFE4206008F34030156A400C4C4A692019001DEC4C24496CF +:201A180009EC4283F58AA9A80109F51E4392C498066F428AF48A03564308C496428A008DC0 +:201A380034039406428AE40FE8FF6EFE428A339A0FD09496428A0CD09496099A428A407612 +:201A58005E8C428A008D3F03BF569401428A008DA001BF569401EFFF57FE84FE060004FECE +:201A780042A8428A008D3A0394923CED4206008F38030156A4000102C407C41E428A008D69 +:201A98003603940F0568428AC48ABF56E402428A08D0948A4283849295A8428AC48A09D003 +:201AB8009496428A4283008D36039406008D3803950F5766428AC48AE4CC4000C5FFFBEC15 +:201AD800428A099A40765E8C428AD492025205ED1F76BF01081A0400428A008D9E01942B35 +:201AF800406F4206008F38030156A400C4C4A692019001DEC4C24396428A4283008D36032C +:201B18009406008D3803950F0566428AC48ABF56E40243920DEC428A08D0948A42838492BC +:201B380095A8428AC48AFF9009D094960B6F428A428308D0948AC58309D0C492A7FFFF90F7 +:201B58009596428A4283008D36039406008D3803950F0766428AC48AE4CC4000C5FFFBECC3 +:201B78001F7633002192A9CDFFFEC7FF01901F7633000150019087FFA8CA219684FE060027 +:201B980002FE412B419246520D63013B008F00D741850156A4004192C496410A41924652A0 +:201BB800F5641F765C03BF56330C1F765C03BF56340C1F765C03BF5635081F765C03BF56D4 +:201BD80036091F765C03BF5637101F765C03BF5638081F765C03BF56390C1F765C03BF56BE +:201BF8003A0C1F765C03BF563B051F764D030492FE9C1F765C033D961F764D0304921F7652 +:201C18005D03FF9C01961F765C03BF563E081F765C03BF5603081F765C03BF5604651F76B0 +:201C38005C03BF5606081F765C03BF56100D1F765C03BF56051B1F765C03BF563C1282FEE4 +:201C5800060004FE439642A8439208520BED089A428A01D54E9B4076188E428A008D3B035A +:201C7800942B439209520CED089A428A01D54E9B4076188E428A008D3B03BF56940184FE18 +:201C9800060008FE461E44A042A8472B471B30750566470A471B3075FD69428AD4920252C6 +:201CB80005ED1F76BF010818FBFF472B471B10270566470A471B1027FD69428A4606008D40 +:201CD8003603941E428A440608D00109941E428A008D3A03942B428AC48AE4CC4000C5FF34 +:201CF800FBEC428A089A40765E8C428A008D38030102941E460F0C67428AC48ABF56E401B2 +:201D1800428AC483448A09D0C4929596216F4283448AC58309D0C4929596428AC48AE4CCE1 +:201D38004000C5FFFBEC472B471BE8030566470A471BE803FD69428A099A40765E8C428A97 +:201D5800D492025205ED1F76BF01081A0400009A88FE060006FE461E44A042A8428AD492B6 +:201D7800025205ED1F76BF010818FBFF428A4606008D3603941E428A08D04406941E428A9A +:201D9800008D3A03BF569401428AC48AE4CC4000C5FFFBEC428A089A40765E8C428A008D9B +:201DB80038030102941E428AC48ABF56E4014283448A09D0C583C492A7FFFF909596009A03 +:201DD80086FE060006FE441E42A81F765D0384E2440188E23A0050E80940407671AA88E60D +:201DF8000000007703E24600428AC48A4692A7FFFF90D496428AC48A4692FF90DC9686FE21 +:201E1800060002FE41961F764D0304961F764003BF5602011F764E03BF56020282FE0600D9 +:201E380008FE441E417C4192015231ED008F50701F76400300A8008F00D048A822761F76D6 +:201E5800BE0109CCFFF3A91A00041F76BE0109961F76BE0109CCFFFCA91A00011F76BE01EE +:201E780009961F763700008F8F8800A81F763700008F278902A81F763300321A01001F7632 +:201E98003300321A0200237600011A764192025239ED008F50771F764E0300A8008F80D36C +:201EB80048A822761F76BE0107CCFFCFA91A00201F76BE0107961F76BE0107CCFF3FA91A91 +:201ED80000801F76BE0107961F76BE011618CFFF1F76BE011A1A04001F763700008FDC88DE +:201EF80004A81F763700008F728906A81F763300321A04001F763300321A0800237600014C +:201F18001A76488A4192D496488AC406461E01D5089A488A4E9B4076188E468A0CDCC41AE5 +:201F38000040468A0CDCC418FFDF468ACC18BFFF468ACC18DFFF468ACC18F7FF468ACC1875 +:201F5800FBFF468ACC1A0200468ACC1A0100468A0ADCC418FFBF468A0BDCC4CCE0FF015039 +:201F7800C4964076FD8B488A440640761F8D488AD492025205ED1F76BF01081A0400488A68 +:201F9800C48ABF56E402099A488A40765E8C488A0CD0942B488A008D9E01942B488A008D42 +:201FB8003303942B468A0BDCC41A4000468ACC1A200088FE060008FE457D4497439642A877 +:201FD800428AC406481E43921D6509521B63488AFF9CC4CDF8FF0790A8CAC496136F488A11 +:201FF800C418DFFF166F488AC41A2000488AC418BFFF0F6F488AC41A2000488AC41A400010 +:20201800086F44924552F7EC4E52EAEC4F52ECEC4592015204ED488AC4187FFF4592025280 +:2020380004ED488AC41A8000488AC418EFFF488AC418F7FF88FE060002FE42A8428A0002E3 +:20205800008D4203941E82FE060002FE42A882FE06001F76BF010D1A000806001F76BF010F +:202078000F1A0008060008FE03E2440103E24200AFE2440110E7080000776FE800F00077B0 +:2020980003E24600AFE2420201E8E8FAAFE2440120E751000DE8B89E00E70800007703E299 +:2020B8004800AFE24600AFE24601AFE2480200E3484100E78900007710E708004076E6AC9C +:2020D80002E8010250E80000407671AA88FE06001B76F0FF0500BDA8BDA0BDC2BDC3BDABB8 +:2020F80000E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000669FF422916562276A8 +:2021180001021F76730301560C00237600102676391110291A761F766F033FCC0080CEFF7F +:2021380004ED69FF4076699F1F7673032A92C0561C011F765E03000A1F765E030092145288 +:2021580008681F765E03002B1F765E03BF560101009B1F765E03009A1540BD56A9011F76F7 +:202178006F030052B156A8013F920190A8CA05EC69FF40766B8E046F69FF4076668E1F76DD +:202198005E03350A1F765E0335920A522B681F765E03352B1F765E03399206EC1F76BF017D +:2021B8000D1A0010056F1F76BF010B1A00101F765E033A9206EC1F76BF010D1A0004056F2A +:2021D8001F76BF010B1A00041F765E033B9206EC1F76BF010D1A0040056F1F76BF010B1A0A +:2021F80000401F766F0324921F765E03355411ED1F766F033F400DEE1F76BF010B1A001042 +:202218001F76BF010B1A00041F76BF010B1A0040009A1F765E0300D43C93B056A9011F76F6 +:202238006F030052B156A4013F920190A4CE0AEC1F765E0313921F765E0334961F765E03FB +:20225800362B1F766F033F9201901F765E033C961F765E03340A1F765E0334921F765E03EE +:20227800135420681F765E03342B1F765E03360A1F765E03364003EF019A026F009A1F7633 +:202298005E0337961F765E033692079003EC019A026F009A1F765E0338961F76BF010F1ACC +:2022B80000801F766F033FCC4000C5FF1AEC1F766F033FCC8000C6FF1F765E0339961F76B9 +:2022D8006F033FCC8000C6FF1F765E033A961F766F033FCC8000C6FF1F765E033B96446F8D +:2022F8001F766F033F400EEF1F765E0337921F765E0339961F765E033A961F765E033B9632 +:20231800336F1F765E03BF5639011F765E0315CC0400C1FF1F765E03B0563A0125ED1F7645 +:202338005E0315CC0800C2FF08EC1F765E0337921F765E033A96186F1F765E0315CC100093 +:20235800C3FF0FEC009A1F765E0300D43893B056A9011F765E030052B156A4013A7C046FAC +:202378001F765E033A2BAFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC43E +:20239800BE83BE8A0300F1FF1776027602FE1F765E031328E803008FA60E1F765E0316A891 +:2023B8000C021F765E03181E1F765E03008FD4301AA8412B419218521363013B008F9CD723 +:2023D80041850156A400C42B4185008FC0D70156A4004192C496410A41921852EF64412BDA +:2023F80041920C520D63013B008F9CD741850156A400BF56C403410A41920C52F564412B08 +:20241800419228521063412D008F80D81235408F18D80156A40012024076C5AC410A419235 +:202438002852F264412B419218520D63013B008F80DB41850156A400C41800E0410A4192DA +:202458001852F5641F765E03BF56120C82FE060002FE412B419202521863422B4292085249 +:202478001063013B008F82D7035641030156A40042850156A400C42B420A42920852F26494 +:20249800410A41920252EA64412B419218523663013B008F9CD741850156A400C4922AECB7 +:2024B8004193A892A2FF008D82D7CBFFA894A3FFA9850156A000109B4192C000B4ACA92D2E +:2024D800019B67FFC099013B4192189C008D82D7A993A2FFCBFFA894A3FFA9850156A00036 +:2024F800109B4192189CC000B4AC019BA92D67FFC099410A41921852CC64412B41920352F5 +:202518001463013B008F82D74185408F8AD70156A4004192039CA9850156A500C492C596CA +:20253800410A41920352EE641F765E03031A80001F765E03BF5610701F765E03111A00E09F +:2025580082FE060006FE467D459744A8419600520EEC448A013B4585C40F0362019A116F04 +:20257800448A01020156C40046920B6F448AC40603ED009A066F448A01024156C40046926A +:2025980086FE060008FE44A84196448AC49245964796013B008F80DB41850156A400C4CC7D +:2025B8000020CCFF12ED4185008F80DB0156A400C4CC00E046964185008F80DB0156A40077 +:2025D800469247CAC496086F4185008F80DB0156A4004792C49847CC0001C7FF00D400BEDD +:2025F8000BEC4185408F80DB0156A500C5CC0040CDFFB156A601A693408F80DBB156A40186 +:2026180041850156A500A492019088FFC5CDFFFDA8CAC5964185408F80DB0156A50000D477 +:202638001F765E03009BC5CC0002C8FFB056A8010053B156A40114921F765E03A9CD0100D6 +:20265800A4CB0191A9CCFEFFA9CB149788FE06000AFE439600520AED1F765E0314921F76E9 +:202678005E0315961F765E03142B1F765E030356120143542065013B008F80DB438501563E +:20269800A400C4CC0080CEFF16EC4385008F80DB0156A400C42B4385008F80DB0156A40056 +:2026B800C41A0080008F98DB43850156A400C42BEFFFD900013B008F46D743850156A4007E +:2026D800C4E2C400007703E246001F766F033FCC1000C3FF0DEC43858CE60000008F98DBBD +:2026F8000156A400A9BF120FC496EFFFBC00492B408F80DB43850156A50000D4009BC5CCD8 +:202718000040CDFFB056A8010053B156A401487C008FD8D74385408F40D80156A400AFE2AA +:202738004602807600D803564301C8E2C4010156A50043850156A60020E75100AFE2C502EE +:2027580000E75100C8E2C60202E8401C10E751000CE8000020E70800007703E2460016E886 +:20277800000D14AD056306E8000D03E2460012E8401A14AD056502E8401A03E2460050E8BF +:20279800004843858CE60000408F11DC0156A500A6BF120F008F98DBC57E43850156A40059 +:2027B800C47E477E4792A91B38FF0465A91BD0070E64491A01001F765E03489214CDEFFFAD +:2027D80001901F765E0383FFA8CA1496494045EE4385008FB0DB0156A400C492FB9C47549B +:2027F8000A634385008F80DB0156A400C4CC2000C4FF09ED4385008FB0DB0156A400C4920B +:2028180047541663491A2000489249CDFFFE019087FFA8CA49961F765E0314CDFBFF489209 +:2028380001901F765E0381FFA8CA1496166F4385008FC8DB0156A400C49247540E63491A1E +:2028580010001F765E03489214CDF7FF019082FF1F765E03A8CA1496AD5C439289DC40768C +:20287800FF908AFE060002FE421E428AC49282FE060004FE437C421E428A4392C49684FE7D +:202898000600BDB206FE42A8428A008DA001949271EC428A942B428A0FD094924396013BCF +:2028B8004385008F00D70156A400C492035209684385008F00D70156A400C41B90011069A9 +:2028D800428AD492025205ED1F76BF01081A0400428A099A40765E8CA928FFFF4D6F43927E +:2028F800335207ED428A43920CD094964392446F4385008F00D70156A400C492FE9CA980D6 +:202918004206008F00D7A70DA61E43850156A4000ED10ED0C492FF9CA9804206A70DA98AB0 +:2029380003569C08A68A94CA44964528FFFF428A408F00D743850156A5000EDCC592455D96 +:20295800FE9CA90E40761FA94596445407ED428A43920CD0949643920F6F428AD4920252A9 +:2029780005ED1F76BF01081A0400428A099A40765E8CA928FFFF86FEBE8B0600BDB204FEB0 +:20299800439642A8428A4283008D3203408DA10194929D96428A008DA20143929496000244 +:2029B80001195AFF443F008FA101445D42060156A400020240761FA94496428A008DA3019B +:2029D800FF9094964492428A008DA401A7FFFF909496428A008DA501942B428A008DA60135 +:2029F800942B408FA101428A42060156A500060240767E8C84FEBE8B06000AFE461E44A88E +:202A180046C5AC281F00013B44C4A7062256A70740FF0156A60048C2488AC4924996020238 +:202A3800421E4606C00063AC04EC49CCFF00046F4992A7FFFF908AFE060004FE42A8428A36 +:202A580013D09492FF90A90E441E428A12D09492FF90A988440637FFA6AF441E428A11D035 +:202A78009492FF90A988440637FFA6AF441E428A10D09492FF90A988440637FFA6AF441E58 +:202A9800428A17D042839492FF90A90EE51E428A16D042C442839492FF90A980E50637FFBB +:202AB800A7AFE61E428A15D0428342C49492FF90A980E50637FFA7AFE61E428A14D042835A +:202AD80042C49492FF90A980E50637FFA7AFE61E428A02020156E400428A4406F41E428A80 +:202AF8000AD04406941E1F767303BF5628013A9A428A4076FB9284FE0600BDB204FE42A8D9 +:202B1800428A42830AD0E4060219958A40763A93428A42C4A95DE4060119968A40763A930C +:202B38000356A908A5944496428A4283408D32030ED09C929596428A0FD0BF5694334328A4 +:202B5800FFFF428A435D02020EDC40761FA94396428A42830AD0E4060219958A435D4076C9 +:202B78003EA94396449243540BED428A339A4076FB92428A008D3C03BF569401116F428AAE +:202B9800008D3C03942B428AD492025205ED1F76BF01081A0400428A099A40765E8C84FE0E +:202BB800BE8B0600BDB208FE42A8428A13D09492FF90A90E441E428A12D09492FF90A9883E +:202BD800440637FFA6AF441E428A11D09492FF90A988440637FFA6AF441E428A10D094920A +:202BF800FF90A988440637FFA6AF441E2FFF0040440F15664318FF0F4492407689A8469688 +:202C180020FFF401407688AD4492019C407689A8459620FFF401407688AD196F2FFF002093 +:202C3800440F0A664318FF0FAD5C4492049B86DC4076F9990C6F4318FF0F44064076709242 +:202C5800469601024407407670924596428A4283008D3203408DA10194929D96428A008D2B +:202C7800A201BF569438428A4692008DA301FF9094964692428AA7FF008DA401FF909496F5 +:202C9800428A008DA501942B428A008DA601942B4728FFFF008FA1014206475D0156A4001A +:202CB800060240761FA94796428A4792008DA701FF9094964792428A008DA801A7FFFF90F6 +:202CD8009496428A008DA901942B428A008DAA01942B408FA101428A42060156A5000A02A0 +:202CF80040767E8C88FEBE8B060006FE42A8428A13D09492FF90A90E441E428A12D09492E8 +:202D1800FF90A988440637FFA6AF441E428A11D09492FF90A988440637FFA6AF441E428A0E +:202D380010D09492FF90A988440637FFA6AF441E452B428A15D045939492A8384596428AD8 +:202D580014D045939492A83845962FFF0004440F08664318FF004492459340762DA8146FB5 +:202D78002FFF0002440F0A664318FF00AD5C4492029B85DC4076AE99076F4318FF00455CA3 +:202D9800440640767692428A399A4076FB9286FE0600BDB208FE42A81F767303BF562A01FD +:202DB800428A13D09492FF90A90E441E428A12D09492FF90A988440637FFA6AF441E428AE7 +:202DD80011D09492FF90A988440637FFA6AF441E428A10D09492FF90A988440637FFA6AF76 +:202DF800441E428A17D09492FF90A90E461E428A16D09492FF90A988460637FFA6AF461E03 +:202E1800428A15D09492FF90A988460637FFA6AF461E428A14D09492FF90A988460637FFB0 +:202E3800A6AF461E428A4283008D3203408DA10194929D96428A008DA201BF569434008F3E +:202E5800FFFF48A8008FA101485D42060156A400020240761FA9A90E481E485D448A4606F5 +:202E780040763EA9A90E481E408FA1014206428A0156A500010240767E8C428A008DA10141 +:202E9800BF569434408FA101428A42060156A500010240767E8C428AC48AE4CC4000C5FF2B +:202EB800FBEC428A460644834076E78C428AC48AE4CC4000C5FFFBEC428A4892008DA10181 +:202ED800FF9094964892428AA7FF008DA201FF909496428A008DA301942B428A008DA40132 +:202EF800942B408FA1014206428A0156A500060240767E8C1F7673032A2B88FEBE8B06007D +:202F18000AFE42A8428A13D09492FF90A90E441E428A12D09492FF90A988440637FFA6AFC1 +:202F3800441E428A11D09492FF90A988440637FFA6AF441E428A10D09492FF90A988440671 +:202F580037FFA6AF441E428A17D09492FF90A90E461E428A16D09492FF90A988460637FFCF +:202F7800A6AF461E428A15D09492FF90A988460637FFA6AF461E428A14D09492FF90A98818 +:202F9800460637FFA6AF461E428A1BD09492FF90A90E481E428A1AD09492FF90A98848066B +:202FB80037FFA6AF481E428A19D09492FF90A988480637FFA6AF481E428A18D09492FF90C5 +:202FD800A988480637FFA6AF481E428A1CD09492FF904996428A1DD09492FF904A96186F48 +:202FF8004406468A48C4A6934076AE99176F4A9208EC4406468A48C4A693407602A90E6FCA +:203018004406468A48C4A6934076F999076F49920452E7EC0552ECEC056F428A3C9A40767C +:20303800FB928AFE060002FE412B4192805209674158008F80DB942B410A41928052F96849 +:203058001F766F03BF5624081F766D032E921F766F033E961F766F03BF56250A1F766F031E +:20307800BF5626C8412B4192185214674158008F9CD7949203520AED008FB0DB94285802D4 +:203098004158008FC8DB9428F401410A41921852EE6882FE0600BDB202FEA9287E3F008FAC +:2030B80040DCA82802014076F999809A008F40DC407671A942961F767303009242541FED15 +:2030D800421BFFFF1CEC1F7672033E921F766D032E5415ED412B419280520D67415841595A +:2030F800008F40DC408F80DB94929D96410A41928052F5681F766F033F2B086F40765096B9 +:203118001F766F033F2B4076C59682FEBE8B060002FE422B412B4192805211674158008F28 +:2031380080DB408F40DC9492955405EC94929596BF564201410A41928052F168429211EC6E +:20315800008F40DC809A407671A91F7673030096A9287E3F008F40DCA82802014076AE9918 +:2031780082FE06000CFE442B44920C52E3FFAE000356440245964592407689A8429620FF45 +:20319800F401407688AD4592019C407689A8419620FFF401407688AD4592469C407689A866 +:2031B800439620FFF401407688AD029AAD5C82DC407671A9435412EC013B008F9CD74485B0 +:2031D8000156A400C492035206ED42284A01BF56411E046F422B4128110142924696C4E264 +:2031F8004100007703E24A004592029C407689A8429620FFF401407688AD4592039C407671 +:2032180089A8419620FFF401407688AD4592489C407689A8439620FFF401407688AD029A79 +:20323800AD5C82DC407671A9435413EC013B008F9CD744850156A400C492035206ED42289F +:20325800A00F41286801056F4228CE0E4128D90142924796C4E24100007703E24C00013B5C +:20327800008FD8D744850156A4004692C496AFE24A00008F00D88CE6000044850156A4008A +:20329800A9BF120FC4964792AFE24A00AFE24C01469E20E70800A985A9BD160F0077007707 +:2032B8000077007789E60900407671AA013B008F40D8035644010156A40003E2C400440A4C +:2032D80044920C52E4FF56FFBF56440C44921052E3FF83000356440245964592407689A830 +:2032F800429620FFF401407688AD4592019C407689A8419620FFF401407688AD4592469CF5 +:20331800407689A8439620FFF401407688AD029AAD5C82DC407671A9435404EC4228FF070C +:20333800412B42924696C4E24100007703E24A004592029C407689A8429620FFF4014076CE +:2033580088AD4592039C407689A8419620FFF401407688AD4592489C407689A8439620FF53 +:20337800F401407688AD029AAD5C82DC407671A9435404EC42280609412B42924796C4E2BF +:203398004100007703E24C00013B008FD8D744850156A4004692C496AFE24A00008F00D87A +:2033B8008CE6000044850156A400A9BF120FC49602E8D123C8E24700407671AA013B008F71 +:2033D80040D8035644010156A40003E2C400440A4492105280648CFE060006FEBF56440C18 +:2033F800449210526C63035644024596013B008FD8D744850156A400C4924296412BAD5C53 +:20341800029A82DC407671A943964592429340762DA8018FA086A9A8407688AD4592019C54 +:20343800419340762DA8018FA086A9A8407688AD4592469C439340762DA8018FA086A9A802 +:20345800407688AD008F40D8013B035644010156A400AFE2C40051E8801E00778EE60000D6 +:2034780000770077A9BF120F4296412BAD5C029A82DC407671A943964592029C42934076CD +:203498002DA8018FA086A9A8407688AD4592039C419340762DA8018FA086A9A8407688AD86 +:2034B8004592489C439340762DA8018FA086A9A8407688AD440A449210529664BF5644010C +:2034D80086FE0600BDB208FE42A8428A11D0949244964283428A12D113D003569D0894CA8B +:2034F8004596428A10D094924696428A1F766D03008DA1013D929496428A008DA201BF5621 +:203518009403428A008DA301035645019496472B459247545469469229EC47924494008F68 +:2035380001DCE89CA9589492A7FFFF90A988008DA10103564701039CA9804206A70DA98ABE +:20355800947E4792008F01DC4494E89CA9589492FF90A988008DA10103564701049CA98020 +:203578004206A70DA98A947E266F4792008F80DB4494A95894CC00FFC7FFA98803564701CA +:20359800008DA101039CA9804206A70DA98A947E4792008F80DB4494A9589492FF90A98859 +:2035B800008DA10103564701049CA9804206A70DA98A947E470A45924754AE664328FFFFD9 +:2035D800008FA1014206435D0156A40003564501039CA90E40761FA94396008DA1010356EB +:2035F8004501039CA9884206A60DA98A4392FF90949603564501049CA9884206A60DA98A43 +:203618004392A7FFFF90949603564501059CA9884206A60DA98A942B03564501069CA9888E +:203638004206A60DA98A942B03564501079CA9884206A60DA98A942B03564501089CA988B1 +:203658004206A60DA98A942B428A008D9E01BF569401408FA1014206428A0156A5000356E9 +:203678004501089CA90E40767E8C88FEBE8B0600BDB206FE42A8452B4592085211674588B9 +:2036980042060ED0A60DA98A42069480408DA101A60DA98A9C7F450A45920852F168428A95 +:2036B80011D0949243964283428A12D113D003569D0894CA449643584492008F80DB949600 +:2036D800428A008D9E01BF569401408FA1014206428A0156A5000A0240767E8C86FEBE8B16 +:2036F800060006FE459744A841961F7673030002141E1F76300014282040008F50DB4076F9 +:20371800C89A0052FBEC45934592D0FF0190A89445962DEC4192209B1F90A99F469745927E +:2037380046542A5646081F766D0344061C1E1F766D03460E1E1E1F766D0303564101A90E94 +:20375800201E008F50DB408F5CDB4076D39A008F50DB4076C89A0052FBEC460E0156440036 +:2037780046924172469245744592D5ED1F7630001428104086FE060006FE459744A84196FE +:203798001F7673030002141E1F76300014282040008F50DB4076C89A0052FBEC45934592B7 +:2037B800D0FF0190A89445962DEC4192209B1F90A99F4697459246542A5646081F766D03BB +:2037D8004406221E1F766D03460E241E1F766D0303564101A90E261E008F50DB408F62DB4B +:2037F8004076DE9A008F50DB4076C89A0052FBEC460E015644004692417246924574459296 +:20381800D5ED1F7630001428104086FE060002FE1F766D0314C5008F50DB673E22761F7689 +:203838003400008FE99A1CA81A7669FF4076E5A91F765D030F8F404242A83806C00054AC2D +:20385800A9BD120F0077007702E84116008FD2DC89E60000407636AA2376002082FE060019 +:2038780002FE42A822761F76BE0108CCFCFF01501F76BE0108961F76BE0108CCF3FF0450DA +:203898001F76BE0108961F76BE0108CCCFFF10501F76BE0108961F76BE0108183FFF1F768F +:2038B800BE010B1A08001F76BF010118F7FF1A761F76C101BF5600071F76C101BF56011F11 +:2038D8001F76C101022B1F76C101BF56040C1F76C1010A2800801F76C1010B2B1F76C101E3 +:2038F8000C2B1F76C101BF560F10428AD42B428A0002C41E1F76C101001A800082FE69FF9A +:2039180006001F76BF01011A080006001F76BF010118F7FF060002FE42A8428AD4920390F2 +:2039380003EC009A026F019A82FE060004FE44A042A8428A4406C41E428AD41A010084FE4F +:20395800060004FE44A042A8428A4406C41E428AD41A020084FE06001B76F0FF0500BDA853 +:20397800BDA0BDC2BDC3BDAB00E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000622 +:2039980069FF42291656227601021F767303015614001F766D0316C5008F50DB69FF673E18 +:2039B8001A76AFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE83BE8A2A +:2039D8000300F1FF1776027602FE42A8EFFFBE01428AD4400CEF1F766D03BF562901428A55 +:2039F800D41A0400428A0AD094C5673E428AD441CC56BE011F766D03BF56290D428AD41A4D +:203A18000800428A0AD094C5673EEFFFB1011F76C101BF5600871F76C101082800061F762D +:203A3800C101021A20001F766D03BF562902EFFF9F011F76C10102CC4000C5FFC1569801C4 +:203A58001F76C10107921F766D032B96428A08D094C5673E1F766D03BF562903EFFF880139 +:203A7800428A0AD094C5673E1F76C101BF5600871F76C101082800021F76C101021A20007B +:203A98001F766D03BF562904EFFF72011F76C10102CC4000C5FFC1566B011F76C1010792CA +:203AB8001F766D032B961F766D03BF562905EFFF5F011F76C101BF56008F428AC48A1F76E8 +:203AD800C101E49208961F76C101021A20001F766D03BF562906EFFF4B011F76C10102CCBD +:203AF8004000C5FFC15644011F76C10107921F766D032B961F766D03BF562907EFFF380127 +:203B18001F76C101BF56008F428AC48A1F766D032A58C48A1F76C101949208961F766D0383 +:203B38002A0A1F76C101021A20001F766D03BF562908EFFF1D011F76C10102CC4000C5FF26 +:203B5800C15616011F76C10107921F766D032B96428AC48A1F766D032A0ED40F0BED428A6B +:203B780008D094C5673E1F766D03BF562909EFFFFF001F766D03BF562907EFFFF900428A21 +:203B98000AD094C5673E1F76C101BF5600871F76C101082800051F76C101021A20001F768E +:203BB8006D03BF56290AEFFFE3001F76C10102CC4000C5FFC156DC001F76C10107921F76C3 +:203BD8006D032B961F766D03BF56290BEFFFD0001F76C101082B1F76C101021A20001F76DE +:203BF8006D03BF56290CEFFFC3001F76C10102CC4000C5FFC156BC00428A08D094C5673EA4 +:203C18001F76C10107401F766D03BD562909CD56AF00428AD418FBFF428AD418FEFF1F76D6 +:203C38006D03292B1F766D032A2BEFFFA1001F76C101BF5600871F76C101082800031F76AD +:203C5800C101021A20001F766D03BF56290EEFFF8F001F76C10102CC4000C5FFC1568800B8 +:203C78001F76C10107921F766D032B961F766D03BF56290F7C6F1F76C101BF56008F428A72 +:203C9800C48A1F76C101E49208961F76C101021A20001F766D03BF562910696F1F76C1013E +:203CB80002CC4000C5FF63EC1F76C10107921F766D032B961F766D03BF562911586F1F7665 +:203CD800C101BF56008F1F76C101082B1F76C101021A20001F766D03BF562912486F1F76A8 +:203CF800C10102CC4000C5FF42EC428AC48A1F766D032A58C48A1F76C101079294961F764C +:203D18006D032A0A1F766D03BF562913306F428AC48A1F766D032A0ED40F12ED428A08D015 +:203D380094C5673E1F766D03292B1F766D032A2B428AD418F7FF428AD418FDFF186F1F763C +:203D58006D03BF562911136F1F766D03299213520E660356A901C0765AC1A988A706A60D8C +:203D7800A71EA92401DFA824A71E207682FE0600BDB2BDAAAD5A40FE86DA42974196AA280F +:203D98001C80AB2800E07EA9A92800E0A8280C80F21E42920263422B42920F52B256420F44 +:203DB800227641921DED008F006078A8008F00617AA8008FC0607CA81F76BE0109CCFFCF8B +:203DD800A91A00101F76BE0109961F76BE0109CCFF3F1F76BE01A91A004009961C6F008F8E +:203DF800006278A8008F00637AA8008FC0627CA81F76BE0107CCFFFCA91A00021F76BE0105 +:203E180007961F76BE0107CCFFF31F76BE01A91A00080796788A08022AD0941E788A2CD062 +:203E3800941E7A8AD41E7A8A0AD0941E7A8A12D0941E788A0002C41E7A8A013B42857E0728 +:203E5800C41E08D07A8A42857E072009941E10D1429201907A8AA985F20730099C1E788AFF +:203E7800AA28FFFFAB28FEFFD4A9788A0702C41E788A000208D00119941E788A00020CD098 +:203E98000119941E788A00021ED00119941E788A000222D00119941E788A000218D00119B8 +:203EB800941E0002621E621A0080621A0040621A0020621A0002621A8000621A0010788A5A +:203ED80014D06206941E18D0788A94CC1000C3FFFCEC788A16D09406601E60CCFFFCA91ADE +:203EF800000160965FCC00FF05505F96601A780060CCF8FF02506096788A6006941E62184E +:203F1800FFEF788A14D06206941E18D0788A94CC1000C3FFFCED7C83088F7064C5A87C83C0 +:203F3800D5A8788A010230D0941E788A32D00002941E788A2ED0941E561E788A24D0060259 +:203F5800941E788A26D00002941E561A0100551A0200561A0200561A0400788A20D05606D5 +:203F7800941E1F763700008FB99E08A81F763300321A10001F763700008F249F0AA81F768C +:203F98003300321A2000237600011A761F76730300021C1E1F7673031A1E1F767303262B5A +:203FB8001F7673031E1EC0FEBE86BE8B69FF06000EFE459744A84196005207ED008F006009 +:203FD8004CA8008F00614EA81F76730327920FEC4C8A08D094060190009B58FF08ED4C8A9A +:203FF8000AD094060190009B58FF44EC4C8A010208D0941E4C8A0AD0941E448A013B4585E9 +:204018000156A400C4855AFFAA18000045853FFFABCAAACBA81A00E0481E448A4592029CEC +:20403800A9850156A400C4855AFF448A4592019CA9850156A400AA180000C4853FFFABCA74 +:20405800AACB4A1E4E8A4806F41E4E8A4A06E41E22764C8A2ED00002941E1A764C8A010280 +:20407800E41E1F767303BF5627011F76BF010F1A10008EFE06000EFE42A8428AF406481E9C +:20409800428AE4064A1E4806439743CC0080469643CC0040459643CC002044964318FF1FAB +:2040B80048924D964A064C974A924B96469209EC43928052066743584D92008F80DB9496CC +:2040D800430A459209EC43928052066743584C92008F80DB9496430A449209EC439280524F +:2040F800066743584B92008F80DB94961F76BF010F1A02008EFE06001B76F0FF0500BDA8B3 +:20411800BDA0BDC2BDC3BDAB00E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E600067A +:2041380004FE69FF422916560102421E1F7633003292449623760001267600011F7633005E +:2041580032921F763300322B1F7633002128FFFF10291F7680011E921F904396432D420610 +:204178003B56421E1F76800142060C1E013B008F006169FF035643030156A4004076789EB4 +:204198001F7633002192A9CDFFFE1F763300C7FF01900150019087FFA8CA2196103B1F7689 +:2041B80033004492329684FEAFE2BE03AFE2BE02AFE2BE01AFE2BE0080E2BE00BE87BEC56A +:2041D800BEC4BE83BE8A0300F1FF177602761B76F0FF00E2BD0030E6000602FE42291656B2 +:2041F8001F7633003292419623760001267600011F76330032921F763300322B1F76330094 +:204218002128FFFF102901021F768001061E1F767303260A1F7633002192A9CDFFFEC7FFDA +:204238001F76330001900150019087FFA8CA2196103B1F7633004192329682FE80E2BE002E +:20425800F1FF177602764076829F049A029B40768A9F407622A006001F76C00121920F903A +:20427800045213ED1F76C00111CC8001C6FF02520CED22761F76C001BF5625551F76C00137 +:20429800BF5625AA1A76016F060022761F76C001BF5629681A7669FF060006FE44974396D2 +:2042B8001F76C00111CC0800C2FF02EC25761F76C00111CC8001C6FF07EC22761F76C00107 +:2042D80011187FFE1A7622761F76C001111A400043921F76C0010F9021CDF0FF1F76C0013A +:2042F800A8CA21961A764392B156A901A90E461E69FFA828C901A92880C3AC1E445646008C +:20431800461E4076829F1F76C001119201900152FBED22761F76C0011118BFFF1A7644924A +:20433800015203EC02520DED22761F76C001039011CD7FFE1F76C00186FFA8CA11961A7675 +:2043580044920BED46C4013BAC281E00A60640FF2256A60741FF461E449201520BED46C460 +:20437800013BAC281E00A60640FF2256A60741FF461E449202520AED46C4AC281F00013BE9 +:20439800A6062256A60740FF461E439218ED4492035215ED22761F76C00111CC7FFE1F76AD +:2043B800C001A91A0001119669FF20FFDA05407688AD1F76C001111A80011A7646061F76F5 +:2043D8005D03381E86FE69FF060004FE22761F76C001BF561A011F76C0011B2B1F76C0010B +:2043F8001A9206EC1F76C00103561A01026F019AA90E441E1F765D0369FF4406421E3806D3 +:20441800C00054AC441E1F765D0344063C1E1F76C0011B9206EC1F76C00103561B01026F98 +:20443800019AA90E441E1F765D034406421E3806C00054AC441E1F765D0344063A1E1F7685 +:204458002C0035CCF8FF01501F762C0035961F762C00341A04001F762C003418F7FF1F7698 +:20447800C0011C1A0800787680001F76C0011C1A10001F76C0011C1A00041F76C0011C1AFF +:2044980000081F76C0011C1A20001F76C0011C1A00011F76C0011C1A00101F76C0011C1A9B +:2044B80000201F76C0011C1A00401F76C0011C1A00801F76C0011C18FBFF1F76C0011D1ADB +:2044D80001001F76C0011D1A02001F76C0011D1A04001F76C0011D1A08001F76C0011D1A81 +:2044F80010001F76C0011D1A20001F76C0011C1A04001F76C0011D1A00041F76C0011D1A39 +:2045180000081F76C0011D1A00101F76C0011D1A00201F76C0011D1A00011F76C0011D1A16 +:2045380000021F76C0011D1A00401F76C0011D1A00801F76C001201A00011F76C001201A66 +:2045580000021F76C001201A00041F76C001201A00081F76C001201A00101F76C001201AE5 +:2045780000201A7684FE69FF060002FE22761F762B002028FFFF1F762B002128FFFF1F7649 +:204598002B002228FFFF1F762B002328FFFF1F762B002428FFFF1F762B002528FFFF1F76DD +:2045B8002B002628FFFF1F762B002728FFFF1A761F76FFCF389241961F76FFCF39924196C6 +:2045D8001F76FFCF3A9241961F76FFCF3B9241961F76FFCF3C9241961F76FFCF3D924196A5 +:2045F8001F76FFCF3E9241961F76FFCF3F9241961F762B002F4003EE019A026F009A82FE48 +:2046180069FF060002FE2276008FA58E1F7634001AA81A7669FF1F765D030F8F40423806E4 +:2046380042A8C00054ACA9BD120F0077007702E8D11F008FCADC89E60000407636AA1F769A +:2046580030000C2820402376001082FE060006FE4076609F103B69FF407669AB267600007D +:204678002F760000407623AD4076F9AA407663A61F76BF010C1A01001F76BF010B1A0100E8 +:20469800412B41920A521263012920FF50C3407653AB1F76BF010F1A01001F76BF010E1AE6 +:2046B8000100410A41920A52F0641F76BF010A1A01001F76BF010B1A0100407677A61F76B6 +:2046D8006D032C92109B407673AD0D9A40763E8D01D4418F00C2A9A040764D8D02D4418F05 +:2046F80000C2A9A040764D8D1F766D03009A2E934076F59C4076449A40763FA140767EAC56 +:204718004076B8AB4076F7A24076039040760BA8078F20A1A9A8407653AB4076EF9640761A +:204738008896407665901F766D032E921F766F033E9622761F76C001BF56292F1A761F7678 +:204758005D03BF5637011F765E030192C1568E001F765E03012B412B41920252E3FF860049 +:20477800013B008FE5DB41850156A400C49278EC4185008FF5DC0156A400408FE5DBC49215 +:20479800019CA988C49641850156A500A692C55467681F767303359263EC4185008FF5DCB0 +:2047B8000156A400013BC42B4185008FF7DC0156A400C492805207684185008FF7DC015682 +:2047D800A400C42B4185008FF7DC0156A400408F82D7C492C3FFA95803564103008FF7DCCB +:2047F8000156A50041850156A400C4930F91A82D959262FF43961CED4185008FF7DC01562F +:20481800A400C492109CA988A618F0FF4185008FF7DC0156A400C47EC86F013B008FF7DCC2 +:2048380041850156A400C40A4392A0FF43964340F5EF016F013B008FF7DC41850156A4004E +:2048580069FFC493009A008F80DB4076159E013B008FF7DC41850156A400C4080300410A1B +:2048780041920252E4FF7EFF69FF407644A71F766F033FCC0400C1FF07EC1F766F033F1869 +:20489800FBFF4076C5961F766F033FCC0800C2FF07EC1F766F033F18F7FF407688961F766A +:2048B8006F033FCC2000C4FF07EC1F766F033F18DFFF4076EF961F766F033FCC0200C0FF43 +:2048D80007EC1F766F033F18FDFF40765096412B41920252E3FF39FF005205EC008F00D088 +:2048F80046A8046F008F80D346A8468A40767E924296A91BFFFF39EC1F76BF010F1A01009B +:20491800216F468A40765A93306F468A4076BA932C6F468A40760F94286F468A4076B294E3 +:20493800246F468A40760695206F468A4076BD951C6F468A40769F98186F468A40767599E1 +:20495800146F38520C623852E5EC0352F3EC0652F5EC3352DBEC3452E5EC076F3952DEEC8E +:204978003A52D0EC3C52E2EC410A41920252B564EFFFEBFE08FE2276008F05A41F76350079 +:204998000AA81A7669FF407606AD1F763300221A2000237601001F76C401021A0F001F7614 +:2049B800C40103CCF0FF1F76C4010B5003961F76C40103CC0FFF1F76C401A05003961F765F +:2049D800C40103CCFFF01F76C401A91A000903961F76C40103CCFF0F1F76C401A91A0080A9 +:2049F80003961F76C4010418F0FF1F76C40104CC0FFF1F76C401105004961F76C40104CCEB +:204A1800FFF01F76C401A91A000404961F76C40104CCFF0F1F76C401A91A003004961F7620 +:204A3800C40105CCF0FF1F76C401055005961F76C40105CC0FFF1F76C401205005961F765C +:204A5800C40105CCFFF01F76C401A91A000605961F76C40105CCFF0F1F76C401A91A007035 +:204A780005961F76C401061A0F001F76C40106CC0FFF1F76C401D05006961F76C40106CC7E +:204A9800FFF01F76C401A91A000E06961F76C40106CCFF0F1F76C401A91A00C006961F7600 +:204AB800C401011A00011F76C401011A00081F76C401191A10001F76C401001A10001F76CA +:204AD800C401011A00401F763300BF5621011F76A001191A00081F76A00119CCFFF81F7687 +:204AF800A001A91A000419961F76A0011ACCFFFC1F76A001A91A00011A961F76A001BF567B +:204B180009801F76A00100CC7FFC1F76A001A91A000100961F76A00100CCFFE31F76A001CD +:204B3800A91A000800961F76A001013B019A00CD001CD9FFA82D66FFA985441E1F76A0012E +:204B580000CC8003C6FF0AEC1F76A00100CC8003C6FF80FFA985461E036F0102461E448734 +:204B78001F765D0344564600421E3806C00054AC008FC40942A8C00054AC481E1F76A00148 +:204B9800489205961F76A0010018FCFF88FE06001B76F0FF0500BDA8BDA0BDC2BDC3BDAB05 +:204BB80000E2BD0003E2BD0003E2BD0103E2BD0203E2BD0330E6000604FE69FF4229165653 +:204BD8001F7633002292449623760100267601011F763300221848001F7633002128FFFFD6 +:204BF80010291F7673032A9257ED1F765D03379253EC432B439217524663013B008F9CD7C9 +:204C180043850156A400C4922EEC4385008F08710156A400C492C3FFA90EA9BD120F0077B1 +:204C38000077007700778BE60000007703E24200432D69FF008F80D812350156A400407631 +:204C5800C3AB03E24200013B008F46D78CE6000043850156A400A9BF120FC496439240761C +:204C780065910D6F4385008F98DB0156A400C42B4385008F80DB0156A400C42B430A439238 +:204C98001752BC641F765E0314921F765E0315961F765E03142B1F76C401011A00401F76B7 +:204CB800C401191A10001F763300BF562101103B1F7633004492229684FEAFE2BE03AFE2CF +:204CD800BE02AFE2BE01AFE2BE0080E2BE00BE87BEC5BEC4BE83BE8A0300F1FF1776027672 +:204CF80022761F762C0035CCF8FF01501F762C0035961F762C003418FCFF1F762C00341859 +:204D1800F7FF1F762C00341A04001F762C00201A60001F762C00201A1C001F762C00201A05 +:204D380003001F762C00201A00301F762C00201A000E1F762C00201A80011F762C00211AAC +:204D580040001F762C00201A00401F762C00201A00801F762C00211A03001F762C002C1A3F +:204D780060001F762C002C1A1C001F762C002C1A03001F762C002C1A00301F762C002C1A50 +:204D9800000E1F762C002C1A80011F762C002D1A40001F762C002C1A00401F762C002C1ACF +:204DB80000801F762C002D1A03001F762C002E1A60001F762C002E1A1C001F762C002E1AB9 +:204DD80003001F762C002E1A00301F762C002E1A000E1F762C002E1A80011F762C002F1AD4 +:204DF80040001F762C002E1A00401F762C002E1A00801F762C002F1A03001F762C00381A69 +:204E180007001F762C00381A38001A7669FF4076CFA507F6007769FF060022761F76BE0138 +:204E3800181A03001F76BE01181A0C001F76BE01181A30001F76BE01181AC0001F76BE0143 +:204E5800181A00031F76BE01181A000C1F76BE01181A00301F76BE01181A00C01F76BE0123 +:204E7800191A03001F76BE01191A0C001F76BE01191A30001F76BE01191AC0001F76BE01FF +:204E9800191A00031F76BE01191A000C1F76BE01191A00301F76BE01191A00C01F76BE01DF +:204EB800141A03001F76BE01141A0C001F76BE01141A30001F76BE01141AC0001F76BE01D3 +:204ED800141A00031F76BE01141A000C1F76BE01141A00301F76BE01141A00C01F76BE01B3 +:204EF800151A03001F76BE01151A0C001F76BE01151A30001F76BE01151AC0001F76BE018F +:204F1800151A00031F76BE01151A000C1F76BE01151A00301F76BE01151A00C069FF4076A4 +:204F3800CFA5060022761F76BE01261A03001F76BE01261A0C001F76BE01261A30001F76B7 +:204F5800BE01261AC0001F76BE01261A00031F76BE01261A000C1F76BE01261A00301F76EA +:204F7800BE01261A00C01F76BE01271A03001F76BE01271A0C001F76BE01271A30001F76C7 +:204F9800BE01271AC0001F76BE01271A00031F76BE01271A000C1F76BE01271A00301F76A6 +:204FB800BE01271A00C01F76BE01171A03001F76BE01171A0C001F76BE01171A30001F76B6 +:204FD800BE01171AC0001F76BE01171A00031F76BE01171A000C1F76BE01171A00301F76A6 +:204FF800BE01171A00C01F76BE01281A03001F76BE01281A0C001F76BE01281A30001F7653 +:20501800BE01281AC0001F76BE01281A00031F76BE01281A000C1F76BE01281A00301F7621 +:20503800BE01281A00C01F76BE01161A00C01F76BE01161AC0001F76BE01161A00301F76C6 +:20505800BE01161A000C1A7669FF060022761F76BE011618FCFF1F76BE011818FCFF1F7616 +:20507800BE011A1A01001F76BE011B1A01001A7669FF060002FE22761F76BE010618000092 +:205098001F76BE01071800FF1F76BE0108183F001F76BE01091800FF1F76BE011618C0FF1E +:2050B8000F8F00F0ABA81F76BE01AB93AA9218C11F76BE0119C01F76BE010B18EFFF1F7629 +:2050D800BE010B18DFFF1F76BE010B18BFFF1F76BE011B18F7FF1A761F766D032C2B422BED +:2050F800412B4192645212631F76BF01009B019200BEC5FF0190B056A601A692B156A80103 +:205118004273410A41926452F0644292325204651F766D032C0A422B412B419264521263C7 +:205138001F76BF01009B019200BEC3FF0190B056A601A692B156A8014273410A41926452A5 +:20515800F0644292325205651F766D032C080200422B412B4192645212631F76BF01009B1F +:20517800019200BEC4FF0190B056A601A692B156A8014273410A41926452F06442923252A8 +:2051980005651F766D032C0804001F766D0303562C011F766D032E961F766D032C0A422B54 +:2051B800412B4192645212631F76BF01009B099200BEC2FF0190B056A601A692B156A8013D +:2051D8004273410A41926452F0644292325204651F766D032E0A1F766D03BF562D012276FC +:2051F8000E6F088F00001F76BE010AA8AA2813DCAB2807001F76BE011AA9066F1F766D0351 +:205218002D920152EFEC1A7682FE69FF060002FE0002421E1F76BF0100CC8000C6FF06ED50 +:2052380000021F766D03381E0D6F038F90D01F766D03A9A8380F066501021F766D03015624 +:205258003800038F90D01F766D03A9A8380F03650102421E1F76BF0100CC4000C5FF06ED8C +:2052780000021F766D033A1E0B6FA9A81F766D033A0F066501021F766D0301563A00A9A849 +:205298001F766D033A0F046502024207421E1F76BF0101CC0004C9FF04ED04024207421E04 +:2052B8001F76BF0101CC8000C6FF04ED08024207421E1F76BF01009B099200D4013BC2FF6F +:2052D8000190B056A8010053B156A4010356A404A9854207421E1F76BF01009B00D401CC0E +:2052F8004000C5FFB056A8010053B156A4010356A405A9854207421E1F76BF01009B00D447 +:2053180001CC1000C3FFB056A8010053B156A4010356A406A9854207421E1F76BF01009B5E +:2053380000D401CC2000C4FFB056A8010053B156A4010356A407A9854207421E1F766D0343 +:20535800429233961F766D0333921F766E03179682FE060022761F76BE011C18FEFF1F76E3 +:20537800BE011C18FDFF1F76BE01121A03001F76BE01121A0C001F76BE0116CCFCFF015095 +:205398001F76BE0116961F76BE0116CCF3FF1F76BE01045016961A7669FF06004076E7A737 +:2053B8001F76E401BF5607501F76E4010918DFFF1F76E401BF560C0E1F76E401BF56030A31 +:2053D8001F76E401BF5604051F76E401092B1F76E401091A00041F76E401091A200006000B +:2053F80002FE429741961F76E40109CC0008CAFF015204EDA92855554E6F1F76E40102CC01 +:205418000010CBFF015204EDA9280010446F1F76E401BF5605041F76E4010928206E035698 +:2054380041011F76E401C7FF08961F76E40102CC1000C3FFFBEC035641011F76E401089680 +:205458001F76E40102CC1000C3FFFBEC42921F76E401A7FF08961F76E40102CC1000C3FF87 +:20547800FBEC42921F76E40108961F76E40102CC1000C3FFFBEC1F76E40109CC0008CAFF20 +:205498000152FAEC1F76E40102CC0010CBFF0152FAEC009A82FE060004FE41961F76E401ED +:2054B80009CC0008CAFF015204EDA92855556C6F1F76E40102CC0010CBFF015204EDA9285D +:2054D8000010626F1F76E401BF5605021F76E4010928206E035641011F76E401C7FF08968B +:2054F800008FFFFF44A81F76E40102CC1000C3FF06ED4406A98A81DC44A8F6ED03564101CA +:205518001F76E4010896008FFFFF44A81F76E40109CC0008CAFF015206ED4406A98A81DCA2 +:2055380044A8F5ED1F76E401BF5605021F76E4010928206C008FFFFF44A81F76E40102CCF7 +:205558000800C2FF06ED4406A98A81DC44A8F6ED1F76E40106934292A8384296008FFFFFA2 +:2055780044A81F76E40102CC0800C2FF06ED4406A98A81DC44A8F6ED1F76E4014293069293 +:20559800A83C4297429284FE060006FE459744A84196462B4592465414654192410A407608 +:2055B80089A8448A013BA98846850156A400C47E20FFF401407688AD460A45924654EE624F +:2055D80086FE060006FE461E44A8417D4606A98A81DC46A814EC4483859244A04158A0F260 +:2055F800008F00DDA092FF90A9584192C7FF947041964606A98A81DC46A8EEED419286FEF5 +:2056180006000CFE461E44A8417D00024C1E46064C0F28694CCC01004796448A01294C0670 +:2056380040FF0156A400C4924896479205ED48CC00FFC7FF49964792015204ED4892FF90DB +:20565800499649924170008F00DDFF90A9584192C7FF9470419601024C074C1E46064C0FF0 +:20567800DA6641928CFE060006FE439642A84428FFFF452B4392455436694558428A949232 +:20569800FF9044F2462B469208521067444007EF4492C0FFA91C01A04496046F4492C0FFBC +:2056B8004496460A46920852F2684558428A94CC00FFC7FF44F2462B4692085210674440BA +:2056D80007EF4492C0FFA91C01A04496046F4492C0FF4496460A46920852F268450A439205 +:2056F8004554CC66449286FE060008FE421E0129420647FFA81A00FF441E472B4792205269 +:205718001463440608560080461E460605ECAA280031AB2B46A9440630FF46704571441E22 +:20573800470A47922052EE6442A34406AC281800AB1800FF2256FF90009BABCAAACB441E98 +:205758004206440F03ED019A026F009A88FE0600008F000C1F76730302A8AA28FFFFAB2881 +:20577800FFFF1F76300002A91F763000062B1F763000072B1F763000041A10001F763000FE +:20579800041A200000021F767303041E1F767303008F080C0AA81F767303008F100C12A8B4 +:2057B8001F7630000AA91F76300012A91F7630000E2B1F7630000F2B1F763000162B1F7641 +:2057D8003000172B1F7630000C1A10001F763000141A10001F7630000C1A20001F76300071 +:2057F800141A20001F7673030C1E1F767303141E060008FE03E2460103E2440042A8428ABA +:205818004406E41E428A4606F41EAFE24400AFE2460100E70800007788E60000007703E21D +:205838004800428AC48A4806D41E428AC48AF42B428AC48AFC2B428AC48AE41A1000428A40 +:20585800C48AE41A2000428AC48AE418FFFB428AC48AE418FFF7428AC48AE41A0040428A84 +:205878000002D41E88FE0600BD3ABDB2BDAABDA202FE0129A9BF120F58FF5B61A85C7F918A +:20589800A8088000421EA493D6FFA85CA9BF160F6761A85D7F91A8088000A859A958A5937C +:2058B800D6FFA85DA493A571A8180001A697A418FF00A518FF007FDCA492A59EA7964D6472 +:2058D800A90801FF3E62A193A09236FFA859A958420635FF0EF6A11FA95BA3010AF6A11F1A +:2058F8002D56A204A32DA03640FF0BF6A11F33FF009B30FF54FFA20CA39540FFA70801009D +:205918001FF677FF200940FFA70801001FF677FF5AFFA7922265A90801FF1363A9A946FF6A +:205938007F91A85BA95AA625A79596FFA20CA395A9BD120F82FEBE82BE86BE8BBE8E060091 +:20595800009B57FFA8087FFF5AFFA693F260A8280080AA71AB92ED6F20FF0000EA6F5AFF57 +:20597800A493A818000196FFA85CA9A9A8087FFFA81C0080A4CBDD6F1F76C001201A00105F +:205998004076CFA522761F762C003518F8FF1F762C00341A03001F762C003418F7FF1F767E +:2059B8002C003418FBFF1F762C002ECC9FFF1F762C0020502E961F762C002ECCE3FF1F76DD +:2059D8002C0008502E961F762C002ECCFCFF1F762C0001502E961F762C002ECCFFCF1F76BD +:2059F8002C00A91A00102E961F762C002ECCFFF11F762C00A91A00062E961F762C002E18CC +:205A18007FFE1F762C002F18BFFF1F762C002E18FFBF1F762C002E18FF7F1F762C002F1AD7 +:205A380003001A7607F6007769FF060004FE421E0129420640FF421E0002441E4206440F67 +:205A58000A691002407688AD01024407441E4206440FF86684FE0600103B1F763300201842 +:205A7800FEFF1F763300222B1F763300242B1F763300262B1F763300282B1F7633002A2B94 +:205A98001F7633002C2B1F7633002E2B1F763300302B1F763300322B1F763300342B1F76AA +:205AB8003300362B1F763300382B1F763300232B1F763300252B1F763300272B1F763300FF +:205AD800292B1F7633002B2B1F7633002D2B1F7633002F2B1F763300312B1F763300332BB0 +:205AF8001F763300352B1F763300372B1F763300392B69FF06001F763300201A01001F760A +:205B180033002128FFFF102969FF0600BDB2BDAABDA203E2BD0403E2BD0506FE03E244009D +:205B380042A808D00CD142C54283AFE2440142C4428A4286AFE2F70050E80200428212E3F7 +:205B5800958B42C50ED012E3D6CCAFE2C40000E39F4208E3E295AFE2930140E749210077E9 +:205B780010E70800007703E24600428A42830CD00ED194069D1E428A4606941E428A428370 +:205B980008D0F406951E428A4406F41EAFE2460086FEAFE2BE05AFE2BE04BE82BE86BE8B71 +:205BB8000600AD28000469FF1F5616561A5610E6000240291F76000002291B762276A9281A +:205BD8008CADA828000001091B61C0768CAD04290F6F009BA92401DF046C0429A82401DF73 +:205BF800A61EA1F78624A706A1810109A71EA92403635CFF043BA95901DF0900ECFF1A76B6 +:205C1800A928FFFFA828FFFF01090E61FF76FFFF066F01DFBDC3A71E673EBEC5A92401DF74 +:205C3800A82458FFF76040763FAD40765CAD022904295F565AFF42065F56421E00021FF697 +:205C580017564200AB06325602292076022904295F565AFF420656FF421E00021FF617569C +:205C780042003256022920765AFF00021FF617564200A9A920765AFF00021FF6175642005B +:205C9800207602FE208F00001F7673032CA81F767303208F00FA2EA81F7673032C061F766C +:205CB8007303301E1F767303322B1F7673032C06421E066F428AC42B01024207421E1F7692 +:205CD80073032E06420FF76682FE0600A85CA971A697013BA98556FFA95DA48556FFA95C2B +:205CF800A5920FF6A41FA64F026C5CFF2076A696A85C013BA98556FFA95DA48556FFA95CB1 +:205D1800A5920FF6A41FA64F026C5DFFA89220765AFFAB92A4C5A48E07ECFF9CA9888592D6 +:205D380087960E00FEFFAB92A988A9A9A60F10ECAA930EECA9A9FF9DA85CBF76FEFF859240 +:205D580087960E00FEFF859287960C00F8FFA08A0600A0E514AD0962A0E51F765D0314ADB0 +:205D780090E5B4563E01156F4FE803C092E601008CB5050000E7CA00007700E78A00007700 +:205D9800CFE812F0007700E75100007700E74000060022761F76C0011C1A080069FF78765D +:205DB80080001A761F76C4011CCCFF3F1F76C401A91A00401C961F76C401BF5618E0028F34 +:205DD800E64969FFA9A8407688AD060006FE008F00C044A8008F000D46A82276412B419232 +:205DF80080520D63448A84C444A8468AA9A80209461EC4C2410A41928052F5641A7686FED4 +:205E180069FF0600A928FFFFAA28FFFFAB28FFFFA828FFFFAB0F04ED00D400BE0B6FA92737 +:205E3800A928FFFFA92FA4A9C488A928FFFF0209A98AA692407664A106000077006F1F7689 +:205E58007303BDB23CC5A959673E1F76780302C5A70603ECA192673E1F767803000603EC4D +:205E7800A71E673E40765AADBE8B060002FE429741961F766D033D961F766D0342923C9661 +:1E5E980082FE06001F7673033AA806001F7673033CA8060006000119C356FFFF060041 +:205EB6002B0000002EC122761F762A00001A01001F762A0006CCFFF0A91A00051F762A0039 +:205ED60006961F762A0006CCF0FF05501F762A0006961F762A0007CCE0FF08501F762A0058 +:1C5EF60007961F762A00041AFF011F762A00051AFF011A7607F6007769FF0600C6 +:205F12000301000000C07188000071880000718800007188000071880000718800007188DC +:205F32000000718800007188000071880000718800007188000071880000008000000D806C +:205F520000001A80000027800000858800003F8000004A80000055800000608000006B80B8 +:205F7200000076800000818000008C80000097800000A2800000AD800000B8800000C3802B +:205F92000000CE800000D9800000FA800000858800001B8100003C8100005B8100007C818F +:205FB20000009F810000C0810000E181000002820000238200004682000067820000858825 +:205FD20000008588000088820000A9820000CC820000EF820000108300003183000085885A +:205FF200000085880000548300007583000098830000B9830000DA830000FB830000858874 +:206012000000858800001C8400003D840000858800008588000085880000858800008588BF +:206032000000858800006084000081840000A4840000C5840000E6840000078500008588E4 +:206052000000858800002A8500004B8500006C8500008D850000AE850000CF85000085880B +:20607200000085880000F2850000158600008588000085880000368600005786000085882F +:20609200000085880000788600009B860000BC860000DD860000FE86000021870000448726 +:2060B200000065870000858800008588000085880000858800008588000085880000858887 +:2060D200000085880000858800008588000085880000858800008588000085880000858846 +:2060F20000008588000086870000A7870000C8870000E98700000A880000858800002D8833 +:0C61120000004E88000033000B000A0063 +:20611E00280000005AC1259B0000449B0000569B00006D9B0000839B0000969B0000AA9BF2 +:20613E000000BD9B0000D89B0000FC9B0000129C0000259C0000329C0000549C0000669CB0 +:18615E000000789C00008B9C00009C9C0000AC9C0000C49C000000000E :00000001FF diff --git a/Bin/UKSSTMS320F28335.map b/Bin/UKSSTMS320F28335.map index a5c93ac..262942b 100644 --- a/Bin/UKSSTMS320F28335.map +++ b/Bin/UKSSTMS320F28335.map @@ -12,7 +12,7 @@ PHYSICAL MEMORY PARAMETERS BOOT LOADER PARAMETERS Table Type: SERIAL PORT (SCI 8 bit Mode) - Entry Point: 0x0000ac1a + Entry Point: 0x0000ac0e OUTPUT TRANSLATION MAP @@ -21,9 +21,9 @@ OUTPUT TRANSLATION MAP -------------------------------------------------------------------------------- OUTPUT FILES: D:\project2833\GIT\ICE_22220_6\bin\UKSSTMS320F28335.bin [b0..b7] - CONTENTS: 00000000..0000617b BOOT TABLE - .cinit : dest=0000ad8f size=000001be width=00000002 - .text : dest=00008000 size=00002d8f width=00000002 + CONTENTS: 00000000..00006175 BOOT TABLE + .cinit : dest=0000ad8c size=000001be width=00000002 + .text : dest=00008000 size=00002d8c width=00000002 ramfuncs : dest=0000c12e size=0000002b width=00000002 .econst : dest=0000c000 size=00000103 width=00000002 .switch : dest=0000c15a size=00000028 width=00000002 diff --git a/Bin/UKSSTMS320F28335.out b/Bin/UKSSTMS320F28335.out index dba96f8..97931ff 100644 Binary files a/Bin/UKSSTMS320F28335.out and b/Bin/UKSSTMS320F28335.out differ diff --git a/Source/External/v120/DSP2833x_common/cmd/28332_RAM_lnk.cmd b/Source/External/v120/DSP2833x_common/cmd/28332_RAM_lnk.cmd deleted file mode 100644 index b3707a7..0000000 --- a/Source/External/v120/DSP2833x_common/cmd/28332_RAM_lnk.cmd +++ /dev/null @@ -1,176 +0,0 @@ -/* -// TI File $Revision: /main/9 $ -// Checkin $Date: July 9, 2008 13:43:25 $ -//########################################################################### -// -// FILE: 28332_RAM_lnk.cmd -// -// TITLE: Linker Command File For 28332 examples that run out of RAM -// -// This ONLY includes all SARAM blocks on the 28332 device. -// This does not include flash or OTP. -// -// Keep in mind that L0 and L1 are protected by the code -// security module. -// -// What this means is in most cases you will want to move to -// another memory map file which has more memory defined. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -/* ====================================================== -// For Code Composer Studio V2.2 and later -// --------------------------------------- -// In addition to this memory linker command file, -// add the header linker command file directly to the project. -// The header linker command file is required to link the -// peripheral structures to the proper locations within -// the memory map. -// -// The header linker files are found in \DSP2833x_Headers\cmd -// -// For BIOS applications add: DSP2833x_Headers_BIOS.cmd -// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd -========================================================= */ - -/* ====================================================== -// For Code Composer Studio prior to V2.2 -// -------------------------------------- -// 1) Use one of the following -l statements to include the -// header linker command file in the project. The header linker -// file is required to link the peripheral structures to the proper -// locations within the memory map */ - -/* Uncomment this line to include file only for non-BIOS applications */ -/* -l DSP2833x_Headers_nonBIOS.cmd */ - -/* Uncomment this line to include file only for BIOS applications */ -/* -l DSP2833x_Headers_BIOS.cmd */ - -/* 2) In your project add the path to \DSP2833x_headers\cmd to the - library search path under project->build options, linker tab, - library search path (-i). -/*========================================================= */ - -/* Define the memory block start/length for the F28332 - PAGE 0 will be used to organize program sections - PAGE 1 will be used to organize data sections - - Notes: - Memory blocks on F28332 are uniform (ie same - physical memory) in both PAGE 0 and PAGE 1. - That is the same memory region should not be - defined for both PAGE 0 and PAGE 1. - Doing so will result in corruption of program - and/or data. - - L0/L1/L2 and L3 memory blocks are mirrored - that is - they can be accessed in high memory or low memory. - For simplicity only one instance is used in this - linker file. - - Contiguous SARAM memory blocks can be combined - if required to create a larger memory block. -*/ - - -MEMORY -{ -PAGE 0 : - /* BEGIN is used for the "boot to SARAM" bootloader mode */ - /* BOOT_RSVD is used by the boot ROM for stack. */ - /* This section is only reserved to keep the BOOT ROM from */ - /* corrupting this area during the debug process */ - - BEGIN : origin = 0x000000, length = 0x000002 /* Boot to M0 will go here */ - BOOT_RSVD : origin = 0x000002, length = 0x00004E /* Part of M0, BOOT rom will use this for stack */ - RAMM0 : origin = 0x000050, length = 0x0003B0 - - RAML0 : origin = 0x008000, length = 0x001000 - RAML1 : origin = 0x009000, length = 0x001000 - RAML2 : origin = 0x00A000, length = 0x001000 - RAML3 : origin = 0x00B000, length = 0x001000 - ZONE7A : origin = 0x200000, length = 0x00FC00 /* XINTF zone 7 - program space */ - CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */ - CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */ - ADC_CAL : origin = 0x380080, length = 0x000009 - RESET : origin = 0x3FFFC0, length = 0x000002 - IQTABLES : origin = 0x3FE000, length = 0x000b50 - IQTABLES2 : origin = 0x3FEB50, length = 0x00008c - FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 - BOOTROM : origin = 0x3FF27C, length = 0x000D44 - - - - -PAGE 1 : - RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ - RAML4 : origin = 0x00C000, length = 0x001000 - RAML5 : origin = 0x00D000, length = 0x001000 - ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */ -} - - -SECTIONS -{ - /* Setup for "boot to SARAM" mode: - The codestart section (found in DSP28_CodeStartBranch.asm) - re-directs execution to the start of user code. */ - codestart : > BEGIN, PAGE = 0 - ramfuncs : > RAML0, PAGE = 0 - .text : > RAML1, PAGE = 0 - .cinit : > RAML0, PAGE = 0 - .pinit : > RAML0, PAGE = 0 - .switch : > RAML0, PAGE = 0 - - .stack : > RAMM1, PAGE = 1 - .ebss : > RAML4, PAGE = 1 - .econst : > RAML5, PAGE = 1 - .esysmem : > RAMM1, PAGE = 1 - - IQmath : > RAML1, PAGE = 0 - IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD - - /* Uncomment the section below if calling the IQNexp() or IQexp() - functions from the IQMath.lib library in order to utilize the - relevant IQ Math table in Boot ROM (This saves space and Boot ROM - is 1 wait-state). If this section is not uncommented, IQmathTables2 - will be loaded into other memory (SARAM, Flash, etc.) and will take - up space, but 0 wait-state is possible. - */ - /* - IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD - { - - IQmath.lib (IQmathTablesRam) - - } - */ - - FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD - - DMARAML4 : > RAML4, PAGE = 1 - DMARAML5 : > RAML5, PAGE = 1 - - ZONE7DATA : > ZONE7B, PAGE = 1 - - - .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used */ - csm_rsvd : > CSM_RSVD PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ - csmpasswds : > CSM_PWL PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ - - /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */ - .adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD - - -} - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ diff --git a/Source/External/v120/DSP2833x_common/cmd/28334_RAM_lnk.cmd b/Source/External/v120/DSP2833x_common/cmd/28334_RAM_lnk.cmd deleted file mode 100644 index 25f0fc9..0000000 --- a/Source/External/v120/DSP2833x_common/cmd/28334_RAM_lnk.cmd +++ /dev/null @@ -1,178 +0,0 @@ -/* -// TI File $Revision: /main/8 $ -// Checkin $Date: July 9, 2008 13:43:30 $ -//########################################################################### -// -// FILE: 28334_RAM_lnk.cmd -// -// TITLE: Linker Command File For 28334 examples that run out of RAM -// -// This ONLY includes all SARAM blocks on the 28334 device. -// This does not include flash or OTP. -// -// Keep in mind that L0 and L1 are protected by the code -// security module. -// -// What this means is in most cases you will want to move to -// another memory map file which has more memory defined. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -/* ====================================================== -// For Code Composer Studio V2.2 and later -// --------------------------------------- -// In addition to this memory linker command file, -// add the header linker command file directly to the project. -// The header linker command file is required to link the -// peripheral structures to the proper locations within -// the memory map. -// -// The header linker files are found in \DSP2833x_Headers\cmd -// -// For BIOS applications add: DSP2833x_Headers_BIOS.cmd -// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd -========================================================= */ - -/* ====================================================== -// For Code Composer Studio prior to V2.2 -// -------------------------------------- -// 1) Use one of the following -l statements to include the -// header linker command file in the project. The header linker -// file is required to link the peripheral structures to the proper -// locations within the memory map */ - -/* Uncomment this line to include file only for non-BIOS applications */ -/* -l DSP2833x_Headers_nonBIOS.cmd */ - -/* Uncomment this line to include file only for BIOS applications */ -/* -l DSP2833x_Headers_BIOS.cmd */ - -/* 2) In your project add the path to \DSP2833x_headers\cmd to the - library search path under project->build options, linker tab, - library search path (-i). -/*========================================================= */ - -/* Define the memory block start/length for the F28334 - PAGE 0 will be used to organize program sections - PAGE 1 will be used to organize data sections - - Notes: - Memory blocks on F28334 are uniform (ie same - physical memory) in both PAGE 0 and PAGE 1. - That is the same memory region should not be - defined for both PAGE 0 and PAGE 1. - Doing so will result in corruption of program - and/or data. - - L0/L1/L2 and L3 memory blocks are mirrored - that is - they can be accessed in high memory or low memory. - For simplicity only one instance is used in this - linker file. - - Contiguous SARAM memory blocks can be combined - if required to create a larger memory block. -*/ - - -MEMORY -{ -PAGE 0 : - /* BEGIN is used for the "boot to SARAM" bootloader mode */ - /* BOOT_RSVD is used by the boot ROM for stack. */ - /* This section is only reserved to keep the BOOT ROM from */ - /* corrupting this area during the debug process */ - - BEGIN : origin = 0x000000, length = 0x000002 /* Boot to M0 will go here */ - BOOT_RSVD : origin = 0x000002, length = 0x00004E /* Part of M0, BOOT rom will use this for stack */ - RAMM0 : origin = 0x000050, length = 0x0003B0 - - RAML0 : origin = 0x008000, length = 0x001000 - RAML1 : origin = 0x009000, length = 0x001000 - RAML2 : origin = 0x00A000, length = 0x001000 - RAML3 : origin = 0x00B000, length = 0x001000 - ZONE7A : origin = 0x200000, length = 0x00FC00 /* XINTF zone 7 - program space */ - CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */ - CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */ - ADC_CAL : origin = 0x380080, length = 0x000009 - RESET : origin = 0x3FFFC0, length = 0x000002 - IQTABLES : origin = 0x3FE000, length = 0x000b50 - IQTABLES2 : origin = 0x3FEB50, length = 0x00008c - FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 - BOOTROM : origin = 0x3FF27C, length = 0x000D44 - - - -PAGE 1 : - RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ - RAML4 : origin = 0x00C000, length = 0x001000 - RAML5 : origin = 0x00D000, length = 0x001000 - RAML6 : origin = 0x00E000, length = 0x001000 - RAML7 : origin = 0x00F000, length = 0x001000 - ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */ -} - - -SECTIONS -{ - /* Setup for "boot to SARAM" mode: - The codestart section (found in DSP28_CodeStartBranch.asm) - re-directs execution to the start of user code. */ - codestart : > BEGIN, PAGE = 0 - ramfuncs : > RAML0, PAGE = 0 - .text : > RAML1, PAGE = 0 - .cinit : > RAML0, PAGE = 0 - .pinit : > RAML0, PAGE = 0 - .switch : > RAML0, PAGE = 0 - - .stack : > RAMM1, PAGE = 1 - .ebss : > RAML4, PAGE = 1 - .econst : > RAML5, PAGE = 1 - .esysmem : > RAMM1, PAGE = 1 - - IQmath : > RAML1, PAGE = 0 - IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD - - /* Uncomment the section below if calling the IQNexp() or IQexp() - functions from the IQMath.lib library in order to utilize the - relevant IQ Math table in Boot ROM (This saves space and Boot ROM - is 1 wait-state). If this section is not uncommented, IQmathTables2 - will be loaded into other memory (SARAM, Flash, etc.) and will take - up space, but 0 wait-state is possible. - */ - /* - IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD - { - - IQmath.lib (IQmathTablesRam) - - } - */ - - FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD - - DMARAML4 : > RAML4, PAGE = 1 - DMARAML5 : > RAML5, PAGE = 1 - DMARAML6 : > RAML6, PAGE = 1 - DMARAML7 : > RAML7, PAGE = 1 - - ZONE7DATA : > ZONE7B, PAGE = 1 - - .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used */ - csm_rsvd : > CSM_RSVD PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ - csmpasswds : > CSM_PWL PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ - - /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */ - .adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD - - -} - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ diff --git a/Source/External/v120/DSP2833x_common/cmd/F28332.cmd b/Source/External/v120/DSP2833x_common/cmd/F28332.cmd deleted file mode 100644 index ecdc06e..0000000 --- a/Source/External/v120/DSP2833x_common/cmd/F28332.cmd +++ /dev/null @@ -1,197 +0,0 @@ -/* -// TI File $Revision: /main/9 $ -// Checkin $Date: July 9, 2008 13:43:41 $ -//########################################################################### -// -// FILE: F28332.cmd -// -// TITLE: Linker Command File For F28332 Device -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -/* ====================================================== -// For Code Composer Studio V2.2 and later -// --------------------------------------- -// In addition to this memory linker command file, -// add the header linker command file directly to the project. -// The header linker command file is required to link the -// peripheral structures to the proper locations within -// the memory map. -// -// The header linker files are found in \DSP2833x_Headers\cmd -// -// For BIOS applications add: DSP2833x_Headers_BIOS.cmd -// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd -========================================================= */ - -/* ====================================================== -// For Code Composer Studio prior to V2.2 -// -------------------------------------- -// 1) Use one of the following -l statements to include the -// header linker command file in the project. The header linker -// file is required to link the peripheral structures to the proper -// locations within the memory map */ - -/* Uncomment this line to include file only for non-BIOS applications */ -/* -l DSP2833x_Headers_nonBIOS.cmd */ - -/* Uncomment this line to include file only for BIOS applications */ -/* -l DSP2833x_Headers_BIOS.cmd */ - -/* 2) In your project add the path to \DSP2833x_headers\cmd to the - library search path under project->build options, linker tab, - library search path (-i). -/*========================================================= */ - -/* Define the memory block start/length for the F28332 - PAGE 0 will be used to organize program sections - PAGE 1 will be used to organize data sections - - Notes: - Memory blocks on F28332 are uniform (ie same - physical memory) in both PAGE 0 and PAGE 1. - That is the same memory region should not be - defined for both PAGE 0 and PAGE 1. - Doing so will result in corruption of program - and/or data. - - L0/L1/L2 and L3 memory blocks are mirrored - that is - they can be accessed in high memory or low memory. - For simplicity only one instance is used in this - linker file. - - Contiguous SARAM memory blocks can be combined - if required to create a larger memory block. - */ - - -MEMORY -{ -PAGE 0: /* Program Memory */ - /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */ - - ZONE0 : origin = 0x004000, length = 0x001000 /* XINTF zone 0 */ - RAML0 : origin = 0x008000, length = 0x001000 /* on-chip RAM block L0 */ - RAML1 : origin = 0x009000, length = 0x001000 /* on-chip RAM block L1 */ - RAML2 : origin = 0x00A000, length = 0x001000 /* on-chip RAM block L2 */ - RAML3 : origin = 0x00B000, length = 0x001000 /* on-chip RAM block L3 */ - ZONE6 : origin = 0x100000, length = 0x100000 /* XINTF zone 6 */ - ZONE7A : origin = 0x200000, length = 0x00FC00 /* XINTF zone 7 - program space */ - FLASHD : origin = 0x330000, length = 0x004000 /* on-chip FLASH */ - FLASHC : origin = 0x334000, length = 0x004000 /* on-chip FLASH */ - FLASHA : origin = 0x33C000, length = 0x003F80 /* on-chip FLASH */ - CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */ - BEGIN : origin = 0x33FFF6, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */ - CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */ - OTP : origin = 0x380400, length = 0x000400 /* on-chip OTP */ - ADC_CAL : origin = 0x380080, length = 0x000009 /* ADC_cal function in Reserved memory */ - - IQTABLES : origin = 0x3FE000, length = 0x000b50 /* IQ Math Tables in Boot ROM */ - IQTABLES2 : origin = 0x3FEB50, length = 0x00008c /* IQ Math Tables in Boot ROM */ - FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 /* FPU Tables in Boot ROM */ - ROM : origin = 0x3FF27C, length = 0x000D44 /* Boot ROM */ - RESET : origin = 0x3FFFC0, length = 0x000002 /* part of boot ROM */ - VECTORS : origin = 0x3FFFC2, length = 0x00003E /* part of boot ROM */ - -PAGE 1 : /* Data Memory */ - /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */ - /* Registers remain on PAGE1 */ - - BOOT_RSVD : origin = 0x000000, length = 0x000050 /* Part of M0, BOOT rom will use this for stack */ - RAMM0 : origin = 0x000050, length = 0x0003B0 /* on-chip RAM block M0 */ - RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ - RAML4 : origin = 0x00C000, length = 0x001000 /* on-chip RAM block L1 */ - RAML5 : origin = 0x00D000, length = 0x001000 /* on-chip RAM block L1 */ - ZONE7B : origin = 0x20FC00, length = 0x0000400 /* XINTF zone 7 - data space */ - FLASHB : origin = 0x338000, length = 0x004000 /* on-chip FLASH */ - -} - -/* Allocate sections to memory blocks. - Note: - codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code - execution when booting to flash - ramfuncs user defined section to store functions that will be copied from Flash into RAM -*/ - -SECTIONS -{ - - /* Allocate program areas: */ - .cinit : > FLASHA PAGE = 0 - .pinit : > FLASHA, PAGE = 0 - .text : > FLASHA PAGE = 0 - codestart : > BEGIN PAGE = 0 - ramfuncs : LOAD = FLASHD, - RUN = RAML0, - LOAD_START(_RamfuncsLoadStart), - LOAD_END(_RamfuncsLoadEnd), - RUN_START(_RamfuncsRunStart), - PAGE = 0 - - csmpasswds : > CSM_PWL PAGE = 0 - csm_rsvd : > CSM_RSVD PAGE = 0 - - /* Allocate uninitalized data sections: */ - .stack : > RAMM1 PAGE = 1 - .ebss : > RAML4 PAGE = 1 - .esysmem : > RAMM1 PAGE = 1 - - /* Initalized sections go in Flash */ - /* For SDFlash to program these, they must be allocated to page 0 */ - .econst : > FLASHA PAGE = 0 - .switch : > FLASHA PAGE = 0 - - /* Allocate IQ math areas: */ - IQmath : > FLASHC PAGE = 0 /* Math Code */ - IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD - - /* Uncomment the section below if calling the IQNexp() or IQexp() - functions from the IQMath.lib library in order to utilize the - relevant IQ Math table in Boot ROM (This saves space and Boot ROM - is 1 wait-state). If this section is not uncommented, IQmathTables2 - will be loaded into other memory (SARAM, Flash, etc.) and will take - up space, but 0 wait-state is possible. - */ - /* - IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD - { - - IQmath.lib (IQmathTablesRam) - - } - */ - - FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD - - /* Allocate DMA-accessible RAM sections: */ - DMARAML4 : > RAML4, PAGE = 1 - DMARAML5 : > RAML5, PAGE = 1 - - /* Allocate 0x400 of XINTF Zone 7 to storing data */ - ZONE7DATA : > ZONE7B, PAGE = 1 - - /* .reset is a standard section used by the compiler. It contains the */ - /* the address of the start of _c_int00 for C Code. /* - /* When using the boot ROM this section and the CPU vector */ - /* table is not needed. Thus the default type is set here to */ - /* DSECT */ - .reset : > RESET, PAGE = 0, TYPE = DSECT - vectors : > VECTORS PAGE = 0, TYPE = DSECT - - /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */ - .adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD - - -} - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ - diff --git a/Source/External/v120/DSP2833x_common/cmd/F28334.cmd b/Source/External/v120/DSP2833x_common/cmd/F28334.cmd deleted file mode 100644 index ec4d6c3..0000000 --- a/Source/External/v120/DSP2833x_common/cmd/F28334.cmd +++ /dev/null @@ -1,203 +0,0 @@ -/* -// TI File $Revision: /main/9 $ -// Checkin $Date: July 9, 2008 13:43:49 $ -//########################################################################### -// -// FILE: F28334.cmd -// -// TITLE: Linker Command File For F28334 Device -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -/* ====================================================== -// For Code Composer Studio V2.2 and later -// --------------------------------------- -// In addition to this memory linker command file, -// add the header linker command file directly to the project. -// The header linker command file is required to link the -// peripheral structures to the proper locations within -// the memory map. -// -// The header linker files are found in \DSP2833x_Headers\cmd -// -// For BIOS applications add: DSP2833x_Headers_BIOS.cmd -// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd -========================================================= */ - -/* ====================================================== -// For Code Composer Studio prior to V2.2 -// -------------------------------------- -// 1) Use one of the following -l statements to include the -// header linker command file in the project. The header linker -// file is required to link the peripheral structures to the proper -// locations within the memory map */ - -/* Uncomment this line to include file only for non-BIOS applications */ -/* -l DSP2833x_Headers_nonBIOS.cmd */ - -/* Uncomment this line to include file only for BIOS applications */ -/* -l DSP2833x_Headers_BIOS.cmd */ - -/* 2) In your project add the path to \DSP2833x_headers\cmd to the - library search path under project->build options, linker tab, - library search path (-i). -/*========================================================= */ - -/* Define the memory block start/length for the F28334 - PAGE 0 will be used to organize program sections - PAGE 1 will be used to organize data sections - - Notes: - Memory blocks on F28334 are uniform (ie same - physical memory) in both PAGE 0 and PAGE 1. - That is the same memory region should not be - defined for both PAGE 0 and PAGE 1. - Doing so will result in corruption of program - and/or data. - - L0/L1/L2 and L3 memory blocks are mirrored - that is - they can be accessed in high memory or low memory. - For simplicity only one instance is used in this - linker file. - - Contiguous SARAM memory blocks can be combined - if required to create a larger memory block. - */ - - -MEMORY -{ -PAGE 0: /* Program Memory */ - /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */ - - ZONE0 : origin = 0x004000, length = 0x001000 /* XINTF zone 0 */ - RAML0 : origin = 0x008000, length = 0x001000 /* on-chip RAM block L0 */ - RAML1 : origin = 0x009000, length = 0x001000 /* on-chip RAM block L1 */ - RAML2 : origin = 0x00A000, length = 0x001000 /* on-chip RAM block L2 */ - RAML3 : origin = 0x00B000, length = 0x001000 /* on-chip RAM block L3 */ - ZONE6 : origin = 0x100000, length = 0x0100000 /* XINTF zone 6 */ - ZONE7A : origin = 0x200000, length = 0x000FC00 /* XINTF zone 7 - program space */ - FLASHH : origin = 0x320000, length = 0x004000 /* on-chip FLASH */ - FLASHG : origin = 0x324000, length = 0x004000 /* on-chip FLASH */ - FLASHF : origin = 0x328000, length = 0x004000 /* on-chip FLASH */ - FLASHE : origin = 0x32C000, length = 0x004000 /* on-chip FLASH */ - FLASHD : origin = 0x330000, length = 0x004000 /* on-chip FLASH */ - FLASHC : origin = 0x334000, length = 0x004000 /* on-chip FLASH */ - FLASHA : origin = 0x33C000, length = 0x003F80 /* on-chip FLASH */ - CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */ - BEGIN : origin = 0x33FFF6, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */ - CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */ - OTP : origin = 0x380400, length = 0x000400 /* on-chip OTP */ - ADC_CAL : origin = 0x380080, length = 0x000009 /* ADC_cal function in Reserved memory */ - - IQTABLES : origin = 0x3FE000, length = 0x000b50 /* IQ Math Tables in Boot ROM */ - IQTABLES2 : origin = 0x3FEB50, length = 0x00008c /* IQ Math Tables in Boot ROM */ - FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 /* FPU Tables in Boot ROM */ - ROM : origin = 0x3FF27C, length = 0x000D44 /* Boot ROM */ - RESET : origin = 0x3FFFC0, length = 0x000002 /* part of boot ROM */ - VECTORS : origin = 0x3FFFC2, length = 0x00003E /* part of boot ROM */ - -PAGE 1 : /* Data Memory */ - /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */ - /* Registers remain on PAGE1 */ - - BOOT_RSVD : origin = 0x000000, length = 0x000050 /* Part of M0, BOOT rom will use this for stack */ - RAMM0 : origin = 0x000050, length = 0x0003B0 /* on-chip RAM block M0 */ - RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ - RAML4 : origin = 0x00C000, length = 0x001000 /* on-chip RAM block L1 */ - RAML5 : origin = 0x00D000, length = 0x001000 /* on-chip RAM block L1 */ - RAML6 : origin = 0x00E000, length = 0x001000 /* on-chip RAM block L1 */ - RAML7 : origin = 0x00F000, length = 0x001000 /* on-chip RAM block L1 */ - ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */ - FLASHB : origin = 0x338000, length = 0x004000 /* on-chip FLASH */ -} - -/* Allocate sections to memory blocks. - Note: - codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code - execution when booting to flash - ramfuncs user defined section to store functions that will be copied from Flash into RAM -*/ - -SECTIONS -{ - - /* Allocate program areas: */ - .cinit : > FLASHA PAGE = 0 - .pinit : > FLASHA, PAGE = 0 - .text : > FLASHA PAGE = 0 - codestart : > BEGIN PAGE = 0 - ramfuncs : LOAD = FLASHD, - RUN = RAML0, - LOAD_START(_RamfuncsLoadStart), - LOAD_END(_RamfuncsLoadEnd), - RUN_START(_RamfuncsRunStart), - PAGE = 0 - - csmpasswds : > CSM_PWL PAGE = 0 - csm_rsvd : > CSM_RSVD PAGE = 0 - - /* Allocate uninitalized data sections: */ - .stack : > RAMM1 PAGE = 1 - .ebss : > RAML4 PAGE = 1 - .esysmem : > RAMM1 PAGE = 1 - - /* Initalized sections go in Flash */ - /* For SDFlash to program these, they must be allocated to page 0 */ - .econst : > FLASHA PAGE = 0 - .switch : > FLASHA PAGE = 0 - - /* Allocate IQ math areas: */ - IQmath : > FLASHC PAGE = 0 /* Math Code */ - IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD - - /* Uncomment the section below if calling the IQNexp() or IQexp() - functions from the IQMath.lib library in order to utilize the - relevant IQ Math table in Boot ROM (This saves space and Boot ROM - is 1 wait-state). If this section is not uncommented, IQmathTables2 - will be loaded into other memory (SARAM, Flash, etc.) and will take - up space, but 0 wait-state is possible. - */ - /* - IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD - { - - IQmath.lib (IQmathTablesRam) - - } - */ - - FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD - - /* Allocate DMA-accessible RAM sections: */ - DMARAML4 : > RAML4, PAGE = 1 - DMARAML5 : > RAML5, PAGE = 1 - DMARAML6 : > RAML6, PAGE = 1 - DMARAML7 : > RAML7, PAGE = 1 - - /* Allocate 0x400 of XINTF Zone 7 to storing data */ - ZONE7DATA : > ZONE7B, PAGE = 1 - - /* .reset is a standard section used by the compiler. It contains the */ - /* the address of the start of _c_int00 for C Code. /* - /* When using the boot ROM this section and the CPU vector */ - /* table is not needed. Thus the default type is set here to */ - /* DSECT */ - .reset : > RESET, PAGE = 0, TYPE = DSECT - vectors : > VECTORS PAGE = 0, TYPE = DSECT - - /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */ - .adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD - -} - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ - diff --git a/Source/External/v120/DSP2833x_common/cmd/F28335.cmd b/Source/External/v120/DSP2833x_common/cmd/F28335.cmd deleted file mode 100644 index b00d2a5..0000000 --- a/Source/External/v120/DSP2833x_common/cmd/F28335.cmd +++ /dev/null @@ -1,203 +0,0 @@ -/* -// TI File $Revision: /main/10 $ -// Checkin $Date: July 9, 2008 13:43:56 $ -//########################################################################### -// -// FILE: F28335.cmd -// -// TITLE: Linker Command File For F28335 Device -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -/* ====================================================== -// For Code Composer Studio V2.2 and later -// --------------------------------------- -// In addition to this memory linker command file, -// add the header linker command file directly to the project. -// The header linker command file is required to link the -// peripheral structures to the proper locations within -// the memory map. -// -// The header linker files are found in \DSP2833x_Headers\cmd -// -// For BIOS applications add: DSP2833x_Headers_BIOS.cmd -// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd -========================================================= */ - -/* ====================================================== -// For Code Composer Studio prior to V2.2 -// -------------------------------------- -// 1) Use one of the following -l statements to include the -// header linker command file in the project. The header linker -// file is required to link the peripheral structures to the proper -// locations within the memory map */ - -/* Uncomment this line to include file only for non-BIOS applications */ -/* -l DSP2833x_Headers_nonBIOS.cmd */ - -/* Uncomment this line to include file only for BIOS applications */ -/* -l DSP2833x_Headers_BIOS.cmd */ - -/* 2) In your project add the path to \DSP2833x_headers\cmd to the - library search path under project->build options, linker tab, - library search path (-i). -/*========================================================= */ - -/* Define the memory block start/length for the F28335 - PAGE 0 will be used to organize program sections - PAGE 1 will be used to organize data sections - - Notes: - Memory blocks on F28335 are uniform (ie same - physical memory) in both PAGE 0 and PAGE 1. - That is the same memory region should not be - defined for both PAGE 0 and PAGE 1. - Doing so will result in corruption of program - and/or data. - - L0/L1/L2 and L3 memory blocks are mirrored - that is - they can be accessed in high memory or low memory. - For simplicity only one instance is used in this - linker file. - - Contiguous SARAM memory blocks can be combined - if required to create a larger memory block. - */ - - -MEMORY -{ -PAGE 0: /* Program Memory */ - /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */ - - ZONE0 : origin = 0x004000, length = 0x001000 /* XINTF zone 0 */ - RAML0 : origin = 0x008000, length = 0x001000 /* on-chip RAM block L0 */ - RAML1 : origin = 0x009000, length = 0x001000 /* on-chip RAM block L1 */ - RAML2 : origin = 0x00A000, length = 0x001000 /* on-chip RAM block L2 */ - RAML3 : origin = 0x00B000, length = 0x001000 /* on-chip RAM block L3 */ - ZONE6 : origin = 0x0100000, length = 0x100000 /* XINTF zone 6 */ - ZONE7A : origin = 0x0200000, length = 0x00FC00 /* XINTF zone 7 - program space */ - FLASHH : origin = 0x300000, length = 0x008000 /* on-chip FLASH */ - FLASHG : origin = 0x308000, length = 0x008000 /* on-chip FLASH */ - FLASHF : origin = 0x310000, length = 0x008000 /* on-chip FLASH */ - FLASHE : origin = 0x318000, length = 0x008000 /* on-chip FLASH */ - FLASHD : origin = 0x320000, length = 0x008000 /* on-chip FLASH */ - FLASHC : origin = 0x328000, length = 0x008000 /* on-chip FLASH */ - FLASHA : origin = 0x338000, length = 0x007F80 /* on-chip FLASH */ - CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */ - BEGIN : origin = 0x33FFF6, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */ - CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */ - OTP : origin = 0x380400, length = 0x000400 /* on-chip OTP */ - ADC_CAL : origin = 0x380080, length = 0x000009 /* ADC_cal function in Reserved memory */ - - IQTABLES : origin = 0x3FE000, length = 0x000b50 /* IQ Math Tables in Boot ROM */ - IQTABLES2 : origin = 0x3FEB50, length = 0x00008c /* IQ Math Tables in Boot ROM */ - FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 /* FPU Tables in Boot ROM */ - ROM : origin = 0x3FF27C, length = 0x000D44 /* Boot ROM */ - RESET : origin = 0x3FFFC0, length = 0x000002 /* part of boot ROM */ - VECTORS : origin = 0x3FFFC2, length = 0x00003E /* part of boot ROM */ - -PAGE 1 : /* Data Memory */ - /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */ - /* Registers remain on PAGE1 */ - - BOOT_RSVD : origin = 0x000000, length = 0x000050 /* Part of M0, BOOT rom will use this for stack */ - RAMM0 : origin = 0x000050, length = 0x0003B0 /* on-chip RAM block M0 */ - RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ - RAML4 : origin = 0x00C000, length = 0x001000 /* on-chip RAM block L1 */ - RAML5 : origin = 0x00D000, length = 0x001000 /* on-chip RAM block L1 */ - RAML6 : origin = 0x00E000, length = 0x001000 /* on-chip RAM block L1 */ - RAML7 : origin = 0x00F000, length = 0x001000 /* on-chip RAM block L1 */ - ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */ - FLASHB : origin = 0x330000, length = 0x008000 /* on-chip FLASH */ -} - -/* Allocate sections to memory blocks. - Note: - codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code - execution when booting to flash - ramfuncs user defined section to store functions that will be copied from Flash into RAM -*/ - -SECTIONS -{ - - /* Allocate program areas: */ - .cinit : > FLASHA PAGE = 0 - .pinit : > FLASHA, PAGE = 0 - .text : > FLASHA PAGE = 0 - codestart : > BEGIN PAGE = 0 - ramfuncs : LOAD = FLASHD, - RUN = RAML0, - LOAD_START(_RamfuncsLoadStart), - LOAD_END(_RamfuncsLoadEnd), - RUN_START(_RamfuncsRunStart), - PAGE = 0 - - csmpasswds : > CSM_PWL PAGE = 0 - csm_rsvd : > CSM_RSVD PAGE = 0 - - /* Allocate uninitalized data sections: */ - .stack : > RAMM1 PAGE = 1 - .ebss : > RAML4 PAGE = 1 - .esysmem : > RAMM1 PAGE = 1 - - /* Initalized sections go in Flash */ - /* For SDFlash to program these, they must be allocated to page 0 */ - .econst : > FLASHA PAGE = 0 - .switch : > FLASHA PAGE = 0 - - /* Allocate IQ math areas: */ - IQmath : > FLASHC PAGE = 0 /* Math Code */ - IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD - - /* Uncomment the section below if calling the IQNexp() or IQexp() - functions from the IQMath.lib library in order to utilize the - relevant IQ Math table in Boot ROM (This saves space and Boot ROM - is 1 wait-state). If this section is not uncommented, IQmathTables2 - will be loaded into other memory (SARAM, Flash, etc.) and will take - up space, but 0 wait-state is possible. - */ - /* - IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD - { - - IQmath.lib (IQmathTablesRam) - - } - */ - - FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD - - /* Allocate DMA-accessible RAM sections: */ - DMARAML4 : > RAML4, PAGE = 1 - DMARAML5 : > RAML5, PAGE = 1 - DMARAML6 : > RAML6, PAGE = 1 - DMARAML7 : > RAML7, PAGE = 1 - - /* Allocate 0x400 of XINTF Zone 7 to storing data */ - ZONE7DATA : > ZONE7B, PAGE = 1 - - /* .reset is a standard section used by the compiler. It contains the */ - /* the address of the start of _c_int00 for C Code. /* - /* When using the boot ROM this section and the CPU vector */ - /* table is not needed. Thus the default type is set here to */ - /* DSECT */ - .reset : > RESET, PAGE = 0, TYPE = DSECT - vectors : > VECTORS PAGE = 0, TYPE = DSECT - - /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */ - .adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD - -} - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ - diff --git a/Source/External/v120/DSP2833x_common/gel/f28232.gel b/Source/External/v120/DSP2833x_common/gel/f28232.gel deleted file mode 100644 index 9ad95bf..0000000 --- a/Source/External/v120/DSP2833x_common/gel/f28232.gel +++ /dev/null @@ -1,2822 +0,0 @@ -/********************************************************************/ -/* f28232.gel */ -/* Version 3.30.2 */ -/* */ -/* This GEL file is to be used with the TMS320F28232 DSP. */ -/* Changes may be required to support specific hardware designs. */ -/* */ -/* Code Composer Studio supports six reserved GEL functions that */ -/* automatically get executed if they are defined. They are: */ -/* */ -/* StartUp() - Executed whenever CCS is invoked */ -/* OnReset() - Executed after Debug->Reset CPU */ -/* OnRestart() - Executed after Debug->Restart */ -/* OnPreFileLoaded() - Executed before File->Load Program */ -/* OnFileLoaded() - Executed after File->Load Program */ -/* OnTargetConnect() - Executed after Debug->Connect */ -/* */ -/********************************************************************/ - -StartUp() -{ - -/* The next line automatically loads the .gel file that comes */ -/* with the DSP2833x Peripheral Header Files download. To use, */ -/* uncomment, and adjust the directory path as needed. */ -// GEL_LoadGel("c:\\CCStudio_v3.3\\cc\\gel\\DSP2833x_Peripheral.gel"); - -} - -OnReset(int nErrorCode) -{ - C28x_Mode(); - Unlock_CSM(); - ADC_Cal(); -} - -OnRestart(int nErrorCode) -{ -/* CCS will call OnRestart() when you do a Debug->Restart and */ -/* after you load a new file. Between running interrupt based */ -/* programs, this function will clear interrupts and help keep */ -/* the processor from going off into invalid memory. */ - C28x_Mode(); - IER = 0; - IFR = 0; - ADC_Cal(); -} - -int TxtOutCtl=0; -OnPreFileLoaded() -{ - XINTF_Enable(); - if (TxtOutCtl==0) - { - GEL_TextOut("\nNOTES:\nGel will enable XINTFx16 during Debug only.\nEnable XINTF in code prior to use."); - TxtOutCtl=1; - } -} - -OnFileLoaded(int nErrorCode, int bSymbolsOnly) -{ - ADC_Cal(); -} - -OnTargetConnect() -{ - C28x_Mode(); - F28232_Memory_Map(); /* Initialize the CCS memory map */ - -/* Check to see if CCS has been started-up with the DSP already */ -/* running in real-time mode. The user can add whatever */ -/* custom initialization stuff they want to each case. */ - - if (GEL_IsInRealtimeMode()) /* Do real-time mode target initialization */ - { - - } - else /* Do stop-mode target initialization */ - { - GEL_Reset(); /* Reset DSP */ - } - -} - - -/********************************************************************/ -/* These functions are launched by the GEL_Toolbar button plugin */ -/********************************************************************/ -GEL_Toolbar1() -{ - Run_Realtime_with_Reset(); -} -GEL_Toolbar2() -{ - Run_Realtime_with_Restart(); -} -GEL_Toolbar3() -{ - Full_Halt(); -} -GEL_Toolbar4() -{ - Full_Halt_with_Reset(); -} - -int GEL_Toolbar5_Toggle = 0; -GEL_Toolbar5() -{ - if(GEL_Toolbar5_Toggle == 0) - { - GEL_Toolbar5_Toggle = 1; - GEL_OpenWindow("GEL_Buttons",1,4); - GEL_TextOut("Button 1: Run_Realtime_with_Reset()","GEL_Buttons",0,0); - GEL_TextOut("Button 2: Run_Realtime_with_Restart()","GEL_Buttons",0,1); - GEL_TextOut("Button 3: Full_Halt()", "GEL_Buttons",0,2); - GEL_TextOut("Button 4: Full_Halt_with_Reset()","GEL_Buttons",0,3); - } - else - { - GEL_Toolbar5_Toggle = 0; - GEL_CloseWindow("GEL_Buttons"); - } -} - - -/********************************************************************/ -/* These functions are useful to engage/dis-enagage realtime */ -/* emulation mode during debug. They save the user from having to */ -/* manually perform these steps in CCS. */ -/********************************************************************/ -menuitem "Realtime Emulation Control"; - -hotmenu Run_Realtime_with_Reset() -{ - GEL_Reset(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Run_Realtime_with_Restart() -{ - GEL_Restart(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Full_Halt() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ -} -hotmenu Full_Halt_with_Reset() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ - GEL_Reset(); /* Reset the DSP */ -} - - -/********************************************************************/ -/* F28232 Memory Map */ -/* */ -/* Note: M0M1MAP and VMAP signals tied high on F28232 core */ -/* */ -/* 0x000000 - 0x0003ff M0 SARAM (Prog and Data) */ -/* 0x000400 - 0x0007ff M1 SARAM (Prog and Data) */ -/* 0x000800 - 0x001fff Peripheral Frame0 (PF0) (Data only) */ -/* 0x004000 - 0x004fff XINTF Zone 0 (Prog and Data) */ -/* 0x005000 - 0x005fff Peripheral Frame3 (PF3) (Data only) */ -/* 0x006000 - 0x006fff Peripheral Frame1 (PF1) (Data only) */ -/* 0x007000 - 0x007fff Peripheral Frame2 (PF2) (Data only) */ -/* 0x008000 - 0x008fff L0 SARAM (Prog and Data) */ -/* 0x009000 - 0x009fff L1 SARAM (Prog and Data) */ -/* 0x00A000 - 0x00Afff L2 SARAM (Prog and Data) */ -/* 0x00B000 - 0x00Bfff L3 SARAM (Prog and Data) */ -/* 0x00C000 - 0x00Cfff L4 SARAM (Prog and Data) */ -/* 0x00D000 - 0x00Dfff L5 SARAM (Prog and Data) */ -/* 0x100000 - 0x1fffff XINTF Zone 6 (Prog and Data) */ -/* 0x200000 - 0x2fffff XINTF Zone 7 (Prog and Data) */ -/* 0x330000 - 0x33ffff Flash (Prog and Data) */ -/* 0x380080 - 0x380088 ADC_cal function (Prog and Data) */ -/* 0x380090 - 0x380090 PARTID value (Prog and Data) */ -/* 0x380400 - 0x3807ff OTP (Prog and Data) */ -/* 0x3f8000 - 0x3f8fff L0 SARAM (Prog and Data) */ -/* 0x3f9000 - 0x3f9fff L1 SARAM (Prog and Data) */ -/* 0x3fA000 - 0x3fAfff L2 SARAM (Prog and Data) */ -/* 0x3fB000 - 0x3fBfff L3 SARAM (Prog and Data) */ -/* 0x3fe000 - 0x3fffff BOOT ROM (Prog and Data) */ -/********************************************************************/ -menuitem "Initialize Memory Map"; - -hotmenu F28232_Memory_Map() -{ - GEL_MapReset(); - GEL_MapOn(); - - /* Program memory map */ - GEL_MapAdd(0x0,0,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,0,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x4000,0,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x8000,0,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,0,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,0,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,0,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,0,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,0,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0x100000,0,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,0,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x330000,0,0x10000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,0,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,0,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,0,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,0,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,0,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,0,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,0,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,0,0x2000,1,0); /* BOOT ROM */ - - /* Data memory map */ - GEL_MapAdd(0x000,1,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,1,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x800,1,0x1800,1,1); /* PF0 */ - GEL_MapAdd(0x4000,1,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x5000,1,0x1000,1,1); /* PF3 */ - GEL_MapAdd(0x6000,1,0x1000,1,1); /* PF1 */ - GEL_MapAddStr(0x7000,1,0x1000,"R|W|AS2",0); /* PF2 */ - GEL_MapAdd(0x8000,1,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,1,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,1,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,1,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,1,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,1,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0x100000,1,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,1,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x330000,1,0x10000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,1,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,1,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,1,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,1,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,1,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,1,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,1,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,1,0x2000,1,0); /* BOOT ROM */ -} - - -/********************************************************************/ -/* The ESTOP0 fill functions are useful for debug. They fill the */ -/* RAM with software breakpoints that will trap runaway code. */ -/********************************************************************/ -hotmenu Fill_F28232_RAM_with_ESTOP0() -{ - GEL_MemoryFill(0x000000,1,0x000800,0x7625); /* Fill M0/M1 */ - GEL_MemoryFill(0x008000,1,0x002000,0x7625); /* Fill L0/L1 */ - GEL_MemoryFill(0x00A000,1,0x002000,0x7625); /* Fill L2/L3 */ - GEL_MemoryFill(0x00C000,1,0x002000,0x7625); /* Fill L4/L5 */ -} - - -/********************************************************************/ -menuitem "Watchdog"; -hotmenu Disable_WD() -{ - *0x7029 = *0x7029 | 0x0068; /* Set the WDDIS bit */ - *0x7025 = 0x0055; /* Service the WD */ - *0x7025 = 0x00AA; /* once to be safe. */ - GEL_TextOut("\nWatchdog Timer Disabled"); -} - - -/********************************************************************/ -menuitem "Code Security Module" -hotmenu Unlock_CSM() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - /* Write passwords to the KEY registers. 0xFFFF's are dummy passwords. - User should replace them with the correct password for their DSP */ - *0xAE0 = 0xFFFF; - *0xAE1 = 0xFFFF; - *0xAE2 = 0xFFFF; - *0xAE3 = 0xFFFF; - *0xAE4 = 0xFFFF; - *0xAE5 = 0xFFFF; - *0xAE6 = 0xFFFF; - *0xAE7 = 0xFFFF; -} - - -/********************************************************************/ -menuitem "Addressing Modes"; -hotmenu C28x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C24x_Mode() -{ - ST1 = ST1 | 0x0100; /* AMODE = 1 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C27x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 & (~0x0200); /* OBJMODE = 0 */ -} - - -/********************************************************************/ -/* PLL Ratios */ -/* */ -/* The following table describes the PLL clocking ratios (0..10) */ -/* */ -/* Ratio CLKIN Description */ -/* ----- -------------- ------------ */ -/* 0 OSCCLK/2 PLL bypassed */ -/* 1 (OSCCLK * 1)/2 10 Mhz for 20 Mhz CLKIN */ -/* 2 (OSCCLK * 2)/2 20 Mhz for 20 Mhz CLKIN */ -/* 3 (OSCCLK * 3)/2 30 Mhz for 20 Mhz CLKIN */ -/* 4 (OSCCLK * 4)/2 40 Mhz for 20 Mhz CLKIN */ -/* 5 (OSCCLK * 5)/2 50 Mhz for 20 Mhz CLKIN */ -/* 6 (OSCCLK * 6)/2 60 Mhz for 20 Mhz CLKIN */ -/* 7 (OSCCLK * 7)/2 70 Mhz for 20 Mhz CLKIN */ -/* 8 (OSCCLK * 8)/2 80 Mhz for 20 Mhz CLKIN */ -/* 9 (OSCCLK * 9)/2 90 Mhz for 20 Mhz CLKIN */ -/* 10 (OSCCLK * 10)/2 100 Mhz for 20 Mhz CLKIN */ -/********************************************************************/ -menuitem "Set PLL Ratio"; - -hotmenu Bypass() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 0; /* CLKIN = OSCCLK/2, PLL is bypassed */ - PLL_Wait(); -} -hotmenu OSCCLK_x1_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x2_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x3_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x4_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x5_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x6_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x7_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x8_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x9_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x10_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/2 */ - PLL_Wait(); -} -// hotmenu OSCCLK_x1_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x2_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x3_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x4_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x5_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x6_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x7_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x8_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x9_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x10_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/1 */ -// PLL_Wait(); -// } - - - -/********************************************************************/ -/* For F2823x devices, DIVSEL is 1/4 by default. Switch it to 1/2 */ -/********************************************************************/ - -DIVSEL_div2() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - temp = *PLLSTS; - temp &= 0xFE7F; /* Clear bits 7 & 8 */ - temp |= 2 << 7; /* Set bit 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - - - -/********************************************************************/ -/* For F2823x devices, DIVSEL is 1/4 by default. Switch it to /1 */ -/********************************************************************/ - -DIVSEL_div1() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - DIVSEL_div2(); /* First switch DIVSEL to 1/2 and wait */ - wait(); - temp = *PLLSTS; - temp |= 3 << 7; /* Set bits 7 & 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - -wait() -{ - int delay = 0; - for (delay = 0; delay <= 5; delay ++) - {} -} - -/********************************************************************/ -/* For F2823x devices, check the PLLOCKS bit for PLL lock. */ -/********************************************************************/ -PLL_Wait() -{ - int PLLSTS; - int delay = 0; - - PLLSTS = 0x7011; - - - while ( ( (unsigned int)*PLLSTS & 0x0001) != 0x0001) - { - delay++; - GEL_TextOut("Waiting for PLL Lock, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); - } - GEL_TextOut("\nPLL lock complete, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); -} - - -/********************************************************************/ -/* Load the ADC Calibration values from TI OTP */ -/********************************************************************/ -menuitem "ADC Calibration" -hotmenu ADC_Cal() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - if(((*0x0AEF) & 0x0001) == 0) - { - XAR0 = *0x701C; - *0x701C |= 0x0008; - *0x711C = *0x380083; - *0x711D = *0x380085; - *0x701C = XAR0; - XAR0 = 0; - - } - else - { - GEL_TextOut("\nADC Calibration not complete, device is secure"); - } -} - -/********************************************************************/ -/* Enable the XINTF and configure GPIOs for XINTF function */ -/********************************************************************/ -menuitem "XINTF Enable" -hotmenu XINTF_Enable() -{ - - /* enable XINTF clock (XTIMCLK) */ - - *0x7020 = 0x3700; - /* GPBMUX1: XA0-XA7, XA16, XZCS0, */ - /* XZCS7, XREADY, XRNW, XWE0 */ - /* GPAMUX2: XA17-XA19, XZCS6 */ - /* GPCMUX2: XA8-XA15 */ - /* GPCMUX1: XD0-XD15 */ - *(unsigned long *)0x6F96 = 0xFFFFFFC0; /* GPBMUX1 */ - *(unsigned long *)0x6f88 = 0xFF000000; /* GPAMUX2 */ - *(unsigned long *)0x6FA8 = 0x0000AAAA; /* GPCMUX2 */ - *(unsigned long *)0x6FA6 = 0xAAAAAAAA; /* GPCMUX1 */ - - /* Uncomment for x32 data bus */ - /* GPBMUX2: XD16-XD31 */ -// *(unsigned long *)0x6F98 = 0xFFFFFFFF; /* GPBMUX2 */ - - /* Zone timing. - /* Each zone can be configured seperately */ - /* Uncomment the x16 or the x32 timing */ - /* depending on the data bus width for */ - /* the zone */ - - /* x16 Timing */ - *(unsigned long *)0x0B20 = 0x0043FFFF; /* Zone0 */ - *(unsigned long *)0x0B2C = 0x0043FFFF; /* Zone6 */ - *(unsigned long *)0x0B2E = 0x0043FFFF; /* Zone7 */ - - /* x32 Timing: -// *(unsigned long *)0x0B20 = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2C = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2E = 0x0041FFFF; /* x32 */ - -} - -/********************************************************************/ -/* The below are used to display the symbolic names of the F28232 */ -/* memory mapped registers in the watch window. To view these */ -/* registers, click on the GEL menu button in Code Composer Studio, */ -/* then select which registers or groups of registers you want to */ -/* view. They will appear in the watch window under the Watch1 tab. */ -/********************************************************************/ - -/* Add a space line to the GEL menu */ -menuitem "______________________________________"; -hotmenu __() {} - -/********************************************************************/ -/* A/D Converter Registers */ -/********************************************************************/ -menuitem "Watch ADC Registers"; - -hotmenu All_ADC_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); - - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} -hotmenu ADC_Control_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); -} -hotmenu ADCCHSELSEQx_Regs() -{ - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); -} -hotmenu ADCRESULT_0_to_7() -{ - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); -} -hotmenu ADCRESULT_8_to_15() -{ - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); -} -hotmenu ADCRESULT_Mirror_0_to_7() -{ - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); -} -hotmenu ADCRESULT_Mirror_8_to_15() -{ - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} - - -/********************************************************************/ -/* Clocking and Low-Power Registers */ -/********************************************************************/ -menuitem "Watch Clocking and Low-Power Registers"; - -hotmenu All_Clocking_and_Low_Power_Regs() -{ - GEL_WatchAdd("*0x7010,x","XCLK"); - GEL_WatchAdd("*0x7011,x","PLLSTS"); - GEL_WatchAdd("*0x701A,x","HISPCP"); - GEL_WatchAdd("*0x701B,x","LOSPCP"); - GEL_WatchAdd("*0x701C,x","PCLKCR0"); - GEL_WatchAdd("*0x701D,x","PCLKCR1"); - GEL_WatchAdd("*0x701E,x","LPMCR0"); - GEL_WatchAdd("*0x7020,x","PCLKCR3"); - GEL_WatchAdd("*0x7021,x","PLLCR"); -} - -/********************************************************************/ -/* Code Security Module Registers */ -/********************************************************************/ -menuitem "Watch Code Security Module Registers"; - -hotmenu CSMSCR() -{ - GEL_WatchAdd("*0x0AEF,x","CSMSCR"); - GEL_WatchAdd("(*0x0AEF>>15)&1,d"," FORCESEC bit"); - GEL_WatchAdd("(*0x0AEF)&1,d"," SECURE bit"); -} -hotmenu PWL_Locations() -{ - GEL_WatchAdd("*0x33FFF8,x","PWL0"); - GEL_WatchAdd("*0x33FFF9,x","PWL1"); - GEL_WatchAdd("*0x33FFFA,x","PWL2"); - GEL_WatchAdd("*0x33FFFB,x","PWL3"); - GEL_WatchAdd("*0x33FFFC,x","PWL4"); - GEL_WatchAdd("*0x33FFFD,x","PWL5"); - GEL_WatchAdd("*0x33FFFE,x","PWL6"); - GEL_WatchAdd("*0x33FFFF,x","PWL7"); -} - - -/********************************************************************/ -/* CPU Timer Registers */ -/********************************************************************/ -menuitem "Watch CPU Timer Registers"; - -hotmenu All_CPU_Timer0_Regs() -{ - GEL_WatchAdd("*0x0C00,x","TIMER0TIM"); - GEL_WatchAdd("*0x0C01,x","TIMER0TIMH"); - GEL_WatchAdd("*0x0C02,x","TIMER0PRD"); - GEL_WatchAdd("*0x0C03,x","TIMER0PRDH"); - GEL_WatchAdd("*0x0C04,x","TIMER0TCR"); - GEL_WatchAdd("*0x0C06,x","TIMER0TPR"); - GEL_WatchAdd("*0x0C07,x","TIMER0TPRH"); -} -hotmenu All_CPU_Timer1_Regs() -{ - GEL_WatchAdd("*0x0C08,x","TIMER1TIM"); - GEL_WatchAdd("*0x0C09,x","TIMER1TIMH"); - GEL_WatchAdd("*0x0C0A,x","TIMER1PRD"); - GEL_WatchAdd("*0x0C0B,x","TIMER1PRDH"); - GEL_WatchAdd("*0x0C0C,x","TIMER1TCR"); - GEL_WatchAdd("*0x0C0E,x","TIMER1TPR"); - GEL_WatchAdd("*0x0C0F,x","TIMER1TPRH"); -} -hotmenu All_CPU_Timer2_Regs() -{ - GEL_WatchAdd("*0x0C10,x","TIMER2TIM"); - GEL_WatchAdd("*0x0C11,x","TIMER2TIMH"); - GEL_WatchAdd("*0x0C12,x","TIMER2PRD"); - GEL_WatchAdd("*0x0C13,x","TIMER2PRDH"); - GEL_WatchAdd("*0x0C14,x","TIMER2TCR"); - GEL_WatchAdd("*0x0C16,x","TIMER2TPR"); - GEL_WatchAdd("*0x0C17,x","TIMER2TPRH"); -} - - -/********************************************************************/ -/* Device Emulation Registers */ -/********************************************************************/ -menuitem "Watch Device Emulation Registers"; - -hotmenu All_Emulation_Regs() -{ - GEL_WatchAdd("*(long *)0x0880,x","DEVICECNF"); - GEL_WatchAdd("*0x0882,x","CLASSID"); - GEL_WatchAdd("*0x0883,x","REVID"); - GEL_WatchAdd("*0x0884,x","PROTSTART"); - GEL_WatchAdd("*0x0885,x","PROTRANGE"); - GEL_WatchAdd("*0x380090,x","PARTID"); -} -/********************************************************************/ -/* DMA Registers */ -/********************************************************************/ -menuitem "Watch DMA Registers"; - -hotmenu All_DMA_Regs() -{ - GEL_WatchAdd("*0x1000,x","DMACTRL"); - GEL_WatchAdd("*0x1001,x","DEBUGCTRL"); - GEL_WatchAdd("*0x1002,x","REVISION"); - GEL_WatchAdd("*0x1004,x","PRIORITYCTRL1"); - GEL_WatchAdd("*0x1006,x","PRIORITYSTAT"); - - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); - - -} -hotmenu DMA_Channel_1_regs() -{ - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); -} - -hotmenu DMA_Channel_2_regs() -{ - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_3_regs() -{ - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_4_regs() -{ - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_5_regs() -{ - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_6_regs() -{ - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); -} - -/********************************************************************/ -/* eCAN Registers */ -/********************************************************************/ -menuitem "Watch eCAN Registers"; - -hotmenu eCAN_A_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6000,x","eCANA CANME"); - GEL_WatchAdd("*(long *)0x6002,x","eCANA CANMD"); - GEL_WatchAdd("*(long *)0x6004,x","eCANA CANTRS"); - GEL_WatchAdd("*(long *)0x6006,x","eCANA CANTRR"); - GEL_WatchAdd("*(long *)0x6008,x","eCANA CANTA"); - GEL_WatchAdd("*(long *)0x600A,x","eCANA CANAA"); - GEL_WatchAdd("*(long *)0x600C,x","eCANA CANRMP"); - GEL_WatchAdd("*(long *)0x600E,x","eCANA CANRML"); - GEL_WatchAdd("*(long *)0x6010,x","eCANA CANRFP"); - GEL_WatchAdd("*(long *)0x6014,x","eCANA CANMC"); - GEL_WatchAdd("*(long *)0x6016,x","eCANA CANBTC"); - GEL_WatchAdd("*(long *)0x6018,x","eCANA CANES"); - GEL_WatchAdd("*(long *)0x601A,x","eCANA CANTEC"); - GEL_WatchAdd("*(long *)0x601C,x","eCANA CANREC"); - GEL_WatchAdd("*(long *)0x601E,x","eCANA CANGIF0"); - GEL_WatchAdd("*(long *)0x6020,x","eCANA CANGIM"); - GEL_WatchAdd("*(long *)0x6022,x","eCANA CANGIF1"); - GEL_WatchAdd("*(long *)0x6024,x","eCANA CANMIM"); - GEL_WatchAdd("*(long *)0x6026,x","eCANA CANMIL"); - GEL_WatchAdd("*(long *)0x6028,x","eCANA CANOPC"); - GEL_WatchAdd("*(long *)0x602A,x","eCANA CANTIOC"); - GEL_WatchAdd("*(long *)0x602C,x","eCANA CANRIOC"); - GEL_WatchAdd("*(long *)0x602E,x","eCANA CANLNT"); - GEL_WatchAdd("*(long *)0x6030,x","eCANA CANTOC"); - GEL_WatchAdd("*(long *)0x6032,x","eCANA CANTOS"); -} -hotmenu eCAN_A_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6040,x","eCANA LAM0"); - GEL_WatchAdd("*(long *)0x6080,x","eCANA MOTS0"); - GEL_WatchAdd("*(long *)0x60C0,x","eCANA MOTO0"); - GEL_WatchAdd("*(long *)0x6100,x","eCANA MID0"); - GEL_WatchAdd("*(long *)0x6102,x","eCANA MCF0"); - GEL_WatchAdd("*(long *)0x6104,x","eCANA MDL0"); - GEL_WatchAdd("*(long *)0x6106,x","eCANA MDH0"); - - GEL_WatchAdd("*(long *)0x6042,x","eCANA LAM1"); - GEL_WatchAdd("*(long *)0x6082,x","eCANA MOTS1"); - GEL_WatchAdd("*(long *)0x60C2,x","eCANA MOTO1"); - GEL_WatchAdd("*(long *)0x6108,x","eCANA MID1"); - GEL_WatchAdd("*(long *)0x610A,x","eCANA MCF1"); - GEL_WatchAdd("*(long *)0x610C,x","eCANA MDL1"); - GEL_WatchAdd("*(long *)0x610E,x","eCANA MDH1"); -} -hotmenu eCAN_A_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6044,x","eCANA LAM2"); - GEL_WatchAdd("*(long *)0x6084,x","eCANA MOTS2"); - GEL_WatchAdd("*(long *)0x60C4,x","eCANA MOTO2"); - GEL_WatchAdd("*(long *)0x6110,x","eCANA MID2"); - GEL_WatchAdd("*(long *)0x6112,x","eCANA MCF2"); - GEL_WatchAdd("*(long *)0x6114,x","eCANA MDL2"); - GEL_WatchAdd("*(long *)0x6116,x","eCANA MDH2"); - - GEL_WatchAdd("*(long *)0x6046,x","eCANA LAM3"); - GEL_WatchAdd("*(long *)0x6086,x","eCANA MOTS3"); - GEL_WatchAdd("*(long *)0x60C6,x","eCANA MOTO3"); - GEL_WatchAdd("*(long *)0x6118,x","eCANA MID3"); - GEL_WatchAdd("*(long *)0x611A,x","eCANA MCF3"); - GEL_WatchAdd("*(long *)0x611C,x","eCANA MDL3"); - GEL_WatchAdd("*(long *)0x611E,x","eCANA MDH3"); -} -hotmenu eCAN_A_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6048,x","eCANA LAM4"); - GEL_WatchAdd("*(long *)0x6088,x","eCANA MOTS4"); - GEL_WatchAdd("*(long *)0x60C8,x","eCANA MOTO4"); - GEL_WatchAdd("*(long *)0x6120,x","eCANA MID4"); - GEL_WatchAdd("*(long *)0x6122,x","eCANA MCF4"); - GEL_WatchAdd("*(long *)0x6124,x","eCANA MDL4"); - GEL_WatchAdd("*(long *)0x6126,x","eCANA MDH4"); - - GEL_WatchAdd("*(long *)0x604A,x","eCANA LAM5"); - GEL_WatchAdd("*(long *)0x608A,x","eCANA MOTS5"); - GEL_WatchAdd("*(long *)0x60CA,x","eCANA MOTO5"); - GEL_WatchAdd("*(long *)0x6128,x","eCANA MID5"); - GEL_WatchAdd("*(long *)0x612A,x","eCANA MCF5"); - GEL_WatchAdd("*(long *)0x612C,x","eCANA MDL5"); - GEL_WatchAdd("*(long *)0x612E,x","eCANA MDH5"); -} -hotmenu eCAN_A_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x604C,x","eCANA LAM6"); - GEL_WatchAdd("*(long *)0x608C,x","eCANA MOTS6"); - GEL_WatchAdd("*(long *)0x60CC,x","eCANA MOTO6"); - GEL_WatchAdd("*(long *)0x6130,x","eCANA MID6"); - GEL_WatchAdd("*(long *)0x6132,x","eCANA MCF6"); - GEL_WatchAdd("*(long *)0x6134,x","eCANA MDL6"); - GEL_WatchAdd("*(long *)0x6136,x","eCANA MDH6"); - - GEL_WatchAdd("*(long *)0x604E,x","eCANA LAM7"); - GEL_WatchAdd("*(long *)0x608E,x","eCANA MOTS7"); - GEL_WatchAdd("*(long *)0x60CE,x","eCANA MOTO7"); - GEL_WatchAdd("*(long *)0x6138,x","eCANA MID7"); - GEL_WatchAdd("*(long *)0x613A,x","eCANA MCF7"); - GEL_WatchAdd("*(long *)0x613C,x","eCANA MDL7"); - GEL_WatchAdd("*(long *)0x613E,x","eCANA MDH7"); -} -hotmenu eCAN_A_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6050,x","eCANA LAM8"); - GEL_WatchAdd("*(long *)0x6090,x","eCANA MOTS8"); - GEL_WatchAdd("*(long *)0x60D0,x","eCANA MOTO8"); - GEL_WatchAdd("*(long *)0x6140,x","eCANA MID8"); - GEL_WatchAdd("*(long *)0x6142,x","eCANA MCF8"); - GEL_WatchAdd("*(long *)0x6144,x","eCANA MDL8"); - GEL_WatchAdd("*(long *)0x6146,x","eCANA MDH8"); - - GEL_WatchAdd("*(long *)0x6052,x","eCANA LAM9"); - GEL_WatchAdd("*(long *)0x6092,x","eCANA MOTS9"); - GEL_WatchAdd("*(long *)0x60D2,x","eCANA MOTO9"); - GEL_WatchAdd("*(long *)0x6148,x","eCANA MID9"); - GEL_WatchAdd("*(long *)0x614A,x","eCANA MCF9"); - GEL_WatchAdd("*(long *)0x614C,x","eCANA MDL9"); - GEL_WatchAdd("*(long *)0x614E,x","eCANA MDH9"); -} -hotmenu eCAN_A_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6054,x","eCANA LAM10"); - GEL_WatchAdd("*(long *)0x6094,x","eCANA MOTS10"); - GEL_WatchAdd("*(long *)0x60D4,x","eCANA MOTO10"); - GEL_WatchAdd("*(long *)0x6150,x","eCANA MID10"); - GEL_WatchAdd("*(long *)0x6152,x","eCANA MCF10"); - GEL_WatchAdd("*(long *)0x6154,x","eCANA MDL10"); - GEL_WatchAdd("*(long *)0x6156,x","eCANA MDH10"); - - GEL_WatchAdd("*(long *)0x6056,x","eCANA LAM11"); - GEL_WatchAdd("*(long *)0x6096,x","eCANA MOTS11"); - GEL_WatchAdd("*(long *)0x60D6,x","eCANA MOTO11"); - GEL_WatchAdd("*(long *)0x6158,x","eCANA MID11"); - GEL_WatchAdd("*(long *)0x615A,x","eCANA MCF11"); - GEL_WatchAdd("*(long *)0x615C,x","eCANA MDL11"); - GEL_WatchAdd("*(long *)0x615E,x","eCANA MDH11"); -} -hotmenu eCAN_A_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6058,x","eCANA LAM12"); - GEL_WatchAdd("*(long *)0x6098,x","eCANA MOTS12"); - GEL_WatchAdd("*(long *)0x60D8,x","eCANA MOTO12"); - GEL_WatchAdd("*(long *)0x6160,x","eCANA MID12"); - GEL_WatchAdd("*(long *)0x6162,x","eCANA MCF12"); - GEL_WatchAdd("*(long *)0x6164,x","eCANA MDL12"); - GEL_WatchAdd("*(long *)0x6166,x","eCANA MDH12"); - - GEL_WatchAdd("*(long *)0x605A,x","eCANA LAM13"); - GEL_WatchAdd("*(long *)0x609A,x","eCANA MOTS13"); - GEL_WatchAdd("*(long *)0x60DA,x","eCANA MOTO13"); - GEL_WatchAdd("*(long *)0x6168,x","eCANA MID13"); - GEL_WatchAdd("*(long *)0x616A,x","eCANA MCF13"); - GEL_WatchAdd("*(long *)0x616C,x","eCANA MDL13"); - GEL_WatchAdd("*(long *)0x616E,x","eCANA MDH13"); -} -hotmenu eCAN_A_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x605C,x","eCANA LAM14"); - GEL_WatchAdd("*(long *)0x609C,x","eCANA MOTS14"); - GEL_WatchAdd("*(long *)0x60DC,x","eCANA MOTO14"); - GEL_WatchAdd("*(long *)0x6170,x","eCANA MID14"); - GEL_WatchAdd("*(long *)0x6172,x","eCANA MCF14"); - GEL_WatchAdd("*(long *)0x6174,x","eCANA MDL14"); - GEL_WatchAdd("*(long *)0x6176,x","eCANA MDH14"); - - GEL_WatchAdd("*(long *)0x605E,x","eCANA LAM15"); - GEL_WatchAdd("*(long *)0x609E,x","eCANA MOTS15"); - GEL_WatchAdd("*(long *)0x60DE,x","eCANA MOTO15"); - GEL_WatchAdd("*(long *)0x6178,x","eCANA MID15"); - GEL_WatchAdd("*(long *)0x617A,x","eCANA MCF15"); - GEL_WatchAdd("*(long *)0x617C,x","eCANA MDL15"); - GEL_WatchAdd("*(long *)0x617E,x","eCANA MDH15"); -} -hotmenu eCAN_A_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6060,x","eCANA LAM16"); - GEL_WatchAdd("*(long *)0x60A0,x","eCANA MOTS16"); - GEL_WatchAdd("*(long *)0x60E0,x","eCANA MOTO16"); - GEL_WatchAdd("*(long *)0x6180,x","eCANA MID16"); - GEL_WatchAdd("*(long *)0x6182,x","eCANA MCF16"); - GEL_WatchAdd("*(long *)0x6184,x","eCANA MDL16"); - GEL_WatchAdd("*(long *)0x6186,x","eCANA MDH16"); - - GEL_WatchAdd("*(long *)0x6062,x","eCANA LAM17"); - GEL_WatchAdd("*(long *)0x60A2,x","eCANA MOTS17"); - GEL_WatchAdd("*(long *)0x60E2,x","eCANA MOTO17"); - GEL_WatchAdd("*(long *)0x6188,x","eCANA MID17"); - GEL_WatchAdd("*(long *)0x618A,x","eCANA MCF17"); - GEL_WatchAdd("*(long *)0x618C,x","eCANA MDL17"); - GEL_WatchAdd("*(long *)0x618E,x","eCANA MDH17"); -} -hotmenu eCAN_A_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6064,x","eCANA LAM18"); - GEL_WatchAdd("*(long *)0x60A4,x","eCANA MOTS18"); - GEL_WatchAdd("*(long *)0x60E4,x","eCANA MOTO18"); - GEL_WatchAdd("*(long *)0x6190,x","eCANA MID18"); - GEL_WatchAdd("*(long *)0x6192,x","eCANA MCF18"); - GEL_WatchAdd("*(long *)0x6194,x","eCANA MDL18"); - GEL_WatchAdd("*(long *)0x6196,x","eCANA MDH18"); - - GEL_WatchAdd("*(long *)0x6066,x","eCANA LAM19"); - GEL_WatchAdd("*(long *)0x60A6,x","eCANA MOTS19"); - GEL_WatchAdd("*(long *)0x60E6,x","eCANA MOTO19"); - GEL_WatchAdd("*(long *)0x6198,x","eCANA MID19"); - GEL_WatchAdd("*(long *)0x619A,x","eCANA MCF19"); - GEL_WatchAdd("*(long *)0x619C,x","eCANA MDL19"); - GEL_WatchAdd("*(long *)0x619E,x","eCANA MDH19"); -} -hotmenu eCAN_A_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6068,x","eCANA LAM20"); - GEL_WatchAdd("*(long *)0x60A8,x","eCANA MOTS20"); - GEL_WatchAdd("*(long *)0x60E8,x","eCANA MOTO20"); - GEL_WatchAdd("*(long *)0x61A0,x","eCANA MID20"); - GEL_WatchAdd("*(long *)0x61A2,x","eCANA MCF20"); - GEL_WatchAdd("*(long *)0x61A4,x","eCANA MDL20"); - GEL_WatchAdd("*(long *)0x61A6,x","eCANA MDH20"); - - GEL_WatchAdd("*(long *)0x606A,x","eCANA LAM21"); - GEL_WatchAdd("*(long *)0x60AA,x","eCANA MOTS21"); - GEL_WatchAdd("*(long *)0x60EA,x","eCANA MOTO21"); - GEL_WatchAdd("*(long *)0x61A8,x","eCANA MID21"); - GEL_WatchAdd("*(long *)0x61AA,x","eCANA MCF21"); - GEL_WatchAdd("*(long *)0x61AC,x","eCANA MDL21"); - GEL_WatchAdd("*(long *)0x61AE,x","eCANA MDH21"); -} -hotmenu eCAN_A_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x606C,x","eCANA LAM22"); - GEL_WatchAdd("*(long *)0x60AC,x","eCANA MOTS22"); - GEL_WatchAdd("*(long *)0x60EC,x","eCANA MOTO22"); - GEL_WatchAdd("*(long *)0x61B0,x","eCANA MID22"); - GEL_WatchAdd("*(long *)0x61B2,x","eCANA MCF22"); - GEL_WatchAdd("*(long *)0x61B4,x","eCANA MDL22"); - GEL_WatchAdd("*(long *)0x61B6,x","eCANA MDH22"); - - GEL_WatchAdd("*(long *)0x606E,x","eCANA LAM23"); - GEL_WatchAdd("*(long *)0x60AE,x","eCANA MOTS23"); - GEL_WatchAdd("*(long *)0x60EE,x","eCANA MOTO23"); - GEL_WatchAdd("*(long *)0x61B8,x","eCANA MID23"); - GEL_WatchAdd("*(long *)0x61BA,x","eCANA MCF23"); - GEL_WatchAdd("*(long *)0x61BC,x","eCANA MDL23"); - GEL_WatchAdd("*(long *)0x61BE,x","eCANA MDH23"); -} -hotmenu eCAN_A_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6070,x","eCANA LAM24"); - GEL_WatchAdd("*(long *)0x60B0,x","eCANA MOTS24"); - GEL_WatchAdd("*(long *)0x60F0,x","eCANA MOTO24"); - GEL_WatchAdd("*(long *)0x61C0,x","eCANA MID24"); - GEL_WatchAdd("*(long *)0x61C2,x","eCANA MCF24"); - GEL_WatchAdd("*(long *)0x61C4,x","eCANA MDL24"); - GEL_WatchAdd("*(long *)0x61C6,x","eCANA MDH24"); - - GEL_WatchAdd("*(long *)0x6072,x","eCANA LAM25"); - GEL_WatchAdd("*(long *)0x60B2,x","eCANA MOTS25"); - GEL_WatchAdd("*(long *)0x60F2,x","eCANA MOTO25"); - GEL_WatchAdd("*(long *)0x61C8,x","eCANA MID25"); - GEL_WatchAdd("*(long *)0x61CA,x","eCANA MCF25"); - GEL_WatchAdd("*(long *)0x61CC,x","eCANA MDL25"); - GEL_WatchAdd("*(long *)0x61CE,x","eCANA MDH25"); -} -hotmenu eCAN_A_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6074,x","eCANA LAM26"); - GEL_WatchAdd("*(long *)0x60B4,x","eCANA MOTS26"); - GEL_WatchAdd("*(long *)0x60F4,x","eCANA MOTO26"); - GEL_WatchAdd("*(long *)0x61D0,x","eCANA MID26"); - GEL_WatchAdd("*(long *)0x61D2,x","eCANA MCF26"); - GEL_WatchAdd("*(long *)0x61D4,x","eCANA MDL26"); - GEL_WatchAdd("*(long *)0x61D6,x","eCANA MDH26"); - - GEL_WatchAdd("*(long *)0x6076,x","eCANA LAM27"); - GEL_WatchAdd("*(long *)0x60B6,x","eCANA MOTS27"); - GEL_WatchAdd("*(long *)0x60F6,x","eCANA MOTO27"); - GEL_WatchAdd("*(long *)0x61D8,x","eCANA MID27"); - GEL_WatchAdd("*(long *)0x61DA,x","eCANA MCF27"); - GEL_WatchAdd("*(long *)0x61DC,x","eCANA MDL27"); - GEL_WatchAdd("*(long *)0x61DE,x","eCANA MDH27"); -} -hotmenu eCAN_A_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6078,x","eCANA LAM28"); - GEL_WatchAdd("*(long *)0x60B8,x","eCANA MOTS28"); - GEL_WatchAdd("*(long *)0x60F8,x","eCANA MOTO28"); - GEL_WatchAdd("*(long *)0x61E0,x","eCANA MID28"); - GEL_WatchAdd("*(long *)0x61E2,x","eCANA MCF28"); - GEL_WatchAdd("*(long *)0x61E4,x","eCANA MDL28"); - GEL_WatchAdd("*(long *)0x61E6,x","eCANA MDH28"); - - GEL_WatchAdd("*(long *)0x607A,x","eCANA LAM29"); - GEL_WatchAdd("*(long *)0x60BA,x","eCANA MOTS29"); - GEL_WatchAdd("*(long *)0x60FA,x","eCANA MOTO29"); - GEL_WatchAdd("*(long *)0x61E8,x","eCANA MID29"); - GEL_WatchAdd("*(long *)0x61EA,x","eCANA MCF29"); - GEL_WatchAdd("*(long *)0x61EC,x","eCANA MDL29"); - GEL_WatchAdd("*(long *)0x61EE,x","eCANA MDH29"); -} -hotmenu eCAN_A_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x607C,x","eCANA LAM30"); - GEL_WatchAdd("*(long *)0x60BC,x","eCANA MOTS30"); - GEL_WatchAdd("*(long *)0x60FC,x","eCANA MOTO30"); - GEL_WatchAdd("*(long *)0x61F0,x","eCANA MID30"); - GEL_WatchAdd("*(long *)0x61F2,x","eCANA MCF30"); - GEL_WatchAdd("*(long *)0x61F4,x","eCANA MDL30"); - GEL_WatchAdd("*(long *)0x61F6,x","eCANA MDH30"); - - GEL_WatchAdd("*(long *)0x607E,x","eCANA LAM31"); - GEL_WatchAdd("*(long *)0x60BE,x","eCANA MOTS31"); - GEL_WatchAdd("*(long *)0x60FE,x","eCANA MOTO31"); - GEL_WatchAdd("*(long *)0x61F8,x","eCANA MID31"); - GEL_WatchAdd("*(long *)0x61FA,x","eCANA MCF31"); - GEL_WatchAdd("*(long *)0x61FC,x","eCANA MDL31"); - GEL_WatchAdd("*(long *)0x61FE,x","eCANA MDH31"); -} -hotmenu eCAN_B_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6200,x","eCANB CANME"); - GEL_WatchAdd("*(long *)0x6202,x","eCANB CANMD"); - GEL_WatchAdd("*(long *)0x6204,x","eCANB CANTRS"); - GEL_WatchAdd("*(long *)0x6206,x","eCANB CANTRR"); - GEL_WatchAdd("*(long *)0x6208,x","eCANB CANTA"); - GEL_WatchAdd("*(long *)0x620A,x","eCANB CANAA"); - GEL_WatchAdd("*(long *)0x620C,x","eCANB CANRMP"); - GEL_WatchAdd("*(long *)0x620E,x","eCANB CANRML"); - GEL_WatchAdd("*(long *)0x6210,x","eCANB CANRFP"); - GEL_WatchAdd("*(long *)0x6214,x","eCANB CANMC"); - GEL_WatchAdd("*(long *)0x6216,x","eCANB CANBTC"); - GEL_WatchAdd("*(long *)0x6218,x","eCANB CANES"); - GEL_WatchAdd("*(long *)0x621A,x","eCANB CANTEC"); - GEL_WatchAdd("*(long *)0x621C,x","eCANB CANREC"); - GEL_WatchAdd("*(long *)0x621E,x","eCANB CANGIF0"); - GEL_WatchAdd("*(long *)0x6220,x","eCANB CANGIM"); - GEL_WatchAdd("*(long *)0x6222,x","eCANB CANGIF1"); - GEL_WatchAdd("*(long *)0x6224,x","eCANB CANMIM"); - GEL_WatchAdd("*(long *)0x6226,x","eCANB CANMIL"); - GEL_WatchAdd("*(long *)0x6228,x","eCANB CANOPC"); - GEL_WatchAdd("*(long *)0x622A,x","eCANB CANTIOC"); - GEL_WatchAdd("*(long *)0x622C,x","eCANB CANRIOC"); - GEL_WatchAdd("*(long *)0x622E,x","eCANB CANLNT"); - GEL_WatchAdd("*(long *)0x6230,x","eCANB CANTOC"); - GEL_WatchAdd("*(long *)0x6232,x","eCANB CANTOS"); -} -hotmenu eCAN_B_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6240,x","eCANB LAM0"); - GEL_WatchAdd("*(long *)0x6280,x","eCANB MOTS0"); - GEL_WatchAdd("*(long *)0x62C0,x","eCANB MOTO0"); - GEL_WatchAdd("*(long *)0x6300,x","eCANB MID0"); - GEL_WatchAdd("*(long *)0x6302,x","eCANB MCF0"); - GEL_WatchAdd("*(long *)0x6304,x","eCANB MDL0"); - GEL_WatchAdd("*(long *)0x6306,x","eCANB MDH0"); - - GEL_WatchAdd("*(long *)0x6242,x","eCANB LAM1"); - GEL_WatchAdd("*(long *)0x6282,x","eCANB MOTS1"); - GEL_WatchAdd("*(long *)0x62C2,x","eCANB MOTO1"); - GEL_WatchAdd("*(long *)0x6308,x","eCANB MID1"); - GEL_WatchAdd("*(long *)0x630A,x","eCANB MCF1"); - GEL_WatchAdd("*(long *)0x630C,x","eCANB MDL1"); - GEL_WatchAdd("*(long *)0x630E,x","eCANB MDH1"); -} -hotmenu eCAN_B_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6244,x","eCANB LAM2"); - GEL_WatchAdd("*(long *)0x6284,x","eCANB MOTS2"); - GEL_WatchAdd("*(long *)0x62C4,x","eCANB MOTO2"); - GEL_WatchAdd("*(long *)0x6310,x","eCANB MID2"); - GEL_WatchAdd("*(long *)0x6312,x","eCANB MCF2"); - GEL_WatchAdd("*(long *)0x6314,x","eCANB MDL2"); - GEL_WatchAdd("*(long *)0x6316,x","eCANB MDH2"); - - GEL_WatchAdd("*(long *)0x6246,x","eCANB LAM3"); - GEL_WatchAdd("*(long *)0x6286,x","eCANB MOTS3"); - GEL_WatchAdd("*(long *)0x62C6,x","eCANB MOTO3"); - GEL_WatchAdd("*(long *)0x6318,x","eCANB MID3"); - GEL_WatchAdd("*(long *)0x631A,x","eCANB MCF3"); - GEL_WatchAdd("*(long *)0x631C,x","eCANB MDL3"); - GEL_WatchAdd("*(long *)0x631E,x","eCANB MDH3"); -} -hotmenu eCAN_B_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6248,x","eCANB LAM4"); - GEL_WatchAdd("*(long *)0x6288,x","eCANB MOTS4"); - GEL_WatchAdd("*(long *)0x62C8,x","eCANB MOTO4"); - GEL_WatchAdd("*(long *)0x6320,x","eCANB MID4"); - GEL_WatchAdd("*(long *)0x6322,x","eCANB MCF4"); - GEL_WatchAdd("*(long *)0x6324,x","eCANB MDL4"); - GEL_WatchAdd("*(long *)0x6326,x","eCANB MDH4"); - - GEL_WatchAdd("*(long *)0x624A,x","eCANB LAM5"); - GEL_WatchAdd("*(long *)0x628A,x","eCANB MOTS5"); - GEL_WatchAdd("*(long *)0x62CA,x","eCANB MOTO5"); - GEL_WatchAdd("*(long *)0x6328,x","eCANB MID5"); - GEL_WatchAdd("*(long *)0x632A,x","eCANB MCF5"); - GEL_WatchAdd("*(long *)0x632C,x","eCANB MDL5"); - GEL_WatchAdd("*(long *)0x632E,x","eCANB MDH5"); -} -hotmenu eCAN_B_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x624C,x","eCANB LAM6"); - GEL_WatchAdd("*(long *)0x628C,x","eCANB MOTS6"); - GEL_WatchAdd("*(long *)0x62CC,x","eCANB MOTO6"); - GEL_WatchAdd("*(long *)0x6330,x","eCANB MID6"); - GEL_WatchAdd("*(long *)0x6332,x","eCANB MCF6"); - GEL_WatchAdd("*(long *)0x6334,x","eCANB MDL6"); - GEL_WatchAdd("*(long *)0x6336,x","eCANB MDH6"); - - GEL_WatchAdd("*(long *)0x624E,x","eCANB LAM7"); - GEL_WatchAdd("*(long *)0x628E,x","eCANB MOTS7"); - GEL_WatchAdd("*(long *)0x62CE,x","eCANB MOTO7"); - GEL_WatchAdd("*(long *)0x6338,x","eCANB MID7"); - GEL_WatchAdd("*(long *)0x633A,x","eCANB MCF7"); - GEL_WatchAdd("*(long *)0x633C,x","eCANB MDL7"); - GEL_WatchAdd("*(long *)0x633E,x","eCANB MDH7"); -} -hotmenu eCAN_B_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6250,x","eCANB LAM8"); - GEL_WatchAdd("*(long *)0x6290,x","eCANB MOTS8"); - GEL_WatchAdd("*(long *)0x62D0,x","eCANB MOTO8"); - GEL_WatchAdd("*(long *)0x6340,x","eCANB MID8"); - GEL_WatchAdd("*(long *)0x6342,x","eCANB MCF8"); - GEL_WatchAdd("*(long *)0x6344,x","eCANB MDL8"); - GEL_WatchAdd("*(long *)0x6346,x","eCANB MDH8"); - - GEL_WatchAdd("*(long *)0x6252,x","eCANB LAM9"); - GEL_WatchAdd("*(long *)0x6292,x","eCANB MOTS9"); - GEL_WatchAdd("*(long *)0x62D2,x","eCANB MOTO9"); - GEL_WatchAdd("*(long *)0x6348,x","eCANB MID9"); - GEL_WatchAdd("*(long *)0x634A,x","eCANB MCF9"); - GEL_WatchAdd("*(long *)0x634C,x","eCANB MDL9"); - GEL_WatchAdd("*(long *)0x634E,x","eCANB MDH9"); -} -hotmenu eCAN_B_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6254,x","eCANB LAM10"); - GEL_WatchAdd("*(long *)0x6294,x","eCANB MOTS10"); - GEL_WatchAdd("*(long *)0x62D4,x","eCANB MOTO10"); - GEL_WatchAdd("*(long *)0x6350,x","eCANB MID10"); - GEL_WatchAdd("*(long *)0x6352,x","eCANB MCF10"); - GEL_WatchAdd("*(long *)0x6354,x","eCANB MDL10"); - GEL_WatchAdd("*(long *)0x6356,x","eCANB MDH10"); - - GEL_WatchAdd("*(long *)0x6256,x","eCANB LAM11"); - GEL_WatchAdd("*(long *)0x6296,x","eCANB MOTS11"); - GEL_WatchAdd("*(long *)0x62D6,x","eCANB MOTO11"); - GEL_WatchAdd("*(long *)0x6358,x","eCANB MID11"); - GEL_WatchAdd("*(long *)0x635A,x","eCANB MCF11"); - GEL_WatchAdd("*(long *)0x635C,x","eCANB MDL11"); - GEL_WatchAdd("*(long *)0x635E,x","eCANB MDH11"); -} -hotmenu eCAN_B_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6258,x","eCANB LAM12"); - GEL_WatchAdd("*(long *)0x6298,x","eCANB MOTS12"); - GEL_WatchAdd("*(long *)0x62D8,x","eCANB MOTO12"); - GEL_WatchAdd("*(long *)0x6360,x","eCANB MID12"); - GEL_WatchAdd("*(long *)0x6362,x","eCANB MCF12"); - GEL_WatchAdd("*(long *)0x6364,x","eCANB MDL12"); - GEL_WatchAdd("*(long *)0x6366,x","eCANB MDH12"); - - GEL_WatchAdd("*(long *)0x625A,x","eCANB LAM13"); - GEL_WatchAdd("*(long *)0x629A,x","eCANB MOTS13"); - GEL_WatchAdd("*(long *)0x62DA,x","eCANB MOTO13"); - GEL_WatchAdd("*(long *)0x6368,x","eCANB MID13"); - GEL_WatchAdd("*(long *)0x636A,x","eCANB MCF13"); - GEL_WatchAdd("*(long *)0x636C,x","eCANB MDL13"); - GEL_WatchAdd("*(long *)0x636E,x","eCANB MDH13"); -} -hotmenu eCAN_B_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x625C,x","eCANB LAM14"); - GEL_WatchAdd("*(long *)0x629C,x","eCANB MOTS14"); - GEL_WatchAdd("*(long *)0x62DC,x","eCANB MOTO14"); - GEL_WatchAdd("*(long *)0x6370,x","eCANB MID14"); - GEL_WatchAdd("*(long *)0x6372,x","eCANB MCF14"); - GEL_WatchAdd("*(long *)0x6374,x","eCANB MDL14"); - GEL_WatchAdd("*(long *)0x6376,x","eCANB MDH14"); - - GEL_WatchAdd("*(long *)0x625E,x","eCANB LAM15"); - GEL_WatchAdd("*(long *)0x629E,x","eCANB MOTS15"); - GEL_WatchAdd("*(long *)0x62DE,x","eCANB MOTO15"); - GEL_WatchAdd("*(long *)0x6378,x","eCANB MID15"); - GEL_WatchAdd("*(long *)0x637A,x","eCANB MCF15"); - GEL_WatchAdd("*(long *)0x637C,x","eCANB MDL15"); - GEL_WatchAdd("*(long *)0x637E,x","eCANB MDH15"); -} -hotmenu eCAN_B_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6260,x","eCANB LAM16"); - GEL_WatchAdd("*(long *)0x62A0,x","eCANB MOTS16"); - GEL_WatchAdd("*(long *)0x62E0,x","eCANB MOTO16"); - GEL_WatchAdd("*(long *)0x6380,x","eCANB MID16"); - GEL_WatchAdd("*(long *)0x6382,x","eCANB MCF16"); - GEL_WatchAdd("*(long *)0x6384,x","eCANB MDL16"); - GEL_WatchAdd("*(long *)0x6386,x","eCANB MDH16"); - - GEL_WatchAdd("*(long *)0x6262,x","eCANB LAM17"); - GEL_WatchAdd("*(long *)0x62A2,x","eCANB MOTS17"); - GEL_WatchAdd("*(long *)0x62E2,x","eCANB MOTO17"); - GEL_WatchAdd("*(long *)0x6388,x","eCANB MID17"); - GEL_WatchAdd("*(long *)0x638A,x","eCANB MCF17"); - GEL_WatchAdd("*(long *)0x638C,x","eCANB MDL17"); - GEL_WatchAdd("*(long *)0x638E,x","eCANB MDH17"); -} -hotmenu eCAN_B_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6264,x","eCANB LAM18"); - GEL_WatchAdd("*(long *)0x62A4,x","eCANB MOTS18"); - GEL_WatchAdd("*(long *)0x62E4,x","eCANB MOTO18"); - GEL_WatchAdd("*(long *)0x6390,x","eCANB MID18"); - GEL_WatchAdd("*(long *)0x6392,x","eCANB MCF18"); - GEL_WatchAdd("*(long *)0x6394,x","eCANB MDL18"); - GEL_WatchAdd("*(long *)0x6396,x","eCANB MDH18"); - - GEL_WatchAdd("*(long *)0x6266,x","eCANB LAM19"); - GEL_WatchAdd("*(long *)0x62A6,x","eCANB MOTS19"); - GEL_WatchAdd("*(long *)0x62E6,x","eCANB MOTO19"); - GEL_WatchAdd("*(long *)0x6398,x","eCANB MID19"); - GEL_WatchAdd("*(long *)0x639A,x","eCANB MCF19"); - GEL_WatchAdd("*(long *)0x639C,x","eCANB MDL19"); - GEL_WatchAdd("*(long *)0x639E,x","eCANB MDH19"); -} -hotmenu eCAN_B_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6268,x","eCANB LAM20"); - GEL_WatchAdd("*(long *)0x62A8,x","eCANB MOTS20"); - GEL_WatchAdd("*(long *)0x62E8,x","eCANB MOTO20"); - GEL_WatchAdd("*(long *)0x63A0,x","eCANB MID20"); - GEL_WatchAdd("*(long *)0x63A2,x","eCANB MCF20"); - GEL_WatchAdd("*(long *)0x63A4,x","eCANB MDL20"); - GEL_WatchAdd("*(long *)0x63A6,x","eCANB MDH20"); - - GEL_WatchAdd("*(long *)0x626A,x","eCANB LAM21"); - GEL_WatchAdd("*(long *)0x62AA,x","eCANB MOTS21"); - GEL_WatchAdd("*(long *)0x62EA,x","eCANB MOTO21"); - GEL_WatchAdd("*(long *)0x63A8,x","eCANB MID21"); - GEL_WatchAdd("*(long *)0x63AA,x","eCANB MCF21"); - GEL_WatchAdd("*(long *)0x63AC,x","eCANB MDL21"); - GEL_WatchAdd("*(long *)0x63AE,x","eCANB MDH21"); -} -hotmenu eCAN_B_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x626C,x","eCANB LAM22"); - GEL_WatchAdd("*(long *)0x62AC,x","eCANB MOTS22"); - GEL_WatchAdd("*(long *)0x62EC,x","eCANB MOTO22"); - GEL_WatchAdd("*(long *)0x63B0,x","eCANB MID22"); - GEL_WatchAdd("*(long *)0x63B2,x","eCANB MCF22"); - GEL_WatchAdd("*(long *)0x63B4,x","eCANB MDL22"); - GEL_WatchAdd("*(long *)0x63B6,x","eCANB MDH22"); - - GEL_WatchAdd("*(long *)0x626E,x","eCANB LAM23"); - GEL_WatchAdd("*(long *)0x62AE,x","eCANB MOTS23"); - GEL_WatchAdd("*(long *)0x62EE,x","eCANB MOTO23"); - GEL_WatchAdd("*(long *)0x63B8,x","eCANB MID23"); - GEL_WatchAdd("*(long *)0x63BA,x","eCANB MCF23"); - GEL_WatchAdd("*(long *)0x63BC,x","eCANB MDL23"); - GEL_WatchAdd("*(long *)0x63BE,x","eCANB MDH23"); -} -hotmenu eCAN_B_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6270,x","eCANB LAM24"); - GEL_WatchAdd("*(long *)0x62B0,x","eCANB MOTS24"); - GEL_WatchAdd("*(long *)0x62F0,x","eCANB MOTO24"); - GEL_WatchAdd("*(long *)0x63C0,x","eCANB MID24"); - GEL_WatchAdd("*(long *)0x63C2,x","eCANB MCF24"); - GEL_WatchAdd("*(long *)0x63C4,x","eCANB MDL24"); - GEL_WatchAdd("*(long *)0x63C6,x","eCANB MDH24"); - - GEL_WatchAdd("*(long *)0x6272,x","eCANB LAM25"); - GEL_WatchAdd("*(long *)0x62B2,x","eCANB MOTS25"); - GEL_WatchAdd("*(long *)0x62F2,x","eCANB MOTO25"); - GEL_WatchAdd("*(long *)0x63C8,x","eCANB MID25"); - GEL_WatchAdd("*(long *)0x63CA,x","eCANB MCF25"); - GEL_WatchAdd("*(long *)0x63CC,x","eCANB MDL25"); - GEL_WatchAdd("*(long *)0x63CE,x","eCANB MDH25"); -} -hotmenu eCAN_B_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6274,x","eCANB LAM26"); - GEL_WatchAdd("*(long *)0x62B4,x","eCANB MOTS26"); - GEL_WatchAdd("*(long *)0x62F4,x","eCANB MOTO26"); - GEL_WatchAdd("*(long *)0x63D0,x","eCANB MID26"); - GEL_WatchAdd("*(long *)0x63D2,x","eCANB MCF26"); - GEL_WatchAdd("*(long *)0x63D4,x","eCANB MDL26"); - GEL_WatchAdd("*(long *)0x63D6,x","eCANB MDH26"); - - GEL_WatchAdd("*(long *)0x6276,x","eCANB LAM27"); - GEL_WatchAdd("*(long *)0x62B6,x","eCANB MOTS27"); - GEL_WatchAdd("*(long *)0x62F6,x","eCANB MOTO27"); - GEL_WatchAdd("*(long *)0x63D8,x","eCANB MID27"); - GEL_WatchAdd("*(long *)0x63DA,x","eCANB MCF27"); - GEL_WatchAdd("*(long *)0x63DC,x","eCANB MDL27"); - GEL_WatchAdd("*(long *)0x63DE,x","eCANB MDH27"); -} -hotmenu eCAN_B_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6278,x","eCANB LAM28"); - GEL_WatchAdd("*(long *)0x62B8,x","eCANB MOTS28"); - GEL_WatchAdd("*(long *)0x62F8,x","eCANB MOTO28"); - GEL_WatchAdd("*(long *)0x63E0,x","eCANB MID28"); - GEL_WatchAdd("*(long *)0x63E2,x","eCANB MCF28"); - GEL_WatchAdd("*(long *)0x63E4,x","eCANB MDL28"); - GEL_WatchAdd("*(long *)0x63E6,x","eCANB MDH28"); - - GEL_WatchAdd("*(long *)0x627A,x","eCANB LAM29"); - GEL_WatchAdd("*(long *)0x62BA,x","eCANB MOTS29"); - GEL_WatchAdd("*(long *)0x62FA,x","eCANB MOTO29"); - GEL_WatchAdd("*(long *)0x63E8,x","eCANB MID29"); - GEL_WatchAdd("*(long *)0x63EA,x","eCANB MCF29"); - GEL_WatchAdd("*(long *)0x63EC,x","eCANB MDL29"); - GEL_WatchAdd("*(long *)0x63EE,x","eCANB MDH29"); -} -hotmenu eCAN_B_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x627C,x","eCANB LAM30"); - GEL_WatchAdd("*(long *)0x62BC,x","eCANB MOTS30"); - GEL_WatchAdd("*(long *)0x62FC,x","eCANB MOTO30"); - GEL_WatchAdd("*(long *)0x63F0,x","eCANB MID30"); - GEL_WatchAdd("*(long *)0x63F2,x","eCANB MCF30"); - GEL_WatchAdd("*(long *)0x63F4,x","eCANB MDL30"); - GEL_WatchAdd("*(long *)0x63F6,x","eCANB MDH30"); - - GEL_WatchAdd("*(long *)0x627E,x","eCANB LAM31"); - GEL_WatchAdd("*(long *)0x62BE,x","eCANB MOTS31"); - GEL_WatchAdd("*(long *)0x62FE,x","eCANB MOTO31"); - GEL_WatchAdd("*(long *)0x63F8,x","eCANB MID31"); - GEL_WatchAdd("*(long *)0x63FA,x","eCANB MCF31"); - GEL_WatchAdd("*(long *)0x63FC,x","eCANB MDL31"); - GEL_WatchAdd("*(long *)0x63FE,x","eCANB MDH31"); -} - - -/********************************************************************/ -/* Enhanced Capture Registers */ -/********************************************************************/ -menuitem "Watch eCAP Registers"; - -hotmenu eCAP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A00,x","eCAP1 TSCNT"); - GEL_WatchAdd("*(long *)0x6A02,x","eCAP1 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A04,x","eCAP1 CAP1"); - GEL_WatchAdd("*(long *)0x6A06,x","eCAP1 CAP2"); - GEL_WatchAdd("*(long *)0x6A08,x","eCAP1 CAP3"); - GEL_WatchAdd("*(long *)0x6A0A,x","eCAP1 CAP4"); - GEL_WatchAdd("*0x6A14,x","eCAP1 ECCTL1"); - GEL_WatchAdd("*0x6A15,x","eCAP1 ECCTL2"); - GEL_WatchAdd("*0x6A16,x","eCAP1 ECEINT"); - GEL_WatchAdd("*0x6A17,x","eCAP1 ECFLG"); - GEL_WatchAdd("*0x6A18,x","eCAP1 ECCLR"); - GEL_WatchAdd("*0x6A19,x","eCAP1 ECFRC"); -} -hotmenu eCAP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A20,x","eCAP2 TSCNT"); - GEL_WatchAdd("*(long *)0x6A22,x","eCAP2 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A24,x","eCAP2 CAP1"); - GEL_WatchAdd("*(long *)0x6A26,x","eCAP2 CAP2"); - GEL_WatchAdd("*(long *)0x6A28,x","eCAP2 CAP3"); - GEL_WatchAdd("*(long *)0x6A2A,x","eCAP2 CAP4"); - GEL_WatchAdd("*0x6A34,x","eCAP2 ECCTL1"); - GEL_WatchAdd("*0x6A35,x","eCAP2 ECCTL2"); - GEL_WatchAdd("*0x6A36,x","eCAP2 ECEINT"); - GEL_WatchAdd("*0x6A37,x","eCAP2 ECFLG"); - GEL_WatchAdd("*0x6A38,x","eCAP2 ECCLR"); - GEL_WatchAdd("*0x6A39,x","eCAP2 ECFRC"); -} -hotmenu eCAP3_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A40,x","eCAP3 TSCNT"); - GEL_WatchAdd("*(long *)0x6A42,x","eCAP3 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A44,x","eCAP3 CAP1"); - GEL_WatchAdd("*(long *)0x6A46,x","eCAP3 CAP2"); - GEL_WatchAdd("*(long *)0x6A48,x","eCAP3 CAP3"); - GEL_WatchAdd("*(long *)0x6A4A,x","eCAP3 CAP4"); - GEL_WatchAdd("*0x6A54,x","eCAP3 ECCTL1"); - GEL_WatchAdd("*0x6A55,x","eCAP3 ECCTL2"); - GEL_WatchAdd("*0x6A56,x","eCAP3 ECEINT"); - GEL_WatchAdd("*0x6A57,x","eCAP3 ECFLG"); - GEL_WatchAdd("*0x6A58,x","eCAP3 ECCLR"); - GEL_WatchAdd("*0x6A59,x","eCAP3 ECFRC"); -} -hotmenu eCAP4_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A60,x","eCAP4 TSCNT"); - GEL_WatchAdd("*(long *)0x6A62,x","eCAP4 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A64,x","eCAP4 CAP1"); - GEL_WatchAdd("*(long *)0x6A66,x","eCAP4 CAP2"); - GEL_WatchAdd("*(long *)0x6A68,x","eCAP4 CAP3"); - GEL_WatchAdd("*(long *)0x6A6A,x","eCAP4 CAP4"); - GEL_WatchAdd("*0x6A74,x","eCAP4 ECCTL1"); - GEL_WatchAdd("*0x6A75,x","eCAP4 ECCTL2"); - GEL_WatchAdd("*0x6A76,x","eCAP4 ECEINT"); - GEL_WatchAdd("*0x6A77,x","eCAP4 ECFLG"); - GEL_WatchAdd("*0x6A78,x","eCAP4 ECCLR"); - GEL_WatchAdd("*0x6A79,x","eCAP4 ECFRC"); -} - -/********************************************************************/ -/* Enhanced PWM Registers */ -/********************************************************************/ -menuitem "Watch ePWM Registers"; - -hotmenu ePWM1_All_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6813,x","ePWM1 TZDCSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); - GEL_WatchAdd("*0x681E,x","ePWM1 PCCTL"); - GEL_WatchAdd("*0x6820,x","ePWM1 HRCNFG"); -} -hotmenu ePWM1_TB_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); -} -hotmenu ePWM1_CMP_Regs() -{ - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); -} -hotmenu ePWM1_AQ_Regs() -{ - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); -} -hotmenu ePWM1_DB_Regs() -{ - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); -} -hotmenu ePWM1_TZ_Regs() -{ - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); -} -hotmenu ePWM1_ET_Regs() -{ - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); -} -hotmenu ePWM2_All_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6853,x","ePWM2 TZDCSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); - GEL_WatchAdd("*0x685E,x","ePWM2 PCCTL"); - GEL_WatchAdd("*0x6860,x","ePWM2 HRCNFG"); -} -hotmenu ePWM2_TB_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); -} -hotmenu ePWM2_CMP_Regs() -{ - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); -} -hotmenu ePWM2_AQ_Regs() -{ - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); -} -hotmenu ePWM2_DB_Regs() -{ - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); -} -hotmenu ePWM2_TZ_Regs() -{ - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); -} -hotmenu ePWM2_ET_Regs() -{ - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); -} -hotmenu ePWM3_All_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6893,x","ePWM3 TZDCSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); - GEL_WatchAdd("*0x689E,x","ePWM3 PCCTL"); - GEL_WatchAdd("*0x68A0,x","ePWM3 HRCNFG"); -} -hotmenu ePWM3_TB_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); -} -hotmenu ePWM3_CMP_Regs() -{ - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); -} -hotmenu ePWM3_AQ_Regs() -{ - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); -} -hotmenu ePWM3_DB_Regs() -{ - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); -} -hotmenu ePWM3_TZ_Regs() -{ - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); -} -hotmenu ePWM3_ET_Regs() -{ - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); -} -hotmenu ePWM4_All_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D3,x","ePWM4 TZDCSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); - GEL_WatchAdd("*0x68DE,x","ePWM4 PCCTL"); - GEL_WatchAdd("*0x68E0,x","ePWM4 HRCNFG"); -} -hotmenu ePWM4_TB_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); -} -hotmenu ePWM4_CMP_Regs() -{ - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); -} -hotmenu ePWM4_AQ_Regs() -{ - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); -} -hotmenu ePWM4_DB_Regs() -{ - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); -} -hotmenu ePWM4_TZ_Regs() -{ - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); -} -hotmenu ePWM4_ET_Regs() -{ - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); -} -hotmenu ePWM5_All_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6913,x","ePWM5 TZDCSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); - GEL_WatchAdd("*0x691E,x","ePWM5 PCCTL"); -} -hotmenu ePWM5_TB_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); -} -hotmenu ePWM5_CMP_Regs() -{ - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); -} -hotmenu ePWM5_AQ_Regs() -{ - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); -} -hotmenu ePWM5_DB_Regs() -{ - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); -} -hotmenu ePWM5_TZ_Regs() -{ - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); -} -hotmenu ePWM5_ET_Regs() -{ - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); -} -hotmenu ePWM6_All_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6953,x","ePWM6 TZDCSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); - GEL_WatchAdd("*0x695E,x","ePWM6 PCCTL"); - -} -hotmenu ePWM6_TB_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); -} -hotmenu ePWM6_CMP_Regs() -{ - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); -} -hotmenu ePWM6_AQ_Regs() -{ - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); -} -hotmenu ePWM6_DB_Regs() -{ - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); -} -hotmenu ePWM6_TZ_Regs() -{ - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); -} -hotmenu ePWM6_ET_Regs() -{ - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); -} - - -/********************************************************************/ -/* Enhanced EQEP Registers */ -/********************************************************************/ -menuitem "Watch eQEP" - -hotmenu eQEP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B00,x","eQEP1 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B02,x","eQEP1 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B04,x","eQEP1 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B06,x","eQEP1 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B08,x","eQEP1 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B0A,x","eQEP1 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B0C,x","eQEP1 QPOSLAT"); - GEL_WatchAdd("*(long *)0x6B0E,x","eQEP1 QUTMR"); - GEL_WatchAdd("*(long *)0x6B10,x","eQEP1 QUPRD"); - GEL_WatchAdd("*0x6B12,x","eQEP1 QWDTMR"); - GEL_WatchAdd("*0x6B13,x","eQEP1 QWDPRD"); - GEL_WatchAdd("*0x6B14,x","eQEP1 QDECCTL"); - GEL_WatchAdd("*0x6B15,x","eQEP1 QEPCTL"); - GEL_WatchAdd("*0x6B16,x","eQEP1 QCAPCTL"); - GEL_WatchAdd("*0x6B17,x","eQEP1 QPOSCTL"); - GEL_WatchAdd("*0x6B18,x","eQEP1 QEINT"); - GEL_WatchAdd("*0x6B19,x","eQEP1 QFLG"); - GEL_WatchAdd("*0x6B1A,x","eQEP1 QCLR"); - GEL_WatchAdd("*0x6B1B,x","eQEP1 QFRC"); - GEL_WatchAdd("*0x6B1C,x","eQEP1 QEPSTS"); - GEL_WatchAdd("*0x6B1D,x","eQEP1 QCTMR"); - GEL_WatchAdd("*0x6B1E,x","eQEP1 QCPRD"); - GEL_WatchAdd("*0x6B1F,x","eQEP1 QCTMRLAT"); - GEL_WatchAdd("*0x6B20,x","eQEP1 QCPRDLAT"); -} -hotmenu eQEP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B40,x","eQEP2 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B42,x","eQEP2 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B44,x","eQEP2 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B46,x","eQEP2 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B48,x","eQEP2 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B4A,x","eQEP2 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B4C,x","eQEP2 QPOSLAT"); - GEL_WatchAdd("(long *)*0x6B4E,x","eQEP2 QUTMR"); - GEL_WatchAdd("*(long *)0x6B50,x","eQEP2 QUPRD"); - GEL_WatchAdd("*0x6B52,x","eQEP2 QWDTMR"); - GEL_WatchAdd("*0x6B53,x","eQEP2 QWDPRD"); - GEL_WatchAdd("*0x6B54,x","eQEP2 QDECCTL"); - GEL_WatchAdd("*0x6B55,x","eQEP2 QEPCTL"); - GEL_WatchAdd("*0x6B56,x","eQEP2 QCAPCTL"); - GEL_WatchAdd("*0x6B57,x","eQEP2 QPOSCTL"); - GEL_WatchAdd("*0x6B58,x","eQEP2 QEINT"); - GEL_WatchAdd("*0x6B59,x","eQEP2 QFLG"); - GEL_WatchAdd("*0x6B5A,x","eQEP2 QCLR"); - GEL_WatchAdd("*0x6B5B,x","eQEP2 QFRC"); - GEL_WatchAdd("*0x6B5C,x","eQEP2 QEPSTS"); - GEL_WatchAdd("*0x6B5D,x","eQEP2 QCTMR"); - GEL_WatchAdd("*0x6B5E,x","eQEP2 QCPRD"); - GEL_WatchAdd("*0x6B5F,x","eQEP2 QCTMRLAT"); - GEL_WatchAdd("*0x6B60,x","eQEP2 QCPRDLAT"); -} - - -/********************************************************************/ -/* External Interface Registers */ -/********************************************************************/ -menuitem "Watch External Interface Registers"; - -hotmenu All_External_Interface_Regs() -{ - GEL_WatchAdd("*(long *)0x0B20,x","XTIMING0"); - GEL_WatchAdd("*(long *)0x0B2C,x","XTIMING6"); - GEL_WatchAdd("*(long *)0x0B2E,x","XTIMING7"); - GEL_WatchAdd("*(long *)0x0B34,x","XINTCNF2"); - GEL_WatchAdd("*0x0B38,x","XBANK"); - GEL_WatchAdd("*0x0B3A,x","XREVISION"); - GEL_WatchAdd("*0x0B3D,x","XRESET"); -} - -/********************************************************************/ -/* External Interrupt Registers */ -/********************************************************************/ -menuitem "Watch External Interrupt Registers"; - -hotmenu All_XINT_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} -hotmenu XINT_Control_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); -} -hotmenu XINT_Counter_Regs() -{ - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} - -/********************************************************************/ -/* GPIO Registers */ -/********************************************************************/ -menuitem "Watch GPIO Registers"; - -hotmenu All_GPIO_CONTROL_Regs() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); -} -hotmenu All_GPIO_DATA_Regs() -{ - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} -hotmenu All_GPIO_INTERRUPT_Regs() -{ - GEL_WatchAdd("*0x6FE0,x","GPIOXINT1SEL"); - GEL_WatchAdd("*0x6FE1,x","GPIOXINT2SEL"); - GEL_WatchAdd("*0x6FE2,x","GPIOXNMISEL"); - GEL_WatchAdd("*0x6FE3,x","GPIOXINT3SEL"); - GEL_WatchAdd("*0x6FE4,x","GPIOXINT4SEL"); - GEL_WatchAdd("*0x6FE5,x","GPIOXINT5SEL"); - GEL_WatchAdd("*0x6FE6,x","GPIOXINT6SEL"); - GEL_WatchAdd("*0x6FE7,x","GPIOXINT7SEL"); - GEL_WatchAdd("*(long *)0x6FE8,x","GPIOLPMSEL"); -} -hotmenu All_GPA_Registers() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); -} -hotmenu All_GPB_Registers() -{ - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); -} -hotmenu All_GPC_Registers() -{ - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} - - -/********************************************************************/ -/* Multichannel Serial Port Registers */ -/********************************************************************/ -menuitem "Watch McBSP Registers"; - -hotmenu All_McBSP_A_Regs() -{ - GEL_WatchAdd("*0x5000,x","McBSPA DRR2"); - GEL_WatchAdd("*0x5001,x","McBSPA DRR1"); - GEL_WatchAdd("*0x5002,x","McBSPA DXR2"); - GEL_WatchAdd("*0x5003,x","McBSPA DXR1"); - GEL_WatchAdd("*0x5004,x","McBSPA SPCR2"); - GEL_WatchAdd("*0x5005,x","McBSPA SPCR1"); - GEL_WatchAdd("*0x5006,x","McBSPA RCR2"); - GEL_WatchAdd("*0x5007,x","McBSPA RCR1"); - GEL_WatchAdd("*0x5008,x","McBSPA XCR2"); - GEL_WatchAdd("*0x5009,x","McBSPA XCR1"); - GEL_WatchAdd("*0x500A,x","McBSPA SRGR2"); - GEL_WatchAdd("*0x500B,x","McBSPA SRGR1"); - GEL_WatchAdd("*0x500C,x","McBSPA MCR2"); - GEL_WatchAdd("*0x500D,x","McBSPA MCR1"); - GEL_WatchAdd("*0x500E,x","McBSPA RCERA"); - GEL_WatchAdd("*0x500F,x","McBSPA RCERB"); - GEL_WatchAdd("*0x5010,x","McBSPA XCERA"); - GEL_WatchAdd("*0x5011,x","McBSPA XCERB"); - GEL_WatchAdd("*0x5012,x","McBSPA PCR1"); - GEL_WatchAdd("*0x5013,x","McBSPA RCERC"); - GEL_WatchAdd("*0x5014,x","McBSPA RCERD"); - GEL_WatchAdd("*0x5015,x","McBSPA XCERC"); - GEL_WatchAdd("*0x5016,x","McBSPA XCERD"); - GEL_WatchAdd("*0x5017,x","McBSPA RCERE"); - GEL_WatchAdd("*0x5018,x","McBSPA RCERF"); - GEL_WatchAdd("*0x5019,x","McBSPA XCERE"); - GEL_WatchAdd("*0x501A,x","McBSPA XCERF"); - GEL_WatchAdd("*0x501B,x","McBSPA RCERG"); - GEL_WatchAdd("*0x501C,x","McBSPA RCERH"); - GEL_WatchAdd("*0x501D,x","McBSPA XCERG"); - GEL_WatchAdd("*0x501E,x","McBSPA XCERH"); - GEL_WatchAdd("*0x5023,x","McBSPA MFFINT"); - GEL_WatchAdd("*0x503F,x","McBSPA Revision"); -} - -/********************************************************************/ -/* I2C Registers */ -/********************************************************************/ -menuitem "Watch I2C Registers"; - -hotmenu All_I2C_Regs() -{ - GEL_WatchAdd("*0x7900,x","I2COAR"); - GEL_WatchAdd("*0x7901,x","I2CIER"); - GEL_WatchAdd("*0x7902,x","I2CSTR"); - GEL_WatchAdd("*0x7903,x","I2CCLKL"); - GEL_WatchAdd("*0x7904,x","I2CCLKH"); - GEL_WatchAdd("*0x7905,x","I2CCNT"); - GEL_WatchAdd("*0x7906,x","I2CDRR"); - GEL_WatchAdd("*0x7907,x","I2CSAR"); - GEL_WatchAdd("*0x7908,x","I2CDXR"); - GEL_WatchAdd("*0x7909,x","I2CMDR"); - GEL_WatchAdd("*0x790A,x","I2CISRC"); - GEL_WatchAdd("*0x790C,x","I2CPSC"); - GEL_WatchAdd("*0x7920,x","I2CFFTX"); - GEL_WatchAdd("*0x7921,x","I2CFFRX"); -} - - -/********************************************************************/ -/* Peripheral Interrupt Expansion Registers */ -/********************************************************************/ -menuitem "Watch Peripheral Interrupt Expansion Registers"; - -hotmenu All_PIE_Regs() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); - GEL_WatchAdd("*0x0CE1,x","PIEACK"); - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} -hotmenu PIECTRL() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); -} -hotmenu PIEACK() -{ - GEL_WatchAdd("*0x0CE1,x","PIEACK"); -} -hotmenu PIEIER1_and_PIEIFR1() -{ - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); -} -hotmenu PIEIER2_and_PIEIFR2() -{ - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); -} -hotmenu PIEIER3_and_PIEIFR3() -{ - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); -} -hotmenu PIEIER4_and_PIEIFR4() -{ - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); -} -hotmenu PIEIER5_and_PIEIFR5() -{ - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); -} -hotmenu PIEIER6_and_PIEIFR6() -{ - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); -} -hotmenu PIEIER7_and_PIEIFR7() -{ - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); -} -hotmenu PIEIER8_and_PIEIFR8() -{ - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); -} -hotmenu PIEIER9_and_PIEIFR9() -{ - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); -} -hotmenu PIEIFR10_and_PIEIFR10() -{ - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); -} -hotmenu PIEIER11_and_PIEIFR11() -{ - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); -} -hotmenu PIEIER12_and_PIEIFR12() -{ - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} - - -/********************************************************************/ -/* Serial Communication Interface Registers */ -/********************************************************************/ -menuitem "Watch SCI Registers"; - -hotmenu SCI_A_All_Regs() -{ - GEL_WatchAdd("*0x7050,x","SCICCRA"); - GEL_WatchAdd("*0x7051,x","SCICTL1A"); - GEL_WatchAdd("*0x7052,x","SCIHBAUDA"); - GEL_WatchAdd("*0x7053,x","SCILBAUDA"); - GEL_WatchAdd("*0x7054,x","SCICTL2A"); - GEL_WatchAdd("*0x7055,x","SCIRXSTA"); - GEL_WatchAdd("*0x7056,x","SCIRXEMUA"); - GEL_WatchAdd("*0x7057,x","SCIRXBUFA"); - GEL_WatchAdd("*0x7059,x","SCITXBUFA"); - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); - GEL_WatchAdd("*0x705F,x","SCIPRIA"); -} -hotmenu SCI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); -} -hotmenu SCI_B_All_Regs() -{ - GEL_WatchAdd("*0x7750,x","SCICCRB"); - GEL_WatchAdd("*0x7751,x","SCICTL1B"); - GEL_WatchAdd("*0x7752,x","SCIHBAUDB"); - GEL_WatchAdd("*0x7753,x","SCILBAUDB"); - GEL_WatchAdd("*0x7754,x","SCICTL2B"); - GEL_WatchAdd("*0x7755,x","SCIRXSTB"); - GEL_WatchAdd("*0x7756,x","SCIRXEMUB"); - GEL_WatchAdd("*0x7757,x","SCIRXBUFB"); - GEL_WatchAdd("*0x7759,x","SCITXBUFB"); - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); - GEL_WatchAdd("*0x775F,x","SCIPRIB"); -} -hotmenu SCI_B_FIFO_Registers() -{ - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); -} - - -/********************************************************************/ -/* Serial Peripheral Interface Registers */ -/********************************************************************/ -menuitem "Watch SPI Registers"; - -hotmenu SPI_A_All_Regs() -{ - GEL_WatchAdd("*0x7040,x","SPIA SPICCR"); - GEL_WatchAdd("*0x7041,x","SPIA SPICTL"); - GEL_WatchAdd("*0x7042,x","SPIA SPIST"); - GEL_WatchAdd("*0x7044,x","SPIA SPIBRR"); - GEL_WatchAdd("*0x7046,x","SPIA SPIEMU"); - GEL_WatchAdd("*0x7047,x","SPIA SPIRXBUF"); - GEL_WatchAdd("*0x7048,x","SPIA SPITXBUF"); - GEL_WatchAdd("*0x7049,x","SPIA SPIDAT"); - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); - GEL_WatchAdd("*0x704F,x","SPIA SPIPRI"); -} -hotmenu SPI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); -} - - -/********************************************************************/ -/* Watchdog Timer Registers */ -/********************************************************************/ -menuitem "Watch Watchdog Timer Registers"; - -hotmenu All_Watchdog_Regs() -{ - GEL_WatchAdd("*0x7023,x","WDCNTR"); - GEL_WatchAdd("*0x7025,x","WDKEY"); - GEL_WatchAdd("*0x7029,x","WDCR"); - GEL_WatchAdd("*0x7022,x","SCSR"); -} - -/********************************************************************/ -/*** End of file ***/ diff --git a/Source/External/v120/DSP2833x_common/gel/f28234.gel b/Source/External/v120/DSP2833x_common/gel/f28234.gel deleted file mode 100644 index cd5726a..0000000 --- a/Source/External/v120/DSP2833x_common/gel/f28234.gel +++ /dev/null @@ -1,2930 +0,0 @@ -/********************************************************************/ -/* f28234.gel */ -/* Version 3.30.2 */ -/* */ -/* This GEL file is to be used with the TMS320F28234 DSP. */ -/* Changes may be required to support specific hardware designs. */ -/* */ -/* Code Composer Studio supports six reserved GEL functions that */ -/* automatically get executed if they are defined. They are: */ -/* */ -/* StartUp() - Executed whenever CCS is invoked */ -/* OnReset() - Executed after Debug->Reset CPU */ -/* OnRestart() - Executed after Debug->Restart */ -/* OnPreFileLoaded() - Executed before File->Load Program */ -/* OnFileLoaded() - Executed after File->Load Program */ -/* OnTargetConnect() - Executed after Debug->Connect */ -/* */ -/********************************************************************/ - -StartUp() -{ - -/* The next line automatically loads the .gel file that comes */ -/* with the DSP2833x Peripheral Header Files download. To use, */ -/* uncomment, and adjust the directory path as needed. */ -// GEL_LoadGel("c:\\CCStudio_v3.3\\cc\\gel\\DSP2833x_Peripheral.gel"); -} - -OnReset(int nErrorCode) -{ - C28x_Mode(); - Unlock_CSM(); - ADC_Cal(); -} - -OnRestart(int nErrorCode) -{ -/* CCS will call OnRestart() when you do a Debug->Restart and */ -/* after you load a new file. Between running interrupt based */ -/* programs, this function will clear interrupts and help keep */ -/* the processor from going off into invalid memory. */ - C28x_Mode(); - IER = 0; - IFR = 0; - ADC_Cal(); -} - -int TxtOutCtl=0; -OnPreFileLoaded() -{ - XINTF_Enable(); - if (TxtOutCtl==0) - { - GEL_TextOut("\nNOTES:\nGel will enable XINTFx16 during Debug only.\nEnable XINTF in code prior to use."); - TxtOutCtl=1; - } -} - -OnFileLoaded(int nErrorCode, int bSymbolsOnly) -{ - ADC_Cal(); -} - -OnTargetConnect() -{ - C28x_Mode(); - F28234_Memory_Map(); /* Initialize the CCS memory map */ - -/* Check to see if CCS has been started-up with the DSP already */ -/* running in real-time mode. The user can add whatever */ -/* custom initialization stuff they want to each case. */ - - if (GEL_IsInRealtimeMode()) /* Do real-time mode target initialization */ - { - - } - else /* Do stop-mode target initialization */ - { - GEL_Reset(); /* Reset DSP */ - } - -} - - -/********************************************************************/ -/* These functions are launched by the GEL_Toolbar button plugin */ -/********************************************************************/ -GEL_Toolbar1() -{ - Run_Realtime_with_Reset(); -} -GEL_Toolbar2() -{ - Run_Realtime_with_Restart(); -} -GEL_Toolbar3() -{ - Full_Halt(); -} -GEL_Toolbar4() -{ - Full_Halt_with_Reset(); -} - -int GEL_Toolbar5_Toggle = 0; -GEL_Toolbar5() -{ - if(GEL_Toolbar5_Toggle == 0) - { - GEL_Toolbar5_Toggle = 1; - GEL_OpenWindow("GEL_Buttons",1,4); - GEL_TextOut("Button 1: Run_Realtime_with_Reset()","GEL_Buttons",0,0); - GEL_TextOut("Button 2: Run_Realtime_with_Restart()","GEL_Buttons",0,1); - GEL_TextOut("Button 3: Full_Halt()", "GEL_Buttons",0,2); - GEL_TextOut("Button 4: Full_Halt_with_Reset()","GEL_Buttons",0,3); - } - else - { - GEL_Toolbar5_Toggle = 0; - GEL_CloseWindow("GEL_Buttons"); - } -} - - -/********************************************************************/ -/* These functions are useful to engage/dis-enagage realtime */ -/* emulation mode during debug. They save the user from having to */ -/* manually perform these steps in CCS. */ -/********************************************************************/ -menuitem "Realtime Emulation Control"; - -hotmenu Run_Realtime_with_Reset() -{ - GEL_Reset(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Run_Realtime_with_Restart() -{ - GEL_Restart(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Full_Halt() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ -} -hotmenu Full_Halt_with_Reset() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ - GEL_Reset(); /* Reset the DSP */ -} - - -/********************************************************************/ -/* F28234 Memory Map */ -/* */ -/* Note: M0M1MAP and VMAP signals tied high on F28234 core */ -/* */ -/* 0x000000 - 0x0003ff M0 SARAM (Prog and Data) */ -/* 0x000400 - 0x0007ff M1 SARAM (Prog and Data) */ -/* 0x000800 - 0x001fff Peripheral Frame0 (PF0) (Data only) */ -/* 0x004000 - 0x004fff XINTF Zone 0 (Prog and Data) */ -/* 0x005000 - 0x005fff Peripheral Frame3 (PF3) (Data only) */ -/* 0x006000 - 0x006fff Peripheral Frame1 (PF1) (Data only) */ -/* 0x007000 - 0x007fff Peripheral Frame2 (PF2) (Data only) */ -/* 0x008000 - 0x008fff L0 SARAM (Prog and Data) */ -/* 0x009000 - 0x009fff L1 SARAM (Prog and Data) */ -/* 0x00A000 - 0x00Afff L2 SARAM (Prog and Data) */ -/* 0x00B000 - 0x00Bfff L3 SARAM (Prog and Data) */ -/* 0x00C000 - 0x00Cfff L4 SARAM (Prog and Data) */ -/* 0x00D000 - 0x00Dfff L5 SARAM (Prog and Data) */ -/* 0x00E000 - 0x00Efff L6 SARAM (Prog and Data) */ -/* 0x00F000 - 0x00Ffff L7 SARAM (Prog and Data) */ -/* 0x100000 - 0x1fffff XINTF Zone 6 (Prog and Data) */ -/* 0x200000 - 0x2fffff XINTF Zone 7 (Prog and Data) */ -/* 0x320000 - 0x33ffff Flash (Prog and Data) */ -/* 0x380080 - 0x380088 ADC_cal function (Prog and Data) */ -/* 0x380090 - 0x380090 PARTID value (Prog and Data) */ -/* 0x380400 - 0x3807ff OTP (Prog and Data) */ -/* 0x3f8000 - 0x3f8fff L0 SARAM (Prog and Data) */ -/* 0x3f9000 - 0x3f9fff L1 SARAM (Prog and Data) */ -/* 0x3fA000 - 0x3fAfff L2 SARAM (Prog and Data) */ -/* 0x3fB000 - 0x3fBfff L3 SARAM (Prog and Data) */ -/* 0x3fe000 - 0x3fffff BOOT ROM (Prog and Data) */ -/********************************************************************/ -menuitem "Initialize Memory Map"; - -hotmenu F28234_Memory_Map() -{ - GEL_MapReset(); - GEL_MapOn(); - - /* Program memory map */ - GEL_MapAdd(0x0,0,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,0,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x4000,0,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x8000,0,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,0,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,0,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,0,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,0,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,0,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0xE000,0,0x1000,1,1); /* L6 SARAM */ - GEL_MapAdd(0xF000,0,0x1000,1,1); /* L7 SARAM */ - GEL_MapAdd(0x100000,0,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,0,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x320000,0,0x20000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,0,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,0,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,0,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,0,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,0,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,0,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,0,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,0,0x2000,1,0); /* BOOT ROM */ - - /* Data memory map */ - GEL_MapAdd(0x000,1,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,1,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x800,1,0x1800,1,1); /* PF0 */ - GEL_MapAdd(0x4000,1,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x5000,1,0x1000,1,1); /* PF3 */ - GEL_MapAdd(0x6000,1,0x1000,1,1); /* PF1 */ - GEL_MapAddStr(0x7000,1,0x1000,"R|W|AS2",0); /* PF2 */ - GEL_MapAdd(0x8000,1,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,1,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,1,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,1,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,1,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,1,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0xE000,1,0x1000,1,1); /* L6 SARAM */ - GEL_MapAdd(0xF000,1,0x1000,1,1); /* L7 SARAM */ - GEL_MapAdd(0x100000,1,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,1,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x320000,1,0x20000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,1,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,1,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,1,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,1,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,1,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,1,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,1,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,1,0x2000,1,0); /* BOOT ROM */ -} - - -/********************************************************************/ -/* The ESTOP0 fill functions are useful for debug. They fill the */ -/* RAM with software breakpoints that will trap runaway code. */ -/********************************************************************/ -hotmenu Fill_F28234_RAM_with_ESTOP0() -{ - GEL_MemoryFill(0x000000,1,0x000800,0x7625); /* Fill M0/M1 */ - GEL_MemoryFill(0x008000,1,0x002000,0x7625); /* Fill L0/L1 */ - GEL_MemoryFill(0x00A000,1,0x002000,0x7625); /* Fill L2/L3 */ - GEL_MemoryFill(0x00C000,1,0x002000,0x7625); /* Fill L4/L5 */ - GEL_MemoryFill(0x00E000,1,0x002000,0x7625); /* Fill L6/L7 */ -} - - -/********************************************************************/ -menuitem "Watchdog"; -hotmenu Disable_WD() -{ - *0x7029 = *0x7029 | 0x0068; /* Set the WDDIS bit */ - *0x7025 = 0x0055; /* Service the WD */ - *0x7025 = 0x00AA; /* once to be safe. */ - GEL_TextOut("\nWatchdog Timer Disabled"); -} - - -/********************************************************************/ -menuitem "Code Security Module" -hotmenu Unlock_CSM() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - /* Write passwords to the KEY registers. 0xFFFF's are dummy passwords. - User should replace them with the correct password for their DSP */ - *0xAE0 = 0xFFFF; - *0xAE1 = 0xFFFF; - *0xAE2 = 0xFFFF; - *0xAE3 = 0xFFFF; - *0xAE4 = 0xFFFF; - *0xAE5 = 0xFFFF; - *0xAE6 = 0xFFFF; - *0xAE7 = 0xFFFF; -} - - -/********************************************************************/ -menuitem "Addressing Modes"; -hotmenu C28x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C24x_Mode() -{ - ST1 = ST1 | 0x0100; /* AMODE = 1 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C27x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 & (~0x0200); /* OBJMODE = 0 */ -} - - -/********************************************************************/ -/* PLL Ratios */ -/* */ -/* The following table describes the PLL clocking ratios (0..10) */ -/* */ -/* Ratio CLKIN Description */ -/* ----- -------------- ------------ */ -/* 0 OSCCLK/2 PLL bypassed */ -/* 1 (OSCCLK * 1)/2 15 Mhz for 30 Mhz CLKIN */ -/* 2 (OSCCLK * 2)/2 30 Mhz for 30 Mhz CLKIN */ -/* 3 (OSCCLK * 3)/2 45 Mhz for 30 Mhz CLKIN */ -/* 4 (OSCCLK * 4)/2 60 Mhz for 30 Mhz CLKIN */ -/* 5 (OSCCLK * 5)/2 75 Mhz for 30 Mhz CLKIN */ -/* 6 (OSCCLK * 6)/2 90 Mhz for 30 Mhz CLKIN */ -/* 7 (OSCCLK * 7)/2 105 Mhz for 30 Mhz CLKIN */ -/* 8 (OSCCLK * 8)/2 120 Mhz for 30 Mhz CLKIN */ -/* 9 (OSCCLK * 9)/2 135 Mhz for 30 Mhz CLKIN */ -/* 10 (OSCCLK * 10)/2 150 Mhz for 30 Mhz CLKIN */ -/********************************************************************/ -menuitem "Set PLL Ratio"; - -hotmenu Bypass() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 0; /* CLKIN = OSCCLK/2, PLL is bypassed */ - PLL_Wait(); -} -hotmenu OSCCLK_x1_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x2_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x3_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x4_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x5_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x6_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x7_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x8_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x9_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x10_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/2 */ - PLL_Wait(); -} -// hotmenu OSCCLK_x1_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x2_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x3_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x4_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x5_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x6_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x7_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x8_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x9_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x10_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/1 */ -// PLL_Wait(); -// } - - - -/********************************************************************/ -/* For F2823x devices, DIVSEL is 1/4 by default. Switch it to 1/2 */ -/********************************************************************/ - -DIVSEL_div2() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - temp = *PLLSTS; - temp &= 0xFE7F; /* Clear bits 7 & 8 */ - temp |= 2 << 7; /* Set bit 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - - - -/********************************************************************/ -/* For F2823x devices, DIVSEL is 1/4 by default. Switch it to /1 */ -/********************************************************************/ - -DIVSEL_div1() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - DIVSEL_div2(); /* First switch DIVSEL to 1/2 and wait */ - wait(); - temp = *PLLSTS; - temp |= 3 << 7; /* Set bits 7 & 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - -wait() -{ - int delay = 0; - for (delay = 0; delay <= 5; delay ++) - {} -} - -/********************************************************************/ -/* For F2823x devices, check the PLLOCKS bit for PLL lock. */ -/********************************************************************/ -PLL_Wait() -{ - int PLLSTS; - int delay = 0; - - PLLSTS = 0x7011; - - - while ( ( (unsigned int)*PLLSTS & 0x0001) != 0x0001) - { - delay++; - GEL_TextOut("Waiting for PLL Lock, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); - } - GEL_TextOut("\nPLL lock complete, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); -} - -/********************************************************************/ -/* Load the ADC Calibration values from TI OTP */ -/********************************************************************/ -menuitem "ADC Calibration" -hotmenu ADC_Cal() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - if(((*0x0AEF) & 0x0001) == 0) - { - XAR0 = *0x701C; - *0x701C |= 0x0008; - *0x711C = *0x380083; - *0x711D = *0x380085; - *0x701C = XAR0; - XAR0 = 0; - } - else - { - GEL_TextOut("\nADC Calibration not complete, device is secure"); - } -} - -/********************************************************************/ -/* Enable the XINTF and configure GPIOs for XINTF function */ -/********************************************************************/ -menuitem "XINTF Enable" -hotmenu XINTF_Enable() -{ - - /* enable XINTF clock (XTIMCLK) */ - - *0x7020 = 0x3700; - /* GPBMUX1: XA0-XA7, XA16, XZCS0, */ - /* XZCS7, XREADY, XRNW, XWE0 */ - /* GPAMUX2: XA17-XA19, XZCS6 */ - /* GPCMUX2: XA8-XA15 */ - /* GPCMUX1: XD0-XD15 */ - *(unsigned long *)0x6F96 = 0xFFFFFFC0; /* GPBMUX1 */ - *(unsigned long *)0x6f88 = 0xFF000000; /* GPAMUX2 */ - *(unsigned long *)0x6FA8 = 0x0000AAAA; /* GPCMUX2 */ - *(unsigned long *)0x6FA6 = 0xAAAAAAAA; /* GPCMUX1 */ - - /* Uncomment for x32 data bus */ - /* GPBMUX2: XD16-XD31 */ -// *(unsigned long *)0x6F98 = 0xFFFFFFFF; /* GPBMUX2 */ - - /* Zone timing. - /* Each zone can be configured seperately */ - /* Uncomment the x16 or the x32 timing */ - /* depending on the data bus width for */ - /* the zone */ - - /* x16 Timing */ - *(unsigned long *)0x0B20 = 0x0043FFFF; /* Zone0 */ - *(unsigned long *)0x0B2C = 0x0043FFFF; /* Zone6 */ - *(unsigned long *)0x0B2E = 0x0043FFFF; /* Zone7 */ - - /* x32 Timing: -// *(unsigned long *)0x0B20 = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2C = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2E = 0x0041FFFF; /* x32 */ - -} - -/********************************************************************/ -/* The below are used to display the symbolic names of the F28234 */ -/* memory mapped registers in the watch window. To view these */ -/* registers, click on the GEL menu button in Code Composer Studio, */ -/* then select which registers or groups of registers you want to */ -/* view. They will appear in the watch window under the Watch1 tab. */ -/********************************************************************/ - -/* Add a space line to the GEL menu */ -menuitem "______________________________________"; -hotmenu __() {} - -/********************************************************************/ -/* A/D Converter Registers */ -/********************************************************************/ -menuitem "Watch ADC Registers"; - -hotmenu All_ADC_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); - - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} -hotmenu ADC_Control_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); -} -hotmenu ADCCHSELSEQx_Regs() -{ - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); -} -hotmenu ADCRESULT_0_to_7() -{ - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); -} -hotmenu ADCRESULT_8_to_15() -{ - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); -} -hotmenu ADCRESULT_Mirror_0_to_7() -{ - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); -} -hotmenu ADCRESULT_Mirror_8_to_15() -{ - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} - - -/********************************************************************/ -/* Clocking and Low-Power Registers */ -/********************************************************************/ -menuitem "Watch Clocking and Low-Power Registers"; - -hotmenu All_Clocking_and_Low_Power_Regs() -{ - GEL_WatchAdd("*0x7010,x","XCLK"); - GEL_WatchAdd("*0x7011,x","PLLSTS"); - GEL_WatchAdd("*0x701A,x","HISPCP"); - GEL_WatchAdd("*0x701B,x","LOSPCP"); - GEL_WatchAdd("*0x701C,x","PCLKCR0"); - GEL_WatchAdd("*0x701D,x","PCLKCR1"); - GEL_WatchAdd("*0x701E,x","LPMCR0"); - GEL_WatchAdd("*0x7020,x","PCLKCR3"); - GEL_WatchAdd("*0x7021,x","PLLCR"); -} - -/********************************************************************/ -/* Code Security Module Registers */ -/********************************************************************/ -menuitem "Watch Code Security Module Registers"; - -hotmenu CSMSCR() -{ - GEL_WatchAdd("*0x0AEF,x","CSMSCR"); - GEL_WatchAdd("(*0x0AEF>>15)&1,d"," FORCESEC bit"); - GEL_WatchAdd("(*0x0AEF)&1,d"," SECURE bit"); -} -hotmenu PWL_Locations() -{ - GEL_WatchAdd("*0x33FFF8,x","PWL0"); - GEL_WatchAdd("*0x33FFF9,x","PWL1"); - GEL_WatchAdd("*0x33FFFA,x","PWL2"); - GEL_WatchAdd("*0x33FFFB,x","PWL3"); - GEL_WatchAdd("*0x33FFFC,x","PWL4"); - GEL_WatchAdd("*0x33FFFD,x","PWL5"); - GEL_WatchAdd("*0x33FFFE,x","PWL6"); - GEL_WatchAdd("*0x33FFFF,x","PWL7"); -} - - -/********************************************************************/ -/* CPU Timer Registers */ -/********************************************************************/ -menuitem "Watch CPU Timer Registers"; - -hotmenu All_CPU_Timer0_Regs() -{ - GEL_WatchAdd("*0x0C00,x","TIMER0TIM"); - GEL_WatchAdd("*0x0C01,x","TIMER0TIMH"); - GEL_WatchAdd("*0x0C02,x","TIMER0PRD"); - GEL_WatchAdd("*0x0C03,x","TIMER0PRDH"); - GEL_WatchAdd("*0x0C04,x","TIMER0TCR"); - GEL_WatchAdd("*0x0C06,x","TIMER0TPR"); - GEL_WatchAdd("*0x0C07,x","TIMER0TPRH"); -} -hotmenu All_CPU_Timer1_Regs() -{ - GEL_WatchAdd("*0x0C08,x","TIMER1TIM"); - GEL_WatchAdd("*0x0C09,x","TIMER1TIMH"); - GEL_WatchAdd("*0x0C0A,x","TIMER1PRD"); - GEL_WatchAdd("*0x0C0B,x","TIMER1PRDH"); - GEL_WatchAdd("*0x0C0C,x","TIMER1TCR"); - GEL_WatchAdd("*0x0C0E,x","TIMER1TPR"); - GEL_WatchAdd("*0x0C0F,x","TIMER1TPRH"); -} -hotmenu All_CPU_Timer2_Regs() -{ - GEL_WatchAdd("*0x0C10,x","TIMER2TIM"); - GEL_WatchAdd("*0x0C11,x","TIMER2TIMH"); - GEL_WatchAdd("*0x0C12,x","TIMER2PRD"); - GEL_WatchAdd("*0x0C13,x","TIMER2PRDH"); - GEL_WatchAdd("*0x0C14,x","TIMER2TCR"); - GEL_WatchAdd("*0x0C16,x","TIMER2TPR"); - GEL_WatchAdd("*0x0C17,x","TIMER2TPRH"); -} - - -/********************************************************************/ -/* Device Emulation Registers */ -/********************************************************************/ -menuitem "Watch Device Emulation Registers"; - -hotmenu All_Emulation_Regs() -{ - GEL_WatchAdd("*(long *)0x0880,x","DEVICECNF"); - GEL_WatchAdd("*0x0882,x","CLASSID"); - GEL_WatchAdd("*0x0883,x","REVID"); - GEL_WatchAdd("*0x0884,x","PROTSTART"); - GEL_WatchAdd("*0x0885,x","PROTRANGE"); - GEL_WatchAdd("*0x380090,x","PARTID"); -} - -/********************************************************************/ -/* DMA Registers */ -/********************************************************************/ -menuitem "Watch DMA Registers"; - -hotmenu All_DMA_Regs() -{ - GEL_WatchAdd("*0x1000,x","DMACTRL"); - GEL_WatchAdd("*0x1001,x","DEBUGCTRL"); - GEL_WatchAdd("*0x1002,x","REVISION"); - GEL_WatchAdd("*0x1004,x","PRIORITYCTRL1"); - GEL_WatchAdd("*0x1006,x","PRIORITYSTAT"); - - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); - - -} -hotmenu DMA_Channel_1_regs() -{ - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); -} - -hotmenu DMA_Channel_2_regs() -{ - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_3_regs() -{ - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_4_regs() -{ - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_5_regs() -{ - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_6_regs() -{ - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); -} - -/********************************************************************/ -/* eCAN Registers */ -/********************************************************************/ -menuitem "Watch eCAN Registers"; - -hotmenu eCAN_A_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6000,x","eCANA CANME"); - GEL_WatchAdd("*(long *)0x6002,x","eCANA CANMD"); - GEL_WatchAdd("*(long *)0x6004,x","eCANA CANTRS"); - GEL_WatchAdd("*(long *)0x6006,x","eCANA CANTRR"); - GEL_WatchAdd("*(long *)0x6008,x","eCANA CANTA"); - GEL_WatchAdd("*(long *)0x600A,x","eCANA CANAA"); - GEL_WatchAdd("*(long *)0x600C,x","eCANA CANRMP"); - GEL_WatchAdd("*(long *)0x600E,x","eCANA CANRML"); - GEL_WatchAdd("*(long *)0x6010,x","eCANA CANRFP"); - GEL_WatchAdd("*(long *)0x6014,x","eCANA CANMC"); - GEL_WatchAdd("*(long *)0x6016,x","eCANA CANBTC"); - GEL_WatchAdd("*(long *)0x6018,x","eCANA CANES"); - GEL_WatchAdd("*(long *)0x601A,x","eCANA CANTEC"); - GEL_WatchAdd("*(long *)0x601C,x","eCANA CANREC"); - GEL_WatchAdd("*(long *)0x601E,x","eCANA CANGIF0"); - GEL_WatchAdd("*(long *)0x6020,x","eCANA CANGIM"); - GEL_WatchAdd("*(long *)0x6022,x","eCANA CANGIF1"); - GEL_WatchAdd("*(long *)0x6024,x","eCANA CANMIM"); - GEL_WatchAdd("*(long *)0x6026,x","eCANA CANMIL"); - GEL_WatchAdd("*(long *)0x6028,x","eCANA CANOPC"); - GEL_WatchAdd("*(long *)0x602A,x","eCANA CANTIOC"); - GEL_WatchAdd("*(long *)0x602C,x","eCANA CANRIOC"); - GEL_WatchAdd("*(long *)0x602E,x","eCANA CANLNT"); - GEL_WatchAdd("*(long *)0x6030,x","eCANA CANTOC"); - GEL_WatchAdd("*(long *)0x6032,x","eCANA CANTOS"); -} -hotmenu eCAN_A_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6040,x","eCANA LAM0"); - GEL_WatchAdd("*(long *)0x6080,x","eCANA MOTS0"); - GEL_WatchAdd("*(long *)0x60C0,x","eCANA MOTO0"); - GEL_WatchAdd("*(long *)0x6100,x","eCANA MID0"); - GEL_WatchAdd("*(long *)0x6102,x","eCANA MCF0"); - GEL_WatchAdd("*(long *)0x6104,x","eCANA MDL0"); - GEL_WatchAdd("*(long *)0x6106,x","eCANA MDH0"); - - GEL_WatchAdd("*(long *)0x6042,x","eCANA LAM1"); - GEL_WatchAdd("*(long *)0x6082,x","eCANA MOTS1"); - GEL_WatchAdd("*(long *)0x60C2,x","eCANA MOTO1"); - GEL_WatchAdd("*(long *)0x6108,x","eCANA MID1"); - GEL_WatchAdd("*(long *)0x610A,x","eCANA MCF1"); - GEL_WatchAdd("*(long *)0x610C,x","eCANA MDL1"); - GEL_WatchAdd("*(long *)0x610E,x","eCANA MDH1"); -} -hotmenu eCAN_A_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6044,x","eCANA LAM2"); - GEL_WatchAdd("*(long *)0x6084,x","eCANA MOTS2"); - GEL_WatchAdd("*(long *)0x60C4,x","eCANA MOTO2"); - GEL_WatchAdd("*(long *)0x6110,x","eCANA MID2"); - GEL_WatchAdd("*(long *)0x6112,x","eCANA MCF2"); - GEL_WatchAdd("*(long *)0x6114,x","eCANA MDL2"); - GEL_WatchAdd("*(long *)0x6116,x","eCANA MDH2"); - - GEL_WatchAdd("*(long *)0x6046,x","eCANA LAM3"); - GEL_WatchAdd("*(long *)0x6086,x","eCANA MOTS3"); - GEL_WatchAdd("*(long *)0x60C6,x","eCANA MOTO3"); - GEL_WatchAdd("*(long *)0x6118,x","eCANA MID3"); - GEL_WatchAdd("*(long *)0x611A,x","eCANA MCF3"); - GEL_WatchAdd("*(long *)0x611C,x","eCANA MDL3"); - GEL_WatchAdd("*(long *)0x611E,x","eCANA MDH3"); -} -hotmenu eCAN_A_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6048,x","eCANA LAM4"); - GEL_WatchAdd("*(long *)0x6088,x","eCANA MOTS4"); - GEL_WatchAdd("*(long *)0x60C8,x","eCANA MOTO4"); - GEL_WatchAdd("*(long *)0x6120,x","eCANA MID4"); - GEL_WatchAdd("*(long *)0x6122,x","eCANA MCF4"); - GEL_WatchAdd("*(long *)0x6124,x","eCANA MDL4"); - GEL_WatchAdd("*(long *)0x6126,x","eCANA MDH4"); - - GEL_WatchAdd("*(long *)0x604A,x","eCANA LAM5"); - GEL_WatchAdd("*(long *)0x608A,x","eCANA MOTS5"); - GEL_WatchAdd("*(long *)0x60CA,x","eCANA MOTO5"); - GEL_WatchAdd("*(long *)0x6128,x","eCANA MID5"); - GEL_WatchAdd("*(long *)0x612A,x","eCANA MCF5"); - GEL_WatchAdd("*(long *)0x612C,x","eCANA MDL5"); - GEL_WatchAdd("*(long *)0x612E,x","eCANA MDH5"); -} -hotmenu eCAN_A_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x604C,x","eCANA LAM6"); - GEL_WatchAdd("*(long *)0x608C,x","eCANA MOTS6"); - GEL_WatchAdd("*(long *)0x60CC,x","eCANA MOTO6"); - GEL_WatchAdd("*(long *)0x6130,x","eCANA MID6"); - GEL_WatchAdd("*(long *)0x6132,x","eCANA MCF6"); - GEL_WatchAdd("*(long *)0x6134,x","eCANA MDL6"); - GEL_WatchAdd("*(long *)0x6136,x","eCANA MDH6"); - - GEL_WatchAdd("*(long *)0x604E,x","eCANA LAM7"); - GEL_WatchAdd("*(long *)0x608E,x","eCANA MOTS7"); - GEL_WatchAdd("*(long *)0x60CE,x","eCANA MOTO7"); - GEL_WatchAdd("*(long *)0x6138,x","eCANA MID7"); - GEL_WatchAdd("*(long *)0x613A,x","eCANA MCF7"); - GEL_WatchAdd("*(long *)0x613C,x","eCANA MDL7"); - GEL_WatchAdd("*(long *)0x613E,x","eCANA MDH7"); -} -hotmenu eCAN_A_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6050,x","eCANA LAM8"); - GEL_WatchAdd("*(long *)0x6090,x","eCANA MOTS8"); - GEL_WatchAdd("*(long *)0x60D0,x","eCANA MOTO8"); - GEL_WatchAdd("*(long *)0x6140,x","eCANA MID8"); - GEL_WatchAdd("*(long *)0x6142,x","eCANA MCF8"); - GEL_WatchAdd("*(long *)0x6144,x","eCANA MDL8"); - GEL_WatchAdd("*(long *)0x6146,x","eCANA MDH8"); - - GEL_WatchAdd("*(long *)0x6052,x","eCANA LAM9"); - GEL_WatchAdd("*(long *)0x6092,x","eCANA MOTS9"); - GEL_WatchAdd("*(long *)0x60D2,x","eCANA MOTO9"); - GEL_WatchAdd("*(long *)0x6148,x","eCANA MID9"); - GEL_WatchAdd("*(long *)0x614A,x","eCANA MCF9"); - GEL_WatchAdd("*(long *)0x614C,x","eCANA MDL9"); - GEL_WatchAdd("*(long *)0x614E,x","eCANA MDH9"); -} -hotmenu eCAN_A_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6054,x","eCANA LAM10"); - GEL_WatchAdd("*(long *)0x6094,x","eCANA MOTS10"); - GEL_WatchAdd("*(long *)0x60D4,x","eCANA MOTO10"); - GEL_WatchAdd("*(long *)0x6150,x","eCANA MID10"); - GEL_WatchAdd("*(long *)0x6152,x","eCANA MCF10"); - GEL_WatchAdd("*(long *)0x6154,x","eCANA MDL10"); - GEL_WatchAdd("*(long *)0x6156,x","eCANA MDH10"); - - GEL_WatchAdd("*(long *)0x6056,x","eCANA LAM11"); - GEL_WatchAdd("*(long *)0x6096,x","eCANA MOTS11"); - GEL_WatchAdd("*(long *)0x60D6,x","eCANA MOTO11"); - GEL_WatchAdd("*(long *)0x6158,x","eCANA MID11"); - GEL_WatchAdd("*(long *)0x615A,x","eCANA MCF11"); - GEL_WatchAdd("*(long *)0x615C,x","eCANA MDL11"); - GEL_WatchAdd("*(long *)0x615E,x","eCANA MDH11"); -} -hotmenu eCAN_A_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6058,x","eCANA LAM12"); - GEL_WatchAdd("*(long *)0x6098,x","eCANA MOTS12"); - GEL_WatchAdd("*(long *)0x60D8,x","eCANA MOTO12"); - GEL_WatchAdd("*(long *)0x6160,x","eCANA MID12"); - GEL_WatchAdd("*(long *)0x6162,x","eCANA MCF12"); - GEL_WatchAdd("*(long *)0x6164,x","eCANA MDL12"); - GEL_WatchAdd("*(long *)0x6166,x","eCANA MDH12"); - - GEL_WatchAdd("*(long *)0x605A,x","eCANA LAM13"); - GEL_WatchAdd("*(long *)0x609A,x","eCANA MOTS13"); - GEL_WatchAdd("*(long *)0x60DA,x","eCANA MOTO13"); - GEL_WatchAdd("*(long *)0x6168,x","eCANA MID13"); - GEL_WatchAdd("*(long *)0x616A,x","eCANA MCF13"); - GEL_WatchAdd("*(long *)0x616C,x","eCANA MDL13"); - GEL_WatchAdd("*(long *)0x616E,x","eCANA MDH13"); -} -hotmenu eCAN_A_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x605C,x","eCANA LAM14"); - GEL_WatchAdd("*(long *)0x609C,x","eCANA MOTS14"); - GEL_WatchAdd("*(long *)0x60DC,x","eCANA MOTO14"); - GEL_WatchAdd("*(long *)0x6170,x","eCANA MID14"); - GEL_WatchAdd("*(long *)0x6172,x","eCANA MCF14"); - GEL_WatchAdd("*(long *)0x6174,x","eCANA MDL14"); - GEL_WatchAdd("*(long *)0x6176,x","eCANA MDH14"); - - GEL_WatchAdd("*(long *)0x605E,x","eCANA LAM15"); - GEL_WatchAdd("*(long *)0x609E,x","eCANA MOTS15"); - GEL_WatchAdd("*(long *)0x60DE,x","eCANA MOTO15"); - GEL_WatchAdd("*(long *)0x6178,x","eCANA MID15"); - GEL_WatchAdd("*(long *)0x617A,x","eCANA MCF15"); - GEL_WatchAdd("*(long *)0x617C,x","eCANA MDL15"); - GEL_WatchAdd("*(long *)0x617E,x","eCANA MDH15"); -} -hotmenu eCAN_A_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6060,x","eCANA LAM16"); - GEL_WatchAdd("*(long *)0x60A0,x","eCANA MOTS16"); - GEL_WatchAdd("*(long *)0x60E0,x","eCANA MOTO16"); - GEL_WatchAdd("*(long *)0x6180,x","eCANA MID16"); - GEL_WatchAdd("*(long *)0x6182,x","eCANA MCF16"); - GEL_WatchAdd("*(long *)0x6184,x","eCANA MDL16"); - GEL_WatchAdd("*(long *)0x6186,x","eCANA MDH16"); - - GEL_WatchAdd("*(long *)0x6062,x","eCANA LAM17"); - GEL_WatchAdd("*(long *)0x60A2,x","eCANA MOTS17"); - GEL_WatchAdd("*(long *)0x60E2,x","eCANA MOTO17"); - GEL_WatchAdd("*(long *)0x6188,x","eCANA MID17"); - GEL_WatchAdd("*(long *)0x618A,x","eCANA MCF17"); - GEL_WatchAdd("*(long *)0x618C,x","eCANA MDL17"); - GEL_WatchAdd("*(long *)0x618E,x","eCANA MDH17"); -} -hotmenu eCAN_A_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6064,x","eCANA LAM18"); - GEL_WatchAdd("*(long *)0x60A4,x","eCANA MOTS18"); - GEL_WatchAdd("*(long *)0x60E4,x","eCANA MOTO18"); - GEL_WatchAdd("*(long *)0x6190,x","eCANA MID18"); - GEL_WatchAdd("*(long *)0x6192,x","eCANA MCF18"); - GEL_WatchAdd("*(long *)0x6194,x","eCANA MDL18"); - GEL_WatchAdd("*(long *)0x6196,x","eCANA MDH18"); - - GEL_WatchAdd("*(long *)0x6066,x","eCANA LAM19"); - GEL_WatchAdd("*(long *)0x60A6,x","eCANA MOTS19"); - GEL_WatchAdd("*(long *)0x60E6,x","eCANA MOTO19"); - GEL_WatchAdd("*(long *)0x6198,x","eCANA MID19"); - GEL_WatchAdd("*(long *)0x619A,x","eCANA MCF19"); - GEL_WatchAdd("*(long *)0x619C,x","eCANA MDL19"); - GEL_WatchAdd("*(long *)0x619E,x","eCANA MDH19"); -} -hotmenu eCAN_A_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6068,x","eCANA LAM20"); - GEL_WatchAdd("*(long *)0x60A8,x","eCANA MOTS20"); - GEL_WatchAdd("*(long *)0x60E8,x","eCANA MOTO20"); - GEL_WatchAdd("*(long *)0x61A0,x","eCANA MID20"); - GEL_WatchAdd("*(long *)0x61A2,x","eCANA MCF20"); - GEL_WatchAdd("*(long *)0x61A4,x","eCANA MDL20"); - GEL_WatchAdd("*(long *)0x61A6,x","eCANA MDH20"); - - GEL_WatchAdd("*(long *)0x606A,x","eCANA LAM21"); - GEL_WatchAdd("*(long *)0x60AA,x","eCANA MOTS21"); - GEL_WatchAdd("*(long *)0x60EA,x","eCANA MOTO21"); - GEL_WatchAdd("*(long *)0x61A8,x","eCANA MID21"); - GEL_WatchAdd("*(long *)0x61AA,x","eCANA MCF21"); - GEL_WatchAdd("*(long *)0x61AC,x","eCANA MDL21"); - GEL_WatchAdd("*(long *)0x61AE,x","eCANA MDH21"); -} -hotmenu eCAN_A_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x606C,x","eCANA LAM22"); - GEL_WatchAdd("*(long *)0x60AC,x","eCANA MOTS22"); - GEL_WatchAdd("*(long *)0x60EC,x","eCANA MOTO22"); - GEL_WatchAdd("*(long *)0x61B0,x","eCANA MID22"); - GEL_WatchAdd("*(long *)0x61B2,x","eCANA MCF22"); - GEL_WatchAdd("*(long *)0x61B4,x","eCANA MDL22"); - GEL_WatchAdd("*(long *)0x61B6,x","eCANA MDH22"); - - GEL_WatchAdd("*(long *)0x606E,x","eCANA LAM23"); - GEL_WatchAdd("*(long *)0x60AE,x","eCANA MOTS23"); - GEL_WatchAdd("*(long *)0x60EE,x","eCANA MOTO23"); - GEL_WatchAdd("*(long *)0x61B8,x","eCANA MID23"); - GEL_WatchAdd("*(long *)0x61BA,x","eCANA MCF23"); - GEL_WatchAdd("*(long *)0x61BC,x","eCANA MDL23"); - GEL_WatchAdd("*(long *)0x61BE,x","eCANA MDH23"); -} -hotmenu eCAN_A_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6070,x","eCANA LAM24"); - GEL_WatchAdd("*(long *)0x60B0,x","eCANA MOTS24"); - GEL_WatchAdd("*(long *)0x60F0,x","eCANA MOTO24"); - GEL_WatchAdd("*(long *)0x61C0,x","eCANA MID24"); - GEL_WatchAdd("*(long *)0x61C2,x","eCANA MCF24"); - GEL_WatchAdd("*(long *)0x61C4,x","eCANA MDL24"); - GEL_WatchAdd("*(long *)0x61C6,x","eCANA MDH24"); - - GEL_WatchAdd("*(long *)0x6072,x","eCANA LAM25"); - GEL_WatchAdd("*(long *)0x60B2,x","eCANA MOTS25"); - GEL_WatchAdd("*(long *)0x60F2,x","eCANA MOTO25"); - GEL_WatchAdd("*(long *)0x61C8,x","eCANA MID25"); - GEL_WatchAdd("*(long *)0x61CA,x","eCANA MCF25"); - GEL_WatchAdd("*(long *)0x61CC,x","eCANA MDL25"); - GEL_WatchAdd("*(long *)0x61CE,x","eCANA MDH25"); -} -hotmenu eCAN_A_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6074,x","eCANA LAM26"); - GEL_WatchAdd("*(long *)0x60B4,x","eCANA MOTS26"); - GEL_WatchAdd("*(long *)0x60F4,x","eCANA MOTO26"); - GEL_WatchAdd("*(long *)0x61D0,x","eCANA MID26"); - GEL_WatchAdd("*(long *)0x61D2,x","eCANA MCF26"); - GEL_WatchAdd("*(long *)0x61D4,x","eCANA MDL26"); - GEL_WatchAdd("*(long *)0x61D6,x","eCANA MDH26"); - - GEL_WatchAdd("*(long *)0x6076,x","eCANA LAM27"); - GEL_WatchAdd("*(long *)0x60B6,x","eCANA MOTS27"); - GEL_WatchAdd("*(long *)0x60F6,x","eCANA MOTO27"); - GEL_WatchAdd("*(long *)0x61D8,x","eCANA MID27"); - GEL_WatchAdd("*(long *)0x61DA,x","eCANA MCF27"); - GEL_WatchAdd("*(long *)0x61DC,x","eCANA MDL27"); - GEL_WatchAdd("*(long *)0x61DE,x","eCANA MDH27"); -} -hotmenu eCAN_A_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6078,x","eCANA LAM28"); - GEL_WatchAdd("*(long *)0x60B8,x","eCANA MOTS28"); - GEL_WatchAdd("*(long *)0x60F8,x","eCANA MOTO28"); - GEL_WatchAdd("*(long *)0x61E0,x","eCANA MID28"); - GEL_WatchAdd("*(long *)0x61E2,x","eCANA MCF28"); - GEL_WatchAdd("*(long *)0x61E4,x","eCANA MDL28"); - GEL_WatchAdd("*(long *)0x61E6,x","eCANA MDH28"); - - GEL_WatchAdd("*(long *)0x607A,x","eCANA LAM29"); - GEL_WatchAdd("*(long *)0x60BA,x","eCANA MOTS29"); - GEL_WatchAdd("*(long *)0x60FA,x","eCANA MOTO29"); - GEL_WatchAdd("*(long *)0x61E8,x","eCANA MID29"); - GEL_WatchAdd("*(long *)0x61EA,x","eCANA MCF29"); - GEL_WatchAdd("*(long *)0x61EC,x","eCANA MDL29"); - GEL_WatchAdd("*(long *)0x61EE,x","eCANA MDH29"); -} -hotmenu eCAN_A_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x607C,x","eCANA LAM30"); - GEL_WatchAdd("*(long *)0x60BC,x","eCANA MOTS30"); - GEL_WatchAdd("*(long *)0x60FC,x","eCANA MOTO30"); - GEL_WatchAdd("*(long *)0x61F0,x","eCANA MID30"); - GEL_WatchAdd("*(long *)0x61F2,x","eCANA MCF30"); - GEL_WatchAdd("*(long *)0x61F4,x","eCANA MDL30"); - GEL_WatchAdd("*(long *)0x61F6,x","eCANA MDH30"); - - GEL_WatchAdd("*(long *)0x607E,x","eCANA LAM31"); - GEL_WatchAdd("*(long *)0x60BE,x","eCANA MOTS31"); - GEL_WatchAdd("*(long *)0x60FE,x","eCANA MOTO31"); - GEL_WatchAdd("*(long *)0x61F8,x","eCANA MID31"); - GEL_WatchAdd("*(long *)0x61FA,x","eCANA MCF31"); - GEL_WatchAdd("*(long *)0x61FC,x","eCANA MDL31"); - GEL_WatchAdd("*(long *)0x61FE,x","eCANA MDH31"); -} -hotmenu eCAN_B_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6200,x","eCANB CANME"); - GEL_WatchAdd("*(long *)0x6202,x","eCANB CANMD"); - GEL_WatchAdd("*(long *)0x6204,x","eCANB CANTRS"); - GEL_WatchAdd("*(long *)0x6206,x","eCANB CANTRR"); - GEL_WatchAdd("*(long *)0x6208,x","eCANB CANTA"); - GEL_WatchAdd("*(long *)0x620A,x","eCANB CANAA"); - GEL_WatchAdd("*(long *)0x620C,x","eCANB CANRMP"); - GEL_WatchAdd("*(long *)0x620E,x","eCANB CANRML"); - GEL_WatchAdd("*(long *)0x6210,x","eCANB CANRFP"); - GEL_WatchAdd("*(long *)0x6214,x","eCANB CANMC"); - GEL_WatchAdd("*(long *)0x6216,x","eCANB CANBTC"); - GEL_WatchAdd("*(long *)0x6218,x","eCANB CANES"); - GEL_WatchAdd("*(long *)0x621A,x","eCANB CANTEC"); - GEL_WatchAdd("*(long *)0x621C,x","eCANB CANREC"); - GEL_WatchAdd("*(long *)0x621E,x","eCANB CANGIF0"); - GEL_WatchAdd("*(long *)0x6220,x","eCANB CANGIM"); - GEL_WatchAdd("*(long *)0x6222,x","eCANB CANGIF1"); - GEL_WatchAdd("*(long *)0x6224,x","eCANB CANMIM"); - GEL_WatchAdd("*(long *)0x6226,x","eCANB CANMIL"); - GEL_WatchAdd("*(long *)0x6228,x","eCANB CANOPC"); - GEL_WatchAdd("*(long *)0x622A,x","eCANB CANTIOC"); - GEL_WatchAdd("*(long *)0x622C,x","eCANB CANRIOC"); - GEL_WatchAdd("*(long *)0x622E,x","eCANB CANLNT"); - GEL_WatchAdd("*(long *)0x6230,x","eCANB CANTOC"); - GEL_WatchAdd("*(long *)0x6232,x","eCANB CANTOS"); -} -hotmenu eCAN_B_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6240,x","eCANB LAM0"); - GEL_WatchAdd("*(long *)0x6280,x","eCANB MOTS0"); - GEL_WatchAdd("*(long *)0x62C0,x","eCANB MOTO0"); - GEL_WatchAdd("*(long *)0x6300,x","eCANB MID0"); - GEL_WatchAdd("*(long *)0x6302,x","eCANB MCF0"); - GEL_WatchAdd("*(long *)0x6304,x","eCANB MDL0"); - GEL_WatchAdd("*(long *)0x6306,x","eCANB MDH0"); - - GEL_WatchAdd("*(long *)0x6242,x","eCANB LAM1"); - GEL_WatchAdd("*(long *)0x6282,x","eCANB MOTS1"); - GEL_WatchAdd("*(long *)0x62C2,x","eCANB MOTO1"); - GEL_WatchAdd("*(long *)0x6308,x","eCANB MID1"); - GEL_WatchAdd("*(long *)0x630A,x","eCANB MCF1"); - GEL_WatchAdd("*(long *)0x630C,x","eCANB MDL1"); - GEL_WatchAdd("*(long *)0x630E,x","eCANB MDH1"); -} -hotmenu eCAN_B_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6244,x","eCANB LAM2"); - GEL_WatchAdd("*(long *)0x6284,x","eCANB MOTS2"); - GEL_WatchAdd("*(long *)0x62C4,x","eCANB MOTO2"); - GEL_WatchAdd("*(long *)0x6310,x","eCANB MID2"); - GEL_WatchAdd("*(long *)0x6312,x","eCANB MCF2"); - GEL_WatchAdd("*(long *)0x6314,x","eCANB MDL2"); - GEL_WatchAdd("*(long *)0x6316,x","eCANB MDH2"); - - GEL_WatchAdd("*(long *)0x6246,x","eCANB LAM3"); - GEL_WatchAdd("*(long *)0x6286,x","eCANB MOTS3"); - GEL_WatchAdd("*(long *)0x62C6,x","eCANB MOTO3"); - GEL_WatchAdd("*(long *)0x6318,x","eCANB MID3"); - GEL_WatchAdd("*(long *)0x631A,x","eCANB MCF3"); - GEL_WatchAdd("*(long *)0x631C,x","eCANB MDL3"); - GEL_WatchAdd("*(long *)0x631E,x","eCANB MDH3"); -} -hotmenu eCAN_B_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6248,x","eCANB LAM4"); - GEL_WatchAdd("*(long *)0x6288,x","eCANB MOTS4"); - GEL_WatchAdd("*(long *)0x62C8,x","eCANB MOTO4"); - GEL_WatchAdd("*(long *)0x6320,x","eCANB MID4"); - GEL_WatchAdd("*(long *)0x6322,x","eCANB MCF4"); - GEL_WatchAdd("*(long *)0x6324,x","eCANB MDL4"); - GEL_WatchAdd("*(long *)0x6326,x","eCANB MDH4"); - - GEL_WatchAdd("*(long *)0x624A,x","eCANB LAM5"); - GEL_WatchAdd("*(long *)0x628A,x","eCANB MOTS5"); - GEL_WatchAdd("*(long *)0x62CA,x","eCANB MOTO5"); - GEL_WatchAdd("*(long *)0x6328,x","eCANB MID5"); - GEL_WatchAdd("*(long *)0x632A,x","eCANB MCF5"); - GEL_WatchAdd("*(long *)0x632C,x","eCANB MDL5"); - GEL_WatchAdd("*(long *)0x632E,x","eCANB MDH5"); -} -hotmenu eCAN_B_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x624C,x","eCANB LAM6"); - GEL_WatchAdd("*(long *)0x628C,x","eCANB MOTS6"); - GEL_WatchAdd("*(long *)0x62CC,x","eCANB MOTO6"); - GEL_WatchAdd("*(long *)0x6330,x","eCANB MID6"); - GEL_WatchAdd("*(long *)0x6332,x","eCANB MCF6"); - GEL_WatchAdd("*(long *)0x6334,x","eCANB MDL6"); - GEL_WatchAdd("*(long *)0x6336,x","eCANB MDH6"); - - GEL_WatchAdd("*(long *)0x624E,x","eCANB LAM7"); - GEL_WatchAdd("*(long *)0x628E,x","eCANB MOTS7"); - GEL_WatchAdd("*(long *)0x62CE,x","eCANB MOTO7"); - GEL_WatchAdd("*(long *)0x6338,x","eCANB MID7"); - GEL_WatchAdd("*(long *)0x633A,x","eCANB MCF7"); - GEL_WatchAdd("*(long *)0x633C,x","eCANB MDL7"); - GEL_WatchAdd("*(long *)0x633E,x","eCANB MDH7"); -} -hotmenu eCAN_B_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6250,x","eCANB LAM8"); - GEL_WatchAdd("*(long *)0x6290,x","eCANB MOTS8"); - GEL_WatchAdd("*(long *)0x62D0,x","eCANB MOTO8"); - GEL_WatchAdd("*(long *)0x6340,x","eCANB MID8"); - GEL_WatchAdd("*(long *)0x6342,x","eCANB MCF8"); - GEL_WatchAdd("*(long *)0x6344,x","eCANB MDL8"); - GEL_WatchAdd("*(long *)0x6346,x","eCANB MDH8"); - - GEL_WatchAdd("*(long *)0x6252,x","eCANB LAM9"); - GEL_WatchAdd("*(long *)0x6292,x","eCANB MOTS9"); - GEL_WatchAdd("*(long *)0x62D2,x","eCANB MOTO9"); - GEL_WatchAdd("*(long *)0x6348,x","eCANB MID9"); - GEL_WatchAdd("*(long *)0x634A,x","eCANB MCF9"); - GEL_WatchAdd("*(long *)0x634C,x","eCANB MDL9"); - GEL_WatchAdd("*(long *)0x634E,x","eCANB MDH9"); -} -hotmenu eCAN_B_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6254,x","eCANB LAM10"); - GEL_WatchAdd("*(long *)0x6294,x","eCANB MOTS10"); - GEL_WatchAdd("*(long *)0x62D4,x","eCANB MOTO10"); - GEL_WatchAdd("*(long *)0x6350,x","eCANB MID10"); - GEL_WatchAdd("*(long *)0x6352,x","eCANB MCF10"); - GEL_WatchAdd("*(long *)0x6354,x","eCANB MDL10"); - GEL_WatchAdd("*(long *)0x6356,x","eCANB MDH10"); - - GEL_WatchAdd("*(long *)0x6256,x","eCANB LAM11"); - GEL_WatchAdd("*(long *)0x6296,x","eCANB MOTS11"); - GEL_WatchAdd("*(long *)0x62D6,x","eCANB MOTO11"); - GEL_WatchAdd("*(long *)0x6358,x","eCANB MID11"); - GEL_WatchAdd("*(long *)0x635A,x","eCANB MCF11"); - GEL_WatchAdd("*(long *)0x635C,x","eCANB MDL11"); - GEL_WatchAdd("*(long *)0x635E,x","eCANB MDH11"); -} -hotmenu eCAN_B_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6258,x","eCANB LAM12"); - GEL_WatchAdd("*(long *)0x6298,x","eCANB MOTS12"); - GEL_WatchAdd("*(long *)0x62D8,x","eCANB MOTO12"); - GEL_WatchAdd("*(long *)0x6360,x","eCANB MID12"); - GEL_WatchAdd("*(long *)0x6362,x","eCANB MCF12"); - GEL_WatchAdd("*(long *)0x6364,x","eCANB MDL12"); - GEL_WatchAdd("*(long *)0x6366,x","eCANB MDH12"); - - GEL_WatchAdd("*(long *)0x625A,x","eCANB LAM13"); - GEL_WatchAdd("*(long *)0x629A,x","eCANB MOTS13"); - GEL_WatchAdd("*(long *)0x62DA,x","eCANB MOTO13"); - GEL_WatchAdd("*(long *)0x6368,x","eCANB MID13"); - GEL_WatchAdd("*(long *)0x636A,x","eCANB MCF13"); - GEL_WatchAdd("*(long *)0x636C,x","eCANB MDL13"); - GEL_WatchAdd("*(long *)0x636E,x","eCANB MDH13"); -} -hotmenu eCAN_B_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x625C,x","eCANB LAM14"); - GEL_WatchAdd("*(long *)0x629C,x","eCANB MOTS14"); - GEL_WatchAdd("*(long *)0x62DC,x","eCANB MOTO14"); - GEL_WatchAdd("*(long *)0x6370,x","eCANB MID14"); - GEL_WatchAdd("*(long *)0x6372,x","eCANB MCF14"); - GEL_WatchAdd("*(long *)0x6374,x","eCANB MDL14"); - GEL_WatchAdd("*(long *)0x6376,x","eCANB MDH14"); - - GEL_WatchAdd("*(long *)0x625E,x","eCANB LAM15"); - GEL_WatchAdd("*(long *)0x629E,x","eCANB MOTS15"); - GEL_WatchAdd("*(long *)0x62DE,x","eCANB MOTO15"); - GEL_WatchAdd("*(long *)0x6378,x","eCANB MID15"); - GEL_WatchAdd("*(long *)0x637A,x","eCANB MCF15"); - GEL_WatchAdd("*(long *)0x637C,x","eCANB MDL15"); - GEL_WatchAdd("*(long *)0x637E,x","eCANB MDH15"); -} -hotmenu eCAN_B_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6260,x","eCANB LAM16"); - GEL_WatchAdd("*(long *)0x62A0,x","eCANB MOTS16"); - GEL_WatchAdd("*(long *)0x62E0,x","eCANB MOTO16"); - GEL_WatchAdd("*(long *)0x6380,x","eCANB MID16"); - GEL_WatchAdd("*(long *)0x6382,x","eCANB MCF16"); - GEL_WatchAdd("*(long *)0x6384,x","eCANB MDL16"); - GEL_WatchAdd("*(long *)0x6386,x","eCANB MDH16"); - - GEL_WatchAdd("*(long *)0x6262,x","eCANB LAM17"); - GEL_WatchAdd("*(long *)0x62A2,x","eCANB MOTS17"); - GEL_WatchAdd("*(long *)0x62E2,x","eCANB MOTO17"); - GEL_WatchAdd("*(long *)0x6388,x","eCANB MID17"); - GEL_WatchAdd("*(long *)0x638A,x","eCANB MCF17"); - GEL_WatchAdd("*(long *)0x638C,x","eCANB MDL17"); - GEL_WatchAdd("*(long *)0x638E,x","eCANB MDH17"); -} -hotmenu eCAN_B_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6264,x","eCANB LAM18"); - GEL_WatchAdd("*(long *)0x62A4,x","eCANB MOTS18"); - GEL_WatchAdd("*(long *)0x62E4,x","eCANB MOTO18"); - GEL_WatchAdd("*(long *)0x6390,x","eCANB MID18"); - GEL_WatchAdd("*(long *)0x6392,x","eCANB MCF18"); - GEL_WatchAdd("*(long *)0x6394,x","eCANB MDL18"); - GEL_WatchAdd("*(long *)0x6396,x","eCANB MDH18"); - - GEL_WatchAdd("*(long *)0x6266,x","eCANB LAM19"); - GEL_WatchAdd("*(long *)0x62A6,x","eCANB MOTS19"); - GEL_WatchAdd("*(long *)0x62E6,x","eCANB MOTO19"); - GEL_WatchAdd("*(long *)0x6398,x","eCANB MID19"); - GEL_WatchAdd("*(long *)0x639A,x","eCANB MCF19"); - GEL_WatchAdd("*(long *)0x639C,x","eCANB MDL19"); - GEL_WatchAdd("*(long *)0x639E,x","eCANB MDH19"); -} -hotmenu eCAN_B_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6268,x","eCANB LAM20"); - GEL_WatchAdd("*(long *)0x62A8,x","eCANB MOTS20"); - GEL_WatchAdd("*(long *)0x62E8,x","eCANB MOTO20"); - GEL_WatchAdd("*(long *)0x63A0,x","eCANB MID20"); - GEL_WatchAdd("*(long *)0x63A2,x","eCANB MCF20"); - GEL_WatchAdd("*(long *)0x63A4,x","eCANB MDL20"); - GEL_WatchAdd("*(long *)0x63A6,x","eCANB MDH20"); - - GEL_WatchAdd("*(long *)0x626A,x","eCANB LAM21"); - GEL_WatchAdd("*(long *)0x62AA,x","eCANB MOTS21"); - GEL_WatchAdd("*(long *)0x62EA,x","eCANB MOTO21"); - GEL_WatchAdd("*(long *)0x63A8,x","eCANB MID21"); - GEL_WatchAdd("*(long *)0x63AA,x","eCANB MCF21"); - GEL_WatchAdd("*(long *)0x63AC,x","eCANB MDL21"); - GEL_WatchAdd("*(long *)0x63AE,x","eCANB MDH21"); -} -hotmenu eCAN_B_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x626C,x","eCANB LAM22"); - GEL_WatchAdd("*(long *)0x62AC,x","eCANB MOTS22"); - GEL_WatchAdd("*(long *)0x62EC,x","eCANB MOTO22"); - GEL_WatchAdd("*(long *)0x63B0,x","eCANB MID22"); - GEL_WatchAdd("*(long *)0x63B2,x","eCANB MCF22"); - GEL_WatchAdd("*(long *)0x63B4,x","eCANB MDL22"); - GEL_WatchAdd("*(long *)0x63B6,x","eCANB MDH22"); - - GEL_WatchAdd("*(long *)0x626E,x","eCANB LAM23"); - GEL_WatchAdd("*(long *)0x62AE,x","eCANB MOTS23"); - GEL_WatchAdd("*(long *)0x62EE,x","eCANB MOTO23"); - GEL_WatchAdd("*(long *)0x63B8,x","eCANB MID23"); - GEL_WatchAdd("*(long *)0x63BA,x","eCANB MCF23"); - GEL_WatchAdd("*(long *)0x63BC,x","eCANB MDL23"); - GEL_WatchAdd("*(long *)0x63BE,x","eCANB MDH23"); -} -hotmenu eCAN_B_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6270,x","eCANB LAM24"); - GEL_WatchAdd("*(long *)0x62B0,x","eCANB MOTS24"); - GEL_WatchAdd("*(long *)0x62F0,x","eCANB MOTO24"); - GEL_WatchAdd("*(long *)0x63C0,x","eCANB MID24"); - GEL_WatchAdd("*(long *)0x63C2,x","eCANB MCF24"); - GEL_WatchAdd("*(long *)0x63C4,x","eCANB MDL24"); - GEL_WatchAdd("*(long *)0x63C6,x","eCANB MDH24"); - - GEL_WatchAdd("*(long *)0x6272,x","eCANB LAM25"); - GEL_WatchAdd("*(long *)0x62B2,x","eCANB MOTS25"); - GEL_WatchAdd("*(long *)0x62F2,x","eCANB MOTO25"); - GEL_WatchAdd("*(long *)0x63C8,x","eCANB MID25"); - GEL_WatchAdd("*(long *)0x63CA,x","eCANB MCF25"); - GEL_WatchAdd("*(long *)0x63CC,x","eCANB MDL25"); - GEL_WatchAdd("*(long *)0x63CE,x","eCANB MDH25"); -} -hotmenu eCAN_B_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6274,x","eCANB LAM26"); - GEL_WatchAdd("*(long *)0x62B4,x","eCANB MOTS26"); - GEL_WatchAdd("*(long *)0x62F4,x","eCANB MOTO26"); - GEL_WatchAdd("*(long *)0x63D0,x","eCANB MID26"); - GEL_WatchAdd("*(long *)0x63D2,x","eCANB MCF26"); - GEL_WatchAdd("*(long *)0x63D4,x","eCANB MDL26"); - GEL_WatchAdd("*(long *)0x63D6,x","eCANB MDH26"); - - GEL_WatchAdd("*(long *)0x6276,x","eCANB LAM27"); - GEL_WatchAdd("*(long *)0x62B6,x","eCANB MOTS27"); - GEL_WatchAdd("*(long *)0x62F6,x","eCANB MOTO27"); - GEL_WatchAdd("*(long *)0x63D8,x","eCANB MID27"); - GEL_WatchAdd("*(long *)0x63DA,x","eCANB MCF27"); - GEL_WatchAdd("*(long *)0x63DC,x","eCANB MDL27"); - GEL_WatchAdd("*(long *)0x63DE,x","eCANB MDH27"); -} -hotmenu eCAN_B_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6278,x","eCANB LAM28"); - GEL_WatchAdd("*(long *)0x62B8,x","eCANB MOTS28"); - GEL_WatchAdd("*(long *)0x62F8,x","eCANB MOTO28"); - GEL_WatchAdd("*(long *)0x63E0,x","eCANB MID28"); - GEL_WatchAdd("*(long *)0x63E2,x","eCANB MCF28"); - GEL_WatchAdd("*(long *)0x63E4,x","eCANB MDL28"); - GEL_WatchAdd("*(long *)0x63E6,x","eCANB MDH28"); - - GEL_WatchAdd("*(long *)0x627A,x","eCANB LAM29"); - GEL_WatchAdd("*(long *)0x62BA,x","eCANB MOTS29"); - GEL_WatchAdd("*(long *)0x62FA,x","eCANB MOTO29"); - GEL_WatchAdd("*(long *)0x63E8,x","eCANB MID29"); - GEL_WatchAdd("*(long *)0x63EA,x","eCANB MCF29"); - GEL_WatchAdd("*(long *)0x63EC,x","eCANB MDL29"); - GEL_WatchAdd("*(long *)0x63EE,x","eCANB MDH29"); -} -hotmenu eCAN_B_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x627C,x","eCANB LAM30"); - GEL_WatchAdd("*(long *)0x62BC,x","eCANB MOTS30"); - GEL_WatchAdd("*(long *)0x62FC,x","eCANB MOTO30"); - GEL_WatchAdd("*(long *)0x63F0,x","eCANB MID30"); - GEL_WatchAdd("*(long *)0x63F2,x","eCANB MCF30"); - GEL_WatchAdd("*(long *)0x63F4,x","eCANB MDL30"); - GEL_WatchAdd("*(long *)0x63F6,x","eCANB MDH30"); - - GEL_WatchAdd("*(long *)0x627E,x","eCANB LAM31"); - GEL_WatchAdd("*(long *)0x62BE,x","eCANB MOTS31"); - GEL_WatchAdd("*(long *)0x62FE,x","eCANB MOTO31"); - GEL_WatchAdd("*(long *)0x63F8,x","eCANB MID31"); - GEL_WatchAdd("*(long *)0x63FA,x","eCANB MCF31"); - GEL_WatchAdd("*(long *)0x63FC,x","eCANB MDL31"); - GEL_WatchAdd("*(long *)0x63FE,x","eCANB MDH31"); -} - - -/********************************************************************/ -/* Enhanced Capture Registers */ -/********************************************************************/ -menuitem "Watch eCAP Registers"; - -hotmenu eCAP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A00,x","eCAP1 TSCNT"); - GEL_WatchAdd("*(long *)0x6A02,x","eCAP1 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A04,x","eCAP1 CAP1"); - GEL_WatchAdd("*(long *)0x6A06,x","eCAP1 CAP2"); - GEL_WatchAdd("*(long *)0x6A08,x","eCAP1 CAP3"); - GEL_WatchAdd("*(long *)0x6A0A,x","eCAP1 CAP4"); - GEL_WatchAdd("*0x6A14,x","eCAP1 ECCTL1"); - GEL_WatchAdd("*0x6A15,x","eCAP1 ECCTL2"); - GEL_WatchAdd("*0x6A16,x","eCAP1 ECEINT"); - GEL_WatchAdd("*0x6A17,x","eCAP1 ECFLG"); - GEL_WatchAdd("*0x6A18,x","eCAP1 ECCLR"); - GEL_WatchAdd("*0x6A19,x","eCAP1 ECFRC"); -} -hotmenu eCAP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A20,x","eCAP2 TSCNT"); - GEL_WatchAdd("*(long *)0x6A22,x","eCAP2 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A24,x","eCAP2 CAP1"); - GEL_WatchAdd("*(long *)0x6A26,x","eCAP2 CAP2"); - GEL_WatchAdd("*(long *)0x6A28,x","eCAP2 CAP3"); - GEL_WatchAdd("*(long *)0x6A2A,x","eCAP2 CAP4"); - GEL_WatchAdd("*0x6A34,x","eCAP2 ECCTL1"); - GEL_WatchAdd("*0x6A35,x","eCAP2 ECCTL2"); - GEL_WatchAdd("*0x6A36,x","eCAP2 ECEINT"); - GEL_WatchAdd("*0x6A37,x","eCAP2 ECFLG"); - GEL_WatchAdd("*0x6A38,x","eCAP2 ECCLR"); - GEL_WatchAdd("*0x6A39,x","eCAP2 ECFRC"); -} -hotmenu eCAP3_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A40,x","eCAP3 TSCNT"); - GEL_WatchAdd("*(long *)0x6A42,x","eCAP3 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A44,x","eCAP3 CAP1"); - GEL_WatchAdd("*(long *)0x6A46,x","eCAP3 CAP2"); - GEL_WatchAdd("*(long *)0x6A48,x","eCAP3 CAP3"); - GEL_WatchAdd("*(long *)0x6A4A,x","eCAP3 CAP4"); - GEL_WatchAdd("*0x6A54,x","eCAP3 ECCTL1"); - GEL_WatchAdd("*0x6A55,x","eCAP3 ECCTL2"); - GEL_WatchAdd("*0x6A56,x","eCAP3 ECEINT"); - GEL_WatchAdd("*0x6A57,x","eCAP3 ECFLG"); - GEL_WatchAdd("*0x6A58,x","eCAP3 ECCLR"); - GEL_WatchAdd("*0x6A59,x","eCAP3 ECFRC"); -} -hotmenu eCAP4_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A60,x","eCAP4 TSCNT"); - GEL_WatchAdd("*(long *)0x6A62,x","eCAP4 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A64,x","eCAP4 CAP1"); - GEL_WatchAdd("*(long *)0x6A66,x","eCAP4 CAP2"); - GEL_WatchAdd("*(long *)0x6A68,x","eCAP4 CAP3"); - GEL_WatchAdd("*(long *)0x6A6A,x","eCAP4 CAP4"); - GEL_WatchAdd("*0x6A74,x","eCAP4 ECCTL1"); - GEL_WatchAdd("*0x6A75,x","eCAP4 ECCTL2"); - GEL_WatchAdd("*0x6A76,x","eCAP4 ECEINT"); - GEL_WatchAdd("*0x6A77,x","eCAP4 ECFLG"); - GEL_WatchAdd("*0x6A78,x","eCAP4 ECCLR"); - GEL_WatchAdd("*0x6A79,x","eCAP4 ECFRC"); -} -hotmenu eCAP5_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A80,x","eCAP5 TSCNT"); - GEL_WatchAdd("*(long *)0x6A82,x","eCAP5 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A84,x","eCAP5 CAP1"); - GEL_WatchAdd("*(long *)0x6A86,x","eCAP5 CAP2"); - GEL_WatchAdd("*(long *)0x6A88,x","eCAP5 CAP3"); - GEL_WatchAdd("*(long *)0x6A8A,x","eCAP5 CAP4"); - GEL_WatchAdd("*0x6A94,x","eCAP5 ECCTL1"); - GEL_WatchAdd("*0x6A95,x","eCAP5 ECCTL2"); - GEL_WatchAdd("*0x6A96,x","eCAP5 ECEINT"); - GEL_WatchAdd("*0x6A97,x","eCAP5 ECFLG"); - GEL_WatchAdd("*0x6A98,x","eCAP5 ECCLR"); - GEL_WatchAdd("*0x6A99,x","eCAP5 ECFRC"); -} -hotmenu eCAP6_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6AA0,x","eCAP6 TSCNT"); - GEL_WatchAdd("*(long *)0x6AA2,x","eCAP6 CNTPHS"); - GEL_WatchAdd("*(long *)0x6AA4,x","eCAP6 CAP1"); - GEL_WatchAdd("*(long *)0x6AA6,x","eCAP6 CAP2"); - GEL_WatchAdd("*(long *)0x6AA8,x","eCAP6 CAP3"); - GEL_WatchAdd("*(long *)0x6AAA,x","eCAP6 CAP4"); - GEL_WatchAdd("*0x6AB4,x","eCAP6 ECCTL1"); - GEL_WatchAdd("*0x6AB5,x","eCAP6 ECCTL2"); - GEL_WatchAdd("*0x6AB6,x","eCAP6 ECEINT"); - GEL_WatchAdd("*0x6AB7,x","eCAP6 ECFLG"); - GEL_WatchAdd("*0x6AB8,x","eCAP6 ECCLR"); - GEL_WatchAdd("*0x6AB9,x","eCAP6 ECFRC"); -} - -/********************************************************************/ -/* Enhanced PWM Registers */ -/********************************************************************/ -menuitem "Watch ePWM Registers"; - -hotmenu ePWM1_All_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6813,x","ePWM1 TZDCSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); - GEL_WatchAdd("*0x681E,x","ePWM1 PCCTL"); - GEL_WatchAdd("*0x6820,x","ePWM1 HRCNFG"); -} -hotmenu ePWM1_TB_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); -} -hotmenu ePWM1_CMP_Regs() -{ - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); -} -hotmenu ePWM1_AQ_Regs() -{ - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); -} -hotmenu ePWM1_DB_Regs() -{ - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); -} -hotmenu ePWM1_TZ_Regs() -{ - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); -} -hotmenu ePWM1_ET_Regs() -{ - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); -} -hotmenu ePWM2_All_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6853,x","ePWM2 TZDCSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); - GEL_WatchAdd("*0x685E,x","ePWM2 PCCTL"); - GEL_WatchAdd("*0x6860,x","ePWM2 HRCNFG"); -} -hotmenu ePWM2_TB_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); -} -hotmenu ePWM2_CMP_Regs() -{ - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); -} -hotmenu ePWM2_AQ_Regs() -{ - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); -} -hotmenu ePWM2_DB_Regs() -{ - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); -} -hotmenu ePWM2_TZ_Regs() -{ - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); -} -hotmenu ePWM2_ET_Regs() -{ - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); -} -hotmenu ePWM3_All_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6893,x","ePWM3 TZDCSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); - GEL_WatchAdd("*0x689E,x","ePWM3 PCCTL"); - GEL_WatchAdd("*0x68A0,x","ePWM3 HRCNFG"); -} -hotmenu ePWM3_TB_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); -} -hotmenu ePWM3_CMP_Regs() -{ - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); -} -hotmenu ePWM3_AQ_Regs() -{ - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); -} -hotmenu ePWM3_DB_Regs() -{ - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); -} -hotmenu ePWM3_TZ_Regs() -{ - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); -} -hotmenu ePWM3_ET_Regs() -{ - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); -} -hotmenu ePWM4_All_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D3,x","ePWM4 TZDCSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); - GEL_WatchAdd("*0x68DE,x","ePWM4 PCCTL"); - GEL_WatchAdd("*0x68E0,x","ePWM4 HRCNFG"); -} -hotmenu ePWM4_TB_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); -} -hotmenu ePWM4_CMP_Regs() -{ - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); -} -hotmenu ePWM4_AQ_Regs() -{ - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); -} -hotmenu ePWM4_DB_Regs() -{ - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); -} -hotmenu ePWM4_TZ_Regs() -{ - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); -} -hotmenu ePWM4_ET_Regs() -{ - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); -} -hotmenu ePWM5_All_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6902,x","ePWM5 TBPHSHR"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6908,x","ePWM5 CMPAHR"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6913,x","ePWM5 TZDCSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); - GEL_WatchAdd("*0x691E,x","ePWM5 PCCTL"); - GEL_WatchAdd("*0x6920,x","ePWM5 HRCNFG"); -} -hotmenu ePWM5_TB_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6902,x","ePWM5 TBPHSHR"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); -} -hotmenu ePWM5_CMP_Regs() -{ - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6908,x","ePWM5 CMPAHR"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); -} -hotmenu ePWM5_AQ_Regs() -{ - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); -} -hotmenu ePWM5_DB_Regs() -{ - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); -} -hotmenu ePWM5_TZ_Regs() -{ - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); -} -hotmenu ePWM5_ET_Regs() -{ - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); -} -hotmenu ePWM6_All_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6942,x","ePWM6 TBPHSHR"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6948,x","ePWM6 CMPAHR"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6953,x","ePWM6 TZDCSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); - GEL_WatchAdd("*0x695E,x","ePWM6 PCCTL"); - GEL_WatchAdd("*0x6960,x","ePWM6 HRCNFG"); - -} -hotmenu ePWM6_TB_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6942,x","ePWM6 TBPHSHR"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); -} -hotmenu ePWM6_CMP_Regs() -{ - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6948,x","ePWM6 CMPAHR"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); -} -hotmenu ePWM6_AQ_Regs() -{ - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); -} -hotmenu ePWM6_DB_Regs() -{ - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); -} -hotmenu ePWM6_TZ_Regs() -{ - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); -} -hotmenu ePWM6_ET_Regs() -{ - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); -} - - -/********************************************************************/ -/* Enhanced EQEP Registers */ -/********************************************************************/ -menuitem "Watch eQEP" - -hotmenu eQEP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B00,x","eQEP1 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B02,x","eQEP1 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B04,x","eQEP1 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B06,x","eQEP1 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B08,x","eQEP1 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B0A,x","eQEP1 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B0C,x","eQEP1 QPOSLAT"); - GEL_WatchAdd("*(long *)0x6B0E,x","eQEP1 QUTMR"); - GEL_WatchAdd("*(long *)0x6B10,x","eQEP1 QUPRD"); - GEL_WatchAdd("*0x6B12,x","eQEP1 QWDTMR"); - GEL_WatchAdd("*0x6B13,x","eQEP1 QWDPRD"); - GEL_WatchAdd("*0x6B14,x","eQEP1 QDECCTL"); - GEL_WatchAdd("*0x6B15,x","eQEP1 QEPCTL"); - GEL_WatchAdd("*0x6B16,x","eQEP1 QCAPCTL"); - GEL_WatchAdd("*0x6B17,x","eQEP1 QPOSCTL"); - GEL_WatchAdd("*0x6B18,x","eQEP1 QEINT"); - GEL_WatchAdd("*0x6B19,x","eQEP1 QFLG"); - GEL_WatchAdd("*0x6B1A,x","eQEP1 QCLR"); - GEL_WatchAdd("*0x6B1B,x","eQEP1 QFRC"); - GEL_WatchAdd("*0x6B1C,x","eQEP1 QEPSTS"); - GEL_WatchAdd("*0x6B1D,x","eQEP1 QCTMR"); - GEL_WatchAdd("*0x6B1E,x","eQEP1 QCPRD"); - GEL_WatchAdd("*0x6B1F,x","eQEP1 QCTMRLAT"); - GEL_WatchAdd("*0x6B20,x","eQEP1 QCPRDLAT"); -} -hotmenu eQEP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B40,x","eQEP2 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B42,x","eQEP2 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B44,x","eQEP2 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B46,x","eQEP2 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B48,x","eQEP2 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B4A,x","eQEP2 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B4C,x","eQEP2 QPOSLAT"); - GEL_WatchAdd("(long *)*0x6B4E,x","eQEP2 QUTMR"); - GEL_WatchAdd("*(long *)0x6B50,x","eQEP2 QUPRD"); - GEL_WatchAdd("*0x6B52,x","eQEP2 QWDTMR"); - GEL_WatchAdd("*0x6B53,x","eQEP2 QWDPRD"); - GEL_WatchAdd("*0x6B54,x","eQEP2 QDECCTL"); - GEL_WatchAdd("*0x6B55,x","eQEP2 QEPCTL"); - GEL_WatchAdd("*0x6B56,x","eQEP2 QCAPCTL"); - GEL_WatchAdd("*0x6B57,x","eQEP2 QPOSCTL"); - GEL_WatchAdd("*0x6B58,x","eQEP2 QEINT"); - GEL_WatchAdd("*0x6B59,x","eQEP2 QFLG"); - GEL_WatchAdd("*0x6B5A,x","eQEP2 QCLR"); - GEL_WatchAdd("*0x6B5B,x","eQEP2 QFRC"); - GEL_WatchAdd("*0x6B5C,x","eQEP2 QEPSTS"); - GEL_WatchAdd("*0x6B5D,x","eQEP2 QCTMR"); - GEL_WatchAdd("*0x6B5E,x","eQEP2 QCPRD"); - GEL_WatchAdd("*0x6B5F,x","eQEP2 QCTMRLAT"); - GEL_WatchAdd("*0x6B60,x","eQEP2 QCPRDLAT"); -} - - -/********************************************************************/ -/* External Interface Registers */ -/********************************************************************/ -menuitem "Watch External Interface Registers"; - -hotmenu All_External_Interface_Regs() -{ - GEL_WatchAdd("*(long *)0x0B20,x","XTIMING0"); - GEL_WatchAdd("*(long *)0x0B2C,x","XTIMING6"); - GEL_WatchAdd("*(long *)0x0B2E,x","XTIMING7"); - GEL_WatchAdd("*(long *)0x0B34,x","XINTCNF2"); - GEL_WatchAdd("*0x0B38,x","XBANK"); - GEL_WatchAdd("*0x0B3A,x","XREVISION"); - GEL_WatchAdd("*0x0B3D,x","XRESET"); -} - -/********************************************************************/ -/* External Interrupt Registers */ -/********************************************************************/ -menuitem "Watch External Interrupt Registers"; - -hotmenu All_XINT_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} -hotmenu XINT_Control_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); -} -hotmenu XINT_Counter_Regs() -{ - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} - - -/********************************************************************/ -/* GPIO Registers */ -/********************************************************************/ -menuitem "Watch GPIO Registers"; - -hotmenu All_GPIO_CONTROL_Regs() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); -} -hotmenu All_GPIO_DATA_Regs() -{ - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} -hotmenu All_GPIO_INTERRUPT_Regs() -{ - GEL_WatchAdd("*0x6FE0,x","GPIOXINT1SEL"); - GEL_WatchAdd("*0x6FE1,x","GPIOXINT2SEL"); - GEL_WatchAdd("*0x6FE2,x","GPIOXNMISEL"); - GEL_WatchAdd("*0x6FE3,x","GPIOXINT3SEL"); - GEL_WatchAdd("*0x6FE4,x","GPIOXINT4SEL"); - GEL_WatchAdd("*0x6FE5,x","GPIOXINT5SEL"); - GEL_WatchAdd("*0x6FE6,x","GPIOXINT6SEL"); - GEL_WatchAdd("*0x6FE7,x","GPIOXINT7SEL"); - GEL_WatchAdd("*(long *)0x6FE8,x","GPIOLPMSEL"); -} -hotmenu All_GPA_Registers() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); -} -hotmenu All_GPB_Registers() -{ - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); -} -hotmenu All_GPC_Registers() -{ - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} - - -/********************************************************************/ -/* Multichannel Serial Port Registers */ -/********************************************************************/ -menuitem "Watch McBSP Registers"; - -hotmenu All_McBSP_A_Regs() -{ - GEL_WatchAdd("*0x5000,x","McBSPA DRR2"); - GEL_WatchAdd("*0x5001,x","McBSPA DRR1"); - GEL_WatchAdd("*0x5002,x","McBSPA DXR2"); - GEL_WatchAdd("*0x5003,x","McBSPA DXR1"); - GEL_WatchAdd("*0x5004,x","McBSPA SPCR2"); - GEL_WatchAdd("*0x5005,x","McBSPA SPCR1"); - GEL_WatchAdd("*0x5006,x","McBSPA RCR2"); - GEL_WatchAdd("*0x5007,x","McBSPA RCR1"); - GEL_WatchAdd("*0x5008,x","McBSPA XCR2"); - GEL_WatchAdd("*0x5009,x","McBSPA XCR1"); - GEL_WatchAdd("*0x500A,x","McBSPA SRGR2"); - GEL_WatchAdd("*0x500B,x","McBSPA SRGR1"); - GEL_WatchAdd("*0x500C,x","McBSPA MCR2"); - GEL_WatchAdd("*0x500D,x","McBSPA MCR1"); - GEL_WatchAdd("*0x500E,x","McBSPA RCERA"); - GEL_WatchAdd("*0x500F,x","McBSPA RCERB"); - GEL_WatchAdd("*0x5010,x","McBSPA XCERA"); - GEL_WatchAdd("*0x5011,x","McBSPA XCERB"); - GEL_WatchAdd("*0x5012,x","McBSPA PCR1"); - GEL_WatchAdd("*0x5013,x","McBSPA RCERC"); - GEL_WatchAdd("*0x5014,x","McBSPA RCERD"); - GEL_WatchAdd("*0x5015,x","McBSPA XCERC"); - GEL_WatchAdd("*0x5016,x","McBSPA XCERD"); - GEL_WatchAdd("*0x5017,x","McBSPA RCERE"); - GEL_WatchAdd("*0x5018,x","McBSPA RCERF"); - GEL_WatchAdd("*0x5019,x","McBSPA XCERE"); - GEL_WatchAdd("*0x501A,x","McBSPA XCERF"); - GEL_WatchAdd("*0x501B,x","McBSPA RCERG"); - GEL_WatchAdd("*0x501C,x","McBSPA RCERH"); - GEL_WatchAdd("*0x501D,x","McBSPA XCERG"); - GEL_WatchAdd("*0x501E,x","McBSPA XCERH"); - GEL_WatchAdd("*0x5023,x","McBSPA MFFINT"); - GEL_WatchAdd("*0x503F,x","McBSPA Revision"); -} - -hotmenu All_McBSP_B_Regs() -{ - GEL_WatchAdd("*0x5040,x","McBSPB DRR2"); - GEL_WatchAdd("*0x5041,x","McBSPB DRR1"); - GEL_WatchAdd("*0x5042,x","McBSPB DXR2"); - GEL_WatchAdd("*0x5043,x","McBSPB DXR1"); - GEL_WatchAdd("*0x5044,x","McBSPB SPCR2"); - GEL_WatchAdd("*0x5045,x","McBSPB SPCR1"); - GEL_WatchAdd("*0x5046,x","McBSPB RCR2"); - GEL_WatchAdd("*0x5047,x","McBSPB RCR1"); - GEL_WatchAdd("*0x5048,x","McBSPB XCR2"); - GEL_WatchAdd("*0x5049,x","McBSPB XCR1"); - GEL_WatchAdd("*0x504A,x","McBSPB SRGR2"); - GEL_WatchAdd("*0x504B,x","McBSPB SRGR1"); - GEL_WatchAdd("*0x504C,x","McBSPB MCR2"); - GEL_WatchAdd("*0x504D,x","McBSPB MCR1"); - GEL_WatchAdd("*0x504E,x","McBSPB RCERA"); - GEL_WatchAdd("*0x504F,x","McBSPB RCERB"); - GEL_WatchAdd("*0x5050,x","McBSPB XCERA"); - GEL_WatchAdd("*0x5051,x","McBSPB XCERB"); - GEL_WatchAdd("*0x5052,x","McBSPB PCR1"); - GEL_WatchAdd("*0x5053,x","McBSPB RCERC"); - GEL_WatchAdd("*0x5054,x","McBSPB RCERD"); - GEL_WatchAdd("*0x5055,x","McBSPB XCERC"); - GEL_WatchAdd("*0x5056,x","McBSPB XCERD"); - GEL_WatchAdd("*0x5057,x","McBSPB RCERE"); - GEL_WatchAdd("*0x5058,x","McBSPB RCERF"); - GEL_WatchAdd("*0x5059,x","McBSPB XCERE"); - GEL_WatchAdd("*0x505A,x","McBSPB XCERF"); - GEL_WatchAdd("*0x505B,x","McBSPB RCERG"); - GEL_WatchAdd("*0x505C,x","McBSPB RCERH"); - GEL_WatchAdd("*0x505D,x","McBSPB XCERG"); - GEL_WatchAdd("*0x505E,x","McBSPB XCERH"); - GEL_WatchAdd("*0x5063,x","McBSPB MFFINT"); - GEL_WatchAdd("*0x506F,x","McBSPB Revision"); -} - - - -/********************************************************************/ -/* I2C Registers */ -/********************************************************************/ -menuitem "Watch I2C Registers"; - -hotmenu All_I2C_Regs() -{ - GEL_WatchAdd("*0x7900,x","I2COAR"); - GEL_WatchAdd("*0x7901,x","I2CIER"); - GEL_WatchAdd("*0x7902,x","I2CSTR"); - GEL_WatchAdd("*0x7903,x","I2CCLKL"); - GEL_WatchAdd("*0x7904,x","I2CCLKH"); - GEL_WatchAdd("*0x7905,x","I2CCNT"); - GEL_WatchAdd("*0x7906,x","I2CDRR"); - GEL_WatchAdd("*0x7907,x","I2CSAR"); - GEL_WatchAdd("*0x7908,x","I2CDXR"); - GEL_WatchAdd("*0x7909,x","I2CMDR"); - GEL_WatchAdd("*0x790A,x","I2CISRC"); - GEL_WatchAdd("*0x790C,x","I2CPSC"); - GEL_WatchAdd("*0x7920,x","I2CFFTX"); - GEL_WatchAdd("*0x7921,x","I2CFFRX"); -} - - -/********************************************************************/ -/* Peripheral Interrupt Expansion Registers */ -/********************************************************************/ -menuitem "Watch Peripheral Interrupt Expansion Registers"; - -hotmenu All_PIE_Regs() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); - GEL_WatchAdd("*0x0CE1,x","PIEACK"); - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} -hotmenu PIECTRL() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); -} -hotmenu PIEACK() -{ - GEL_WatchAdd("*0x0CE1,x","PIEACK"); -} -hotmenu PIEIER1_and_PIEIFR1() -{ - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); -} -hotmenu PIEIER2_and_PIEIFR2() -{ - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); -} -hotmenu PIEIER3_and_PIEIFR3() -{ - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); -} -hotmenu PIEIER4_and_PIEIFR4() -{ - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); -} -hotmenu PIEIER5_and_PIEIFR5() -{ - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); -} -hotmenu PIEIER6_and_PIEIFR6() -{ - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); -} -hotmenu PIEIER7_and_PIEIFR7() -{ - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); -} -hotmenu PIEIER8_and_PIEIFR8() -{ - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); -} -hotmenu PIEIER9_and_PIEIFR9() -{ - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); -} -hotmenu PIEIFR10_and_PIEIFR10() -{ - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); -} -hotmenu PIEIER11_and_PIEIFR11() -{ - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); -} -hotmenu PIEIER12_and_PIEIFR12() -{ - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} - - -/********************************************************************/ -/* Serial Communication Interface Registers */ -/********************************************************************/ -menuitem "Watch SCI Registers"; - -hotmenu SCI_A_All_Regs() -{ - GEL_WatchAdd("*0x7050,x","SCICCRA"); - GEL_WatchAdd("*0x7051,x","SCICTL1A"); - GEL_WatchAdd("*0x7052,x","SCIHBAUDA"); - GEL_WatchAdd("*0x7053,x","SCILBAUDA"); - GEL_WatchAdd("*0x7054,x","SCICTL2A"); - GEL_WatchAdd("*0x7055,x","SCIRXSTA"); - GEL_WatchAdd("*0x7056,x","SCIRXEMUA"); - GEL_WatchAdd("*0x7057,x","SCIRXBUFA"); - GEL_WatchAdd("*0x7059,x","SCITXBUFA"); - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); - GEL_WatchAdd("*0x705F,x","SCIPRIA"); -} -hotmenu SCI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); -} -hotmenu SCI_B_All_Regs() -{ - GEL_WatchAdd("*0x7750,x","SCICCRB"); - GEL_WatchAdd("*0x7751,x","SCICTL1B"); - GEL_WatchAdd("*0x7752,x","SCIHBAUDB"); - GEL_WatchAdd("*0x7753,x","SCILBAUDB"); - GEL_WatchAdd("*0x7754,x","SCICTL2B"); - GEL_WatchAdd("*0x7755,x","SCIRXSTB"); - GEL_WatchAdd("*0x7756,x","SCIRXEMUB"); - GEL_WatchAdd("*0x7757,x","SCIRXBUFB"); - GEL_WatchAdd("*0x7759,x","SCITXBUFB"); - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); - GEL_WatchAdd("*0x775F,x","SCIPRIB"); -} - -hotmenu SCI_B_FIFO_Registers() -{ - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); -} -hotmenu SCI_C_All_Regs() -{ - GEL_WatchAdd("*0x7770,x","SCICCRC"); - GEL_WatchAdd("*0x7771,x","SCICTL1C"); - GEL_WatchAdd("*0x7772,x","SCIHBAUDC"); - GEL_WatchAdd("*0x7773,x","SCILBAUDC"); - GEL_WatchAdd("*0x7774,x","SCICTL2C"); - GEL_WatchAdd("*0x7775,x","SCIRXSTC"); - GEL_WatchAdd("*0x7776,x","SCIRXEMUC"); - GEL_WatchAdd("*0x7777,x","SCIRXBUFC"); - GEL_WatchAdd("*0x7779,x","SCITXBUFC"); - GEL_WatchAdd("*0x777A,x","SCIFFTXC"); - GEL_WatchAdd("*0x777B,x","SCIFFRXC"); - GEL_WatchAdd("*0x777C,x","SCIFFCTC"); - GEL_WatchAdd("*0x777F,x","SCIPRIC"); -} -hotmenu SCI_C_FIFO_Registers() -{ - GEL_WatchAdd("*0x777A,x","SCIFFTXC"); - GEL_WatchAdd("*0x777B,x","SCIFFRXC"); - GEL_WatchAdd("*0x777C,x","SCIFFCTC"); -} - - -/********************************************************************/ -/* Serial Peripheral Interface Registers */ -/********************************************************************/ -menuitem "Watch SPI Registers"; - -hotmenu SPI_A_All_Regs() -{ - GEL_WatchAdd("*0x7040,x","SPIA SPICCR"); - GEL_WatchAdd("*0x7041,x","SPIA SPICTL"); - GEL_WatchAdd("*0x7042,x","SPIA SPIST"); - GEL_WatchAdd("*0x7044,x","SPIA SPIBRR"); - GEL_WatchAdd("*0x7046,x","SPIA SPIEMU"); - GEL_WatchAdd("*0x7047,x","SPIA SPIRXBUF"); - GEL_WatchAdd("*0x7048,x","SPIA SPITXBUF"); - GEL_WatchAdd("*0x7049,x","SPIA SPIDAT"); - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); - GEL_WatchAdd("*0x704F,x","SPIA SPIPRI"); -} -hotmenu SPI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); -} - - -/********************************************************************/ -/* Watchdog Timer Registers */ -/********************************************************************/ -menuitem "Watch Watchdog Timer Registers"; - -hotmenu All_Watchdog_Regs() -{ - GEL_WatchAdd("*0x7023,x","WDCNTR"); - GEL_WatchAdd("*0x7025,x","WDKEY"); - GEL_WatchAdd("*0x7029,x","WDCR"); - GEL_WatchAdd("*0x7022,x","SCSR"); -} - -/********************************************************************/ -/*** End of file ***/ diff --git a/Source/External/v120/DSP2833x_common/gel/f28235.gel b/Source/External/v120/DSP2833x_common/gel/f28235.gel deleted file mode 100644 index 9d35fee..0000000 --- a/Source/External/v120/DSP2833x_common/gel/f28235.gel +++ /dev/null @@ -1,2939 +0,0 @@ -/********************************************************************/ -/* f28235.gel */ -/* Version 3.30.2 */ -/* */ -/* This GEL file is to be used with the TMS320F28235 DSP. */ -/* Changes may be required to support specific hardware designs. */ -/* */ -/* Code Composer Studio supports six reserved GEL functions that */ -/* automatically get executed if they are defined. They are: */ -/* */ -/* StartUp() - Executed whenever CCS is invoked */ -/* OnReset() - Executed after Debug->Reset CPU */ -/* OnRestart() - Executed after Debug->Restart */ -/* OnPreFileLoaded() - Executed before File->Load Program */ -/* OnFileLoaded() - Executed after File->Load Program */ -/* OnTargetConnect() - Executed after Debug->Connect */ -/* */ -/********************************************************************/ - -StartUp() -{ - -/* The next line automatically loads the .gel file that comes */ -/* with the DSP2833x Peripheral Header Files download. To use, */ -/* uncomment, and adjust the directory path as needed. */ -// GEL_LoadGel("c:\\CCStudio_v3.3\\cc\\gel\\DSP2833x_Peripheral.gel"); - -} - -OnReset(int nErrorCode) -{ - C28x_Mode(); - Unlock_CSM(); - ADC_Cal(); - -} - -OnRestart(int nErrorCode) -{ -/* CCS will call OnRestart() when you do a Debug->Restart and */ -/* after you load a new file. Between running interrupt based */ -/* programs, this function will clear interrupts and help keep */ -/* the processor from going off into invalid memory. */ - C28x_Mode(); - IER = 0; - IFR = 0; - ADC_Cal(); -} - -int TxtOutCtl=0; -OnPreFileLoaded() -{ - XINTF_Enable(); - if (TxtOutCtl==0) - { - GEL_TextOut("\nNOTES:\nGel will enable XINTFx16 during Debug only.\nEnable XINTF in code prior to use."); - TxtOutCtl=1; - } -} - -OnFileLoaded(int nErrorCode, int bSymbolsOnly) -{ - ADC_Cal(); -} - -OnTargetConnect() -{ - C28x_Mode(); - F28235_Memory_Map(); /* Initialize the CCS memory map */ - -/* Check to see if CCS has been started-up with the DSP already */ -/* running in real-time mode. The user can add whatever */ -/* custom initialization stuff they want to each case. */ - - if (GEL_IsInRealtimeMode()) /* Do real-time mode target initialization */ - { - - } - else /* Do stop-mode target initialization */ - { - GEL_Reset(); /* Reset DSP */ - } - -} - - -/********************************************************************/ -/* These functions are launched by the GEL_Toolbar button plugin */ -/********************************************************************/ -GEL_Toolbar1() -{ - Run_Realtime_with_Reset(); -} -GEL_Toolbar2() -{ - Run_Realtime_with_Restart(); -} -GEL_Toolbar3() -{ - Full_Halt(); -} -GEL_Toolbar4() -{ - Full_Halt_with_Reset(); -} - -int GEL_Toolbar5_Toggle = 0; -GEL_Toolbar5() -{ - if(GEL_Toolbar5_Toggle == 0) - { - GEL_Toolbar5_Toggle = 1; - GEL_OpenWindow("GEL_Buttons",1,4); - GEL_TextOut("Button 1: Run_Realtime_with_Reset()","GEL_Buttons",0,0); - GEL_TextOut("Button 2: Run_Realtime_with_Restart()","GEL_Buttons",0,1); - GEL_TextOut("Button 3: Full_Halt()", "GEL_Buttons",0,2); - GEL_TextOut("Button 4: Full_Halt_with_Reset()","GEL_Buttons",0,3); - } - else - { - GEL_Toolbar5_Toggle = 0; - GEL_CloseWindow("GEL_Buttons"); - } -} - - -/********************************************************************/ -/* These functions are useful to engage/dis-enagage realtime */ -/* emulation mode during debug. They save the user from having to */ -/* manually perform these steps in CCS. */ -/********************************************************************/ -menuitem "Realtime Emulation Control"; - -hotmenu Run_Realtime_with_Reset() -{ - GEL_Reset(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Run_Realtime_with_Restart() -{ - GEL_Restart(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Full_Halt() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ -} -hotmenu Full_Halt_with_Reset() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ - GEL_Reset(); /* Reset the DSP */ -} - - -/********************************************************************/ -/* F28235 Memory Map */ -/* */ -/* Note: M0M1MAP and VMAP signals tied high on F28235 core */ -/* */ -/* 0x000000 - 0x0003ff M0 SARAM (Prog and Data) */ -/* 0x000400 - 0x0007ff M1 SARAM (Prog and Data) */ -/* 0x000800 - 0x001fff Peripheral Frame0 (PF0) (Data only) */ -/* 0x004000 - 0x004fff XINTF Zone 0 (Prog and Data) */ -/* 0x005000 - 0x005fff Peripheral Frame3 (PF3) (Data only) */ -/* 0x006000 - 0x006fff Peripheral Frame1 (PF1) (Data only) */ -/* 0x007000 - 0x007fff Peripheral Frame2 (PF2) (Data only) */ -/* 0x008000 - 0x008fff L0 SARAM (Prog and Data) */ -/* 0x009000 - 0x009fff L1 SARAM (Prog and Data) */ -/* 0x00A000 - 0x00Afff L2 SARAM (Prog and Data) */ -/* 0x00B000 - 0x00Bfff L3 SARAM (Prog and Data) */ -/* 0x00C000 - 0x00Cfff L4 SARAM (Prog and Data) */ -/* 0x00D000 - 0x00Dfff L5 SARAM (Prog and Data) */ -/* 0x00E000 - 0x00Efff L6 SARAM (Prog and Data) */ -/* 0x00F000 - 0x00Ffff L7 SARAM (Prog and Data) */ -/* 0x100000 - 0x1fffff XINTF Zone 6 (Prog and Data) */ -/* 0x200000 - 0x2fffff XINTF Zone 7 (Prog and Data */ -/* 0x300000 - 0x33ffff Flash (Prog and Data) */ -/* 0x380080 - 0x380088 ADC_cal function (Prog and Data) */ -/* 0x380090 - 0x380090 PARTID value (Prog and Data) */ -/* 0x380400 - 0x3807ff OTP (Prog and Data) */ -/* 0x3f8000 - 0x3f8fff L0 SARAM (Prog and Data) */ -/* 0x3f9000 - 0x3f9fff L1 SARAM (Prog and Data) */ -/* 0x3fA000 - 0x3fAfff L2 SARAM (Prog and Data) */ -/* 0x3fB000 - 0x3fBfff L3 SARAM (Prog and Data) */ -/* 0x3fe000 - 0x3fffff BOOT ROM (Prog and Data) */ -/********************************************************************/ -menuitem "Initialize Memory Map"; - -hotmenu F28235_Memory_Map() -{ - GEL_MapReset(); - GEL_MapOn(); - - /* Program memory map */ - GEL_MapAdd(0x0,0,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,0,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x4000,0,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x8000,0,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,0,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,0,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,0,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,0,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,0,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0xE000,0,0x1000,1,1); /* L6 SARAM */ - GEL_MapAdd(0xF000,0,0x1000,1,1); /* L7 SARAM */ - GEL_MapAdd(0x100000,0,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,0,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x300000,0,0x40000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,0,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,0,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,0,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,0,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,0,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,0,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,0,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,0,0x2000,1,0); /* BOOT ROM */ - - /* Data memory map */ - GEL_MapAdd(0x000,1,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,1,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x800,1,0x1800,1,1); /* PF0 */ - GEL_MapAdd(0x4000,1,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x5000,1,0x1000,1,1); /* PF3 */ - GEL_MapAdd(0x6000,1,0x1000,1,1); /* PF1 */ - GEL_MapAddStr(0x7000,1,0x1000,"R|W|AS2",0); /* PF2 */ - GEL_MapAdd(0x8000,1,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,1,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,1,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,1,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,1,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,1,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0xE000,1,0x1000,1,1); /* L6 SARAM */ - GEL_MapAdd(0xF000,1,0x1000,1,1); /* L7 SARAM */ - GEL_MapAdd(0x100000,1,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,1,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x300000,1,0x40000,1,0); /* FLASH */ - GEL_MapAdd(0x380400,1,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x380080,1,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,1,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x3f8000,1,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,1,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,1,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,1,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,1,0x2000,1,0); /* BOOT ROM */ -} - - -/********************************************************************/ -/* The ESTOP0 fill functions are useful for debug. They fill the */ -/* RAM with software breakpoints that will trap runaway code. */ -/********************************************************************/ -hotmenu Fill_F28235_RAM_with_ESTOP0() -{ - GEL_MemoryFill(0x000000,1,0x000800,0x7625); /* Fill M0/M1 */ - GEL_MemoryFill(0x008000,1,0x002000,0x7625); /* Fill L0/L1 */ - GEL_MemoryFill(0x00A000,1,0x002000,0x7625); /* Fill L2/L3 */ - GEL_MemoryFill(0x00C000,1,0x002000,0x7625); /* Fill L4/L5 */ - GEL_MemoryFill(0x00E000,1,0x002000,0x7625); /* Fill L6/L7 */ -} - - -/********************************************************************/ -menuitem "Watchdog"; -hotmenu Disable_WD() -{ - *0x7029 = *0x7029 | 0x0068; /* Set the WDDIS bit */ - *0x7025 = 0x0055; /* Service the WD */ - *0x7025 = 0x00AA; /* once to be safe. */ - GEL_TextOut("\nWatchdog Timer Disabled"); -} - - -/********************************************************************/ -menuitem "Code Security Module" -hotmenu Unlock_CSM() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - /* Write passwords to the KEY registers. 0xFFFF's are dummy passwords. - User should replace them with the correct password for their DSP */ - *0xAE0 = 0xFFFF; - *0xAE1 = 0xFFFF; - *0xAE2 = 0xFFFF; - *0xAE3 = 0xFFFF; - *0xAE4 = 0xFFFF; - *0xAE5 = 0xFFFF; - *0xAE6 = 0xFFFF; - *0xAE7 = 0xFFFF; -} - - -/********************************************************************/ -menuitem "Addressing Modes"; -hotmenu C28x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C24x_Mode() -{ - ST1 = ST1 | 0x0100; /* AMODE = 1 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C27x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 & (~0x0200); /* OBJMODE = 0 */ -} - - -/********************************************************************/ -/* PLL Ratios */ -/* */ -/* The following table describes the PLL clocking ratios (0..10) */ -/* */ -/* Ratio CLKIN Description */ -/* ----- -------------- ------------ */ -/* 0 OSCCLK/2 PLL bypassed */ -/* 1 (OSCCLK * 1)/2 15 Mhz for 30 Mhz CLKIN */ -/* 2 (OSCCLK * 2)/2 30 Mhz for 30 Mhz CLKIN */ -/* 3 (OSCCLK * 3)/2 45 Mhz for 30 Mhz CLKIN */ -/* 4 (OSCCLK * 4)/2 60 Mhz for 30 Mhz CLKIN */ -/* 5 (OSCCLK * 5)/2 75 Mhz for 30 Mhz CLKIN */ -/* 6 (OSCCLK * 6)/2 90 Mhz for 30 Mhz CLKIN */ -/* 7 (OSCCLK * 7)/2 105 Mhz for 30 Mhz CLKIN */ -/* 8 (OSCCLK * 8)/2 120 Mhz for 30 Mhz CLKIN */ -/* 9 (OSCCLK * 9)/2 135 Mhz for 30 Mhz CLKIN */ -/* 10 (OSCCLK * 10)/2 150 Mhz for 30 Mhz CLKIN */ -/********************************************************************/ -menuitem "Set PLL Ratio"; - -hotmenu Bypass() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 0; /* CLKIN = OSCCLK/2, PLL is bypassed */ - PLL_Wait(); -} -hotmenu OSCCLK_x1_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x2_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x3_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x4_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x5_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x6_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x7_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x8_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x9_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x10_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/2 */ - PLL_Wait(); -} -// hotmenu OSCCLK_x1_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x2_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x3_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x4_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x5_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x6_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x7_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x8_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x9_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x10_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/1 */ -// PLL_Wait(); -// } - - - -/********************************************************************/ -/* For F2823x devices, DIVSEL is 1/4 by default. Switch it to 1/2 */ -/********************************************************************/ - -DIVSEL_div2() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - temp = *PLLSTS; - temp &= 0xFE7F; /* Clear bits 7 & 8 */ - temp |= 2 << 7; /* Set bit 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - - - -/********************************************************************/ -/* For F2823x devices, DIVSEL is 1/4 by default. Switch it to /1 */ -/********************************************************************/ - -DIVSEL_div1() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - DIVSEL_div2(); /* First switch DIVSEL to 1/2 and wait */ - wait(); - temp = *PLLSTS; - temp |= 3 << 7; /* Set bits 7 & 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - -wait() -{ - int delay = 0; - for (delay = 0; delay <= 5; delay ++) - {} -} - -/********************************************************************/ -/* For F2823x devices, check the PLLOCKS bit for PLL lock. */ -/********************************************************************/ -PLL_Wait() -{ - int PLLSTS; - int delay = 0; - - PLLSTS = 0x7011; - - - while ( ( (unsigned int)*PLLSTS & 0x0001) != 0x0001) - { - delay++; - GEL_TextOut("Waiting for PLL Lock, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); - } - GEL_TextOut("\nPLL lock complete, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); -} - -/********************************************************************/ -/* Load the ADC Calibration values from TI OTP */ -/********************************************************************/ -menuitem "ADC Calibration" -hotmenu ADC_Cal() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - - if(((*0x0AEF) & 0x0001) == 0) - { - XAR0 = *0x701C; - *0x701C |= 0x0008; - *0x711C = *0x380083; - *0x711D = *0x380085; - *0x701C = XAR0; - XAR0 = 0; - - } - else - { - GEL_TextOut("\nADC Calibration not complete, check if device is unlocked and recalibrate."); - } -} - -/********************************************************************/ -/* Enable the XINTF and configure GPIOs for XINTF function */ -/********************************************************************/ -menuitem "XINTF Enable" -hotmenu XINTF_Enable() -{ - - /* enable XINTF clock (XTIMCLK) */ - - *0x7020 = 0x3700; - /* GPBMUX1: XA0-XA7, XA16, XZCS0, */ - /* XZCS7, XREADY, XRNW, XWE0 */ - /* GPAMUX2: XA17-XA19, XZCS6 */ - /* GPCMUX2: XA8-XA15 */ - /* GPCMUX1: XD0-XD15 */ - *(unsigned long *)0x6F96 = 0xFFFFFFC0; /* GPBMUX1 */ - *(unsigned long *)0x6f88 = 0xFF000000; /* GPAMUX2 */ - *(unsigned long *)0x6FA8 = 0x0000AAAA; /* GPCMUX2 */ - *(unsigned long *)0x6FA6 = 0xAAAAAAAA; /* GPCMUX1 */ - - /* Uncomment for x32 data bus */ - /* GPBMUX2: XD16-XD31 */ -// *(unsigned long *)0x6F98 = 0xFFFFFFFF; /* GPBMUX2 */ - - /* Zone timing. - /* Each zone can be configured seperately */ - /* Uncomment the x16 or the x32 timing */ - /* depending on the data bus width for */ - /* the zone */ - - /* x16 Timing */ - *(unsigned long *)0x0B20 = 0x0043FFFF; /* Zone0 */ - *(unsigned long *)0x0B2C = 0x0043FFFF; /* Zone6 */ - *(unsigned long *)0x0B2E = 0x0043FFFF; /* Zone7 */ - - /* x32 Timing: -// *(unsigned long *)0x0B20 = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2C = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2E = 0x0041FFFF; /* x32 */ - - -} - - - - - -/********************************************************************/ -/* The below are used to display the symbolic names of the F28235 */ -/* memory mapped registers in the watch window. To view these */ -/* registers, click on the GEL menu button in Code Composer Studio, */ -/* then select which registers or groups of registers you want to */ -/* view. They will appear in the watch window under the Watch1 tab. */ -/********************************************************************/ - -/* Add a space line to the GEL menu */ -menuitem "______________________________________"; -hotmenu __() {} - -/********************************************************************/ -/* A/D Converter Registers */ -/********************************************************************/ -menuitem "Watch ADC Registers"; - -hotmenu All_ADC_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); - - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} -hotmenu ADC_Control_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); -} -hotmenu ADCCHSELSEQx_Regs() -{ - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); -} -hotmenu ADCRESULT_0_to_7() -{ - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); -} -hotmenu ADCRESULT_8_to_15() -{ - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); -} -hotmenu ADCRESULT_Mirror_0_to_7() -{ - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); -} -hotmenu ADCRESULT_Mirror_8_to_15() -{ - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} - - -/********************************************************************/ -/* Clocking and Low-Power Registers */ -/********************************************************************/ -menuitem "Watch Clocking and Low-Power Registers"; - -hotmenu All_Clocking_and_Low_Power_Regs() -{ - GEL_WatchAdd("*0x7010,x","XCLK"); - GEL_WatchAdd("*0x7011,x","PLLSTS"); - GEL_WatchAdd("*0x701A,x","HISPCP"); - GEL_WatchAdd("*0x701B,x","LOSPCP"); - GEL_WatchAdd("*0x701C,x","PCLKCR0"); - GEL_WatchAdd("*0x701D,x","PCLKCR1"); - GEL_WatchAdd("*0x701E,x","LPMCR0"); - GEL_WatchAdd("*0x7020,x","PCLKCR3"); - GEL_WatchAdd("*0x7021,x","PLLCR"); -} - - -/********************************************************************/ -/* Code Security Module Registers */ -/********************************************************************/ -menuitem "Watch Code Security Module Registers"; - -hotmenu CSMSCR() -{ - GEL_WatchAdd("*0x0AEF,x","CSMSCR"); - GEL_WatchAdd("(*0x0AEF>>15)&1,d"," FORCESEC bit"); - GEL_WatchAdd("(*0x0AEF)&1,d"," SECURE bit"); -} -hotmenu PWL_Locations() -{ - GEL_WatchAdd("*0x33FFF8,x","PWL0"); - GEL_WatchAdd("*0x33FFF9,x","PWL1"); - GEL_WatchAdd("*0x33FFFA,x","PWL2"); - GEL_WatchAdd("*0x33FFFB,x","PWL3"); - GEL_WatchAdd("*0x33FFFC,x","PWL4"); - GEL_WatchAdd("*0x33FFFD,x","PWL5"); - GEL_WatchAdd("*0x33FFFE,x","PWL6"); - GEL_WatchAdd("*0x33FFFF,x","PWL7"); -} - - -/********************************************************************/ -/* CPU Timer Registers */ -/********************************************************************/ -menuitem "Watch CPU Timer Registers"; - -hotmenu All_CPU_Timer0_Regs() -{ - GEL_WatchAdd("*0x0C00,x","TIMER0TIM"); - GEL_WatchAdd("*0x0C01,x","TIMER0TIMH"); - GEL_WatchAdd("*0x0C02,x","TIMER0PRD"); - GEL_WatchAdd("*0x0C03,x","TIMER0PRDH"); - GEL_WatchAdd("*0x0C04,x","TIMER0TCR"); - GEL_WatchAdd("*0x0C06,x","TIMER0TPR"); - GEL_WatchAdd("*0x0C07,x","TIMER0TPRH"); -} -hotmenu All_CPU_Timer1_Regs() -{ - GEL_WatchAdd("*0x0C08,x","TIMER1TIM"); - GEL_WatchAdd("*0x0C09,x","TIMER1TIMH"); - GEL_WatchAdd("*0x0C0A,x","TIMER1PRD"); - GEL_WatchAdd("*0x0C0B,x","TIMER1PRDH"); - GEL_WatchAdd("*0x0C0C,x","TIMER1TCR"); - GEL_WatchAdd("*0x0C0E,x","TIMER1TPR"); - GEL_WatchAdd("*0x0C0F,x","TIMER1TPRH"); -} -hotmenu All_CPU_Timer2_Regs() -{ - GEL_WatchAdd("*0x0C10,x","TIMER2TIM"); - GEL_WatchAdd("*0x0C11,x","TIMER2TIMH"); - GEL_WatchAdd("*0x0C12,x","TIMER2PRD"); - GEL_WatchAdd("*0x0C13,x","TIMER2PRDH"); - GEL_WatchAdd("*0x0C14,x","TIMER2TCR"); - GEL_WatchAdd("*0x0C16,x","TIMER2TPR"); - GEL_WatchAdd("*0x0C17,x","TIMER2TPRH"); -} - - -/********************************************************************/ -/* Device Emulation Registers */ -/********************************************************************/ -menuitem "Watch Device Emulation Registers"; - -hotmenu All_Emulation_Regs() -{ - GEL_WatchAdd("*(long *)0x0880,x","DEVICECNF"); - GEL_WatchAdd("*0x0882,x","CLASSID"); - GEL_WatchAdd("*0x0883,x","REVID"); - GEL_WatchAdd("*0x0884,x","PROTSTART"); - GEL_WatchAdd("*0x0885,x","PROTRANGE"); - GEL_WatchAdd("*0x380090,x","PARTID"); -} -/********************************************************************/ -/* DMA Registers */ -/********************************************************************/ -menuitem "Watch DMA Registers"; - -hotmenu All_DMA_Regs() -{ - GEL_WatchAdd("*0x1000,x","DMACTRL"); - GEL_WatchAdd("*0x1001,x","DEBUGCTRL"); - GEL_WatchAdd("*0x1002,x","REVISION"); - GEL_WatchAdd("*0x1004,x","PRIORITYCTRL1"); - GEL_WatchAdd("*0x1006,x","PRIORITYSTAT"); - - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); - - -} -hotmenu DMA_Channel_1_regs() -{ - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); -} - -hotmenu DMA_Channel_2_regs() -{ - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_3_regs() -{ - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_4_regs() -{ - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_5_regs() -{ - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_6_regs() -{ - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); -} - -/********************************************************************/ -/* eCAN Registers */ -/********************************************************************/ -menuitem "Watch eCAN Registers"; - -hotmenu eCAN_A_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6000,x","eCANA CANME"); - GEL_WatchAdd("*(long *)0x6002,x","eCANA CANMD"); - GEL_WatchAdd("*(long *)0x6004,x","eCANA CANTRS"); - GEL_WatchAdd("*(long *)0x6006,x","eCANA CANTRR"); - GEL_WatchAdd("*(long *)0x6008,x","eCANA CANTA"); - GEL_WatchAdd("*(long *)0x600A,x","eCANA CANAA"); - GEL_WatchAdd("*(long *)0x600C,x","eCANA CANRMP"); - GEL_WatchAdd("*(long *)0x600E,x","eCANA CANRML"); - GEL_WatchAdd("*(long *)0x6010,x","eCANA CANRFP"); - GEL_WatchAdd("*(long *)0x6014,x","eCANA CANMC"); - GEL_WatchAdd("*(long *)0x6016,x","eCANA CANBTC"); - GEL_WatchAdd("*(long *)0x6018,x","eCANA CANES"); - GEL_WatchAdd("*(long *)0x601A,x","eCANA CANTEC"); - GEL_WatchAdd("*(long *)0x601C,x","eCANA CANREC"); - GEL_WatchAdd("*(long *)0x601E,x","eCANA CANGIF0"); - GEL_WatchAdd("*(long *)0x6020,x","eCANA CANGIM"); - GEL_WatchAdd("*(long *)0x6022,x","eCANA CANGIF1"); - GEL_WatchAdd("*(long *)0x6024,x","eCANA CANMIM"); - GEL_WatchAdd("*(long *)0x6026,x","eCANA CANMIL"); - GEL_WatchAdd("*(long *)0x6028,x","eCANA CANOPC"); - GEL_WatchAdd("*(long *)0x602A,x","eCANA CANTIOC"); - GEL_WatchAdd("*(long *)0x602C,x","eCANA CANRIOC"); - GEL_WatchAdd("*(long *)0x602E,x","eCANA CANLNT"); - GEL_WatchAdd("*(long *)0x6030,x","eCANA CANTOC"); - GEL_WatchAdd("*(long *)0x6032,x","eCANA CANTOS"); -} -hotmenu eCAN_A_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6040,x","eCANA LAM0"); - GEL_WatchAdd("*(long *)0x6080,x","eCANA MOTS0"); - GEL_WatchAdd("*(long *)0x60C0,x","eCANA MOTO0"); - GEL_WatchAdd("*(long *)0x6100,x","eCANA MID0"); - GEL_WatchAdd("*(long *)0x6102,x","eCANA MCF0"); - GEL_WatchAdd("*(long *)0x6104,x","eCANA MDL0"); - GEL_WatchAdd("*(long *)0x6106,x","eCANA MDH0"); - - GEL_WatchAdd("*(long *)0x6042,x","eCANA LAM1"); - GEL_WatchAdd("*(long *)0x6082,x","eCANA MOTS1"); - GEL_WatchAdd("*(long *)0x60C2,x","eCANA MOTO1"); - GEL_WatchAdd("*(long *)0x6108,x","eCANA MID1"); - GEL_WatchAdd("*(long *)0x610A,x","eCANA MCF1"); - GEL_WatchAdd("*(long *)0x610C,x","eCANA MDL1"); - GEL_WatchAdd("*(long *)0x610E,x","eCANA MDH1"); -} -hotmenu eCAN_A_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6044,x","eCANA LAM2"); - GEL_WatchAdd("*(long *)0x6084,x","eCANA MOTS2"); - GEL_WatchAdd("*(long *)0x60C4,x","eCANA MOTO2"); - GEL_WatchAdd("*(long *)0x6110,x","eCANA MID2"); - GEL_WatchAdd("*(long *)0x6112,x","eCANA MCF2"); - GEL_WatchAdd("*(long *)0x6114,x","eCANA MDL2"); - GEL_WatchAdd("*(long *)0x6116,x","eCANA MDH2"); - - GEL_WatchAdd("*(long *)0x6046,x","eCANA LAM3"); - GEL_WatchAdd("*(long *)0x6086,x","eCANA MOTS3"); - GEL_WatchAdd("*(long *)0x60C6,x","eCANA MOTO3"); - GEL_WatchAdd("*(long *)0x6118,x","eCANA MID3"); - GEL_WatchAdd("*(long *)0x611A,x","eCANA MCF3"); - GEL_WatchAdd("*(long *)0x611C,x","eCANA MDL3"); - GEL_WatchAdd("*(long *)0x611E,x","eCANA MDH3"); -} -hotmenu eCAN_A_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6048,x","eCANA LAM4"); - GEL_WatchAdd("*(long *)0x6088,x","eCANA MOTS4"); - GEL_WatchAdd("*(long *)0x60C8,x","eCANA MOTO4"); - GEL_WatchAdd("*(long *)0x6120,x","eCANA MID4"); - GEL_WatchAdd("*(long *)0x6122,x","eCANA MCF4"); - GEL_WatchAdd("*(long *)0x6124,x","eCANA MDL4"); - GEL_WatchAdd("*(long *)0x6126,x","eCANA MDH4"); - - GEL_WatchAdd("*(long *)0x604A,x","eCANA LAM5"); - GEL_WatchAdd("*(long *)0x608A,x","eCANA MOTS5"); - GEL_WatchAdd("*(long *)0x60CA,x","eCANA MOTO5"); - GEL_WatchAdd("*(long *)0x6128,x","eCANA MID5"); - GEL_WatchAdd("*(long *)0x612A,x","eCANA MCF5"); - GEL_WatchAdd("*(long *)0x612C,x","eCANA MDL5"); - GEL_WatchAdd("*(long *)0x612E,x","eCANA MDH5"); -} -hotmenu eCAN_A_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x604C,x","eCANA LAM6"); - GEL_WatchAdd("*(long *)0x608C,x","eCANA MOTS6"); - GEL_WatchAdd("*(long *)0x60CC,x","eCANA MOTO6"); - GEL_WatchAdd("*(long *)0x6130,x","eCANA MID6"); - GEL_WatchAdd("*(long *)0x6132,x","eCANA MCF6"); - GEL_WatchAdd("*(long *)0x6134,x","eCANA MDL6"); - GEL_WatchAdd("*(long *)0x6136,x","eCANA MDH6"); - - GEL_WatchAdd("*(long *)0x604E,x","eCANA LAM7"); - GEL_WatchAdd("*(long *)0x608E,x","eCANA MOTS7"); - GEL_WatchAdd("*(long *)0x60CE,x","eCANA MOTO7"); - GEL_WatchAdd("*(long *)0x6138,x","eCANA MID7"); - GEL_WatchAdd("*(long *)0x613A,x","eCANA MCF7"); - GEL_WatchAdd("*(long *)0x613C,x","eCANA MDL7"); - GEL_WatchAdd("*(long *)0x613E,x","eCANA MDH7"); -} -hotmenu eCAN_A_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6050,x","eCANA LAM8"); - GEL_WatchAdd("*(long *)0x6090,x","eCANA MOTS8"); - GEL_WatchAdd("*(long *)0x60D0,x","eCANA MOTO8"); - GEL_WatchAdd("*(long *)0x6140,x","eCANA MID8"); - GEL_WatchAdd("*(long *)0x6142,x","eCANA MCF8"); - GEL_WatchAdd("*(long *)0x6144,x","eCANA MDL8"); - GEL_WatchAdd("*(long *)0x6146,x","eCANA MDH8"); - - GEL_WatchAdd("*(long *)0x6052,x","eCANA LAM9"); - GEL_WatchAdd("*(long *)0x6092,x","eCANA MOTS9"); - GEL_WatchAdd("*(long *)0x60D2,x","eCANA MOTO9"); - GEL_WatchAdd("*(long *)0x6148,x","eCANA MID9"); - GEL_WatchAdd("*(long *)0x614A,x","eCANA MCF9"); - GEL_WatchAdd("*(long *)0x614C,x","eCANA MDL9"); - GEL_WatchAdd("*(long *)0x614E,x","eCANA MDH9"); -} -hotmenu eCAN_A_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6054,x","eCANA LAM10"); - GEL_WatchAdd("*(long *)0x6094,x","eCANA MOTS10"); - GEL_WatchAdd("*(long *)0x60D4,x","eCANA MOTO10"); - GEL_WatchAdd("*(long *)0x6150,x","eCANA MID10"); - GEL_WatchAdd("*(long *)0x6152,x","eCANA MCF10"); - GEL_WatchAdd("*(long *)0x6154,x","eCANA MDL10"); - GEL_WatchAdd("*(long *)0x6156,x","eCANA MDH10"); - - GEL_WatchAdd("*(long *)0x6056,x","eCANA LAM11"); - GEL_WatchAdd("*(long *)0x6096,x","eCANA MOTS11"); - GEL_WatchAdd("*(long *)0x60D6,x","eCANA MOTO11"); - GEL_WatchAdd("*(long *)0x6158,x","eCANA MID11"); - GEL_WatchAdd("*(long *)0x615A,x","eCANA MCF11"); - GEL_WatchAdd("*(long *)0x615C,x","eCANA MDL11"); - GEL_WatchAdd("*(long *)0x615E,x","eCANA MDH11"); -} -hotmenu eCAN_A_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6058,x","eCANA LAM12"); - GEL_WatchAdd("*(long *)0x6098,x","eCANA MOTS12"); - GEL_WatchAdd("*(long *)0x60D8,x","eCANA MOTO12"); - GEL_WatchAdd("*(long *)0x6160,x","eCANA MID12"); - GEL_WatchAdd("*(long *)0x6162,x","eCANA MCF12"); - GEL_WatchAdd("*(long *)0x6164,x","eCANA MDL12"); - GEL_WatchAdd("*(long *)0x6166,x","eCANA MDH12"); - - GEL_WatchAdd("*(long *)0x605A,x","eCANA LAM13"); - GEL_WatchAdd("*(long *)0x609A,x","eCANA MOTS13"); - GEL_WatchAdd("*(long *)0x60DA,x","eCANA MOTO13"); - GEL_WatchAdd("*(long *)0x6168,x","eCANA MID13"); - GEL_WatchAdd("*(long *)0x616A,x","eCANA MCF13"); - GEL_WatchAdd("*(long *)0x616C,x","eCANA MDL13"); - GEL_WatchAdd("*(long *)0x616E,x","eCANA MDH13"); -} -hotmenu eCAN_A_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x605C,x","eCANA LAM14"); - GEL_WatchAdd("*(long *)0x609C,x","eCANA MOTS14"); - GEL_WatchAdd("*(long *)0x60DC,x","eCANA MOTO14"); - GEL_WatchAdd("*(long *)0x6170,x","eCANA MID14"); - GEL_WatchAdd("*(long *)0x6172,x","eCANA MCF14"); - GEL_WatchAdd("*(long *)0x6174,x","eCANA MDL14"); - GEL_WatchAdd("*(long *)0x6176,x","eCANA MDH14"); - - GEL_WatchAdd("*(long *)0x605E,x","eCANA LAM15"); - GEL_WatchAdd("*(long *)0x609E,x","eCANA MOTS15"); - GEL_WatchAdd("*(long *)0x60DE,x","eCANA MOTO15"); - GEL_WatchAdd("*(long *)0x6178,x","eCANA MID15"); - GEL_WatchAdd("*(long *)0x617A,x","eCANA MCF15"); - GEL_WatchAdd("*(long *)0x617C,x","eCANA MDL15"); - GEL_WatchAdd("*(long *)0x617E,x","eCANA MDH15"); -} -hotmenu eCAN_A_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6060,x","eCANA LAM16"); - GEL_WatchAdd("*(long *)0x60A0,x","eCANA MOTS16"); - GEL_WatchAdd("*(long *)0x60E0,x","eCANA MOTO16"); - GEL_WatchAdd("*(long *)0x6180,x","eCANA MID16"); - GEL_WatchAdd("*(long *)0x6182,x","eCANA MCF16"); - GEL_WatchAdd("*(long *)0x6184,x","eCANA MDL16"); - GEL_WatchAdd("*(long *)0x6186,x","eCANA MDH16"); - - GEL_WatchAdd("*(long *)0x6062,x","eCANA LAM17"); - GEL_WatchAdd("*(long *)0x60A2,x","eCANA MOTS17"); - GEL_WatchAdd("*(long *)0x60E2,x","eCANA MOTO17"); - GEL_WatchAdd("*(long *)0x6188,x","eCANA MID17"); - GEL_WatchAdd("*(long *)0x618A,x","eCANA MCF17"); - GEL_WatchAdd("*(long *)0x618C,x","eCANA MDL17"); - GEL_WatchAdd("*(long *)0x618E,x","eCANA MDH17"); -} -hotmenu eCAN_A_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6064,x","eCANA LAM18"); - GEL_WatchAdd("*(long *)0x60A4,x","eCANA MOTS18"); - GEL_WatchAdd("*(long *)0x60E4,x","eCANA MOTO18"); - GEL_WatchAdd("*(long *)0x6190,x","eCANA MID18"); - GEL_WatchAdd("*(long *)0x6192,x","eCANA MCF18"); - GEL_WatchAdd("*(long *)0x6194,x","eCANA MDL18"); - GEL_WatchAdd("*(long *)0x6196,x","eCANA MDH18"); - - GEL_WatchAdd("*(long *)0x6066,x","eCANA LAM19"); - GEL_WatchAdd("*(long *)0x60A6,x","eCANA MOTS19"); - GEL_WatchAdd("*(long *)0x60E6,x","eCANA MOTO19"); - GEL_WatchAdd("*(long *)0x6198,x","eCANA MID19"); - GEL_WatchAdd("*(long *)0x619A,x","eCANA MCF19"); - GEL_WatchAdd("*(long *)0x619C,x","eCANA MDL19"); - GEL_WatchAdd("*(long *)0x619E,x","eCANA MDH19"); -} -hotmenu eCAN_A_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6068,x","eCANA LAM20"); - GEL_WatchAdd("*(long *)0x60A8,x","eCANA MOTS20"); - GEL_WatchAdd("*(long *)0x60E8,x","eCANA MOTO20"); - GEL_WatchAdd("*(long *)0x61A0,x","eCANA MID20"); - GEL_WatchAdd("*(long *)0x61A2,x","eCANA MCF20"); - GEL_WatchAdd("*(long *)0x61A4,x","eCANA MDL20"); - GEL_WatchAdd("*(long *)0x61A6,x","eCANA MDH20"); - - GEL_WatchAdd("*(long *)0x606A,x","eCANA LAM21"); - GEL_WatchAdd("*(long *)0x60AA,x","eCANA MOTS21"); - GEL_WatchAdd("*(long *)0x60EA,x","eCANA MOTO21"); - GEL_WatchAdd("*(long *)0x61A8,x","eCANA MID21"); - GEL_WatchAdd("*(long *)0x61AA,x","eCANA MCF21"); - GEL_WatchAdd("*(long *)0x61AC,x","eCANA MDL21"); - GEL_WatchAdd("*(long *)0x61AE,x","eCANA MDH21"); -} -hotmenu eCAN_A_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x606C,x","eCANA LAM22"); - GEL_WatchAdd("*(long *)0x60AC,x","eCANA MOTS22"); - GEL_WatchAdd("*(long *)0x60EC,x","eCANA MOTO22"); - GEL_WatchAdd("*(long *)0x61B0,x","eCANA MID22"); - GEL_WatchAdd("*(long *)0x61B2,x","eCANA MCF22"); - GEL_WatchAdd("*(long *)0x61B4,x","eCANA MDL22"); - GEL_WatchAdd("*(long *)0x61B6,x","eCANA MDH22"); - - GEL_WatchAdd("*(long *)0x606E,x","eCANA LAM23"); - GEL_WatchAdd("*(long *)0x60AE,x","eCANA MOTS23"); - GEL_WatchAdd("*(long *)0x60EE,x","eCANA MOTO23"); - GEL_WatchAdd("*(long *)0x61B8,x","eCANA MID23"); - GEL_WatchAdd("*(long *)0x61BA,x","eCANA MCF23"); - GEL_WatchAdd("*(long *)0x61BC,x","eCANA MDL23"); - GEL_WatchAdd("*(long *)0x61BE,x","eCANA MDH23"); -} -hotmenu eCAN_A_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6070,x","eCANA LAM24"); - GEL_WatchAdd("*(long *)0x60B0,x","eCANA MOTS24"); - GEL_WatchAdd("*(long *)0x60F0,x","eCANA MOTO24"); - GEL_WatchAdd("*(long *)0x61C0,x","eCANA MID24"); - GEL_WatchAdd("*(long *)0x61C2,x","eCANA MCF24"); - GEL_WatchAdd("*(long *)0x61C4,x","eCANA MDL24"); - GEL_WatchAdd("*(long *)0x61C6,x","eCANA MDH24"); - - GEL_WatchAdd("*(long *)0x6072,x","eCANA LAM25"); - GEL_WatchAdd("*(long *)0x60B2,x","eCANA MOTS25"); - GEL_WatchAdd("*(long *)0x60F2,x","eCANA MOTO25"); - GEL_WatchAdd("*(long *)0x61C8,x","eCANA MID25"); - GEL_WatchAdd("*(long *)0x61CA,x","eCANA MCF25"); - GEL_WatchAdd("*(long *)0x61CC,x","eCANA MDL25"); - GEL_WatchAdd("*(long *)0x61CE,x","eCANA MDH25"); -} -hotmenu eCAN_A_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6074,x","eCANA LAM26"); - GEL_WatchAdd("*(long *)0x60B4,x","eCANA MOTS26"); - GEL_WatchAdd("*(long *)0x60F4,x","eCANA MOTO26"); - GEL_WatchAdd("*(long *)0x61D0,x","eCANA MID26"); - GEL_WatchAdd("*(long *)0x61D2,x","eCANA MCF26"); - GEL_WatchAdd("*(long *)0x61D4,x","eCANA MDL26"); - GEL_WatchAdd("*(long *)0x61D6,x","eCANA MDH26"); - - GEL_WatchAdd("*(long *)0x6076,x","eCANA LAM27"); - GEL_WatchAdd("*(long *)0x60B6,x","eCANA MOTS27"); - GEL_WatchAdd("*(long *)0x60F6,x","eCANA MOTO27"); - GEL_WatchAdd("*(long *)0x61D8,x","eCANA MID27"); - GEL_WatchAdd("*(long *)0x61DA,x","eCANA MCF27"); - GEL_WatchAdd("*(long *)0x61DC,x","eCANA MDL27"); - GEL_WatchAdd("*(long *)0x61DE,x","eCANA MDH27"); -} -hotmenu eCAN_A_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6078,x","eCANA LAM28"); - GEL_WatchAdd("*(long *)0x60B8,x","eCANA MOTS28"); - GEL_WatchAdd("*(long *)0x60F8,x","eCANA MOTO28"); - GEL_WatchAdd("*(long *)0x61E0,x","eCANA MID28"); - GEL_WatchAdd("*(long *)0x61E2,x","eCANA MCF28"); - GEL_WatchAdd("*(long *)0x61E4,x","eCANA MDL28"); - GEL_WatchAdd("*(long *)0x61E6,x","eCANA MDH28"); - - GEL_WatchAdd("*(long *)0x607A,x","eCANA LAM29"); - GEL_WatchAdd("*(long *)0x60BA,x","eCANA MOTS29"); - GEL_WatchAdd("*(long *)0x60FA,x","eCANA MOTO29"); - GEL_WatchAdd("*(long *)0x61E8,x","eCANA MID29"); - GEL_WatchAdd("*(long *)0x61EA,x","eCANA MCF29"); - GEL_WatchAdd("*(long *)0x61EC,x","eCANA MDL29"); - GEL_WatchAdd("*(long *)0x61EE,x","eCANA MDH29"); -} -hotmenu eCAN_A_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x607C,x","eCANA LAM30"); - GEL_WatchAdd("*(long *)0x60BC,x","eCANA MOTS30"); - GEL_WatchAdd("*(long *)0x60FC,x","eCANA MOTO30"); - GEL_WatchAdd("*(long *)0x61F0,x","eCANA MID30"); - GEL_WatchAdd("*(long *)0x61F2,x","eCANA MCF30"); - GEL_WatchAdd("*(long *)0x61F4,x","eCANA MDL30"); - GEL_WatchAdd("*(long *)0x61F6,x","eCANA MDH30"); - - GEL_WatchAdd("*(long *)0x607E,x","eCANA LAM31"); - GEL_WatchAdd("*(long *)0x60BE,x","eCANA MOTS31"); - GEL_WatchAdd("*(long *)0x60FE,x","eCANA MOTO31"); - GEL_WatchAdd("*(long *)0x61F8,x","eCANA MID31"); - GEL_WatchAdd("*(long *)0x61FA,x","eCANA MCF31"); - GEL_WatchAdd("*(long *)0x61FC,x","eCANA MDL31"); - GEL_WatchAdd("*(long *)0x61FE,x","eCANA MDH31"); -} -hotmenu eCAN_B_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6200,x","eCANB CANME"); - GEL_WatchAdd("*(long *)0x6202,x","eCANB CANMD"); - GEL_WatchAdd("*(long *)0x6204,x","eCANB CANTRS"); - GEL_WatchAdd("*(long *)0x6206,x","eCANB CANTRR"); - GEL_WatchAdd("*(long *)0x6208,x","eCANB CANTA"); - GEL_WatchAdd("*(long *)0x620A,x","eCANB CANAA"); - GEL_WatchAdd("*(long *)0x620C,x","eCANB CANRMP"); - GEL_WatchAdd("*(long *)0x620E,x","eCANB CANRML"); - GEL_WatchAdd("*(long *)0x6210,x","eCANB CANRFP"); - GEL_WatchAdd("*(long *)0x6214,x","eCANB CANMC"); - GEL_WatchAdd("*(long *)0x6216,x","eCANB CANBTC"); - GEL_WatchAdd("*(long *)0x6218,x","eCANB CANES"); - GEL_WatchAdd("*(long *)0x621A,x","eCANB CANTEC"); - GEL_WatchAdd("*(long *)0x621C,x","eCANB CANREC"); - GEL_WatchAdd("*(long *)0x621E,x","eCANB CANGIF0"); - GEL_WatchAdd("*(long *)0x6220,x","eCANB CANGIM"); - GEL_WatchAdd("*(long *)0x6222,x","eCANB CANGIF1"); - GEL_WatchAdd("*(long *)0x6224,x","eCANB CANMIM"); - GEL_WatchAdd("*(long *)0x6226,x","eCANB CANMIL"); - GEL_WatchAdd("*(long *)0x6228,x","eCANB CANOPC"); - GEL_WatchAdd("*(long *)0x622A,x","eCANB CANTIOC"); - GEL_WatchAdd("*(long *)0x622C,x","eCANB CANRIOC"); - GEL_WatchAdd("*(long *)0x622E,x","eCANB CANLNT"); - GEL_WatchAdd("*(long *)0x6230,x","eCANB CANTOC"); - GEL_WatchAdd("*(long *)0x6232,x","eCANB CANTOS"); -} -hotmenu eCAN_B_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6240,x","eCANB LAM0"); - GEL_WatchAdd("*(long *)0x6280,x","eCANB MOTS0"); - GEL_WatchAdd("*(long *)0x62C0,x","eCANB MOTO0"); - GEL_WatchAdd("*(long *)0x6300,x","eCANB MID0"); - GEL_WatchAdd("*(long *)0x6302,x","eCANB MCF0"); - GEL_WatchAdd("*(long *)0x6304,x","eCANB MDL0"); - GEL_WatchAdd("*(long *)0x6306,x","eCANB MDH0"); - - GEL_WatchAdd("*(long *)0x6242,x","eCANB LAM1"); - GEL_WatchAdd("*(long *)0x6282,x","eCANB MOTS1"); - GEL_WatchAdd("*(long *)0x62C2,x","eCANB MOTO1"); - GEL_WatchAdd("*(long *)0x6308,x","eCANB MID1"); - GEL_WatchAdd("*(long *)0x630A,x","eCANB MCF1"); - GEL_WatchAdd("*(long *)0x630C,x","eCANB MDL1"); - GEL_WatchAdd("*(long *)0x630E,x","eCANB MDH1"); -} -hotmenu eCAN_B_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6244,x","eCANB LAM2"); - GEL_WatchAdd("*(long *)0x6284,x","eCANB MOTS2"); - GEL_WatchAdd("*(long *)0x62C4,x","eCANB MOTO2"); - GEL_WatchAdd("*(long *)0x6310,x","eCANB MID2"); - GEL_WatchAdd("*(long *)0x6312,x","eCANB MCF2"); - GEL_WatchAdd("*(long *)0x6314,x","eCANB MDL2"); - GEL_WatchAdd("*(long *)0x6316,x","eCANB MDH2"); - - GEL_WatchAdd("*(long *)0x6246,x","eCANB LAM3"); - GEL_WatchAdd("*(long *)0x6286,x","eCANB MOTS3"); - GEL_WatchAdd("*(long *)0x62C6,x","eCANB MOTO3"); - GEL_WatchAdd("*(long *)0x6318,x","eCANB MID3"); - GEL_WatchAdd("*(long *)0x631A,x","eCANB MCF3"); - GEL_WatchAdd("*(long *)0x631C,x","eCANB MDL3"); - GEL_WatchAdd("*(long *)0x631E,x","eCANB MDH3"); -} -hotmenu eCAN_B_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6248,x","eCANB LAM4"); - GEL_WatchAdd("*(long *)0x6288,x","eCANB MOTS4"); - GEL_WatchAdd("*(long *)0x62C8,x","eCANB MOTO4"); - GEL_WatchAdd("*(long *)0x6320,x","eCANB MID4"); - GEL_WatchAdd("*(long *)0x6322,x","eCANB MCF4"); - GEL_WatchAdd("*(long *)0x6324,x","eCANB MDL4"); - GEL_WatchAdd("*(long *)0x6326,x","eCANB MDH4"); - - GEL_WatchAdd("*(long *)0x624A,x","eCANB LAM5"); - GEL_WatchAdd("*(long *)0x628A,x","eCANB MOTS5"); - GEL_WatchAdd("*(long *)0x62CA,x","eCANB MOTO5"); - GEL_WatchAdd("*(long *)0x6328,x","eCANB MID5"); - GEL_WatchAdd("*(long *)0x632A,x","eCANB MCF5"); - GEL_WatchAdd("*(long *)0x632C,x","eCANB MDL5"); - GEL_WatchAdd("*(long *)0x632E,x","eCANB MDH5"); -} -hotmenu eCAN_B_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x624C,x","eCANB LAM6"); - GEL_WatchAdd("*(long *)0x628C,x","eCANB MOTS6"); - GEL_WatchAdd("*(long *)0x62CC,x","eCANB MOTO6"); - GEL_WatchAdd("*(long *)0x6330,x","eCANB MID6"); - GEL_WatchAdd("*(long *)0x6332,x","eCANB MCF6"); - GEL_WatchAdd("*(long *)0x6334,x","eCANB MDL6"); - GEL_WatchAdd("*(long *)0x6336,x","eCANB MDH6"); - - GEL_WatchAdd("*(long *)0x624E,x","eCANB LAM7"); - GEL_WatchAdd("*(long *)0x628E,x","eCANB MOTS7"); - GEL_WatchAdd("*(long *)0x62CE,x","eCANB MOTO7"); - GEL_WatchAdd("*(long *)0x6338,x","eCANB MID7"); - GEL_WatchAdd("*(long *)0x633A,x","eCANB MCF7"); - GEL_WatchAdd("*(long *)0x633C,x","eCANB MDL7"); - GEL_WatchAdd("*(long *)0x633E,x","eCANB MDH7"); -} -hotmenu eCAN_B_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6250,x","eCANB LAM8"); - GEL_WatchAdd("*(long *)0x6290,x","eCANB MOTS8"); - GEL_WatchAdd("*(long *)0x62D0,x","eCANB MOTO8"); - GEL_WatchAdd("*(long *)0x6340,x","eCANB MID8"); - GEL_WatchAdd("*(long *)0x6342,x","eCANB MCF8"); - GEL_WatchAdd("*(long *)0x6344,x","eCANB MDL8"); - GEL_WatchAdd("*(long *)0x6346,x","eCANB MDH8"); - - GEL_WatchAdd("*(long *)0x6252,x","eCANB LAM9"); - GEL_WatchAdd("*(long *)0x6292,x","eCANB MOTS9"); - GEL_WatchAdd("*(long *)0x62D2,x","eCANB MOTO9"); - GEL_WatchAdd("*(long *)0x6348,x","eCANB MID9"); - GEL_WatchAdd("*(long *)0x634A,x","eCANB MCF9"); - GEL_WatchAdd("*(long *)0x634C,x","eCANB MDL9"); - GEL_WatchAdd("*(long *)0x634E,x","eCANB MDH9"); -} -hotmenu eCAN_B_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6254,x","eCANB LAM10"); - GEL_WatchAdd("*(long *)0x6294,x","eCANB MOTS10"); - GEL_WatchAdd("*(long *)0x62D4,x","eCANB MOTO10"); - GEL_WatchAdd("*(long *)0x6350,x","eCANB MID10"); - GEL_WatchAdd("*(long *)0x6352,x","eCANB MCF10"); - GEL_WatchAdd("*(long *)0x6354,x","eCANB MDL10"); - GEL_WatchAdd("*(long *)0x6356,x","eCANB MDH10"); - - GEL_WatchAdd("*(long *)0x6256,x","eCANB LAM11"); - GEL_WatchAdd("*(long *)0x6296,x","eCANB MOTS11"); - GEL_WatchAdd("*(long *)0x62D6,x","eCANB MOTO11"); - GEL_WatchAdd("*(long *)0x6358,x","eCANB MID11"); - GEL_WatchAdd("*(long *)0x635A,x","eCANB MCF11"); - GEL_WatchAdd("*(long *)0x635C,x","eCANB MDL11"); - GEL_WatchAdd("*(long *)0x635E,x","eCANB MDH11"); -} -hotmenu eCAN_B_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6258,x","eCANB LAM12"); - GEL_WatchAdd("*(long *)0x6298,x","eCANB MOTS12"); - GEL_WatchAdd("*(long *)0x62D8,x","eCANB MOTO12"); - GEL_WatchAdd("*(long *)0x6360,x","eCANB MID12"); - GEL_WatchAdd("*(long *)0x6362,x","eCANB MCF12"); - GEL_WatchAdd("*(long *)0x6364,x","eCANB MDL12"); - GEL_WatchAdd("*(long *)0x6366,x","eCANB MDH12"); - - GEL_WatchAdd("*(long *)0x625A,x","eCANB LAM13"); - GEL_WatchAdd("*(long *)0x629A,x","eCANB MOTS13"); - GEL_WatchAdd("*(long *)0x62DA,x","eCANB MOTO13"); - GEL_WatchAdd("*(long *)0x6368,x","eCANB MID13"); - GEL_WatchAdd("*(long *)0x636A,x","eCANB MCF13"); - GEL_WatchAdd("*(long *)0x636C,x","eCANB MDL13"); - GEL_WatchAdd("*(long *)0x636E,x","eCANB MDH13"); -} -hotmenu eCAN_B_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x625C,x","eCANB LAM14"); - GEL_WatchAdd("*(long *)0x629C,x","eCANB MOTS14"); - GEL_WatchAdd("*(long *)0x62DC,x","eCANB MOTO14"); - GEL_WatchAdd("*(long *)0x6370,x","eCANB MID14"); - GEL_WatchAdd("*(long *)0x6372,x","eCANB MCF14"); - GEL_WatchAdd("*(long *)0x6374,x","eCANB MDL14"); - GEL_WatchAdd("*(long *)0x6376,x","eCANB MDH14"); - - GEL_WatchAdd("*(long *)0x625E,x","eCANB LAM15"); - GEL_WatchAdd("*(long *)0x629E,x","eCANB MOTS15"); - GEL_WatchAdd("*(long *)0x62DE,x","eCANB MOTO15"); - GEL_WatchAdd("*(long *)0x6378,x","eCANB MID15"); - GEL_WatchAdd("*(long *)0x637A,x","eCANB MCF15"); - GEL_WatchAdd("*(long *)0x637C,x","eCANB MDL15"); - GEL_WatchAdd("*(long *)0x637E,x","eCANB MDH15"); -} -hotmenu eCAN_B_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6260,x","eCANB LAM16"); - GEL_WatchAdd("*(long *)0x62A0,x","eCANB MOTS16"); - GEL_WatchAdd("*(long *)0x62E0,x","eCANB MOTO16"); - GEL_WatchAdd("*(long *)0x6380,x","eCANB MID16"); - GEL_WatchAdd("*(long *)0x6382,x","eCANB MCF16"); - GEL_WatchAdd("*(long *)0x6384,x","eCANB MDL16"); - GEL_WatchAdd("*(long *)0x6386,x","eCANB MDH16"); - - GEL_WatchAdd("*(long *)0x6262,x","eCANB LAM17"); - GEL_WatchAdd("*(long *)0x62A2,x","eCANB MOTS17"); - GEL_WatchAdd("*(long *)0x62E2,x","eCANB MOTO17"); - GEL_WatchAdd("*(long *)0x6388,x","eCANB MID17"); - GEL_WatchAdd("*(long *)0x638A,x","eCANB MCF17"); - GEL_WatchAdd("*(long *)0x638C,x","eCANB MDL17"); - GEL_WatchAdd("*(long *)0x638E,x","eCANB MDH17"); -} -hotmenu eCAN_B_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6264,x","eCANB LAM18"); - GEL_WatchAdd("*(long *)0x62A4,x","eCANB MOTS18"); - GEL_WatchAdd("*(long *)0x62E4,x","eCANB MOTO18"); - GEL_WatchAdd("*(long *)0x6390,x","eCANB MID18"); - GEL_WatchAdd("*(long *)0x6392,x","eCANB MCF18"); - GEL_WatchAdd("*(long *)0x6394,x","eCANB MDL18"); - GEL_WatchAdd("*(long *)0x6396,x","eCANB MDH18"); - - GEL_WatchAdd("*(long *)0x6266,x","eCANB LAM19"); - GEL_WatchAdd("*(long *)0x62A6,x","eCANB MOTS19"); - GEL_WatchAdd("*(long *)0x62E6,x","eCANB MOTO19"); - GEL_WatchAdd("*(long *)0x6398,x","eCANB MID19"); - GEL_WatchAdd("*(long *)0x639A,x","eCANB MCF19"); - GEL_WatchAdd("*(long *)0x639C,x","eCANB MDL19"); - GEL_WatchAdd("*(long *)0x639E,x","eCANB MDH19"); -} -hotmenu eCAN_B_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6268,x","eCANB LAM20"); - GEL_WatchAdd("*(long *)0x62A8,x","eCANB MOTS20"); - GEL_WatchAdd("*(long *)0x62E8,x","eCANB MOTO20"); - GEL_WatchAdd("*(long *)0x63A0,x","eCANB MID20"); - GEL_WatchAdd("*(long *)0x63A2,x","eCANB MCF20"); - GEL_WatchAdd("*(long *)0x63A4,x","eCANB MDL20"); - GEL_WatchAdd("*(long *)0x63A6,x","eCANB MDH20"); - - GEL_WatchAdd("*(long *)0x626A,x","eCANB LAM21"); - GEL_WatchAdd("*(long *)0x62AA,x","eCANB MOTS21"); - GEL_WatchAdd("*(long *)0x62EA,x","eCANB MOTO21"); - GEL_WatchAdd("*(long *)0x63A8,x","eCANB MID21"); - GEL_WatchAdd("*(long *)0x63AA,x","eCANB MCF21"); - GEL_WatchAdd("*(long *)0x63AC,x","eCANB MDL21"); - GEL_WatchAdd("*(long *)0x63AE,x","eCANB MDH21"); -} -hotmenu eCAN_B_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x626C,x","eCANB LAM22"); - GEL_WatchAdd("*(long *)0x62AC,x","eCANB MOTS22"); - GEL_WatchAdd("*(long *)0x62EC,x","eCANB MOTO22"); - GEL_WatchAdd("*(long *)0x63B0,x","eCANB MID22"); - GEL_WatchAdd("*(long *)0x63B2,x","eCANB MCF22"); - GEL_WatchAdd("*(long *)0x63B4,x","eCANB MDL22"); - GEL_WatchAdd("*(long *)0x63B6,x","eCANB MDH22"); - - GEL_WatchAdd("*(long *)0x626E,x","eCANB LAM23"); - GEL_WatchAdd("*(long *)0x62AE,x","eCANB MOTS23"); - GEL_WatchAdd("*(long *)0x62EE,x","eCANB MOTO23"); - GEL_WatchAdd("*(long *)0x63B8,x","eCANB MID23"); - GEL_WatchAdd("*(long *)0x63BA,x","eCANB MCF23"); - GEL_WatchAdd("*(long *)0x63BC,x","eCANB MDL23"); - GEL_WatchAdd("*(long *)0x63BE,x","eCANB MDH23"); -} -hotmenu eCAN_B_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6270,x","eCANB LAM24"); - GEL_WatchAdd("*(long *)0x62B0,x","eCANB MOTS24"); - GEL_WatchAdd("*(long *)0x62F0,x","eCANB MOTO24"); - GEL_WatchAdd("*(long *)0x63C0,x","eCANB MID24"); - GEL_WatchAdd("*(long *)0x63C2,x","eCANB MCF24"); - GEL_WatchAdd("*(long *)0x63C4,x","eCANB MDL24"); - GEL_WatchAdd("*(long *)0x63C6,x","eCANB MDH24"); - - GEL_WatchAdd("*(long *)0x6272,x","eCANB LAM25"); - GEL_WatchAdd("*(long *)0x62B2,x","eCANB MOTS25"); - GEL_WatchAdd("*(long *)0x62F2,x","eCANB MOTO25"); - GEL_WatchAdd("*(long *)0x63C8,x","eCANB MID25"); - GEL_WatchAdd("*(long *)0x63CA,x","eCANB MCF25"); - GEL_WatchAdd("*(long *)0x63CC,x","eCANB MDL25"); - GEL_WatchAdd("*(long *)0x63CE,x","eCANB MDH25"); -} -hotmenu eCAN_B_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6274,x","eCANB LAM26"); - GEL_WatchAdd("*(long *)0x62B4,x","eCANB MOTS26"); - GEL_WatchAdd("*(long *)0x62F4,x","eCANB MOTO26"); - GEL_WatchAdd("*(long *)0x63D0,x","eCANB MID26"); - GEL_WatchAdd("*(long *)0x63D2,x","eCANB MCF26"); - GEL_WatchAdd("*(long *)0x63D4,x","eCANB MDL26"); - GEL_WatchAdd("*(long *)0x63D6,x","eCANB MDH26"); - - GEL_WatchAdd("*(long *)0x6276,x","eCANB LAM27"); - GEL_WatchAdd("*(long *)0x62B6,x","eCANB MOTS27"); - GEL_WatchAdd("*(long *)0x62F6,x","eCANB MOTO27"); - GEL_WatchAdd("*(long *)0x63D8,x","eCANB MID27"); - GEL_WatchAdd("*(long *)0x63DA,x","eCANB MCF27"); - GEL_WatchAdd("*(long *)0x63DC,x","eCANB MDL27"); - GEL_WatchAdd("*(long *)0x63DE,x","eCANB MDH27"); -} -hotmenu eCAN_B_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6278,x","eCANB LAM28"); - GEL_WatchAdd("*(long *)0x62B8,x","eCANB MOTS28"); - GEL_WatchAdd("*(long *)0x62F8,x","eCANB MOTO28"); - GEL_WatchAdd("*(long *)0x63E0,x","eCANB MID28"); - GEL_WatchAdd("*(long *)0x63E2,x","eCANB MCF28"); - GEL_WatchAdd("*(long *)0x63E4,x","eCANB MDL28"); - GEL_WatchAdd("*(long *)0x63E6,x","eCANB MDH28"); - - GEL_WatchAdd("*(long *)0x627A,x","eCANB LAM29"); - GEL_WatchAdd("*(long *)0x62BA,x","eCANB MOTS29"); - GEL_WatchAdd("*(long *)0x62FA,x","eCANB MOTO29"); - GEL_WatchAdd("*(long *)0x63E8,x","eCANB MID29"); - GEL_WatchAdd("*(long *)0x63EA,x","eCANB MCF29"); - GEL_WatchAdd("*(long *)0x63EC,x","eCANB MDL29"); - GEL_WatchAdd("*(long *)0x63EE,x","eCANB MDH29"); -} -hotmenu eCAN_B_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x627C,x","eCANB LAM30"); - GEL_WatchAdd("*(long *)0x62BC,x","eCANB MOTS30"); - GEL_WatchAdd("*(long *)0x62FC,x","eCANB MOTO30"); - GEL_WatchAdd("*(long *)0x63F0,x","eCANB MID30"); - GEL_WatchAdd("*(long *)0x63F2,x","eCANB MCF30"); - GEL_WatchAdd("*(long *)0x63F4,x","eCANB MDL30"); - GEL_WatchAdd("*(long *)0x63F6,x","eCANB MDH30"); - - GEL_WatchAdd("*(long *)0x627E,x","eCANB LAM31"); - GEL_WatchAdd("*(long *)0x62BE,x","eCANB MOTS31"); - GEL_WatchAdd("*(long *)0x62FE,x","eCANB MOTO31"); - GEL_WatchAdd("*(long *)0x63F8,x","eCANB MID31"); - GEL_WatchAdd("*(long *)0x63FA,x","eCANB MCF31"); - GEL_WatchAdd("*(long *)0x63FC,x","eCANB MDL31"); - GEL_WatchAdd("*(long *)0x63FE,x","eCANB MDH31"); -} - - -/********************************************************************/ -/* Enhanced Capture Registers */ -/********************************************************************/ -menuitem "Watch eCAP Registers"; - -hotmenu eCAP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A00,x","eCAP1 TSCNT"); - GEL_WatchAdd("*(long *)0x6A02,x","eCAP1 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A04,x","eCAP1 CAP1"); - GEL_WatchAdd("*(long *)0x6A06,x","eCAP1 CAP2"); - GEL_WatchAdd("*(long *)0x6A08,x","eCAP1 CAP3"); - GEL_WatchAdd("*(long *)0x6A0A,x","eCAP1 CAP4"); - GEL_WatchAdd("*0x6A14,x","eCAP1 ECCTL1"); - GEL_WatchAdd("*0x6A15,x","eCAP1 ECCTL2"); - GEL_WatchAdd("*0x6A16,x","eCAP1 ECEINT"); - GEL_WatchAdd("*0x6A17,x","eCAP1 ECFLG"); - GEL_WatchAdd("*0x6A18,x","eCAP1 ECCLR"); - GEL_WatchAdd("*0x6A19,x","eCAP1 ECFRC"); -} -hotmenu eCAP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A20,x","eCAP2 TSCNT"); - GEL_WatchAdd("*(long *)0x6A22,x","eCAP2 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A24,x","eCAP2 CAP1"); - GEL_WatchAdd("*(long *)0x6A26,x","eCAP2 CAP2"); - GEL_WatchAdd("*(long *)0x6A28,x","eCAP2 CAP3"); - GEL_WatchAdd("*(long *)0x6A2A,x","eCAP2 CAP4"); - GEL_WatchAdd("*0x6A34,x","eCAP2 ECCTL1"); - GEL_WatchAdd("*0x6A35,x","eCAP2 ECCTL2"); - GEL_WatchAdd("*0x6A36,x","eCAP2 ECEINT"); - GEL_WatchAdd("*0x6A37,x","eCAP2 ECFLG"); - GEL_WatchAdd("*0x6A38,x","eCAP2 ECCLR"); - GEL_WatchAdd("*0x6A39,x","eCAP2 ECFRC"); -} -hotmenu eCAP3_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A40,x","eCAP3 TSCNT"); - GEL_WatchAdd("*(long *)0x6A42,x","eCAP3 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A44,x","eCAP3 CAP1"); - GEL_WatchAdd("*(long *)0x6A46,x","eCAP3 CAP2"); - GEL_WatchAdd("*(long *)0x6A48,x","eCAP3 CAP3"); - GEL_WatchAdd("*(long *)0x6A4A,x","eCAP3 CAP4"); - GEL_WatchAdd("*0x6A54,x","eCAP3 ECCTL1"); - GEL_WatchAdd("*0x6A55,x","eCAP3 ECCTL2"); - GEL_WatchAdd("*0x6A56,x","eCAP3 ECEINT"); - GEL_WatchAdd("*0x6A57,x","eCAP3 ECFLG"); - GEL_WatchAdd("*0x6A58,x","eCAP3 ECCLR"); - GEL_WatchAdd("*0x6A59,x","eCAP3 ECFRC"); -} -hotmenu eCAP4_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A60,x","eCAP4 TSCNT"); - GEL_WatchAdd("*(long *)0x6A62,x","eCAP4 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A64,x","eCAP4 CAP1"); - GEL_WatchAdd("*(long *)0x6A66,x","eCAP4 CAP2"); - GEL_WatchAdd("*(long *)0x6A68,x","eCAP4 CAP3"); - GEL_WatchAdd("*(long *)0x6A6A,x","eCAP4 CAP4"); - GEL_WatchAdd("*0x6A74,x","eCAP4 ECCTL1"); - GEL_WatchAdd("*0x6A75,x","eCAP4 ECCTL2"); - GEL_WatchAdd("*0x6A76,x","eCAP4 ECEINT"); - GEL_WatchAdd("*0x6A77,x","eCAP4 ECFLG"); - GEL_WatchAdd("*0x6A78,x","eCAP4 ECCLR"); - GEL_WatchAdd("*0x6A79,x","eCAP4 ECFRC"); -} -hotmenu eCAP5_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A80,x","eCAP5 TSCNT"); - GEL_WatchAdd("*(long *)0x6A82,x","eCAP5 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A84,x","eCAP5 CAP1"); - GEL_WatchAdd("*(long *)0x6A86,x","eCAP5 CAP2"); - GEL_WatchAdd("*(long *)0x6A88,x","eCAP5 CAP3"); - GEL_WatchAdd("*(long *)0x6A8A,x","eCAP5 CAP4"); - GEL_WatchAdd("*0x6A94,x","eCAP5 ECCTL1"); - GEL_WatchAdd("*0x6A95,x","eCAP5 ECCTL2"); - GEL_WatchAdd("*0x6A96,x","eCAP5 ECEINT"); - GEL_WatchAdd("*0x6A97,x","eCAP5 ECFLG"); - GEL_WatchAdd("*0x6A98,x","eCAP5 ECCLR"); - GEL_WatchAdd("*0x6A99,x","eCAP5 ECFRC"); -} -hotmenu eCAP6_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6AA0,x","eCAP6 TSCNT"); - GEL_WatchAdd("*(long *)0x6AA2,x","eCAP6 CNTPHS"); - GEL_WatchAdd("*(long *)0x6AA4,x","eCAP6 CAP1"); - GEL_WatchAdd("*(long *)0x6AA6,x","eCAP6 CAP2"); - GEL_WatchAdd("*(long *)0x6AA8,x","eCAP6 CAP3"); - GEL_WatchAdd("*(long *)0x6AAA,x","eCAP6 CAP4"); - GEL_WatchAdd("*0x6AB4,x","eCAP6 ECCTL1"); - GEL_WatchAdd("*0x6AB5,x","eCAP6 ECCTL2"); - GEL_WatchAdd("*0x6AB6,x","eCAP6 ECEINT"); - GEL_WatchAdd("*0x6AB7,x","eCAP6 ECFLG"); - GEL_WatchAdd("*0x6AB8,x","eCAP6 ECCLR"); - GEL_WatchAdd("*0x6AB9,x","eCAP6 ECFRC"); -} - - -/********************************************************************/ -/* Enhanced PWM Registers */ -/********************************************************************/ -menuitem "Watch ePWM Registers"; - -hotmenu ePWM1_All_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6813,x","ePWM1 TZDCSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); - GEL_WatchAdd("*0x681E,x","ePWM1 PCCTL"); - GEL_WatchAdd("*0x6820,x","ePWM1 HRCNFG"); -} -hotmenu ePWM1_TB_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); -} -hotmenu ePWM1_CMP_Regs() -{ - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); -} -hotmenu ePWM1_AQ_Regs() -{ - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); -} -hotmenu ePWM1_DB_Regs() -{ - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); -} -hotmenu ePWM1_TZ_Regs() -{ - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); -} -hotmenu ePWM1_ET_Regs() -{ - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); -} -hotmenu ePWM2_All_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6853,x","ePWM2 TZDCSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); - GEL_WatchAdd("*0x685E,x","ePWM2 PCCTL"); - GEL_WatchAdd("*0x6860,x","ePWM2 HRCNFG"); -} -hotmenu ePWM2_TB_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); -} -hotmenu ePWM2_CMP_Regs() -{ - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); -} -hotmenu ePWM2_AQ_Regs() -{ - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); -} -hotmenu ePWM2_DB_Regs() -{ - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); -} -hotmenu ePWM2_TZ_Regs() -{ - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); -} -hotmenu ePWM2_ET_Regs() -{ - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); -} -hotmenu ePWM3_All_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6893,x","ePWM3 TZDCSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); - GEL_WatchAdd("*0x689E,x","ePWM3 PCCTL"); - GEL_WatchAdd("*0x68A0,x","ePWM3 HRCNFG"); -} -hotmenu ePWM3_TB_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); -} -hotmenu ePWM3_CMP_Regs() -{ - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); -} -hotmenu ePWM3_AQ_Regs() -{ - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); -} -hotmenu ePWM3_DB_Regs() -{ - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); -} -hotmenu ePWM3_TZ_Regs() -{ - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); -} -hotmenu ePWM3_ET_Regs() -{ - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); -} -hotmenu ePWM4_All_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D3,x","ePWM4 TZDCSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); - GEL_WatchAdd("*0x68DE,x","ePWM4 PCCTL"); - GEL_WatchAdd("*0x68E0,x","ePWM4 HRCNFG"); -} -hotmenu ePWM4_TB_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); -} -hotmenu ePWM4_CMP_Regs() -{ - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); -} -hotmenu ePWM4_AQ_Regs() -{ - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); -} -hotmenu ePWM4_DB_Regs() -{ - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); -} -hotmenu ePWM4_TZ_Regs() -{ - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); -} -hotmenu ePWM4_ET_Regs() -{ - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); -} -hotmenu ePWM5_All_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6902,x","ePWM5 TBPHSHR"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6908,x","ePWM5 CMPAHR"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6913,x","ePWM5 TZDCSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); - GEL_WatchAdd("*0x691E,x","ePWM5 PCCTL"); - GEL_WatchAdd("*0x6920,x","ePWM5 HRCNFG"); -} -hotmenu ePWM5_TB_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6902,x","ePWM5 TBPHSHR"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); -} -hotmenu ePWM5_CMP_Regs() -{ - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6908,x","ePWM5 CMPAHR"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); -} -hotmenu ePWM5_AQ_Regs() -{ - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); -} -hotmenu ePWM5_DB_Regs() -{ - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); -} -hotmenu ePWM5_TZ_Regs() -{ - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); -} -hotmenu ePWM5_ET_Regs() -{ - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); -} -hotmenu ePWM6_All_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6942,x","ePWM6 TBPHSHR"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6948,x","ePWM6 CMPAHR"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6953,x","ePWM6 TZDCSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); - GEL_WatchAdd("*0x695E,x","ePWM6 PCCTL"); - GEL_WatchAdd("*0x6960,x","ePWM6 HRCNFG"); - -} -hotmenu ePWM6_TB_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6942,x","ePWM6 TBPHSHR"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); -} -hotmenu ePWM6_CMP_Regs() -{ - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6948,x","ePWM6 CMPAHR"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); -} -hotmenu ePWM6_AQ_Regs() -{ - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); -} -hotmenu ePWM6_DB_Regs() -{ - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); -} -hotmenu ePWM6_TZ_Regs() -{ - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); -} -hotmenu ePWM6_ET_Regs() -{ - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); -} - - -/********************************************************************/ -/* Enhanced EQEP Registers */ -/********************************************************************/ -menuitem "Watch eQEP" - -hotmenu eQEP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B00,x","eQEP1 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B02,x","eQEP1 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B04,x","eQEP1 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B06,x","eQEP1 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B08,x","eQEP1 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B0A,x","eQEP1 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B0C,x","eQEP1 QPOSLAT"); - GEL_WatchAdd("*(long *)0x6B0E,x","eQEP1 QUTMR"); - GEL_WatchAdd("*(long *)0x6B10,x","eQEP1 QUPRD"); - GEL_WatchAdd("*0x6B12,x","eQEP1 QWDTMR"); - GEL_WatchAdd("*0x6B13,x","eQEP1 QWDPRD"); - GEL_WatchAdd("*0x6B14,x","eQEP1 QDECCTL"); - GEL_WatchAdd("*0x6B15,x","eQEP1 QEPCTL"); - GEL_WatchAdd("*0x6B16,x","eQEP1 QCAPCTL"); - GEL_WatchAdd("*0x6B17,x","eQEP1 QPOSCTL"); - GEL_WatchAdd("*0x6B18,x","eQEP1 QEINT"); - GEL_WatchAdd("*0x6B19,x","eQEP1 QFLG"); - GEL_WatchAdd("*0x6B1A,x","eQEP1 QCLR"); - GEL_WatchAdd("*0x6B1B,x","eQEP1 QFRC"); - GEL_WatchAdd("*0x6B1C,x","eQEP1 QEPSTS"); - GEL_WatchAdd("*0x6B1D,x","eQEP1 QCTMR"); - GEL_WatchAdd("*0x6B1E,x","eQEP1 QCPRD"); - GEL_WatchAdd("*0x6B1F,x","eQEP1 QCTMRLAT"); - GEL_WatchAdd("*0x6B20,x","eQEP1 QCPRDLAT"); -} -hotmenu eQEP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B40,x","eQEP2 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B42,x","eQEP2 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B44,x","eQEP2 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B46,x","eQEP2 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B48,x","eQEP2 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B4A,x","eQEP2 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B4C,x","eQEP2 QPOSLAT"); - GEL_WatchAdd("(long *)*0x6B4E,x","eQEP2 QUTMR"); - GEL_WatchAdd("*(long *)0x6B50,x","eQEP2 QUPRD"); - GEL_WatchAdd("*0x6B52,x","eQEP2 QWDTMR"); - GEL_WatchAdd("*0x6B53,x","eQEP2 QWDPRD"); - GEL_WatchAdd("*0x6B54,x","eQEP2 QDECCTL"); - GEL_WatchAdd("*0x6B55,x","eQEP2 QEPCTL"); - GEL_WatchAdd("*0x6B56,x","eQEP2 QCAPCTL"); - GEL_WatchAdd("*0x6B57,x","eQEP2 QPOSCTL"); - GEL_WatchAdd("*0x6B58,x","eQEP2 QEINT"); - GEL_WatchAdd("*0x6B59,x","eQEP2 QFLG"); - GEL_WatchAdd("*0x6B5A,x","eQEP2 QCLR"); - GEL_WatchAdd("*0x6B5B,x","eQEP2 QFRC"); - GEL_WatchAdd("*0x6B5C,x","eQEP2 QEPSTS"); - GEL_WatchAdd("*0x6B5D,x","eQEP2 QCTMR"); - GEL_WatchAdd("*0x6B5E,x","eQEP2 QCPRD"); - GEL_WatchAdd("*0x6B5F,x","eQEP2 QCTMRLAT"); - GEL_WatchAdd("*0x6B60,x","eQEP2 QCPRDLAT"); -} - - -/********************************************************************/ -/* External Interface Registers */ -/********************************************************************/ -menuitem "Watch External Interface Registers"; - -hotmenu All_External_Interface_Regs() -{ - GEL_WatchAdd("*(long *)0x0B20,x","XTIMING0"); - GEL_WatchAdd("*(long *)0x0B2C,x","XTIMING6"); - GEL_WatchAdd("*(long *)0x0B2E,x","XTIMING7"); - GEL_WatchAdd("*(long *)0x0B34,x","XINTCNF2"); - GEL_WatchAdd("*0x0B38,x","XBANK"); - GEL_WatchAdd("*0x0B3A,x","XREVISION"); - GEL_WatchAdd("*0x0B3D,x","XRESET"); -} - -/********************************************************************/ -/* External Interrupt Registers */ -/********************************************************************/ -menuitem "Watch External Interrupt Registers"; - -hotmenu All_XINT_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} -hotmenu XINT_Control_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); -} -hotmenu XINT_Counter_Regs() -{ - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} - - -/********************************************************************/ -/* GPIO Registers */ -/********************************************************************/ -menuitem "Watch GPIO Registers"; - -hotmenu All_GPIO_CONTROL_Regs() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); -} -hotmenu All_GPIO_DATA_Regs() -{ - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} -hotmenu All_GPIO_INTERRUPT_Regs() -{ - GEL_WatchAdd("*0x6FE0,x","GPIOXINT1SEL"); - GEL_WatchAdd("*0x6FE1,x","GPIOXINT2SEL"); - GEL_WatchAdd("*0x6FE2,x","GPIOXNMISEL"); - GEL_WatchAdd("*0x6FE3,x","GPIOXINT3SEL"); - GEL_WatchAdd("*0x6FE4,x","GPIOXINT4SEL"); - GEL_WatchAdd("*0x6FE5,x","GPIOXINT5SEL"); - GEL_WatchAdd("*0x6FE6,x","GPIOXINT6SEL"); - GEL_WatchAdd("*0x6FE7,x","GPIOXINT7SEL"); - GEL_WatchAdd("*(long *)0x6FE8,x","GPIOLPMSEL"); -} -hotmenu All_GPA_Registers() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); -} -hotmenu All_GPB_Registers() -{ - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); -} -hotmenu All_GPC_Registers() -{ - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} - - -/********************************************************************/ -/* Multichannel Serial Port Registers */ -/********************************************************************/ -menuitem "Watch McBSP Registers"; - -hotmenu All_McBSP_A_Regs() -{ - GEL_WatchAdd("*0x5000,x","McBSPA DRR2"); - GEL_WatchAdd("*0x5001,x","McBSPA DRR1"); - GEL_WatchAdd("*0x5002,x","McBSPA DXR2"); - GEL_WatchAdd("*0x5003,x","McBSPA DXR1"); - GEL_WatchAdd("*0x5004,x","McBSPA SPCR2"); - GEL_WatchAdd("*0x5005,x","McBSPA SPCR1"); - GEL_WatchAdd("*0x5006,x","McBSPA RCR2"); - GEL_WatchAdd("*0x5007,x","McBSPA RCR1"); - GEL_WatchAdd("*0x5008,x","McBSPA XCR2"); - GEL_WatchAdd("*0x5009,x","McBSPA XCR1"); - GEL_WatchAdd("*0x500A,x","McBSPA SRGR2"); - GEL_WatchAdd("*0x500B,x","McBSPA SRGR1"); - GEL_WatchAdd("*0x500C,x","McBSPA MCR2"); - GEL_WatchAdd("*0x500D,x","McBSPA MCR1"); - GEL_WatchAdd("*0x500E,x","McBSPA RCERA"); - GEL_WatchAdd("*0x500F,x","McBSPA RCERB"); - GEL_WatchAdd("*0x5010,x","McBSPA XCERA"); - GEL_WatchAdd("*0x5011,x","McBSPA XCERB"); - GEL_WatchAdd("*0x5012,x","McBSPA PCR1"); - GEL_WatchAdd("*0x5013,x","McBSPA RCERC"); - GEL_WatchAdd("*0x5014,x","McBSPA RCERD"); - GEL_WatchAdd("*0x5015,x","McBSPA XCERC"); - GEL_WatchAdd("*0x5016,x","McBSPA XCERD"); - GEL_WatchAdd("*0x5017,x","McBSPA RCERE"); - GEL_WatchAdd("*0x5018,x","McBSPA RCERF"); - GEL_WatchAdd("*0x5019,x","McBSPA XCERE"); - GEL_WatchAdd("*0x501A,x","McBSPA XCERF"); - GEL_WatchAdd("*0x501B,x","McBSPA RCERG"); - GEL_WatchAdd("*0x501C,x","McBSPA RCERH"); - GEL_WatchAdd("*0x501D,x","McBSPA XCERG"); - GEL_WatchAdd("*0x501E,x","McBSPA XCERH"); - GEL_WatchAdd("*0x5023,x","McBSPA MFFINT"); - GEL_WatchAdd("*0x503F,x","McBSPA Revision"); -} - -hotmenu All_McBSP_B_Regs() -{ - GEL_WatchAdd("*0x5040,x","McBSPB DRR2"); - GEL_WatchAdd("*0x5041,x","McBSPB DRR1"); - GEL_WatchAdd("*0x5042,x","McBSPB DXR2"); - GEL_WatchAdd("*0x5043,x","McBSPB DXR1"); - GEL_WatchAdd("*0x5044,x","McBSPB SPCR2"); - GEL_WatchAdd("*0x5045,x","McBSPB SPCR1"); - GEL_WatchAdd("*0x5046,x","McBSPB RCR2"); - GEL_WatchAdd("*0x5047,x","McBSPB RCR1"); - GEL_WatchAdd("*0x5048,x","McBSPB XCR2"); - GEL_WatchAdd("*0x5049,x","McBSPB XCR1"); - GEL_WatchAdd("*0x504A,x","McBSPB SRGR2"); - GEL_WatchAdd("*0x504B,x","McBSPB SRGR1"); - GEL_WatchAdd("*0x504C,x","McBSPB MCR2"); - GEL_WatchAdd("*0x504D,x","McBSPB MCR1"); - GEL_WatchAdd("*0x504E,x","McBSPB RCERA"); - GEL_WatchAdd("*0x504F,x","McBSPB RCERB"); - GEL_WatchAdd("*0x5050,x","McBSPB XCERA"); - GEL_WatchAdd("*0x5051,x","McBSPB XCERB"); - GEL_WatchAdd("*0x5052,x","McBSPB PCR1"); - GEL_WatchAdd("*0x5053,x","McBSPB RCERC"); - GEL_WatchAdd("*0x5054,x","McBSPB RCERD"); - GEL_WatchAdd("*0x5055,x","McBSPB XCERC"); - GEL_WatchAdd("*0x5056,x","McBSPB XCERD"); - GEL_WatchAdd("*0x5057,x","McBSPB RCERE"); - GEL_WatchAdd("*0x5058,x","McBSPB RCERF"); - GEL_WatchAdd("*0x5059,x","McBSPB XCERE"); - GEL_WatchAdd("*0x505A,x","McBSPB XCERF"); - GEL_WatchAdd("*0x505B,x","McBSPB RCERG"); - GEL_WatchAdd("*0x505C,x","McBSPB RCERH"); - GEL_WatchAdd("*0x505D,x","McBSPB XCERG"); - GEL_WatchAdd("*0x505E,x","McBSPB XCERH"); - GEL_WatchAdd("*0x5063,x","McBSPB MFFINT"); - GEL_WatchAdd("*0x506F,x","McBSPB Revision"); -} - - - -/********************************************************************/ -/* I2C Registers */ -/********************************************************************/ -menuitem "Watch I2C Registers"; - -hotmenu All_I2C_Regs() -{ - GEL_WatchAdd("*0x7900,x","I2COAR"); - GEL_WatchAdd("*0x7901,x","I2CIER"); - GEL_WatchAdd("*0x7902,x","I2CSTR"); - GEL_WatchAdd("*0x7903,x","I2CCLKL"); - GEL_WatchAdd("*0x7904,x","I2CCLKH"); - GEL_WatchAdd("*0x7905,x","I2CCNT"); - GEL_WatchAdd("*0x7906,x","I2CDRR"); - GEL_WatchAdd("*0x7907,x","I2CSAR"); - GEL_WatchAdd("*0x7908,x","I2CDXR"); - GEL_WatchAdd("*0x7909,x","I2CMDR"); - GEL_WatchAdd("*0x790A,x","I2CISRC"); - GEL_WatchAdd("*0x790C,x","I2CPSC"); - GEL_WatchAdd("*0x7920,x","I2CFFTX"); - GEL_WatchAdd("*0x7921,x","I2CFFRX"); -} - - -/********************************************************************/ -/* Peripheral Interrupt Expansion Registers */ -/********************************************************************/ -menuitem "Watch Peripheral Interrupt Expansion Registers"; - -hotmenu All_PIE_Regs() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); - GEL_WatchAdd("*0x0CE1,x","PIEACK"); - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} -hotmenu PIECTRL() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); -} -hotmenu PIEACK() -{ - GEL_WatchAdd("*0x0CE1,x","PIEACK"); -} -hotmenu PIEIER1_and_PIEIFR1() -{ - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); -} -hotmenu PIEIER2_and_PIEIFR2() -{ - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); -} -hotmenu PIEIER3_and_PIEIFR3() -{ - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); -} -hotmenu PIEIER4_and_PIEIFR4() -{ - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); -} -hotmenu PIEIER5_and_PIEIFR5() -{ - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); -} -hotmenu PIEIER6_and_PIEIFR6() -{ - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); -} -hotmenu PIEIER7_and_PIEIFR7() -{ - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); -} -hotmenu PIEIER8_and_PIEIFR8() -{ - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); -} -hotmenu PIEIER9_and_PIEIFR9() -{ - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); -} -hotmenu PIEIFR10_and_PIEIFR10() -{ - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); -} -hotmenu PIEIER11_and_PIEIFR11() -{ - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); -} -hotmenu PIEIER12_and_PIEIFR12() -{ - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} - - -/********************************************************************/ -/* Serial Communication Interface Registers */ -/********************************************************************/ -menuitem "Watch SCI Registers"; - -hotmenu SCI_A_All_Regs() -{ - GEL_WatchAdd("*0x7050,x","SCICCRA"); - GEL_WatchAdd("*0x7051,x","SCICTL1A"); - GEL_WatchAdd("*0x7052,x","SCIHBAUDA"); - GEL_WatchAdd("*0x7053,x","SCILBAUDA"); - GEL_WatchAdd("*0x7054,x","SCICTL2A"); - GEL_WatchAdd("*0x7055,x","SCIRXSTA"); - GEL_WatchAdd("*0x7056,x","SCIRXEMUA"); - GEL_WatchAdd("*0x7057,x","SCIRXBUFA"); - GEL_WatchAdd("*0x7059,x","SCITXBUFA"); - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); - GEL_WatchAdd("*0x705F,x","SCIPRIA"); -} -hotmenu SCI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); -} -hotmenu SCI_B_All_Regs() -{ - GEL_WatchAdd("*0x7750,x","SCICCRB"); - GEL_WatchAdd("*0x7751,x","SCICTL1B"); - GEL_WatchAdd("*0x7752,x","SCIHBAUDB"); - GEL_WatchAdd("*0x7753,x","SCILBAUDB"); - GEL_WatchAdd("*0x7754,x","SCICTL2B"); - GEL_WatchAdd("*0x7755,x","SCIRXSTB"); - GEL_WatchAdd("*0x7756,x","SCIRXEMUB"); - GEL_WatchAdd("*0x7757,x","SCIRXBUFB"); - GEL_WatchAdd("*0x7759,x","SCITXBUFB"); - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); - GEL_WatchAdd("*0x775F,x","SCIPRIB"); -} -hotmenu SCI_B_FIFO_Registers() -{ - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); -} -hotmenu SCI_C_All_Regs() -{ - GEL_WatchAdd("*0x7770,x","SCICCRC"); - GEL_WatchAdd("*0x7771,x","SCICTL1C"); - GEL_WatchAdd("*0x7772,x","SCIHBAUDC"); - GEL_WatchAdd("*0x7773,x","SCILBAUDC"); - GEL_WatchAdd("*0x7774,x","SCICTL2C"); - GEL_WatchAdd("*0x7775,x","SCIRXSTC"); - GEL_WatchAdd("*0x7776,x","SCIRXEMUC"); - GEL_WatchAdd("*0x7777,x","SCIRXBUFC"); - GEL_WatchAdd("*0x7779,x","SCITXBUFC"); - GEL_WatchAdd("*0x777A,x","SCIFFTXC"); - GEL_WatchAdd("*0x777B,x","SCIFFRXC"); - GEL_WatchAdd("*0x777C,x","SCIFFCTC"); - GEL_WatchAdd("*0x777F,x","SCIPRIC"); -} -hotmenu SCI_C_FIFO_Registers() -{ - GEL_WatchAdd("*0x777A,x","SCIFFTXC"); - GEL_WatchAdd("*0x777B,x","SCIFFRXC"); - GEL_WatchAdd("*0x777C,x","SCIFFCTC"); -} - - -/********************************************************************/ -/* Serial Peripheral Interface Registers */ -/********************************************************************/ -menuitem "Watch SPI Registers"; - -hotmenu SPI_A_All_Regs() -{ - GEL_WatchAdd("*0x7040,x","SPIA SPICCR"); - GEL_WatchAdd("*0x7041,x","SPIA SPICTL"); - GEL_WatchAdd("*0x7042,x","SPIA SPIST"); - GEL_WatchAdd("*0x7044,x","SPIA SPIBRR"); - GEL_WatchAdd("*0x7046,x","SPIA SPIEMU"); - GEL_WatchAdd("*0x7047,x","SPIA SPIRXBUF"); - GEL_WatchAdd("*0x7048,x","SPIA SPITXBUF"); - GEL_WatchAdd("*0x7049,x","SPIA SPIDAT"); - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); - GEL_WatchAdd("*0x704F,x","SPIA SPIPRI"); -} -hotmenu SPI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); -} - - -/********************************************************************/ -/* Watchdog Timer Registers */ -/********************************************************************/ -menuitem "Watch Watchdog Timer Registers"; - -hotmenu All_Watchdog_Regs() -{ - GEL_WatchAdd("*0x7023,x","WDCNTR"); - GEL_WatchAdd("*0x7025,x","WDKEY"); - GEL_WatchAdd("*0x7029,x","WDCR"); - GEL_WatchAdd("*0x7022,x","SCSR"); -} - -/********************************************************************/ -/*** End of file ***/ diff --git a/Source/External/v120/DSP2833x_common/gel/f28332.gel b/Source/External/v120/DSP2833x_common/gel/f28332.gel deleted file mode 100644 index 9a9d2fb..0000000 --- a/Source/External/v120/DSP2833x_common/gel/f28332.gel +++ /dev/null @@ -1,2845 +0,0 @@ -/********************************************************************/ -/* f28332.gel */ -/* Version 3.30.2 */ -/* */ -/* This GEL file is to be used with the TMS320F28332 DSP. */ -/* Changes may be required to support specific hardware designs. */ -/* */ -/* Code Composer Studio supports six reserved GEL functions that */ -/* automatically get executed if they are defined. They are: */ -/* */ -/* StartUp() - Executed whenever CCS is invoked */ -/* OnReset() - Executed after Debug->Reset CPU */ -/* OnRestart() - Executed after Debug->Restart */ -/* OnPreFileLoaded() - Executed before File->Load Program */ -/* OnFileLoaded() - Executed after File->Load Program */ -/* OnTargetConnect() - Executed after Debug->Connect */ -/* */ -/********************************************************************/ - -StartUp() -{ - -/* The next line automatically loads the .gel file that comes */ -/* with the DSP2833x Peripheral Header Files download. To use, */ -/* uncomment, and adjust the directory path as needed. */ -// GEL_LoadGel("c:\\CCStudio_v3.3\\cc\\gel\\DSP2833x_Peripheral.gel"); - -} - -OnReset(int nErrorCode) -{ - C28x_Mode(); - Unlock_CSM(); - ADC_Cal(); -} - -OnRestart(int nErrorCode) -{ -/* CCS will call OnRestart() when you do a Debug->Restart and */ -/* after you load a new file. Between running interrupt based */ -/* programs, this function will clear interrupts and help keep */ -/* the processor from going off into invalid memory. */ - C28x_Mode(); - IER = 0; - IFR = 0; - ADC_Cal(); -} - -int TxtOutCtl=0; -OnPreFileLoaded() -{ - XINTF_Enable(); - if (TxtOutCtl==0) - { - GEL_TextOut("\nNOTES:\nGel will enable XINTFx16 during Debug only.\nEnable XINTF in code prior to use."); - GEL_TextOut("\nFPU Registers can be found via GEL->Watch FPU Registers."); - TxtOutCtl=1; - } -} - -OnFileLoaded(int nErrorCode, int bSymbolsOnly) -{ - ADC_Cal(); -} - -OnTargetConnect() -{ - C28x_Mode(); - F28332_Memory_Map(); /* Initialize the CCS memory map */ - -/* Check to see if CCS has been started-up with the DSP already */ -/* running in real-time mode. The user can add whatever */ -/* custom initialization stuff they want to each case. */ - - if (GEL_IsInRealtimeMode()) /* Do real-time mode target initialization */ - { - - } - else /* Do stop-mode target initialization */ - { - GEL_Reset(); /* Reset DSP */ - } - -} - - -/********************************************************************/ -/* These functions are launched by the GEL_Toolbar button plugin */ -/********************************************************************/ -GEL_Toolbar1() -{ - Run_Realtime_with_Reset(); -} -GEL_Toolbar2() -{ - Run_Realtime_with_Restart(); -} -GEL_Toolbar3() -{ - Full_Halt(); -} -GEL_Toolbar4() -{ - Full_Halt_with_Reset(); -} - -int GEL_Toolbar5_Toggle = 0; -GEL_Toolbar5() -{ - if(GEL_Toolbar5_Toggle == 0) - { - GEL_Toolbar5_Toggle = 1; - GEL_OpenWindow("GEL_Buttons",1,4); - GEL_TextOut("Button 1: Run_Realtime_with_Reset()","GEL_Buttons",0,0); - GEL_TextOut("Button 2: Run_Realtime_with_Restart()","GEL_Buttons",0,1); - GEL_TextOut("Button 3: Full_Halt()", "GEL_Buttons",0,2); - GEL_TextOut("Button 4: Full_Halt_with_Reset()","GEL_Buttons",0,3); - } - else - { - GEL_Toolbar5_Toggle = 0; - GEL_CloseWindow("GEL_Buttons"); - } -} - - -/********************************************************************/ -/* These functions are useful to engage/dis-enagage realtime */ -/* emulation mode during debug. They save the user from having to */ -/* manually perform these steps in CCS. */ -/********************************************************************/ -menuitem "Realtime Emulation Control"; - -hotmenu Run_Realtime_with_Reset() -{ - GEL_Reset(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Run_Realtime_with_Restart() -{ - GEL_Restart(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Full_Halt() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ -} -hotmenu Full_Halt_with_Reset() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ - GEL_Reset(); /* Reset the DSP */ -} - - -/********************************************************************/ -/* F28332 Memory Map */ -/* */ -/* Note: M0M1MAP and VMAP signals tied high on F28332 core */ -/* */ -/* 0x000000 - 0x0003ff M0 SARAM (Prog and Data) */ -/* 0x000400 - 0x0007ff M1 SARAM (Prog and Data) */ -/* 0x000800 - 0x001fff Peripheral Frame0 (PF0) (Data only) */ -/* 0x004000 - 0x004fff XINTF Zone 0 (Prog and Data) */ -/* 0x005000 - 0x005fff Peripheral Frame3 (PF3) (Data only) */ -/* 0x006000 - 0x006fff Peripheral Frame1 (PF1) (Data only) */ -/* 0x007000 - 0x007fff Peripheral Frame2 (PF2) (Data only) */ -/* 0x008000 - 0x008fff L0 SARAM (Prog and Data) */ -/* 0x009000 - 0x009fff L1 SARAM (Prog and Data) */ -/* 0x00A000 - 0x00Afff L2 SARAM (Prog and Data) */ -/* 0x00B000 - 0x00Bfff L3 SARAM (Prog and Data) */ -/* 0x00C000 - 0x00Cfff L4 SARAM (Prog and Data) */ -/* 0x00D000 - 0x00Dfff L5 SARAM (Prog and Data) */ -/* 0x100000 - 0x1fffff XINTF Zone 6 (Prog and Data) */ -/* 0x200000 - 0x2fffff XINTF Zone 7 (Prog and Data) */ -/* 0x330000 - 0x33ffff Flash (Prog and Data) */ -/* 0x380080 - 0x380088 ADC_cal function (Prog and Data) */ -/* 0x380090 - 0x380090 PARTID value (Prog and Data) */ -/* 0x380400 - 0x3807ff OTP (Prog and Data) */ -/* 0x3f8000 - 0x3f8fff L0 SARAM (Prog and Data) */ -/* 0x3f9000 - 0x3f9fff L1 SARAM (Prog and Data) */ -/* 0x3fA000 - 0x3fAfff L2 SARAM (Prog and Data) */ -/* 0x3fB000 - 0x3fBfff L3 SARAM (Prog and Data) */ -/* 0x3fe000 - 0x3fffff BOOT ROM (Prog and Data) */ -/********************************************************************/ -menuitem "Initialize Memory Map"; - -hotmenu F28332_Memory_Map() -{ - GEL_MapReset(); - GEL_MapOn(); - - /* Program memory map */ - GEL_MapAdd(0x0,0,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,0,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x4000,0,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x8000,0,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,0,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,0,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,0,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,0,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,0,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0x100000,0,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,0,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x330000,0,0x10000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,0,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,0,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,0,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,0,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,0,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,0,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,0,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,0,0x2000,1,0); /* BOOT ROM */ - - /* Data memory map */ - GEL_MapAdd(0x000,1,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,1,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x800,1,0x1800,1,1); /* PF0 */ - GEL_MapAdd(0x4000,1,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x5000,1,0x1000,1,1); /* PF3 */ - GEL_MapAdd(0x6000,1,0x1000,1,1); /* PF1 */ - GEL_MapAddStr(0x7000,1,0x1000,"R|W|AS2",0); /* PF2 */ - GEL_MapAdd(0x8000,1,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,1,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,1,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,1,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,1,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,1,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0x100000,1,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,1,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x330000,1,0x10000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,1,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,1,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,1,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,1,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,1,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,1,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,1,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,1,0x2000,1,0); /* BOOT ROM */ -} - - -/********************************************************************/ -/* The ESTOP0 fill functions are useful for debug. They fill the */ -/* RAM with software breakpoints that will trap runaway code. */ -/********************************************************************/ -hotmenu Fill_F28332_RAM_with_ESTOP0() -{ - GEL_MemoryFill(0x000000,1,0x000800,0x7625); /* Fill M0/M1 */ - GEL_MemoryFill(0x008000,1,0x002000,0x7625); /* Fill L0/L1 */ - GEL_MemoryFill(0x00A000,1,0x002000,0x7625); /* Fill L2/L3 */ - GEL_MemoryFill(0x00C000,1,0x002000,0x7625); /* Fill L4/L5 */ -} - - -/********************************************************************/ -menuitem "Watchdog"; -hotmenu Disable_WD() -{ - *0x7029 = *0x7029 | 0x0068; /* Set the WDDIS bit */ - *0x7025 = 0x0055; /* Service the WD */ - *0x7025 = 0x00AA; /* once to be safe. */ - GEL_TextOut("\nWatchdog Timer Disabled"); -} - - -/********************************************************************/ -menuitem "Code Security Module" -hotmenu Unlock_CSM() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - /* Write passwords to the KEY registers. 0xFFFF's are dummy passwords. - User should replace them with the correct password for their DSP */ - *0xAE0 = 0xFFFF; - *0xAE1 = 0xFFFF; - *0xAE2 = 0xFFFF; - *0xAE3 = 0xFFFF; - *0xAE4 = 0xFFFF; - *0xAE5 = 0xFFFF; - *0xAE6 = 0xFFFF; - *0xAE7 = 0xFFFF; -} - - -/********************************************************************/ -menuitem "Addressing Modes"; -hotmenu C28x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C24x_Mode() -{ - ST1 = ST1 | 0x0100; /* AMODE = 1 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C27x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 & (~0x0200); /* OBJMODE = 0 */ -} - - -/********************************************************************/ -/* PLL Ratios */ -/* */ -/* The following table describes the PLL clocking ratios (0..10) */ -/* */ -/* Ratio CLKIN Description */ -/* ----- -------------- ------------ */ -/* 0 OSCCLK/2 PLL bypassed */ -/* 1 (OSCCLK * 1)/2 10 Mhz for 20 Mhz CLKIN */ -/* 2 (OSCCLK * 2)/2 20 Mhz for 20 Mhz CLKIN */ -/* 3 (OSCCLK * 3)/2 30 Mhz for 20 Mhz CLKIN */ -/* 4 (OSCCLK * 4)/2 40 Mhz for 20 Mhz CLKIN */ -/* 5 (OSCCLK * 5)/2 50 Mhz for 20 Mhz CLKIN */ -/* 6 (OSCCLK * 6)/2 60 Mhz for 20 Mhz CLKIN */ -/* 7 (OSCCLK * 7)/2 70 Mhz for 20 Mhz CLKIN */ -/* 8 (OSCCLK * 8)/2 80 Mhz for 20 Mhz CLKIN */ -/* 9 (OSCCLK * 9)/2 90 Mhz for 20 Mhz CLKIN */ -/* 10 (OSCCLK * 10)/2 100 Mhz for 20 Mhz CLKIN */ -/********************************************************************/ -menuitem "Set PLL Ratio"; - -hotmenu Bypass() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 0; /* CLKIN = OSCCLK/2, PLL is bypassed */ - PLL_Wait(); -} -hotmenu OSCCLK_x1_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x2_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x3_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x4_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x5_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x6_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x7_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x8_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x9_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x10_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/2 */ - PLL_Wait(); -} -// hotmenu OSCCLK_x1_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x2_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x3_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x4_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x5_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x6_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x7_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x8_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x9_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x10_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/1 */ -// PLL_Wait(); -// } - - - -/********************************************************************/ -/* For F2833x devices, DIVSEL is 1/4 by default. Switch it to 1/2 */ -/********************************************************************/ - -DIVSEL_div2() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - temp = *PLLSTS; - temp &= 0xFE7F; /* Clear bits 7 & 8 */ - temp |= 2 << 7; /* Set bit 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - - - -/********************************************************************/ -/* For F2833x devices, DIVSEL is 1/4 by default. Switch it to /1 */ -/********************************************************************/ - -DIVSEL_div1() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - DIVSEL_div2(); /* First switch DIVSEL to 1/2 and wait */ - wait(); - temp = *PLLSTS; - temp |= 3 << 7; /* Set bits 7 & 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - -wait() -{ - int delay = 0; - for (delay = 0; delay <= 5; delay ++) - {} -} - -/********************************************************************/ -/* For F2833x devices, check the PLLOCKS bit for PLL lock. */ -/********************************************************************/ -PLL_Wait() -{ - int PLLSTS; - int delay = 0; - - PLLSTS = 0x7011; - - - while ( ( (unsigned int)*PLLSTS & 0x0001) != 0x0001) - { - delay++; - GEL_TextOut("Waiting for PLL Lock, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); - } - GEL_TextOut("\nPLL lock complete, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); -} - - -/********************************************************************/ -/* Load the ADC Calibration values from TI OTP */ -/********************************************************************/ -menuitem "ADC Calibration" -hotmenu ADC_Cal() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - if(((*0x0AEF) & 0x0001) == 0) - { - XAR0 = *0x701C; - *0x701C |= 0x0008; - *0x711C = *0x380083; - *0x711D = *0x380085; - *0x701C = XAR0; - XAR0 = 0; - - } - else - { - GEL_TextOut("\nADC Calibration not complete, device is secure"); - } -} - -/********************************************************************/ -/* Enable the XINTF and configure GPIOs for XINTF function */ -/********************************************************************/ -menuitem "XINTF Enable" -hotmenu XINTF_Enable() -{ - - /* enable XINTF clock (XTIMCLK) */ - - *0x7020 = 0x3700; - /* GPBMUX1: XA0-XA7, XA16, XZCS0, */ - /* XZCS7, XREADY, XRNW, XWE0 */ - /* GPAMUX2: XA17-XA19, XZCS6 */ - /* GPCMUX2: XA8-XA15 */ - /* GPCMUX1: XD0-XD15 */ - *(unsigned long *)0x6F96 = 0xFFFFFFC0; /* GPBMUX1 */ - *(unsigned long *)0x6f88 = 0xFF000000; /* GPAMUX2 */ - *(unsigned long *)0x6FA8 = 0x0000AAAA; /* GPCMUX2 */ - *(unsigned long *)0x6FA6 = 0xAAAAAAAA; /* GPCMUX1 */ - - /* Uncomment for x32 data bus */ - /* GPBMUX2: XD16-XD31 */ -// *(unsigned long *)0x6F98 = 0xFFFFFFFF; /* GPBMUX2 */ - - /* Zone timing. - /* Each zone can be configured seperately */ - /* Uncomment the x16 or the x32 timing */ - /* depending on the data bus width for */ - /* the zone */ - - /* x16 Timing */ - *(unsigned long *)0x0B20 = 0x0043FFFF; /* Zone0 */ - *(unsigned long *)0x0B2C = 0x0043FFFF; /* Zone6 */ - *(unsigned long *)0x0B2E = 0x0043FFFF; /* Zone7 */ - - /* x32 Timing: -// *(unsigned long *)0x0B20 = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2C = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2E = 0x0041FFFF; /* x32 */ - -} - -/********************************************************************/ -/* The below are used to display the symbolic names of the F28332 */ -/* memory mapped registers in the watch window. To view these */ -/* registers, click on the GEL menu button in Code Composer Studio, */ -/* then select which registers or groups of registers you want to */ -/* view. They will appear in the watch window under the Watch1 tab. */ -/********************************************************************/ - -/* Add a space line to the GEL menu */ -menuitem "______________________________________"; -hotmenu __() {} - -/********************************************************************/ -/* A/D Converter Registers */ -/********************************************************************/ -menuitem "Watch ADC Registers"; - -hotmenu All_ADC_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); - - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} -hotmenu ADC_Control_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); -} -hotmenu ADCCHSELSEQx_Regs() -{ - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); -} -hotmenu ADCRESULT_0_to_7() -{ - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); -} -hotmenu ADCRESULT_8_to_15() -{ - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); -} -hotmenu ADCRESULT_Mirror_0_to_7() -{ - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); -} -hotmenu ADCRESULT_Mirror_8_to_15() -{ - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} - - -/********************************************************************/ -/* Clocking and Low-Power Registers */ -/********************************************************************/ -menuitem "Watch Clocking and Low-Power Registers"; - -hotmenu All_Clocking_and_Low_Power_Regs() -{ - GEL_WatchAdd("*0x7010,x","XCLK"); - GEL_WatchAdd("*0x7011,x","PLLSTS"); - GEL_WatchAdd("*0x701A,x","HISPCP"); - GEL_WatchAdd("*0x701B,x","LOSPCP"); - GEL_WatchAdd("*0x701C,x","PCLKCR0"); - GEL_WatchAdd("*0x701D,x","PCLKCR1"); - GEL_WatchAdd("*0x701E,x","LPMCR0"); - GEL_WatchAdd("*0x7020,x","PCLKCR3"); - GEL_WatchAdd("*0x7021,x","PLLCR"); -} - -/********************************************************************/ -/* Code Security Module Registers */ -/********************************************************************/ -menuitem "Watch Code Security Module Registers"; - -hotmenu CSMSCR() -{ - GEL_WatchAdd("*0x0AEF,x","CSMSCR"); - GEL_WatchAdd("(*0x0AEF>>15)&1,d"," FORCESEC bit"); - GEL_WatchAdd("(*0x0AEF)&1,d"," SECURE bit"); -} -hotmenu PWL_Locations() -{ - GEL_WatchAdd("*0x33FFF8,x","PWL0"); - GEL_WatchAdd("*0x33FFF9,x","PWL1"); - GEL_WatchAdd("*0x33FFFA,x","PWL2"); - GEL_WatchAdd("*0x33FFFB,x","PWL3"); - GEL_WatchAdd("*0x33FFFC,x","PWL4"); - GEL_WatchAdd("*0x33FFFD,x","PWL5"); - GEL_WatchAdd("*0x33FFFE,x","PWL6"); - GEL_WatchAdd("*0x33FFFF,x","PWL7"); -} - - -/********************************************************************/ -/* CPU Timer Registers */ -/********************************************************************/ -menuitem "Watch CPU Timer Registers"; - -hotmenu All_CPU_Timer0_Regs() -{ - GEL_WatchAdd("*0x0C00,x","TIMER0TIM"); - GEL_WatchAdd("*0x0C01,x","TIMER0TIMH"); - GEL_WatchAdd("*0x0C02,x","TIMER0PRD"); - GEL_WatchAdd("*0x0C03,x","TIMER0PRDH"); - GEL_WatchAdd("*0x0C04,x","TIMER0TCR"); - GEL_WatchAdd("*0x0C06,x","TIMER0TPR"); - GEL_WatchAdd("*0x0C07,x","TIMER0TPRH"); -} -hotmenu All_CPU_Timer1_Regs() -{ - GEL_WatchAdd("*0x0C08,x","TIMER1TIM"); - GEL_WatchAdd("*0x0C09,x","TIMER1TIMH"); - GEL_WatchAdd("*0x0C0A,x","TIMER1PRD"); - GEL_WatchAdd("*0x0C0B,x","TIMER1PRDH"); - GEL_WatchAdd("*0x0C0C,x","TIMER1TCR"); - GEL_WatchAdd("*0x0C0E,x","TIMER1TPR"); - GEL_WatchAdd("*0x0C0F,x","TIMER1TPRH"); -} -hotmenu All_CPU_Timer2_Regs() -{ - GEL_WatchAdd("*0x0C10,x","TIMER2TIM"); - GEL_WatchAdd("*0x0C11,x","TIMER2TIMH"); - GEL_WatchAdd("*0x0C12,x","TIMER2PRD"); - GEL_WatchAdd("*0x0C13,x","TIMER2PRDH"); - GEL_WatchAdd("*0x0C14,x","TIMER2TCR"); - GEL_WatchAdd("*0x0C16,x","TIMER2TPR"); - GEL_WatchAdd("*0x0C17,x","TIMER2TPRH"); -} - - -/********************************************************************/ -/* Device Emulation Registers */ -/********************************************************************/ -menuitem "Watch Device Emulation Registers"; - -hotmenu All_Emulation_Regs() -{ - GEL_WatchAdd("*(long *)0x0880,x","DEVICECNF"); - GEL_WatchAdd("*0x0882,x","CLASSID"); - GEL_WatchAdd("*0x0883,x","REVID"); - GEL_WatchAdd("*0x0884,x","PROTSTART"); - GEL_WatchAdd("*0x0885,x","PROTRANGE"); - GEL_WatchAdd("*0x380090,x","PARTID"); -} - -/********************************************************************/ -/* DMA Registers */ -/********************************************************************/ -menuitem "Watch DMA Registers"; - -hotmenu All_DMA_Regs() -{ - GEL_WatchAdd("*0x1000,x","DMACTRL"); - GEL_WatchAdd("*0x1001,x","DEBUGCTRL"); - GEL_WatchAdd("*0x1002,x","REVISION"); - GEL_WatchAdd("*0x1004,x","PRIORITYCTRL1"); - GEL_WatchAdd("*0x1006,x","PRIORITYSTAT"); - - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); - - -} -hotmenu DMA_Channel_1_regs() -{ - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); -} - -hotmenu DMA_Channel_2_regs() -{ - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_3_regs() -{ - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_4_regs() -{ - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_5_regs() -{ - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_6_regs() -{ - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); -} - -/********************************************************************/ -/* eCAN Registers */ -/********************************************************************/ -menuitem "Watch eCAN Registers"; - -hotmenu eCAN_A_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6000,x","eCANA CANME"); - GEL_WatchAdd("*(long *)0x6002,x","eCANA CANMD"); - GEL_WatchAdd("*(long *)0x6004,x","eCANA CANTRS"); - GEL_WatchAdd("*(long *)0x6006,x","eCANA CANTRR"); - GEL_WatchAdd("*(long *)0x6008,x","eCANA CANTA"); - GEL_WatchAdd("*(long *)0x600A,x","eCANA CANAA"); - GEL_WatchAdd("*(long *)0x600C,x","eCANA CANRMP"); - GEL_WatchAdd("*(long *)0x600E,x","eCANA CANRML"); - GEL_WatchAdd("*(long *)0x6010,x","eCANA CANRFP"); - GEL_WatchAdd("*(long *)0x6014,x","eCANA CANMC"); - GEL_WatchAdd("*(long *)0x6016,x","eCANA CANBTC"); - GEL_WatchAdd("*(long *)0x6018,x","eCANA CANES"); - GEL_WatchAdd("*(long *)0x601A,x","eCANA CANTEC"); - GEL_WatchAdd("*(long *)0x601C,x","eCANA CANREC"); - GEL_WatchAdd("*(long *)0x601E,x","eCANA CANGIF0"); - GEL_WatchAdd("*(long *)0x6020,x","eCANA CANGIM"); - GEL_WatchAdd("*(long *)0x6022,x","eCANA CANGIF1"); - GEL_WatchAdd("*(long *)0x6024,x","eCANA CANMIM"); - GEL_WatchAdd("*(long *)0x6026,x","eCANA CANMIL"); - GEL_WatchAdd("*(long *)0x6028,x","eCANA CANOPC"); - GEL_WatchAdd("*(long *)0x602A,x","eCANA CANTIOC"); - GEL_WatchAdd("*(long *)0x602C,x","eCANA CANRIOC"); - GEL_WatchAdd("*(long *)0x602E,x","eCANA CANLNT"); - GEL_WatchAdd("*(long *)0x6030,x","eCANA CANTOC"); - GEL_WatchAdd("*(long *)0x6032,x","eCANA CANTOS"); -} -hotmenu eCAN_A_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6040,x","eCANA LAM0"); - GEL_WatchAdd("*(long *)0x6080,x","eCANA MOTS0"); - GEL_WatchAdd("*(long *)0x60C0,x","eCANA MOTO0"); - GEL_WatchAdd("*(long *)0x6100,x","eCANA MID0"); - GEL_WatchAdd("*(long *)0x6102,x","eCANA MCF0"); - GEL_WatchAdd("*(long *)0x6104,x","eCANA MDL0"); - GEL_WatchAdd("*(long *)0x6106,x","eCANA MDH0"); - - GEL_WatchAdd("*(long *)0x6042,x","eCANA LAM1"); - GEL_WatchAdd("*(long *)0x6082,x","eCANA MOTS1"); - GEL_WatchAdd("*(long *)0x60C2,x","eCANA MOTO1"); - GEL_WatchAdd("*(long *)0x6108,x","eCANA MID1"); - GEL_WatchAdd("*(long *)0x610A,x","eCANA MCF1"); - GEL_WatchAdd("*(long *)0x610C,x","eCANA MDL1"); - GEL_WatchAdd("*(long *)0x610E,x","eCANA MDH1"); -} -hotmenu eCAN_A_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6044,x","eCANA LAM2"); - GEL_WatchAdd("*(long *)0x6084,x","eCANA MOTS2"); - GEL_WatchAdd("*(long *)0x60C4,x","eCANA MOTO2"); - GEL_WatchAdd("*(long *)0x6110,x","eCANA MID2"); - GEL_WatchAdd("*(long *)0x6112,x","eCANA MCF2"); - GEL_WatchAdd("*(long *)0x6114,x","eCANA MDL2"); - GEL_WatchAdd("*(long *)0x6116,x","eCANA MDH2"); - - GEL_WatchAdd("*(long *)0x6046,x","eCANA LAM3"); - GEL_WatchAdd("*(long *)0x6086,x","eCANA MOTS3"); - GEL_WatchAdd("*(long *)0x60C6,x","eCANA MOTO3"); - GEL_WatchAdd("*(long *)0x6118,x","eCANA MID3"); - GEL_WatchAdd("*(long *)0x611A,x","eCANA MCF3"); - GEL_WatchAdd("*(long *)0x611C,x","eCANA MDL3"); - GEL_WatchAdd("*(long *)0x611E,x","eCANA MDH3"); -} -hotmenu eCAN_A_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6048,x","eCANA LAM4"); - GEL_WatchAdd("*(long *)0x6088,x","eCANA MOTS4"); - GEL_WatchAdd("*(long *)0x60C8,x","eCANA MOTO4"); - GEL_WatchAdd("*(long *)0x6120,x","eCANA MID4"); - GEL_WatchAdd("*(long *)0x6122,x","eCANA MCF4"); - GEL_WatchAdd("*(long *)0x6124,x","eCANA MDL4"); - GEL_WatchAdd("*(long *)0x6126,x","eCANA MDH4"); - - GEL_WatchAdd("*(long *)0x604A,x","eCANA LAM5"); - GEL_WatchAdd("*(long *)0x608A,x","eCANA MOTS5"); - GEL_WatchAdd("*(long *)0x60CA,x","eCANA MOTO5"); - GEL_WatchAdd("*(long *)0x6128,x","eCANA MID5"); - GEL_WatchAdd("*(long *)0x612A,x","eCANA MCF5"); - GEL_WatchAdd("*(long *)0x612C,x","eCANA MDL5"); - GEL_WatchAdd("*(long *)0x612E,x","eCANA MDH5"); -} -hotmenu eCAN_A_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x604C,x","eCANA LAM6"); - GEL_WatchAdd("*(long *)0x608C,x","eCANA MOTS6"); - GEL_WatchAdd("*(long *)0x60CC,x","eCANA MOTO6"); - GEL_WatchAdd("*(long *)0x6130,x","eCANA MID6"); - GEL_WatchAdd("*(long *)0x6132,x","eCANA MCF6"); - GEL_WatchAdd("*(long *)0x6134,x","eCANA MDL6"); - GEL_WatchAdd("*(long *)0x6136,x","eCANA MDH6"); - - GEL_WatchAdd("*(long *)0x604E,x","eCANA LAM7"); - GEL_WatchAdd("*(long *)0x608E,x","eCANA MOTS7"); - GEL_WatchAdd("*(long *)0x60CE,x","eCANA MOTO7"); - GEL_WatchAdd("*(long *)0x6138,x","eCANA MID7"); - GEL_WatchAdd("*(long *)0x613A,x","eCANA MCF7"); - GEL_WatchAdd("*(long *)0x613C,x","eCANA MDL7"); - GEL_WatchAdd("*(long *)0x613E,x","eCANA MDH7"); -} -hotmenu eCAN_A_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6050,x","eCANA LAM8"); - GEL_WatchAdd("*(long *)0x6090,x","eCANA MOTS8"); - GEL_WatchAdd("*(long *)0x60D0,x","eCANA MOTO8"); - GEL_WatchAdd("*(long *)0x6140,x","eCANA MID8"); - GEL_WatchAdd("*(long *)0x6142,x","eCANA MCF8"); - GEL_WatchAdd("*(long *)0x6144,x","eCANA MDL8"); - GEL_WatchAdd("*(long *)0x6146,x","eCANA MDH8"); - - GEL_WatchAdd("*(long *)0x6052,x","eCANA LAM9"); - GEL_WatchAdd("*(long *)0x6092,x","eCANA MOTS9"); - GEL_WatchAdd("*(long *)0x60D2,x","eCANA MOTO9"); - GEL_WatchAdd("*(long *)0x6148,x","eCANA MID9"); - GEL_WatchAdd("*(long *)0x614A,x","eCANA MCF9"); - GEL_WatchAdd("*(long *)0x614C,x","eCANA MDL9"); - GEL_WatchAdd("*(long *)0x614E,x","eCANA MDH9"); -} -hotmenu eCAN_A_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6054,x","eCANA LAM10"); - GEL_WatchAdd("*(long *)0x6094,x","eCANA MOTS10"); - GEL_WatchAdd("*(long *)0x60D4,x","eCANA MOTO10"); - GEL_WatchAdd("*(long *)0x6150,x","eCANA MID10"); - GEL_WatchAdd("*(long *)0x6152,x","eCANA MCF10"); - GEL_WatchAdd("*(long *)0x6154,x","eCANA MDL10"); - GEL_WatchAdd("*(long *)0x6156,x","eCANA MDH10"); - - GEL_WatchAdd("*(long *)0x6056,x","eCANA LAM11"); - GEL_WatchAdd("*(long *)0x6096,x","eCANA MOTS11"); - GEL_WatchAdd("*(long *)0x60D6,x","eCANA MOTO11"); - GEL_WatchAdd("*(long *)0x6158,x","eCANA MID11"); - GEL_WatchAdd("*(long *)0x615A,x","eCANA MCF11"); - GEL_WatchAdd("*(long *)0x615C,x","eCANA MDL11"); - GEL_WatchAdd("*(long *)0x615E,x","eCANA MDH11"); -} -hotmenu eCAN_A_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6058,x","eCANA LAM12"); - GEL_WatchAdd("*(long *)0x6098,x","eCANA MOTS12"); - GEL_WatchAdd("*(long *)0x60D8,x","eCANA MOTO12"); - GEL_WatchAdd("*(long *)0x6160,x","eCANA MID12"); - GEL_WatchAdd("*(long *)0x6162,x","eCANA MCF12"); - GEL_WatchAdd("*(long *)0x6164,x","eCANA MDL12"); - GEL_WatchAdd("*(long *)0x6166,x","eCANA MDH12"); - - GEL_WatchAdd("*(long *)0x605A,x","eCANA LAM13"); - GEL_WatchAdd("*(long *)0x609A,x","eCANA MOTS13"); - GEL_WatchAdd("*(long *)0x60DA,x","eCANA MOTO13"); - GEL_WatchAdd("*(long *)0x6168,x","eCANA MID13"); - GEL_WatchAdd("*(long *)0x616A,x","eCANA MCF13"); - GEL_WatchAdd("*(long *)0x616C,x","eCANA MDL13"); - GEL_WatchAdd("*(long *)0x616E,x","eCANA MDH13"); -} -hotmenu eCAN_A_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x605C,x","eCANA LAM14"); - GEL_WatchAdd("*(long *)0x609C,x","eCANA MOTS14"); - GEL_WatchAdd("*(long *)0x60DC,x","eCANA MOTO14"); - GEL_WatchAdd("*(long *)0x6170,x","eCANA MID14"); - GEL_WatchAdd("*(long *)0x6172,x","eCANA MCF14"); - GEL_WatchAdd("*(long *)0x6174,x","eCANA MDL14"); - GEL_WatchAdd("*(long *)0x6176,x","eCANA MDH14"); - - GEL_WatchAdd("*(long *)0x605E,x","eCANA LAM15"); - GEL_WatchAdd("*(long *)0x609E,x","eCANA MOTS15"); - GEL_WatchAdd("*(long *)0x60DE,x","eCANA MOTO15"); - GEL_WatchAdd("*(long *)0x6178,x","eCANA MID15"); - GEL_WatchAdd("*(long *)0x617A,x","eCANA MCF15"); - GEL_WatchAdd("*(long *)0x617C,x","eCANA MDL15"); - GEL_WatchAdd("*(long *)0x617E,x","eCANA MDH15"); -} -hotmenu eCAN_A_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6060,x","eCANA LAM16"); - GEL_WatchAdd("*(long *)0x60A0,x","eCANA MOTS16"); - GEL_WatchAdd("*(long *)0x60E0,x","eCANA MOTO16"); - GEL_WatchAdd("*(long *)0x6180,x","eCANA MID16"); - GEL_WatchAdd("*(long *)0x6182,x","eCANA MCF16"); - GEL_WatchAdd("*(long *)0x6184,x","eCANA MDL16"); - GEL_WatchAdd("*(long *)0x6186,x","eCANA MDH16"); - - GEL_WatchAdd("*(long *)0x6062,x","eCANA LAM17"); - GEL_WatchAdd("*(long *)0x60A2,x","eCANA MOTS17"); - GEL_WatchAdd("*(long *)0x60E2,x","eCANA MOTO17"); - GEL_WatchAdd("*(long *)0x6188,x","eCANA MID17"); - GEL_WatchAdd("*(long *)0x618A,x","eCANA MCF17"); - GEL_WatchAdd("*(long *)0x618C,x","eCANA MDL17"); - GEL_WatchAdd("*(long *)0x618E,x","eCANA MDH17"); -} -hotmenu eCAN_A_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6064,x","eCANA LAM18"); - GEL_WatchAdd("*(long *)0x60A4,x","eCANA MOTS18"); - GEL_WatchAdd("*(long *)0x60E4,x","eCANA MOTO18"); - GEL_WatchAdd("*(long *)0x6190,x","eCANA MID18"); - GEL_WatchAdd("*(long *)0x6192,x","eCANA MCF18"); - GEL_WatchAdd("*(long *)0x6194,x","eCANA MDL18"); - GEL_WatchAdd("*(long *)0x6196,x","eCANA MDH18"); - - GEL_WatchAdd("*(long *)0x6066,x","eCANA LAM19"); - GEL_WatchAdd("*(long *)0x60A6,x","eCANA MOTS19"); - GEL_WatchAdd("*(long *)0x60E6,x","eCANA MOTO19"); - GEL_WatchAdd("*(long *)0x6198,x","eCANA MID19"); - GEL_WatchAdd("*(long *)0x619A,x","eCANA MCF19"); - GEL_WatchAdd("*(long *)0x619C,x","eCANA MDL19"); - GEL_WatchAdd("*(long *)0x619E,x","eCANA MDH19"); -} -hotmenu eCAN_A_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6068,x","eCANA LAM20"); - GEL_WatchAdd("*(long *)0x60A8,x","eCANA MOTS20"); - GEL_WatchAdd("*(long *)0x60E8,x","eCANA MOTO20"); - GEL_WatchAdd("*(long *)0x61A0,x","eCANA MID20"); - GEL_WatchAdd("*(long *)0x61A2,x","eCANA MCF20"); - GEL_WatchAdd("*(long *)0x61A4,x","eCANA MDL20"); - GEL_WatchAdd("*(long *)0x61A6,x","eCANA MDH20"); - - GEL_WatchAdd("*(long *)0x606A,x","eCANA LAM21"); - GEL_WatchAdd("*(long *)0x60AA,x","eCANA MOTS21"); - GEL_WatchAdd("*(long *)0x60EA,x","eCANA MOTO21"); - GEL_WatchAdd("*(long *)0x61A8,x","eCANA MID21"); - GEL_WatchAdd("*(long *)0x61AA,x","eCANA MCF21"); - GEL_WatchAdd("*(long *)0x61AC,x","eCANA MDL21"); - GEL_WatchAdd("*(long *)0x61AE,x","eCANA MDH21"); -} -hotmenu eCAN_A_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x606C,x","eCANA LAM22"); - GEL_WatchAdd("*(long *)0x60AC,x","eCANA MOTS22"); - GEL_WatchAdd("*(long *)0x60EC,x","eCANA MOTO22"); - GEL_WatchAdd("*(long *)0x61B0,x","eCANA MID22"); - GEL_WatchAdd("*(long *)0x61B2,x","eCANA MCF22"); - GEL_WatchAdd("*(long *)0x61B4,x","eCANA MDL22"); - GEL_WatchAdd("*(long *)0x61B6,x","eCANA MDH22"); - - GEL_WatchAdd("*(long *)0x606E,x","eCANA LAM23"); - GEL_WatchAdd("*(long *)0x60AE,x","eCANA MOTS23"); - GEL_WatchAdd("*(long *)0x60EE,x","eCANA MOTO23"); - GEL_WatchAdd("*(long *)0x61B8,x","eCANA MID23"); - GEL_WatchAdd("*(long *)0x61BA,x","eCANA MCF23"); - GEL_WatchAdd("*(long *)0x61BC,x","eCANA MDL23"); - GEL_WatchAdd("*(long *)0x61BE,x","eCANA MDH23"); -} -hotmenu eCAN_A_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6070,x","eCANA LAM24"); - GEL_WatchAdd("*(long *)0x60B0,x","eCANA MOTS24"); - GEL_WatchAdd("*(long *)0x60F0,x","eCANA MOTO24"); - GEL_WatchAdd("*(long *)0x61C0,x","eCANA MID24"); - GEL_WatchAdd("*(long *)0x61C2,x","eCANA MCF24"); - GEL_WatchAdd("*(long *)0x61C4,x","eCANA MDL24"); - GEL_WatchAdd("*(long *)0x61C6,x","eCANA MDH24"); - - GEL_WatchAdd("*(long *)0x6072,x","eCANA LAM25"); - GEL_WatchAdd("*(long *)0x60B2,x","eCANA MOTS25"); - GEL_WatchAdd("*(long *)0x60F2,x","eCANA MOTO25"); - GEL_WatchAdd("*(long *)0x61C8,x","eCANA MID25"); - GEL_WatchAdd("*(long *)0x61CA,x","eCANA MCF25"); - GEL_WatchAdd("*(long *)0x61CC,x","eCANA MDL25"); - GEL_WatchAdd("*(long *)0x61CE,x","eCANA MDH25"); -} -hotmenu eCAN_A_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6074,x","eCANA LAM26"); - GEL_WatchAdd("*(long *)0x60B4,x","eCANA MOTS26"); - GEL_WatchAdd("*(long *)0x60F4,x","eCANA MOTO26"); - GEL_WatchAdd("*(long *)0x61D0,x","eCANA MID26"); - GEL_WatchAdd("*(long *)0x61D2,x","eCANA MCF26"); - GEL_WatchAdd("*(long *)0x61D4,x","eCANA MDL26"); - GEL_WatchAdd("*(long *)0x61D6,x","eCANA MDH26"); - - GEL_WatchAdd("*(long *)0x6076,x","eCANA LAM27"); - GEL_WatchAdd("*(long *)0x60B6,x","eCANA MOTS27"); - GEL_WatchAdd("*(long *)0x60F6,x","eCANA MOTO27"); - GEL_WatchAdd("*(long *)0x61D8,x","eCANA MID27"); - GEL_WatchAdd("*(long *)0x61DA,x","eCANA MCF27"); - GEL_WatchAdd("*(long *)0x61DC,x","eCANA MDL27"); - GEL_WatchAdd("*(long *)0x61DE,x","eCANA MDH27"); -} -hotmenu eCAN_A_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6078,x","eCANA LAM28"); - GEL_WatchAdd("*(long *)0x60B8,x","eCANA MOTS28"); - GEL_WatchAdd("*(long *)0x60F8,x","eCANA MOTO28"); - GEL_WatchAdd("*(long *)0x61E0,x","eCANA MID28"); - GEL_WatchAdd("*(long *)0x61E2,x","eCANA MCF28"); - GEL_WatchAdd("*(long *)0x61E4,x","eCANA MDL28"); - GEL_WatchAdd("*(long *)0x61E6,x","eCANA MDH28"); - - GEL_WatchAdd("*(long *)0x607A,x","eCANA LAM29"); - GEL_WatchAdd("*(long *)0x60BA,x","eCANA MOTS29"); - GEL_WatchAdd("*(long *)0x60FA,x","eCANA MOTO29"); - GEL_WatchAdd("*(long *)0x61E8,x","eCANA MID29"); - GEL_WatchAdd("*(long *)0x61EA,x","eCANA MCF29"); - GEL_WatchAdd("*(long *)0x61EC,x","eCANA MDL29"); - GEL_WatchAdd("*(long *)0x61EE,x","eCANA MDH29"); -} -hotmenu eCAN_A_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x607C,x","eCANA LAM30"); - GEL_WatchAdd("*(long *)0x60BC,x","eCANA MOTS30"); - GEL_WatchAdd("*(long *)0x60FC,x","eCANA MOTO30"); - GEL_WatchAdd("*(long *)0x61F0,x","eCANA MID30"); - GEL_WatchAdd("*(long *)0x61F2,x","eCANA MCF30"); - GEL_WatchAdd("*(long *)0x61F4,x","eCANA MDL30"); - GEL_WatchAdd("*(long *)0x61F6,x","eCANA MDH30"); - - GEL_WatchAdd("*(long *)0x607E,x","eCANA LAM31"); - GEL_WatchAdd("*(long *)0x60BE,x","eCANA MOTS31"); - GEL_WatchAdd("*(long *)0x60FE,x","eCANA MOTO31"); - GEL_WatchAdd("*(long *)0x61F8,x","eCANA MID31"); - GEL_WatchAdd("*(long *)0x61FA,x","eCANA MCF31"); - GEL_WatchAdd("*(long *)0x61FC,x","eCANA MDL31"); - GEL_WatchAdd("*(long *)0x61FE,x","eCANA MDH31"); -} -hotmenu eCAN_B_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6200,x","eCANB CANME"); - GEL_WatchAdd("*(long *)0x6202,x","eCANB CANMD"); - GEL_WatchAdd("*(long *)0x6204,x","eCANB CANTRS"); - GEL_WatchAdd("*(long *)0x6206,x","eCANB CANTRR"); - GEL_WatchAdd("*(long *)0x6208,x","eCANB CANTA"); - GEL_WatchAdd("*(long *)0x620A,x","eCANB CANAA"); - GEL_WatchAdd("*(long *)0x620C,x","eCANB CANRMP"); - GEL_WatchAdd("*(long *)0x620E,x","eCANB CANRML"); - GEL_WatchAdd("*(long *)0x6210,x","eCANB CANRFP"); - GEL_WatchAdd("*(long *)0x6214,x","eCANB CANMC"); - GEL_WatchAdd("*(long *)0x6216,x","eCANB CANBTC"); - GEL_WatchAdd("*(long *)0x6218,x","eCANB CANES"); - GEL_WatchAdd("*(long *)0x621A,x","eCANB CANTEC"); - GEL_WatchAdd("*(long *)0x621C,x","eCANB CANREC"); - GEL_WatchAdd("*(long *)0x621E,x","eCANB CANGIF0"); - GEL_WatchAdd("*(long *)0x6220,x","eCANB CANGIM"); - GEL_WatchAdd("*(long *)0x6222,x","eCANB CANGIF1"); - GEL_WatchAdd("*(long *)0x6224,x","eCANB CANMIM"); - GEL_WatchAdd("*(long *)0x6226,x","eCANB CANMIL"); - GEL_WatchAdd("*(long *)0x6228,x","eCANB CANOPC"); - GEL_WatchAdd("*(long *)0x622A,x","eCANB CANTIOC"); - GEL_WatchAdd("*(long *)0x622C,x","eCANB CANRIOC"); - GEL_WatchAdd("*(long *)0x622E,x","eCANB CANLNT"); - GEL_WatchAdd("*(long *)0x6230,x","eCANB CANTOC"); - GEL_WatchAdd("*(long *)0x6232,x","eCANB CANTOS"); -} -hotmenu eCAN_B_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6240,x","eCANB LAM0"); - GEL_WatchAdd("*(long *)0x6280,x","eCANB MOTS0"); - GEL_WatchAdd("*(long *)0x62C0,x","eCANB MOTO0"); - GEL_WatchAdd("*(long *)0x6300,x","eCANB MID0"); - GEL_WatchAdd("*(long *)0x6302,x","eCANB MCF0"); - GEL_WatchAdd("*(long *)0x6304,x","eCANB MDL0"); - GEL_WatchAdd("*(long *)0x6306,x","eCANB MDH0"); - - GEL_WatchAdd("*(long *)0x6242,x","eCANB LAM1"); - GEL_WatchAdd("*(long *)0x6282,x","eCANB MOTS1"); - GEL_WatchAdd("*(long *)0x62C2,x","eCANB MOTO1"); - GEL_WatchAdd("*(long *)0x6308,x","eCANB MID1"); - GEL_WatchAdd("*(long *)0x630A,x","eCANB MCF1"); - GEL_WatchAdd("*(long *)0x630C,x","eCANB MDL1"); - GEL_WatchAdd("*(long *)0x630E,x","eCANB MDH1"); -} -hotmenu eCAN_B_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6244,x","eCANB LAM2"); - GEL_WatchAdd("*(long *)0x6284,x","eCANB MOTS2"); - GEL_WatchAdd("*(long *)0x62C4,x","eCANB MOTO2"); - GEL_WatchAdd("*(long *)0x6310,x","eCANB MID2"); - GEL_WatchAdd("*(long *)0x6312,x","eCANB MCF2"); - GEL_WatchAdd("*(long *)0x6314,x","eCANB MDL2"); - GEL_WatchAdd("*(long *)0x6316,x","eCANB MDH2"); - - GEL_WatchAdd("*(long *)0x6246,x","eCANB LAM3"); - GEL_WatchAdd("*(long *)0x6286,x","eCANB MOTS3"); - GEL_WatchAdd("*(long *)0x62C6,x","eCANB MOTO3"); - GEL_WatchAdd("*(long *)0x6318,x","eCANB MID3"); - GEL_WatchAdd("*(long *)0x631A,x","eCANB MCF3"); - GEL_WatchAdd("*(long *)0x631C,x","eCANB MDL3"); - GEL_WatchAdd("*(long *)0x631E,x","eCANB MDH3"); -} -hotmenu eCAN_B_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6248,x","eCANB LAM4"); - GEL_WatchAdd("*(long *)0x6288,x","eCANB MOTS4"); - GEL_WatchAdd("*(long *)0x62C8,x","eCANB MOTO4"); - GEL_WatchAdd("*(long *)0x6320,x","eCANB MID4"); - GEL_WatchAdd("*(long *)0x6322,x","eCANB MCF4"); - GEL_WatchAdd("*(long *)0x6324,x","eCANB MDL4"); - GEL_WatchAdd("*(long *)0x6326,x","eCANB MDH4"); - - GEL_WatchAdd("*(long *)0x624A,x","eCANB LAM5"); - GEL_WatchAdd("*(long *)0x628A,x","eCANB MOTS5"); - GEL_WatchAdd("*(long *)0x62CA,x","eCANB MOTO5"); - GEL_WatchAdd("*(long *)0x6328,x","eCANB MID5"); - GEL_WatchAdd("*(long *)0x632A,x","eCANB MCF5"); - GEL_WatchAdd("*(long *)0x632C,x","eCANB MDL5"); - GEL_WatchAdd("*(long *)0x632E,x","eCANB MDH5"); -} -hotmenu eCAN_B_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x624C,x","eCANB LAM6"); - GEL_WatchAdd("*(long *)0x628C,x","eCANB MOTS6"); - GEL_WatchAdd("*(long *)0x62CC,x","eCANB MOTO6"); - GEL_WatchAdd("*(long *)0x6330,x","eCANB MID6"); - GEL_WatchAdd("*(long *)0x6332,x","eCANB MCF6"); - GEL_WatchAdd("*(long *)0x6334,x","eCANB MDL6"); - GEL_WatchAdd("*(long *)0x6336,x","eCANB MDH6"); - - GEL_WatchAdd("*(long *)0x624E,x","eCANB LAM7"); - GEL_WatchAdd("*(long *)0x628E,x","eCANB MOTS7"); - GEL_WatchAdd("*(long *)0x62CE,x","eCANB MOTO7"); - GEL_WatchAdd("*(long *)0x6338,x","eCANB MID7"); - GEL_WatchAdd("*(long *)0x633A,x","eCANB MCF7"); - GEL_WatchAdd("*(long *)0x633C,x","eCANB MDL7"); - GEL_WatchAdd("*(long *)0x633E,x","eCANB MDH7"); -} -hotmenu eCAN_B_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6250,x","eCANB LAM8"); - GEL_WatchAdd("*(long *)0x6290,x","eCANB MOTS8"); - GEL_WatchAdd("*(long *)0x62D0,x","eCANB MOTO8"); - GEL_WatchAdd("*(long *)0x6340,x","eCANB MID8"); - GEL_WatchAdd("*(long *)0x6342,x","eCANB MCF8"); - GEL_WatchAdd("*(long *)0x6344,x","eCANB MDL8"); - GEL_WatchAdd("*(long *)0x6346,x","eCANB MDH8"); - - GEL_WatchAdd("*(long *)0x6252,x","eCANB LAM9"); - GEL_WatchAdd("*(long *)0x6292,x","eCANB MOTS9"); - GEL_WatchAdd("*(long *)0x62D2,x","eCANB MOTO9"); - GEL_WatchAdd("*(long *)0x6348,x","eCANB MID9"); - GEL_WatchAdd("*(long *)0x634A,x","eCANB MCF9"); - GEL_WatchAdd("*(long *)0x634C,x","eCANB MDL9"); - GEL_WatchAdd("*(long *)0x634E,x","eCANB MDH9"); -} -hotmenu eCAN_B_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6254,x","eCANB LAM10"); - GEL_WatchAdd("*(long *)0x6294,x","eCANB MOTS10"); - GEL_WatchAdd("*(long *)0x62D4,x","eCANB MOTO10"); - GEL_WatchAdd("*(long *)0x6350,x","eCANB MID10"); - GEL_WatchAdd("*(long *)0x6352,x","eCANB MCF10"); - GEL_WatchAdd("*(long *)0x6354,x","eCANB MDL10"); - GEL_WatchAdd("*(long *)0x6356,x","eCANB MDH10"); - - GEL_WatchAdd("*(long *)0x6256,x","eCANB LAM11"); - GEL_WatchAdd("*(long *)0x6296,x","eCANB MOTS11"); - GEL_WatchAdd("*(long *)0x62D6,x","eCANB MOTO11"); - GEL_WatchAdd("*(long *)0x6358,x","eCANB MID11"); - GEL_WatchAdd("*(long *)0x635A,x","eCANB MCF11"); - GEL_WatchAdd("*(long *)0x635C,x","eCANB MDL11"); - GEL_WatchAdd("*(long *)0x635E,x","eCANB MDH11"); -} -hotmenu eCAN_B_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6258,x","eCANB LAM12"); - GEL_WatchAdd("*(long *)0x6298,x","eCANB MOTS12"); - GEL_WatchAdd("*(long *)0x62D8,x","eCANB MOTO12"); - GEL_WatchAdd("*(long *)0x6360,x","eCANB MID12"); - GEL_WatchAdd("*(long *)0x6362,x","eCANB MCF12"); - GEL_WatchAdd("*(long *)0x6364,x","eCANB MDL12"); - GEL_WatchAdd("*(long *)0x6366,x","eCANB MDH12"); - - GEL_WatchAdd("*(long *)0x625A,x","eCANB LAM13"); - GEL_WatchAdd("*(long *)0x629A,x","eCANB MOTS13"); - GEL_WatchAdd("*(long *)0x62DA,x","eCANB MOTO13"); - GEL_WatchAdd("*(long *)0x6368,x","eCANB MID13"); - GEL_WatchAdd("*(long *)0x636A,x","eCANB MCF13"); - GEL_WatchAdd("*(long *)0x636C,x","eCANB MDL13"); - GEL_WatchAdd("*(long *)0x636E,x","eCANB MDH13"); -} -hotmenu eCAN_B_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x625C,x","eCANB LAM14"); - GEL_WatchAdd("*(long *)0x629C,x","eCANB MOTS14"); - GEL_WatchAdd("*(long *)0x62DC,x","eCANB MOTO14"); - GEL_WatchAdd("*(long *)0x6370,x","eCANB MID14"); - GEL_WatchAdd("*(long *)0x6372,x","eCANB MCF14"); - GEL_WatchAdd("*(long *)0x6374,x","eCANB MDL14"); - GEL_WatchAdd("*(long *)0x6376,x","eCANB MDH14"); - - GEL_WatchAdd("*(long *)0x625E,x","eCANB LAM15"); - GEL_WatchAdd("*(long *)0x629E,x","eCANB MOTS15"); - GEL_WatchAdd("*(long *)0x62DE,x","eCANB MOTO15"); - GEL_WatchAdd("*(long *)0x6378,x","eCANB MID15"); - GEL_WatchAdd("*(long *)0x637A,x","eCANB MCF15"); - GEL_WatchAdd("*(long *)0x637C,x","eCANB MDL15"); - GEL_WatchAdd("*(long *)0x637E,x","eCANB MDH15"); -} -hotmenu eCAN_B_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6260,x","eCANB LAM16"); - GEL_WatchAdd("*(long *)0x62A0,x","eCANB MOTS16"); - GEL_WatchAdd("*(long *)0x62E0,x","eCANB MOTO16"); - GEL_WatchAdd("*(long *)0x6380,x","eCANB MID16"); - GEL_WatchAdd("*(long *)0x6382,x","eCANB MCF16"); - GEL_WatchAdd("*(long *)0x6384,x","eCANB MDL16"); - GEL_WatchAdd("*(long *)0x6386,x","eCANB MDH16"); - - GEL_WatchAdd("*(long *)0x6262,x","eCANB LAM17"); - GEL_WatchAdd("*(long *)0x62A2,x","eCANB MOTS17"); - GEL_WatchAdd("*(long *)0x62E2,x","eCANB MOTO17"); - GEL_WatchAdd("*(long *)0x6388,x","eCANB MID17"); - GEL_WatchAdd("*(long *)0x638A,x","eCANB MCF17"); - GEL_WatchAdd("*(long *)0x638C,x","eCANB MDL17"); - GEL_WatchAdd("*(long *)0x638E,x","eCANB MDH17"); -} -hotmenu eCAN_B_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6264,x","eCANB LAM18"); - GEL_WatchAdd("*(long *)0x62A4,x","eCANB MOTS18"); - GEL_WatchAdd("*(long *)0x62E4,x","eCANB MOTO18"); - GEL_WatchAdd("*(long *)0x6390,x","eCANB MID18"); - GEL_WatchAdd("*(long *)0x6392,x","eCANB MCF18"); - GEL_WatchAdd("*(long *)0x6394,x","eCANB MDL18"); - GEL_WatchAdd("*(long *)0x6396,x","eCANB MDH18"); - - GEL_WatchAdd("*(long *)0x6266,x","eCANB LAM19"); - GEL_WatchAdd("*(long *)0x62A6,x","eCANB MOTS19"); - GEL_WatchAdd("*(long *)0x62E6,x","eCANB MOTO19"); - GEL_WatchAdd("*(long *)0x6398,x","eCANB MID19"); - GEL_WatchAdd("*(long *)0x639A,x","eCANB MCF19"); - GEL_WatchAdd("*(long *)0x639C,x","eCANB MDL19"); - GEL_WatchAdd("*(long *)0x639E,x","eCANB MDH19"); -} -hotmenu eCAN_B_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6268,x","eCANB LAM20"); - GEL_WatchAdd("*(long *)0x62A8,x","eCANB MOTS20"); - GEL_WatchAdd("*(long *)0x62E8,x","eCANB MOTO20"); - GEL_WatchAdd("*(long *)0x63A0,x","eCANB MID20"); - GEL_WatchAdd("*(long *)0x63A2,x","eCANB MCF20"); - GEL_WatchAdd("*(long *)0x63A4,x","eCANB MDL20"); - GEL_WatchAdd("*(long *)0x63A6,x","eCANB MDH20"); - - GEL_WatchAdd("*(long *)0x626A,x","eCANB LAM21"); - GEL_WatchAdd("*(long *)0x62AA,x","eCANB MOTS21"); - GEL_WatchAdd("*(long *)0x62EA,x","eCANB MOTO21"); - GEL_WatchAdd("*(long *)0x63A8,x","eCANB MID21"); - GEL_WatchAdd("*(long *)0x63AA,x","eCANB MCF21"); - GEL_WatchAdd("*(long *)0x63AC,x","eCANB MDL21"); - GEL_WatchAdd("*(long *)0x63AE,x","eCANB MDH21"); -} -hotmenu eCAN_B_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x626C,x","eCANB LAM22"); - GEL_WatchAdd("*(long *)0x62AC,x","eCANB MOTS22"); - GEL_WatchAdd("*(long *)0x62EC,x","eCANB MOTO22"); - GEL_WatchAdd("*(long *)0x63B0,x","eCANB MID22"); - GEL_WatchAdd("*(long *)0x63B2,x","eCANB MCF22"); - GEL_WatchAdd("*(long *)0x63B4,x","eCANB MDL22"); - GEL_WatchAdd("*(long *)0x63B6,x","eCANB MDH22"); - - GEL_WatchAdd("*(long *)0x626E,x","eCANB LAM23"); - GEL_WatchAdd("*(long *)0x62AE,x","eCANB MOTS23"); - GEL_WatchAdd("*(long *)0x62EE,x","eCANB MOTO23"); - GEL_WatchAdd("*(long *)0x63B8,x","eCANB MID23"); - GEL_WatchAdd("*(long *)0x63BA,x","eCANB MCF23"); - GEL_WatchAdd("*(long *)0x63BC,x","eCANB MDL23"); - GEL_WatchAdd("*(long *)0x63BE,x","eCANB MDH23"); -} -hotmenu eCAN_B_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6270,x","eCANB LAM24"); - GEL_WatchAdd("*(long *)0x62B0,x","eCANB MOTS24"); - GEL_WatchAdd("*(long *)0x62F0,x","eCANB MOTO24"); - GEL_WatchAdd("*(long *)0x63C0,x","eCANB MID24"); - GEL_WatchAdd("*(long *)0x63C2,x","eCANB MCF24"); - GEL_WatchAdd("*(long *)0x63C4,x","eCANB MDL24"); - GEL_WatchAdd("*(long *)0x63C6,x","eCANB MDH24"); - - GEL_WatchAdd("*(long *)0x6272,x","eCANB LAM25"); - GEL_WatchAdd("*(long *)0x62B2,x","eCANB MOTS25"); - GEL_WatchAdd("*(long *)0x62F2,x","eCANB MOTO25"); - GEL_WatchAdd("*(long *)0x63C8,x","eCANB MID25"); - GEL_WatchAdd("*(long *)0x63CA,x","eCANB MCF25"); - GEL_WatchAdd("*(long *)0x63CC,x","eCANB MDL25"); - GEL_WatchAdd("*(long *)0x63CE,x","eCANB MDH25"); -} -hotmenu eCAN_B_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6274,x","eCANB LAM26"); - GEL_WatchAdd("*(long *)0x62B4,x","eCANB MOTS26"); - GEL_WatchAdd("*(long *)0x62F4,x","eCANB MOTO26"); - GEL_WatchAdd("*(long *)0x63D0,x","eCANB MID26"); - GEL_WatchAdd("*(long *)0x63D2,x","eCANB MCF26"); - GEL_WatchAdd("*(long *)0x63D4,x","eCANB MDL26"); - GEL_WatchAdd("*(long *)0x63D6,x","eCANB MDH26"); - - GEL_WatchAdd("*(long *)0x6276,x","eCANB LAM27"); - GEL_WatchAdd("*(long *)0x62B6,x","eCANB MOTS27"); - GEL_WatchAdd("*(long *)0x62F6,x","eCANB MOTO27"); - GEL_WatchAdd("*(long *)0x63D8,x","eCANB MID27"); - GEL_WatchAdd("*(long *)0x63DA,x","eCANB MCF27"); - GEL_WatchAdd("*(long *)0x63DC,x","eCANB MDL27"); - GEL_WatchAdd("*(long *)0x63DE,x","eCANB MDH27"); -} -hotmenu eCAN_B_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6278,x","eCANB LAM28"); - GEL_WatchAdd("*(long *)0x62B8,x","eCANB MOTS28"); - GEL_WatchAdd("*(long *)0x62F8,x","eCANB MOTO28"); - GEL_WatchAdd("*(long *)0x63E0,x","eCANB MID28"); - GEL_WatchAdd("*(long *)0x63E2,x","eCANB MCF28"); - GEL_WatchAdd("*(long *)0x63E4,x","eCANB MDL28"); - GEL_WatchAdd("*(long *)0x63E6,x","eCANB MDH28"); - - GEL_WatchAdd("*(long *)0x627A,x","eCANB LAM29"); - GEL_WatchAdd("*(long *)0x62BA,x","eCANB MOTS29"); - GEL_WatchAdd("*(long *)0x62FA,x","eCANB MOTO29"); - GEL_WatchAdd("*(long *)0x63E8,x","eCANB MID29"); - GEL_WatchAdd("*(long *)0x63EA,x","eCANB MCF29"); - GEL_WatchAdd("*(long *)0x63EC,x","eCANB MDL29"); - GEL_WatchAdd("*(long *)0x63EE,x","eCANB MDH29"); -} -hotmenu eCAN_B_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x627C,x","eCANB LAM30"); - GEL_WatchAdd("*(long *)0x62BC,x","eCANB MOTS30"); - GEL_WatchAdd("*(long *)0x62FC,x","eCANB MOTO30"); - GEL_WatchAdd("*(long *)0x63F0,x","eCANB MID30"); - GEL_WatchAdd("*(long *)0x63F2,x","eCANB MCF30"); - GEL_WatchAdd("*(long *)0x63F4,x","eCANB MDL30"); - GEL_WatchAdd("*(long *)0x63F6,x","eCANB MDH30"); - - GEL_WatchAdd("*(long *)0x627E,x","eCANB LAM31"); - GEL_WatchAdd("*(long *)0x62BE,x","eCANB MOTS31"); - GEL_WatchAdd("*(long *)0x62FE,x","eCANB MOTO31"); - GEL_WatchAdd("*(long *)0x63F8,x","eCANB MID31"); - GEL_WatchAdd("*(long *)0x63FA,x","eCANB MCF31"); - GEL_WatchAdd("*(long *)0x63FC,x","eCANB MDL31"); - GEL_WatchAdd("*(long *)0x63FE,x","eCANB MDH31"); -} - - -/********************************************************************/ -/* Enhanced Capture Registers */ -/********************************************************************/ -menuitem "Watch eCAP Registers"; - -hotmenu eCAP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A00,x","eCAP1 TSCNT"); - GEL_WatchAdd("*(long *)0x6A02,x","eCAP1 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A04,x","eCAP1 CAP1"); - GEL_WatchAdd("*(long *)0x6A06,x","eCAP1 CAP2"); - GEL_WatchAdd("*(long *)0x6A08,x","eCAP1 CAP3"); - GEL_WatchAdd("*(long *)0x6A0A,x","eCAP1 CAP4"); - GEL_WatchAdd("*0x6A14,x","eCAP1 ECCTL1"); - GEL_WatchAdd("*0x6A15,x","eCAP1 ECCTL2"); - GEL_WatchAdd("*0x6A16,x","eCAP1 ECEINT"); - GEL_WatchAdd("*0x6A17,x","eCAP1 ECFLG"); - GEL_WatchAdd("*0x6A18,x","eCAP1 ECCLR"); - GEL_WatchAdd("*0x6A19,x","eCAP1 ECFRC"); -} -hotmenu eCAP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A20,x","eCAP2 TSCNT"); - GEL_WatchAdd("*(long *)0x6A22,x","eCAP2 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A24,x","eCAP2 CAP1"); - GEL_WatchAdd("*(long *)0x6A26,x","eCAP2 CAP2"); - GEL_WatchAdd("*(long *)0x6A28,x","eCAP2 CAP3"); - GEL_WatchAdd("*(long *)0x6A2A,x","eCAP2 CAP4"); - GEL_WatchAdd("*0x6A34,x","eCAP2 ECCTL1"); - GEL_WatchAdd("*0x6A35,x","eCAP2 ECCTL2"); - GEL_WatchAdd("*0x6A36,x","eCAP2 ECEINT"); - GEL_WatchAdd("*0x6A37,x","eCAP2 ECFLG"); - GEL_WatchAdd("*0x6A38,x","eCAP2 ECCLR"); - GEL_WatchAdd("*0x6A39,x","eCAP2 ECFRC"); -} -hotmenu eCAP3_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A40,x","eCAP3 TSCNT"); - GEL_WatchAdd("*(long *)0x6A42,x","eCAP3 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A44,x","eCAP3 CAP1"); - GEL_WatchAdd("*(long *)0x6A46,x","eCAP3 CAP2"); - GEL_WatchAdd("*(long *)0x6A48,x","eCAP3 CAP3"); - GEL_WatchAdd("*(long *)0x6A4A,x","eCAP3 CAP4"); - GEL_WatchAdd("*0x6A54,x","eCAP3 ECCTL1"); - GEL_WatchAdd("*0x6A55,x","eCAP3 ECCTL2"); - GEL_WatchAdd("*0x6A56,x","eCAP3 ECEINT"); - GEL_WatchAdd("*0x6A57,x","eCAP3 ECFLG"); - GEL_WatchAdd("*0x6A58,x","eCAP3 ECCLR"); - GEL_WatchAdd("*0x6A59,x","eCAP3 ECFRC"); -} -hotmenu eCAP4_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A60,x","eCAP4 TSCNT"); - GEL_WatchAdd("*(long *)0x6A62,x","eCAP4 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A64,x","eCAP4 CAP1"); - GEL_WatchAdd("*(long *)0x6A66,x","eCAP4 CAP2"); - GEL_WatchAdd("*(long *)0x6A68,x","eCAP4 CAP3"); - GEL_WatchAdd("*(long *)0x6A6A,x","eCAP4 CAP4"); - GEL_WatchAdd("*0x6A74,x","eCAP4 ECCTL1"); - GEL_WatchAdd("*0x6A75,x","eCAP4 ECCTL2"); - GEL_WatchAdd("*0x6A76,x","eCAP4 ECEINT"); - GEL_WatchAdd("*0x6A77,x","eCAP4 ECFLG"); - GEL_WatchAdd("*0x6A78,x","eCAP4 ECCLR"); - GEL_WatchAdd("*0x6A79,x","eCAP4 ECFRC"); -} - -/********************************************************************/ -/* Enhanced PWM Registers */ -/********************************************************************/ -menuitem "Watch ePWM Registers"; - -hotmenu ePWM1_All_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6813,x","ePWM1 TZDCSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); - GEL_WatchAdd("*0x681E,x","ePWM1 PCCTL"); - GEL_WatchAdd("*0x6820,x","ePWM1 HRCNFG"); -} -hotmenu ePWM1_TB_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); -} -hotmenu ePWM1_CMP_Regs() -{ - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); -} -hotmenu ePWM1_AQ_Regs() -{ - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); -} -hotmenu ePWM1_DB_Regs() -{ - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); -} -hotmenu ePWM1_TZ_Regs() -{ - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); -} -hotmenu ePWM1_ET_Regs() -{ - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); -} -hotmenu ePWM2_All_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6853,x","ePWM2 TZDCSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); - GEL_WatchAdd("*0x685E,x","ePWM2 PCCTL"); - GEL_WatchAdd("*0x6860,x","ePWM2 HRCNFG"); -} -hotmenu ePWM2_TB_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); -} -hotmenu ePWM2_CMP_Regs() -{ - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); -} -hotmenu ePWM2_AQ_Regs() -{ - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); -} -hotmenu ePWM2_DB_Regs() -{ - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); -} -hotmenu ePWM2_TZ_Regs() -{ - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); -} -hotmenu ePWM2_ET_Regs() -{ - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); -} -hotmenu ePWM3_All_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6893,x","ePWM3 TZDCSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); - GEL_WatchAdd("*0x689E,x","ePWM3 PCCTL"); - GEL_WatchAdd("*0x68A0,x","ePWM3 HRCNFG"); -} -hotmenu ePWM3_TB_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); -} -hotmenu ePWM3_CMP_Regs() -{ - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); -} -hotmenu ePWM3_AQ_Regs() -{ - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); -} -hotmenu ePWM3_DB_Regs() -{ - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); -} -hotmenu ePWM3_TZ_Regs() -{ - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); -} -hotmenu ePWM3_ET_Regs() -{ - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); -} -hotmenu ePWM4_All_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D3,x","ePWM4 TZDCSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); - GEL_WatchAdd("*0x68DE,x","ePWM4 PCCTL"); - GEL_WatchAdd("*0x68E0,x","ePWM4 HRCNFG"); -} -hotmenu ePWM4_TB_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); -} -hotmenu ePWM4_CMP_Regs() -{ - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); -} -hotmenu ePWM4_AQ_Regs() -{ - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); -} -hotmenu ePWM4_DB_Regs() -{ - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); -} -hotmenu ePWM4_TZ_Regs() -{ - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); -} -hotmenu ePWM4_ET_Regs() -{ - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); -} -hotmenu ePWM5_All_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6913,x","ePWM5 TZDCSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); - GEL_WatchAdd("*0x691E,x","ePWM5 PCCTL"); -} -hotmenu ePWM5_TB_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); -} -hotmenu ePWM5_CMP_Regs() -{ - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); -} -hotmenu ePWM5_AQ_Regs() -{ - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); -} -hotmenu ePWM5_DB_Regs() -{ - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); -} -hotmenu ePWM5_TZ_Regs() -{ - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); -} -hotmenu ePWM5_ET_Regs() -{ - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); -} -hotmenu ePWM6_All_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6953,x","ePWM6 TZDCSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); - GEL_WatchAdd("*0x695E,x","ePWM6 PCCTL"); - -} -hotmenu ePWM6_TB_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); -} -hotmenu ePWM6_CMP_Regs() -{ - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); -} -hotmenu ePWM6_AQ_Regs() -{ - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); -} -hotmenu ePWM6_DB_Regs() -{ - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); -} -hotmenu ePWM6_TZ_Regs() -{ - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); -} -hotmenu ePWM6_ET_Regs() -{ - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); -} - - -/********************************************************************/ -/* Enhanced EQEP Registers */ -/********************************************************************/ -menuitem "Watch eQEP" - -hotmenu eQEP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B00,x","eQEP1 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B02,x","eQEP1 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B04,x","eQEP1 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B06,x","eQEP1 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B08,x","eQEP1 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B0A,x","eQEP1 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B0C,x","eQEP1 QPOSLAT"); - GEL_WatchAdd("*(long *)0x6B0E,x","eQEP1 QUTMR"); - GEL_WatchAdd("*(long *)0x6B10,x","eQEP1 QUPRD"); - GEL_WatchAdd("*0x6B12,x","eQEP1 QWDTMR"); - GEL_WatchAdd("*0x6B13,x","eQEP1 QWDPRD"); - GEL_WatchAdd("*0x6B14,x","eQEP1 QDECCTL"); - GEL_WatchAdd("*0x6B15,x","eQEP1 QEPCTL"); - GEL_WatchAdd("*0x6B16,x","eQEP1 QCAPCTL"); - GEL_WatchAdd("*0x6B17,x","eQEP1 QPOSCTL"); - GEL_WatchAdd("*0x6B18,x","eQEP1 QEINT"); - GEL_WatchAdd("*0x6B19,x","eQEP1 QFLG"); - GEL_WatchAdd("*0x6B1A,x","eQEP1 QCLR"); - GEL_WatchAdd("*0x6B1B,x","eQEP1 QFRC"); - GEL_WatchAdd("*0x6B1C,x","eQEP1 QEPSTS"); - GEL_WatchAdd("*0x6B1D,x","eQEP1 QCTMR"); - GEL_WatchAdd("*0x6B1E,x","eQEP1 QCPRD"); - GEL_WatchAdd("*0x6B1F,x","eQEP1 QCTMRLAT"); - GEL_WatchAdd("*0x6B20,x","eQEP1 QCPRDLAT"); -} -hotmenu eQEP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B40,x","eQEP2 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B42,x","eQEP2 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B44,x","eQEP2 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B46,x","eQEP2 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B48,x","eQEP2 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B4A,x","eQEP2 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B4C,x","eQEP2 QPOSLAT"); - GEL_WatchAdd("(long *)*0x6B4E,x","eQEP2 QUTMR"); - GEL_WatchAdd("*(long *)0x6B50,x","eQEP2 QUPRD"); - GEL_WatchAdd("*0x6B52,x","eQEP2 QWDTMR"); - GEL_WatchAdd("*0x6B53,x","eQEP2 QWDPRD"); - GEL_WatchAdd("*0x6B54,x","eQEP2 QDECCTL"); - GEL_WatchAdd("*0x6B55,x","eQEP2 QEPCTL"); - GEL_WatchAdd("*0x6B56,x","eQEP2 QCAPCTL"); - GEL_WatchAdd("*0x6B57,x","eQEP2 QPOSCTL"); - GEL_WatchAdd("*0x6B58,x","eQEP2 QEINT"); - GEL_WatchAdd("*0x6B59,x","eQEP2 QFLG"); - GEL_WatchAdd("*0x6B5A,x","eQEP2 QCLR"); - GEL_WatchAdd("*0x6B5B,x","eQEP2 QFRC"); - GEL_WatchAdd("*0x6B5C,x","eQEP2 QEPSTS"); - GEL_WatchAdd("*0x6B5D,x","eQEP2 QCTMR"); - GEL_WatchAdd("*0x6B5E,x","eQEP2 QCPRD"); - GEL_WatchAdd("*0x6B5F,x","eQEP2 QCTMRLAT"); - GEL_WatchAdd("*0x6B60,x","eQEP2 QCPRDLAT"); -} - - -/********************************************************************/ -/* External Interface Registers */ -/********************************************************************/ -menuitem "Watch External Interface Registers"; - -hotmenu All_External_Interface_Regs() -{ - GEL_WatchAdd("*(long *)0x0B20,x","XTIMING0"); - GEL_WatchAdd("*(long *)0x0B2C,x","XTIMING6"); - GEL_WatchAdd("*(long *)0x0B2E,x","XTIMING7"); - GEL_WatchAdd("*(long *)0x0B34,x","XINTCNF2"); - GEL_WatchAdd("*0x0B38,x","XBANK"); - GEL_WatchAdd("*0x0B3A,x","XREVISION"); - GEL_WatchAdd("*0x0B3D,x","XRESET"); -} - -/********************************************************************/ -/* External Interrupt Registers */ -/********************************************************************/ -menuitem "Watch External Interrupt Registers"; - -hotmenu All_XINT_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} -hotmenu XINT_Control_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); -} -hotmenu XINT_Counter_Regs() -{ - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} - - -/********************************************************************/ -/* FPU Registers */ -/********************************************************************/ -menuitem "Watch FPU Registers" - -hotmenu All_FPU_Single_Precision_Regs() -{ - GEL_WatchAdd("RB"); - GEL_WatchAdd("STF"); - GEL_WatchAdd("R0H"); - GEL_WatchAdd("R1H"); - GEL_WatchAdd("R2H"); - GEL_WatchAdd("R3H"); - GEL_WatchAdd("R4H"); - GEL_WatchAdd("R5H"); - GEL_WatchAdd("R6H"); - GEL_WatchAdd("R7H"); -} - - -/********************************************************************/ -/* GPIO Registers */ -/********************************************************************/ -menuitem "Watch GPIO Registers"; - -hotmenu All_GPIO_CONTROL_Regs() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); -} -hotmenu All_GPIO_DATA_Regs() -{ - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} -hotmenu All_GPIO_INTERRUPT_Regs() -{ - GEL_WatchAdd("*0x6FE0,x","GPIOXINT1SEL"); - GEL_WatchAdd("*0x6FE1,x","GPIOXINT2SEL"); - GEL_WatchAdd("*0x6FE2,x","GPIOXNMISEL"); - GEL_WatchAdd("*0x6FE3,x","GPIOXINT3SEL"); - GEL_WatchAdd("*0x6FE4,x","GPIOXINT4SEL"); - GEL_WatchAdd("*0x6FE5,x","GPIOXINT5SEL"); - GEL_WatchAdd("*0x6FE6,x","GPIOXINT6SEL"); - GEL_WatchAdd("*0x6FE7,x","GPIOXINT7SEL"); - GEL_WatchAdd("*(long *)0x6FE8,x","GPIOLPMSEL"); -} -hotmenu All_GPA_Registers() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); -} -hotmenu All_GPB_Registers() -{ - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); -} -hotmenu All_GPC_Registers() -{ - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} - - -/********************************************************************/ -/* Multichannel Serial Port Registers */ -/********************************************************************/ -menuitem "Watch McBSP Registers"; - -hotmenu All_McBSP_A_Regs() -{ - GEL_WatchAdd("*0x5000,x","McBSPA DRR2"); - GEL_WatchAdd("*0x5001,x","McBSPA DRR1"); - GEL_WatchAdd("*0x5002,x","McBSPA DXR2"); - GEL_WatchAdd("*0x5003,x","McBSPA DXR1"); - GEL_WatchAdd("*0x5004,x","McBSPA SPCR2"); - GEL_WatchAdd("*0x5005,x","McBSPA SPCR1"); - GEL_WatchAdd("*0x5006,x","McBSPA RCR2"); - GEL_WatchAdd("*0x5007,x","McBSPA RCR1"); - GEL_WatchAdd("*0x5008,x","McBSPA XCR2"); - GEL_WatchAdd("*0x5009,x","McBSPA XCR1"); - GEL_WatchAdd("*0x500A,x","McBSPA SRGR2"); - GEL_WatchAdd("*0x500B,x","McBSPA SRGR1"); - GEL_WatchAdd("*0x500C,x","McBSPA MCR2"); - GEL_WatchAdd("*0x500D,x","McBSPA MCR1"); - GEL_WatchAdd("*0x500E,x","McBSPA RCERA"); - GEL_WatchAdd("*0x500F,x","McBSPA RCERB"); - GEL_WatchAdd("*0x5010,x","McBSPA XCERA"); - GEL_WatchAdd("*0x5011,x","McBSPA XCERB"); - GEL_WatchAdd("*0x5012,x","McBSPA PCR1"); - GEL_WatchAdd("*0x5013,x","McBSPA RCERC"); - GEL_WatchAdd("*0x5014,x","McBSPA RCERD"); - GEL_WatchAdd("*0x5015,x","McBSPA XCERC"); - GEL_WatchAdd("*0x5016,x","McBSPA XCERD"); - GEL_WatchAdd("*0x5017,x","McBSPA RCERE"); - GEL_WatchAdd("*0x5018,x","McBSPA RCERF"); - GEL_WatchAdd("*0x5019,x","McBSPA XCERE"); - GEL_WatchAdd("*0x501A,x","McBSPA XCERF"); - GEL_WatchAdd("*0x501B,x","McBSPA RCERG"); - GEL_WatchAdd("*0x501C,x","McBSPA RCERH"); - GEL_WatchAdd("*0x501D,x","McBSPA XCERG"); - GEL_WatchAdd("*0x501E,x","McBSPA XCERH"); - GEL_WatchAdd("*0x5023,x","McBSPA MFFINT"); - GEL_WatchAdd("*0x503F,x","McBSPA Revision"); -} - -/********************************************************************/ -/* I2C Registers */ -/********************************************************************/ -menuitem "Watch I2C Registers"; - -hotmenu All_I2C_Regs() -{ - GEL_WatchAdd("*0x7900,x","I2COAR"); - GEL_WatchAdd("*0x7901,x","I2CIER"); - GEL_WatchAdd("*0x7902,x","I2CSTR"); - GEL_WatchAdd("*0x7903,x","I2CCLKL"); - GEL_WatchAdd("*0x7904,x","I2CCLKH"); - GEL_WatchAdd("*0x7905,x","I2CCNT"); - GEL_WatchAdd("*0x7906,x","I2CDRR"); - GEL_WatchAdd("*0x7907,x","I2CSAR"); - GEL_WatchAdd("*0x7908,x","I2CDXR"); - GEL_WatchAdd("*0x7909,x","I2CMDR"); - GEL_WatchAdd("*0x790A,x","I2CISRC"); - GEL_WatchAdd("*0x790C,x","I2CPSC"); - GEL_WatchAdd("*0x7920,x","I2CFFTX"); - GEL_WatchAdd("*0x7921,x","I2CFFRX"); -} - - -/********************************************************************/ -/* Peripheral Interrupt Expansion Registers */ -/********************************************************************/ -menuitem "Watch Peripheral Interrupt Expansion Registers"; - -hotmenu All_PIE_Regs() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); - GEL_WatchAdd("*0x0CE1,x","PIEACK"); - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} -hotmenu PIECTRL() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); -} -hotmenu PIEACK() -{ - GEL_WatchAdd("*0x0CE1,x","PIEACK"); -} -hotmenu PIEIER1_and_PIEIFR1() -{ - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); -} -hotmenu PIEIER2_and_PIEIFR2() -{ - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); -} -hotmenu PIEIER3_and_PIEIFR3() -{ - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); -} -hotmenu PIEIER4_and_PIEIFR4() -{ - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); -} -hotmenu PIEIER5_and_PIEIFR5() -{ - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); -} -hotmenu PIEIER6_and_PIEIFR6() -{ - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); -} -hotmenu PIEIER7_and_PIEIFR7() -{ - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); -} -hotmenu PIEIER8_and_PIEIFR8() -{ - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); -} -hotmenu PIEIER9_and_PIEIFR9() -{ - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); -} -hotmenu PIEIFR10_and_PIEIFR10() -{ - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); -} -hotmenu PIEIER11_and_PIEIFR11() -{ - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); -} -hotmenu PIEIER12_and_PIEIFR12() -{ - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} - - -/********************************************************************/ -/* Serial Communication Interface Registers */ -/********************************************************************/ -menuitem "Watch SCI Registers"; - -hotmenu SCI_A_All_Regs() -{ - GEL_WatchAdd("*0x7050,x","SCICCRA"); - GEL_WatchAdd("*0x7051,x","SCICTL1A"); - GEL_WatchAdd("*0x7052,x","SCIHBAUDA"); - GEL_WatchAdd("*0x7053,x","SCILBAUDA"); - GEL_WatchAdd("*0x7054,x","SCICTL2A"); - GEL_WatchAdd("*0x7055,x","SCIRXSTA"); - GEL_WatchAdd("*0x7056,x","SCIRXEMUA"); - GEL_WatchAdd("*0x7057,x","SCIRXBUFA"); - GEL_WatchAdd("*0x7059,x","SCITXBUFA"); - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); - GEL_WatchAdd("*0x705F,x","SCIPRIA"); -} -hotmenu SCI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); -} -hotmenu SCI_B_All_Regs() -{ - GEL_WatchAdd("*0x7750,x","SCICCRB"); - GEL_WatchAdd("*0x7751,x","SCICTL1B"); - GEL_WatchAdd("*0x7752,x","SCIHBAUDB"); - GEL_WatchAdd("*0x7753,x","SCILBAUDB"); - GEL_WatchAdd("*0x7754,x","SCICTL2B"); - GEL_WatchAdd("*0x7755,x","SCIRXSTB"); - GEL_WatchAdd("*0x7756,x","SCIRXEMUB"); - GEL_WatchAdd("*0x7757,x","SCIRXBUFB"); - GEL_WatchAdd("*0x7759,x","SCITXBUFB"); - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); - GEL_WatchAdd("*0x775F,x","SCIPRIB"); -} -hotmenu SCI_B_FIFO_Registers() -{ - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); -} - - -/********************************************************************/ -/* Serial Peripheral Interface Registers */ -/********************************************************************/ -menuitem "Watch SPI Registers"; - -hotmenu SPI_A_All_Regs() -{ - GEL_WatchAdd("*0x7040,x","SPIA SPICCR"); - GEL_WatchAdd("*0x7041,x","SPIA SPICTL"); - GEL_WatchAdd("*0x7042,x","SPIA SPIST"); - GEL_WatchAdd("*0x7044,x","SPIA SPIBRR"); - GEL_WatchAdd("*0x7046,x","SPIA SPIEMU"); - GEL_WatchAdd("*0x7047,x","SPIA SPIRXBUF"); - GEL_WatchAdd("*0x7048,x","SPIA SPITXBUF"); - GEL_WatchAdd("*0x7049,x","SPIA SPIDAT"); - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); - GEL_WatchAdd("*0x704F,x","SPIA SPIPRI"); -} -hotmenu SPI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); -} - - -/********************************************************************/ -/* Watchdog Timer Registers */ -/********************************************************************/ -menuitem "Watch Watchdog Timer Registers"; - -hotmenu All_Watchdog_Regs() -{ - GEL_WatchAdd("*0x7023,x","WDCNTR"); - GEL_WatchAdd("*0x7025,x","WDKEY"); - GEL_WatchAdd("*0x7029,x","WDCR"); - GEL_WatchAdd("*0x7022,x","SCSR"); -} - -/********************************************************************/ -/*** End of file ***/ diff --git a/Source/External/v120/DSP2833x_common/gel/f28334.gel b/Source/External/v120/DSP2833x_common/gel/f28334.gel deleted file mode 100644 index fde0000..0000000 --- a/Source/External/v120/DSP2833x_common/gel/f28334.gel +++ /dev/null @@ -1,2951 +0,0 @@ -/********************************************************************/ -/* f28334.gel */ -/* Version 3.30.2 */ -/* */ -/* This GEL file is to be used with the TMS320F28334 DSP. */ -/* Changes may be required to support specific hardware designs. */ -/* */ -/* Code Composer Studio supports six reserved GEL functions that */ -/* automatically get executed if they are defined. They are: */ -/* */ -/* StartUp() - Executed whenever CCS is invoked */ -/* OnReset() - Executed after Debug->Reset CPU */ -/* OnRestart() - Executed after Debug->Restart */ -/* OnPreFileLoaded() - Executed before File->Load Program */ -/* OnFileLoaded() - Executed after File->Load Program */ -/* OnTargetConnect() - Executed after Debug->Connect */ -/* */ -/********************************************************************/ - -StartUp() -{ - -/* The next line automatically loads the .gel file that comes */ -/* with the DSP2833x Peripheral Header Files download. To use, */ -/* uncomment, and adjust the directory path as needed. */ -// GEL_LoadGel("c:\\CCStudio_v3.3\\cc\\gel\\DSP2833x_Peripheral.gel"); -} - -OnReset(int nErrorCode) -{ - C28x_Mode(); - Unlock_CSM(); - ADC_Cal(); -} - -OnRestart(int nErrorCode) -{ -/* CCS will call OnRestart() when you do a Debug->Restart and */ -/* after you load a new file. Between running interrupt based */ -/* programs, this function will clear interrupts and help keep */ -/* the processor from going off into invalid memory. */ - C28x_Mode(); - IER = 0; - IFR = 0; - ADC_Cal(); -} - -int TxtOutCtl=0; -OnPreFileLoaded() -{ - XINTF_Enable(); - if (TxtOutCtl==0) - { - GEL_TextOut("\nNOTES:\nGel will enable XINTFx16 during Debug only.\nEnable XINTF in code prior to use."); - GEL_TextOut("\nFPU Registers can be found via GEL->Watch FPU Registers."); - TxtOutCtl=1; - } -} - -OnFileLoaded(int nErrorCode, int bSymbolsOnly) -{ - ADC_Cal(); -} - -OnTargetConnect() -{ - C28x_Mode(); - F28334_Memory_Map(); /* Initialize the CCS memory map */ - -/* Check to see if CCS has been started-up with the DSP already */ -/* running in real-time mode. The user can add whatever */ -/* custom initialization stuff they want to each case. */ - - if (GEL_IsInRealtimeMode()) /* Do real-time mode target initialization */ - { - - } - else /* Do stop-mode target initialization */ - { - GEL_Reset(); /* Reset DSP */ - } - -} - - -/********************************************************************/ -/* These functions are launched by the GEL_Toolbar button plugin */ -/********************************************************************/ -GEL_Toolbar1() -{ - Run_Realtime_with_Reset(); -} -GEL_Toolbar2() -{ - Run_Realtime_with_Restart(); -} -GEL_Toolbar3() -{ - Full_Halt(); -} -GEL_Toolbar4() -{ - Full_Halt_with_Reset(); -} - -int GEL_Toolbar5_Toggle = 0; -GEL_Toolbar5() -{ - if(GEL_Toolbar5_Toggle == 0) - { - GEL_Toolbar5_Toggle = 1; - GEL_OpenWindow("GEL_Buttons",1,4); - GEL_TextOut("Button 1: Run_Realtime_with_Reset()","GEL_Buttons",0,0); - GEL_TextOut("Button 2: Run_Realtime_with_Restart()","GEL_Buttons",0,1); - GEL_TextOut("Button 3: Full_Halt()", "GEL_Buttons",0,2); - GEL_TextOut("Button 4: Full_Halt_with_Reset()","GEL_Buttons",0,3); - } - else - { - GEL_Toolbar5_Toggle = 0; - GEL_CloseWindow("GEL_Buttons"); - } -} - - -/********************************************************************/ -/* These functions are useful to engage/dis-enagage realtime */ -/* emulation mode during debug. They save the user from having to */ -/* manually perform these steps in CCS. */ -/********************************************************************/ -menuitem "Realtime Emulation Control"; - -hotmenu Run_Realtime_with_Reset() -{ - GEL_Reset(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Run_Realtime_with_Restart() -{ - GEL_Restart(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Full_Halt() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ -} -hotmenu Full_Halt_with_Reset() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ - GEL_Reset(); /* Reset the DSP */ -} - - -/********************************************************************/ -/* F28334 Memory Map */ -/* */ -/* Note: M0M1MAP and VMAP signals tied high on F28334 core */ -/* */ -/* 0x000000 - 0x0003ff M0 SARAM (Prog and Data) */ -/* 0x000400 - 0x0007ff M1 SARAM (Prog and Data) */ -/* 0x000800 - 0x001fff Peripheral Frame0 (PF0) (Data only) */ -/* 0x004000 - 0x004fff XINTF Zone 0 (Prog and Data) */ -/* 0x005000 - 0x005fff Peripheral Frame3 (PF3) (Data only) */ -/* 0x006000 - 0x006fff Peripheral Frame1 (PF1) (Data only) */ -/* 0x007000 - 0x007fff Peripheral Frame2 (PF2) (Data only) */ -/* 0x008000 - 0x008fff L0 SARAM (Prog and Data) */ -/* 0x009000 - 0x009fff L1 SARAM (Prog and Data) */ -/* 0x00A000 - 0x00Afff L2 SARAM (Prog and Data) */ -/* 0x00B000 - 0x00Bfff L3 SARAM (Prog and Data) */ -/* 0x00C000 - 0x00Cfff L4 SARAM (Prog and Data) */ -/* 0x00D000 - 0x00Dfff L5 SARAM (Prog and Data) */ -/* 0x00E000 - 0x00Efff L6 SARAM (Prog and Data) */ -/* 0x00F000 - 0x00Ffff L7 SARAM (Prog and Data) */ -/* 0x100000 - 0x1fffff XINTF Zone 6 (Prog and Data) */ -/* 0x200000 - 0x2fffff XINTF Zone 7 (Prog and Data) */ -/* 0x320000 - 0x33ffff Flash (Prog and Data) */ -/* 0x380080 - 0x380088 ADC_cal function (Prog and Data) */ -/* 0x380090 - 0x380090 PARTID value (Prog and Data) */ -/* 0x380400 - 0x3807ff OTP (Prog and Data) */ -/* 0x3f8000 - 0x3f8fff L0 SARAM (Prog and Data) */ -/* 0x3f9000 - 0x3f9fff L1 SARAM (Prog and Data) */ -/* 0x3fA000 - 0x3fAfff L2 SARAM (Prog and Data) */ -/* 0x3fB000 - 0x3fBfff L3 SARAM (Prog and Data) */ -/* 0x3fe000 - 0x3fffff BOOT ROM (Prog and Data) */ -/********************************************************************/ -menuitem "Initialize Memory Map"; - -hotmenu F28334_Memory_Map() -{ - GEL_MapReset(); - GEL_MapOn(); - - /* Program memory map */ - GEL_MapAdd(0x0,0,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,0,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x4000,0,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x8000,0,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,0,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,0,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,0,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,0,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,0,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0xE000,0,0x1000,1,1); /* L6 SARAM */ - GEL_MapAdd(0xF000,0,0x1000,1,1); /* L7 SARAM */ - GEL_MapAdd(0x100000,0,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,0,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x320000,0,0x20000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,0,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,0,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,0,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,0,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,0,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,0,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,0,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,0,0x2000,1,0); /* BOOT ROM */ - - /* Data memory map */ - GEL_MapAdd(0x000,1,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,1,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x800,1,0x1800,1,1); /* PF0 */ - GEL_MapAdd(0x4000,1,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x5000,1,0x1000,1,1); /* PF3 */ - GEL_MapAdd(0x6000,1,0x1000,1,1); /* PF1 */ - GEL_MapAddStr(0x7000,1,0x1000,"R|W|AS2",0); /* PF2 */ - GEL_MapAdd(0x8000,1,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,1,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,1,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,1,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,1,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,1,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0xE000,1,0x1000,1,1); /* L6 SARAM */ - GEL_MapAdd(0xF000,1,0x1000,1,1); /* L7 SARAM */ - GEL_MapAdd(0x100000,1,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,1,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x320000,1,0x20000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,1,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,1,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,1,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,1,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,1,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,1,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,1,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,1,0x2000,1,0); /* BOOT ROM */ -} - - -/********************************************************************/ -/* The ESTOP0 fill functions are useful for debug. They fill the */ -/* RAM with software breakpoints that will trap runaway code. */ -/********************************************************************/ -hotmenu Fill_F28334_RAM_with_ESTOP0() -{ - GEL_MemoryFill(0x000000,1,0x000800,0x7625); /* Fill M0/M1 */ - GEL_MemoryFill(0x008000,1,0x002000,0x7625); /* Fill L0/L1 */ - GEL_MemoryFill(0x00A000,1,0x002000,0x7625); /* Fill L2/L3 */ - GEL_MemoryFill(0x00C000,1,0x002000,0x7625); /* Fill L4/L5 */ - GEL_MemoryFill(0x00E000,1,0x002000,0x7625); /* Fill L6/L7 */ -} - - -/********************************************************************/ -menuitem "Watchdog"; -hotmenu Disable_WD() -{ - *0x7029 = *0x7029 | 0x0068; /* Set the WDDIS bit */ - *0x7025 = 0x0055; /* Service the WD */ - *0x7025 = 0x00AA; /* once to be safe. */ - GEL_TextOut("\nWatchdog Timer Disabled"); -} - - -/********************************************************************/ -menuitem "Code Security Module" -hotmenu Unlock_CSM() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - /* Write passwords to the KEY registers. 0xFFFF's are dummy passwords. - User should replace them with the correct password for their DSP */ - *0xAE0 = 0xFFFF; - *0xAE1 = 0xFFFF; - *0xAE2 = 0xFFFF; - *0xAE3 = 0xFFFF; - *0xAE4 = 0xFFFF; - *0xAE5 = 0xFFFF; - *0xAE6 = 0xFFFF; - *0xAE7 = 0xFFFF; -} - - -/********************************************************************/ -menuitem "Addressing Modes"; -hotmenu C28x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C24x_Mode() -{ - ST1 = ST1 | 0x0100; /* AMODE = 1 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C27x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 & (~0x0200); /* OBJMODE = 0 */ -} - - -/********************************************************************/ -/* PLL Ratios */ -/* */ -/* The following table describes the PLL clocking ratios (0..10) */ -/* */ -/* Ratio CLKIN Description */ -/* ----- -------------- ------------ */ -/* 0 OSCCLK/2 PLL bypassed */ -/* 1 (OSCCLK * 1)/2 15 Mhz for 30 Mhz CLKIN */ -/* 2 (OSCCLK * 2)/2 30 Mhz for 30 Mhz CLKIN */ -/* 3 (OSCCLK * 3)/2 45 Mhz for 30 Mhz CLKIN */ -/* 4 (OSCCLK * 4)/2 60 Mhz for 30 Mhz CLKIN */ -/* 5 (OSCCLK * 5)/2 75 Mhz for 30 Mhz CLKIN */ -/* 6 (OSCCLK * 6)/2 90 Mhz for 30 Mhz CLKIN */ -/* 7 (OSCCLK * 7)/2 105 Mhz for 30 Mhz CLKIN */ -/* 8 (OSCCLK * 8)/2 120 Mhz for 30 Mhz CLKIN */ -/* 9 (OSCCLK * 9)/2 135 Mhz for 30 Mhz CLKIN */ -/* 10 (OSCCLK * 10)/2 150 Mhz for 30 Mhz CLKIN */ -/********************************************************************/ -menuitem "Set PLL Ratio"; - -hotmenu Bypass() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 0; /* CLKIN = OSCCLK/2, PLL is bypassed */ - PLL_Wait(); -} -hotmenu OSCCLK_x1_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x2_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x3_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x4_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x5_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x6_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x7_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x8_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x9_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x10_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/2 */ - PLL_Wait(); -} -// hotmenu OSCCLK_x1_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x2_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x3_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x4_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x5_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x6_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x7_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x8_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x9_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x10_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/1 */ -// PLL_Wait(); -// } - - - -/********************************************************************/ -/* For F2833x devices, DIVSEL is 1/4 by default. Switch it to 1/2 */ -/********************************************************************/ - -DIVSEL_div2() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - temp = *PLLSTS; - temp &= 0xFE7F; /* Clear bits 7 & 8 */ - temp |= 2 << 7; /* Set bit 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - - - -/********************************************************************/ -/* For F2833x devices, DIVSEL is 1/4 by default. Switch it to /1 */ -/********************************************************************/ - -DIVSEL_div1() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - DIVSEL_div2(); /* First switch DIVSEL to 1/2 and wait */ - wait(); - temp = *PLLSTS; - temp |= 3 << 7; /* Set bits 7 & 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - -wait() -{ - int delay = 0; - for (delay = 0; delay <= 5; delay ++) - {} -} - -/********************************************************************/ -/* For F2833x devices, check the PLLOCKS bit for PLL lock. */ -/********************************************************************/ -PLL_Wait() -{ - int PLLSTS; - int delay = 0; - - PLLSTS = 0x7011; - - - while ( ( (unsigned int)*PLLSTS & 0x0001) != 0x0001) - { - delay++; - GEL_TextOut("Waiting for PLL Lock, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); - } - GEL_TextOut("\nPLL lock complete, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); -} - -/********************************************************************/ -/* Load the ADC Calibration values from TI OTP */ -/********************************************************************/ -menuitem "ADC Calibration" -hotmenu ADC_Cal() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - if(((*0x0AEF) & 0x0001) == 0) - { - XAR0 = *0x701C; - *0x701C |= 0x0008; - *0x711C = *0x380083; - *0x711D = *0x380085; - *0x701C = XAR0; - XAR0 = 0; - } - else - { - GEL_TextOut("\nADC Calibration not complete, device is secure"); - } -} - -/********************************************************************/ -/* Enable the XINTF and configure GPIOs for XINTF function */ -/********************************************************************/ -menuitem "XINTF Enable" -hotmenu XINTF_Enable() -{ - - /* enable XINTF clock (XTIMCLK) */ - - *0x7020 = 0x3700; - /* GPBMUX1: XA0-XA7, XA16, XZCS0, */ - /* XZCS7, XREADY, XRNW, XWE0 */ - /* GPAMUX2: XA17-XA19, XZCS6 */ - /* GPCMUX2: XA8-XA15 */ - /* GPCMUX1: XD0-XD15 */ - *(unsigned long *)0x6F96 = 0xFFFFFFC0; /* GPBMUX1 */ - *(unsigned long *)0x6f88 = 0xFF000000; /* GPAMUX2 */ - *(unsigned long *)0x6FA8 = 0x0000AAAA; /* GPCMUX2 */ - *(unsigned long *)0x6FA6 = 0xAAAAAAAA; /* GPCMUX1 */ - - /* Uncomment for x32 data bus */ - /* GPBMUX2: XD16-XD31 */ -// *(unsigned long *)0x6F98 = 0xFFFFFFFF; /* GPBMUX2 */ - - /* Zone timing. - /* Each zone can be configured seperately */ - /* Uncomment the x16 or the x32 timing */ - /* depending on the data bus width for */ - /* the zone */ - - /* x16 Timing */ - *(unsigned long *)0x0B20 = 0x0043FFFF; /* Zone0 */ - *(unsigned long *)0x0B2C = 0x0043FFFF; /* Zone6 */ - *(unsigned long *)0x0B2E = 0x0043FFFF; /* Zone7 */ - - /* x32 Timing: -// *(unsigned long *)0x0B20 = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2C = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2E = 0x0041FFFF; /* x32 */ - -} - -/********************************************************************/ -/* The below are used to display the symbolic names of the F28334 */ -/* memory mapped registers in the watch window. To view these */ -/* registers, click on the GEL menu button in Code Composer Studio, */ -/* then select which registers or groups of registers you want to */ -/* view. They will appear in the watch window under the Watch1 tab. */ -/********************************************************************/ - -/* Add a space line to the GEL menu */ -menuitem "______________________________________"; -hotmenu __() {} - -/********************************************************************/ -/* A/D Converter Registers */ -/********************************************************************/ -menuitem "Watch ADC Registers"; - -hotmenu All_ADC_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); - - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} -hotmenu ADC_Control_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); -} -hotmenu ADCCHSELSEQx_Regs() -{ - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); -} -hotmenu ADCRESULT_0_to_7() -{ - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); -} -hotmenu ADCRESULT_8_to_15() -{ - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); -} -hotmenu ADCRESULT_Mirror_0_to_7() -{ - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); -} -hotmenu ADCRESULT_Mirror_8_to_15() -{ - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} - - -/********************************************************************/ -/* Clocking and Low-Power Registers */ -/********************************************************************/ -menuitem "Watch Clocking and Low-Power Registers"; - -hotmenu All_Clocking_and_Low_Power_Regs() -{ - GEL_WatchAdd("*0x7010,x","XCLK"); - GEL_WatchAdd("*0x7011,x","PLLSTS"); - GEL_WatchAdd("*0x701A,x","HISPCP"); - GEL_WatchAdd("*0x701B,x","LOSPCP"); - GEL_WatchAdd("*0x701C,x","PCLKCR0"); - GEL_WatchAdd("*0x701D,x","PCLKCR1"); - GEL_WatchAdd("*0x701E,x","LPMCR0"); - GEL_WatchAdd("*0x7020,x","PCLKCR3"); - GEL_WatchAdd("*0x7021,x","PLLCR"); -} - -/********************************************************************/ -/* Code Security Module Registers */ -/********************************************************************/ -menuitem "Watch Code Security Module Registers"; - -hotmenu CSMSCR() -{ - GEL_WatchAdd("*0x0AEF,x","CSMSCR"); - GEL_WatchAdd("(*0x0AEF>>15)&1,d"," FORCESEC bit"); - GEL_WatchAdd("(*0x0AEF)&1,d"," SECURE bit"); -} -hotmenu PWL_Locations() -{ - GEL_WatchAdd("*0x33FFF8,x","PWL0"); - GEL_WatchAdd("*0x33FFF9,x","PWL1"); - GEL_WatchAdd("*0x33FFFA,x","PWL2"); - GEL_WatchAdd("*0x33FFFB,x","PWL3"); - GEL_WatchAdd("*0x33FFFC,x","PWL4"); - GEL_WatchAdd("*0x33FFFD,x","PWL5"); - GEL_WatchAdd("*0x33FFFE,x","PWL6"); - GEL_WatchAdd("*0x33FFFF,x","PWL7"); -} - - -/********************************************************************/ -/* CPU Timer Registers */ -/********************************************************************/ -menuitem "Watch CPU Timer Registers"; - -hotmenu All_CPU_Timer0_Regs() -{ - GEL_WatchAdd("*0x0C00,x","TIMER0TIM"); - GEL_WatchAdd("*0x0C01,x","TIMER0TIMH"); - GEL_WatchAdd("*0x0C02,x","TIMER0PRD"); - GEL_WatchAdd("*0x0C03,x","TIMER0PRDH"); - GEL_WatchAdd("*0x0C04,x","TIMER0TCR"); - GEL_WatchAdd("*0x0C06,x","TIMER0TPR"); - GEL_WatchAdd("*0x0C07,x","TIMER0TPRH"); -} -hotmenu All_CPU_Timer1_Regs() -{ - GEL_WatchAdd("*0x0C08,x","TIMER1TIM"); - GEL_WatchAdd("*0x0C09,x","TIMER1TIMH"); - GEL_WatchAdd("*0x0C0A,x","TIMER1PRD"); - GEL_WatchAdd("*0x0C0B,x","TIMER1PRDH"); - GEL_WatchAdd("*0x0C0C,x","TIMER1TCR"); - GEL_WatchAdd("*0x0C0E,x","TIMER1TPR"); - GEL_WatchAdd("*0x0C0F,x","TIMER1TPRH"); -} -hotmenu All_CPU_Timer2_Regs() -{ - GEL_WatchAdd("*0x0C10,x","TIMER2TIM"); - GEL_WatchAdd("*0x0C11,x","TIMER2TIMH"); - GEL_WatchAdd("*0x0C12,x","TIMER2PRD"); - GEL_WatchAdd("*0x0C13,x","TIMER2PRDH"); - GEL_WatchAdd("*0x0C14,x","TIMER2TCR"); - GEL_WatchAdd("*0x0C16,x","TIMER2TPR"); - GEL_WatchAdd("*0x0C17,x","TIMER2TPRH"); -} - - -/********************************************************************/ -/* Device Emulation Registers */ -/********************************************************************/ -menuitem "Watch Device Emulation Registers"; - -hotmenu All_Emulation_Regs() -{ - GEL_WatchAdd("*(long *)0x0880,x","DEVICECNF"); - GEL_WatchAdd("*0x0882,x","CLASSID"); - GEL_WatchAdd("*0x0883,x","REVID"); - GEL_WatchAdd("*0x0884,x","PROTSTART"); - GEL_WatchAdd("*0x0885,x","PROTRANGE"); - GEL_WatchAdd("*0x380090,x","PARTID"); -} - -/********************************************************************/ -/* DMA Registers */ -/********************************************************************/ -menuitem "Watch DMA Registers"; - -hotmenu All_DMA_Regs() -{ - GEL_WatchAdd("*0x1000,x","DMACTRL"); - GEL_WatchAdd("*0x1001,x","DEBUGCTRL"); - GEL_WatchAdd("*0x1002,x","REVISION"); - GEL_WatchAdd("*0x1004,x","PRIORITYCTRL1"); - GEL_WatchAdd("*0x1006,x","PRIORITYSTAT"); - - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); - - -} -hotmenu DMA_Channel_1_regs() -{ - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); -} - -hotmenu DMA_Channel_2_regs() -{ - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_3_regs() -{ - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_4_regs() -{ - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_5_regs() -{ - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_6_regs() -{ - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); -} - -/********************************************************************/ -/* eCAN Registers */ -/********************************************************************/ -menuitem "Watch eCAN Registers"; - -hotmenu eCAN_A_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6000,x","eCANA CANME"); - GEL_WatchAdd("*(long *)0x6002,x","eCANA CANMD"); - GEL_WatchAdd("*(long *)0x6004,x","eCANA CANTRS"); - GEL_WatchAdd("*(long *)0x6006,x","eCANA CANTRR"); - GEL_WatchAdd("*(long *)0x6008,x","eCANA CANTA"); - GEL_WatchAdd("*(long *)0x600A,x","eCANA CANAA"); - GEL_WatchAdd("*(long *)0x600C,x","eCANA CANRMP"); - GEL_WatchAdd("*(long *)0x600E,x","eCANA CANRML"); - GEL_WatchAdd("*(long *)0x6010,x","eCANA CANRFP"); - GEL_WatchAdd("*(long *)0x6014,x","eCANA CANMC"); - GEL_WatchAdd("*(long *)0x6016,x","eCANA CANBTC"); - GEL_WatchAdd("*(long *)0x6018,x","eCANA CANES"); - GEL_WatchAdd("*(long *)0x601A,x","eCANA CANTEC"); - GEL_WatchAdd("*(long *)0x601C,x","eCANA CANREC"); - GEL_WatchAdd("*(long *)0x601E,x","eCANA CANGIF0"); - GEL_WatchAdd("*(long *)0x6020,x","eCANA CANGIM"); - GEL_WatchAdd("*(long *)0x6022,x","eCANA CANGIF1"); - GEL_WatchAdd("*(long *)0x6024,x","eCANA CANMIM"); - GEL_WatchAdd("*(long *)0x6026,x","eCANA CANMIL"); - GEL_WatchAdd("*(long *)0x6028,x","eCANA CANOPC"); - GEL_WatchAdd("*(long *)0x602A,x","eCANA CANTIOC"); - GEL_WatchAdd("*(long *)0x602C,x","eCANA CANRIOC"); - GEL_WatchAdd("*(long *)0x602E,x","eCANA CANLNT"); - GEL_WatchAdd("*(long *)0x6030,x","eCANA CANTOC"); - GEL_WatchAdd("*(long *)0x6032,x","eCANA CANTOS"); -} -hotmenu eCAN_A_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6040,x","eCANA LAM0"); - GEL_WatchAdd("*(long *)0x6080,x","eCANA MOTS0"); - GEL_WatchAdd("*(long *)0x60C0,x","eCANA MOTO0"); - GEL_WatchAdd("*(long *)0x6100,x","eCANA MID0"); - GEL_WatchAdd("*(long *)0x6102,x","eCANA MCF0"); - GEL_WatchAdd("*(long *)0x6104,x","eCANA MDL0"); - GEL_WatchAdd("*(long *)0x6106,x","eCANA MDH0"); - - GEL_WatchAdd("*(long *)0x6042,x","eCANA LAM1"); - GEL_WatchAdd("*(long *)0x6082,x","eCANA MOTS1"); - GEL_WatchAdd("*(long *)0x60C2,x","eCANA MOTO1"); - GEL_WatchAdd("*(long *)0x6108,x","eCANA MID1"); - GEL_WatchAdd("*(long *)0x610A,x","eCANA MCF1"); - GEL_WatchAdd("*(long *)0x610C,x","eCANA MDL1"); - GEL_WatchAdd("*(long *)0x610E,x","eCANA MDH1"); -} -hotmenu eCAN_A_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6044,x","eCANA LAM2"); - GEL_WatchAdd("*(long *)0x6084,x","eCANA MOTS2"); - GEL_WatchAdd("*(long *)0x60C4,x","eCANA MOTO2"); - GEL_WatchAdd("*(long *)0x6110,x","eCANA MID2"); - GEL_WatchAdd("*(long *)0x6112,x","eCANA MCF2"); - GEL_WatchAdd("*(long *)0x6114,x","eCANA MDL2"); - GEL_WatchAdd("*(long *)0x6116,x","eCANA MDH2"); - - GEL_WatchAdd("*(long *)0x6046,x","eCANA LAM3"); - GEL_WatchAdd("*(long *)0x6086,x","eCANA MOTS3"); - GEL_WatchAdd("*(long *)0x60C6,x","eCANA MOTO3"); - GEL_WatchAdd("*(long *)0x6118,x","eCANA MID3"); - GEL_WatchAdd("*(long *)0x611A,x","eCANA MCF3"); - GEL_WatchAdd("*(long *)0x611C,x","eCANA MDL3"); - GEL_WatchAdd("*(long *)0x611E,x","eCANA MDH3"); -} -hotmenu eCAN_A_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6048,x","eCANA LAM4"); - GEL_WatchAdd("*(long *)0x6088,x","eCANA MOTS4"); - GEL_WatchAdd("*(long *)0x60C8,x","eCANA MOTO4"); - GEL_WatchAdd("*(long *)0x6120,x","eCANA MID4"); - GEL_WatchAdd("*(long *)0x6122,x","eCANA MCF4"); - GEL_WatchAdd("*(long *)0x6124,x","eCANA MDL4"); - GEL_WatchAdd("*(long *)0x6126,x","eCANA MDH4"); - - GEL_WatchAdd("*(long *)0x604A,x","eCANA LAM5"); - GEL_WatchAdd("*(long *)0x608A,x","eCANA MOTS5"); - GEL_WatchAdd("*(long *)0x60CA,x","eCANA MOTO5"); - GEL_WatchAdd("*(long *)0x6128,x","eCANA MID5"); - GEL_WatchAdd("*(long *)0x612A,x","eCANA MCF5"); - GEL_WatchAdd("*(long *)0x612C,x","eCANA MDL5"); - GEL_WatchAdd("*(long *)0x612E,x","eCANA MDH5"); -} -hotmenu eCAN_A_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x604C,x","eCANA LAM6"); - GEL_WatchAdd("*(long *)0x608C,x","eCANA MOTS6"); - GEL_WatchAdd("*(long *)0x60CC,x","eCANA MOTO6"); - GEL_WatchAdd("*(long *)0x6130,x","eCANA MID6"); - GEL_WatchAdd("*(long *)0x6132,x","eCANA MCF6"); - GEL_WatchAdd("*(long *)0x6134,x","eCANA MDL6"); - GEL_WatchAdd("*(long *)0x6136,x","eCANA MDH6"); - - GEL_WatchAdd("*(long *)0x604E,x","eCANA LAM7"); - GEL_WatchAdd("*(long *)0x608E,x","eCANA MOTS7"); - GEL_WatchAdd("*(long *)0x60CE,x","eCANA MOTO7"); - GEL_WatchAdd("*(long *)0x6138,x","eCANA MID7"); - GEL_WatchAdd("*(long *)0x613A,x","eCANA MCF7"); - GEL_WatchAdd("*(long *)0x613C,x","eCANA MDL7"); - GEL_WatchAdd("*(long *)0x613E,x","eCANA MDH7"); -} -hotmenu eCAN_A_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6050,x","eCANA LAM8"); - GEL_WatchAdd("*(long *)0x6090,x","eCANA MOTS8"); - GEL_WatchAdd("*(long *)0x60D0,x","eCANA MOTO8"); - GEL_WatchAdd("*(long *)0x6140,x","eCANA MID8"); - GEL_WatchAdd("*(long *)0x6142,x","eCANA MCF8"); - GEL_WatchAdd("*(long *)0x6144,x","eCANA MDL8"); - GEL_WatchAdd("*(long *)0x6146,x","eCANA MDH8"); - - GEL_WatchAdd("*(long *)0x6052,x","eCANA LAM9"); - GEL_WatchAdd("*(long *)0x6092,x","eCANA MOTS9"); - GEL_WatchAdd("*(long *)0x60D2,x","eCANA MOTO9"); - GEL_WatchAdd("*(long *)0x6148,x","eCANA MID9"); - GEL_WatchAdd("*(long *)0x614A,x","eCANA MCF9"); - GEL_WatchAdd("*(long *)0x614C,x","eCANA MDL9"); - GEL_WatchAdd("*(long *)0x614E,x","eCANA MDH9"); -} -hotmenu eCAN_A_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6054,x","eCANA LAM10"); - GEL_WatchAdd("*(long *)0x6094,x","eCANA MOTS10"); - GEL_WatchAdd("*(long *)0x60D4,x","eCANA MOTO10"); - GEL_WatchAdd("*(long *)0x6150,x","eCANA MID10"); - GEL_WatchAdd("*(long *)0x6152,x","eCANA MCF10"); - GEL_WatchAdd("*(long *)0x6154,x","eCANA MDL10"); - GEL_WatchAdd("*(long *)0x6156,x","eCANA MDH10"); - - GEL_WatchAdd("*(long *)0x6056,x","eCANA LAM11"); - GEL_WatchAdd("*(long *)0x6096,x","eCANA MOTS11"); - GEL_WatchAdd("*(long *)0x60D6,x","eCANA MOTO11"); - GEL_WatchAdd("*(long *)0x6158,x","eCANA MID11"); - GEL_WatchAdd("*(long *)0x615A,x","eCANA MCF11"); - GEL_WatchAdd("*(long *)0x615C,x","eCANA MDL11"); - GEL_WatchAdd("*(long *)0x615E,x","eCANA MDH11"); -} -hotmenu eCAN_A_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6058,x","eCANA LAM12"); - GEL_WatchAdd("*(long *)0x6098,x","eCANA MOTS12"); - GEL_WatchAdd("*(long *)0x60D8,x","eCANA MOTO12"); - GEL_WatchAdd("*(long *)0x6160,x","eCANA MID12"); - GEL_WatchAdd("*(long *)0x6162,x","eCANA MCF12"); - GEL_WatchAdd("*(long *)0x6164,x","eCANA MDL12"); - GEL_WatchAdd("*(long *)0x6166,x","eCANA MDH12"); - - GEL_WatchAdd("*(long *)0x605A,x","eCANA LAM13"); - GEL_WatchAdd("*(long *)0x609A,x","eCANA MOTS13"); - GEL_WatchAdd("*(long *)0x60DA,x","eCANA MOTO13"); - GEL_WatchAdd("*(long *)0x6168,x","eCANA MID13"); - GEL_WatchAdd("*(long *)0x616A,x","eCANA MCF13"); - GEL_WatchAdd("*(long *)0x616C,x","eCANA MDL13"); - GEL_WatchAdd("*(long *)0x616E,x","eCANA MDH13"); -} -hotmenu eCAN_A_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x605C,x","eCANA LAM14"); - GEL_WatchAdd("*(long *)0x609C,x","eCANA MOTS14"); - GEL_WatchAdd("*(long *)0x60DC,x","eCANA MOTO14"); - GEL_WatchAdd("*(long *)0x6170,x","eCANA MID14"); - GEL_WatchAdd("*(long *)0x6172,x","eCANA MCF14"); - GEL_WatchAdd("*(long *)0x6174,x","eCANA MDL14"); - GEL_WatchAdd("*(long *)0x6176,x","eCANA MDH14"); - - GEL_WatchAdd("*(long *)0x605E,x","eCANA LAM15"); - GEL_WatchAdd("*(long *)0x609E,x","eCANA MOTS15"); - GEL_WatchAdd("*(long *)0x60DE,x","eCANA MOTO15"); - GEL_WatchAdd("*(long *)0x6178,x","eCANA MID15"); - GEL_WatchAdd("*(long *)0x617A,x","eCANA MCF15"); - GEL_WatchAdd("*(long *)0x617C,x","eCANA MDL15"); - GEL_WatchAdd("*(long *)0x617E,x","eCANA MDH15"); -} -hotmenu eCAN_A_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6060,x","eCANA LAM16"); - GEL_WatchAdd("*(long *)0x60A0,x","eCANA MOTS16"); - GEL_WatchAdd("*(long *)0x60E0,x","eCANA MOTO16"); - GEL_WatchAdd("*(long *)0x6180,x","eCANA MID16"); - GEL_WatchAdd("*(long *)0x6182,x","eCANA MCF16"); - GEL_WatchAdd("*(long *)0x6184,x","eCANA MDL16"); - GEL_WatchAdd("*(long *)0x6186,x","eCANA MDH16"); - - GEL_WatchAdd("*(long *)0x6062,x","eCANA LAM17"); - GEL_WatchAdd("*(long *)0x60A2,x","eCANA MOTS17"); - GEL_WatchAdd("*(long *)0x60E2,x","eCANA MOTO17"); - GEL_WatchAdd("*(long *)0x6188,x","eCANA MID17"); - GEL_WatchAdd("*(long *)0x618A,x","eCANA MCF17"); - GEL_WatchAdd("*(long *)0x618C,x","eCANA MDL17"); - GEL_WatchAdd("*(long *)0x618E,x","eCANA MDH17"); -} -hotmenu eCAN_A_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6064,x","eCANA LAM18"); - GEL_WatchAdd("*(long *)0x60A4,x","eCANA MOTS18"); - GEL_WatchAdd("*(long *)0x60E4,x","eCANA MOTO18"); - GEL_WatchAdd("*(long *)0x6190,x","eCANA MID18"); - GEL_WatchAdd("*(long *)0x6192,x","eCANA MCF18"); - GEL_WatchAdd("*(long *)0x6194,x","eCANA MDL18"); - GEL_WatchAdd("*(long *)0x6196,x","eCANA MDH18"); - - GEL_WatchAdd("*(long *)0x6066,x","eCANA LAM19"); - GEL_WatchAdd("*(long *)0x60A6,x","eCANA MOTS19"); - GEL_WatchAdd("*(long *)0x60E6,x","eCANA MOTO19"); - GEL_WatchAdd("*(long *)0x6198,x","eCANA MID19"); - GEL_WatchAdd("*(long *)0x619A,x","eCANA MCF19"); - GEL_WatchAdd("*(long *)0x619C,x","eCANA MDL19"); - GEL_WatchAdd("*(long *)0x619E,x","eCANA MDH19"); -} -hotmenu eCAN_A_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6068,x","eCANA LAM20"); - GEL_WatchAdd("*(long *)0x60A8,x","eCANA MOTS20"); - GEL_WatchAdd("*(long *)0x60E8,x","eCANA MOTO20"); - GEL_WatchAdd("*(long *)0x61A0,x","eCANA MID20"); - GEL_WatchAdd("*(long *)0x61A2,x","eCANA MCF20"); - GEL_WatchAdd("*(long *)0x61A4,x","eCANA MDL20"); - GEL_WatchAdd("*(long *)0x61A6,x","eCANA MDH20"); - - GEL_WatchAdd("*(long *)0x606A,x","eCANA LAM21"); - GEL_WatchAdd("*(long *)0x60AA,x","eCANA MOTS21"); - GEL_WatchAdd("*(long *)0x60EA,x","eCANA MOTO21"); - GEL_WatchAdd("*(long *)0x61A8,x","eCANA MID21"); - GEL_WatchAdd("*(long *)0x61AA,x","eCANA MCF21"); - GEL_WatchAdd("*(long *)0x61AC,x","eCANA MDL21"); - GEL_WatchAdd("*(long *)0x61AE,x","eCANA MDH21"); -} -hotmenu eCAN_A_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x606C,x","eCANA LAM22"); - GEL_WatchAdd("*(long *)0x60AC,x","eCANA MOTS22"); - GEL_WatchAdd("*(long *)0x60EC,x","eCANA MOTO22"); - GEL_WatchAdd("*(long *)0x61B0,x","eCANA MID22"); - GEL_WatchAdd("*(long *)0x61B2,x","eCANA MCF22"); - GEL_WatchAdd("*(long *)0x61B4,x","eCANA MDL22"); - GEL_WatchAdd("*(long *)0x61B6,x","eCANA MDH22"); - - GEL_WatchAdd("*(long *)0x606E,x","eCANA LAM23"); - GEL_WatchAdd("*(long *)0x60AE,x","eCANA MOTS23"); - GEL_WatchAdd("*(long *)0x60EE,x","eCANA MOTO23"); - GEL_WatchAdd("*(long *)0x61B8,x","eCANA MID23"); - GEL_WatchAdd("*(long *)0x61BA,x","eCANA MCF23"); - GEL_WatchAdd("*(long *)0x61BC,x","eCANA MDL23"); - GEL_WatchAdd("*(long *)0x61BE,x","eCANA MDH23"); -} -hotmenu eCAN_A_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6070,x","eCANA LAM24"); - GEL_WatchAdd("*(long *)0x60B0,x","eCANA MOTS24"); - GEL_WatchAdd("*(long *)0x60F0,x","eCANA MOTO24"); - GEL_WatchAdd("*(long *)0x61C0,x","eCANA MID24"); - GEL_WatchAdd("*(long *)0x61C2,x","eCANA MCF24"); - GEL_WatchAdd("*(long *)0x61C4,x","eCANA MDL24"); - GEL_WatchAdd("*(long *)0x61C6,x","eCANA MDH24"); - - GEL_WatchAdd("*(long *)0x6072,x","eCANA LAM25"); - GEL_WatchAdd("*(long *)0x60B2,x","eCANA MOTS25"); - GEL_WatchAdd("*(long *)0x60F2,x","eCANA MOTO25"); - GEL_WatchAdd("*(long *)0x61C8,x","eCANA MID25"); - GEL_WatchAdd("*(long *)0x61CA,x","eCANA MCF25"); - GEL_WatchAdd("*(long *)0x61CC,x","eCANA MDL25"); - GEL_WatchAdd("*(long *)0x61CE,x","eCANA MDH25"); -} -hotmenu eCAN_A_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6074,x","eCANA LAM26"); - GEL_WatchAdd("*(long *)0x60B4,x","eCANA MOTS26"); - GEL_WatchAdd("*(long *)0x60F4,x","eCANA MOTO26"); - GEL_WatchAdd("*(long *)0x61D0,x","eCANA MID26"); - GEL_WatchAdd("*(long *)0x61D2,x","eCANA MCF26"); - GEL_WatchAdd("*(long *)0x61D4,x","eCANA MDL26"); - GEL_WatchAdd("*(long *)0x61D6,x","eCANA MDH26"); - - GEL_WatchAdd("*(long *)0x6076,x","eCANA LAM27"); - GEL_WatchAdd("*(long *)0x60B6,x","eCANA MOTS27"); - GEL_WatchAdd("*(long *)0x60F6,x","eCANA MOTO27"); - GEL_WatchAdd("*(long *)0x61D8,x","eCANA MID27"); - GEL_WatchAdd("*(long *)0x61DA,x","eCANA MCF27"); - GEL_WatchAdd("*(long *)0x61DC,x","eCANA MDL27"); - GEL_WatchAdd("*(long *)0x61DE,x","eCANA MDH27"); -} -hotmenu eCAN_A_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6078,x","eCANA LAM28"); - GEL_WatchAdd("*(long *)0x60B8,x","eCANA MOTS28"); - GEL_WatchAdd("*(long *)0x60F8,x","eCANA MOTO28"); - GEL_WatchAdd("*(long *)0x61E0,x","eCANA MID28"); - GEL_WatchAdd("*(long *)0x61E2,x","eCANA MCF28"); - GEL_WatchAdd("*(long *)0x61E4,x","eCANA MDL28"); - GEL_WatchAdd("*(long *)0x61E6,x","eCANA MDH28"); - - GEL_WatchAdd("*(long *)0x607A,x","eCANA LAM29"); - GEL_WatchAdd("*(long *)0x60BA,x","eCANA MOTS29"); - GEL_WatchAdd("*(long *)0x60FA,x","eCANA MOTO29"); - GEL_WatchAdd("*(long *)0x61E8,x","eCANA MID29"); - GEL_WatchAdd("*(long *)0x61EA,x","eCANA MCF29"); - GEL_WatchAdd("*(long *)0x61EC,x","eCANA MDL29"); - GEL_WatchAdd("*(long *)0x61EE,x","eCANA MDH29"); -} -hotmenu eCAN_A_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x607C,x","eCANA LAM30"); - GEL_WatchAdd("*(long *)0x60BC,x","eCANA MOTS30"); - GEL_WatchAdd("*(long *)0x60FC,x","eCANA MOTO30"); - GEL_WatchAdd("*(long *)0x61F0,x","eCANA MID30"); - GEL_WatchAdd("*(long *)0x61F2,x","eCANA MCF30"); - GEL_WatchAdd("*(long *)0x61F4,x","eCANA MDL30"); - GEL_WatchAdd("*(long *)0x61F6,x","eCANA MDH30"); - - GEL_WatchAdd("*(long *)0x607E,x","eCANA LAM31"); - GEL_WatchAdd("*(long *)0x60BE,x","eCANA MOTS31"); - GEL_WatchAdd("*(long *)0x60FE,x","eCANA MOTO31"); - GEL_WatchAdd("*(long *)0x61F8,x","eCANA MID31"); - GEL_WatchAdd("*(long *)0x61FA,x","eCANA MCF31"); - GEL_WatchAdd("*(long *)0x61FC,x","eCANA MDL31"); - GEL_WatchAdd("*(long *)0x61FE,x","eCANA MDH31"); -} -hotmenu eCAN_B_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6200,x","eCANB CANME"); - GEL_WatchAdd("*(long *)0x6202,x","eCANB CANMD"); - GEL_WatchAdd("*(long *)0x6204,x","eCANB CANTRS"); - GEL_WatchAdd("*(long *)0x6206,x","eCANB CANTRR"); - GEL_WatchAdd("*(long *)0x6208,x","eCANB CANTA"); - GEL_WatchAdd("*(long *)0x620A,x","eCANB CANAA"); - GEL_WatchAdd("*(long *)0x620C,x","eCANB CANRMP"); - GEL_WatchAdd("*(long *)0x620E,x","eCANB CANRML"); - GEL_WatchAdd("*(long *)0x6210,x","eCANB CANRFP"); - GEL_WatchAdd("*(long *)0x6214,x","eCANB CANMC"); - GEL_WatchAdd("*(long *)0x6216,x","eCANB CANBTC"); - GEL_WatchAdd("*(long *)0x6218,x","eCANB CANES"); - GEL_WatchAdd("*(long *)0x621A,x","eCANB CANTEC"); - GEL_WatchAdd("*(long *)0x621C,x","eCANB CANREC"); - GEL_WatchAdd("*(long *)0x621E,x","eCANB CANGIF0"); - GEL_WatchAdd("*(long *)0x6220,x","eCANB CANGIM"); - GEL_WatchAdd("*(long *)0x6222,x","eCANB CANGIF1"); - GEL_WatchAdd("*(long *)0x6224,x","eCANB CANMIM"); - GEL_WatchAdd("*(long *)0x6226,x","eCANB CANMIL"); - GEL_WatchAdd("*(long *)0x6228,x","eCANB CANOPC"); - GEL_WatchAdd("*(long *)0x622A,x","eCANB CANTIOC"); - GEL_WatchAdd("*(long *)0x622C,x","eCANB CANRIOC"); - GEL_WatchAdd("*(long *)0x622E,x","eCANB CANLNT"); - GEL_WatchAdd("*(long *)0x6230,x","eCANB CANTOC"); - GEL_WatchAdd("*(long *)0x6232,x","eCANB CANTOS"); -} -hotmenu eCAN_B_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6240,x","eCANB LAM0"); - GEL_WatchAdd("*(long *)0x6280,x","eCANB MOTS0"); - GEL_WatchAdd("*(long *)0x62C0,x","eCANB MOTO0"); - GEL_WatchAdd("*(long *)0x6300,x","eCANB MID0"); - GEL_WatchAdd("*(long *)0x6302,x","eCANB MCF0"); - GEL_WatchAdd("*(long *)0x6304,x","eCANB MDL0"); - GEL_WatchAdd("*(long *)0x6306,x","eCANB MDH0"); - - GEL_WatchAdd("*(long *)0x6242,x","eCANB LAM1"); - GEL_WatchAdd("*(long *)0x6282,x","eCANB MOTS1"); - GEL_WatchAdd("*(long *)0x62C2,x","eCANB MOTO1"); - GEL_WatchAdd("*(long *)0x6308,x","eCANB MID1"); - GEL_WatchAdd("*(long *)0x630A,x","eCANB MCF1"); - GEL_WatchAdd("*(long *)0x630C,x","eCANB MDL1"); - GEL_WatchAdd("*(long *)0x630E,x","eCANB MDH1"); -} -hotmenu eCAN_B_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6244,x","eCANB LAM2"); - GEL_WatchAdd("*(long *)0x6284,x","eCANB MOTS2"); - GEL_WatchAdd("*(long *)0x62C4,x","eCANB MOTO2"); - GEL_WatchAdd("*(long *)0x6310,x","eCANB MID2"); - GEL_WatchAdd("*(long *)0x6312,x","eCANB MCF2"); - GEL_WatchAdd("*(long *)0x6314,x","eCANB MDL2"); - GEL_WatchAdd("*(long *)0x6316,x","eCANB MDH2"); - - GEL_WatchAdd("*(long *)0x6246,x","eCANB LAM3"); - GEL_WatchAdd("*(long *)0x6286,x","eCANB MOTS3"); - GEL_WatchAdd("*(long *)0x62C6,x","eCANB MOTO3"); - GEL_WatchAdd("*(long *)0x6318,x","eCANB MID3"); - GEL_WatchAdd("*(long *)0x631A,x","eCANB MCF3"); - GEL_WatchAdd("*(long *)0x631C,x","eCANB MDL3"); - GEL_WatchAdd("*(long *)0x631E,x","eCANB MDH3"); -} -hotmenu eCAN_B_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6248,x","eCANB LAM4"); - GEL_WatchAdd("*(long *)0x6288,x","eCANB MOTS4"); - GEL_WatchAdd("*(long *)0x62C8,x","eCANB MOTO4"); - GEL_WatchAdd("*(long *)0x6320,x","eCANB MID4"); - GEL_WatchAdd("*(long *)0x6322,x","eCANB MCF4"); - GEL_WatchAdd("*(long *)0x6324,x","eCANB MDL4"); - GEL_WatchAdd("*(long *)0x6326,x","eCANB MDH4"); - - GEL_WatchAdd("*(long *)0x624A,x","eCANB LAM5"); - GEL_WatchAdd("*(long *)0x628A,x","eCANB MOTS5"); - GEL_WatchAdd("*(long *)0x62CA,x","eCANB MOTO5"); - GEL_WatchAdd("*(long *)0x6328,x","eCANB MID5"); - GEL_WatchAdd("*(long *)0x632A,x","eCANB MCF5"); - GEL_WatchAdd("*(long *)0x632C,x","eCANB MDL5"); - GEL_WatchAdd("*(long *)0x632E,x","eCANB MDH5"); -} -hotmenu eCAN_B_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x624C,x","eCANB LAM6"); - GEL_WatchAdd("*(long *)0x628C,x","eCANB MOTS6"); - GEL_WatchAdd("*(long *)0x62CC,x","eCANB MOTO6"); - GEL_WatchAdd("*(long *)0x6330,x","eCANB MID6"); - GEL_WatchAdd("*(long *)0x6332,x","eCANB MCF6"); - GEL_WatchAdd("*(long *)0x6334,x","eCANB MDL6"); - GEL_WatchAdd("*(long *)0x6336,x","eCANB MDH6"); - - GEL_WatchAdd("*(long *)0x624E,x","eCANB LAM7"); - GEL_WatchAdd("*(long *)0x628E,x","eCANB MOTS7"); - GEL_WatchAdd("*(long *)0x62CE,x","eCANB MOTO7"); - GEL_WatchAdd("*(long *)0x6338,x","eCANB MID7"); - GEL_WatchAdd("*(long *)0x633A,x","eCANB MCF7"); - GEL_WatchAdd("*(long *)0x633C,x","eCANB MDL7"); - GEL_WatchAdd("*(long *)0x633E,x","eCANB MDH7"); -} -hotmenu eCAN_B_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6250,x","eCANB LAM8"); - GEL_WatchAdd("*(long *)0x6290,x","eCANB MOTS8"); - GEL_WatchAdd("*(long *)0x62D0,x","eCANB MOTO8"); - GEL_WatchAdd("*(long *)0x6340,x","eCANB MID8"); - GEL_WatchAdd("*(long *)0x6342,x","eCANB MCF8"); - GEL_WatchAdd("*(long *)0x6344,x","eCANB MDL8"); - GEL_WatchAdd("*(long *)0x6346,x","eCANB MDH8"); - - GEL_WatchAdd("*(long *)0x6252,x","eCANB LAM9"); - GEL_WatchAdd("*(long *)0x6292,x","eCANB MOTS9"); - GEL_WatchAdd("*(long *)0x62D2,x","eCANB MOTO9"); - GEL_WatchAdd("*(long *)0x6348,x","eCANB MID9"); - GEL_WatchAdd("*(long *)0x634A,x","eCANB MCF9"); - GEL_WatchAdd("*(long *)0x634C,x","eCANB MDL9"); - GEL_WatchAdd("*(long *)0x634E,x","eCANB MDH9"); -} -hotmenu eCAN_B_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6254,x","eCANB LAM10"); - GEL_WatchAdd("*(long *)0x6294,x","eCANB MOTS10"); - GEL_WatchAdd("*(long *)0x62D4,x","eCANB MOTO10"); - GEL_WatchAdd("*(long *)0x6350,x","eCANB MID10"); - GEL_WatchAdd("*(long *)0x6352,x","eCANB MCF10"); - GEL_WatchAdd("*(long *)0x6354,x","eCANB MDL10"); - GEL_WatchAdd("*(long *)0x6356,x","eCANB MDH10"); - - GEL_WatchAdd("*(long *)0x6256,x","eCANB LAM11"); - GEL_WatchAdd("*(long *)0x6296,x","eCANB MOTS11"); - GEL_WatchAdd("*(long *)0x62D6,x","eCANB MOTO11"); - GEL_WatchAdd("*(long *)0x6358,x","eCANB MID11"); - GEL_WatchAdd("*(long *)0x635A,x","eCANB MCF11"); - GEL_WatchAdd("*(long *)0x635C,x","eCANB MDL11"); - GEL_WatchAdd("*(long *)0x635E,x","eCANB MDH11"); -} -hotmenu eCAN_B_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6258,x","eCANB LAM12"); - GEL_WatchAdd("*(long *)0x6298,x","eCANB MOTS12"); - GEL_WatchAdd("*(long *)0x62D8,x","eCANB MOTO12"); - GEL_WatchAdd("*(long *)0x6360,x","eCANB MID12"); - GEL_WatchAdd("*(long *)0x6362,x","eCANB MCF12"); - GEL_WatchAdd("*(long *)0x6364,x","eCANB MDL12"); - GEL_WatchAdd("*(long *)0x6366,x","eCANB MDH12"); - - GEL_WatchAdd("*(long *)0x625A,x","eCANB LAM13"); - GEL_WatchAdd("*(long *)0x629A,x","eCANB MOTS13"); - GEL_WatchAdd("*(long *)0x62DA,x","eCANB MOTO13"); - GEL_WatchAdd("*(long *)0x6368,x","eCANB MID13"); - GEL_WatchAdd("*(long *)0x636A,x","eCANB MCF13"); - GEL_WatchAdd("*(long *)0x636C,x","eCANB MDL13"); - GEL_WatchAdd("*(long *)0x636E,x","eCANB MDH13"); -} -hotmenu eCAN_B_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x625C,x","eCANB LAM14"); - GEL_WatchAdd("*(long *)0x629C,x","eCANB MOTS14"); - GEL_WatchAdd("*(long *)0x62DC,x","eCANB MOTO14"); - GEL_WatchAdd("*(long *)0x6370,x","eCANB MID14"); - GEL_WatchAdd("*(long *)0x6372,x","eCANB MCF14"); - GEL_WatchAdd("*(long *)0x6374,x","eCANB MDL14"); - GEL_WatchAdd("*(long *)0x6376,x","eCANB MDH14"); - - GEL_WatchAdd("*(long *)0x625E,x","eCANB LAM15"); - GEL_WatchAdd("*(long *)0x629E,x","eCANB MOTS15"); - GEL_WatchAdd("*(long *)0x62DE,x","eCANB MOTO15"); - GEL_WatchAdd("*(long *)0x6378,x","eCANB MID15"); - GEL_WatchAdd("*(long *)0x637A,x","eCANB MCF15"); - GEL_WatchAdd("*(long *)0x637C,x","eCANB MDL15"); - GEL_WatchAdd("*(long *)0x637E,x","eCANB MDH15"); -} -hotmenu eCAN_B_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6260,x","eCANB LAM16"); - GEL_WatchAdd("*(long *)0x62A0,x","eCANB MOTS16"); - GEL_WatchAdd("*(long *)0x62E0,x","eCANB MOTO16"); - GEL_WatchAdd("*(long *)0x6380,x","eCANB MID16"); - GEL_WatchAdd("*(long *)0x6382,x","eCANB MCF16"); - GEL_WatchAdd("*(long *)0x6384,x","eCANB MDL16"); - GEL_WatchAdd("*(long *)0x6386,x","eCANB MDH16"); - - GEL_WatchAdd("*(long *)0x6262,x","eCANB LAM17"); - GEL_WatchAdd("*(long *)0x62A2,x","eCANB MOTS17"); - GEL_WatchAdd("*(long *)0x62E2,x","eCANB MOTO17"); - GEL_WatchAdd("*(long *)0x6388,x","eCANB MID17"); - GEL_WatchAdd("*(long *)0x638A,x","eCANB MCF17"); - GEL_WatchAdd("*(long *)0x638C,x","eCANB MDL17"); - GEL_WatchAdd("*(long *)0x638E,x","eCANB MDH17"); -} -hotmenu eCAN_B_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6264,x","eCANB LAM18"); - GEL_WatchAdd("*(long *)0x62A4,x","eCANB MOTS18"); - GEL_WatchAdd("*(long *)0x62E4,x","eCANB MOTO18"); - GEL_WatchAdd("*(long *)0x6390,x","eCANB MID18"); - GEL_WatchAdd("*(long *)0x6392,x","eCANB MCF18"); - GEL_WatchAdd("*(long *)0x6394,x","eCANB MDL18"); - GEL_WatchAdd("*(long *)0x6396,x","eCANB MDH18"); - - GEL_WatchAdd("*(long *)0x6266,x","eCANB LAM19"); - GEL_WatchAdd("*(long *)0x62A6,x","eCANB MOTS19"); - GEL_WatchAdd("*(long *)0x62E6,x","eCANB MOTO19"); - GEL_WatchAdd("*(long *)0x6398,x","eCANB MID19"); - GEL_WatchAdd("*(long *)0x639A,x","eCANB MCF19"); - GEL_WatchAdd("*(long *)0x639C,x","eCANB MDL19"); - GEL_WatchAdd("*(long *)0x639E,x","eCANB MDH19"); -} -hotmenu eCAN_B_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6268,x","eCANB LAM20"); - GEL_WatchAdd("*(long *)0x62A8,x","eCANB MOTS20"); - GEL_WatchAdd("*(long *)0x62E8,x","eCANB MOTO20"); - GEL_WatchAdd("*(long *)0x63A0,x","eCANB MID20"); - GEL_WatchAdd("*(long *)0x63A2,x","eCANB MCF20"); - GEL_WatchAdd("*(long *)0x63A4,x","eCANB MDL20"); - GEL_WatchAdd("*(long *)0x63A6,x","eCANB MDH20"); - - GEL_WatchAdd("*(long *)0x626A,x","eCANB LAM21"); - GEL_WatchAdd("*(long *)0x62AA,x","eCANB MOTS21"); - GEL_WatchAdd("*(long *)0x62EA,x","eCANB MOTO21"); - GEL_WatchAdd("*(long *)0x63A8,x","eCANB MID21"); - GEL_WatchAdd("*(long *)0x63AA,x","eCANB MCF21"); - GEL_WatchAdd("*(long *)0x63AC,x","eCANB MDL21"); - GEL_WatchAdd("*(long *)0x63AE,x","eCANB MDH21"); -} -hotmenu eCAN_B_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x626C,x","eCANB LAM22"); - GEL_WatchAdd("*(long *)0x62AC,x","eCANB MOTS22"); - GEL_WatchAdd("*(long *)0x62EC,x","eCANB MOTO22"); - GEL_WatchAdd("*(long *)0x63B0,x","eCANB MID22"); - GEL_WatchAdd("*(long *)0x63B2,x","eCANB MCF22"); - GEL_WatchAdd("*(long *)0x63B4,x","eCANB MDL22"); - GEL_WatchAdd("*(long *)0x63B6,x","eCANB MDH22"); - - GEL_WatchAdd("*(long *)0x626E,x","eCANB LAM23"); - GEL_WatchAdd("*(long *)0x62AE,x","eCANB MOTS23"); - GEL_WatchAdd("*(long *)0x62EE,x","eCANB MOTO23"); - GEL_WatchAdd("*(long *)0x63B8,x","eCANB MID23"); - GEL_WatchAdd("*(long *)0x63BA,x","eCANB MCF23"); - GEL_WatchAdd("*(long *)0x63BC,x","eCANB MDL23"); - GEL_WatchAdd("*(long *)0x63BE,x","eCANB MDH23"); -} -hotmenu eCAN_B_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6270,x","eCANB LAM24"); - GEL_WatchAdd("*(long *)0x62B0,x","eCANB MOTS24"); - GEL_WatchAdd("*(long *)0x62F0,x","eCANB MOTO24"); - GEL_WatchAdd("*(long *)0x63C0,x","eCANB MID24"); - GEL_WatchAdd("*(long *)0x63C2,x","eCANB MCF24"); - GEL_WatchAdd("*(long *)0x63C4,x","eCANB MDL24"); - GEL_WatchAdd("*(long *)0x63C6,x","eCANB MDH24"); - - GEL_WatchAdd("*(long *)0x6272,x","eCANB LAM25"); - GEL_WatchAdd("*(long *)0x62B2,x","eCANB MOTS25"); - GEL_WatchAdd("*(long *)0x62F2,x","eCANB MOTO25"); - GEL_WatchAdd("*(long *)0x63C8,x","eCANB MID25"); - GEL_WatchAdd("*(long *)0x63CA,x","eCANB MCF25"); - GEL_WatchAdd("*(long *)0x63CC,x","eCANB MDL25"); - GEL_WatchAdd("*(long *)0x63CE,x","eCANB MDH25"); -} -hotmenu eCAN_B_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6274,x","eCANB LAM26"); - GEL_WatchAdd("*(long *)0x62B4,x","eCANB MOTS26"); - GEL_WatchAdd("*(long *)0x62F4,x","eCANB MOTO26"); - GEL_WatchAdd("*(long *)0x63D0,x","eCANB MID26"); - GEL_WatchAdd("*(long *)0x63D2,x","eCANB MCF26"); - GEL_WatchAdd("*(long *)0x63D4,x","eCANB MDL26"); - GEL_WatchAdd("*(long *)0x63D6,x","eCANB MDH26"); - - GEL_WatchAdd("*(long *)0x6276,x","eCANB LAM27"); - GEL_WatchAdd("*(long *)0x62B6,x","eCANB MOTS27"); - GEL_WatchAdd("*(long *)0x62F6,x","eCANB MOTO27"); - GEL_WatchAdd("*(long *)0x63D8,x","eCANB MID27"); - GEL_WatchAdd("*(long *)0x63DA,x","eCANB MCF27"); - GEL_WatchAdd("*(long *)0x63DC,x","eCANB MDL27"); - GEL_WatchAdd("*(long *)0x63DE,x","eCANB MDH27"); -} -hotmenu eCAN_B_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6278,x","eCANB LAM28"); - GEL_WatchAdd("*(long *)0x62B8,x","eCANB MOTS28"); - GEL_WatchAdd("*(long *)0x62F8,x","eCANB MOTO28"); - GEL_WatchAdd("*(long *)0x63E0,x","eCANB MID28"); - GEL_WatchAdd("*(long *)0x63E2,x","eCANB MCF28"); - GEL_WatchAdd("*(long *)0x63E4,x","eCANB MDL28"); - GEL_WatchAdd("*(long *)0x63E6,x","eCANB MDH28"); - - GEL_WatchAdd("*(long *)0x627A,x","eCANB LAM29"); - GEL_WatchAdd("*(long *)0x62BA,x","eCANB MOTS29"); - GEL_WatchAdd("*(long *)0x62FA,x","eCANB MOTO29"); - GEL_WatchAdd("*(long *)0x63E8,x","eCANB MID29"); - GEL_WatchAdd("*(long *)0x63EA,x","eCANB MCF29"); - GEL_WatchAdd("*(long *)0x63EC,x","eCANB MDL29"); - GEL_WatchAdd("*(long *)0x63EE,x","eCANB MDH29"); -} -hotmenu eCAN_B_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x627C,x","eCANB LAM30"); - GEL_WatchAdd("*(long *)0x62BC,x","eCANB MOTS30"); - GEL_WatchAdd("*(long *)0x62FC,x","eCANB MOTO30"); - GEL_WatchAdd("*(long *)0x63F0,x","eCANB MID30"); - GEL_WatchAdd("*(long *)0x63F2,x","eCANB MCF30"); - GEL_WatchAdd("*(long *)0x63F4,x","eCANB MDL30"); - GEL_WatchAdd("*(long *)0x63F6,x","eCANB MDH30"); - - GEL_WatchAdd("*(long *)0x627E,x","eCANB LAM31"); - GEL_WatchAdd("*(long *)0x62BE,x","eCANB MOTS31"); - GEL_WatchAdd("*(long *)0x62FE,x","eCANB MOTO31"); - GEL_WatchAdd("*(long *)0x63F8,x","eCANB MID31"); - GEL_WatchAdd("*(long *)0x63FA,x","eCANB MCF31"); - GEL_WatchAdd("*(long *)0x63FC,x","eCANB MDL31"); - GEL_WatchAdd("*(long *)0x63FE,x","eCANB MDH31"); -} - - -/********************************************************************/ -/* Enhanced Capture Registers */ -/********************************************************************/ -menuitem "Watch eCAP Registers"; - -hotmenu eCAP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A00,x","eCAP1 TSCNT"); - GEL_WatchAdd("*(long *)0x6A02,x","eCAP1 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A04,x","eCAP1 CAP1"); - GEL_WatchAdd("*(long *)0x6A06,x","eCAP1 CAP2"); - GEL_WatchAdd("*(long *)0x6A08,x","eCAP1 CAP3"); - GEL_WatchAdd("*(long *)0x6A0A,x","eCAP1 CAP4"); - GEL_WatchAdd("*0x6A14,x","eCAP1 ECCTL1"); - GEL_WatchAdd("*0x6A15,x","eCAP1 ECCTL2"); - GEL_WatchAdd("*0x6A16,x","eCAP1 ECEINT"); - GEL_WatchAdd("*0x6A17,x","eCAP1 ECFLG"); - GEL_WatchAdd("*0x6A18,x","eCAP1 ECCLR"); - GEL_WatchAdd("*0x6A19,x","eCAP1 ECFRC"); -} -hotmenu eCAP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A20,x","eCAP2 TSCNT"); - GEL_WatchAdd("*(long *)0x6A22,x","eCAP2 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A24,x","eCAP2 CAP1"); - GEL_WatchAdd("*(long *)0x6A26,x","eCAP2 CAP2"); - GEL_WatchAdd("*(long *)0x6A28,x","eCAP2 CAP3"); - GEL_WatchAdd("*(long *)0x6A2A,x","eCAP2 CAP4"); - GEL_WatchAdd("*0x6A34,x","eCAP2 ECCTL1"); - GEL_WatchAdd("*0x6A35,x","eCAP2 ECCTL2"); - GEL_WatchAdd("*0x6A36,x","eCAP2 ECEINT"); - GEL_WatchAdd("*0x6A37,x","eCAP2 ECFLG"); - GEL_WatchAdd("*0x6A38,x","eCAP2 ECCLR"); - GEL_WatchAdd("*0x6A39,x","eCAP2 ECFRC"); -} -hotmenu eCAP3_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A40,x","eCAP3 TSCNT"); - GEL_WatchAdd("*(long *)0x6A42,x","eCAP3 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A44,x","eCAP3 CAP1"); - GEL_WatchAdd("*(long *)0x6A46,x","eCAP3 CAP2"); - GEL_WatchAdd("*(long *)0x6A48,x","eCAP3 CAP3"); - GEL_WatchAdd("*(long *)0x6A4A,x","eCAP3 CAP4"); - GEL_WatchAdd("*0x6A54,x","eCAP3 ECCTL1"); - GEL_WatchAdd("*0x6A55,x","eCAP3 ECCTL2"); - GEL_WatchAdd("*0x6A56,x","eCAP3 ECEINT"); - GEL_WatchAdd("*0x6A57,x","eCAP3 ECFLG"); - GEL_WatchAdd("*0x6A58,x","eCAP3 ECCLR"); - GEL_WatchAdd("*0x6A59,x","eCAP3 ECFRC"); -} -hotmenu eCAP4_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A60,x","eCAP4 TSCNT"); - GEL_WatchAdd("*(long *)0x6A62,x","eCAP4 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A64,x","eCAP4 CAP1"); - GEL_WatchAdd("*(long *)0x6A66,x","eCAP4 CAP2"); - GEL_WatchAdd("*(long *)0x6A68,x","eCAP4 CAP3"); - GEL_WatchAdd("*(long *)0x6A6A,x","eCAP4 CAP4"); - GEL_WatchAdd("*0x6A74,x","eCAP4 ECCTL1"); - GEL_WatchAdd("*0x6A75,x","eCAP4 ECCTL2"); - GEL_WatchAdd("*0x6A76,x","eCAP4 ECEINT"); - GEL_WatchAdd("*0x6A77,x","eCAP4 ECFLG"); - GEL_WatchAdd("*0x6A78,x","eCAP4 ECCLR"); - GEL_WatchAdd("*0x6A79,x","eCAP4 ECFRC"); -} -hotmenu eCAP5_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A80,x","eCAP5 TSCNT"); - GEL_WatchAdd("*(long *)0x6A82,x","eCAP5 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A84,x","eCAP5 CAP1"); - GEL_WatchAdd("*(long *)0x6A86,x","eCAP5 CAP2"); - GEL_WatchAdd("*(long *)0x6A88,x","eCAP5 CAP3"); - GEL_WatchAdd("*(long *)0x6A8A,x","eCAP5 CAP4"); - GEL_WatchAdd("*0x6A94,x","eCAP5 ECCTL1"); - GEL_WatchAdd("*0x6A95,x","eCAP5 ECCTL2"); - GEL_WatchAdd("*0x6A96,x","eCAP5 ECEINT"); - GEL_WatchAdd("*0x6A97,x","eCAP5 ECFLG"); - GEL_WatchAdd("*0x6A98,x","eCAP5 ECCLR"); - GEL_WatchAdd("*0x6A99,x","eCAP5 ECFRC"); -} -hotmenu eCAP6_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6AA0,x","eCAP6 TSCNT"); - GEL_WatchAdd("*(long *)0x6AA2,x","eCAP6 CNTPHS"); - GEL_WatchAdd("*(long *)0x6AA4,x","eCAP6 CAP1"); - GEL_WatchAdd("*(long *)0x6AA6,x","eCAP6 CAP2"); - GEL_WatchAdd("*(long *)0x6AA8,x","eCAP6 CAP3"); - GEL_WatchAdd("*(long *)0x6AAA,x","eCAP6 CAP4"); - GEL_WatchAdd("*0x6AB4,x","eCAP6 ECCTL1"); - GEL_WatchAdd("*0x6AB5,x","eCAP6 ECCTL2"); - GEL_WatchAdd("*0x6AB6,x","eCAP6 ECEINT"); - GEL_WatchAdd("*0x6AB7,x","eCAP6 ECFLG"); - GEL_WatchAdd("*0x6AB8,x","eCAP6 ECCLR"); - GEL_WatchAdd("*0x6AB9,x","eCAP6 ECFRC"); -} - -/********************************************************************/ -/* Enhanced PWM Registers */ -/********************************************************************/ -menuitem "Watch ePWM Registers"; - -hotmenu ePWM1_All_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6813,x","ePWM1 TZDCSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); - GEL_WatchAdd("*0x681E,x","ePWM1 PCCTL"); - GEL_WatchAdd("*0x6820,x","ePWM1 HRCNFG"); -} -hotmenu ePWM1_TB_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); -} -hotmenu ePWM1_CMP_Regs() -{ - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); -} -hotmenu ePWM1_AQ_Regs() -{ - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); -} -hotmenu ePWM1_DB_Regs() -{ - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); -} -hotmenu ePWM1_TZ_Regs() -{ - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); -} -hotmenu ePWM1_ET_Regs() -{ - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); -} -hotmenu ePWM2_All_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6853,x","ePWM2 TZDCSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); - GEL_WatchAdd("*0x685E,x","ePWM2 PCCTL"); - GEL_WatchAdd("*0x6860,x","ePWM2 HRCNFG"); -} -hotmenu ePWM2_TB_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); -} -hotmenu ePWM2_CMP_Regs() -{ - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); -} -hotmenu ePWM2_AQ_Regs() -{ - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); -} -hotmenu ePWM2_DB_Regs() -{ - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); -} -hotmenu ePWM2_TZ_Regs() -{ - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); -} -hotmenu ePWM2_ET_Regs() -{ - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); -} -hotmenu ePWM3_All_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6893,x","ePWM3 TZDCSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); - GEL_WatchAdd("*0x689E,x","ePWM3 PCCTL"); - GEL_WatchAdd("*0x68A0,x","ePWM3 HRCNFG"); -} -hotmenu ePWM3_TB_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); -} -hotmenu ePWM3_CMP_Regs() -{ - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); -} -hotmenu ePWM3_AQ_Regs() -{ - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); -} -hotmenu ePWM3_DB_Regs() -{ - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); -} -hotmenu ePWM3_TZ_Regs() -{ - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); -} -hotmenu ePWM3_ET_Regs() -{ - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); -} -hotmenu ePWM4_All_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D3,x","ePWM4 TZDCSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); - GEL_WatchAdd("*0x68DE,x","ePWM4 PCCTL"); - GEL_WatchAdd("*0x68E0,x","ePWM4 HRCNFG"); -} -hotmenu ePWM4_TB_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); -} -hotmenu ePWM4_CMP_Regs() -{ - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); -} -hotmenu ePWM4_AQ_Regs() -{ - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); -} -hotmenu ePWM4_DB_Regs() -{ - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); -} -hotmenu ePWM4_TZ_Regs() -{ - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); -} -hotmenu ePWM4_ET_Regs() -{ - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); -} -hotmenu ePWM5_All_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6902,x","ePWM5 TBPHSHR"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6908,x","ePWM5 CMPAHR"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6913,x","ePWM5 TZDCSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); - GEL_WatchAdd("*0x691E,x","ePWM5 PCCTL"); - GEL_WatchAdd("*0x6920,x","ePWM5 HRCNFG"); -} -hotmenu ePWM5_TB_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6902,x","ePWM5 TBPHSHR"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); -} -hotmenu ePWM5_CMP_Regs() -{ - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6908,x","ePWM5 CMPAHR"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); -} -hotmenu ePWM5_AQ_Regs() -{ - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); -} -hotmenu ePWM5_DB_Regs() -{ - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); -} -hotmenu ePWM5_TZ_Regs() -{ - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); -} -hotmenu ePWM5_ET_Regs() -{ - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); -} -hotmenu ePWM6_All_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6942,x","ePWM6 TBPHSHR"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6948,x","ePWM6 CMPAHR"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6953,x","ePWM6 TZDCSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); - GEL_WatchAdd("*0x695E,x","ePWM6 PCCTL"); - GEL_WatchAdd("*0x6960,x","ePWM6 HRCNFG"); - -} -hotmenu ePWM6_TB_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6942,x","ePWM6 TBPHSHR"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); -} -hotmenu ePWM6_CMP_Regs() -{ - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6948,x","ePWM6 CMPAHR"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); -} -hotmenu ePWM6_AQ_Regs() -{ - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); -} -hotmenu ePWM6_DB_Regs() -{ - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); -} -hotmenu ePWM6_TZ_Regs() -{ - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); -} -hotmenu ePWM6_ET_Regs() -{ - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); -} - - -/********************************************************************/ -/* Enhanced EQEP Registers */ -/********************************************************************/ -menuitem "Watch eQEP" - -hotmenu eQEP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B00,x","eQEP1 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B02,x","eQEP1 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B04,x","eQEP1 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B06,x","eQEP1 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B08,x","eQEP1 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B0A,x","eQEP1 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B0C,x","eQEP1 QPOSLAT"); - GEL_WatchAdd("*(long *)0x6B0E,x","eQEP1 QUTMR"); - GEL_WatchAdd("*(long *)0x6B10,x","eQEP1 QUPRD"); - GEL_WatchAdd("*0x6B12,x","eQEP1 QWDTMR"); - GEL_WatchAdd("*0x6B13,x","eQEP1 QWDPRD"); - GEL_WatchAdd("*0x6B14,x","eQEP1 QDECCTL"); - GEL_WatchAdd("*0x6B15,x","eQEP1 QEPCTL"); - GEL_WatchAdd("*0x6B16,x","eQEP1 QCAPCTL"); - GEL_WatchAdd("*0x6B17,x","eQEP1 QPOSCTL"); - GEL_WatchAdd("*0x6B18,x","eQEP1 QEINT"); - GEL_WatchAdd("*0x6B19,x","eQEP1 QFLG"); - GEL_WatchAdd("*0x6B1A,x","eQEP1 QCLR"); - GEL_WatchAdd("*0x6B1B,x","eQEP1 QFRC"); - GEL_WatchAdd("*0x6B1C,x","eQEP1 QEPSTS"); - GEL_WatchAdd("*0x6B1D,x","eQEP1 QCTMR"); - GEL_WatchAdd("*0x6B1E,x","eQEP1 QCPRD"); - GEL_WatchAdd("*0x6B1F,x","eQEP1 QCTMRLAT"); - GEL_WatchAdd("*0x6B20,x","eQEP1 QCPRDLAT"); -} -hotmenu eQEP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B40,x","eQEP2 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B42,x","eQEP2 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B44,x","eQEP2 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B46,x","eQEP2 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B48,x","eQEP2 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B4A,x","eQEP2 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B4C,x","eQEP2 QPOSLAT"); - GEL_WatchAdd("(long *)*0x6B4E,x","eQEP2 QUTMR"); - GEL_WatchAdd("*(long *)0x6B50,x","eQEP2 QUPRD"); - GEL_WatchAdd("*0x6B52,x","eQEP2 QWDTMR"); - GEL_WatchAdd("*0x6B53,x","eQEP2 QWDPRD"); - GEL_WatchAdd("*0x6B54,x","eQEP2 QDECCTL"); - GEL_WatchAdd("*0x6B55,x","eQEP2 QEPCTL"); - GEL_WatchAdd("*0x6B56,x","eQEP2 QCAPCTL"); - GEL_WatchAdd("*0x6B57,x","eQEP2 QPOSCTL"); - GEL_WatchAdd("*0x6B58,x","eQEP2 QEINT"); - GEL_WatchAdd("*0x6B59,x","eQEP2 QFLG"); - GEL_WatchAdd("*0x6B5A,x","eQEP2 QCLR"); - GEL_WatchAdd("*0x6B5B,x","eQEP2 QFRC"); - GEL_WatchAdd("*0x6B5C,x","eQEP2 QEPSTS"); - GEL_WatchAdd("*0x6B5D,x","eQEP2 QCTMR"); - GEL_WatchAdd("*0x6B5E,x","eQEP2 QCPRD"); - GEL_WatchAdd("*0x6B5F,x","eQEP2 QCTMRLAT"); - GEL_WatchAdd("*0x6B60,x","eQEP2 QCPRDLAT"); -} - - -/********************************************************************/ -/* External Interface Registers */ -/********************************************************************/ -menuitem "Watch External Interface Registers"; - -hotmenu All_External_Interface_Regs() -{ - GEL_WatchAdd("*(long *)0x0B20,x","XTIMING0"); - GEL_WatchAdd("*(long *)0x0B2C,x","XTIMING6"); - GEL_WatchAdd("*(long *)0x0B2E,x","XTIMING7"); - GEL_WatchAdd("*(long *)0x0B34,x","XINTCNF2"); - GEL_WatchAdd("*0x0B38,x","XBANK"); - GEL_WatchAdd("*0x0B3A,x","XREVISION"); - GEL_WatchAdd("*0x0B3D,x","XRESET"); -} - -/********************************************************************/ -/* External Interrupt Registers */ -/********************************************************************/ -menuitem "Watch External Interrupt Registers"; - -hotmenu All_XINT_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} -hotmenu XINT_Control_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); -} -hotmenu XINT_Counter_Regs() -{ - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} - - -/********************************************************************/ -/* FPU Registers */ -/********************************************************************/ -menuitem "Watch FPU Registers" - -hotmenu All_FPU_Single_Precision_Regs() -{ - GEL_WatchAdd("RB"); - GEL_WatchAdd("STF"); - GEL_WatchAdd("R0H"); - GEL_WatchAdd("R1H"); - GEL_WatchAdd("R2H"); - GEL_WatchAdd("R3H"); - GEL_WatchAdd("R4H"); - GEL_WatchAdd("R5H"); - GEL_WatchAdd("R6H"); - GEL_WatchAdd("R7H"); -} - - -/********************************************************************/ -/* GPIO Registers */ -/********************************************************************/ -menuitem "Watch GPIO Registers"; - -hotmenu All_GPIO_CONTROL_Regs() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); -} -hotmenu All_GPIO_DATA_Regs() -{ - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} -hotmenu All_GPIO_INTERRUPT_Regs() -{ - GEL_WatchAdd("*0x6FE0,x","GPIOXINT1SEL"); - GEL_WatchAdd("*0x6FE1,x","GPIOXINT2SEL"); - GEL_WatchAdd("*0x6FE2,x","GPIOXNMISEL"); - GEL_WatchAdd("*0x6FE3,x","GPIOXINT3SEL"); - GEL_WatchAdd("*0x6FE4,x","GPIOXINT4SEL"); - GEL_WatchAdd("*0x6FE5,x","GPIOXINT5SEL"); - GEL_WatchAdd("*0x6FE6,x","GPIOXINT6SEL"); - GEL_WatchAdd("*0x6FE7,x","GPIOXINT7SEL"); - GEL_WatchAdd("*(long *)0x6FE8,x","GPIOLPMSEL"); -} -hotmenu All_GPA_Registers() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); -} -hotmenu All_GPB_Registers() -{ - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); -} -hotmenu All_GPC_Registers() -{ - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} - - -/********************************************************************/ -/* Multichannel Serial Port Registers */ -/********************************************************************/ -menuitem "Watch McBSP Registers"; - -hotmenu All_McBSP_A_Regs() -{ - GEL_WatchAdd("*0x5000,x","McBSPA DRR2"); - GEL_WatchAdd("*0x5001,x","McBSPA DRR1"); - GEL_WatchAdd("*0x5002,x","McBSPA DXR2"); - GEL_WatchAdd("*0x5003,x","McBSPA DXR1"); - GEL_WatchAdd("*0x5004,x","McBSPA SPCR2"); - GEL_WatchAdd("*0x5005,x","McBSPA SPCR1"); - GEL_WatchAdd("*0x5006,x","McBSPA RCR2"); - GEL_WatchAdd("*0x5007,x","McBSPA RCR1"); - GEL_WatchAdd("*0x5008,x","McBSPA XCR2"); - GEL_WatchAdd("*0x5009,x","McBSPA XCR1"); - GEL_WatchAdd("*0x500A,x","McBSPA SRGR2"); - GEL_WatchAdd("*0x500B,x","McBSPA SRGR1"); - GEL_WatchAdd("*0x500C,x","McBSPA MCR2"); - GEL_WatchAdd("*0x500D,x","McBSPA MCR1"); - GEL_WatchAdd("*0x500E,x","McBSPA RCERA"); - GEL_WatchAdd("*0x500F,x","McBSPA RCERB"); - GEL_WatchAdd("*0x5010,x","McBSPA XCERA"); - GEL_WatchAdd("*0x5011,x","McBSPA XCERB"); - GEL_WatchAdd("*0x5012,x","McBSPA PCR1"); - GEL_WatchAdd("*0x5013,x","McBSPA RCERC"); - GEL_WatchAdd("*0x5014,x","McBSPA RCERD"); - GEL_WatchAdd("*0x5015,x","McBSPA XCERC"); - GEL_WatchAdd("*0x5016,x","McBSPA XCERD"); - GEL_WatchAdd("*0x5017,x","McBSPA RCERE"); - GEL_WatchAdd("*0x5018,x","McBSPA RCERF"); - GEL_WatchAdd("*0x5019,x","McBSPA XCERE"); - GEL_WatchAdd("*0x501A,x","McBSPA XCERF"); - GEL_WatchAdd("*0x501B,x","McBSPA RCERG"); - GEL_WatchAdd("*0x501C,x","McBSPA RCERH"); - GEL_WatchAdd("*0x501D,x","McBSPA XCERG"); - GEL_WatchAdd("*0x501E,x","McBSPA XCERH"); - GEL_WatchAdd("*0x5023,x","McBSPA MFFINT"); - GEL_WatchAdd("*0x503F,x","McBSPA Revision"); -} - -hotmenu All_McBSP_B_Regs() -{ - GEL_WatchAdd("*0x5040,x","McBSPB DRR2"); - GEL_WatchAdd("*0x5041,x","McBSPB DRR1"); - GEL_WatchAdd("*0x5042,x","McBSPB DXR2"); - GEL_WatchAdd("*0x5043,x","McBSPB DXR1"); - GEL_WatchAdd("*0x5044,x","McBSPB SPCR2"); - GEL_WatchAdd("*0x5045,x","McBSPB SPCR1"); - GEL_WatchAdd("*0x5046,x","McBSPB RCR2"); - GEL_WatchAdd("*0x5047,x","McBSPB RCR1"); - GEL_WatchAdd("*0x5048,x","McBSPB XCR2"); - GEL_WatchAdd("*0x5049,x","McBSPB XCR1"); - GEL_WatchAdd("*0x504A,x","McBSPB SRGR2"); - GEL_WatchAdd("*0x504B,x","McBSPB SRGR1"); - GEL_WatchAdd("*0x504C,x","McBSPB MCR2"); - GEL_WatchAdd("*0x504D,x","McBSPB MCR1"); - GEL_WatchAdd("*0x504E,x","McBSPB RCERA"); - GEL_WatchAdd("*0x504F,x","McBSPB RCERB"); - GEL_WatchAdd("*0x5050,x","McBSPB XCERA"); - GEL_WatchAdd("*0x5051,x","McBSPB XCERB"); - GEL_WatchAdd("*0x5052,x","McBSPB PCR1"); - GEL_WatchAdd("*0x5053,x","McBSPB RCERC"); - GEL_WatchAdd("*0x5054,x","McBSPB RCERD"); - GEL_WatchAdd("*0x5055,x","McBSPB XCERC"); - GEL_WatchAdd("*0x5056,x","McBSPB XCERD"); - GEL_WatchAdd("*0x5057,x","McBSPB RCERE"); - GEL_WatchAdd("*0x5058,x","McBSPB RCERF"); - GEL_WatchAdd("*0x5059,x","McBSPB XCERE"); - GEL_WatchAdd("*0x505A,x","McBSPB XCERF"); - GEL_WatchAdd("*0x505B,x","McBSPB RCERG"); - GEL_WatchAdd("*0x505C,x","McBSPB RCERH"); - GEL_WatchAdd("*0x505D,x","McBSPB XCERG"); - GEL_WatchAdd("*0x505E,x","McBSPB XCERH"); - GEL_WatchAdd("*0x5063,x","McBSPB MFFINT"); - GEL_WatchAdd("*0x506F,x","McBSPB Revision"); -} - - - -/********************************************************************/ -/* I2C Registers */ -/********************************************************************/ -menuitem "Watch I2C Registers"; - -hotmenu All_I2C_Regs() -{ - GEL_WatchAdd("*0x7900,x","I2COAR"); - GEL_WatchAdd("*0x7901,x","I2CIER"); - GEL_WatchAdd("*0x7902,x","I2CSTR"); - GEL_WatchAdd("*0x7903,x","I2CCLKL"); - GEL_WatchAdd("*0x7904,x","I2CCLKH"); - GEL_WatchAdd("*0x7905,x","I2CCNT"); - GEL_WatchAdd("*0x7906,x","I2CDRR"); - GEL_WatchAdd("*0x7907,x","I2CSAR"); - GEL_WatchAdd("*0x7908,x","I2CDXR"); - GEL_WatchAdd("*0x7909,x","I2CMDR"); - GEL_WatchAdd("*0x790A,x","I2CISRC"); - GEL_WatchAdd("*0x790C,x","I2CPSC"); - GEL_WatchAdd("*0x7920,x","I2CFFTX"); - GEL_WatchAdd("*0x7921,x","I2CFFRX"); -} - - -/********************************************************************/ -/* Peripheral Interrupt Expansion Registers */ -/********************************************************************/ -menuitem "Watch Peripheral Interrupt Expansion Registers"; - -hotmenu All_PIE_Regs() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); - GEL_WatchAdd("*0x0CE1,x","PIEACK"); - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} -hotmenu PIECTRL() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); -} -hotmenu PIEACK() -{ - GEL_WatchAdd("*0x0CE1,x","PIEACK"); -} -hotmenu PIEIER1_and_PIEIFR1() -{ - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); -} -hotmenu PIEIER2_and_PIEIFR2() -{ - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); -} -hotmenu PIEIER3_and_PIEIFR3() -{ - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); -} -hotmenu PIEIER4_and_PIEIFR4() -{ - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); -} -hotmenu PIEIER5_and_PIEIFR5() -{ - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); -} -hotmenu PIEIER6_and_PIEIFR6() -{ - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); -} -hotmenu PIEIER7_and_PIEIFR7() -{ - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); -} -hotmenu PIEIER8_and_PIEIFR8() -{ - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); -} -hotmenu PIEIER9_and_PIEIFR9() -{ - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); -} -hotmenu PIEIFR10_and_PIEIFR10() -{ - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); -} -hotmenu PIEIER11_and_PIEIFR11() -{ - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); -} -hotmenu PIEIER12_and_PIEIFR12() -{ - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} - - -/********************************************************************/ -/* Serial Communication Interface Registers */ -/********************************************************************/ -menuitem "Watch SCI Registers"; - -hotmenu SCI_A_All_Regs() -{ - GEL_WatchAdd("*0x7050,x","SCICCRA"); - GEL_WatchAdd("*0x7051,x","SCICTL1A"); - GEL_WatchAdd("*0x7052,x","SCIHBAUDA"); - GEL_WatchAdd("*0x7053,x","SCILBAUDA"); - GEL_WatchAdd("*0x7054,x","SCICTL2A"); - GEL_WatchAdd("*0x7055,x","SCIRXSTA"); - GEL_WatchAdd("*0x7056,x","SCIRXEMUA"); - GEL_WatchAdd("*0x7057,x","SCIRXBUFA"); - GEL_WatchAdd("*0x7059,x","SCITXBUFA"); - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); - GEL_WatchAdd("*0x705F,x","SCIPRIA"); -} -hotmenu SCI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); -} -hotmenu SCI_B_All_Regs() -{ - GEL_WatchAdd("*0x7750,x","SCICCRB"); - GEL_WatchAdd("*0x7751,x","SCICTL1B"); - GEL_WatchAdd("*0x7752,x","SCIHBAUDB"); - GEL_WatchAdd("*0x7753,x","SCILBAUDB"); - GEL_WatchAdd("*0x7754,x","SCICTL2B"); - GEL_WatchAdd("*0x7755,x","SCIRXSTB"); - GEL_WatchAdd("*0x7756,x","SCIRXEMUB"); - GEL_WatchAdd("*0x7757,x","SCIRXBUFB"); - GEL_WatchAdd("*0x7759,x","SCITXBUFB"); - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); - GEL_WatchAdd("*0x775F,x","SCIPRIB"); -} - -hotmenu SCI_B_FIFO_Registers() -{ - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); -} -hotmenu SCI_C_All_Regs() -{ - GEL_WatchAdd("*0x7770,x","SCICCRC"); - GEL_WatchAdd("*0x7771,x","SCICTL1C"); - GEL_WatchAdd("*0x7772,x","SCIHBAUDC"); - GEL_WatchAdd("*0x7773,x","SCILBAUDC"); - GEL_WatchAdd("*0x7774,x","SCICTL2C"); - GEL_WatchAdd("*0x7775,x","SCIRXSTC"); - GEL_WatchAdd("*0x7776,x","SCIRXEMUC"); - GEL_WatchAdd("*0x7777,x","SCIRXBUFC"); - GEL_WatchAdd("*0x7779,x","SCITXBUFC"); - GEL_WatchAdd("*0x777A,x","SCIFFTXC"); - GEL_WatchAdd("*0x777B,x","SCIFFRXC"); - GEL_WatchAdd("*0x777C,x","SCIFFCTC"); - GEL_WatchAdd("*0x777F,x","SCIPRIC"); -} -hotmenu SCI_C_FIFO_Registers() -{ - GEL_WatchAdd("*0x777A,x","SCIFFTXC"); - GEL_WatchAdd("*0x777B,x","SCIFFRXC"); - GEL_WatchAdd("*0x777C,x","SCIFFCTC"); -} - - -/********************************************************************/ -/* Serial Peripheral Interface Registers */ -/********************************************************************/ -menuitem "Watch SPI Registers"; - -hotmenu SPI_A_All_Regs() -{ - GEL_WatchAdd("*0x7040,x","SPIA SPICCR"); - GEL_WatchAdd("*0x7041,x","SPIA SPICTL"); - GEL_WatchAdd("*0x7042,x","SPIA SPIST"); - GEL_WatchAdd("*0x7044,x","SPIA SPIBRR"); - GEL_WatchAdd("*0x7046,x","SPIA SPIEMU"); - GEL_WatchAdd("*0x7047,x","SPIA SPIRXBUF"); - GEL_WatchAdd("*0x7048,x","SPIA SPITXBUF"); - GEL_WatchAdd("*0x7049,x","SPIA SPIDAT"); - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); - GEL_WatchAdd("*0x704F,x","SPIA SPIPRI"); -} -hotmenu SPI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); -} - - -/********************************************************************/ -/* Watchdog Timer Registers */ -/********************************************************************/ -menuitem "Watch Watchdog Timer Registers"; - -hotmenu All_Watchdog_Regs() -{ - GEL_WatchAdd("*0x7023,x","WDCNTR"); - GEL_WatchAdd("*0x7025,x","WDKEY"); - GEL_WatchAdd("*0x7029,x","WDCR"); - GEL_WatchAdd("*0x7022,x","SCSR"); -} - -/********************************************************************/ -/*** End of file ***/ diff --git a/Source/External/v120/DSP2833x_common/gel/f28335.gel b/Source/External/v120/DSP2833x_common/gel/f28335.gel deleted file mode 100644 index a3c37ec..0000000 --- a/Source/External/v120/DSP2833x_common/gel/f28335.gel +++ /dev/null @@ -1,2960 +0,0 @@ -/********************************************************************/ -/* f28335.gel */ -/* Version 3.30.2 */ -/* */ -/* This GEL file is to be used with the TMS320F28335 DSP. */ -/* Changes may be required to support specific hardware designs. */ -/* */ -/* Code Composer Studio supports six reserved GEL functions that */ -/* automatically get executed if they are defined. They are: */ -/* */ -/* StartUp() - Executed whenever CCS is invoked */ -/* OnReset() - Executed after Debug->Reset CPU */ -/* OnRestart() - Executed after Debug->Restart */ -/* OnPreFileLoaded() - Executed before File->Load Program */ -/* OnFileLoaded() - Executed after File->Load Program */ -/* OnTargetConnect() - Executed after Debug->Connect */ -/* */ -/********************************************************************/ - -StartUp() -{ - -/* The next line automatically loads the .gel file that comes */ -/* with the DSP2833x Peripheral Header Files download. To use, */ -/* uncomment, and adjust the directory path as needed. */ -// GEL_LoadGel("c:\\CCStudio_v3.3\\cc\\gel\\DSP2833x_Peripheral.gel"); - -} - -OnReset(int nErrorCode) -{ - C28x_Mode(); - Unlock_CSM(); - ADC_Cal(); - -} - -OnRestart(int nErrorCode) -{ -/* CCS will call OnRestart() when you do a Debug->Restart and */ -/* after you load a new file. Between running interrupt based */ -/* programs, this function will clear interrupts and help keep */ -/* the processor from going off into invalid memory. */ - C28x_Mode(); - IER = 0; - IFR = 0; - ADC_Cal(); -} - -int TxtOutCtl=0; -OnPreFileLoaded() -{ - XINTF_Enable(); - if (TxtOutCtl==0) - { - GEL_TextOut("\nNOTES:\nGel will enable XINTFx16 during Debug only.\nEnable XINTF in code prior to use."); - GEL_TextOut("\nFPU Registers can be found via GEL->Watch FPU Registers."); - TxtOutCtl=1; - } -} - -OnFileLoaded(int nErrorCode, int bSymbolsOnly) -{ - ADC_Cal(); -} - -OnTargetConnect() -{ - C28x_Mode(); - F28335_Memory_Map(); /* Initialize the CCS memory map */ - -/* Check to see if CCS has been started-up with the DSP already */ -/* running in real-time mode. The user can add whatever */ -/* custom initialization stuff they want to each case. */ - - if (GEL_IsInRealtimeMode()) /* Do real-time mode target initialization */ - { - - } - else /* Do stop-mode target initialization */ - { - GEL_Reset(); /* Reset DSP */ - } - -} - - -/********************************************************************/ -/* These functions are launched by the GEL_Toolbar button plugin */ -/********************************************************************/ -GEL_Toolbar1() -{ - Run_Realtime_with_Reset(); -} -GEL_Toolbar2() -{ - Run_Realtime_with_Restart(); -} -GEL_Toolbar3() -{ - Full_Halt(); -} -GEL_Toolbar4() -{ - Full_Halt_with_Reset(); -} - -int GEL_Toolbar5_Toggle = 0; -GEL_Toolbar5() -{ - if(GEL_Toolbar5_Toggle == 0) - { - GEL_Toolbar5_Toggle = 1; - GEL_OpenWindow("GEL_Buttons",1,4); - GEL_TextOut("Button 1: Run_Realtime_with_Reset()","GEL_Buttons",0,0); - GEL_TextOut("Button 2: Run_Realtime_with_Restart()","GEL_Buttons",0,1); - GEL_TextOut("Button 3: Full_Halt()", "GEL_Buttons",0,2); - GEL_TextOut("Button 4: Full_Halt_with_Reset()","GEL_Buttons",0,3); - } - else - { - GEL_Toolbar5_Toggle = 0; - GEL_CloseWindow("GEL_Buttons"); - } -} - - -/********************************************************************/ -/* These functions are useful to engage/dis-enagage realtime */ -/* emulation mode during debug. They save the user from having to */ -/* manually perform these steps in CCS. */ -/********************************************************************/ -menuitem "Realtime Emulation Control"; - -hotmenu Run_Realtime_with_Reset() -{ - GEL_Reset(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Run_Realtime_with_Restart() -{ - GEL_Restart(); /* Reset the DSP */ - ST1 = ST1 & 0xFFFD; /* clear DBGM bit in ST1 */ - GEL_EnableRealtime(); /* Enable Realtime mode */ - GEL_Run(); /* Run the DSP */ -} -hotmenu Full_Halt() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ -} -hotmenu Full_Halt_with_Reset() -{ - GEL_DisableRealtime(); /* Disable Realtime mode */ - GEL_Halt(); /* Halt the DSP */ - GEL_Reset(); /* Reset the DSP */ -} - - -/********************************************************************/ -/* F28335 Memory Map */ -/* */ -/* Note: M0M1MAP and VMAP signals tied high on F28335 core */ -/* */ -/* 0x000000 - 0x0003ff M0 SARAM (Prog and Data) */ -/* 0x000400 - 0x0007ff M1 SARAM (Prog and Data) */ -/* 0x000800 - 0x001fff Peripheral Frame0 (PF0) (Data only) */ -/* 0x004000 - 0x004fff XINTF Zone 0 (Prog and Data) */ -/* 0x005000 - 0x005fff Peripheral Frame3 (PF3) (Data only) */ -/* 0x006000 - 0x006fff Peripheral Frame1 (PF1) (Data only) */ -/* 0x007000 - 0x007fff Peripheral Frame2 (PF2) (Data only) */ -/* 0x008000 - 0x008fff L0 SARAM (Prog and Data) */ -/* 0x009000 - 0x009fff L1 SARAM (Prog and Data) */ -/* 0x00A000 - 0x00Afff L2 SARAM (Prog and Data) */ -/* 0x00B000 - 0x00Bfff L3 SARAM (Prog and Data) */ -/* 0x00C000 - 0x00Cfff L4 SARAM (Prog and Data) */ -/* 0x00D000 - 0x00Dfff L5 SARAM (Prog and Data) */ -/* 0x00E000 - 0x00Efff L6 SARAM (Prog and Data) */ -/* 0x00F000 - 0x00Ffff L7 SARAM (Prog and Data) */ -/* 0x100000 - 0x1fffff XINTF Zone 6 (Prog and Data) */ -/* 0x200000 - 0x2fffff XINTF Zone 7 (Prog and Data */ -/* 0x300000 - 0x33ffff Flash (Prog and Data) */ -/* 0x380080 - 0x380088 ADC_cal function (Prog and Data) */ -/* 0x380090 - 0x380090 PARTID value (Prog and Data) */ -/* 0x380400 - 0x3807ff OTP (Prog and Data) */ -/* 0x3f8000 - 0x3f8fff L0 SARAM (Prog and Data) */ -/* 0x3f9000 - 0x3f9fff L1 SARAM (Prog and Data) */ -/* 0x3fA000 - 0x3fAfff L2 SARAM (Prog and Data) */ -/* 0x3fB000 - 0x3fBfff L3 SARAM (Prog and Data) */ -/* 0x3fe000 - 0x3fffff BOOT ROM (Prog and Data) */ -/********************************************************************/ -menuitem "Initialize Memory Map"; - -hotmenu F28335_Memory_Map() -{ - GEL_MapReset(); - GEL_MapOn(); - - /* Program memory map */ - GEL_MapAdd(0x0,0,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,0,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x4000,0,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x8000,0,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,0,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,0,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,0,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,0,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,0,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0xE000,0,0x1000,1,1); /* L6 SARAM */ - GEL_MapAdd(0xF000,0,0x1000,1,1); /* L7 SARAM */ - GEL_MapAdd(0x100000,0,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,0,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x300000,0,0x40000,1,0); /* FLASH */ - GEL_MapAdd(0x380080,0,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,0,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x380400,0,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x3f8000,0,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,0,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,0,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,0,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,0,0x2000,1,0); /* BOOT ROM */ - - /* Data memory map */ - GEL_MapAdd(0x000,1,0x400,1,1); /* M0 SARAM */ - GEL_MapAdd(0x400,1,0x400,1,1); /* M1 SARAM */ - GEL_MapAdd(0x800,1,0x1800,1,1); /* PF0 */ - GEL_MapAdd(0x4000,1,0x1000,1,1); /* Zone 0 */ - GEL_MapAdd(0x5000,1,0x1000,1,1); /* PF3 */ - GEL_MapAdd(0x6000,1,0x1000,1,1); /* PF1 */ - GEL_MapAddStr(0x7000,1,0x1000,"R|W|AS2",0); /* PF2 */ - GEL_MapAdd(0x8000,1,0x1000,1,1); /* L0 SARAM */ - GEL_MapAdd(0x9000,1,0x1000,1,1); /* L1 SARAM */ - GEL_MapAdd(0xA000,1,0x1000,1,1); /* L2 SARAM */ - GEL_MapAdd(0xB000,1,0x1000,1,1); /* L3 SARAM */ - GEL_MapAdd(0xC000,1,0x1000,1,1); /* L4 SARAM */ - GEL_MapAdd(0xD000,1,0x1000,1,1); /* L5 SARAM */ - GEL_MapAdd(0xE000,1,0x1000,1,1); /* L6 SARAM */ - GEL_MapAdd(0xF000,1,0x1000,1,1); /* L7 SARAM */ - GEL_MapAdd(0x100000,1,0x100000,1,1); /* Zone 6 */ - GEL_MapAdd(0x200000,1,0x100000,1,1); /* Zone 7 */ - GEL_MapAdd(0x300000,1,0x40000,1,0); /* FLASH */ - GEL_MapAdd(0x380400,1,0x00400,1,0); /* OTP */ - GEL_MapAdd(0x380080,1,0x00009,1,0); /* ADC_cal function*/ - GEL_MapAdd(0x380090,1,0x00001,1,0); /* PARTID value */ - GEL_MapAdd(0x3f8000,1,0x1000,1,1); /* L0 SARAM Mirror */ - GEL_MapAdd(0x3f9000,1,0x1000,1,1); /* L1 SARAM Mirror */ - GEL_MapAdd(0x3fA000,1,0x1000,1,1); /* L2 SARAM Mirror */ - GEL_MapAdd(0x3fb000,1,0x1000,1,1); /* L3 SARAM Mirror */ - GEL_MapAdd(0x3fe000,1,0x2000,1,0); /* BOOT ROM */ -} - - -/********************************************************************/ -/* The ESTOP0 fill functions are useful for debug. They fill the */ -/* RAM with software breakpoints that will trap runaway code. */ -/********************************************************************/ -hotmenu Fill_F28335_RAM_with_ESTOP0() -{ - GEL_MemoryFill(0x000000,1,0x000800,0x7625); /* Fill M0/M1 */ - GEL_MemoryFill(0x008000,1,0x002000,0x7625); /* Fill L0/L1 */ - GEL_MemoryFill(0x00A000,1,0x002000,0x7625); /* Fill L2/L3 */ - GEL_MemoryFill(0x00C000,1,0x002000,0x7625); /* Fill L4/L5 */ - GEL_MemoryFill(0x00E000,1,0x002000,0x7625); /* Fill L6/L7 */ -} - - -/********************************************************************/ -menuitem "Watchdog"; -hotmenu Disable_WD() -{ - *0x7029 = *0x7029 | 0x0068; /* Set the WDDIS bit */ - *0x7025 = 0x0055; /* Service the WD */ - *0x7025 = 0x00AA; /* once to be safe. */ - GEL_TextOut("\nWatchdog Timer Disabled"); -} - - -/********************************************************************/ -menuitem "Code Security Module" -hotmenu Unlock_CSM() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - /* Write passwords to the KEY registers. 0xFFFF's are dummy passwords. - User should replace them with the correct password for their DSP */ - *0xAE0 = 0xFFFF; - *0xAE1 = 0xFFFF; - *0xAE2 = 0xFFFF; - *0xAE3 = 0xFFFF; - *0xAE4 = 0xFFFF; - *0xAE5 = 0xFFFF; - *0xAE6 = 0xFFFF; - *0xAE7 = 0xFFFF; -} - - -/********************************************************************/ -menuitem "Addressing Modes"; -hotmenu C28x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C24x_Mode() -{ - ST1 = ST1 | 0x0100; /* AMODE = 1 */ - ST1 = ST1 | 0x0200; /* OBJMODE = 1 */ -} -hotmenu C27x_Mode() -{ - ST1 = ST1 & (~0x0100); /* AMODE = 0 */ - ST1 = ST1 & (~0x0200); /* OBJMODE = 0 */ -} - - -/********************************************************************/ -/* PLL Ratios */ -/* */ -/* The following table describes the PLL clocking ratios (0..10) */ -/* */ -/* Ratio CLKIN Description */ -/* ----- -------------- ------------ */ -/* 0 OSCCLK/2 PLL bypassed */ -/* 1 (OSCCLK * 1)/2 15 Mhz for 30 Mhz CLKIN */ -/* 2 (OSCCLK * 2)/2 30 Mhz for 30 Mhz CLKIN */ -/* 3 (OSCCLK * 3)/2 45 Mhz for 30 Mhz CLKIN */ -/* 4 (OSCCLK * 4)/2 60 Mhz for 30 Mhz CLKIN */ -/* 5 (OSCCLK * 5)/2 75 Mhz for 30 Mhz CLKIN */ -/* 6 (OSCCLK * 6)/2 90 Mhz for 30 Mhz CLKIN */ -/* 7 (OSCCLK * 7)/2 105 Mhz for 30 Mhz CLKIN */ -/* 8 (OSCCLK * 8)/2 120 Mhz for 30 Mhz CLKIN */ -/* 9 (OSCCLK * 9)/2 135 Mhz for 30 Mhz CLKIN */ -/* 10 (OSCCLK * 10)/2 150 Mhz for 30 Mhz CLKIN */ -/********************************************************************/ -menuitem "Set PLL Ratio"; - -hotmenu Bypass() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 0; /* CLKIN = OSCCLK/2, PLL is bypassed */ - PLL_Wait(); -} -hotmenu OSCCLK_x1_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x2_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x3_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x4_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x5_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x6_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x7_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x8_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x9_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/2 */ - PLL_Wait(); -} -hotmenu OSCCLK_x10_divided_by_2() -{ - DIVSEL_div2(); /* DIVSEL = 1/2 */ - *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/2 */ - PLL_Wait(); -} -// hotmenu OSCCLK_x1_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 1; /* CLKIN = (OSCCLK * 1)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x2_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 2; /* CLKIN = (OSCCLK * 2)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x3_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 3; /* CLKIN = (OSCCLK * 3)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x4_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 4; /* CLKIN = (OSCCLK * 4)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x5_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 5; /* CLKIN = (OSCCLK * 5)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x6_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 6; /* CLKIN = (OSCCLK * 6)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x7_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 7; /* CLKIN = (OSCCLK * 7)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x8_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 8; /* CLKIN = (OSCCLK * 8)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x9_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 9; /* CLKIN = (OSCCLK * 9)/1 */ -// PLL_Wait(); -// } -// hotmenu OSCCLK_x10_divided_by_1() -// { -// DIVSEL_div1(); /* DIVSEL = 1/1 */ -// *0x7021 = 10; /* CLKIN = (OSCCLK * 10)/1 */ -// PLL_Wait(); -// } - - - -/********************************************************************/ -/* For F2833x devices, DIVSEL is 1/4 by default. Switch it to 1/2 */ -/********************************************************************/ - -DIVSEL_div2() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - temp = *PLLSTS; - temp &= 0xFE7F; /* Clear bits 7 & 8 */ - temp |= 2 << 7; /* Set bit 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - - - -/********************************************************************/ -/* For F2833x devices, DIVSEL is 1/4 by default. Switch it to /1 */ -/********************************************************************/ - -DIVSEL_div1() -{ - int temp; - int PLLSTS; - - PLLSTS = 0x7011; - - DIVSEL_div2(); /* First switch DIVSEL to 1/2 and wait */ - wait(); - temp = *PLLSTS; - temp |= 3 << 7; /* Set bits 7 & 8 */ - *PLLSTS = temp; /* Switch to 1/2 */ -} - -wait() -{ - int delay = 0; - for (delay = 0; delay <= 5; delay ++) - {} -} - -/********************************************************************/ -/* For F2833x devices, check the PLLOCKS bit for PLL lock. */ -/********************************************************************/ -PLL_Wait() -{ - int PLLSTS; - int delay = 0; - - PLLSTS = 0x7011; - - - while ( ( (unsigned int)*PLLSTS & 0x0001) != 0x0001) - { - delay++; - GEL_TextOut("Waiting for PLL Lock, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); - } - GEL_TextOut("\nPLL lock complete, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS); -} - -/********************************************************************/ -/* Load the ADC Calibration values from TI OTP */ -/********************************************************************/ -menuitem "ADC Calibration" -hotmenu ADC_Cal() -{ - /* Perform dummy reads of the password locations */ - XAR0 = *0x33FFF8; - XAR0 = *0x33FFF9; - XAR0 = *0x33FFFA; - XAR0 = *0x33FFFB; - XAR0 = *0x33FFFC; - XAR0 = *0x33FFFD; - XAR0 = *0x33FFFE; - XAR0 = *0x33FFFF; - - - if(((*0x0AEF) & 0x0001) == 0) - { - XAR0 = *0x701C; - *0x701C |= 0x0008; - *0x711C = *0x380083; - *0x711D = *0x380085; - *0x701C = XAR0; - XAR0 = 0; - - } - else - { - GEL_TextOut("\nADC Calibration not complete, check if device is unlocked and recalibrate."); - } -} - -/********************************************************************/ -/* Enable the XINTF and configure GPIOs for XINTF function */ -/********************************************************************/ -menuitem "XINTF Enable" -hotmenu XINTF_Enable() -{ - - /* enable XINTF clock (XTIMCLK) */ - - *0x7020 = 0x3700; - /* GPBMUX1: XA0-XA7, XA16, XZCS0, */ - /* XZCS7, XREADY, XRNW, XWE0 */ - /* GPAMUX2: XA17-XA19, XZCS6 */ - /* GPCMUX2: XA8-XA15 */ - /* GPCMUX1: XD0-XD15 */ - *(unsigned long *)0x6F96 = 0xFFFFFFC0; /* GPBMUX1 */ - *(unsigned long *)0x6f88 = 0xFF000000; /* GPAMUX2 */ - *(unsigned long *)0x6FA8 = 0x0000AAAA; /* GPCMUX2 */ - *(unsigned long *)0x6FA6 = 0xAAAAAAAA; /* GPCMUX1 */ - - /* Uncomment for x32 data bus */ - /* GPBMUX2: XD16-XD31 */ -// *(unsigned long *)0x6F98 = 0xFFFFFFFF; /* GPBMUX2 */ - - /* Zone timing. - /* Each zone can be configured seperately */ - /* Uncomment the x16 or the x32 timing */ - /* depending on the data bus width for */ - /* the zone */ - - /* x16 Timing */ - *(unsigned long *)0x0B20 = 0x0043FFFF; /* Zone0 */ - *(unsigned long *)0x0B2C = 0x0043FFFF; /* Zone6 */ - *(unsigned long *)0x0B2E = 0x0043FFFF; /* Zone7 */ - - /* x32 Timing: -// *(unsigned long *)0x0B20 = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2C = 0x0041FFFF; /* x32 */ -// *(unsigned long *)0x0B2E = 0x0041FFFF; /* x32 */ - - -} - - - - - -/********************************************************************/ -/* The below are used to display the symbolic names of the F28335 */ -/* memory mapped registers in the watch window. To view these */ -/* registers, click on the GEL menu button in Code Composer Studio, */ -/* then select which registers or groups of registers you want to */ -/* view. They will appear in the watch window under the Watch1 tab. */ -/********************************************************************/ - -/* Add a space line to the GEL menu */ -menuitem "______________________________________"; -hotmenu __() {} - -/********************************************************************/ -/* A/D Converter Registers */ -/********************************************************************/ -menuitem "Watch ADC Registers"; - -hotmenu All_ADC_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); - - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} -hotmenu ADC_Control_Regs() -{ - GEL_WatchAdd("*0x7100,x","ADCTRL1"); - GEL_WatchAdd("*0x7101,x","ADCTRL2"); - GEL_WatchAdd("*0x7102,x","ADCMAXCONV"); - GEL_WatchAdd("*0x7107,x","ADCASEQSR"); - GEL_WatchAdd("*0x7118,x","ADCTRL3"); - GEL_WatchAdd("*0x7119,x","ADCST"); - GEL_WatchAdd("*0x711C,x","ADCREFSEL"); - GEL_WatchAdd("*0x711D,x","ADCOFFTRIM"); -} -hotmenu ADCCHSELSEQx_Regs() -{ - GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1"); - GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2"); - GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3"); - GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4"); -} -hotmenu ADCRESULT_0_to_7() -{ - GEL_WatchAdd("*0x7108,x","ADCRESULT0"); - GEL_WatchAdd("*0x7109,x","ADCRESULT1"); - GEL_WatchAdd("*0x710A,x","ADCRESULT2"); - GEL_WatchAdd("*0x710B,x","ADCRESULT3"); - GEL_WatchAdd("*0x710C,x","ADCRESULT4"); - GEL_WatchAdd("*0x710D,x","ADCRESULT5"); - GEL_WatchAdd("*0x710E,x","ADCRESULT6"); - GEL_WatchAdd("*0x710F,x","ADCRESULT7"); -} -hotmenu ADCRESULT_8_to_15() -{ - GEL_WatchAdd("*0x7110,x","ADCRESULT8"); - GEL_WatchAdd("*0x7111,x","ADCRESULT9"); - GEL_WatchAdd("*0x7112,x","ADCRESULT10"); - GEL_WatchAdd("*0x7113,x","ADCRESULT11"); - GEL_WatchAdd("*0x7114,x","ADCRESULT12"); - GEL_WatchAdd("*0x7115,x","ADCRESULT13"); - GEL_WatchAdd("*0x7116,x","ADCRESULT14"); - GEL_WatchAdd("*0x7117,x","ADCRESULT15"); -} -hotmenu ADCRESULT_Mirror_0_to_7() -{ - GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror"); - GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror"); - GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror"); - GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror"); - GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror"); - GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror"); - GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror"); - GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror"); -} -hotmenu ADCRESULT_Mirror_8_to_15() -{ - GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror"); - GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror"); - GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror"); - GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror"); - GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror"); - GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror"); - GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror"); - GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror"); -} - - -/********************************************************************/ -/* Clocking and Low-Power Registers */ -/********************************************************************/ -menuitem "Watch Clocking and Low-Power Registers"; - -hotmenu All_Clocking_and_Low_Power_Regs() -{ - GEL_WatchAdd("*0x7010,x","XCLK"); - GEL_WatchAdd("*0x7011,x","PLLSTS"); - GEL_WatchAdd("*0x701A,x","HISPCP"); - GEL_WatchAdd("*0x701B,x","LOSPCP"); - GEL_WatchAdd("*0x701C,x","PCLKCR0"); - GEL_WatchAdd("*0x701D,x","PCLKCR1"); - GEL_WatchAdd("*0x701E,x","LPMCR0"); - GEL_WatchAdd("*0x7020,x","PCLKCR3"); - GEL_WatchAdd("*0x7021,x","PLLCR"); -} - - -/********************************************************************/ -/* Code Security Module Registers */ -/********************************************************************/ -menuitem "Watch Code Security Module Registers"; - -hotmenu CSMSCR() -{ - GEL_WatchAdd("*0x0AEF,x","CSMSCR"); - GEL_WatchAdd("(*0x0AEF>>15)&1,d"," FORCESEC bit"); - GEL_WatchAdd("(*0x0AEF)&1,d"," SECURE bit"); -} -hotmenu PWL_Locations() -{ - GEL_WatchAdd("*0x33FFF8,x","PWL0"); - GEL_WatchAdd("*0x33FFF9,x","PWL1"); - GEL_WatchAdd("*0x33FFFA,x","PWL2"); - GEL_WatchAdd("*0x33FFFB,x","PWL3"); - GEL_WatchAdd("*0x33FFFC,x","PWL4"); - GEL_WatchAdd("*0x33FFFD,x","PWL5"); - GEL_WatchAdd("*0x33FFFE,x","PWL6"); - GEL_WatchAdd("*0x33FFFF,x","PWL7"); -} - - -/********************************************************************/ -/* CPU Timer Registers */ -/********************************************************************/ -menuitem "Watch CPU Timer Registers"; - -hotmenu All_CPU_Timer0_Regs() -{ - GEL_WatchAdd("*0x0C00,x","TIMER0TIM"); - GEL_WatchAdd("*0x0C01,x","TIMER0TIMH"); - GEL_WatchAdd("*0x0C02,x","TIMER0PRD"); - GEL_WatchAdd("*0x0C03,x","TIMER0PRDH"); - GEL_WatchAdd("*0x0C04,x","TIMER0TCR"); - GEL_WatchAdd("*0x0C06,x","TIMER0TPR"); - GEL_WatchAdd("*0x0C07,x","TIMER0TPRH"); -} -hotmenu All_CPU_Timer1_Regs() -{ - GEL_WatchAdd("*0x0C08,x","TIMER1TIM"); - GEL_WatchAdd("*0x0C09,x","TIMER1TIMH"); - GEL_WatchAdd("*0x0C0A,x","TIMER1PRD"); - GEL_WatchAdd("*0x0C0B,x","TIMER1PRDH"); - GEL_WatchAdd("*0x0C0C,x","TIMER1TCR"); - GEL_WatchAdd("*0x0C0E,x","TIMER1TPR"); - GEL_WatchAdd("*0x0C0F,x","TIMER1TPRH"); -} -hotmenu All_CPU_Timer2_Regs() -{ - GEL_WatchAdd("*0x0C10,x","TIMER2TIM"); - GEL_WatchAdd("*0x0C11,x","TIMER2TIMH"); - GEL_WatchAdd("*0x0C12,x","TIMER2PRD"); - GEL_WatchAdd("*0x0C13,x","TIMER2PRDH"); - GEL_WatchAdd("*0x0C14,x","TIMER2TCR"); - GEL_WatchAdd("*0x0C16,x","TIMER2TPR"); - GEL_WatchAdd("*0x0C17,x","TIMER2TPRH"); -} - - -/********************************************************************/ -/* Device Emulation Registers */ -/********************************************************************/ -menuitem "Watch Device Emulation Registers"; - -hotmenu All_Emulation_Regs() -{ - GEL_WatchAdd("*(long *)0x0880,x","DEVICECNF"); - GEL_WatchAdd("*0x0882,x","CLASSID"); - GEL_WatchAdd("*0x0883,x","REVID"); - GEL_WatchAdd("*0x0884,x","PROTSTART"); - GEL_WatchAdd("*0x0885,x","PROTRANGE"); - GEL_WatchAdd("*0x380090,x","PARTID"); -} -/********************************************************************/ -/* DMA Registers */ -/********************************************************************/ -menuitem "Watch DMA Registers"; - -hotmenu All_DMA_Regs() -{ - GEL_WatchAdd("*0x1000,x","DMACTRL"); - GEL_WatchAdd("*0x1001,x","DEBUGCTRL"); - GEL_WatchAdd("*0x1002,x","REVISION"); - GEL_WatchAdd("*0x1004,x","PRIORITYCTRL1"); - GEL_WatchAdd("*0x1006,x","PRIORITYSTAT"); - - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); - - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); - - -} -hotmenu DMA_Channel_1_regs() -{ - GEL_WatchAdd("*0x1020,x","DMA Ch1 MODE"); - GEL_WatchAdd("*0x1021,x","DMA Ch1 CONTROL"); - GEL_WatchAdd("*0x1022,x","DMA Ch1 BURST_SIZE"); - GEL_WatchAdd("*0x1023,x","DMA Ch1 BURST_COUNT"); - GEL_WatchAdd("*0x1024,x","DMA Ch1 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1025,x","DMA Ch1 DST_BURST_STEP"); - GEL_WatchAdd("*0x1026,x","DMA Ch1 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1027,x","DMA Ch1 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1028,x","DMA Ch1 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1029,x","DMA Ch1 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x102A,x","DMA Ch1 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x102B,x","DMA Ch1 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x102C,x","DMA Ch1 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x102D,x","DMA Ch1 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x102E,x","DMA Ch1 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x102F,x","DMA Ch1 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1030,x","DMA Ch1 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1032,x","DMA Ch1 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1034,x","DMA Ch1 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1036,x","DMA Ch1 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1038,x","DMA Ch1 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103A,x","DMA Ch1 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x103C,x","DMA Ch1 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x103E,x","DMA Ch1 DST_ADDR_ACTIVE"); -} - -hotmenu DMA_Channel_2_regs() -{ - GEL_WatchAdd("*0x1040,x","DMA Ch2 MODE"); - GEL_WatchAdd("*0x1041,x","DMA Ch2 CONTROL"); - GEL_WatchAdd("*0x1042,x","DMA Ch2 BURST_SIZE"); - GEL_WatchAdd("*0x1043,x","DMA Ch2 BURST_COUNT"); - GEL_WatchAdd("*0x1044,x","DMA Ch2 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1045,x","DMA Ch2 DST_BURST_STEP"); - GEL_WatchAdd("*0x1046,x","DMA Ch2 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1047,x","DMA Ch2 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1048,x","DMA Ch2 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1049,x","DMA Ch2 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x104A,x","DMA Ch2 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x104B,x","DMA Ch2 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x104C,x","DMA Ch2 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x104D,x","DMA Ch2 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x104E,x","DMA Ch2 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x104F,x","DMA Ch2 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1050,x","DMA Ch2 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1052,x","DMA Ch2 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1054,x","DMA Ch2 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1056,x","DMA Ch2 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1058,x","DMA Ch2 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105A,x","DMA Ch2 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x105C,x","DMA Ch2 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x105E,x","DMA Ch2 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_3_regs() -{ - GEL_WatchAdd("*0x1060,x","DMA Ch3 MODE"); - GEL_WatchAdd("*0x1061,x","DMA Ch3 CONTROL"); - GEL_WatchAdd("*0x1062,x","DMA Ch3 BURST_SIZE"); - GEL_WatchAdd("*0x1063,x","DMA Ch3 BURST_COUNT"); - GEL_WatchAdd("*0x1064,x","DMA Ch3 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1065,x","DMA Ch3 DST_BURST_STEP"); - GEL_WatchAdd("*0x1066,x","DMA Ch3 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1067,x","DMA Ch3 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1068,x","DMA Ch3 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1069,x","DMA Ch3 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x106A,x","DMA Ch3 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x106B,x","DMA Ch3 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x106C,x","DMA Ch3 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x106D,x","DMA Ch3 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x106E,x","DMA Ch3 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x106F,x","DMA Ch3 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1070,x","DMA Ch3 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1072,x","DMA Ch3 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1074,x","DMA Ch3 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1076,x","DMA Ch3 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1078,x","DMA Ch3 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107A,x","DMA Ch3 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x107C,x","DMA Ch3 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x107E,x","DMA Ch3 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_4_regs() -{ - GEL_WatchAdd("*0x1080,x","DMA Ch4 MODE"); - GEL_WatchAdd("*0x1081,x","DMA Ch4 CONTROL"); - GEL_WatchAdd("*0x1082,x","DMA Ch4 BURST_SIZE"); - GEL_WatchAdd("*0x1083,x","DMA Ch4 BURST_COUNT"); - GEL_WatchAdd("*0x1084,x","DMA Ch4 SRC_BURST_STEP"); - GEL_WatchAdd("*0x1085,x","DMA Ch4 DST_BURST_STEP"); - GEL_WatchAdd("*0x1086,x","DMA Ch4 TRANSFER_SIZE"); - GEL_WatchAdd("*0x1087,x","DMA Ch4 TRANSFER_COUNT"); - GEL_WatchAdd("*0x1088,x","DMA Ch4 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x1089,x","DMA Ch4 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x108A,x","DMA Ch4 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x108B,x","DMA Ch4 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x108C,x","DMA Ch4 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x108D,x","DMA Ch4 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x108E,x","DMA Ch4 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x108F,x","DMA Ch4 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x1090,x","DMA Ch4 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1092,x","DMA Ch4 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x1094,x","DMA Ch4 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1096,x","DMA Ch4 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x1098,x","DMA Ch4 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109A,x","DMA Ch4 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x109C,x","DMA Ch4 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x109E,x","DMA Ch4 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_5_regs() -{ - GEL_WatchAdd("*0x10A0,x","DMA Ch5 MODE"); - GEL_WatchAdd("*0x10A1,x","DMA Ch5 CONTROL"); - GEL_WatchAdd("*0x10A2,x","DMA Ch5 BURST_SIZE"); - GEL_WatchAdd("*0x10A3,x","DMA Ch5 BURST_COUNT"); - GEL_WatchAdd("*0x10A4,x","DMA Ch5 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10A5,x","DMA Ch5 DST_BURST_STEP"); - GEL_WatchAdd("*0x10A6,x","DMA Ch5 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10A7,x","DMA Ch5 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10A8,x","DMA Ch5 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10A9,x","DMA Ch5 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10AA,x","DMA Ch5 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10AB,x","DMA Ch5 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10AC,x","DMA Ch5 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10AD,x","DMA Ch5 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10AE,x","DMA Ch5 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10AF,x","DMA Ch5 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10B0,x","DMA Ch5 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B2,x","DMA Ch5 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10B4,x","DMA Ch5 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B6,x","DMA Ch5 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10B8,x","DMA Ch5 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BA,x","DMA Ch5 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10BC,x","DMA Ch5 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10BE,x","DMA Ch5 DST_ADDR_ACTIVE"); -} -hotmenu DMA_Channel_6_regs() -{ - GEL_WatchAdd("*0x10C0,x","DMA Ch6 MODE"); - GEL_WatchAdd("*0x10C1,x","DMA Ch6 CONTROL"); - GEL_WatchAdd("*0x10C2,x","DMA Ch6 BURST_SIZE"); - GEL_WatchAdd("*0x10C3,x","DMA Ch6 BURST_COUNT"); - GEL_WatchAdd("*0x10C4,x","DMA Ch6 SRC_BURST_STEP"); - GEL_WatchAdd("*0x10C5,x","DMA Ch6 DST_BURST_STEP"); - GEL_WatchAdd("*0x10C6,x","DMA Ch6 TRANSFER_SIZE"); - GEL_WatchAdd("*0x10C7,x","DMA Ch6 TRANSFER_COUNT"); - GEL_WatchAdd("*0x10C8,x","DMA Ch6 SRC_TRANSFER_STEP"); - GEL_WatchAdd("*0x10C9,x","DMA Ch6 DST_TRANSFER_STEP"); - GEL_WatchAdd("*0x10CA,x","DMA Ch6 SRC_WRAP_SIZE"); - GEL_WatchAdd("*0x10CB,x","DMA Ch6 SRC_WRAP_COUNT"); - GEL_WatchAdd("*0x10CC,x","DMA Ch6 SRC_WRAP_STEP"); - GEL_WatchAdd("*0x10CD,x","DMA Ch6 DST_WRAP_SIZE"); - GEL_WatchAdd("*0x10CE,x","DMA Ch6 DST_WRAP_COUNT"); - GEL_WatchAdd("*0x10CF,x","DMA Ch6 DST_WRAP_STEP"); - GEL_WatchAdd("*(long *)0x10D0,x","DMA Ch6 SRC_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D2,x","DMA Ch6 SRC_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10D4,x","DMA Ch6 SRC_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D6,x","DMA Ch6 SRC_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10D8,x","DMA Ch6 DST_BEG_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DA,x","DMA Ch6 DST_ADDR_SHDW"); - GEL_WatchAdd("*(long *)0x10DC,x","DMA Ch6 DST_BEG_ADDR_ACTIVE"); - GEL_WatchAdd("*(long *)0x10DE,x","DMA Ch6 DST_ADDR_ACTIVE"); -} - -/********************************************************************/ -/* eCAN Registers */ -/********************************************************************/ -menuitem "Watch eCAN Registers"; - -hotmenu eCAN_A_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6000,x","eCANA CANME"); - GEL_WatchAdd("*(long *)0x6002,x","eCANA CANMD"); - GEL_WatchAdd("*(long *)0x6004,x","eCANA CANTRS"); - GEL_WatchAdd("*(long *)0x6006,x","eCANA CANTRR"); - GEL_WatchAdd("*(long *)0x6008,x","eCANA CANTA"); - GEL_WatchAdd("*(long *)0x600A,x","eCANA CANAA"); - GEL_WatchAdd("*(long *)0x600C,x","eCANA CANRMP"); - GEL_WatchAdd("*(long *)0x600E,x","eCANA CANRML"); - GEL_WatchAdd("*(long *)0x6010,x","eCANA CANRFP"); - GEL_WatchAdd("*(long *)0x6014,x","eCANA CANMC"); - GEL_WatchAdd("*(long *)0x6016,x","eCANA CANBTC"); - GEL_WatchAdd("*(long *)0x6018,x","eCANA CANES"); - GEL_WatchAdd("*(long *)0x601A,x","eCANA CANTEC"); - GEL_WatchAdd("*(long *)0x601C,x","eCANA CANREC"); - GEL_WatchAdd("*(long *)0x601E,x","eCANA CANGIF0"); - GEL_WatchAdd("*(long *)0x6020,x","eCANA CANGIM"); - GEL_WatchAdd("*(long *)0x6022,x","eCANA CANGIF1"); - GEL_WatchAdd("*(long *)0x6024,x","eCANA CANMIM"); - GEL_WatchAdd("*(long *)0x6026,x","eCANA CANMIL"); - GEL_WatchAdd("*(long *)0x6028,x","eCANA CANOPC"); - GEL_WatchAdd("*(long *)0x602A,x","eCANA CANTIOC"); - GEL_WatchAdd("*(long *)0x602C,x","eCANA CANRIOC"); - GEL_WatchAdd("*(long *)0x602E,x","eCANA CANLNT"); - GEL_WatchAdd("*(long *)0x6030,x","eCANA CANTOC"); - GEL_WatchAdd("*(long *)0x6032,x","eCANA CANTOS"); -} -hotmenu eCAN_A_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6040,x","eCANA LAM0"); - GEL_WatchAdd("*(long *)0x6080,x","eCANA MOTS0"); - GEL_WatchAdd("*(long *)0x60C0,x","eCANA MOTO0"); - GEL_WatchAdd("*(long *)0x6100,x","eCANA MID0"); - GEL_WatchAdd("*(long *)0x6102,x","eCANA MCF0"); - GEL_WatchAdd("*(long *)0x6104,x","eCANA MDL0"); - GEL_WatchAdd("*(long *)0x6106,x","eCANA MDH0"); - - GEL_WatchAdd("*(long *)0x6042,x","eCANA LAM1"); - GEL_WatchAdd("*(long *)0x6082,x","eCANA MOTS1"); - GEL_WatchAdd("*(long *)0x60C2,x","eCANA MOTO1"); - GEL_WatchAdd("*(long *)0x6108,x","eCANA MID1"); - GEL_WatchAdd("*(long *)0x610A,x","eCANA MCF1"); - GEL_WatchAdd("*(long *)0x610C,x","eCANA MDL1"); - GEL_WatchAdd("*(long *)0x610E,x","eCANA MDH1"); -} -hotmenu eCAN_A_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6044,x","eCANA LAM2"); - GEL_WatchAdd("*(long *)0x6084,x","eCANA MOTS2"); - GEL_WatchAdd("*(long *)0x60C4,x","eCANA MOTO2"); - GEL_WatchAdd("*(long *)0x6110,x","eCANA MID2"); - GEL_WatchAdd("*(long *)0x6112,x","eCANA MCF2"); - GEL_WatchAdd("*(long *)0x6114,x","eCANA MDL2"); - GEL_WatchAdd("*(long *)0x6116,x","eCANA MDH2"); - - GEL_WatchAdd("*(long *)0x6046,x","eCANA LAM3"); - GEL_WatchAdd("*(long *)0x6086,x","eCANA MOTS3"); - GEL_WatchAdd("*(long *)0x60C6,x","eCANA MOTO3"); - GEL_WatchAdd("*(long *)0x6118,x","eCANA MID3"); - GEL_WatchAdd("*(long *)0x611A,x","eCANA MCF3"); - GEL_WatchAdd("*(long *)0x611C,x","eCANA MDL3"); - GEL_WatchAdd("*(long *)0x611E,x","eCANA MDH3"); -} -hotmenu eCAN_A_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6048,x","eCANA LAM4"); - GEL_WatchAdd("*(long *)0x6088,x","eCANA MOTS4"); - GEL_WatchAdd("*(long *)0x60C8,x","eCANA MOTO4"); - GEL_WatchAdd("*(long *)0x6120,x","eCANA MID4"); - GEL_WatchAdd("*(long *)0x6122,x","eCANA MCF4"); - GEL_WatchAdd("*(long *)0x6124,x","eCANA MDL4"); - GEL_WatchAdd("*(long *)0x6126,x","eCANA MDH4"); - - GEL_WatchAdd("*(long *)0x604A,x","eCANA LAM5"); - GEL_WatchAdd("*(long *)0x608A,x","eCANA MOTS5"); - GEL_WatchAdd("*(long *)0x60CA,x","eCANA MOTO5"); - GEL_WatchAdd("*(long *)0x6128,x","eCANA MID5"); - GEL_WatchAdd("*(long *)0x612A,x","eCANA MCF5"); - GEL_WatchAdd("*(long *)0x612C,x","eCANA MDL5"); - GEL_WatchAdd("*(long *)0x612E,x","eCANA MDH5"); -} -hotmenu eCAN_A_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x604C,x","eCANA LAM6"); - GEL_WatchAdd("*(long *)0x608C,x","eCANA MOTS6"); - GEL_WatchAdd("*(long *)0x60CC,x","eCANA MOTO6"); - GEL_WatchAdd("*(long *)0x6130,x","eCANA MID6"); - GEL_WatchAdd("*(long *)0x6132,x","eCANA MCF6"); - GEL_WatchAdd("*(long *)0x6134,x","eCANA MDL6"); - GEL_WatchAdd("*(long *)0x6136,x","eCANA MDH6"); - - GEL_WatchAdd("*(long *)0x604E,x","eCANA LAM7"); - GEL_WatchAdd("*(long *)0x608E,x","eCANA MOTS7"); - GEL_WatchAdd("*(long *)0x60CE,x","eCANA MOTO7"); - GEL_WatchAdd("*(long *)0x6138,x","eCANA MID7"); - GEL_WatchAdd("*(long *)0x613A,x","eCANA MCF7"); - GEL_WatchAdd("*(long *)0x613C,x","eCANA MDL7"); - GEL_WatchAdd("*(long *)0x613E,x","eCANA MDH7"); -} -hotmenu eCAN_A_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6050,x","eCANA LAM8"); - GEL_WatchAdd("*(long *)0x6090,x","eCANA MOTS8"); - GEL_WatchAdd("*(long *)0x60D0,x","eCANA MOTO8"); - GEL_WatchAdd("*(long *)0x6140,x","eCANA MID8"); - GEL_WatchAdd("*(long *)0x6142,x","eCANA MCF8"); - GEL_WatchAdd("*(long *)0x6144,x","eCANA MDL8"); - GEL_WatchAdd("*(long *)0x6146,x","eCANA MDH8"); - - GEL_WatchAdd("*(long *)0x6052,x","eCANA LAM9"); - GEL_WatchAdd("*(long *)0x6092,x","eCANA MOTS9"); - GEL_WatchAdd("*(long *)0x60D2,x","eCANA MOTO9"); - GEL_WatchAdd("*(long *)0x6148,x","eCANA MID9"); - GEL_WatchAdd("*(long *)0x614A,x","eCANA MCF9"); - GEL_WatchAdd("*(long *)0x614C,x","eCANA MDL9"); - GEL_WatchAdd("*(long *)0x614E,x","eCANA MDH9"); -} -hotmenu eCAN_A_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6054,x","eCANA LAM10"); - GEL_WatchAdd("*(long *)0x6094,x","eCANA MOTS10"); - GEL_WatchAdd("*(long *)0x60D4,x","eCANA MOTO10"); - GEL_WatchAdd("*(long *)0x6150,x","eCANA MID10"); - GEL_WatchAdd("*(long *)0x6152,x","eCANA MCF10"); - GEL_WatchAdd("*(long *)0x6154,x","eCANA MDL10"); - GEL_WatchAdd("*(long *)0x6156,x","eCANA MDH10"); - - GEL_WatchAdd("*(long *)0x6056,x","eCANA LAM11"); - GEL_WatchAdd("*(long *)0x6096,x","eCANA MOTS11"); - GEL_WatchAdd("*(long *)0x60D6,x","eCANA MOTO11"); - GEL_WatchAdd("*(long *)0x6158,x","eCANA MID11"); - GEL_WatchAdd("*(long *)0x615A,x","eCANA MCF11"); - GEL_WatchAdd("*(long *)0x615C,x","eCANA MDL11"); - GEL_WatchAdd("*(long *)0x615E,x","eCANA MDH11"); -} -hotmenu eCAN_A_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6058,x","eCANA LAM12"); - GEL_WatchAdd("*(long *)0x6098,x","eCANA MOTS12"); - GEL_WatchAdd("*(long *)0x60D8,x","eCANA MOTO12"); - GEL_WatchAdd("*(long *)0x6160,x","eCANA MID12"); - GEL_WatchAdd("*(long *)0x6162,x","eCANA MCF12"); - GEL_WatchAdd("*(long *)0x6164,x","eCANA MDL12"); - GEL_WatchAdd("*(long *)0x6166,x","eCANA MDH12"); - - GEL_WatchAdd("*(long *)0x605A,x","eCANA LAM13"); - GEL_WatchAdd("*(long *)0x609A,x","eCANA MOTS13"); - GEL_WatchAdd("*(long *)0x60DA,x","eCANA MOTO13"); - GEL_WatchAdd("*(long *)0x6168,x","eCANA MID13"); - GEL_WatchAdd("*(long *)0x616A,x","eCANA MCF13"); - GEL_WatchAdd("*(long *)0x616C,x","eCANA MDL13"); - GEL_WatchAdd("*(long *)0x616E,x","eCANA MDH13"); -} -hotmenu eCAN_A_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x605C,x","eCANA LAM14"); - GEL_WatchAdd("*(long *)0x609C,x","eCANA MOTS14"); - GEL_WatchAdd("*(long *)0x60DC,x","eCANA MOTO14"); - GEL_WatchAdd("*(long *)0x6170,x","eCANA MID14"); - GEL_WatchAdd("*(long *)0x6172,x","eCANA MCF14"); - GEL_WatchAdd("*(long *)0x6174,x","eCANA MDL14"); - GEL_WatchAdd("*(long *)0x6176,x","eCANA MDH14"); - - GEL_WatchAdd("*(long *)0x605E,x","eCANA LAM15"); - GEL_WatchAdd("*(long *)0x609E,x","eCANA MOTS15"); - GEL_WatchAdd("*(long *)0x60DE,x","eCANA MOTO15"); - GEL_WatchAdd("*(long *)0x6178,x","eCANA MID15"); - GEL_WatchAdd("*(long *)0x617A,x","eCANA MCF15"); - GEL_WatchAdd("*(long *)0x617C,x","eCANA MDL15"); - GEL_WatchAdd("*(long *)0x617E,x","eCANA MDH15"); -} -hotmenu eCAN_A_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6060,x","eCANA LAM16"); - GEL_WatchAdd("*(long *)0x60A0,x","eCANA MOTS16"); - GEL_WatchAdd("*(long *)0x60E0,x","eCANA MOTO16"); - GEL_WatchAdd("*(long *)0x6180,x","eCANA MID16"); - GEL_WatchAdd("*(long *)0x6182,x","eCANA MCF16"); - GEL_WatchAdd("*(long *)0x6184,x","eCANA MDL16"); - GEL_WatchAdd("*(long *)0x6186,x","eCANA MDH16"); - - GEL_WatchAdd("*(long *)0x6062,x","eCANA LAM17"); - GEL_WatchAdd("*(long *)0x60A2,x","eCANA MOTS17"); - GEL_WatchAdd("*(long *)0x60E2,x","eCANA MOTO17"); - GEL_WatchAdd("*(long *)0x6188,x","eCANA MID17"); - GEL_WatchAdd("*(long *)0x618A,x","eCANA MCF17"); - GEL_WatchAdd("*(long *)0x618C,x","eCANA MDL17"); - GEL_WatchAdd("*(long *)0x618E,x","eCANA MDH17"); -} -hotmenu eCAN_A_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6064,x","eCANA LAM18"); - GEL_WatchAdd("*(long *)0x60A4,x","eCANA MOTS18"); - GEL_WatchAdd("*(long *)0x60E4,x","eCANA MOTO18"); - GEL_WatchAdd("*(long *)0x6190,x","eCANA MID18"); - GEL_WatchAdd("*(long *)0x6192,x","eCANA MCF18"); - GEL_WatchAdd("*(long *)0x6194,x","eCANA MDL18"); - GEL_WatchAdd("*(long *)0x6196,x","eCANA MDH18"); - - GEL_WatchAdd("*(long *)0x6066,x","eCANA LAM19"); - GEL_WatchAdd("*(long *)0x60A6,x","eCANA MOTS19"); - GEL_WatchAdd("*(long *)0x60E6,x","eCANA MOTO19"); - GEL_WatchAdd("*(long *)0x6198,x","eCANA MID19"); - GEL_WatchAdd("*(long *)0x619A,x","eCANA MCF19"); - GEL_WatchAdd("*(long *)0x619C,x","eCANA MDL19"); - GEL_WatchAdd("*(long *)0x619E,x","eCANA MDH19"); -} -hotmenu eCAN_A_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6068,x","eCANA LAM20"); - GEL_WatchAdd("*(long *)0x60A8,x","eCANA MOTS20"); - GEL_WatchAdd("*(long *)0x60E8,x","eCANA MOTO20"); - GEL_WatchAdd("*(long *)0x61A0,x","eCANA MID20"); - GEL_WatchAdd("*(long *)0x61A2,x","eCANA MCF20"); - GEL_WatchAdd("*(long *)0x61A4,x","eCANA MDL20"); - GEL_WatchAdd("*(long *)0x61A6,x","eCANA MDH20"); - - GEL_WatchAdd("*(long *)0x606A,x","eCANA LAM21"); - GEL_WatchAdd("*(long *)0x60AA,x","eCANA MOTS21"); - GEL_WatchAdd("*(long *)0x60EA,x","eCANA MOTO21"); - GEL_WatchAdd("*(long *)0x61A8,x","eCANA MID21"); - GEL_WatchAdd("*(long *)0x61AA,x","eCANA MCF21"); - GEL_WatchAdd("*(long *)0x61AC,x","eCANA MDL21"); - GEL_WatchAdd("*(long *)0x61AE,x","eCANA MDH21"); -} -hotmenu eCAN_A_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x606C,x","eCANA LAM22"); - GEL_WatchAdd("*(long *)0x60AC,x","eCANA MOTS22"); - GEL_WatchAdd("*(long *)0x60EC,x","eCANA MOTO22"); - GEL_WatchAdd("*(long *)0x61B0,x","eCANA MID22"); - GEL_WatchAdd("*(long *)0x61B2,x","eCANA MCF22"); - GEL_WatchAdd("*(long *)0x61B4,x","eCANA MDL22"); - GEL_WatchAdd("*(long *)0x61B6,x","eCANA MDH22"); - - GEL_WatchAdd("*(long *)0x606E,x","eCANA LAM23"); - GEL_WatchAdd("*(long *)0x60AE,x","eCANA MOTS23"); - GEL_WatchAdd("*(long *)0x60EE,x","eCANA MOTO23"); - GEL_WatchAdd("*(long *)0x61B8,x","eCANA MID23"); - GEL_WatchAdd("*(long *)0x61BA,x","eCANA MCF23"); - GEL_WatchAdd("*(long *)0x61BC,x","eCANA MDL23"); - GEL_WatchAdd("*(long *)0x61BE,x","eCANA MDH23"); -} -hotmenu eCAN_A_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6070,x","eCANA LAM24"); - GEL_WatchAdd("*(long *)0x60B0,x","eCANA MOTS24"); - GEL_WatchAdd("*(long *)0x60F0,x","eCANA MOTO24"); - GEL_WatchAdd("*(long *)0x61C0,x","eCANA MID24"); - GEL_WatchAdd("*(long *)0x61C2,x","eCANA MCF24"); - GEL_WatchAdd("*(long *)0x61C4,x","eCANA MDL24"); - GEL_WatchAdd("*(long *)0x61C6,x","eCANA MDH24"); - - GEL_WatchAdd("*(long *)0x6072,x","eCANA LAM25"); - GEL_WatchAdd("*(long *)0x60B2,x","eCANA MOTS25"); - GEL_WatchAdd("*(long *)0x60F2,x","eCANA MOTO25"); - GEL_WatchAdd("*(long *)0x61C8,x","eCANA MID25"); - GEL_WatchAdd("*(long *)0x61CA,x","eCANA MCF25"); - GEL_WatchAdd("*(long *)0x61CC,x","eCANA MDL25"); - GEL_WatchAdd("*(long *)0x61CE,x","eCANA MDH25"); -} -hotmenu eCAN_A_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6074,x","eCANA LAM26"); - GEL_WatchAdd("*(long *)0x60B4,x","eCANA MOTS26"); - GEL_WatchAdd("*(long *)0x60F4,x","eCANA MOTO26"); - GEL_WatchAdd("*(long *)0x61D0,x","eCANA MID26"); - GEL_WatchAdd("*(long *)0x61D2,x","eCANA MCF26"); - GEL_WatchAdd("*(long *)0x61D4,x","eCANA MDL26"); - GEL_WatchAdd("*(long *)0x61D6,x","eCANA MDH26"); - - GEL_WatchAdd("*(long *)0x6076,x","eCANA LAM27"); - GEL_WatchAdd("*(long *)0x60B6,x","eCANA MOTS27"); - GEL_WatchAdd("*(long *)0x60F6,x","eCANA MOTO27"); - GEL_WatchAdd("*(long *)0x61D8,x","eCANA MID27"); - GEL_WatchAdd("*(long *)0x61DA,x","eCANA MCF27"); - GEL_WatchAdd("*(long *)0x61DC,x","eCANA MDL27"); - GEL_WatchAdd("*(long *)0x61DE,x","eCANA MDH27"); -} -hotmenu eCAN_A_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6078,x","eCANA LAM28"); - GEL_WatchAdd("*(long *)0x60B8,x","eCANA MOTS28"); - GEL_WatchAdd("*(long *)0x60F8,x","eCANA MOTO28"); - GEL_WatchAdd("*(long *)0x61E0,x","eCANA MID28"); - GEL_WatchAdd("*(long *)0x61E2,x","eCANA MCF28"); - GEL_WatchAdd("*(long *)0x61E4,x","eCANA MDL28"); - GEL_WatchAdd("*(long *)0x61E6,x","eCANA MDH28"); - - GEL_WatchAdd("*(long *)0x607A,x","eCANA LAM29"); - GEL_WatchAdd("*(long *)0x60BA,x","eCANA MOTS29"); - GEL_WatchAdd("*(long *)0x60FA,x","eCANA MOTO29"); - GEL_WatchAdd("*(long *)0x61E8,x","eCANA MID29"); - GEL_WatchAdd("*(long *)0x61EA,x","eCANA MCF29"); - GEL_WatchAdd("*(long *)0x61EC,x","eCANA MDL29"); - GEL_WatchAdd("*(long *)0x61EE,x","eCANA MDH29"); -} -hotmenu eCAN_A_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x607C,x","eCANA LAM30"); - GEL_WatchAdd("*(long *)0x60BC,x","eCANA MOTS30"); - GEL_WatchAdd("*(long *)0x60FC,x","eCANA MOTO30"); - GEL_WatchAdd("*(long *)0x61F0,x","eCANA MID30"); - GEL_WatchAdd("*(long *)0x61F2,x","eCANA MCF30"); - GEL_WatchAdd("*(long *)0x61F4,x","eCANA MDL30"); - GEL_WatchAdd("*(long *)0x61F6,x","eCANA MDH30"); - - GEL_WatchAdd("*(long *)0x607E,x","eCANA LAM31"); - GEL_WatchAdd("*(long *)0x60BE,x","eCANA MOTS31"); - GEL_WatchAdd("*(long *)0x60FE,x","eCANA MOTO31"); - GEL_WatchAdd("*(long *)0x61F8,x","eCANA MID31"); - GEL_WatchAdd("*(long *)0x61FA,x","eCANA MCF31"); - GEL_WatchAdd("*(long *)0x61FC,x","eCANA MDL31"); - GEL_WatchAdd("*(long *)0x61FE,x","eCANA MDH31"); -} -hotmenu eCAN_B_Global_Regs() -{ - GEL_WatchAdd("*(long *)0x6200,x","eCANB CANME"); - GEL_WatchAdd("*(long *)0x6202,x","eCANB CANMD"); - GEL_WatchAdd("*(long *)0x6204,x","eCANB CANTRS"); - GEL_WatchAdd("*(long *)0x6206,x","eCANB CANTRR"); - GEL_WatchAdd("*(long *)0x6208,x","eCANB CANTA"); - GEL_WatchAdd("*(long *)0x620A,x","eCANB CANAA"); - GEL_WatchAdd("*(long *)0x620C,x","eCANB CANRMP"); - GEL_WatchAdd("*(long *)0x620E,x","eCANB CANRML"); - GEL_WatchAdd("*(long *)0x6210,x","eCANB CANRFP"); - GEL_WatchAdd("*(long *)0x6214,x","eCANB CANMC"); - GEL_WatchAdd("*(long *)0x6216,x","eCANB CANBTC"); - GEL_WatchAdd("*(long *)0x6218,x","eCANB CANES"); - GEL_WatchAdd("*(long *)0x621A,x","eCANB CANTEC"); - GEL_WatchAdd("*(long *)0x621C,x","eCANB CANREC"); - GEL_WatchAdd("*(long *)0x621E,x","eCANB CANGIF0"); - GEL_WatchAdd("*(long *)0x6220,x","eCANB CANGIM"); - GEL_WatchAdd("*(long *)0x6222,x","eCANB CANGIF1"); - GEL_WatchAdd("*(long *)0x6224,x","eCANB CANMIM"); - GEL_WatchAdd("*(long *)0x6226,x","eCANB CANMIL"); - GEL_WatchAdd("*(long *)0x6228,x","eCANB CANOPC"); - GEL_WatchAdd("*(long *)0x622A,x","eCANB CANTIOC"); - GEL_WatchAdd("*(long *)0x622C,x","eCANB CANRIOC"); - GEL_WatchAdd("*(long *)0x622E,x","eCANB CANLNT"); - GEL_WatchAdd("*(long *)0x6230,x","eCANB CANTOC"); - GEL_WatchAdd("*(long *)0x6232,x","eCANB CANTOS"); -} -hotmenu eCAN_B_Mailbox_0_to_1_Regs() -{ - GEL_WatchAdd("*(long *)0x6240,x","eCANB LAM0"); - GEL_WatchAdd("*(long *)0x6280,x","eCANB MOTS0"); - GEL_WatchAdd("*(long *)0x62C0,x","eCANB MOTO0"); - GEL_WatchAdd("*(long *)0x6300,x","eCANB MID0"); - GEL_WatchAdd("*(long *)0x6302,x","eCANB MCF0"); - GEL_WatchAdd("*(long *)0x6304,x","eCANB MDL0"); - GEL_WatchAdd("*(long *)0x6306,x","eCANB MDH0"); - - GEL_WatchAdd("*(long *)0x6242,x","eCANB LAM1"); - GEL_WatchAdd("*(long *)0x6282,x","eCANB MOTS1"); - GEL_WatchAdd("*(long *)0x62C2,x","eCANB MOTO1"); - GEL_WatchAdd("*(long *)0x6308,x","eCANB MID1"); - GEL_WatchAdd("*(long *)0x630A,x","eCANB MCF1"); - GEL_WatchAdd("*(long *)0x630C,x","eCANB MDL1"); - GEL_WatchAdd("*(long *)0x630E,x","eCANB MDH1"); -} -hotmenu eCAN_B_Mailbox_2_to_3_Regs() -{ - GEL_WatchAdd("*(long *)0x6244,x","eCANB LAM2"); - GEL_WatchAdd("*(long *)0x6284,x","eCANB MOTS2"); - GEL_WatchAdd("*(long *)0x62C4,x","eCANB MOTO2"); - GEL_WatchAdd("*(long *)0x6310,x","eCANB MID2"); - GEL_WatchAdd("*(long *)0x6312,x","eCANB MCF2"); - GEL_WatchAdd("*(long *)0x6314,x","eCANB MDL2"); - GEL_WatchAdd("*(long *)0x6316,x","eCANB MDH2"); - - GEL_WatchAdd("*(long *)0x6246,x","eCANB LAM3"); - GEL_WatchAdd("*(long *)0x6286,x","eCANB MOTS3"); - GEL_WatchAdd("*(long *)0x62C6,x","eCANB MOTO3"); - GEL_WatchAdd("*(long *)0x6318,x","eCANB MID3"); - GEL_WatchAdd("*(long *)0x631A,x","eCANB MCF3"); - GEL_WatchAdd("*(long *)0x631C,x","eCANB MDL3"); - GEL_WatchAdd("*(long *)0x631E,x","eCANB MDH3"); -} -hotmenu eCAN_B_Mailbox_4_to_5_Regs() -{ - GEL_WatchAdd("*(long *)0x6248,x","eCANB LAM4"); - GEL_WatchAdd("*(long *)0x6288,x","eCANB MOTS4"); - GEL_WatchAdd("*(long *)0x62C8,x","eCANB MOTO4"); - GEL_WatchAdd("*(long *)0x6320,x","eCANB MID4"); - GEL_WatchAdd("*(long *)0x6322,x","eCANB MCF4"); - GEL_WatchAdd("*(long *)0x6324,x","eCANB MDL4"); - GEL_WatchAdd("*(long *)0x6326,x","eCANB MDH4"); - - GEL_WatchAdd("*(long *)0x624A,x","eCANB LAM5"); - GEL_WatchAdd("*(long *)0x628A,x","eCANB MOTS5"); - GEL_WatchAdd("*(long *)0x62CA,x","eCANB MOTO5"); - GEL_WatchAdd("*(long *)0x6328,x","eCANB MID5"); - GEL_WatchAdd("*(long *)0x632A,x","eCANB MCF5"); - GEL_WatchAdd("*(long *)0x632C,x","eCANB MDL5"); - GEL_WatchAdd("*(long *)0x632E,x","eCANB MDH5"); -} -hotmenu eCAN_B_Mailbox_6_to_7_Regs() -{ - GEL_WatchAdd("*(long *)0x624C,x","eCANB LAM6"); - GEL_WatchAdd("*(long *)0x628C,x","eCANB MOTS6"); - GEL_WatchAdd("*(long *)0x62CC,x","eCANB MOTO6"); - GEL_WatchAdd("*(long *)0x6330,x","eCANB MID6"); - GEL_WatchAdd("*(long *)0x6332,x","eCANB MCF6"); - GEL_WatchAdd("*(long *)0x6334,x","eCANB MDL6"); - GEL_WatchAdd("*(long *)0x6336,x","eCANB MDH6"); - - GEL_WatchAdd("*(long *)0x624E,x","eCANB LAM7"); - GEL_WatchAdd("*(long *)0x628E,x","eCANB MOTS7"); - GEL_WatchAdd("*(long *)0x62CE,x","eCANB MOTO7"); - GEL_WatchAdd("*(long *)0x6338,x","eCANB MID7"); - GEL_WatchAdd("*(long *)0x633A,x","eCANB MCF7"); - GEL_WatchAdd("*(long *)0x633C,x","eCANB MDL7"); - GEL_WatchAdd("*(long *)0x633E,x","eCANB MDH7"); -} -hotmenu eCAN_B_Mailbox_8_to_9_Regs() -{ - GEL_WatchAdd("*(long *)0x6250,x","eCANB LAM8"); - GEL_WatchAdd("*(long *)0x6290,x","eCANB MOTS8"); - GEL_WatchAdd("*(long *)0x62D0,x","eCANB MOTO8"); - GEL_WatchAdd("*(long *)0x6340,x","eCANB MID8"); - GEL_WatchAdd("*(long *)0x6342,x","eCANB MCF8"); - GEL_WatchAdd("*(long *)0x6344,x","eCANB MDL8"); - GEL_WatchAdd("*(long *)0x6346,x","eCANB MDH8"); - - GEL_WatchAdd("*(long *)0x6252,x","eCANB LAM9"); - GEL_WatchAdd("*(long *)0x6292,x","eCANB MOTS9"); - GEL_WatchAdd("*(long *)0x62D2,x","eCANB MOTO9"); - GEL_WatchAdd("*(long *)0x6348,x","eCANB MID9"); - GEL_WatchAdd("*(long *)0x634A,x","eCANB MCF9"); - GEL_WatchAdd("*(long *)0x634C,x","eCANB MDL9"); - GEL_WatchAdd("*(long *)0x634E,x","eCANB MDH9"); -} -hotmenu eCAN_B_Mailbox_10_to_11_Regs() -{ - GEL_WatchAdd("*(long *)0x6254,x","eCANB LAM10"); - GEL_WatchAdd("*(long *)0x6294,x","eCANB MOTS10"); - GEL_WatchAdd("*(long *)0x62D4,x","eCANB MOTO10"); - GEL_WatchAdd("*(long *)0x6350,x","eCANB MID10"); - GEL_WatchAdd("*(long *)0x6352,x","eCANB MCF10"); - GEL_WatchAdd("*(long *)0x6354,x","eCANB MDL10"); - GEL_WatchAdd("*(long *)0x6356,x","eCANB MDH10"); - - GEL_WatchAdd("*(long *)0x6256,x","eCANB LAM11"); - GEL_WatchAdd("*(long *)0x6296,x","eCANB MOTS11"); - GEL_WatchAdd("*(long *)0x62D6,x","eCANB MOTO11"); - GEL_WatchAdd("*(long *)0x6358,x","eCANB MID11"); - GEL_WatchAdd("*(long *)0x635A,x","eCANB MCF11"); - GEL_WatchAdd("*(long *)0x635C,x","eCANB MDL11"); - GEL_WatchAdd("*(long *)0x635E,x","eCANB MDH11"); -} -hotmenu eCAN_B_Mailbox_12_to_13_Regs() -{ - GEL_WatchAdd("*(long *)0x6258,x","eCANB LAM12"); - GEL_WatchAdd("*(long *)0x6298,x","eCANB MOTS12"); - GEL_WatchAdd("*(long *)0x62D8,x","eCANB MOTO12"); - GEL_WatchAdd("*(long *)0x6360,x","eCANB MID12"); - GEL_WatchAdd("*(long *)0x6362,x","eCANB MCF12"); - GEL_WatchAdd("*(long *)0x6364,x","eCANB MDL12"); - GEL_WatchAdd("*(long *)0x6366,x","eCANB MDH12"); - - GEL_WatchAdd("*(long *)0x625A,x","eCANB LAM13"); - GEL_WatchAdd("*(long *)0x629A,x","eCANB MOTS13"); - GEL_WatchAdd("*(long *)0x62DA,x","eCANB MOTO13"); - GEL_WatchAdd("*(long *)0x6368,x","eCANB MID13"); - GEL_WatchAdd("*(long *)0x636A,x","eCANB MCF13"); - GEL_WatchAdd("*(long *)0x636C,x","eCANB MDL13"); - GEL_WatchAdd("*(long *)0x636E,x","eCANB MDH13"); -} -hotmenu eCAN_B_Mailbox_14_to_15_Regs() -{ - GEL_WatchAdd("*(long *)0x625C,x","eCANB LAM14"); - GEL_WatchAdd("*(long *)0x629C,x","eCANB MOTS14"); - GEL_WatchAdd("*(long *)0x62DC,x","eCANB MOTO14"); - GEL_WatchAdd("*(long *)0x6370,x","eCANB MID14"); - GEL_WatchAdd("*(long *)0x6372,x","eCANB MCF14"); - GEL_WatchAdd("*(long *)0x6374,x","eCANB MDL14"); - GEL_WatchAdd("*(long *)0x6376,x","eCANB MDH14"); - - GEL_WatchAdd("*(long *)0x625E,x","eCANB LAM15"); - GEL_WatchAdd("*(long *)0x629E,x","eCANB MOTS15"); - GEL_WatchAdd("*(long *)0x62DE,x","eCANB MOTO15"); - GEL_WatchAdd("*(long *)0x6378,x","eCANB MID15"); - GEL_WatchAdd("*(long *)0x637A,x","eCANB MCF15"); - GEL_WatchAdd("*(long *)0x637C,x","eCANB MDL15"); - GEL_WatchAdd("*(long *)0x637E,x","eCANB MDH15"); -} -hotmenu eCAN_B_Mailbox_16_to_17_Regs() -{ - GEL_WatchAdd("*(long *)0x6260,x","eCANB LAM16"); - GEL_WatchAdd("*(long *)0x62A0,x","eCANB MOTS16"); - GEL_WatchAdd("*(long *)0x62E0,x","eCANB MOTO16"); - GEL_WatchAdd("*(long *)0x6380,x","eCANB MID16"); - GEL_WatchAdd("*(long *)0x6382,x","eCANB MCF16"); - GEL_WatchAdd("*(long *)0x6384,x","eCANB MDL16"); - GEL_WatchAdd("*(long *)0x6386,x","eCANB MDH16"); - - GEL_WatchAdd("*(long *)0x6262,x","eCANB LAM17"); - GEL_WatchAdd("*(long *)0x62A2,x","eCANB MOTS17"); - GEL_WatchAdd("*(long *)0x62E2,x","eCANB MOTO17"); - GEL_WatchAdd("*(long *)0x6388,x","eCANB MID17"); - GEL_WatchAdd("*(long *)0x638A,x","eCANB MCF17"); - GEL_WatchAdd("*(long *)0x638C,x","eCANB MDL17"); - GEL_WatchAdd("*(long *)0x638E,x","eCANB MDH17"); -} -hotmenu eCAN_B_Mailbox_18_to_19_Regs() -{ - GEL_WatchAdd("*(long *)0x6264,x","eCANB LAM18"); - GEL_WatchAdd("*(long *)0x62A4,x","eCANB MOTS18"); - GEL_WatchAdd("*(long *)0x62E4,x","eCANB MOTO18"); - GEL_WatchAdd("*(long *)0x6390,x","eCANB MID18"); - GEL_WatchAdd("*(long *)0x6392,x","eCANB MCF18"); - GEL_WatchAdd("*(long *)0x6394,x","eCANB MDL18"); - GEL_WatchAdd("*(long *)0x6396,x","eCANB MDH18"); - - GEL_WatchAdd("*(long *)0x6266,x","eCANB LAM19"); - GEL_WatchAdd("*(long *)0x62A6,x","eCANB MOTS19"); - GEL_WatchAdd("*(long *)0x62E6,x","eCANB MOTO19"); - GEL_WatchAdd("*(long *)0x6398,x","eCANB MID19"); - GEL_WatchAdd("*(long *)0x639A,x","eCANB MCF19"); - GEL_WatchAdd("*(long *)0x639C,x","eCANB MDL19"); - GEL_WatchAdd("*(long *)0x639E,x","eCANB MDH19"); -} -hotmenu eCAN_B_Mailbox_20_to_21_Regs() -{ - GEL_WatchAdd("*(long *)0x6268,x","eCANB LAM20"); - GEL_WatchAdd("*(long *)0x62A8,x","eCANB MOTS20"); - GEL_WatchAdd("*(long *)0x62E8,x","eCANB MOTO20"); - GEL_WatchAdd("*(long *)0x63A0,x","eCANB MID20"); - GEL_WatchAdd("*(long *)0x63A2,x","eCANB MCF20"); - GEL_WatchAdd("*(long *)0x63A4,x","eCANB MDL20"); - GEL_WatchAdd("*(long *)0x63A6,x","eCANB MDH20"); - - GEL_WatchAdd("*(long *)0x626A,x","eCANB LAM21"); - GEL_WatchAdd("*(long *)0x62AA,x","eCANB MOTS21"); - GEL_WatchAdd("*(long *)0x62EA,x","eCANB MOTO21"); - GEL_WatchAdd("*(long *)0x63A8,x","eCANB MID21"); - GEL_WatchAdd("*(long *)0x63AA,x","eCANB MCF21"); - GEL_WatchAdd("*(long *)0x63AC,x","eCANB MDL21"); - GEL_WatchAdd("*(long *)0x63AE,x","eCANB MDH21"); -} -hotmenu eCAN_B_Mailbox_22_to_23_Regs() -{ - GEL_WatchAdd("*(long *)0x626C,x","eCANB LAM22"); - GEL_WatchAdd("*(long *)0x62AC,x","eCANB MOTS22"); - GEL_WatchAdd("*(long *)0x62EC,x","eCANB MOTO22"); - GEL_WatchAdd("*(long *)0x63B0,x","eCANB MID22"); - GEL_WatchAdd("*(long *)0x63B2,x","eCANB MCF22"); - GEL_WatchAdd("*(long *)0x63B4,x","eCANB MDL22"); - GEL_WatchAdd("*(long *)0x63B6,x","eCANB MDH22"); - - GEL_WatchAdd("*(long *)0x626E,x","eCANB LAM23"); - GEL_WatchAdd("*(long *)0x62AE,x","eCANB MOTS23"); - GEL_WatchAdd("*(long *)0x62EE,x","eCANB MOTO23"); - GEL_WatchAdd("*(long *)0x63B8,x","eCANB MID23"); - GEL_WatchAdd("*(long *)0x63BA,x","eCANB MCF23"); - GEL_WatchAdd("*(long *)0x63BC,x","eCANB MDL23"); - GEL_WatchAdd("*(long *)0x63BE,x","eCANB MDH23"); -} -hotmenu eCAN_B_Mailbox_24_to_25_Regs() -{ - GEL_WatchAdd("*(long *)0x6270,x","eCANB LAM24"); - GEL_WatchAdd("*(long *)0x62B0,x","eCANB MOTS24"); - GEL_WatchAdd("*(long *)0x62F0,x","eCANB MOTO24"); - GEL_WatchAdd("*(long *)0x63C0,x","eCANB MID24"); - GEL_WatchAdd("*(long *)0x63C2,x","eCANB MCF24"); - GEL_WatchAdd("*(long *)0x63C4,x","eCANB MDL24"); - GEL_WatchAdd("*(long *)0x63C6,x","eCANB MDH24"); - - GEL_WatchAdd("*(long *)0x6272,x","eCANB LAM25"); - GEL_WatchAdd("*(long *)0x62B2,x","eCANB MOTS25"); - GEL_WatchAdd("*(long *)0x62F2,x","eCANB MOTO25"); - GEL_WatchAdd("*(long *)0x63C8,x","eCANB MID25"); - GEL_WatchAdd("*(long *)0x63CA,x","eCANB MCF25"); - GEL_WatchAdd("*(long *)0x63CC,x","eCANB MDL25"); - GEL_WatchAdd("*(long *)0x63CE,x","eCANB MDH25"); -} -hotmenu eCAN_B_Mailbox_26_to_27_Regs() -{ - GEL_WatchAdd("*(long *)0x6274,x","eCANB LAM26"); - GEL_WatchAdd("*(long *)0x62B4,x","eCANB MOTS26"); - GEL_WatchAdd("*(long *)0x62F4,x","eCANB MOTO26"); - GEL_WatchAdd("*(long *)0x63D0,x","eCANB MID26"); - GEL_WatchAdd("*(long *)0x63D2,x","eCANB MCF26"); - GEL_WatchAdd("*(long *)0x63D4,x","eCANB MDL26"); - GEL_WatchAdd("*(long *)0x63D6,x","eCANB MDH26"); - - GEL_WatchAdd("*(long *)0x6276,x","eCANB LAM27"); - GEL_WatchAdd("*(long *)0x62B6,x","eCANB MOTS27"); - GEL_WatchAdd("*(long *)0x62F6,x","eCANB MOTO27"); - GEL_WatchAdd("*(long *)0x63D8,x","eCANB MID27"); - GEL_WatchAdd("*(long *)0x63DA,x","eCANB MCF27"); - GEL_WatchAdd("*(long *)0x63DC,x","eCANB MDL27"); - GEL_WatchAdd("*(long *)0x63DE,x","eCANB MDH27"); -} -hotmenu eCAN_B_Mailbox_28_to_29_Regs() -{ - GEL_WatchAdd("*(long *)0x6278,x","eCANB LAM28"); - GEL_WatchAdd("*(long *)0x62B8,x","eCANB MOTS28"); - GEL_WatchAdd("*(long *)0x62F8,x","eCANB MOTO28"); - GEL_WatchAdd("*(long *)0x63E0,x","eCANB MID28"); - GEL_WatchAdd("*(long *)0x63E2,x","eCANB MCF28"); - GEL_WatchAdd("*(long *)0x63E4,x","eCANB MDL28"); - GEL_WatchAdd("*(long *)0x63E6,x","eCANB MDH28"); - - GEL_WatchAdd("*(long *)0x627A,x","eCANB LAM29"); - GEL_WatchAdd("*(long *)0x62BA,x","eCANB MOTS29"); - GEL_WatchAdd("*(long *)0x62FA,x","eCANB MOTO29"); - GEL_WatchAdd("*(long *)0x63E8,x","eCANB MID29"); - GEL_WatchAdd("*(long *)0x63EA,x","eCANB MCF29"); - GEL_WatchAdd("*(long *)0x63EC,x","eCANB MDL29"); - GEL_WatchAdd("*(long *)0x63EE,x","eCANB MDH29"); -} -hotmenu eCAN_B_Mailbox_30_to_31_Regs() -{ - GEL_WatchAdd("*(long *)0x627C,x","eCANB LAM30"); - GEL_WatchAdd("*(long *)0x62BC,x","eCANB MOTS30"); - GEL_WatchAdd("*(long *)0x62FC,x","eCANB MOTO30"); - GEL_WatchAdd("*(long *)0x63F0,x","eCANB MID30"); - GEL_WatchAdd("*(long *)0x63F2,x","eCANB MCF30"); - GEL_WatchAdd("*(long *)0x63F4,x","eCANB MDL30"); - GEL_WatchAdd("*(long *)0x63F6,x","eCANB MDH30"); - - GEL_WatchAdd("*(long *)0x627E,x","eCANB LAM31"); - GEL_WatchAdd("*(long *)0x62BE,x","eCANB MOTS31"); - GEL_WatchAdd("*(long *)0x62FE,x","eCANB MOTO31"); - GEL_WatchAdd("*(long *)0x63F8,x","eCANB MID31"); - GEL_WatchAdd("*(long *)0x63FA,x","eCANB MCF31"); - GEL_WatchAdd("*(long *)0x63FC,x","eCANB MDL31"); - GEL_WatchAdd("*(long *)0x63FE,x","eCANB MDH31"); -} - - -/********************************************************************/ -/* Enhanced Capture Registers */ -/********************************************************************/ -menuitem "Watch eCAP Registers"; - -hotmenu eCAP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A00,x","eCAP1 TSCNT"); - GEL_WatchAdd("*(long *)0x6A02,x","eCAP1 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A04,x","eCAP1 CAP1"); - GEL_WatchAdd("*(long *)0x6A06,x","eCAP1 CAP2"); - GEL_WatchAdd("*(long *)0x6A08,x","eCAP1 CAP3"); - GEL_WatchAdd("*(long *)0x6A0A,x","eCAP1 CAP4"); - GEL_WatchAdd("*0x6A14,x","eCAP1 ECCTL1"); - GEL_WatchAdd("*0x6A15,x","eCAP1 ECCTL2"); - GEL_WatchAdd("*0x6A16,x","eCAP1 ECEINT"); - GEL_WatchAdd("*0x6A17,x","eCAP1 ECFLG"); - GEL_WatchAdd("*0x6A18,x","eCAP1 ECCLR"); - GEL_WatchAdd("*0x6A19,x","eCAP1 ECFRC"); -} -hotmenu eCAP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A20,x","eCAP2 TSCNT"); - GEL_WatchAdd("*(long *)0x6A22,x","eCAP2 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A24,x","eCAP2 CAP1"); - GEL_WatchAdd("*(long *)0x6A26,x","eCAP2 CAP2"); - GEL_WatchAdd("*(long *)0x6A28,x","eCAP2 CAP3"); - GEL_WatchAdd("*(long *)0x6A2A,x","eCAP2 CAP4"); - GEL_WatchAdd("*0x6A34,x","eCAP2 ECCTL1"); - GEL_WatchAdd("*0x6A35,x","eCAP2 ECCTL2"); - GEL_WatchAdd("*0x6A36,x","eCAP2 ECEINT"); - GEL_WatchAdd("*0x6A37,x","eCAP2 ECFLG"); - GEL_WatchAdd("*0x6A38,x","eCAP2 ECCLR"); - GEL_WatchAdd("*0x6A39,x","eCAP2 ECFRC"); -} -hotmenu eCAP3_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A40,x","eCAP3 TSCNT"); - GEL_WatchAdd("*(long *)0x6A42,x","eCAP3 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A44,x","eCAP3 CAP1"); - GEL_WatchAdd("*(long *)0x6A46,x","eCAP3 CAP2"); - GEL_WatchAdd("*(long *)0x6A48,x","eCAP3 CAP3"); - GEL_WatchAdd("*(long *)0x6A4A,x","eCAP3 CAP4"); - GEL_WatchAdd("*0x6A54,x","eCAP3 ECCTL1"); - GEL_WatchAdd("*0x6A55,x","eCAP3 ECCTL2"); - GEL_WatchAdd("*0x6A56,x","eCAP3 ECEINT"); - GEL_WatchAdd("*0x6A57,x","eCAP3 ECFLG"); - GEL_WatchAdd("*0x6A58,x","eCAP3 ECCLR"); - GEL_WatchAdd("*0x6A59,x","eCAP3 ECFRC"); -} -hotmenu eCAP4_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A60,x","eCAP4 TSCNT"); - GEL_WatchAdd("*(long *)0x6A62,x","eCAP4 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A64,x","eCAP4 CAP1"); - GEL_WatchAdd("*(long *)0x6A66,x","eCAP4 CAP2"); - GEL_WatchAdd("*(long *)0x6A68,x","eCAP4 CAP3"); - GEL_WatchAdd("*(long *)0x6A6A,x","eCAP4 CAP4"); - GEL_WatchAdd("*0x6A74,x","eCAP4 ECCTL1"); - GEL_WatchAdd("*0x6A75,x","eCAP4 ECCTL2"); - GEL_WatchAdd("*0x6A76,x","eCAP4 ECEINT"); - GEL_WatchAdd("*0x6A77,x","eCAP4 ECFLG"); - GEL_WatchAdd("*0x6A78,x","eCAP4 ECCLR"); - GEL_WatchAdd("*0x6A79,x","eCAP4 ECFRC"); -} -hotmenu eCAP5_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6A80,x","eCAP5 TSCNT"); - GEL_WatchAdd("*(long *)0x6A82,x","eCAP5 CNTPHS"); - GEL_WatchAdd("*(long *)0x6A84,x","eCAP5 CAP1"); - GEL_WatchAdd("*(long *)0x6A86,x","eCAP5 CAP2"); - GEL_WatchAdd("*(long *)0x6A88,x","eCAP5 CAP3"); - GEL_WatchAdd("*(long *)0x6A8A,x","eCAP5 CAP4"); - GEL_WatchAdd("*0x6A94,x","eCAP5 ECCTL1"); - GEL_WatchAdd("*0x6A95,x","eCAP5 ECCTL2"); - GEL_WatchAdd("*0x6A96,x","eCAP5 ECEINT"); - GEL_WatchAdd("*0x6A97,x","eCAP5 ECFLG"); - GEL_WatchAdd("*0x6A98,x","eCAP5 ECCLR"); - GEL_WatchAdd("*0x6A99,x","eCAP5 ECFRC"); -} -hotmenu eCAP6_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6AA0,x","eCAP6 TSCNT"); - GEL_WatchAdd("*(long *)0x6AA2,x","eCAP6 CNTPHS"); - GEL_WatchAdd("*(long *)0x6AA4,x","eCAP6 CAP1"); - GEL_WatchAdd("*(long *)0x6AA6,x","eCAP6 CAP2"); - GEL_WatchAdd("*(long *)0x6AA8,x","eCAP6 CAP3"); - GEL_WatchAdd("*(long *)0x6AAA,x","eCAP6 CAP4"); - GEL_WatchAdd("*0x6AB4,x","eCAP6 ECCTL1"); - GEL_WatchAdd("*0x6AB5,x","eCAP6 ECCTL2"); - GEL_WatchAdd("*0x6AB6,x","eCAP6 ECEINT"); - GEL_WatchAdd("*0x6AB7,x","eCAP6 ECFLG"); - GEL_WatchAdd("*0x6AB8,x","eCAP6 ECCLR"); - GEL_WatchAdd("*0x6AB9,x","eCAP6 ECFRC"); -} - - -/********************************************************************/ -/* Enhanced PWM Registers */ -/********************************************************************/ -menuitem "Watch ePWM Registers"; - -hotmenu ePWM1_All_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6813,x","ePWM1 TZDCSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); - GEL_WatchAdd("*0x681E,x","ePWM1 PCCTL"); - GEL_WatchAdd("*0x6820,x","ePWM1 HRCNFG"); -} -hotmenu ePWM1_TB_Regs() -{ - GEL_WatchAdd("*0x6800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x6801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x6802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x6803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x6804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x6805,x","ePWM1 TBPRD"); -} -hotmenu ePWM1_CMP_Regs() -{ - GEL_WatchAdd("*0x6807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x6808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x6809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x680A,x","ePWM1 CMPB"); -} -hotmenu ePWM1_AQ_Regs() -{ - GEL_WatchAdd("*0x680B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x680C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x680D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x680E,x","ePWM1 AQCSFRC"); -} -hotmenu ePWM1_DB_Regs() -{ - GEL_WatchAdd("*0x680F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x6810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x6811,x","ePWM1 DBFED"); -} -hotmenu ePWM1_TZ_Regs() -{ - GEL_WatchAdd("*0x6812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x6814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x6815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x6816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x6817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x6818,x","ePWM1 TZFRC"); -} -hotmenu ePWM1_ET_Regs() -{ - GEL_WatchAdd("*0x6819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x681A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x681B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x681C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x681D,x","ePWM1 ETFRC"); -} -hotmenu ePWM2_All_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6853,x","ePWM2 TZDCSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); - GEL_WatchAdd("*0x685E,x","ePWM2 PCCTL"); - GEL_WatchAdd("*0x6860,x","ePWM2 HRCNFG"); -} -hotmenu ePWM2_TB_Regs() -{ - GEL_WatchAdd("*0x6840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x6841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x6842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x6843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x6844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x6845,x","ePWM2 TBPRD"); -} -hotmenu ePWM2_CMP_Regs() -{ - GEL_WatchAdd("*0x6847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x6848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x6849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x684A,x","ePWM2 CMPB"); -} -hotmenu ePWM2_AQ_Regs() -{ - GEL_WatchAdd("*0x684B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x684C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x684D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x684E,x","ePWM2 AQCSFRC"); -} -hotmenu ePWM2_DB_Regs() -{ - GEL_WatchAdd("*0x684F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x6850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x6851,x","ePWM2 DBFED"); -} -hotmenu ePWM2_TZ_Regs() -{ - GEL_WatchAdd("*0x6852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x6854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x6855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x6856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x6857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x6858,x","ePWM2 TZFRC"); -} -hotmenu ePWM2_ET_Regs() -{ - GEL_WatchAdd("*0x6859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x685A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x685B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x685C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x685D,x","ePWM2 ETFRC"); -} -hotmenu ePWM3_All_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6893,x","ePWM3 TZDCSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); - GEL_WatchAdd("*0x689E,x","ePWM3 PCCTL"); - GEL_WatchAdd("*0x68A0,x","ePWM3 HRCNFG"); -} -hotmenu ePWM3_TB_Regs() -{ - GEL_WatchAdd("*0x6880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x6881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x6882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x6883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x6884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x6885,x","ePWM3 TBPRD"); -} -hotmenu ePWM3_CMP_Regs() -{ - GEL_WatchAdd("*0x6887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x6888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x6889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x688A,x","ePWM3 CMPB"); -} -hotmenu ePWM3_AQ_Regs() -{ - GEL_WatchAdd("*0x688B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x688C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x688D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x688E,x","ePWM3 AQCSFRC"); -} -hotmenu ePWM3_DB_Regs() -{ - GEL_WatchAdd("*0x688F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x6890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x6891,x","ePWM3 DBFED"); -} -hotmenu ePWM3_TZ_Regs() -{ - GEL_WatchAdd("*0x6892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x6894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x6895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x6896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x6897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x6898,x","ePWM3 TZFRC"); -} -hotmenu ePWM3_ET_Regs() -{ - GEL_WatchAdd("*0x6899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x689A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x689B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x689C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x689D,x","ePWM3 ETFRC"); -} -hotmenu ePWM4_All_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D3,x","ePWM4 TZDCSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); - GEL_WatchAdd("*0x68DE,x","ePWM4 PCCTL"); - GEL_WatchAdd("*0x68E0,x","ePWM4 HRCNFG"); -} -hotmenu ePWM4_TB_Regs() -{ - GEL_WatchAdd("*0x68C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x68C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x68C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x68C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x68C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x68C5,x","ePWM4 TBPRD"); -} -hotmenu ePWM4_CMP_Regs() -{ - GEL_WatchAdd("*0x68C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x68C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x68C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x68CA,x","ePWM4 CMPB"); -} -hotmenu ePWM4_AQ_Regs() -{ - GEL_WatchAdd("*0x68CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x68CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x68CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x68CE,x","ePWM4 AQCSFRC"); -} -hotmenu ePWM4_DB_Regs() -{ - GEL_WatchAdd("*0x68CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x68D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x68D1,x","ePWM4 DBFED"); -} -hotmenu ePWM4_TZ_Regs() -{ - GEL_WatchAdd("*0x68D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x68D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x68D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x68D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x68D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x68D8,x","ePWM4 TZFRC"); -} -hotmenu ePWM4_ET_Regs() -{ - GEL_WatchAdd("*0x68D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x68DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x68DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x68DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x68DD,x","ePWM4 ETFRC"); -} -hotmenu ePWM5_All_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6902,x","ePWM5 TBPHSHR"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6908,x","ePWM5 CMPAHR"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6913,x","ePWM5 TZDCSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); - GEL_WatchAdd("*0x691E,x","ePWM5 PCCTL"); - GEL_WatchAdd("*0x6920,x","ePWM5 HRCNFG"); -} -hotmenu ePWM5_TB_Regs() -{ - GEL_WatchAdd("*0x6900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x6901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x6902,x","ePWM5 TBPHSHR"); - GEL_WatchAdd("*0x6903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x6904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x6905,x","ePWM5 TBPRD"); -} -hotmenu ePWM5_CMP_Regs() -{ - GEL_WatchAdd("*0x6907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x6908,x","ePWM5 CMPAHR"); - GEL_WatchAdd("*0x6909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x690A,x","ePWM5 CMPB"); -} -hotmenu ePWM5_AQ_Regs() -{ - GEL_WatchAdd("*0x690B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x690C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x690D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x690E,x","ePWM5 AQCSFRC"); -} -hotmenu ePWM5_DB_Regs() -{ - GEL_WatchAdd("*0x690F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x6910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x6911,x","ePWM5 DBFED"); -} -hotmenu ePWM5_TZ_Regs() -{ - GEL_WatchAdd("*0x6912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x6914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x6915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x6916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x6917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x6918,x","ePWM5 TZFRC"); -} -hotmenu ePWM5_ET_Regs() -{ - GEL_WatchAdd("*0x6919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x691A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x691B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x691C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x691D,x","ePWM5 ETFRC"); -} -hotmenu ePWM6_All_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6942,x","ePWM6 TBPHSHR"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6948,x","ePWM6 CMPAHR"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6953,x","ePWM6 TZDCSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); - GEL_WatchAdd("*0x695E,x","ePWM6 PCCTL"); - GEL_WatchAdd("*0x6960,x","ePWM6 HRCNFG"); - -} -hotmenu ePWM6_TB_Regs() -{ - GEL_WatchAdd("*0x6940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x6941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x6942,x","ePWM6 TBPHSHR"); - GEL_WatchAdd("*0x6943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x6944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x6945,x","ePWM6 TBPRD"); -} -hotmenu ePWM6_CMP_Regs() -{ - GEL_WatchAdd("*0x6947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x6948,x","ePWM6 CMPAHR"); - GEL_WatchAdd("*0x6949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x694A,x","ePWM6 CMPB"); -} -hotmenu ePWM6_AQ_Regs() -{ - GEL_WatchAdd("*0x694B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x694C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x694D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x694E,x","ePWM6 AQCSFRC"); -} -hotmenu ePWM6_DB_Regs() -{ - GEL_WatchAdd("*0x694F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x6950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x6951,x","ePWM6 DBFED"); -} -hotmenu ePWM6_TZ_Regs() -{ - GEL_WatchAdd("*0x6952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x6954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x6955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x6956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x6957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x6958,x","ePWM6 TZFRC"); -} -hotmenu ePWM6_ET_Regs() -{ - GEL_WatchAdd("*0x6959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x695A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x695B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x695C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x695D,x","ePWM6 ETFRC"); -} - - -/********************************************************************/ -/* Enhanced EQEP Registers */ -/********************************************************************/ -menuitem "Watch eQEP" - -hotmenu eQEP1_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B00,x","eQEP1 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B02,x","eQEP1 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B04,x","eQEP1 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B06,x","eQEP1 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B08,x","eQEP1 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B0A,x","eQEP1 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B0C,x","eQEP1 QPOSLAT"); - GEL_WatchAdd("*(long *)0x6B0E,x","eQEP1 QUTMR"); - GEL_WatchAdd("*(long *)0x6B10,x","eQEP1 QUPRD"); - GEL_WatchAdd("*0x6B12,x","eQEP1 QWDTMR"); - GEL_WatchAdd("*0x6B13,x","eQEP1 QWDPRD"); - GEL_WatchAdd("*0x6B14,x","eQEP1 QDECCTL"); - GEL_WatchAdd("*0x6B15,x","eQEP1 QEPCTL"); - GEL_WatchAdd("*0x6B16,x","eQEP1 QCAPCTL"); - GEL_WatchAdd("*0x6B17,x","eQEP1 QPOSCTL"); - GEL_WatchAdd("*0x6B18,x","eQEP1 QEINT"); - GEL_WatchAdd("*0x6B19,x","eQEP1 QFLG"); - GEL_WatchAdd("*0x6B1A,x","eQEP1 QCLR"); - GEL_WatchAdd("*0x6B1B,x","eQEP1 QFRC"); - GEL_WatchAdd("*0x6B1C,x","eQEP1 QEPSTS"); - GEL_WatchAdd("*0x6B1D,x","eQEP1 QCTMR"); - GEL_WatchAdd("*0x6B1E,x","eQEP1 QCPRD"); - GEL_WatchAdd("*0x6B1F,x","eQEP1 QCTMRLAT"); - GEL_WatchAdd("*0x6B20,x","eQEP1 QCPRDLAT"); -} -hotmenu eQEP2_All_Regs() -{ - GEL_WatchAdd("*(long *)0x6B40,x","eQEP2 QPOSCNT"); - GEL_WatchAdd("*(long *)0x6B42,x","eQEP2 QPOSINIT"); - GEL_WatchAdd("*(long *)0x6B44,x","eQEP2 QPOSMAX"); - GEL_WatchAdd("*(long *)0x6B46,x","eQEP2 QPOSCMP"); - GEL_WatchAdd("*(long *)0x6B48,x","eQEP2 QPOSILAT"); - GEL_WatchAdd("*(long *)0x6B4A,x","eQEP2 QPOSSLAT"); - GEL_WatchAdd("*(long *)0x6B4C,x","eQEP2 QPOSLAT"); - GEL_WatchAdd("(long *)*0x6B4E,x","eQEP2 QUTMR"); - GEL_WatchAdd("*(long *)0x6B50,x","eQEP2 QUPRD"); - GEL_WatchAdd("*0x6B52,x","eQEP2 QWDTMR"); - GEL_WatchAdd("*0x6B53,x","eQEP2 QWDPRD"); - GEL_WatchAdd("*0x6B54,x","eQEP2 QDECCTL"); - GEL_WatchAdd("*0x6B55,x","eQEP2 QEPCTL"); - GEL_WatchAdd("*0x6B56,x","eQEP2 QCAPCTL"); - GEL_WatchAdd("*0x6B57,x","eQEP2 QPOSCTL"); - GEL_WatchAdd("*0x6B58,x","eQEP2 QEINT"); - GEL_WatchAdd("*0x6B59,x","eQEP2 QFLG"); - GEL_WatchAdd("*0x6B5A,x","eQEP2 QCLR"); - GEL_WatchAdd("*0x6B5B,x","eQEP2 QFRC"); - GEL_WatchAdd("*0x6B5C,x","eQEP2 QEPSTS"); - GEL_WatchAdd("*0x6B5D,x","eQEP2 QCTMR"); - GEL_WatchAdd("*0x6B5E,x","eQEP2 QCPRD"); - GEL_WatchAdd("*0x6B5F,x","eQEP2 QCTMRLAT"); - GEL_WatchAdd("*0x6B60,x","eQEP2 QCPRDLAT"); -} - - -/********************************************************************/ -/* External Interface Registers */ -/********************************************************************/ -menuitem "Watch External Interface Registers"; - -hotmenu All_External_Interface_Regs() -{ - GEL_WatchAdd("*(long *)0x0B20,x","XTIMING0"); - GEL_WatchAdd("*(long *)0x0B2C,x","XTIMING6"); - GEL_WatchAdd("*(long *)0x0B2E,x","XTIMING7"); - GEL_WatchAdd("*(long *)0x0B34,x","XINTCNF2"); - GEL_WatchAdd("*0x0B38,x","XBANK"); - GEL_WatchAdd("*0x0B3A,x","XREVISION"); - GEL_WatchAdd("*0x0B3D,x","XRESET"); -} - -/********************************************************************/ -/* External Interrupt Registers */ -/********************************************************************/ -menuitem "Watch External Interrupt Registers"; - -hotmenu All_XINT_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} -hotmenu XINT_Control_Regs() -{ - GEL_WatchAdd("*0x7070,x","XINT1CR"); - GEL_WatchAdd("*0x7071,x","XINT2CR"); - GEL_WatchAdd("*0x7072,x","XINT3CR"); - GEL_WatchAdd("*0x7073,x","XINT4CR"); - GEL_WatchAdd("*0x7074,x","XINT5CR"); - GEL_WatchAdd("*0x7075,x","XINT6CR"); - GEL_WatchAdd("*0x7076,x","XINT7CR"); - GEL_WatchAdd("*0x7077,x","XNMICR"); -} -hotmenu XINT_Counter_Regs() -{ - GEL_WatchAdd("*0x7078,x","XINT1CTR"); - GEL_WatchAdd("*0x7079,x","XINT2CTR"); - GEL_WatchAdd("*0x707F,x","XNMICTR"); -} - - -/********************************************************************/ -/* FPU Registers */ -/********************************************************************/ -menuitem "Watch FPU Registers" - -hotmenu All_FPU_Single_Precision_Regs() -{ - GEL_WatchAdd("RB"); - GEL_WatchAdd("STF"); - GEL_WatchAdd("R0H"); - GEL_WatchAdd("R1H"); - GEL_WatchAdd("R2H"); - GEL_WatchAdd("R3H"); - GEL_WatchAdd("R4H"); - GEL_WatchAdd("R5H"); - GEL_WatchAdd("R6H"); - GEL_WatchAdd("R7H"); -} - - -/********************************************************************/ -/* GPIO Registers */ -/********************************************************************/ -menuitem "Watch GPIO Registers"; - -hotmenu All_GPIO_CONTROL_Regs() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); -} -hotmenu All_GPIO_DATA_Regs() -{ - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} -hotmenu All_GPIO_INTERRUPT_Regs() -{ - GEL_WatchAdd("*0x6FE0,x","GPIOXINT1SEL"); - GEL_WatchAdd("*0x6FE1,x","GPIOXINT2SEL"); - GEL_WatchAdd("*0x6FE2,x","GPIOXNMISEL"); - GEL_WatchAdd("*0x6FE3,x","GPIOXINT3SEL"); - GEL_WatchAdd("*0x6FE4,x","GPIOXINT4SEL"); - GEL_WatchAdd("*0x6FE5,x","GPIOXINT5SEL"); - GEL_WatchAdd("*0x6FE6,x","GPIOXINT6SEL"); - GEL_WatchAdd("*0x6FE7,x","GPIOXINT7SEL"); - GEL_WatchAdd("*(long *)0x6FE8,x","GPIOLPMSEL"); -} -hotmenu All_GPA_Registers() -{ - GEL_WatchAdd("*(long *)0x6F80,x","GPACTRL"); - GEL_WatchAdd("*(long *)0x6F82,x","GPAQSEL1"); - GEL_WatchAdd("*(long *)0x6F84,x","GPAQSEL2"); - GEL_WatchAdd("*(long *)0x6F86,x","GPAMUX1"); - GEL_WatchAdd("*(long *)0x6F88,x","GPAMUX2"); - GEL_WatchAdd("*(long *)0x6F8A,x","GPADIR"); - GEL_WatchAdd("*(long *)0x6F8C,x","GPAPUD"); - - GEL_WatchAdd("*(long *)0x6FC0,x","GPADAT"); - GEL_WatchAdd("*(long *)0x6FC2,x","GPASET"); - GEL_WatchAdd("*(long *)0x6FC4,x","GPACLEAR"); - GEL_WatchAdd("*(long *)0x6FC6,x","GPATOGGLE"); -} -hotmenu All_GPB_Registers() -{ - GEL_WatchAdd("*(long *)0x6F90,x","GPBCTRL"); - GEL_WatchAdd("*(long *)0x6F92,x","GPBQSEL1"); - GEL_WatchAdd("*(long *)0x6F94,x","GPBQSEL2"); - GEL_WatchAdd("*(long *)0x6F96,x","GPBMUX1"); - GEL_WatchAdd("*(long *)0x6F98,x","GPBMUX2"); - GEL_WatchAdd("*(long *)0x6F9A,x","GPBDIR"); - GEL_WatchAdd("*(long *)0x6F9C,x","GPBPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); -} -hotmenu All_GPC_Registers() -{ - GEL_WatchAdd("*(long *)0x6FA6,x","GPCMUX1"); - GEL_WatchAdd("*(long *)0x6FA8,x","GPCMUX2"); - GEL_WatchAdd("*(long *)0x6FAA,x","GPCDIR"); - GEL_WatchAdd("*(long *)0x6FAC,x","GPCPUD"); - - GEL_WatchAdd("*(long *)0x6FC8,x","GPBDAT"); - GEL_WatchAdd("*(long *)0x6FCA,x","GPBSET"); - GEL_WatchAdd("*(long *)0x6FCC,x","GPBCLEAR"); - GEL_WatchAdd("*(long *)0x6FCE,x","GPBTOGGLE"); - - GEL_WatchAdd("*(long *)0x6FD0,x","GPCDAT"); - GEL_WatchAdd("*(long *)0x6FD2,x","GPCSET"); - GEL_WatchAdd("*(long *)0x6FD4,x","GPCCLEAR"); - GEL_WatchAdd("*(long *)0x6FD6,x","GPCTOGGLE"); -} - - -/********************************************************************/ -/* Multichannel Serial Port Registers */ -/********************************************************************/ -menuitem "Watch McBSP Registers"; - -hotmenu All_McBSP_A_Regs() -{ - GEL_WatchAdd("*0x5000,x","McBSPA DRR2"); - GEL_WatchAdd("*0x5001,x","McBSPA DRR1"); - GEL_WatchAdd("*0x5002,x","McBSPA DXR2"); - GEL_WatchAdd("*0x5003,x","McBSPA DXR1"); - GEL_WatchAdd("*0x5004,x","McBSPA SPCR2"); - GEL_WatchAdd("*0x5005,x","McBSPA SPCR1"); - GEL_WatchAdd("*0x5006,x","McBSPA RCR2"); - GEL_WatchAdd("*0x5007,x","McBSPA RCR1"); - GEL_WatchAdd("*0x5008,x","McBSPA XCR2"); - GEL_WatchAdd("*0x5009,x","McBSPA XCR1"); - GEL_WatchAdd("*0x500A,x","McBSPA SRGR2"); - GEL_WatchAdd("*0x500B,x","McBSPA SRGR1"); - GEL_WatchAdd("*0x500C,x","McBSPA MCR2"); - GEL_WatchAdd("*0x500D,x","McBSPA MCR1"); - GEL_WatchAdd("*0x500E,x","McBSPA RCERA"); - GEL_WatchAdd("*0x500F,x","McBSPA RCERB"); - GEL_WatchAdd("*0x5010,x","McBSPA XCERA"); - GEL_WatchAdd("*0x5011,x","McBSPA XCERB"); - GEL_WatchAdd("*0x5012,x","McBSPA PCR1"); - GEL_WatchAdd("*0x5013,x","McBSPA RCERC"); - GEL_WatchAdd("*0x5014,x","McBSPA RCERD"); - GEL_WatchAdd("*0x5015,x","McBSPA XCERC"); - GEL_WatchAdd("*0x5016,x","McBSPA XCERD"); - GEL_WatchAdd("*0x5017,x","McBSPA RCERE"); - GEL_WatchAdd("*0x5018,x","McBSPA RCERF"); - GEL_WatchAdd("*0x5019,x","McBSPA XCERE"); - GEL_WatchAdd("*0x501A,x","McBSPA XCERF"); - GEL_WatchAdd("*0x501B,x","McBSPA RCERG"); - GEL_WatchAdd("*0x501C,x","McBSPA RCERH"); - GEL_WatchAdd("*0x501D,x","McBSPA XCERG"); - GEL_WatchAdd("*0x501E,x","McBSPA XCERH"); - GEL_WatchAdd("*0x5023,x","McBSPA MFFINT"); - GEL_WatchAdd("*0x503F,x","McBSPA Revision"); -} - -hotmenu All_McBSP_B_Regs() -{ - GEL_WatchAdd("*0x5040,x","McBSPB DRR2"); - GEL_WatchAdd("*0x5041,x","McBSPB DRR1"); - GEL_WatchAdd("*0x5042,x","McBSPB DXR2"); - GEL_WatchAdd("*0x5043,x","McBSPB DXR1"); - GEL_WatchAdd("*0x5044,x","McBSPB SPCR2"); - GEL_WatchAdd("*0x5045,x","McBSPB SPCR1"); - GEL_WatchAdd("*0x5046,x","McBSPB RCR2"); - GEL_WatchAdd("*0x5047,x","McBSPB RCR1"); - GEL_WatchAdd("*0x5048,x","McBSPB XCR2"); - GEL_WatchAdd("*0x5049,x","McBSPB XCR1"); - GEL_WatchAdd("*0x504A,x","McBSPB SRGR2"); - GEL_WatchAdd("*0x504B,x","McBSPB SRGR1"); - GEL_WatchAdd("*0x504C,x","McBSPB MCR2"); - GEL_WatchAdd("*0x504D,x","McBSPB MCR1"); - GEL_WatchAdd("*0x504E,x","McBSPB RCERA"); - GEL_WatchAdd("*0x504F,x","McBSPB RCERB"); - GEL_WatchAdd("*0x5050,x","McBSPB XCERA"); - GEL_WatchAdd("*0x5051,x","McBSPB XCERB"); - GEL_WatchAdd("*0x5052,x","McBSPB PCR1"); - GEL_WatchAdd("*0x5053,x","McBSPB RCERC"); - GEL_WatchAdd("*0x5054,x","McBSPB RCERD"); - GEL_WatchAdd("*0x5055,x","McBSPB XCERC"); - GEL_WatchAdd("*0x5056,x","McBSPB XCERD"); - GEL_WatchAdd("*0x5057,x","McBSPB RCERE"); - GEL_WatchAdd("*0x5058,x","McBSPB RCERF"); - GEL_WatchAdd("*0x5059,x","McBSPB XCERE"); - GEL_WatchAdd("*0x505A,x","McBSPB XCERF"); - GEL_WatchAdd("*0x505B,x","McBSPB RCERG"); - GEL_WatchAdd("*0x505C,x","McBSPB RCERH"); - GEL_WatchAdd("*0x505D,x","McBSPB XCERG"); - GEL_WatchAdd("*0x505E,x","McBSPB XCERH"); - GEL_WatchAdd("*0x5063,x","McBSPB MFFINT"); - GEL_WatchAdd("*0x506F,x","McBSPB Revision"); -} - - - -/********************************************************************/ -/* I2C Registers */ -/********************************************************************/ -menuitem "Watch I2C Registers"; - -hotmenu All_I2C_Regs() -{ - GEL_WatchAdd("*0x7900,x","I2COAR"); - GEL_WatchAdd("*0x7901,x","I2CIER"); - GEL_WatchAdd("*0x7902,x","I2CSTR"); - GEL_WatchAdd("*0x7903,x","I2CCLKL"); - GEL_WatchAdd("*0x7904,x","I2CCLKH"); - GEL_WatchAdd("*0x7905,x","I2CCNT"); - GEL_WatchAdd("*0x7906,x","I2CDRR"); - GEL_WatchAdd("*0x7907,x","I2CSAR"); - GEL_WatchAdd("*0x7908,x","I2CDXR"); - GEL_WatchAdd("*0x7909,x","I2CMDR"); - GEL_WatchAdd("*0x790A,x","I2CISRC"); - GEL_WatchAdd("*0x790C,x","I2CPSC"); - GEL_WatchAdd("*0x7920,x","I2CFFTX"); - GEL_WatchAdd("*0x7921,x","I2CFFRX"); -} - - -/********************************************************************/ -/* Peripheral Interrupt Expansion Registers */ -/********************************************************************/ -menuitem "Watch Peripheral Interrupt Expansion Registers"; - -hotmenu All_PIE_Regs() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); - GEL_WatchAdd("*0x0CE1,x","PIEACK"); - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} -hotmenu PIECTRL() -{ - GEL_WatchAdd("*0x0CE0,x","PIECTRL"); -} -hotmenu PIEACK() -{ - GEL_WatchAdd("*0x0CE1,x","PIEACK"); -} -hotmenu PIEIER1_and_PIEIFR1() -{ - GEL_WatchAdd("*0x0CE2,x","PIEIER1"); - GEL_WatchAdd("*0x0CE3,x","PIEIFR1"); -} -hotmenu PIEIER2_and_PIEIFR2() -{ - GEL_WatchAdd("*0x0CE4,x","PIEIER2"); - GEL_WatchAdd("*0x0CE5,x","PIEIFR2"); -} -hotmenu PIEIER3_and_PIEIFR3() -{ - GEL_WatchAdd("*0x0CE6,x","PIEIER3"); - GEL_WatchAdd("*0x0CE7,x","PIEIFR3"); -} -hotmenu PIEIER4_and_PIEIFR4() -{ - GEL_WatchAdd("*0x0CE8,x","PIEIER4"); - GEL_WatchAdd("*0x0CE9,x","PIEIFR4"); -} -hotmenu PIEIER5_and_PIEIFR5() -{ - GEL_WatchAdd("*0x0CEA,x","PIEIER5"); - GEL_WatchAdd("*0x0CEB,x","PIEIFR5"); -} -hotmenu PIEIER6_and_PIEIFR6() -{ - GEL_WatchAdd("*0x0CEC,x","PIEIER6"); - GEL_WatchAdd("*0x0CED,x","PIEIFR6"); -} -hotmenu PIEIER7_and_PIEIFR7() -{ - GEL_WatchAdd("*0x0CEE,x","PIEIER7"); - GEL_WatchAdd("*0x0CEF,x","PIEIFR7"); -} -hotmenu PIEIER8_and_PIEIFR8() -{ - GEL_WatchAdd("*0x0CF0,x","PIEIER8"); - GEL_WatchAdd("*0x0CF1,x","PIEIFR8"); -} -hotmenu PIEIER9_and_PIEIFR9() -{ - GEL_WatchAdd("*0x0CF2,x","PIEIER9"); - GEL_WatchAdd("*0x0CF3,x","PIEIFR9"); -} -hotmenu PIEIFR10_and_PIEIFR10() -{ - GEL_WatchAdd("*0x0CF4,x","PIEIER10"); - GEL_WatchAdd("*0x0CF5,x","PIEIFR10"); -} -hotmenu PIEIER11_and_PIEIFR11() -{ - GEL_WatchAdd("*0x0CF6,x","PIEIER11"); - GEL_WatchAdd("*0x0CF7,x","PIEIFR11"); -} -hotmenu PIEIER12_and_PIEIFR12() -{ - GEL_WatchAdd("*0x0CF8,x","PIEIER12"); - GEL_WatchAdd("*0x0CF9,x","PIEIFR12"); -} - - -/********************************************************************/ -/* Serial Communication Interface Registers */ -/********************************************************************/ -menuitem "Watch SCI Registers"; - -hotmenu SCI_A_All_Regs() -{ - GEL_WatchAdd("*0x7050,x","SCICCRA"); - GEL_WatchAdd("*0x7051,x","SCICTL1A"); - GEL_WatchAdd("*0x7052,x","SCIHBAUDA"); - GEL_WatchAdd("*0x7053,x","SCILBAUDA"); - GEL_WatchAdd("*0x7054,x","SCICTL2A"); - GEL_WatchAdd("*0x7055,x","SCIRXSTA"); - GEL_WatchAdd("*0x7056,x","SCIRXEMUA"); - GEL_WatchAdd("*0x7057,x","SCIRXBUFA"); - GEL_WatchAdd("*0x7059,x","SCITXBUFA"); - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); - GEL_WatchAdd("*0x705F,x","SCIPRIA"); -} -hotmenu SCI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x705A,x","SCIFFTXA"); - GEL_WatchAdd("*0x705B,x","SCIFFRXA"); - GEL_WatchAdd("*0x705C,x","SCIFFCTA"); -} -hotmenu SCI_B_All_Regs() -{ - GEL_WatchAdd("*0x7750,x","SCICCRB"); - GEL_WatchAdd("*0x7751,x","SCICTL1B"); - GEL_WatchAdd("*0x7752,x","SCIHBAUDB"); - GEL_WatchAdd("*0x7753,x","SCILBAUDB"); - GEL_WatchAdd("*0x7754,x","SCICTL2B"); - GEL_WatchAdd("*0x7755,x","SCIRXSTB"); - GEL_WatchAdd("*0x7756,x","SCIRXEMUB"); - GEL_WatchAdd("*0x7757,x","SCIRXBUFB"); - GEL_WatchAdd("*0x7759,x","SCITXBUFB"); - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); - GEL_WatchAdd("*0x775F,x","SCIPRIB"); -} -hotmenu SCI_B_FIFO_Registers() -{ - GEL_WatchAdd("*0x775A,x","SCIFFTXB"); - GEL_WatchAdd("*0x775B,x","SCIFFRXB"); - GEL_WatchAdd("*0x775C,x","SCIFFCTB"); -} -hotmenu SCI_C_All_Regs() -{ - GEL_WatchAdd("*0x7770,x","SCICCRC"); - GEL_WatchAdd("*0x7771,x","SCICTL1C"); - GEL_WatchAdd("*0x7772,x","SCIHBAUDC"); - GEL_WatchAdd("*0x7773,x","SCILBAUDC"); - GEL_WatchAdd("*0x7774,x","SCICTL2C"); - GEL_WatchAdd("*0x7775,x","SCIRXSTC"); - GEL_WatchAdd("*0x7776,x","SCIRXEMUC"); - GEL_WatchAdd("*0x7777,x","SCIRXBUFC"); - GEL_WatchAdd("*0x7779,x","SCITXBUFC"); - GEL_WatchAdd("*0x777A,x","SCIFFTXC"); - GEL_WatchAdd("*0x777B,x","SCIFFRXC"); - GEL_WatchAdd("*0x777C,x","SCIFFCTC"); - GEL_WatchAdd("*0x777F,x","SCIPRIC"); -} -hotmenu SCI_C_FIFO_Registers() -{ - GEL_WatchAdd("*0x777A,x","SCIFFTXC"); - GEL_WatchAdd("*0x777B,x","SCIFFRXC"); - GEL_WatchAdd("*0x777C,x","SCIFFCTC"); -} - - -/********************************************************************/ -/* Serial Peripheral Interface Registers */ -/********************************************************************/ -menuitem "Watch SPI Registers"; - -hotmenu SPI_A_All_Regs() -{ - GEL_WatchAdd("*0x7040,x","SPIA SPICCR"); - GEL_WatchAdd("*0x7041,x","SPIA SPICTL"); - GEL_WatchAdd("*0x7042,x","SPIA SPIST"); - GEL_WatchAdd("*0x7044,x","SPIA SPIBRR"); - GEL_WatchAdd("*0x7046,x","SPIA SPIEMU"); - GEL_WatchAdd("*0x7047,x","SPIA SPIRXBUF"); - GEL_WatchAdd("*0x7048,x","SPIA SPITXBUF"); - GEL_WatchAdd("*0x7049,x","SPIA SPIDAT"); - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); - GEL_WatchAdd("*0x704F,x","SPIA SPIPRI"); -} -hotmenu SPI_A_FIFO_Registers() -{ - GEL_WatchAdd("*0x704A,x","SPIA SPIFFTX"); - GEL_WatchAdd("*0x704B,x","SPIA SPIFFRX"); - GEL_WatchAdd("*0x704C,x","SPIA SPIFFCT"); -} - - -/********************************************************************/ -/* Watchdog Timer Registers */ -/********************************************************************/ -menuitem "Watch Watchdog Timer Registers"; - -hotmenu All_Watchdog_Regs() -{ - GEL_WatchAdd("*0x7023,x","WDCNTR"); - GEL_WatchAdd("*0x7025,x","WDKEY"); - GEL_WatchAdd("*0x7029,x","WDCR"); - GEL_WatchAdd("*0x7022,x","SCSR"); -} - -/********************************************************************/ -/*** End of file ***/ diff --git a/Source/External/v120/DSP2833x_common/include/DSP2833x_SWPrioritizedIsrLevels.h b/Source/External/v120/DSP2833x_common/include/DSP2833x_SWPrioritizedIsrLevels.h index 574ffef..c3f3ea1 100644 --- a/Source/External/v120/DSP2833x_common/include/DSP2833x_SWPrioritizedIsrLevels.h +++ b/Source/External/v120/DSP2833x_common/include/DSP2833x_SWPrioritizedIsrLevels.h @@ -175,9 +175,9 @@ extern "C" { #define G88PL 0 // reserved #define G91PL 1 // SCIRXINTA (SCI-A) -#define G92PL 1 // SCITXINTA (SCI-A) -#define G93PL 1 // SCIRXINTB (SCI-B) -#define G94PL 1 // SCITXINTB (SCI-B) +#define G92PL 5 // SCITXINTA (SCI-A) +#define G93PL 3 // SCIRXINTB (SCI-B) +#define G94PL 4 // SCITXINTB (SCI-B) #define G95PL 1 // ECAN0INTA (ECAN-A) #define G96PL 1 // ECAN1INTA (ECAN-A) #define G97PL 2 // ECAN0INTB (ECAN-B) diff --git a/Source/External/v120/DSP2833x_common/include/DSP2833x_SWPrioritizedIsrLevels.h.bak b/Source/External/v120/DSP2833x_common/include/DSP2833x_SWPrioritizedIsrLevels.h.bak deleted file mode 100644 index a7cf123..0000000 --- a/Source/External/v120/DSP2833x_common/include/DSP2833x_SWPrioritizedIsrLevels.h.bak +++ /dev/null @@ -1,5850 +0,0 @@ -// TI File $Revision: /main/2 $ -// Checkin $Date: April 4, 2007 14:25:21 $ -//########################################################################### -// -// FILE: DSP2833x_SWPrioritizedIsrLevels.h -// -// TITLE: DSP28 Devices Software Prioritized Interrupt Service Routine -// Level definitions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#ifndef DSP2833x_SW_PRIORITZIED_ISR_H -#define DSP2833x_SW_PRIORITZIED_ISR_H - - -#ifdef __cplusplus -extern "C" { -#endif - - -//------------------------------------------------------------------------------- -// Interrupt Enable Register Allocation For 2833x Devices: -//------------------------------------------------------------------------------- -// Interrupts can be enabled/disabled using the CPU interrupt enable register -// (IER) and the PIE interrupt enable registers (PIEIER1 to PIEIER12). -//------------------------------------------------------------------------------- -//------------------------------------------------------------------------------- -// Set "Global" Interrupt Priority Level (IER register): -//------------------------------------------------------------------------------- -// The user must set the appropriate priority level for each of the CPU -// interrupts. This is termed as the "global" priority. The priority level -// must be a number between 1 (highest) to 16 (lowest). A value of 0 must -// be entered for reserved interrupts or interrupts that are not used. This -// will also reduce code size by not including ISR's that are not used. -// -// Note: The priority levels below are used to calculate the IER register -// interrupt masks MINT1 to MINT16. -// -// -// Note: The priority levels shown here may not make sense in a -// real application. This is for demonstration purposes only!!! -// -// The user should change these to values that make sense for -// their application. -// -// 0 = not used -// 1 = highest priority -// ... -// 16 = lowest priority -#define INT1PL 2 // Group1 Interrupts (PIEIER1) -#define INT2PL 0 // Group2 Interrupts (PIEIER2) -#define INT3PL 4 // Group3 Interrupts (PIEIER3) -#define INT4PL 2 // Group4 Interrupts (PIEIER4) -#define INT5PL 2 // Group5 Interrupts (PIEIER5) -#define INT6PL 3 // Group6 Interrupts (PIEIER6) -#define INT7PL 0 // reserved -#define INT8PL 0 // reserved -#define INT9PL 1 // Group9 Interrupts (PIEIER9) -#define INT10PL 0 // reserved -#define INT11PL 0 // reserved -#define INT12PL 0 // reserved -#define INT13PL 4 // XINT13 -#define INT14PL 4 // INT14 (TINT2) -#define INT15PL 4 // DATALOG -#define INT16PL 4 // RTOSINT - -//------------------------------------------------------------------------------- -// Set "Group" Interrupt Priority Level (PIEIER1 to PIEIER12 registers): -//------------------------------------------------------------------------------- -// The user must set the appropriate priority level for each of the PIE -// interrupts. This is termed as the "group" priority. The priority level -// must be a number between 1 (highest) to 8 (lowest). A value of 0 must -// be entered for reserved interrupts or interrupts that are not used. This -// will also reduce code size by not including ISR's that are not used: -// -// Note: The priority levels below are used to calculate the following -// PIEIER register interrupt masks: -// MG11 to MG18 -// MG21 to MG28 -// MG31 to MG38 -// MG41 to MG48 -// MG51 to MG58 -// MG61 to MG68 -// MG71 to MG78 -// MG81 to MG88 -// MG91 to MG98 -// MG101 to MG108 -// MG111 to MG118 -// MG121 to MG128 -// -// Note: The priority levels shown here may not make sense in a -// real application. This is for demonstration purposes only!!! -// -// The user should change these to values that make sense for -// their application. -// -// 0 = not used -// 1 = highest priority -// ... -// 8 = lowest priority -// -#define G11PL 7 // SEQ1INT (ADC) -#define G12PL 6 // SEQ2INT (ADC) -#define G13PL 0 // reserved -#define G14PL 1 // XINT1 (External) -#define G15PL 3 // XINT2 (External) -#define G16PL 2 // ADCINT (ADC) -#define G17PL 1 // TINT0 (CPU Timer 0) -#define G18PL 5 // WAKEINT (WD/LPM) - -#define G21PL 4 // EPWM1_TZINT (ePWM1 Trip) -#define G22PL 3 // EPWM2_TZINT (ePWM2 Trip) -#define G23PL 2 // EPWM3_TZINT (ePWM3 Trip) -#define G24PL 1 // EPWM4_TZINT (ePWM4 Trip) -#define G25PL 5 // EPWM5_TZINT (ePWM5 Trip) -#define G26PL 6 // EPWM6_TZINT (ePWM6 Trip) -#define G27PL 0 // reserved -#define G28PL 0 // reserved - -#define G31PL 4 // EPWM1_INT (ePWM1 Int) -#define G32PL 1 // EPWM2_INT (ePWM2 Int) -#define G33PL 1 // EPWM3_INT (ePWM3 Int) -#define G34PL 2 // EPWM4_INT (ePWM4 Int) -#define G35PL 2 // EPWM5_INT (ePWM5 Int) -#define G36PL 1 // EPWM6_INT (ePWM6 Int) -#define G37PL 0 // reserved -#define G38PL 0 // reserved - -#define G41PL 2 // ECAP1_INT (eCAP1 Int) -#define G42PL 1 // ECAP2_INT (eCAP2 Int) -#define G43PL 3 // ECAP3_INT (eCAP3 Int) -#define G44PL 3 // ECAP4_INT (eCAP4 Int) -#define G45PL 5 // ECAP5_INT (eCAP5 Int) -#define G46PL 5 // ECAP6_INT (eCAP6 Int) -#define G47PL 0 // reserved -#define G48PL 0 // reserved - -#define G51PL 2 // EQEP1_INT (eQEP1 Int) -#define G52PL 1 // EQEP2_INT (eQEP2 Int) -#define G53PL 0 // reserved -#define G54PL 0 // reserved -#define G55PL 0 // reserved -#define G56PL 0 // reserved -#define G57PL 0 // reserved -#define G58PL 0 // reserved - -#define G61PL 3 // SPIRXINTA (SPI-A) -#define G62PL 1 // SPITXINTA (SPI-A) -#define G63PL 4 // MRINTB (McBSP-B) -#define G64PL 6 // MXINTB (McBSP-B) -#define G65PL 2 // MRINTA (McBSP-A) -#define G66PL 1 // MXINTA (McBSP-A) -#define G67PL 0 // reserved -#define G68PL 0 // reserved - -#define G71PL 5 // DINTCH1 (DMA) -#define G72PL 4 // DINTCH2 (DMA) -#define G73PL 4 // DINTCH3 (DMA) -#define G74PL 2 // DINTCH4 (DMA) -#define G75PL 3 // DINTCH5 (DMA) -#define G76PL 1 // DINTCH6 (DMA) -#define G77PL 0 // reserved -#define G78PL 0 // reserved - -#define G81PL 1 // I2CINT1A (I2C-A) -#define G82PL 2 // I2CINT2A (I2C-A) -#define G83PL 0 // reserved -#define G84PL 0 // reserved -#define G85PL 4 // SCIRXINTC (SCI-C) -#define G86PL 1 // SCITXINTC (SCI-C) -#define G87PL 0 // reserved -#define G88PL 0 // reserved - -#define G91PL 1 // SCIRXINTA (SCI-A) -#define G92PL 1 // SCITXINTA (SCI-A) -#define G93PL 1 // SCIRXINTB (SCI-B) -#define G94PL 1 // SCITXINTB (SCI-B) -#define G95PL 1 // ECAN0INTA (ECAN-A) -#define G96PL 1 // ECAN1INTA (ECAN-A) -#define G97PL 2 // ECAN0INTB (ECAN-B) -#define G98PL 4 // ECAN1INTB (ECAN-B) - -#define G101PL 0 // reserved -#define G102PL 0 // reserved -#define G103PL 0 // reserved -#define G104PL 0 // reserved -#define G105PL 0 // reserved -#define G106PL 0 // reserved -#define G107PL 0 // reserved -#define G108PL 0 // reserved - -#define G111PL 0 // reserved -#define G112PL 0 // reserved -#define G113PL 0 // reserved -#define G114PL 0 // reserved -#define G115PL 0 // reserved -#define G116PL 0 // reserved -#define G117PL 0 // reserved -#define G118PL 0 // reserved - -#define G121PL 5 // XINT3 (External) -#define G122PL 3 // XINT4 (External) -#define G123PL 2 // XINT5 (External) -#define G124PL 2 // XINT6 (External) -#define G125PL 1 // XINT7 (External) -#define G126PL 0 // reserved -#define G127PL 6 // LVF (FPA32) -#define G128PL 1 // LUF (FPA32) - - -// There should be no need to modify code below this line -//------------------------------------------------------------------------------- -// Automatically generate IER interrupt masks MINT1 to MINT16: -// - -// Beginning of MINT1: -#if (INT1PL == 0) -#define MINT1_1PL ~(1 << 0) -#else -#define MINT1_1PL 0xFFFF -#endif - -#if (INT2PL >= INT1PL) || (INT2PL == 0) -#define MINT1_2PL ~(1 << 1) -#else -#define MINT1_2PL 0xFFFF -#endif - -#if (INT3PL >= INT1PL) || (INT3PL == 0) -#define MINT1_3PL ~(1 << 2) -#else -#define MINT1_3PL 0xFFFF -#endif - -#if (INT4PL >= INT1PL) || (INT4PL == 0) -#define MINT1_4PL ~(1 << 3) -#else -#define MINT1_4PL 0xFFFF -#endif - -#if (INT5PL >= INT1PL) || (INT5PL == 0) -#define MINT1_5PL ~(1 << 4) -#else -#define MINT1_5PL 0xFFFF -#endif - -#if (INT6PL >= INT1PL) || (INT6PL == 0) -#define MINT1_6PL ~(1 << 5) -#else -#define MINT1_6PL 0xFFFF -#endif - -#if (INT7PL >= INT1PL) || (INT7PL == 0) -#define MINT1_7PL ~(1 << 6) -#else -#define MINT1_7PL 0xFFFF -#endif - -#if (INT8PL >= INT1PL) || (INT8PL == 0) -#define MINT1_8PL ~(1 << 7) -#else -#define MINT1_8PL 0xFFFF -#endif - -#if (INT9PL >= INT1PL) || (INT9PL == 0) -#define MINT1_9PL ~(1 << 8) -#else -#define MINT1_9PL 0xFFFF -#endif - -#if (INT10PL >= INT1PL) || (INT10PL == 0) -#define MINT1_10PL ~(1 << 9) -#else -#define MINT1_10PL 0xFFFF -#endif - -#if (INT11PL >= INT1PL) || (INT11PL == 0) -#define MINT1_11PL ~(1 << 10) -#else -#define MINT1_11PL 0xFFFF -#endif - -#if (INT12PL >= INT1PL) || (INT12PL == 0) -#define MINT1_12PL ~(1 << 11) -#else -#define MINT1_12PL 0xFFFF -#endif - -#if (INT13PL >= INT1PL) || (INT13PL == 0) -#define MINT1_13PL ~(1 << 12) -#else -#define MINT1_13PL 0xFFFF -#endif - -#if (INT14PL >= INT1PL) || (INT14PL == 0) -#define MINT1_14PL ~(1 << 13) -#else -#define MINT1_14PL 0xFFFF -#endif - -#if (INT15PL >= INT1PL) || (INT15PL == 0) -#define MINT1_15PL ~(1 << 14) -#else -#define MINT1_15PL 0xFFFF -#endif - -#if (INT16PL >= INT1PL) || (INT16PL == 0) -#define MINT1_16PL ~(1 << 15) -#else -#define MINT1_16PL 0xFFFF -#endif - -#define MINT1 (MINT1_1PL & MINT1_2PL & MINT1_3PL & MINT1_4PL & \ - MINT1_5PL & MINT1_6PL & MINT1_7PL & MINT1_8PL & \ - MINT1_9PL & MINT1_10PL & MINT1_11PL & MINT1_12PL & \ - MINT1_13PL & MINT1_14PL & MINT1_15PL & MINT1_16PL) -// End Of MINT1. - -// Beginning of MINT2: -#if (INT1PL >= INT2PL) || (INT1PL == 0) -#define MINT2_1PL ~(1 << 0) -#else -#define MINT2_1PL 0xFFFF -#endif - -#if (INT2PL == 0) -#define MINT2_2PL ~(1 << 1) -#else -#define MINT2_2PL 0xFFFF -#endif - -#if (INT3PL >= INT2PL) || (INT3PL == 0) -#define MINT2_3PL ~(1 << 2) -#else -#define MINT2_3PL 0xFFFF -#endif - -#if (INT4PL >= INT2PL) || (INT4PL == 0) -#define MINT2_4PL ~(1 << 3) -#else -#define MINT2_4PL 0xFFFF -#endif - -#if (INT5PL >= INT2PL) || (INT5PL == 0) -#define MINT2_5PL ~(1 << 4) -#else -#define MINT2_5PL 0xFFFF -#endif - -#if (INT6PL >= INT2PL) || (INT6PL == 0) -#define MINT2_6PL ~(1 << 5) -#else -#define MINT2_6PL 0xFFFF -#endif - -#if (INT7PL >= INT2PL) || (INT7PL == 0) -#define MINT2_7PL ~(1 << 6) -#else -#define MINT2_7PL 0xFFFF -#endif - -#if (INT8PL >= INT2PL) || (INT8PL == 0) -#define MINT2_8PL ~(1 << 7) -#else -#define MINT2_8PL 0xFFFF -#endif - -#if (INT9PL >= INT2PL) || (INT9PL == 0) -#define MINT2_9PL ~(1 << 8) -#else -#define MINT2_9PL 0xFFFF -#endif - -#if (INT10PL >= INT2PL) || (INT10PL == 0) -#define MINT2_10PL ~(1 << 9) -#else -#define MINT2_10PL 0xFFFF -#endif - -#if (INT11PL >= INT2PL) || (INT11PL == 0) -#define MINT2_11PL ~(1 << 10) -#else -#define MINT2_11PL 0xFFFF -#endif - -#if (INT12PL >= INT2PL) || (INT12PL == 0) -#define MINT2_12PL ~(1 << 11) -#else -#define MINT2_12PL 0xFFFF -#endif - -#if (INT13PL >= INT2PL) || (INT13PL == 0) -#define MINT2_13PL ~(1 << 12) -#else -#define MINT2_13PL 0xFFFF -#endif - -#if (INT14PL >= INT2PL) || (INT14PL == 0) -#define MINT2_14PL ~(1 << 13) -#else -#define MINT2_14PL 0xFFFF -#endif - -#if (INT15PL >= INT2PL) || (INT15PL == 0) -#define MINT2_15PL ~(1 << 14) -#else -#define MINT2_15PL 0xFFFF -#endif - -#if (INT16PL >= INT2PL) || (INT16PL == 0) -#define MINT2_16PL ~(1 << 15) -#else -#define MINT2_16PL 0xFFFF -#endif - -#define MINT2 (MINT2_1PL & MINT2_2PL & MINT2_3PL & MINT2_4PL & \ - MINT2_5PL & MINT2_6PL & MINT2_7PL & MINT2_8PL & \ - MINT2_9PL & MINT2_10PL & MINT2_11PL & MINT2_12PL & \ - MINT2_13PL & MINT2_14PL & MINT2_15PL & MINT2_16PL) -// End Of MINT2. - -// Beginning of MINT3: -#if (INT1PL >= INT3PL) || (INT1PL == 0) -#define MINT3_1PL ~(1 << 0) -#else -#define MINT3_1PL 0xFFFF -#endif - -#if (INT2PL >= INT3PL) || (INT2PL == 0) -#define MINT3_2PL ~(1 << 1) -#else -#define MINT3_2PL 0xFFFF -#endif - -#if (INT3PL == 0) -#define MINT3_3PL ~(1 << 2) -#else -#define MINT3_3PL 0xFFFF -#endif - -#if (INT4PL >= INT3PL) || (INT4PL == 0) -#define MINT3_4PL ~(1 << 3) -#else -#define MINT3_4PL 0xFFFF -#endif - -#if (INT5PL >= INT3PL) || (INT5PL == 0) -#define MINT3_5PL ~(1 << 4) -#else -#define MINT3_5PL 0xFFFF -#endif - -#if (INT6PL >= INT3PL) || (INT6PL == 0) -#define MINT3_6PL ~(1 << 5) -#else -#define MINT3_6PL 0xFFFF -#endif - -#if (INT7PL >= INT3PL) || (INT7PL == 0) -#define MINT3_7PL ~(1 << 6) -#else -#define MINT3_7PL 0xFFFF -#endif - -#if (INT8PL >= INT3PL) || (INT8PL == 0) -#define MINT3_8PL ~(1 << 7) -#else -#define MINT3_8PL 0xFFFF -#endif - -#if (INT9PL >= INT3PL) || (INT9PL == 0) -#define MINT3_9PL ~(1 << 8) -#else -#define MINT3_9PL 0xFFFF -#endif - -#if (INT10PL >= INT3PL) || (INT10PL == 0) -#define MINT3_10PL ~(1 << 9) -#else -#define MINT3_10PL 0xFFFF -#endif - -#if (INT11PL >= INT3PL) || (INT11PL == 0) -#define MINT3_11PL ~(1 << 10) -#else -#define MINT3_11PL 0xFFFF -#endif - -#if (INT12PL >= INT3PL) || (INT12PL == 0) -#define MINT3_12PL ~(1 << 11) -#else -#define MINT3_12PL 0xFFFF -#endif - -#if (INT13PL >= INT3PL) || (INT13PL == 0) -#define MINT3_13PL ~(1 << 12) -#else -#define MINT3_13PL 0xFFFF -#endif - -#if (INT14PL >= INT3PL) || (INT14PL == 0) -#define MINT3_14PL ~(1 << 13) -#else -#define MINT3_14PL 0xFFFF -#endif - -#if (INT15PL >= INT3PL) || (INT15PL == 0) -#define MINT3_15PL ~(1 << 14) -#else -#define MINT3_15PL 0xFFFF -#endif - -#if (INT16PL >= INT3PL) || (INT16PL == 0) -#define MINT3_16PL ~(1 << 15) -#else -#define MINT3_16PL 0xFFFF -#endif - -#define MINT3 (MINT3_1PL & MINT3_2PL & MINT3_3PL & MINT3_4PL & \ - MINT3_5PL & MINT3_6PL & MINT3_7PL & MINT3_8PL & \ - MINT3_9PL & MINT3_10PL & MINT3_11PL & MINT3_12PL & \ - MINT3_13PL & MINT3_14PL & MINT3_15PL & MINT3_16PL) -// End Of MINT3. - -// Beginning of MINT4: -#if (INT1PL >= INT4PL) || (INT1PL == 0) -#define MINT4_1PL ~(1 << 0) -#else -#define MINT4_1PL 0xFFFF -#endif - -#if (INT2PL >= INT4PL) || (INT2PL == 0) -#define MINT4_2PL ~(1 << 1) -#else -#define MINT4_2PL 0xFFFF -#endif - -#if (INT3PL >= INT4PL) || (INT3PL == 0) -#define MINT4_3PL ~(1 << 2) -#else -#define MINT4_3PL 0xFFFF -#endif - -#if (INT4PL == 0) -#define MINT4_4PL ~(1 << 3) -#else -#define MINT4_4PL 0xFFFF -#endif - -#if (INT5PL >= INT4PL) || (INT5PL == 0) -#define MINT4_5PL ~(1 << 4) -#else -#define MINT4_5PL 0xFFFF -#endif - -#if (INT6PL >= INT4PL) || (INT6PL == 0) -#define MINT4_6PL ~(1 << 5) -#else -#define MINT4_6PL 0xFFFF -#endif - -#if (INT7PL >= INT4PL) || (INT7PL == 0) -#define MINT4_7PL ~(1 << 6) -#else -#define MINT4_7PL 0xFFFF -#endif - -#if (INT8PL >= INT4PL) || (INT8PL == 0) -#define MINT4_8PL ~(1 << 7) -#else -#define MINT4_8PL 0xFFFF -#endif - -#if (INT9PL >= INT4PL) || (INT9PL == 0) -#define MINT4_9PL ~(1 << 8) -#else -#define MINT4_9PL 0xFFFF -#endif - -#if (INT10PL >= INT4PL) || (INT10PL == 0) -#define MINT4_10PL ~(1 << 9) -#else -#define MINT4_10PL 0xFFFF -#endif - -#if (INT11PL >= INT4PL) || (INT11PL == 0) -#define MINT4_11PL ~(1 << 10) -#else -#define MINT4_11PL 0xFFFF -#endif - -#if (INT12PL >= INT4PL) || (INT12PL == 0) -#define MINT4_12PL ~(1 << 11) -#else -#define MINT4_12PL 0xFFFF -#endif - -#if (INT13PL >= INT4PL) || (INT13PL == 0) -#define MINT4_13PL ~(1 << 12) -#else -#define MINT4_13PL 0xFFFF -#endif - -#if (INT14PL >= INT4PL) || (INT14PL == 0) -#define MINT4_14PL ~(1 << 13) -#else -#define MINT4_14PL 0xFFFF -#endif - -#if (INT15PL >= INT4PL) || (INT15PL == 0) -#define MINT4_15PL ~(1 << 14) -#else -#define MINT4_15PL 0xFFFF -#endif - -#if (INT16PL >= INT4PL) || (INT16PL == 0) -#define MINT4_16PL ~(1 << 15) -#else -#define MINT4_16PL 0xFFFF -#endif - -#define MINT4 (MINT4_1PL & MINT4_2PL & MINT4_3PL & MINT4_4PL & \ - MINT4_5PL & MINT4_6PL & MINT4_7PL & MINT4_8PL & \ - MINT4_9PL & MINT4_10PL & MINT4_11PL & MINT4_12PL & \ - MINT4_13PL & MINT4_14PL & MINT4_15PL & MINT4_16PL) -// End Of MINT4. - -// Beginning of MINT5: -#if (INT1PL >= INT5PL) || (INT1PL == 0) -#define MINT5_1PL ~(1 << 0) -#else -#define MINT5_1PL 0xFFFF -#endif - -#if (INT2PL >= INT5PL) || (INT2PL == 0) -#define MINT5_2PL ~(1 << 1) -#else -#define MINT5_2PL 0xFFFF -#endif - -#if (INT3PL >= INT5PL) || (INT3PL == 0) -#define MINT5_3PL ~(1 << 2) -#else -#define MINT5_3PL 0xFFFF -#endif - -#if (INT4PL >= INT5PL) || (INT4PL == 0) -#define MINT5_4PL ~(1 << 3) -#else -#define MINT5_4PL 0xFFFF -#endif - -#if (INT5PL == 0) -#define MINT5_5PL ~(1 << 4) -#else -#define MINT5_5PL 0xFFFF -#endif - -#if (INT6PL >= INT5PL) || (INT6PL == 0) -#define MINT5_6PL ~(1 << 5) -#else -#define MINT5_6PL 0xFFFF -#endif - -#if (INT7PL >= INT5PL) || (INT7PL == 0) -#define MINT5_7PL ~(1 << 6) -#else -#define MINT5_7PL 0xFFFF -#endif - -#if (INT8PL >= INT5PL) || (INT8PL == 0) -#define MINT5_8PL ~(1 << 7) -#else -#define MINT5_8PL 0xFFFF -#endif - -#if (INT9PL >= INT5PL) || (INT9PL == 0) -#define MINT5_9PL ~(1 << 8) -#else -#define MINT5_9PL 0xFFFF -#endif - -#if (INT10PL >= INT5PL) || (INT10PL == 0) -#define MINT5_10PL ~(1 << 9) -#else -#define MINT5_10PL 0xFFFF -#endif - -#if (INT11PL >= INT5PL) || (INT11PL == 0) -#define MINT5_11PL ~(1 << 10) -#else -#define MINT5_11PL 0xFFFF -#endif - -#if (INT12PL >= INT5PL) || (INT12PL == 0) -#define MINT5_12PL ~(1 << 11) -#else -#define MINT5_12PL 0xFFFF -#endif - -#if (INT13PL >= INT5PL) || (INT13PL == 0) -#define MINT5_13PL ~(1 << 12) -#else -#define MINT5_13PL 0xFFFF -#endif - -#if (INT14PL >= INT5PL) || (INT14PL == 0) -#define MINT5_14PL ~(1 << 13) -#else -#define MINT5_14PL 0xFFFF -#endif - -#if (INT15PL >= INT5PL) || (INT15PL == 0) -#define MINT5_15PL ~(1 << 14) -#else -#define MINT5_15PL 0xFFFF -#endif - -#if (INT16PL >= INT5PL) || (INT16PL == 0) -#define MINT5_16PL ~(1 << 15) -#else -#define MINT5_16PL 0xFFFF -#endif - -#define MINT5 (MINT5_1PL & MINT5_2PL & MINT5_3PL & MINT5_4PL & \ - MINT5_5PL & MINT5_6PL & MINT5_7PL & MINT5_8PL & \ - MINT5_9PL & MINT5_10PL & MINT5_11PL & MINT5_12PL & \ - MINT5_13PL & MINT5_14PL & MINT5_15PL & MINT5_16PL) -// End Of MINT5. - -// Beginning of MINT6: -#if (INT1PL >= INT6PL) || (INT1PL == 0) -#define MINT6_1PL ~(1 << 0) -#else -#define MINT6_1PL 0xFFFF -#endif - -#if (INT2PL >= INT6PL) || (INT2PL == 0) -#define MINT6_2PL ~(1 << 1) -#else -#define MINT6_2PL 0xFFFF -#endif - -#if (INT3PL >= INT6PL) || (INT3PL == 0) -#define MINT6_3PL ~(1 << 2) -#else -#define MINT6_3PL 0xFFFF -#endif - -#if (INT4PL >= INT6PL) || (INT4PL == 0) -#define MINT6_4PL ~(1 << 3) -#else -#define MINT6_4PL 0xFFFF -#endif - -#if (INT5PL >= INT6PL) || (INT5PL == 0) -#define MINT6_5PL ~(1 << 4) -#else -#define MINT6_5PL 0xFFFF -#endif - -#if (INT6PL == 0) -#define MINT6_6PL ~(1 << 5) -#else -#define MINT6_6PL 0xFFFF -#endif - -#if (INT7PL >= INT6PL) || (INT7PL == 0) -#define MINT6_7PL ~(1 << 6) -#else -#define MINT6_7PL 0xFFFF -#endif - -#if (INT8PL >= INT6PL) || (INT8PL == 0) -#define MINT6_8PL ~(1 << 7) -#else -#define MINT6_8PL 0xFFFF -#endif - -#if (INT9PL >= INT6PL) || (INT9PL == 0) -#define MINT6_9PL ~(1 << 8) -#else -#define MINT6_9PL 0xFFFF -#endif - -#if (INT10PL >= INT6PL) || (INT10PL == 0) -#define MINT6_10PL ~(1 << 9) -#else -#define MINT6_10PL 0xFFFF -#endif - -#if (INT11PL >= INT6PL) || (INT11PL == 0) -#define MINT6_11PL ~(1 << 10) -#else -#define MINT6_11PL 0xFFFF -#endif - -#if (INT12PL >= INT6PL) || (INT12PL == 0) -#define MINT6_12PL ~(1 << 11) -#else -#define MINT6_12PL 0xFFFF -#endif - -#if (INT13PL >= INT6PL) || (INT13PL == 0) -#define MINT6_13PL ~(1 << 12) -#else -#define MINT6_13PL 0xFFFF -#endif - -#if (INT14PL >= INT6PL) || (INT14PL == 0) -#define MINT6_14PL ~(1 << 13) -#else -#define MINT6_14PL 0xFFFF -#endif - -#if (INT15PL >= INT6PL) || (INT15PL == 0) -#define MINT6_15PL ~(1 << 14) -#else -#define MINT6_15PL 0xFFFF -#endif - -#if (INT16PL >= INT6PL) || (INT16PL == 0) -#define MINT6_16PL ~(1 << 15) -#else -#define MINT6_16PL 0xFFFF -#endif - -#define MINT6 (MINT6_1PL & MINT6_2PL & MINT6_3PL & MINT6_4PL & \ - MINT6_5PL & MINT6_6PL & MINT6_7PL & MINT6_8PL & \ - MINT6_9PL & MINT6_10PL & MINT6_11PL & MINT6_12PL & \ - MINT6_13PL & MINT6_14PL & MINT6_15PL & MINT6_16PL) -// End Of MINT6. - -// Beginning of MINT7: -#if (INT1PL >= INT7PL) || (INT1PL == 0) -#define MINT7_1PL ~(1 << 0) -#else -#define MINT7_1PL 0xFFFF -#endif - -#if (INT2PL >= INT7PL) || (INT2PL == 0) -#define MINT7_2PL ~(1 << 1) -#else -#define MINT7_2PL 0xFFFF -#endif - -#if (INT3PL >= INT7PL) || (INT3PL == 0) -#define MINT7_3PL ~(1 << 2) -#else -#define MINT7_3PL 0xFFFF -#endif - -#if (INT4PL >= INT7PL) || (INT4PL == 0) -#define MINT7_4PL ~(1 << 3) -#else -#define MINT7_4PL 0xFFFF -#endif - -#if (INT5PL >= INT7PL) || (INT5PL == 0) -#define MINT7_5PL ~(1 << 4) -#else -#define MINT7_5PL 0xFFFF -#endif - -#if (INT6PL >= INT7PL) || (INT6PL == 0) -#define MINT7_6PL ~(1 << 5) -#else -#define MINT7_6PL 0xFFFF -#endif - -#if (INT7PL == 0) -#define MINT7_7PL ~(1 << 6) -#else -#define MINT7_7PL 0xFFFF -#endif - -#if (INT8PL >= INT7PL) || (INT8PL == 0) -#define MINT7_8PL ~(1 << 7) -#else -#define MINT7_8PL 0xFFFF -#endif - -#if (INT9PL >= INT7PL) || (INT9PL == 0) -#define MINT7_9PL ~(1 << 8) -#else -#define MINT7_9PL 0xFFFF -#endif - -#if (INT10PL >= INT7PL) || (INT10PL == 0) -#define MINT7_10PL ~(1 << 9) -#else -#define MINT7_10PL 0xFFFF -#endif - -#if (INT11PL >= INT7PL) || (INT11PL == 0) -#define MINT7_11PL ~(1 << 10) -#else -#define MINT7_11PL 0xFFFF -#endif - -#if (INT12PL >= INT7PL) || (INT12PL == 0) -#define MINT7_12PL ~(1 << 11) -#else -#define MINT7_12PL 0xFFFF -#endif - -#if (INT13PL >= INT7PL) || (INT13PL == 0) -#define MINT7_13PL ~(1 << 12) -#else -#define MINT7_13PL 0xFFFF -#endif - -#if (INT14PL >= INT7PL) || (INT14PL == 0) -#define MINT7_14PL ~(1 << 13) -#else -#define MINT7_14PL 0xFFFF -#endif - -#if (INT15PL >= INT7PL) || (INT15PL == 0) -#define MINT7_15PL ~(1 << 14) -#else -#define MINT7_15PL 0xFFFF -#endif - -#if (INT16PL >= INT7PL) || (INT16PL == 0) -#define MINT7_16PL ~(1 << 15) -#else -#define MINT7_16PL 0xFFFF -#endif - -#define MINT7 (MINT7_1PL & MINT7_2PL & MINT7_3PL & MINT7_4PL & \ - MINT7_5PL & MINT7_6PL & MINT7_7PL & MINT7_8PL & \ - MINT7_9PL & MINT7_10PL & MINT7_11PL & MINT7_12PL & \ - MINT7_13PL & MINT7_14PL & MINT7_15PL & MINT7_16PL) -// End Of MINT7. - -// Beginning of MINT8: -#if (INT1PL >= INT8PL) || (INT1PL == 0) -#define MINT8_1PL ~(1 << 0) -#else -#define MINT8_1PL 0xFFFF -#endif - -#if (INT2PL >= INT8PL) || (INT2PL == 0) -#define MINT8_2PL ~(1 << 1) -#else -#define MINT8_2PL 0xFFFF -#endif - -#if (INT3PL >= INT8PL) || (INT3PL == 0) -#define MINT8_3PL ~(1 << 2) -#else -#define MINT8_3PL 0xFFFF -#endif - -#if (INT4PL >= INT8PL) || (INT4PL == 0) -#define MINT8_4PL ~(1 << 3) -#else -#define MINT8_4PL 0xFFFF -#endif - -#if (INT5PL >= INT8PL) || (INT5PL == 0) -#define MINT8_5PL ~(1 << 4) -#else -#define MINT8_5PL 0xFFFF -#endif - -#if (INT6PL >= INT8PL) || (INT6PL == 0) -#define MINT8_6PL ~(1 << 5) -#else -#define MINT8_6PL 0xFFFF -#endif - -#if (INT7PL >= INT8PL) || (INT7PL == 0) -#define MINT8_7PL ~(1 << 6) -#else -#define MINT8_7PL 0xFFFF -#endif - -#if (INT8PL == 0) -#define MINT8_8PL ~(1 << 7) -#else -#define MINT8_8PL 0xFFFF -#endif - -#if (INT9PL >= INT8PL) || (INT9PL == 0) -#define MINT8_9PL ~(1 << 8) -#else -#define MINT8_9PL 0xFFFF -#endif - -#if (INT10PL >= INT8PL) || (INT10PL == 0) -#define MINT8_10PL ~(1 << 9) -#else -#define MINT8_10PL 0xFFFF -#endif - -#if (INT11PL >= INT8PL) || (INT11PL == 0) -#define MINT8_11PL ~(1 << 10) -#else -#define MINT8_11PL 0xFFFF -#endif - -#if (INT12PL >= INT8PL) || (INT12PL == 0) -#define MINT8_12PL ~(1 << 11) -#else -#define MINT8_12PL 0xFFFF -#endif - -#if (INT13PL >= INT8PL) || (INT13PL == 0) -#define MINT8_13PL ~(1 << 12) -#else -#define MINT8_13PL 0xFFFF -#endif - -#if (INT14PL >= INT8PL) || (INT14PL == 0) -#define MINT8_14PL ~(1 << 13) -#else -#define MINT8_14PL 0xFFFF -#endif - -#if (INT15PL >= INT8PL) || (INT15PL == 0) -#define MINT8_15PL ~(1 << 14) -#else -#define MINT8_15PL 0xFFFF -#endif - -#if (INT16PL >= INT8PL) || (INT16PL == 0) -#define MINT8_16PL ~(1 << 15) -#else -#define MINT8_16PL 0xFFFF -#endif - -#define MINT8 (MINT8_1PL & MINT8_2PL & MINT8_3PL & MINT8_4PL & \ - MINT8_5PL & MINT8_6PL & MINT8_7PL & MINT8_8PL & \ - MINT8_9PL & MINT8_10PL & MINT8_11PL & MINT8_12PL & \ - MINT8_13PL & MINT8_14PL & MINT8_15PL & MINT8_16PL) -// End Of MINT8. - -// Beginning of MINT9: -#if (INT1PL >= INT9PL) || (INT1PL == 0) -#define MINT9_1PL ~(1 << 0) -#else -#define MINT9_1PL 0xFFFF -#endif - -#if (INT2PL >= INT9PL) || (INT2PL == 0) -#define MINT9_2PL ~(1 << 1) -#else -#define MINT9_2PL 0xFFFF -#endif - -#if (INT3PL >= INT9PL) || (INT3PL == 0) -#define MINT9_3PL ~(1 << 2) -#else -#define MINT9_3PL 0xFFFF -#endif - -#if (INT4PL >= INT9PL) || (INT4PL == 0) -#define MINT9_4PL ~(1 << 3) -#else -#define MINT9_4PL 0xFFFF -#endif - -#if (INT5PL >= INT9PL) || (INT5PL == 0) -#define MINT9_5PL ~(1 << 4) -#else -#define MINT9_5PL 0xFFFF -#endif - -#if (INT6PL >= INT9PL) || (INT6PL == 0) -#define MINT9_6PL ~(1 << 5) -#else -#define MINT9_6PL 0xFFFF -#endif - -#if (INT7PL >= INT9PL) || (INT7PL == 0) -#define MINT9_7PL ~(1 << 6) -#else -#define MINT9_7PL 0xFFFF -#endif - -#if (INT8PL >= INT9PL) || (INT8PL == 0) -#define MINT9_8PL ~(1 << 7) -#else -#define MINT9_8PL 0xFFFF -#endif - -#if (INT9PL == 0) -#define MINT9_9PL ~(1 << 8) -#else -#define MINT9_9PL 0xFFFF -#endif - -#if (INT10PL >= INT9PL) || (INT10PL == 0) -#define MINT9_10PL ~(1 << 9) -#else -#define MINT9_10PL 0xFFFF -#endif - -#if (INT11PL >= INT9PL) || (INT11PL == 0) -#define MINT9_11PL ~(1 << 10) -#else -#define MINT9_11PL 0xFFFF -#endif - -#if (INT12PL >= INT9PL) || (INT12PL == 0) -#define MINT9_12PL ~(1 << 11) -#else -#define MINT9_12PL 0xFFFF -#endif - -#if (INT13PL >= INT9PL) || (INT13PL == 0) -#define MINT9_13PL ~(1 << 12) -#else -#define MINT9_13PL 0xFFFF -#endif - -#if (INT14PL >= INT9PL) || (INT14PL == 0) -#define MINT9_14PL ~(1 << 13) -#else -#define MINT9_14PL 0xFFFF -#endif - -#if (INT15PL >= INT9PL) || (INT15PL == 0) -#define MINT9_15PL ~(1 << 14) -#else -#define MINT9_15PL 0xFFFF -#endif - -#if (INT16PL >= INT9PL) || (INT16PL == 0) -#define MINT9_16PL ~(1 << 15) -#else -#define MINT9_16PL 0xFFFF -#endif - -#define MINT9 (MINT9_1PL & MINT9_2PL & MINT9_3PL & MINT9_4PL & \ - MINT9_5PL & MINT9_6PL & MINT9_7PL & MINT9_8PL & \ - MINT9_9PL & MINT9_10PL & MINT9_11PL & MINT9_12PL & \ - MINT9_13PL & MINT9_14PL & MINT9_15PL & MINT9_16PL) -// End Of MINT9. - -// Beginning of MINT10: -#if (INT1PL >= INT10PL) || (INT1PL == 0) -#define MINT10_1PL ~(1 << 0) -#else -#define MINT10_1PL 0xFFFF -#endif - -#if (INT2PL >= INT10PL) || (INT2PL == 0) -#define MINT10_2PL ~(1 << 1) -#else -#define MINT10_2PL 0xFFFF -#endif - -#if (INT3PL >= INT10PL) || (INT3PL == 0) -#define MINT10_3PL ~(1 << 2) -#else -#define MINT10_3PL 0xFFFF -#endif - -#if (INT4PL >= INT10PL) || (INT4PL == 0) -#define MINT10_4PL ~(1 << 3) -#else -#define MINT10_4PL 0xFFFF -#endif - -#if (INT5PL >= INT10PL) || (INT5PL == 0) -#define MINT10_5PL ~(1 << 4) -#else -#define MINT10_5PL 0xFFFF -#endif - -#if (INT6PL >= INT10PL) || (INT6PL == 0) -#define MINT10_6PL ~(1 << 5) -#else -#define MINT10_6PL 0xFFFF -#endif - -#if (INT7PL >= INT10PL) || (INT7PL == 0) -#define MINT10_7PL ~(1 << 6) -#else -#define MINT10_7PL 0xFFFF -#endif - -#if (INT8PL >= INT10PL) || (INT8PL == 0) -#define MINT10_8PL ~(1 << 7) -#else -#define MINT10_8PL 0xFFFF -#endif - -#if (INT9PL >= INT10PL) || (INT9PL == 0) -#define MINT10_9PL ~(1 << 8) -#else -#define MINT10_9PL 0xFFFF -#endif - -#if (INT10PL == 0) -#define MINT10_10PL ~(1 << 9) -#else -#define MINT10_10PL 0xFFFF -#endif - -#if (INT11PL >= INT10PL) || (INT11PL == 0) -#define MINT10_11PL ~(1 << 10) -#else -#define MINT10_11PL 0xFFFF -#endif - -#if (INT12PL >= INT10PL) || (INT12PL == 0) -#define MINT10_12PL ~(1 << 11) -#else -#define MINT10_12PL 0xFFFF -#endif - -#if (INT13PL >= INT10PL) || (INT13PL == 0) -#define MINT10_13PL ~(1 << 12) -#else -#define MINT10_13PL 0xFFFF -#endif - -#if (INT14PL >= INT10PL) || (INT14PL == 0) -#define MINT10_14PL ~(1 << 13) -#else -#define MINT10_14PL 0xFFFF -#endif - -#if (INT15PL >= INT10PL) || (INT15PL == 0) -#define MINT10_15PL ~(1 << 14) -#else -#define MINT10_15PL 0xFFFF -#endif - -#if (INT16PL >= INT10PL) || (INT16PL == 0) -#define MINT10_16PL ~(1 << 15) -#else -#define MINT10_16PL 0xFFFF -#endif - -#define MINT10 (MINT10_1PL & MINT10_2PL & MINT10_3PL & MINT10_4PL & \ - MINT10_5PL & MINT10_6PL & MINT10_7PL & MINT10_8PL & \ - MINT10_9PL & MINT10_10PL & MINT10_11PL & MINT10_12PL & \ - MINT10_13PL & MINT10_14PL & MINT10_15PL & MINT10_16PL) -// End Of MINT10. - -// Beginning of MINT11: -#if (INT1PL >= INT11PL) || (INT1PL == 0) -#define MINT11_1PL ~(1 << 0) -#else -#define MINT11_1PL 0xFFFF -#endif - -#if (INT2PL >= INT11PL) || (INT2PL == 0) -#define MINT11_2PL ~(1 << 1) -#else -#define MINT11_2PL 0xFFFF -#endif - -#if (INT3PL >= INT11PL) || (INT3PL == 0) -#define MINT11_3PL ~(1 << 2) -#else -#define MINT11_3PL 0xFFFF -#endif - -#if (INT4PL >= INT11PL) || (INT4PL == 0) -#define MINT11_4PL ~(1 << 3) -#else -#define MINT11_4PL 0xFFFF -#endif - -#if (INT5PL >= INT11PL) || (INT5PL == 0) -#define MINT11_5PL ~(1 << 4) -#else -#define MINT11_5PL 0xFFFF -#endif - -#if (INT6PL >= INT11PL) || (INT6PL == 0) -#define MINT11_6PL ~(1 << 5) -#else -#define MINT11_6PL 0xFFFF -#endif - -#if (INT7PL >= INT11PL) || (INT7PL == 0) -#define MINT11_7PL ~(1 << 6) -#else -#define MINT11_7PL 0xFFFF -#endif - -#if (INT8PL >= INT11PL) || (INT8PL == 0) -#define MINT11_8PL ~(1 << 7) -#else -#define MINT11_8PL 0xFFFF -#endif - -#if (INT9PL >= INT11PL) || (INT9PL == 0) -#define MINT11_9PL ~(1 << 8) -#else -#define MINT11_9PL 0xFFFF -#endif - -#if (INT10PL >= INT11PL) || (INT10PL == 0) -#define MINT11_10PL ~(1 << 9) -#else -#define MINT11_10PL 0xFFFF -#endif - -#if (INT11PL == 0) -#define MINT11_11PL ~(1 << 10) -#else -#define MINT11_11PL 0xFFFF -#endif - -#if (INT12PL >= INT11PL) || (INT12PL == 0) -#define MINT11_12PL ~(1 << 11) -#else -#define MINT11_12PL 0xFFFF -#endif - -#if (INT13PL >= INT11PL) || (INT13PL == 0) -#define MINT11_13PL ~(1 << 12) -#else -#define MINT11_13PL 0xFFFF -#endif - -#if (INT14PL >= INT11PL) || (INT14PL == 0) -#define MINT11_14PL ~(1 << 13) -#else -#define MINT11_14PL 0xFFFF -#endif - -#if (INT15PL >= INT11PL) || (INT15PL == 0) -#define MINT11_15PL ~(1 << 14) -#else -#define MINT11_15PL 0xFFFF -#endif - -#if (INT16PL >= INT11PL) || (INT16PL == 0) -#define MINT11_16PL ~(1 << 15) -#else -#define MINT11_16PL 0xFFFF -#endif - -#define MINT11 (MINT11_1PL & MINT11_2PL & MINT11_3PL & MINT11_4PL & \ - MINT11_5PL & MINT11_6PL & MINT11_7PL & MINT11_8PL & \ - MINT11_9PL & MINT11_10PL & MINT11_11PL & MINT11_12PL & \ - MINT11_13PL & MINT11_14PL & MINT11_15PL & MINT11_16PL) -// End Of MINT11. - -// Beginning of MINT12: -#if (INT1PL >= INT12PL) || (INT1PL == 0) -#define MINT12_1PL ~(1 << 0) -#else -#define MINT12_1PL 0xFFFF -#endif - -#if (INT2PL >= INT12PL) || (INT2PL == 0) -#define MINT12_2PL ~(1 << 1) -#else -#define MINT12_2PL 0xFFFF -#endif - -#if (INT3PL >= INT12PL) || (INT3PL == 0) -#define MINT12_3PL ~(1 << 2) -#else -#define MINT12_3PL 0xFFFF -#endif - -#if (INT4PL >= INT12PL) || (INT4PL == 0) -#define MINT12_4PL ~(1 << 3) -#else -#define MINT12_4PL 0xFFFF -#endif - -#if (INT5PL >= INT12PL) || (INT5PL == 0) -#define MINT12_5PL ~(1 << 4) -#else -#define MINT12_5PL 0xFFFF -#endif - -#if (INT6PL >= INT12PL) || (INT6PL == 0) -#define MINT12_6PL ~(1 << 5) -#else -#define MINT12_6PL 0xFFFF -#endif - -#if (INT7PL >= INT12PL) || (INT7PL == 0) -#define MINT12_7PL ~(1 << 6) -#else -#define MINT12_7PL 0xFFFF -#endif - -#if (INT8PL >= INT12PL) || (INT8PL == 0) -#define MINT12_8PL ~(1 << 7) -#else -#define MINT12_8PL 0xFFFF -#endif - -#if (INT9PL >= INT12PL) || (INT9PL == 0) -#define MINT12_9PL ~(1 << 8) -#else -#define MINT12_9PL 0xFFFF -#endif - -#if (INT10PL >= INT12PL) || (INT10PL == 0) -#define MINT12_10PL ~(1 << 9) -#else -#define MINT12_10PL 0xFFFF -#endif - -#if (INT11PL >= INT12PL) || (INT11PL == 0) -#define MINT12_11PL ~(1 << 10) -#else -#define MINT12_11PL 0xFFFF -#endif - -#if (INT12PL == 0) -#define MINT12_12PL ~(1 << 11) -#else -#define MINT12_12PL 0xFFFF -#endif - -#if (INT13PL >= INT12PL) || (INT13PL == 0) -#define MINT12_13PL ~(1 << 12) -#else -#define MINT12_13PL 0xFFFF -#endif - -#if (INT14PL >= INT12PL) || (INT14PL == 0) -#define MINT12_14PL ~(1 << 13) -#else -#define MINT12_14PL 0xFFFF -#endif - -#if (INT15PL >= INT12PL) || (INT15PL == 0) -#define MINT12_15PL ~(1 << 14) -#else -#define MINT12_15PL 0xFFFF -#endif - -#if (INT16PL >= INT12PL) || (INT16PL == 0) -#define MINT12_16PL ~(1 << 15) -#else -#define MINT12_16PL 0xFFFF -#endif - -#define MINT12 (MINT12_1PL & MINT12_2PL & MINT12_3PL & MINT12_4PL & \ - MINT12_5PL & MINT12_6PL & MINT12_7PL & MINT12_8PL & \ - MINT12_9PL & MINT12_10PL & MINT12_11PL & MINT12_12PL & \ - MINT12_13PL & MINT12_14PL & MINT12_15PL & MINT12_16PL) -// End Of MINT12. - -// Beginning of MINT13: -#if (INT1PL >= INT13PL) || (INT1PL == 0) -#define MINT13_1PL ~(1 << 0) -#else -#define MINT13_1PL 0xFFFF -#endif - -#if (INT2PL >= INT13PL) || (INT2PL == 0) -#define MINT13_2PL ~(1 << 1) -#else -#define MINT13_2PL 0xFFFF -#endif - -#if (INT3PL >= INT13PL) || (INT3PL == 0) -#define MINT13_3PL ~(1 << 2) -#else -#define MINT13_3PL 0xFFFF -#endif - -#if (INT4PL >= INT13PL) || (INT4PL == 0) -#define MINT13_4PL ~(1 << 3) -#else -#define MINT13_4PL 0xFFFF -#endif - -#if (INT5PL >= INT13PL) || (INT5PL == 0) -#define MINT13_5PL ~(1 << 4) -#else -#define MINT13_5PL 0xFFFF -#endif - -#if (INT6PL >= INT13PL) || (INT6PL == 0) -#define MINT13_6PL ~(1 << 5) -#else -#define MINT13_6PL 0xFFFF -#endif - -#if (INT7PL >= INT13PL) || (INT7PL == 0) -#define MINT13_7PL ~(1 << 6) -#else -#define MINT13_7PL 0xFFFF -#endif - -#if (INT8PL >= INT13PL) || (INT8PL == 0) -#define MINT13_8PL ~(1 << 7) -#else -#define MINT13_8PL 0xFFFF -#endif - -#if (INT9PL >= INT13PL) || (INT9PL == 0) -#define MINT13_9PL ~(1 << 8) -#else -#define MINT13_9PL 0xFFFF -#endif - -#if (INT10PL >= INT13PL) || (INT10PL == 0) -#define MINT13_10PL ~(1 << 9) -#else -#define MINT13_10PL 0xFFFF -#endif - -#if (INT11PL >= INT13PL) || (INT11PL == 0) -#define MINT13_11PL ~(1 << 10) -#else -#define MINT13_11PL 0xFFFF -#endif - -#define MINT13_12PL ~(1 << 11) - -#if (INT13PL == 0) -#define MINT13_13PL ~(1 << 12) -#else -#define MINT13_13PL 0xFFFF -#endif - -#if (INT14PL >= INT13PL) || (INT14PL == 0) -#define MINT13_14PL ~(1 << 13) -#else -#define MINT13_14PL 0xFFFF -#endif - -#if (INT15PL >= INT13PL) || (INT15PL == 0) -#define MINT13_15PL ~(1 << 14) -#else -#define MINT13_15PL 0xFFFF -#endif - -#if (INT16PL >= INT13PL) || (INT16PL == 0) -#define MINT13_16PL ~(1 << 15) -#else -#define MINT13_16PL 0xFFFF -#endif - -#define MINT13 (MINT13_1PL & MINT13_2PL & MINT13_3PL & MINT13_4PL & \ - MINT13_5PL & MINT13_6PL & MINT13_7PL & MINT13_8PL & \ - MINT13_9PL & MINT13_10PL & MINT13_11PL & MINT13_12PL & \ - MINT13_13PL & MINT13_14PL & MINT13_15PL & MINT13_16PL) -// End Of MINT13. - -// Beginning of MINT14: -#if (INT1PL >= INT14PL) || (INT1PL == 0) -#define MINT14_1PL ~(1 << 0) -#else -#define MINT14_1PL 0xFFFF -#endif - -#if (INT2PL >= INT14PL) || (INT2PL == 0) -#define MINT14_2PL ~(1 << 1) -#else -#define MINT14_2PL 0xFFFF -#endif - -#if (INT3PL >= INT14PL) || (INT3PL == 0) -#define MINT14_3PL ~(1 << 2) -#else -#define MINT14_3PL 0xFFFF -#endif - -#if (INT4PL >= INT14PL) || (INT4PL == 0) -#define MINT14_4PL ~(1 << 3) -#else -#define MINT14_4PL 0xFFFF -#endif - -#if (INT5PL >= INT14PL) || (INT5PL == 0) -#define MINT14_5PL ~(1 << 4) -#else -#define MINT14_5PL 0xFFFF -#endif - -#if (INT6PL >= INT14PL) || (INT6PL == 0) -#define MINT14_6PL ~(1 << 5) -#else -#define MINT14_6PL 0xFFFF -#endif - -#if (INT7PL >= INT14PL) || (INT7PL == 0) -#define MINT14_7PL ~(1 << 6) -#else -#define MINT14_7PL 0xFFFF -#endif - -#if (INT8PL >= INT14PL) || (INT8PL == 0) -#define MINT14_8PL ~(1 << 7) -#else -#define MINT14_8PL 0xFFFF -#endif - -#if (INT9PL >= INT14PL) || (INT9PL == 0) -#define MINT14_9PL ~(1 << 8) -#else -#define MINT14_9PL 0xFFFF -#endif - -#if (INT10PL >= INT14PL) || (INT10PL == 0) -#define MINT14_10PL ~(1 << 9) -#else -#define MINT14_10PL 0xFFFF -#endif - -#if (INT11PL >= INT14PL) || (INT11PL == 0) -#define MINT14_11PL ~(1 << 10) -#else -#define MINT14_11PL 0xFFFF -#endif - -#if (INT12PL >= INT14PL) || (INT12PL == 0) -#define MINT14_12PL ~(1 << 11) -#else -#define MINT14_12PL 0xFFFF -#endif - -#if (INT13PL >= INT14PL) || (INT13PL == 0) -#define MINT14_13PL ~(1 << 12) -#else -#define MINT14_13PL 0xFFFF -#endif - -#define MINT14_14PL ~(1 << 13) - -#if (INT15PL >= INT14PL) || (INT15PL == 0) -#define MINT14_15PL ~(1 << 14) -#else -#define MINT14_15PL 0xFFFF -#endif - -#if (INT16PL >= INT14PL) || (INT16PL == 0) -#define MINT14_16PL ~(1 << 15) -#else -#define MINT14_16PL 0xFFFF -#endif - -#define MINT14 (MINT14_1PL & MINT14_2PL & MINT14_3PL & MINT14_4PL & \ - MINT14_5PL & MINT14_6PL & MINT14_7PL & MINT14_8PL & \ - MINT14_9PL & MINT14_10PL & MINT14_11PL & MINT14_12PL & \ - MINT14_13PL & MINT14_14PL & MINT14_15PL & MINT14_16PL) -// End Of MINT14. - -// Beginning of MINT15: -#if (INT1PL >= INT15PL) || (INT1PL == 0) -#define MINT15_1PL ~(1 << 0) -#else -#define MINT15_1PL 0xFFFF -#endif - -#if (INT2PL >= INT15PL) || (INT2PL == 0) -#define MINT15_2PL ~(1 << 1) -#else -#define MINT15_2PL 0xFFFF -#endif - -#if (INT3PL >= INT15PL) || (INT3PL == 0) -#define MINT15_3PL ~(1 << 2) -#else -#define MINT15_3PL 0xFFFF -#endif - -#if (INT4PL >= INT15PL) || (INT4PL == 0) -#define MINT15_4PL ~(1 << 3) -#else -#define MINT15_4PL 0xFFFF -#endif - -#if (INT5PL >= INT15PL) || (INT5PL == 0) -#define MINT15_5PL ~(1 << 4) -#else -#define MINT15_5PL 0xFFFF -#endif - -#if (INT6PL >= INT15PL) || (INT6PL == 0) -#define MINT15_6PL ~(1 << 5) -#else -#define MINT15_6PL 0xFFFF -#endif - -#if (INT7PL >= INT15PL) || (INT7PL == 0) -#define MINT15_7PL ~(1 << 6) -#else -#define MINT15_7PL 0xFFFF -#endif - -#if (INT8PL >= INT15PL) || (INT8PL == 0) -#define MINT15_8PL ~(1 << 7) -#else -#define MINT15_8PL 0xFFFF -#endif - -#if (INT9PL >= INT15PL) || (INT9PL == 0) -#define MINT15_9PL ~(1 << 8) -#else -#define MINT15_9PL 0xFFFF -#endif - -#if (INT10PL >= INT15PL) || (INT10PL == 0) -#define MINT15_10PL ~(1 << 9) -#else -#define MINT15_10PL 0xFFFF -#endif - -#if (INT11PL >= INT15PL) || (INT11PL == 0) -#define MINT15_11PL ~(1 << 10) -#else -#define MINT15_11PL 0xFFFF -#endif - -#if (INT12PL >= INT15PL) || (INT12PL == 0) -#define MINT15_12PL ~(1 << 11) -#else -#define MINT15_12PL 0xFFFF -#endif - -#if (INT13PL >= INT15PL) || (INT13PL == 0) -#define MINT15_13PL ~(1 << 12) -#else -#define MINT15_13PL 0xFFFF -#endif - -#if (INT14PL >= INT15PL) || (INT14PL == 0) -#define MINT15_14PL ~(1 << 13) -#else -#define MINT15_14PL 0xFFFF -#endif - -#define MINT15_15PL ~(1 << 14) - -#if (INT16PL >= INT15PL) || (INT16PL == 0) -#define MINT15_16PL ~(1 << 15) -#else -#define MINT15_16PL 0xFFFF -#endif - -#define MINT15 (MINT15_1PL & MINT15_2PL & MINT15_3PL & MINT15_4PL & \ - MINT15_5PL & MINT15_6PL & MINT15_7PL & MINT15_8PL & \ - MINT15_9PL & MINT15_10PL & MINT15_11PL & MINT15_12PL & \ - MINT15_13PL & MINT15_14PL & MINT15_15PL & MINT15_16PL) -// End Of MINT15. - -// Beginning of MINT16: -#if (INT1PL >= INT16PL) || (INT1PL == 0) -#define MINT16_1PL ~(1 << 0) -#else -#define MINT16_1PL 0xFFFF -#endif - -#if (INT2PL >= INT16PL) || (INT2PL == 0) -#define MINT16_2PL ~(1 << 1) -#else -#define MINT16_2PL 0xFFFF -#endif - -#if (INT3PL >= INT16PL) || (INT3PL == 0) -#define MINT16_3PL ~(1 << 2) -#else -#define MINT16_3PL 0xFFFF -#endif - -#if (INT4PL >= INT16PL) || (INT4PL == 0) -#define MINT16_4PL ~(1 << 3) -#else -#define MINT16_4PL 0xFFFF -#endif - -#if (INT5PL >= INT16PL) || (INT5PL == 0) -#define MINT16_5PL ~(1 << 4) -#else -#define MINT16_5PL 0xFFFF -#endif - -#if (INT6PL >= INT16PL) || (INT6PL == 0) -#define MINT16_6PL ~(1 << 5) -#else -#define MINT16_6PL 0xFFFF -#endif - -#if (INT7PL >= INT16PL) || (INT7PL == 0) -#define MINT16_7PL ~(1 << 6) -#else -#define MINT16_7PL 0xFFFF -#endif - -#if (INT8PL >= INT16PL) || (INT8PL == 0) -#define MINT16_8PL ~(1 << 7) -#else -#define MINT16_8PL 0xFFFF -#endif - -#if (INT9PL >= INT16PL) || (INT9PL == 0) -#define MINT16_9PL ~(1 << 8) -#else -#define MINT16_9PL 0xFFFF -#endif - -#if (INT10PL >= INT16PL) || (INT10PL == 0) -#define MINT16_10PL ~(1 << 9) -#else -#define MINT16_10PL 0xFFFF -#endif - -#if (INT11PL >= INT16PL) || (INT11PL == 0) -#define MINT16_11PL ~(1 << 10) -#else -#define MINT16_11PL 0xFFFF -#endif - -#if (INT12PL >= INT16PL) || (INT12PL == 0) -#define MINT16_12PL ~(1 << 11) -#else -#define MINT16_12PL 0xFFFF -#endif - -#if (INT13PL >= INT16PL) || (INT13PL == 0) -#define MINT16_13PL ~(1 << 12) -#else -#define MINT16_13PL 0xFFFF -#endif - -#if (INT14PL >= INT16PL) || (INT14PL == 0) -#define MINT16_14PL ~(1 << 13) -#else -#define MINT16_14PL 0xFFFF -#endif - -#if (INT15PL >= INT16PL) || (INT15PL == 0) -#define MINT16_15PL ~(1 << 14) -#else -#define MINT16_15PL 0xFFFF -#endif - -#define MINT16_16PL ~(1 << 15) - -#define MINT16 (MINT16_1PL & MINT16_2PL & MINT16_3PL & MINT16_4PL & \ - MINT16_5PL & MINT16_6PL & MINT16_7PL & MINT16_8PL & \ - MINT16_9PL & MINT16_10PL & MINT16_11PL & MINT16_12PL & \ - MINT16_13PL & MINT16_14PL & MINT16_15PL & MINT16_16PL) -// End Of MINT16. - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG11 to MG18: - -// Beginning of MG11: -#if (G12PL >= G11PL) || (G12PL == 0) -#define MG11_12PL ~(1 << 1) -#else -#define MG11_12PL 0xFFFF -#endif - -#if (G13PL >= G11PL) || (G13PL == 0) -#define MG11_13PL ~(1 << 2) -#else -#define MG11_13PL 0xFFFF -#endif - -#if (G14PL >= G11PL) || (G14PL == 0) -#define MG11_14PL ~(1 << 3) -#else -#define MG11_14PL 0xFFFF -#endif - -#if (G15PL >= G11PL) || (G15PL == 0) -#define MG11_15PL ~(1 << 4) -#else -#define MG11_15PL 0xFFFF -#endif - -#if (G16PL >= G11PL) || (G16PL == 0) -#define MG11_16PL ~(1 << 5) -#else -#define MG11_16PL 0xFFFF -#endif - -#if (G17PL >= G11PL) || (G17PL == 0) -#define MG11_17PL ~(1 << 6) -#else -#define MG11_17PL 0xFFFF -#endif - -#if (G18PL >= G11PL) || (G18PL == 0) -#define MG11_18PL ~(1 << 7) -#else -#define MG11_18PL 0xFFFF -#endif - -#define MG11_11PL 0x00FE -#define MG11 (MG11_11PL & MG11_12PL & MG11_13PL & MG11_14PL & \ - MG11_15PL & MG11_16PL & MG11_17PL & MG11_18PL) -// End of MG11: - -// Beginning of MG12: -#if (G11PL >= G12PL) || (G11PL == 0) -#define MG12_11PL ~(1) -#else -#define MG12_11PL 0xFFFF -#endif -#if (G13PL >= G12PL) || (G13PL == 0) -#define MG12_13PL ~(1 << 2) -#else -#define MG12_13PL 0xFFFF -#endif -#if (G14PL >= G12PL) || (G14PL == 0) -#define MG12_14PL ~(1 << 3) -#else -#define MG12_14PL 0xFFFF -#endif -#if (G15PL >= G12PL) || (G15PL == 0) -#define MG12_15PL ~(1 << 4) -#else -#define MG12_15PL 0xFFFF -#endif -#if (G16PL >= G12PL) || (G16PL == 0) -#define MG12_16PL ~(1 << 5) -#else -#define MG12_16PL 0xFFFF -#endif -#if (G17PL >= G12PL) || (G17PL == 0) -#define MG12_17PL ~(1 << 6) -#else -#define MG12_17PL 0xFFFF -#endif -#if (G18PL >= G12PL) || (G18PL == 0) -#define MG12_18PL ~(1 << 7) -#else -#define MG12_18PL 0xFFFF -#endif -#define MG12_12PL 0x00FD -#define MG12 (MG12_11PL & MG12_12PL & MG12_13PL & MG12_14PL & \ - MG12_15PL & MG12_16PL & MG12_17PL & MG12_18PL) -// End of MG12: - -// Beginning of MG13: -#if (G11PL >= G13PL) || (G11PL == 0) -#define MG13_11PL ~(1) -#else -#define MG13_11PL 0xFFFF -#endif -#if (G12PL >= G13PL) || (G12PL == 0) -#define MG13_12PL ~(1 << 1) -#else -#define MG13_12PL 0xFFFF -#endif -#if (G14PL >= G13PL) || (G14PL == 0) -#define MG13_14PL ~(1 << 3) -#else -#define MG13_14PL 0xFFFF -#endif -#if (G15PL >= G13PL) || (G15PL == 0) -#define MG13_15PL ~(1 << 4) -#else -#define MG13_15PL 0xFFFF -#endif -#if (G16PL >= G13PL) || (G16PL == 0) -#define MG13_16PL ~(1 << 5) -#else -#define MG13_16PL 0xFFFF -#endif -#if (G17PL >= G13PL) || (G17PL == 0) -#define MG13_17PL ~(1 << 6) -#else -#define MG13_17PL 0xFFFF -#endif -#if (G18PL >= G13PL) || (G18PL == 0) -#define MG13_18PL ~(1 << 7) -#else -#define MG13_18PL 0xFFFF -#endif -#define MG13_13PL 0x00FB -#define MG13 (MG13_11PL & MG13_12PL & MG13_13PL & MG13_14PL & \ - MG13_15PL & MG13_16PL & MG13_17PL & MG13_18PL) -// End of MG13: - -// Beginning of MG14: -#if (G11PL >= G14PL) || (G11PL == 0) -#define MG14_11PL ~(1) -#else -#define MG14_11PL 0xFFFF -#endif -#if (G12PL >= G14PL) || (G12PL == 0) -#define MG14_12PL ~(1 << 1) -#else -#define MG14_12PL 0xFFFF -#endif -#if (G13PL >= G14PL) || (G13PL == 0) -#define MG14_13PL ~(1 << 2) -#else -#define MG14_13PL 0xFFFF -#endif -#if (G15PL >= G14PL) || (G15PL == 0) -#define MG14_15PL ~(1 << 4) -#else -#define MG14_15PL 0xFFFF -#endif -#if (G16PL >= G14PL) || (G16PL == 0) -#define MG14_16PL ~(1 << 5) -#else -#define MG14_16PL 0xFFFF -#endif -#if (G17PL >= G14PL) || (G17PL == 0) -#define MG14_17PL ~(1 << 6) -#else -#define MG14_17PL 0xFFFF -#endif -#if (G18PL >= G14PL) || (G18PL == 0) -#define MG14_18PL ~(1 << 7) -#else -#define MG14_18PL 0xFFFF -#endif -#define MG14_14PL 0x00F7 -#define MG14 (MG14_11PL & MG14_12PL & MG14_13PL & MG14_14PL & \ - MG14_15PL & MG14_16PL & MG14_17PL & MG14_18PL) -// End of MG14: - -// Beginning of MG15: -#if (G11PL >= G15PL) || (G11PL == 0) -#define MG15_11PL ~(1) -#else -#define MG15_11PL 0xFFFF -#endif -#if (G12PL >= G15PL) || (G12PL == 0) -#define MG15_12PL ~(1 << 1) -#else -#define MG15_12PL 0xFFFF -#endif -#if (G13PL >= G15PL) || (G13PL == 0) -#define MG15_13PL ~(1 << 2) -#else -#define MG15_13PL 0xFFFF -#endif -#if (G14PL >= G15PL) || (G14PL == 0) -#define MG15_14PL ~(1 << 3) -#else -#define MG15_14PL 0xFFFF -#endif -#if (G16PL >= G15PL) || (G16PL == 0) -#define MG15_16PL ~(1 << 5) -#else -#define MG15_16PL 0xFFFF -#endif -#if (G17PL >= G15PL) || (G17PL == 0) -#define MG15_17PL ~(1 << 6) -#else -#define MG15_17PL 0xFFFF -#endif -#if (G18PL >= G15PL) || (G18PL == 0) -#define MG15_18PL ~(1 << 7) -#else -#define MG15_18PL 0xFFFF -#endif -#define MG15_15PL 0x00EF -#define MG15 (MG15_11PL & MG15_12PL & MG15_13PL & MG15_14PL & \ - MG15_15PL & MG15_16PL & MG15_17PL & MG15_18PL) -// End of MG15: - -// Beginning of MG16: -#if (G11PL >= G16PL) || (G11PL == 0) -#define MG16_11PL ~(1) -#else -#define MG16_11PL 0xFFFF -#endif -#if (G12PL >= G16PL) || (G12PL == 0) -#define MG16_12PL ~(1 << 1) -#else -#define MG16_12PL 0xFFFF -#endif -#if (G13PL >= G16PL) || (G13PL == 0) -#define MG16_13PL ~(1 << 2) -#else -#define MG16_13PL 0xFFFF -#endif -#if (G14PL >= G16PL) || (G14PL == 0) -#define MG16_14PL ~(1 << 3) -#else -#define MG16_14PL 0xFFFF -#endif -#if (G15PL >= G16PL) || (G15PL == 0) -#define MG16_15PL ~(1 << 4) -#else -#define MG16_15PL 0xFFFF -#endif -#if (G17PL >= G16PL) || (G17PL == 0) -#define MG16_17PL ~(1 << 6) -#else -#define MG16_17PL 0xFFFF -#endif -#if (G18PL >= G16PL) || (G18PL == 0) -#define MG16_18PL ~(1 << 7) -#else -#define MG16_18PL 0xFFFF -#endif -#define MG16_16PL 0x00DF -#define MG16 (MG16_11PL & MG16_12PL & MG16_13PL & MG16_14PL & \ - MG16_15PL & MG16_16PL & MG16_17PL & MG16_18PL) -// End of MG16: - -// Beginning of MG17: -#if (G11PL >= G17PL) || (G11PL == 0) -#define MG17_11PL ~(1) -#else -#define MG17_11PL 0xFFFF -#endif -#if (G12PL >= G17PL) || (G12PL == 0) -#define MG17_12PL ~(1 << 1) -#else -#define MG17_12PL 0xFFFF -#endif -#if (G13PL >= G17PL) || (G13PL == 0) -#define MG17_13PL ~(1 << 2) -#else -#define MG17_13PL 0xFFFF -#endif -#if (G14PL >= G17PL) || (G14PL == 0) -#define MG17_14PL ~(1 << 3) -#else -#define MG17_14PL 0xFFFF -#endif -#if (G15PL >= G17PL) || (G15PL == 0) -#define MG17_15PL ~(1 << 4) -#else -#define MG17_15PL 0xFFFF -#endif -#if (G16PL >= G17PL) || (G16PL == 0) -#define MG17_16PL ~(1 << 5) -#else -#define MG17_16PL 0xFFFF -#endif -#if (G18PL >= G17PL) || (G18PL == 0) -#define MG17_18PL ~(1 << 7) -#else -#define MG17_18PL 0xFFFF -#endif -#define MG17_17PL 0x00BF -#define MG17 (MG17_11PL & MG17_12PL & MG17_13PL & MG17_14PL & \ - MG17_15PL & MG17_16PL & MG17_17PL & MG17_18PL) -// End of MG17: - -// Beginning of MG18: -#if (G11PL >= G18PL) || (G11PL == 0) -#define MG18_11PL ~(1) -#else -#define MG18_11PL 0xFFFF -#endif -#if (G12PL >= G18PL) || (G12PL == 0) -#define MG18_12PL ~(1 << 1) -#else -#define MG18_12PL 0xFFFF -#endif -#if (G13PL >= G18PL) || (G13PL == 0) -#define MG18_13PL ~(1 << 2) -#else -#define MG18_13PL 0xFFFF -#endif -#if (G14PL >= G18PL) || (G14PL == 0) -#define MG18_14PL ~(1 << 3) -#else -#define MG18_14PL 0xFFFF -#endif -#if (G15PL >= G18PL) || (G15PL == 0) -#define MG18_15PL ~(1 << 4) -#else -#define MG18_15PL 0xFFFF -#endif -#if (G16PL >= G18PL) || (G16PL == 0) -#define MG18_16PL ~(1 << 5) -#else -#define MG18_16PL 0xFFFF -#endif -#if (G17PL >= G18PL) || (G17PL == 0) -#define MG18_17PL ~(1 << 6) -#else -#define MG18_17PL 0xFFFF -#endif -#define MG18_18PL 0x007F -#define MG18 (MG18_11PL & MG18_12PL & MG18_13PL & MG18_14PL & \ - MG18_15PL & MG18_16PL & MG18_17PL & MG18_18PL) -// End of MG18: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG21 to MG28: -// - -// Beginning of MG21: -#if (G22PL >= G21PL) || (G22PL == 0) -#define MG21_12PL ~(1 << 1) -#else -#define MG21_12PL 0xFFFF -#endif -#if (G23PL >= G21PL) || (G23PL == 0) -#define MG21_13PL ~(1 << 2) -#else -#define MG21_13PL 0xFFFF -#endif -#if (G24PL >= G21PL) || (G24PL == 0) -#define MG21_14PL ~(1 << 3) -#else -#define MG21_14PL 0xFFFF -#endif -#if (G25PL >= G21PL) || (G25PL == 0) -#define MG21_15PL ~(1 << 4) -#else -#define MG21_15PL 0xFFFF -#endif -#if (G26PL >= G21PL) || (G26PL == 0) -#define MG21_16PL ~(1 << 5) -#else -#define MG21_16PL 0xFFFF -#endif -#if (G27PL >= G21PL) || (G27PL == 0) -#define MG21_17PL ~(1 << 6) -#else -#define MG21_17PL 0xFFFF -#endif -#if (G28PL >= G21PL) || (G28PL == 0) -#define MG21_18PL ~(1 << 7) -#else -#define MG21_18PL 0xFFFF -#endif -#define MG21_11PL 0x00FE -#define MG21 (MG21_11PL & MG21_12PL & MG21_13PL & MG21_14PL & \ - MG21_15PL & MG21_16PL & MG21_17PL & MG21_18PL) -// End of MG21: - -// Beginning of MG22: -#if (G21PL >= G22PL) || (G21PL == 0) -#define MG22_11PL ~(1) -#else -#define MG22_11PL 0xFFFF -#endif -#if (G23PL >= G22PL) || (G23PL == 0) -#define MG22_13PL ~(1 << 2) -#else -#define MG22_13PL 0xFFFF -#endif -#if (G24PL >= G22PL) || (G24PL == 0) -#define MG22_14PL ~(1 << 3) -#else -#define MG22_14PL 0xFFFF -#endif -#if (G25PL >= G22PL) || (G25PL == 0) -#define MG22_15PL ~(1 << 4) -#else -#define MG22_15PL 0xFFFF -#endif -#if (G26PL >= G22PL) || (G26PL == 0) -#define MG22_16PL ~(1 << 5) -#else -#define MG22_16PL 0xFFFF -#endif -#if (G27PL >= G22PL) || (G27PL == 0) -#define MG22_17PL ~(1 << 6) -#else -#define MG22_17PL 0xFFFF -#endif -#if (G28PL >= G22PL) || (G28PL == 0) -#define MG22_18PL ~(1 << 7) -#else -#define MG22_18PL 0xFFFF -#endif -#define MG22_12PL 0x00FD -#define MG22 (MG22_11PL & MG22_12PL & MG22_13PL & MG22_14PL & \ - MG22_15PL & MG22_16PL & MG22_17PL & MG22_18PL) -// End of MG22: - -// Beginning of MG23: -#if (G21PL >= G23PL) || (G21PL == 0) -#define MG23_11PL ~(1) -#else -#define MG23_11PL 0xFFFF -#endif -#if (G22PL >= G23PL) || (G22PL == 0) -#define MG23_12PL ~(1 << 1) -#else -#define MG23_12PL 0xFFFF -#endif -#if (G24PL >= G23PL) || (G24PL == 0) -#define MG23_14PL ~(1 << 3) -#else -#define MG23_14PL 0xFFFF -#endif -#if (G25PL >= G23PL) || (G25PL == 0) -#define MG23_15PL ~(1 << 4) -#else -#define MG23_15PL 0xFFFF -#endif -#if (G26PL >= G23PL) || (G26PL == 0) -#define MG23_16PL ~(1 << 5) -#else -#define MG23_16PL 0xFFFF -#endif -#if (G27PL >= G23PL) || (G27PL == 0) -#define MG23_17PL ~(1 << 6) -#else -#define MG23_17PL 0xFFFF -#endif -#if (G28PL >= G23PL) || (G28PL == 0) -#define MG23_18PL ~(1 << 7) -#else -#define MG23_18PL 0xFFFF -#endif -#define MG23_13PL 0x00FB -#define MG23 (MG23_11PL & MG23_12PL & MG23_13PL & MG23_14PL & \ - MG23_15PL & MG23_16PL & MG23_17PL & MG23_18PL) -// End of MG23: - -// Beginning of MG24: -#if (G21PL >= G24PL) || (G21PL == 0) -#define MG24_11PL ~(1) -#else -#define MG24_11PL 0xFFFF -#endif -#if (G22PL >= G24PL) || (G22PL == 0) -#define MG24_12PL ~(1 << 1) -#else -#define MG24_12PL 0xFFFF -#endif -#if (G23PL >= G24PL) || (G23PL == 0) -#define MG24_13PL ~(1 << 2) -#else -#define MG24_13PL 0xFFFF -#endif -#if (G25PL >= G24PL) || (G25PL == 0) -#define MG24_15PL ~(1 << 4) -#else -#define MG24_15PL 0xFFFF -#endif -#if (G26PL >= G24PL) || (G26PL == 0) -#define MG24_16PL ~(1 << 5) -#else -#define MG24_16PL 0xFFFF -#endif -#if (G27PL >= G24PL) || (G27PL == 0) -#define MG24_17PL ~(1 << 6) -#else -#define MG24_17PL 0xFFFF -#endif -#if (G28PL >= G24PL) || (G28PL == 0) -#define MG24_18PL ~(1 << 7) -#else -#define MG24_18PL 0xFFFF -#endif -#define MG24_14PL 0x00F7 -#define MG24 (MG24_11PL & MG24_12PL & MG24_13PL & MG24_14PL & \ - MG24_15PL & MG24_16PL & MG24_17PL & MG24_18PL) -// End of MG24: - -// Beginning of MG25: -#if (G21PL >= G25PL) || (G21PL == 0) -#define MG25_11PL ~(1) -#else -#define MG25_11PL 0xFFFF -#endif -#if (G22PL >= G25PL) || (G22PL == 0) -#define MG25_12PL ~(1 << 1) -#else -#define MG25_12PL 0xFFFF -#endif -#if (G23PL >= G25PL) || (G23PL == 0) -#define MG25_13PL ~(1 << 2) -#else -#define MG25_13PL 0xFFFF -#endif -#if (G24PL >= G25PL) || (G24PL == 0) -#define MG25_14PL ~(1 << 3) -#else -#define MG25_14PL 0xFFFF -#endif -#if (G26PL >= G25PL) || (G26PL == 0) -#define MG25_16PL ~(1 << 5) -#else -#define MG25_16PL 0xFFFF -#endif -#if (G27PL >= G25PL) || (G27PL == 0) -#define MG25_17PL ~(1 << 6) -#else -#define MG25_17PL 0xFFFF -#endif -#if (G28PL >= G25PL) || (G28PL == 0) -#define MG25_18PL ~(1 << 7) -#else -#define MG25_18PL 0xFFFF -#endif -#define MG25_15PL 0x00EF -#define MG25 (MG25_11PL & MG25_12PL & MG25_13PL & MG25_14PL & \ - MG25_15PL & MG25_16PL & MG25_17PL & MG25_18PL) -// End of MG25: - -// Beginning of MG26: -#if (G21PL >= G26PL) || (G21PL == 0) -#define MG26_11PL ~(1) -#else -#define MG26_11PL 0xFFFF -#endif -#if (G22PL >= G26PL) || (G22PL == 0) -#define MG26_12PL ~(1 << 1) -#else -#define MG26_12PL 0xFFFF -#endif -#if (G23PL >= G26PL) || (G23PL == 0) -#define MG26_13PL ~(1 << 2) -#else -#define MG26_13PL 0xFFFF -#endif -#if (G24PL >= G26PL) || (G24PL == 0) -#define MG26_14PL ~(1 << 3) -#else -#define MG26_14PL 0xFFFF -#endif -#if (G25PL >= G26PL) || (G25PL == 0) -#define MG26_15PL ~(1 << 4) -#else -#define MG26_15PL 0xFFFF -#endif -#if (G27PL >= G26PL) || (G27PL == 0) -#define MG26_17PL ~(1 << 6) -#else -#define MG26_17PL 0xFFFF -#endif -#if (G28PL >= G26PL) || (G28PL == 0) -#define MG26_18PL ~(1 << 7) -#else -#define MG26_18PL 0xFFFF -#endif -#define MG26_16PL 0x00DF -#define MG26 (MG26_11PL & MG26_12PL & MG26_13PL & MG26_14PL & \ - MG26_15PL & MG26_16PL & MG26_17PL & MG26_18PL) -// End of MG26: - -// Beginning of MG27: -#if (G21PL >= G27PL) || (G21PL == 0) -#define MG27_11PL ~(1) -#else -#define MG27_11PL 0xFFFF -#endif -#if (G22PL >= G27PL) || (G22PL == 0) -#define MG27_12PL ~(1 << 1) -#else -#define MG27_12PL 0xFFFF -#endif -#if (G23PL >= G27PL) || (G23PL == 0) -#define MG27_13PL ~(1 << 2) -#else -#define MG27_13PL 0xFFFF -#endif -#if (G24PL >= G27PL) || (G24PL == 0) -#define MG27_14PL ~(1 << 3) -#else -#define MG27_14PL 0xFFFF -#endif -#if (G25PL >= G27PL) || (G25PL == 0) -#define MG27_15PL ~(1 << 4) -#else -#define MG27_15PL 0xFFFF -#endif -#if (G26PL >= G27PL) || (G26PL == 0) -#define MG27_16PL ~(1 << 5) -#else -#define MG27_16PL 0xFFFF -#endif -#if (G28PL >= G27PL) || (G28PL == 0) -#define MG27_18PL ~(1 << 7) -#else -#define MG27_18PL 0xFFFF -#endif -#define MG27_17PL 0x00BF -#define MG27 (MG27_11PL & MG27_12PL & MG27_13PL & MG27_14PL & \ - MG27_15PL & MG27_16PL & MG27_17PL & MG27_18PL) -// End of MG27: - -// Beginning of MG28: -#if (G21PL >= G28PL) || (G21PL == 0) -#define MG28_11PL ~(1) -#else -#define MG28_11PL 0xFFFF -#endif -#if (G22PL >= G28PL) || (G22PL == 0) -#define MG28_12PL ~(1 << 1) -#else -#define MG28_12PL 0xFFFF -#endif -#if (G23PL >= G28PL) || (G23PL == 0) -#define MG28_13PL ~(1 << 2) -#else -#define MG28_13PL 0xFFFF -#endif -#if (G24PL >= G28PL) || (G24PL == 0) -#define MG28_14PL ~(1 << 3) -#else -#define MG28_14PL 0xFFFF -#endif -#if (G25PL >= G28PL) || (G25PL == 0) -#define MG28_15PL ~(1 << 4) -#else -#define MG28_15PL 0xFFFF -#endif -#if (G26PL >= G28PL) || (G26PL == 0) -#define MG28_16PL ~(1 << 5) -#else -#define MG28_16PL 0xFFFF -#endif -#if (G27PL >= G28PL) || (G27PL == 0) -#define MG28_17PL ~(1 << 6) -#else -#define MG28_17PL 0xFFFF -#endif -#define MG28_18PL 0x007F -#define MG28 (MG28_11PL & MG28_12PL & MG28_13PL & MG28_14PL & \ - MG28_15PL & MG28_16PL & MG28_17PL & MG28_18PL) -// End of MG28: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG31 to MG38: -// - -// Beginning of MG31: -#if (G32PL >= G31PL) || (G32PL == 0) -#define MG31_12PL ~(1 << 1) -#else -#define MG31_12PL 0xFFFF -#endif -#if (G33PL >= G31PL) || (G33PL == 0) -#define MG31_13PL ~(1 << 2) -#else -#define MG31_13PL 0xFFFF -#endif -#if (G34PL >= G31PL) || (G34PL == 0) -#define MG31_14PL ~(1 << 3) -#else -#define MG31_14PL 0xFFFF -#endif -#if (G35PL >= G31PL) || (G35PL == 0) -#define MG31_15PL ~(1 << 4) -#else -#define MG31_15PL 0xFFFF -#endif -#if (G36PL >= G31PL) || (G36PL == 0) -#define MG31_16PL ~(1 << 5) -#else -#define MG31_16PL 0xFFFF -#endif -#if (G37PL >= G31PL) || (G37PL == 0) -#define MG31_17PL ~(1 << 6) -#else -#define MG31_17PL 0xFFFF -#endif -#if (G38PL >= G31PL) || (G38PL == 0) -#define MG31_18PL ~(1 << 7) -#else -#define MG31_18PL 0xFFFF -#endif -#define MG31_11PL 0x00FE -#define MG31 (MG31_11PL & MG31_12PL & MG31_13PL & MG31_14PL & \ - MG31_15PL & MG31_16PL & MG31_17PL & MG31_18PL) -// End of MG31: - -// Beginning of MG32: -#if (G31PL >= G32PL) || (G31PL == 0) -#define MG32_11PL ~(1) -#else -#define MG32_11PL 0xFFFF -#endif -#if (G33PL >= G32PL) || (G33PL == 0) -#define MG32_13PL ~(1 << 2) -#else -#define MG32_13PL 0xFFFF -#endif -#if (G34PL >= G32PL) || (G34PL == 0) -#define MG32_14PL ~(1 << 3) -#else -#define MG32_14PL 0xFFFF -#endif -#if (G35PL >= G32PL) || (G35PL == 0) -#define MG32_15PL ~(1 << 4) -#else -#define MG32_15PL 0xFFFF -#endif -#if (G36PL >= G32PL) || (G36PL == 0) -#define MG32_16PL ~(1 << 5) -#else -#define MG32_16PL 0xFFFF -#endif -#if (G37PL >= G32PL) || (G37PL == 0) -#define MG32_17PL ~(1 << 6) -#else -#define MG32_17PL 0xFFFF -#endif -#if (G38PL >= G32PL) || (G38PL == 0) -#define MG32_18PL ~(1 << 7) -#else -#define MG32_18PL 0xFFFF -#endif -#define MG32_12PL 0x00FD -#define MG32 (MG32_11PL & MG32_12PL & MG32_13PL & MG32_14PL & \ - MG32_15PL & MG32_16PL & MG32_17PL & MG32_18PL) -// End of MG32: - -// Beginning of MG33: -#if (G31PL >= G33PL) || (G31PL == 0) -#define MG33_11PL ~(1) -#else -#define MG33_11PL 0xFFFF -#endif -#if (G32PL >= G33PL) || (G32PL == 0) -#define MG33_12PL ~(1 << 1) -#else -#define MG33_12PL 0xFFFF -#endif -#if (G34PL >= G33PL) || (G34PL == 0) -#define MG33_14PL ~(1 << 3) -#else -#define MG33_14PL 0xFFFF -#endif -#if (G35PL >= G33PL) || (G35PL == 0) -#define MG33_15PL ~(1 << 4) -#else -#define MG33_15PL 0xFFFF -#endif -#if (G36PL >= G33PL) || (G36PL == 0) -#define MG33_16PL ~(1 << 5) -#else -#define MG33_16PL 0xFFFF -#endif -#if (G37PL >= G33PL) || (G37PL == 0) -#define MG33_17PL ~(1 << 6) -#else -#define MG33_17PL 0xFFFF -#endif -#if (G38PL >= G33PL) || (G38PL == 0) -#define MG33_18PL ~(1 << 7) -#else -#define MG33_18PL 0xFFFF -#endif -#define MG33_13PL 0x00FB -#define MG33 (MG33_11PL & MG33_12PL & MG33_13PL & MG33_14PL & \ - MG33_15PL & MG33_16PL & MG33_17PL & MG33_18PL) -// End of MG33: - -// Beginning of MG34: -#if (G31PL >= G34PL) || (G31PL == 0) -#define MG34_11PL ~(1) -#else -#define MG34_11PL 0xFFFF -#endif -#if (G32PL >= G34PL) || (G32PL == 0) -#define MG34_12PL ~(1 << 1) -#else -#define MG34_12PL 0xFFFF -#endif -#if (G33PL >= G34PL) || (G33PL == 0) -#define MG34_13PL ~(1 << 2) -#else -#define MG34_13PL 0xFFFF -#endif -#if (G35PL >= G34PL) || (G35PL == 0) -#define MG34_15PL ~(1 << 4) -#else -#define MG34_15PL 0xFFFF -#endif -#if (G36PL >= G34PL) || (G36PL == 0) -#define MG34_16PL ~(1 << 5) -#else -#define MG34_16PL 0xFFFF -#endif -#if (G37PL >= G34PL) || (G37PL == 0) -#define MG34_17PL ~(1 << 6) -#else -#define MG34_17PL 0xFFFF -#endif -#if (G38PL >= G34PL) || (G38PL == 0) -#define MG34_18PL ~(1 << 7) -#else -#define MG34_18PL 0xFFFF -#endif -#define MG34_14PL 0x00F7 -#define MG34 (MG34_11PL & MG34_12PL & MG34_13PL & MG34_14PL & \ - MG34_15PL & MG34_16PL & MG34_17PL & MG34_18PL) -// End of MG34: - -// Beginning of MG35: -#if (G31PL >= G35PL) || (G31PL == 0) -#define MG35_11PL ~(1) -#else -#define MG35_11PL 0xFFFF -#endif -#if (G32PL >= G35PL) || (G32PL == 0) -#define MG35_12PL ~(1 << 1) -#else -#define MG35_12PL 0xFFFF -#endif -#if (G33PL >= G35PL) || (G33PL == 0) -#define MG35_13PL ~(1 << 2) -#else -#define MG35_13PL 0xFFFF -#endif -#if (G34PL >= G35PL) || (G34PL == 0) -#define MG35_14PL ~(1 << 3) -#else -#define MG35_14PL 0xFFFF -#endif -#if (G36PL >= G35PL) || (G36PL == 0) -#define MG35_16PL ~(1 << 5) -#else -#define MG35_16PL 0xFFFF -#endif -#if (G37PL >= G35PL) || (G37PL == 0) -#define MG35_17PL ~(1 << 6) -#else -#define MG35_17PL 0xFFFF -#endif -#if (G38PL >= G35PL) || (G38PL == 0) -#define MG35_18PL ~(1 << 7) -#else -#define MG35_18PL 0xFFFF -#endif -#define MG35_15PL 0x00EF -#define MG35 (MG35_11PL & MG35_12PL & MG35_13PL & MG35_14PL & \ - MG35_15PL & MG35_16PL & MG35_17PL & MG35_18PL) -// End of MG35: - -// Beginning of MG36: -#if (G31PL >= G36PL) || (G31PL == 0) -#define MG36_11PL ~(1) -#else -#define MG36_11PL 0xFFFF -#endif -#if (G32PL >= G36PL) || (G32PL == 0) -#define MG36_12PL ~(1 << 1) -#else -#define MG36_12PL 0xFFFF -#endif -#if (G33PL >= G36PL) || (G33PL == 0) -#define MG36_13PL ~(1 << 2) -#else -#define MG36_13PL 0xFFFF -#endif -#if (G34PL >= G36PL) || (G34PL == 0) -#define MG36_14PL ~(1 << 3) -#else -#define MG36_14PL 0xFFFF -#endif -#if (G35PL >= G36PL) || (G35PL == 0) -#define MG36_15PL ~(1 << 4) -#else -#define MG36_15PL 0xFFFF -#endif -#if (G37PL >= G36PL) || (G37PL == 0) -#define MG36_17PL ~(1 << 6) -#else -#define MG36_17PL 0xFFFF -#endif -#if (G38PL >= G36PL) || (G38PL == 0) -#define MG36_18PL ~(1 << 7) -#else -#define MG36_18PL 0xFFFF -#endif -#define MG36_16PL 0x00DF -#define MG36 (MG36_11PL & MG36_12PL & MG36_13PL & MG36_14PL & \ - MG36_15PL & MG36_16PL & MG36_17PL & MG36_18PL) -// End of MG36: - -// Beginning of MG37: -#if (G31PL >= G37PL) || (G31PL == 0) -#define MG37_11PL ~(1) -#else -#define MG37_11PL 0xFFFF -#endif -#if (G32PL >= G37PL) || (G32PL == 0) -#define MG37_12PL ~(1 << 1) -#else -#define MG37_12PL 0xFFFF -#endif -#if (G33PL >= G37PL) || (G33PL == 0) -#define MG37_13PL ~(1 << 2) -#else -#define MG37_13PL 0xFFFF -#endif -#if (G34PL >= G37PL) || (G34PL == 0) -#define MG37_14PL ~(1 << 3) -#else -#define MG37_14PL 0xFFFF -#endif -#if (G35PL >= G37PL) || (G35PL == 0) -#define MG37_15PL ~(1 << 4) -#else -#define MG37_15PL 0xFFFF -#endif -#if (G36PL >= G37PL) || (G36PL == 0) -#define MG37_16PL ~(1 << 5) -#else -#define MG37_16PL 0xFFFF -#endif -#if (G38PL >= G37PL) || (G38PL == 0) -#define MG37_18PL ~(1 << 7) -#else -#define MG37_18PL 0xFFFF -#endif -#define MG37_17PL 0x00BF -#define MG37 (MG37_11PL & MG37_12PL & MG37_13PL & MG37_14PL & \ - MG37_15PL & MG37_16PL & MG37_17PL & MG37_18PL) -// End of MG37: - -// Beginning of MG38: -#if (G31PL >= G38PL) || (G31PL == 0) -#define MG38_11PL ~(1) -#else -#define MG38_11PL 0xFFFF -#endif -#if (G32PL >= G38PL) || (G32PL == 0) -#define MG38_12PL ~(1 << 1) -#else -#define MG38_12PL 0xFFFF -#endif -#if (G33PL >= G38PL) || (G33PL == 0) -#define MG38_13PL ~(1 << 2) -#else -#define MG38_13PL 0xFFFF -#endif -#if (G34PL >= G38PL) || (G34PL == 0) -#define MG38_14PL ~(1 << 3) -#else -#define MG38_14PL 0xFFFF -#endif -#if (G35PL >= G38PL) || (G35PL == 0) -#define MG38_15PL ~(1 << 4) -#else -#define MG38_15PL 0xFFFF -#endif -#if (G36PL >= G38PL) || (G36PL == 0) -#define MG38_16PL ~(1 << 5) -#else -#define MG38_16PL 0xFFFF -#endif -#if (G37PL >= G38PL) || (G37PL == 0) -#define MG38_17PL ~(1 << 6) -#else -#define MG38_17PL 0xFFFF -#endif -#define MG38_18PL 0x007F -#define MG38 (MG38_11PL & MG38_12PL & MG38_13PL & MG38_14PL & \ - MG38_15PL & MG38_16PL & MG38_17PL & MG38_18PL) -// End of MG38: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG41 to MG48: -// - -// Beginning of MG41: -#if (G42PL >= G41PL) || (G42PL == 0) -#define MG41_12PL ~(1 << 1) -#else -#define MG41_12PL 0xFFFF -#endif -#if (G43PL >= G41PL) || (G43PL == 0) -#define MG41_13PL ~(1 << 2) -#else -#define MG41_13PL 0xFFFF -#endif -#if (G44PL >= G41PL) || (G44PL == 0) -#define MG41_14PL ~(1 << 3) -#else -#define MG41_14PL 0xFFFF -#endif -#if (G45PL >= G41PL) || (G45PL == 0) -#define MG41_15PL ~(1 << 4) -#else -#define MG41_15PL 0xFFFF -#endif -#if (G46PL >= G41PL) || (G46PL == 0) -#define MG41_16PL ~(1 << 5) -#else -#define MG41_16PL 0xFFFF -#endif -#if (G47PL >= G41PL) || (G47PL == 0) -#define MG41_17PL ~(1 << 6) -#else -#define MG41_17PL 0xFFFF -#endif -#if (G48PL >= G41PL) || (G48PL == 0) -#define MG41_18PL ~(1 << 7) -#else -#define MG41_18PL 0xFFFF -#endif -#define MG41_11PL 0x00FE -#define MG41 (MG41_11PL & MG41_12PL & MG41_13PL & MG41_14PL & \ - MG41_15PL & MG41_16PL & MG41_17PL & MG41_18PL) -// End of MG41: - -// Beginning of MG42: -#if (G41PL >= G42PL) || (G41PL == 0) -#define MG42_11PL ~(1) -#else -#define MG42_11PL 0xFFFF -#endif -#if (G43PL >= G42PL) || (G43PL == 0) -#define MG42_13PL ~(1 << 2) -#else -#define MG42_13PL 0xFFFF -#endif -#if (G44PL >= G42PL) || (G44PL == 0) -#define MG42_14PL ~(1 << 3) -#else -#define MG42_14PL 0xFFFF -#endif -#if (G45PL >= G42PL) || (G45PL == 0) -#define MG42_15PL ~(1 << 4) -#else -#define MG42_15PL 0xFFFF -#endif -#if (G46PL >= G42PL) || (G46PL == 0) -#define MG42_16PL ~(1 << 5) -#else -#define MG42_16PL 0xFFFF -#endif -#if (G47PL >= G42PL) || (G47PL == 0) -#define MG42_17PL ~(1 << 6) -#else -#define MG42_17PL 0xFFFF -#endif -#if (G48PL >= G42PL) || (G48PL == 0) -#define MG42_18PL ~(1 << 7) -#else -#define MG42_18PL 0xFFFF -#endif -#define MG42_12PL 0x00FD -#define MG42 (MG42_11PL & MG42_12PL & MG42_13PL & MG42_14PL & \ - MG42_15PL & MG42_16PL & MG42_17PL & MG42_18PL) -// End of MG42: - -// Beginning of MG43: -#if (G41PL >= G43PL) || (G41PL == 0) -#define MG43_11PL ~(1) -#else -#define MG43_11PL 0xFFFF -#endif -#if (G42PL >= G43PL) || (G42PL == 0) -#define MG43_12PL ~(1 << 1) -#else -#define MG43_12PL 0xFFFF -#endif -#if (G44PL >= G43PL) || (G44PL == 0) -#define MG43_14PL ~(1 << 3) -#else -#define MG43_14PL 0xFFFF -#endif -#if (G45PL >= G43PL) || (G45PL == 0) -#define MG43_15PL ~(1 << 4) -#else -#define MG43_15PL 0xFFFF -#endif -#if (G46PL >= G43PL) || (G46PL == 0) -#define MG43_16PL ~(1 << 5) -#else -#define MG43_16PL 0xFFFF -#endif -#if (G47PL >= G43PL) || (G47PL == 0) -#define MG43_17PL ~(1 << 6) -#else -#define MG43_17PL 0xFFFF -#endif -#if (G48PL >= G43PL) || (G48PL == 0) -#define MG43_18PL ~(1 << 7) -#else -#define MG43_18PL 0xFFFF -#endif -#define MG43_13PL 0x00FB -#define MG43 (MG43_11PL & MG43_12PL & MG43_13PL & MG43_14PL & \ - MG43_15PL & MG43_16PL & MG43_17PL & MG43_18PL) -// End of MG43: - -// Beginning of MG44: -#if (G41PL >= G44PL) || (G41PL == 0) -#define MG44_11PL ~(1) -#else -#define MG44_11PL 0xFFFF -#endif -#if (G42PL >= G44PL) || (G42PL == 0) -#define MG44_12PL ~(1 << 1) -#else -#define MG44_12PL 0xFFFF -#endif -#if (G43PL >= G44PL) || (G43PL == 0) -#define MG44_13PL ~(1 << 2) -#else -#define MG44_13PL 0xFFFF -#endif -#if (G45PL >= G44PL) || (G45PL == 0) -#define MG44_15PL ~(1 << 4) -#else -#define MG44_15PL 0xFFFF -#endif -#if (G46PL >= G44PL) || (G46PL == 0) -#define MG44_16PL ~(1 << 5) -#else -#define MG44_16PL 0xFFFF -#endif -#if (G47PL >= G44PL) || (G47PL == 0) -#define MG44_17PL ~(1 << 6) -#else -#define MG44_17PL 0xFFFF -#endif -#if (G48PL >= G44PL) || (G48PL == 0) -#define MG44_18PL ~(1 << 7) -#else -#define MG44_18PL 0xFFFF -#endif -#define MG44_14PL 0x00F7 -#define MG44 (MG44_11PL & MG44_12PL & MG44_13PL & MG44_14PL & \ - MG44_15PL & MG44_16PL & MG44_17PL & MG44_18PL) -// End of MG44: - -// Beginning of MG45: -#if (G41PL >= G45PL) || (G41PL == 0) -#define MG45_11PL ~(1) -#else -#define MG45_11PL 0xFFFF -#endif -#if (G42PL >= G45PL) || (G42PL == 0) -#define MG45_12PL ~(1 << 1) -#else -#define MG45_12PL 0xFFFF -#endif -#if (G43PL >= G45PL) || (G43PL == 0) -#define MG45_13PL ~(1 << 2) -#else -#define MG45_13PL 0xFFFF -#endif -#if (G44PL >= G45PL) || (G44PL == 0) -#define MG45_14PL ~(1 << 3) -#else -#define MG45_14PL 0xFFFF -#endif -#if (G46PL >= G45PL) || (G46PL == 0) -#define MG45_16PL ~(1 << 5) -#else -#define MG45_16PL 0xFFFF -#endif -#if (G47PL >= G45PL) || (G47PL == 0) -#define MG45_17PL ~(1 << 6) -#else -#define MG45_17PL 0xFFFF -#endif -#if (G48PL >= G45PL) || (G48PL == 0) -#define MG45_18PL ~(1 << 7) -#else -#define MG45_18PL 0xFFFF -#endif -#define MG45_15PL 0x00EF -#define MG45 (MG45_11PL & MG45_12PL & MG45_13PL & MG45_14PL & \ - MG45_15PL & MG45_16PL & MG45_17PL & MG45_18PL) -// End of MG45: - -// Beginning of MG46: -#if (G41PL >= G46PL) || (G41PL == 0) -#define MG46_11PL ~(1) -#else -#define MG46_11PL 0xFFFF -#endif -#if (G42PL >= G46PL) || (G42PL == 0) -#define MG46_12PL ~(1 << 1) -#else -#define MG46_12PL 0xFFFF -#endif -#if (G43PL >= G46PL) || (G43PL == 0) -#define MG46_13PL ~(1 << 2) -#else -#define MG46_13PL 0xFFFF -#endif -#if (G44PL >= G46PL) || (G44PL == 0) -#define MG46_14PL ~(1 << 3) -#else -#define MG46_14PL 0xFFFF -#endif -#if (G45PL >= G46PL) || (G45PL == 0) -#define MG46_15PL ~(1 << 4) -#else -#define MG46_15PL 0xFFFF -#endif -#if (G47PL >= G46PL) || (G47PL == 0) -#define MG46_17PL ~(1 << 6) -#else -#define MG46_17PL 0xFFFF -#endif -#if (G48PL >= G46PL) || (G48PL == 0) -#define MG46_18PL ~(1 << 7) -#else -#define MG46_18PL 0xFFFF -#endif -#define MG46_16PL 0x00DF -#define MG46 (MG46_11PL & MG46_12PL & MG46_13PL & MG46_14PL & \ - MG46_15PL & MG46_16PL & MG46_17PL & MG46_18PL) -// End of MG46: - -// Beginning of MG47: -#if (G41PL >= G47PL) || (G41PL == 0) -#define MG47_11PL ~(1) -#else -#define MG47_11PL 0xFFFF -#endif -#if (G42PL >= G47PL) || (G42PL == 0) -#define MG47_12PL ~(1 << 1) -#else -#define MG47_12PL 0xFFFF -#endif -#if (G43PL >= G47PL) || (G43PL == 0) -#define MG47_13PL ~(1 << 2) -#else -#define MG47_13PL 0xFFFF -#endif -#if (G44PL >= G47PL) || (G44PL == 0) -#define MG47_14PL ~(1 << 3) -#else -#define MG47_14PL 0xFFFF -#endif -#if (G45PL >= G47PL) || (G45PL == 0) -#define MG47_15PL ~(1 << 4) -#else -#define MG47_15PL 0xFFFF -#endif -#if (G46PL >= G47PL) || (G46PL == 0) -#define MG47_16PL ~(1 << 5) -#else -#define MG47_16PL 0xFFFF -#endif -#if (G48PL >= G47PL) || (G48PL == 0) -#define MG47_18PL ~(1 << 7) -#else -#define MG47_18PL 0xFFFF -#endif -#define MG47_17PL 0x00BF -#define MG47 (MG47_11PL & MG47_12PL & MG47_13PL & MG47_14PL & \ - MG47_15PL & MG47_16PL & MG47_17PL & MG47_18PL) -// End of MG47: - -// Beginning of MG48: -#if (G41PL >= G48PL) || (G41PL == 0) -#define MG48_11PL ~(1) -#else -#define MG48_11PL 0xFFFF -#endif -#if (G42PL >= G48PL) || (G42PL == 0) -#define MG48_12PL ~(1 << 1) -#else -#define MG48_12PL 0xFFFF -#endif -#if (G43PL >= G48PL) || (G43PL == 0) -#define MG48_13PL ~(1 << 2) -#else -#define MG48_13PL 0xFFFF -#endif -#if (G44PL >= G48PL) || (G44PL == 0) -#define MG48_14PL ~(1 << 3) -#else -#define MG48_14PL 0xFFFF -#endif -#if (G45PL >= G48PL) || (G45PL == 0) -#define MG48_15PL ~(1 << 4) -#else -#define MG48_15PL 0xFFFF -#endif -#if (G46PL >= G48PL) || (G46PL == 0) -#define MG48_16PL ~(1 << 5) -#else -#define MG48_16PL 0xFFFF -#endif -#if (G47PL >= G48PL) || (G47PL == 0) -#define MG48_17PL ~(1 << 6) -#else -#define MG48_17PL 0xFFFF -#endif -#define MG48_18PL 0x007F -#define MG48 (MG48_11PL & MG48_12PL & MG48_13PL & MG48_14PL & \ - MG48_15PL & MG48_16PL & MG48_17PL & MG48_18PL) -// End of MG48: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG51 to MG58: -// - -// Beginning of MG51: -#if (G52PL >= G51PL) || (G52PL == 0) -#define MG51_12PL ~(1 << 1) -#else -#define MG51_12PL 0xFFFF -#endif -#if (G53PL >= G51PL) || (G53PL == 0) -#define MG51_13PL ~(1 << 2) -#else -#define MG51_13PL 0xFFFF -#endif -#if (G54PL >= G51PL) || (G54PL == 0) -#define MG51_14PL ~(1 << 3) -#else -#define MG51_14PL 0xFFFF -#endif -#if (G55PL >= G51PL) || (G55PL == 0) -#define MG51_15PL ~(1 << 4) -#else -#define MG51_15PL 0xFFFF -#endif -#if (G56PL >= G51PL) || (G56PL == 0) -#define MG51_16PL ~(1 << 5) -#else -#define MG51_16PL 0xFFFF -#endif -#if (G57PL >= G51PL) || (G57PL == 0) -#define MG51_17PL ~(1 << 6) -#else -#define MG51_17PL 0xFFFF -#endif -#if (G58PL >= G51PL) || (G58PL == 0) -#define MG51_18PL ~(1 << 7) -#else -#define MG51_18PL 0xFFFF -#endif -#define MG51_11PL 0x00FE -#define MG51 (MG51_11PL & MG51_12PL & MG51_13PL & MG51_14PL & \ - MG51_15PL & MG51_16PL & MG51_17PL & MG51_18PL) -// End of MG51: - -// Beginning of MG52: -#if (G51PL >= G52PL) || (G51PL == 0) -#define MG52_11PL ~(1) -#else -#define MG52_11PL 0xFFFF -#endif -#if (G53PL >= G52PL) || (G53PL == 0) -#define MG52_13PL ~(1 << 2) -#else -#define MG52_13PL 0xFFFF -#endif -#if (G54PL >= G52PL) || (G54PL == 0) -#define MG52_14PL ~(1 << 3) -#else -#define MG52_14PL 0xFFFF -#endif -#if (G55PL >= G52PL) || (G55PL == 0) -#define MG52_15PL ~(1 << 4) -#else -#define MG52_15PL 0xFFFF -#endif -#if (G56PL >= G52PL) || (G56PL == 0) -#define MG52_16PL ~(1 << 5) -#else -#define MG52_16PL 0xFFFF -#endif -#if (G57PL >= G52PL) || (G57PL == 0) -#define MG52_17PL ~(1 << 6) -#else -#define MG52_17PL 0xFFFF -#endif -#if (G58PL >= G52PL) || (G58PL == 0) -#define MG52_18PL ~(1 << 7) -#else -#define MG52_18PL 0xFFFF -#endif -#define MG52_12PL 0x00FD -#define MG52 (MG52_11PL & MG52_12PL & MG52_13PL & MG52_14PL & \ - MG52_15PL & MG52_16PL & MG52_17PL & MG52_18PL) -// End of MG52: - -// Beginning of MG53: -#if (G51PL >= G53PL) || (G51PL == 0) -#define MG53_11PL ~(1) -#else -#define MG53_11PL 0xFFFF -#endif -#if (G52PL >= G53PL) || (G52PL == 0) -#define MG53_12PL ~(1 << 1) -#else -#define MG53_12PL 0xFFFF -#endif -#if (G54PL >= G53PL) || (G54PL == 0) -#define MG53_14PL ~(1 << 3) -#else -#define MG53_14PL 0xFFFF -#endif -#if (G55PL >= G53PL) || (G55PL == 0) -#define MG53_15PL ~(1 << 4) -#else -#define MG53_15PL 0xFFFF -#endif -#if (G56PL >= G53PL) || (G56PL == 0) -#define MG53_16PL ~(1 << 5) -#else -#define MG53_16PL 0xFFFF -#endif -#if (G57PL >= G53PL) || (G57PL == 0) -#define MG53_17PL ~(1 << 6) -#else -#define MG53_17PL 0xFFFF -#endif -#if (G58PL >= G53PL) || (G58PL == 0) -#define MG53_18PL ~(1 << 7) -#else -#define MG53_18PL 0xFFFF -#endif -#define MG53_13PL 0x00FB -#define MG53 (MG53_11PL & MG53_12PL & MG53_13PL & MG53_14PL & \ - MG53_15PL & MG53_16PL & MG53_17PL & MG53_18PL) -// End of MG53: - -// Beginning of MG54: -#if (G51PL >= G54PL) || (G51PL == 0) -#define MG54_11PL ~(1) -#else -#define MG54_11PL 0xFFFF -#endif -#if (G52PL >= G54PL) || (G52PL == 0) -#define MG54_12PL ~(1 << 1) -#else -#define MG54_12PL 0xFFFF -#endif -#if (G53PL >= G54PL) || (G53PL == 0) -#define MG54_13PL ~(1 << 2) -#else -#define MG54_13PL 0xFFFF -#endif -#if (G55PL >= G54PL) || (G55PL == 0) -#define MG54_15PL ~(1 << 4) -#else -#define MG54_15PL 0xFFFF -#endif -#if (G56PL >= G54PL) || (G56PL == 0) -#define MG54_16PL ~(1 << 5) -#else -#define MG54_16PL 0xFFFF -#endif -#if (G57PL >= G54PL) || (G57PL == 0) -#define MG54_17PL ~(1 << 6) -#else -#define MG54_17PL 0xFFFF -#endif -#if (G58PL >= G54PL) || (G58PL == 0) -#define MG54_18PL ~(1 << 7) -#else -#define MG54_18PL 0xFFFF -#endif -#define MG54_14PL 0x00F7 -#define MG54 (MG54_11PL & MG54_12PL & MG54_13PL & MG54_14PL & \ - MG54_15PL & MG54_16PL & MG54_17PL & MG54_18PL) -// End of MG54: - -// Beginning of MG55: -#if (G51PL >= G55PL) || (G51PL == 0) -#define MG55_11PL ~(1) -#else -#define MG55_11PL 0xFFFF -#endif -#if (G52PL >= G55PL) || (G52PL == 0) -#define MG55_12PL ~(1 << 1) -#else -#define MG55_12PL 0xFFFF -#endif -#if (G53PL >= G55PL) || (G53PL == 0) -#define MG55_13PL ~(1 << 2) -#else -#define MG55_13PL 0xFFFF -#endif -#if (G54PL >= G55PL) || (G54PL == 0) -#define MG55_14PL ~(1 << 3) -#else -#define MG55_14PL 0xFFFF -#endif -#if (G56PL >= G55PL) || (G56PL == 0) -#define MG55_16PL ~(1 << 5) -#else -#define MG55_16PL 0xFFFF -#endif -#if (G57PL >= G55PL) || (G57PL == 0) -#define MG55_17PL ~(1 << 6) -#else -#define MG55_17PL 0xFFFF -#endif -#if (G58PL >= G55PL) || (G58PL == 0) -#define MG55_18PL ~(1 << 7) -#else -#define MG55_18PL 0xFFFF -#endif -#define MG55_15PL 0x00EF -#define MG55 (MG55_11PL & MG55_12PL & MG55_13PL & MG55_14PL & \ - MG55_15PL & MG55_16PL & MG55_17PL & MG55_18PL) -// End of MG55: - -// Beginning of MG56: -#if (G51PL >= G56PL) || (G51PL == 0) -#define MG56_11PL ~(1) -#else -#define MG56_11PL 0xFFFF -#endif -#if (G52PL >= G56PL) || (G52PL == 0) -#define MG56_12PL ~(1 << 1) -#else -#define MG56_12PL 0xFFFF -#endif -#if (G53PL >= G56PL) || (G53PL == 0) -#define MG56_13PL ~(1 << 2) -#else -#define MG56_13PL 0xFFFF -#endif -#if (G54PL >= G56PL) || (G54PL == 0) -#define MG56_14PL ~(1 << 3) -#else -#define MG56_14PL 0xFFFF -#endif -#if (G55PL >= G56PL) || (G55PL == 0) -#define MG56_15PL ~(1 << 4) -#else -#define MG56_15PL 0xFFFF -#endif -#if (G57PL >= G56PL) || (G57PL == 0) -#define MG56_17PL ~(1 << 6) -#else -#define MG56_17PL 0xFFFF -#endif -#if (G58PL >= G56PL) || (G58PL == 0) -#define MG56_18PL ~(1 << 7) -#else -#define MG56_18PL 0xFFFF -#endif -#define MG56_16PL 0x00DF -#define MG56 (MG56_11PL & MG56_12PL & MG56_13PL & MG56_14PL & \ - MG56_15PL & MG56_16PL & MG56_17PL & MG56_18PL) -// End of MG56: - -// Beginning of MG57: -#if (G51PL >= G57PL) || (G51PL == 0) -#define MG57_11PL ~(1) -#else -#define MG57_11PL 0xFFFF -#endif -#if (G52PL >= G57PL) || (G52PL == 0) -#define MG57_12PL ~(1 << 1) -#else -#define MG57_12PL 0xFFFF -#endif -#if (G53PL >= G57PL) || (G53PL == 0) -#define MG57_13PL ~(1 << 2) -#else -#define MG57_13PL 0xFFFF -#endif -#if (G54PL >= G57PL) || (G54PL == 0) -#define MG57_14PL ~(1 << 3) -#else -#define MG57_14PL 0xFFFF -#endif -#if (G55PL >= G57PL) || (G55PL == 0) -#define MG57_15PL ~(1 << 4) -#else -#define MG57_15PL 0xFFFF -#endif -#if (G56PL >= G57PL) || (G56PL == 0) -#define MG57_16PL ~(1 << 5) -#else -#define MG57_16PL 0xFFFF -#endif -#if (G58PL >= G57PL) || (G58PL == 0) -#define MG57_18PL ~(1 << 7) -#else -#define MG57_18PL 0xFFFF -#endif -#define MG57_17PL 0x00BF -#define MG57 (MG57_11PL & MG57_12PL & MG57_13PL & MG57_14PL & \ - MG57_15PL & MG57_16PL & MG57_17PL & MG57_18PL) -// End of MG57: - -// Beginning of MG58: -#if (G51PL >= G58PL) || (G51PL == 0) -#define MG58_11PL ~(1) -#else -#define MG58_11PL 0xFFFF -#endif -#if (G52PL >= G58PL) || (G52PL == 0) -#define MG58_12PL ~(1 << 1) -#else -#define MG58_12PL 0xFFFF -#endif -#if (G53PL >= G58PL) || (G53PL == 0) -#define MG58_13PL ~(1 << 2) -#else -#define MG58_13PL 0xFFFF -#endif -#if (G54PL >= G58PL) || (G54PL == 0) -#define MG58_14PL ~(1 << 3) -#else -#define MG58_14PL 0xFFFF -#endif -#if (G55PL >= G58PL) || (G55PL == 0) -#define MG58_15PL ~(1 << 4) -#else -#define MG58_15PL 0xFFFF -#endif -#if (G56PL >= G58PL) || (G56PL == 0) -#define MG58_16PL ~(1 << 5) -#else -#define MG58_16PL 0xFFFF -#endif -#if (G57PL >= G58PL) || (G57PL == 0) -#define MG58_17PL ~(1 << 6) -#else -#define MG58_17PL 0xFFFF -#endif -#define MG58_18PL 0x007F -#define MG58 (MG58_11PL & MG58_12PL & MG58_13PL & MG58_14PL & \ - MG58_15PL & MG58_16PL & MG58_17PL & MG58_18PL) -// End of MG58: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG61 to MG68: -// - -// Beginning of MG61: -#if (G62PL >= G61PL) || (G62PL == 0) -#define MG61_12PL ~(1 << 1) -#else -#define MG61_12PL 0xFFFF -#endif -#if (G63PL >= G61PL) || (G63PL == 0) -#define MG61_13PL ~(1 << 2) -#else -#define MG61_13PL 0xFFFF -#endif -#if (G64PL >= G61PL) || (G64PL == 0) -#define MG61_14PL ~(1 << 3) -#else -#define MG61_14PL 0xFFFF -#endif -#if (G65PL >= G61PL) || (G65PL == 0) -#define MG61_15PL ~(1 << 4) -#else -#define MG61_15PL 0xFFFF -#endif -#if (G66PL >= G61PL) || (G66PL == 0) -#define MG61_16PL ~(1 << 5) -#else -#define MG61_16PL 0xFFFF -#endif -#if (G67PL >= G61PL) || (G67PL == 0) -#define MG61_17PL ~(1 << 6) -#else -#define MG61_17PL 0xFFFF -#endif -#if (G68PL >= G61PL) || (G68PL == 0) -#define MG61_18PL ~(1 << 7) -#else -#define MG61_18PL 0xFFFF -#endif -#define MG61_11PL 0x00FE -#define MG61 (MG61_11PL & MG61_12PL & MG61_13PL & MG61_14PL & \ - MG61_15PL & MG61_16PL & MG61_17PL & MG61_18PL) -// End of MG61: - -// Beginning of MG62: -#if (G61PL >= G62PL) || (G61PL == 0) -#define MG62_11PL ~(1) -#else -#define MG62_11PL 0xFFFF -#endif -#if (G63PL >= G62PL) || (G63PL == 0) -#define MG62_13PL ~(1 << 2) -#else -#define MG62_13PL 0xFFFF -#endif -#if (G64PL >= G62PL) || (G64PL == 0) -#define MG62_14PL ~(1 << 3) -#else -#define MG62_14PL 0xFFFF -#endif -#if (G65PL >= G62PL) || (G65PL == 0) -#define MG62_15PL ~(1 << 4) -#else -#define MG62_15PL 0xFFFF -#endif -#if (G66PL >= G62PL) || (G66PL == 0) -#define MG62_16PL ~(1 << 5) -#else -#define MG62_16PL 0xFFFF -#endif -#if (G67PL >= G62PL) || (G67PL == 0) -#define MG62_17PL ~(1 << 6) -#else -#define MG62_17PL 0xFFFF -#endif -#if (G68PL >= G62PL) || (G68PL == 0) -#define MG62_18PL ~(1 << 7) -#else -#define MG62_18PL 0xFFFF -#endif -#define MG62_12PL 0x00FD -#define MG62 (MG62_11PL & MG62_12PL & MG62_13PL & MG62_14PL & \ - MG62_15PL & MG62_16PL & MG62_17PL & MG62_18PL) -// End of MG62: - -// Beginning of MG63: -#if (G61PL >= G63PL) || (G61PL == 0) -#define MG63_11PL ~(1) -#else -#define MG63_11PL 0xFFFF -#endif -#if (G62PL >= G63PL) || (G62PL == 0) -#define MG63_12PL ~(1 << 1) -#else -#define MG63_12PL 0xFFFF -#endif -#if (G64PL >= G63PL) || (G64PL == 0) -#define MG63_14PL ~(1 << 3) -#else -#define MG63_14PL 0xFFFF -#endif -#if (G65PL >= G63PL) || (G65PL == 0) -#define MG63_15PL ~(1 << 4) -#else -#define MG63_15PL 0xFFFF -#endif -#if (G66PL >= G63PL) || (G66PL == 0) -#define MG63_16PL ~(1 << 5) -#else -#define MG63_16PL 0xFFFF -#endif -#if (G67PL >= G63PL) || (G67PL == 0) -#define MG63_17PL ~(1 << 6) -#else -#define MG63_17PL 0xFFFF -#endif -#if (G68PL >= G63PL) || (G68PL == 0) -#define MG63_18PL ~(1 << 7) -#else -#define MG63_18PL 0xFFFF -#endif -#define MG63_13PL 0x00FB -#define MG63 (MG63_11PL & MG63_12PL & MG63_13PL & MG63_14PL & \ - MG63_15PL & MG63_16PL & MG63_17PL & MG63_18PL) -// End of MG63: - -// Beginning of MG64: -#if (G61PL >= G64PL) || (G61PL == 0) -#define MG64_11PL ~(1) -#else -#define MG64_11PL 0xFFFF -#endif -#if (G62PL >= G64PL) || (G62PL == 0) -#define MG64_12PL ~(1 << 1) -#else -#define MG64_12PL 0xFFFF -#endif -#if (G63PL >= G64PL) || (G63PL == 0) -#define MG64_13PL ~(1 << 2) -#else -#define MG64_13PL 0xFFFF -#endif -#if (G65PL >= G64PL) || (G65PL == 0) -#define MG64_15PL ~(1 << 4) -#else -#define MG64_15PL 0xFFFF -#endif -#if (G66PL >= G64PL) || (G66PL == 0) -#define MG64_16PL ~(1 << 5) -#else -#define MG64_16PL 0xFFFF -#endif -#if (G67PL >= G64PL) || (G67PL == 0) -#define MG64_17PL ~(1 << 6) -#else -#define MG64_17PL 0xFFFF -#endif -#if (G68PL >= G64PL) || (G68PL == 0) -#define MG64_18PL ~(1 << 7) -#else -#define MG64_18PL 0xFFFF -#endif -#define MG64_14PL 0x00F7 -#define MG64 (MG64_11PL & MG64_12PL & MG64_13PL & MG64_14PL & \ - MG64_15PL & MG64_16PL & MG64_17PL & MG64_18PL) -// End of MG64: - -// Beginning of MG65: -#if (G61PL >= G65PL) || (G61PL == 0) -#define MG65_11PL ~(1) -#else -#define MG65_11PL 0xFFFF -#endif -#if (G62PL >= G65PL) || (G62PL == 0) -#define MG65_12PL ~(1 << 1) -#else -#define MG65_12PL 0xFFFF -#endif -#if (G63PL >= G65PL) || (G63PL == 0) -#define MG65_13PL ~(1 << 2) -#else -#define MG65_13PL 0xFFFF -#endif -#if (G64PL >= G65PL) || (G64PL == 0) -#define MG65_14PL ~(1 << 3) -#else -#define MG65_14PL 0xFFFF -#endif -#if (G66PL >= G65PL) || (G66PL == 0) -#define MG65_16PL ~(1 << 5) -#else -#define MG65_16PL 0xFFFF -#endif -#if (G67PL >= G65PL) || (G67PL == 0) -#define MG65_17PL ~(1 << 6) -#else -#define MG65_17PL 0xFFFF -#endif -#if (G68PL >= G65PL) || (G68PL == 0) -#define MG65_18PL ~(1 << 7) -#else -#define MG65_18PL 0xFFFF -#endif -#define MG65_15PL 0x00EF -#define MG65 (MG65_11PL & MG65_12PL & MG65_13PL & MG65_14PL & \ - MG65_15PL & MG65_16PL & MG65_17PL & MG65_18PL) -// End of MG65: - -// Beginning of MG66: -#if (G61PL >= G66PL) || (G61PL == 0) -#define MG66_11PL ~(1) -#else -#define MG66_11PL 0xFFFF -#endif -#if (G62PL >= G66PL) || (G62PL == 0) -#define MG66_12PL ~(1 << 1) -#else -#define MG66_12PL 0xFFFF -#endif -#if (G63PL >= G66PL) || (G63PL == 0) -#define MG66_13PL ~(1 << 2) -#else -#define MG66_13PL 0xFFFF -#endif -#if (G64PL >= G66PL) || (G64PL == 0) -#define MG66_14PL ~(1 << 3) -#else -#define MG66_14PL 0xFFFF -#endif -#if (G65PL >= G66PL) || (G65PL == 0) -#define MG66_15PL ~(1 << 4) -#else -#define MG66_15PL 0xFFFF -#endif -#if (G67PL >= G66PL) || (G67PL == 0) -#define MG66_17PL ~(1 << 6) -#else -#define MG66_17PL 0xFFFF -#endif -#if (G68PL >= G66PL) || (G68PL == 0) -#define MG66_18PL ~(1 << 7) -#else -#define MG66_18PL 0xFFFF -#endif -#define MG66_16PL 0x00DF -#define MG66 (MG66_11PL & MG66_12PL & MG66_13PL & MG66_14PL & \ - MG66_15PL & MG66_16PL & MG66_17PL & MG66_18PL) -// End of MG66: - -// Beginning of MG67: -#if (G61PL >= G67PL) || (G61PL == 0) -#define MG67_11PL ~(1) -#else -#define MG67_11PL 0xFFFF -#endif -#if (G62PL >= G67PL) || (G62PL == 0) -#define MG67_12PL ~(1 << 1) -#else -#define MG67_12PL 0xFFFF -#endif -#if (G63PL >= G67PL) || (G63PL == 0) -#define MG67_13PL ~(1 << 2) -#else -#define MG67_13PL 0xFFFF -#endif -#if (G64PL >= G67PL) || (G64PL == 0) -#define MG67_14PL ~(1 << 3) -#else -#define MG67_14PL 0xFFFF -#endif -#if (G65PL >= G67PL) || (G65PL == 0) -#define MG67_15PL ~(1 << 4) -#else -#define MG67_15PL 0xFFFF -#endif -#if (G66PL >= G67PL) || (G66PL == 0) -#define MG67_16PL ~(1 << 5) -#else -#define MG67_16PL 0xFFFF -#endif -#if (G68PL >= G67PL) || (G68PL == 0) -#define MG67_18PL ~(1 << 7) -#else -#define MG67_18PL 0xFFFF -#endif -#define MG67_17PL 0x00BF -#define MG67 (MG67_11PL & MG67_12PL & MG67_13PL & MG67_14PL & \ - MG67_15PL & MG67_16PL & MG67_17PL & MG67_18PL) -// End of MG67: - -// Beginning of MG68: -#if (G61PL >= G68PL) || (G61PL == 0) -#define MG68_11PL ~(1) -#else -#define MG68_11PL 0xFFFF -#endif -#if (G62PL >= G68PL) || (G62PL == 0) -#define MG68_12PL ~(1 << 1) -#else -#define MG68_12PL 0xFFFF -#endif -#if (G63PL >= G68PL) || (G63PL == 0) -#define MG68_13PL ~(1 << 2) -#else -#define MG68_13PL 0xFFFF -#endif -#if (G64PL >= G68PL) || (G64PL == 0) -#define MG68_14PL ~(1 << 3) -#else -#define MG68_14PL 0xFFFF -#endif -#if (G65PL >= G68PL) || (G65PL == 0) -#define MG68_15PL ~(1 << 4) -#else -#define MG68_15PL 0xFFFF -#endif -#if (G66PL >= G68PL) || (G66PL == 0) -#define MG68_16PL ~(1 << 5) -#else -#define MG68_16PL 0xFFFF -#endif -#if (G67PL >= G68PL) || (G67PL == 0) -#define MG68_17PL ~(1 << 6) -#else -#define MG68_17PL 0xFFFF -#endif -#define MG68_18PL 0x007F -#define MG68 (MG68_11PL & MG68_12PL & MG68_13PL & MG68_14PL & \ - MG68_15PL & MG68_16PL & MG68_17PL & MG68_18PL) -// End of MG68: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG71 to MG78: -// - -// Beginning of MG71: -#if (G72PL >= G71PL) || (G72PL == 0) -#define MG71_12PL ~(1 << 1) -#else -#define MG71_12PL 0xFFFF -#endif -#if (G73PL >= G71PL) || (G73PL == 0) -#define MG71_13PL ~(1 << 2) -#else -#define MG71_13PL 0xFFFF -#endif -#if (G74PL >= G71PL) || (G74PL == 0) -#define MG71_14PL ~(1 << 3) -#else -#define MG71_14PL 0xFFFF -#endif -#if (G75PL >= G71PL) || (G75PL == 0) -#define MG71_15PL ~(1 << 4) -#else -#define MG71_15PL 0xFFFF -#endif -#if (G76PL >= G71PL) || (G76PL == 0) -#define MG71_16PL ~(1 << 5) -#else -#define MG71_16PL 0xFFFF -#endif -#if (G77PL >= G71PL) || (G77PL == 0) -#define MG71_17PL ~(1 << 6) -#else -#define MG71_17PL 0xFFFF -#endif -#if (G78PL >= G71PL) || (G78PL == 0) -#define MG71_18PL ~(1 << 7) -#else -#define MG71_18PL 0xFFFF -#endif -#define MG71_11PL 0x00FE -#define MG71 (MG71_11PL & MG71_12PL & MG71_13PL & MG71_14PL & \ - MG71_15PL & MG71_16PL & MG71_17PL & MG71_18PL) -// End of MG71: - -// Beginning of MG72: -#if (G71PL >= G72PL) || (G71PL == 0) -#define MG72_11PL ~(1) -#else -#define MG72_11PL 0xFFFF -#endif -#if (G73PL >= G72PL) || (G73PL == 0) -#define MG72_13PL ~(1 << 2) -#else -#define MG72_13PL 0xFFFF -#endif -#if (G74PL >= G72PL) || (G74PL == 0) -#define MG72_14PL ~(1 << 3) -#else -#define MG72_14PL 0xFFFF -#endif -#if (G75PL >= G72PL) || (G75PL == 0) -#define MG72_15PL ~(1 << 4) -#else -#define MG72_15PL 0xFFFF -#endif -#if (G76PL >= G72PL) || (G76PL == 0) -#define MG72_16PL ~(1 << 5) -#else -#define MG72_16PL 0xFFFF -#endif -#if (G77PL >= G72PL) || (G77PL == 0) -#define MG72_17PL ~(1 << 6) -#else -#define MG72_17PL 0xFFFF -#endif -#if (G78PL >= G72PL) || (G78PL == 0) -#define MG72_18PL ~(1 << 7) -#else -#define MG72_18PL 0xFFFF -#endif -#define MG72_12PL 0x00FD -#define MG72 (MG72_11PL & MG72_12PL & MG72_13PL & MG72_14PL & \ - MG72_15PL & MG72_16PL & MG72_17PL & MG72_18PL) -// End of MG72: - -// Beginning of MG73: -#if (G71PL >= G73PL) || (G71PL == 0) -#define MG73_11PL ~(1) -#else -#define MG73_11PL 0xFFFF -#endif -#if (G72PL >= G73PL) || (G72PL == 0) -#define MG73_12PL ~(1 << 1) -#else -#define MG73_12PL 0xFFFF -#endif -#if (G74PL >= G73PL) || (G74PL == 0) -#define MG73_14PL ~(1 << 3) -#else -#define MG73_14PL 0xFFFF -#endif -#if (G75PL >= G73PL) || (G75PL == 0) -#define MG73_15PL ~(1 << 4) -#else -#define MG73_15PL 0xFFFF -#endif -#if (G76PL >= G73PL) || (G76PL == 0) -#define MG73_16PL ~(1 << 5) -#else -#define MG73_16PL 0xFFFF -#endif -#if (G77PL >= G73PL) || (G77PL == 0) -#define MG73_17PL ~(1 << 6) -#else -#define MG73_17PL 0xFFFF -#endif -#if (G78PL >= G73PL) || (G78PL == 0) -#define MG73_18PL ~(1 << 7) -#else -#define MG73_18PL 0xFFFF -#endif -#define MG73_13PL 0x00FB -#define MG73 (MG73_11PL & MG73_12PL & MG73_13PL & MG73_14PL & \ - MG73_15PL & MG73_16PL & MG73_17PL & MG73_18PL) -// End of MG73: - -// Beginning of MG74: -#if (G71PL >= G74PL) || (G71PL == 0) -#define MG74_11PL ~(1) -#else -#define MG74_11PL 0xFFFF -#endif -#if (G72PL >= G74PL) || (G72PL == 0) -#define MG74_12PL ~(1 << 1) -#else -#define MG74_12PL 0xFFFF -#endif -#if (G73PL >= G74PL) || (G73PL == 0) -#define MG74_13PL ~(1 << 2) -#else -#define MG74_13PL 0xFFFF -#endif -#if (G75PL >= G74PL) || (G75PL == 0) -#define MG74_15PL ~(1 << 4) -#else -#define MG74_15PL 0xFFFF -#endif -#if (G76PL >= G74PL) || (G76PL == 0) -#define MG74_16PL ~(1 << 5) -#else -#define MG74_16PL 0xFFFF -#endif -#if (G77PL >= G74PL) || (G77PL == 0) -#define MG74_17PL ~(1 << 6) -#else -#define MG74_17PL 0xFFFF -#endif -#if (G78PL >= G74PL) || (G78PL == 0) -#define MG74_18PL ~(1 << 7) -#else -#define MG74_18PL 0xFFFF -#endif -#define MG74_14PL 0x00F7 -#define MG74 (MG74_11PL & MG74_12PL & MG74_13PL & MG74_14PL & \ - MG74_15PL & MG74_16PL & MG74_17PL & MG74_18PL) -// End of MG74: - -// Beginning of MG75: -#if (G71PL >= G75PL) || (G71PL == 0) -#define MG75_11PL ~(1) -#else -#define MG75_11PL 0xFFFF -#endif -#if (G72PL >= G75PL) || (G72PL == 0) -#define MG75_12PL ~(1 << 1) -#else -#define MG75_12PL 0xFFFF -#endif -#if (G73PL >= G75PL) || (G73PL == 0) -#define MG75_13PL ~(1 << 2) -#else -#define MG75_13PL 0xFFFF -#endif -#if (G74PL >= G75PL) || (G74PL == 0) -#define MG75_14PL ~(1 << 3) -#else -#define MG75_14PL 0xFFFF -#endif -#if (G76PL >= G75PL) || (G76PL == 0) -#define MG75_16PL ~(1 << 5) -#else -#define MG75_16PL 0xFFFF -#endif -#if (G77PL >= G75PL) || (G77PL == 0) -#define MG75_17PL ~(1 << 6) -#else -#define MG75_17PL 0xFFFF -#endif -#if (G78PL >= G75PL) || (G78PL == 0) -#define MG75_18PL ~(1 << 7) -#else -#define MG75_18PL 0xFFFF -#endif -#define MG75_15PL 0x00EF -#define MG75 (MG75_11PL & MG75_12PL & MG75_13PL & MG75_14PL & \ - MG75_15PL & MG75_16PL & MG75_17PL & MG75_18PL) -// End of MG75: - -// Beginning of MG76: -#if (G71PL >= G76PL) || (G71PL == 0) -#define MG76_11PL ~(1) -#else -#define MG76_11PL 0xFFFF -#endif -#if (G72PL >= G76PL) || (G72PL == 0) -#define MG76_12PL ~(1 << 1) -#else -#define MG76_12PL 0xFFFF -#endif -#if (G73PL >= G76PL) || (G73PL == 0) -#define MG76_13PL ~(1 << 2) -#else -#define MG76_13PL 0xFFFF -#endif -#if (G74PL >= G76PL) || (G74PL == 0) -#define MG76_14PL ~(1 << 3) -#else -#define MG76_14PL 0xFFFF -#endif -#if (G75PL >= G76PL) || (G75PL == 0) -#define MG76_15PL ~(1 << 4) -#else -#define MG76_15PL 0xFFFF -#endif -#if (G77PL >= G76PL) || (G77PL == 0) -#define MG76_17PL ~(1 << 6) -#else -#define MG76_17PL 0xFFFF -#endif -#if (G78PL >= G76PL) || (G78PL == 0) -#define MG76_18PL ~(1 << 7) -#else -#define MG76_18PL 0xFFFF -#endif -#define MG76_16PL 0x00DF -#define MG76 (MG76_11PL & MG76_12PL & MG76_13PL & MG76_14PL & \ - MG76_15PL & MG76_16PL & MG76_17PL & MG76_18PL) -// End of MG76: - -// Beginning of MG77: -#if (G71PL >= G77PL) || (G71PL == 0) -#define MG77_11PL ~(1) -#else -#define MG77_11PL 0xFFFF -#endif -#if (G72PL >= G77PL) || (G72PL == 0) -#define MG77_12PL ~(1 << 1) -#else -#define MG77_12PL 0xFFFF -#endif -#if (G73PL >= G77PL) || (G73PL == 0) -#define MG77_13PL ~(1 << 2) -#else -#define MG77_13PL 0xFFFF -#endif -#if (G74PL >= G77PL) || (G74PL == 0) -#define MG77_14PL ~(1 << 3) -#else -#define MG77_14PL 0xFFFF -#endif -#if (G75PL >= G77PL) || (G75PL == 0) -#define MG77_15PL ~(1 << 4) -#else -#define MG77_15PL 0xFFFF -#endif -#if (G76PL >= G77PL) || (G76PL == 0) -#define MG77_16PL ~(1 << 5) -#else -#define MG77_16PL 0xFFFF -#endif -#if (G78PL >= G77PL) || (G78PL == 0) -#define MG77_18PL ~(1 << 7) -#else -#define MG77_18PL 0xFFFF -#endif -#define MG77_17PL 0x00BF -#define MG77 (MG77_11PL & MG77_12PL & MG77_13PL & MG77_14PL & \ - MG77_15PL & MG77_16PL & MG77_17PL & MG77_18PL) -// End of MG77: - -// Beginning of MG78: -#if (G71PL >= G78PL) || (G71PL == 0) -#define MG78_11PL ~(1) -#else -#define MG78_11PL 0xFFFF -#endif -#if (G72PL >= G78PL) || (G72PL == 0) -#define MG78_12PL ~(1 << 1) -#else -#define MG78_12PL 0xFFFF -#endif -#if (G73PL >= G78PL) || (G73PL == 0) -#define MG78_13PL ~(1 << 2) -#else -#define MG78_13PL 0xFFFF -#endif -#if (G74PL >= G78PL) || (G74PL == 0) -#define MG78_14PL ~(1 << 3) -#else -#define MG78_14PL 0xFFFF -#endif -#if (G75PL >= G78PL) || (G75PL == 0) -#define MG78_15PL ~(1 << 4) -#else -#define MG78_15PL 0xFFFF -#endif -#if (G76PL >= G78PL) || (G76PL == 0) -#define MG78_16PL ~(1 << 5) -#else -#define MG78_16PL 0xFFFF -#endif -#if (G77PL >= G78PL) || (G77PL == 0) -#define MG78_17PL ~(1 << 6) -#else -#define MG78_17PL 0xFFFF -#endif -#define MG78_18PL 0x007F -#define MG78 (MG78_11PL & MG78_12PL & MG78_13PL & MG78_14PL & \ - MG78_15PL & MG78_16PL & MG78_17PL & MG78_18PL) -// End of MG78: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG81 to MG88: -// - -// Beginning of MG81: -#if (G82PL >= G81PL) || (G82PL == 0) -#define MG81_12PL ~(1 << 1) -#else -#define MG81_12PL 0xFFFF -#endif -#if (G83PL >= G81PL) || (G83PL == 0) -#define MG81_13PL ~(1 << 2) -#else -#define MG81_13PL 0xFFFF -#endif -#if (G84PL >= G81PL) || (G84PL == 0) -#define MG81_14PL ~(1 << 3) -#else -#define MG81_14PL 0xFFFF -#endif -#if (G85PL >= G81PL) || (G85PL == 0) -#define MG81_15PL ~(1 << 4) -#else -#define MG81_15PL 0xFFFF -#endif -#if (G86PL >= G81PL) || (G86PL == 0) -#define MG81_16PL ~(1 << 5) -#else -#define MG81_16PL 0xFFFF -#endif -#if (G87PL >= G81PL) || (G87PL == 0) -#define MG81_17PL ~(1 << 6) -#else -#define MG81_17PL 0xFFFF -#endif -#if (G88PL >= G81PL) || (G88PL == 0) -#define MG81_18PL ~(1 << 7) -#else -#define MG81_18PL 0xFFFF -#endif -#define MG81_11PL 0x00FE -#define MG81 (MG81_11PL & MG81_12PL & MG81_13PL & MG81_14PL & \ - MG81_15PL & MG81_16PL & MG81_17PL & MG81_18PL) -// End of MG81: - -// Beginning of MG82: -#if (G81PL >= G82PL) || (G81PL == 0) -#define MG82_11PL ~(1) -#else -#define MG82_11PL 0xFFFF -#endif -#if (G83PL >= G82PL) || (G83PL == 0) -#define MG82_13PL ~(1 << 2) -#else -#define MG82_13PL 0xFFFF -#endif -#if (G84PL >= G82PL) || (G84PL == 0) -#define MG82_14PL ~(1 << 3) -#else -#define MG82_14PL 0xFFFF -#endif -#if (G85PL >= G82PL) || (G85PL == 0) -#define MG82_15PL ~(1 << 4) -#else -#define MG82_15PL 0xFFFF -#endif -#if (G86PL >= G82PL) || (G86PL == 0) -#define MG82_16PL ~(1 << 5) -#else -#define MG82_16PL 0xFFFF -#endif -#if (G87PL >= G82PL) || (G87PL == 0) -#define MG82_17PL ~(1 << 6) -#else -#define MG82_17PL 0xFFFF -#endif -#if (G88PL >= G82PL) || (G88PL == 0) -#define MG82_18PL ~(1 << 7) -#else -#define MG82_18PL 0xFFFF -#endif -#define MG82_12PL 0x00FD -#define MG82 (MG82_11PL & MG82_12PL & MG82_13PL & MG82_14PL & \ - MG82_15PL & MG82_16PL & MG82_17PL & MG82_18PL) -// End of MG82: - -// Beginning of MG83: -#if (G81PL >= G83PL) || (G81PL == 0) -#define MG83_11PL ~(1) -#else -#define MG83_11PL 0xFFFF -#endif -#if (G82PL >= G83PL) || (G82PL == 0) -#define MG83_12PL ~(1 << 1) -#else -#define MG83_12PL 0xFFFF -#endif -#if (G84PL >= G83PL) || (G84PL == 0) -#define MG83_14PL ~(1 << 3) -#else -#define MG83_14PL 0xFFFF -#endif -#if (G85PL >= G83PL) || (G85PL == 0) -#define MG83_15PL ~(1 << 4) -#else -#define MG83_15PL 0xFFFF -#endif -#if (G86PL >= G83PL) || (G86PL == 0) -#define MG83_16PL ~(1 << 5) -#else -#define MG83_16PL 0xFFFF -#endif -#if (G87PL >= G83PL) || (G87PL == 0) -#define MG83_17PL ~(1 << 6) -#else -#define MG83_17PL 0xFFFF -#endif -#if (G88PL >= G83PL) || (G88PL == 0) -#define MG83_18PL ~(1 << 7) -#else -#define MG83_18PL 0xFFFF -#endif -#define MG83_13PL 0x00FB -#define MG83 (MG83_11PL & MG83_12PL & MG83_13PL & MG83_14PL & \ - MG83_15PL & MG83_16PL & MG83_17PL & MG83_18PL) -// End of MG83: - -// Beginning of MG84: -#if (G81PL >= G84PL) || (G81PL == 0) -#define MG84_11PL ~(1) -#else -#define MG84_11PL 0xFFFF -#endif -#if (G82PL >= G84PL) || (G82PL == 0) -#define MG84_12PL ~(1 << 1) -#else -#define MG84_12PL 0xFFFF -#endif -#if (G83PL >= G84PL) || (G83PL == 0) -#define MG84_13PL ~(1 << 2) -#else -#define MG84_13PL 0xFFFF -#endif -#if (G85PL >= G84PL) || (G85PL == 0) -#define MG84_15PL ~(1 << 4) -#else -#define MG84_15PL 0xFFFF -#endif -#if (G86PL >= G84PL) || (G86PL == 0) -#define MG84_16PL ~(1 << 5) -#else -#define MG84_16PL 0xFFFF -#endif -#if (G87PL >= G84PL) || (G87PL == 0) -#define MG84_17PL ~(1 << 6) -#else -#define MG84_17PL 0xFFFF -#endif -#if (G88PL >= G84PL) || (G88PL == 0) -#define MG84_18PL ~(1 << 7) -#else -#define MG84_18PL 0xFFFF -#endif -#define MG84_14PL 0x00F7 -#define MG84 (MG84_11PL & MG84_12PL & MG84_13PL & MG84_14PL & \ - MG84_15PL & MG84_16PL & MG84_17PL & MG84_18PL) -// End of MG84: - -// Beginning of MG85: -#if (G81PL >= G85PL) || (G81PL == 0) -#define MG85_11PL ~(1) -#else -#define MG85_11PL 0xFFFF -#endif -#if (G82PL >= G85PL) || (G82PL == 0) -#define MG85_12PL ~(1 << 1) -#else -#define MG85_12PL 0xFFFF -#endif -#if (G83PL >= G85PL) || (G83PL == 0) -#define MG85_13PL ~(1 << 2) -#else -#define MG85_13PL 0xFFFF -#endif -#if (G84PL >= G85PL) || (G84PL == 0) -#define MG85_14PL ~(1 << 3) -#else -#define MG85_14PL 0xFFFF -#endif -#if (G86PL >= G85PL) || (G86PL == 0) -#define MG85_16PL ~(1 << 5) -#else -#define MG85_16PL 0xFFFF -#endif -#if (G87PL >= G85PL) || (G87PL == 0) -#define MG85_17PL ~(1 << 6) -#else -#define MG85_17PL 0xFFFF -#endif -#if (G88PL >= G85PL) || (G88PL == 0) -#define MG85_18PL ~(1 << 7) -#else -#define MG85_18PL 0xFFFF -#endif -#define MG85_15PL 0x00EF -#define MG85 (MG85_11PL & MG85_12PL & MG85_13PL & MG85_14PL & \ - MG85_15PL & MG85_16PL & MG85_17PL & MG85_18PL) -// End of MG85: - -// Beginning of MG86: -#if (G81PL >= G86PL) || (G81PL == 0) -#define MG86_11PL ~(1) -#else -#define MG86_11PL 0xFFFF -#endif -#if (G82PL >= G86PL) || (G82PL == 0) -#define MG86_12PL ~(1 << 1) -#else -#define MG86_12PL 0xFFFF -#endif -#if (G83PL >= G86PL) || (G83PL == 0) -#define MG86_13PL ~(1 << 2) -#else -#define MG86_13PL 0xFFFF -#endif -#if (G84PL >= G86PL) || (G84PL == 0) -#define MG86_14PL ~(1 << 3) -#else -#define MG86_14PL 0xFFFF -#endif -#if (G85PL >= G86PL) || (G85PL == 0) -#define MG86_15PL ~(1 << 4) -#else -#define MG86_15PL 0xFFFF -#endif -#if (G87PL >= G86PL) || (G87PL == 0) -#define MG86_17PL ~(1 << 6) -#else -#define MG86_17PL 0xFFFF -#endif -#if (G88PL >= G86PL) || (G88PL == 0) -#define MG86_18PL ~(1 << 7) -#else -#define MG86_18PL 0xFFFF -#endif -#define MG86_16PL 0x00DF -#define MG86 (MG86_11PL & MG86_12PL & MG86_13PL & MG86_14PL & \ - MG86_15PL & MG86_16PL & MG86_17PL & MG86_18PL) -// End of MG86: - -// Beginning of MG87: -#if (G81PL >= G87PL) || (G81PL == 0) -#define MG87_11PL ~(1) -#else -#define MG87_11PL 0xFFFF -#endif -#if (G82PL >= G87PL) || (G82PL == 0) -#define MG87_12PL ~(1 << 1) -#else -#define MG87_12PL 0xFFFF -#endif -#if (G83PL >= G87PL) || (G83PL == 0) -#define MG87_13PL ~(1 << 2) -#else -#define MG87_13PL 0xFFFF -#endif -#if (G84PL >= G87PL) || (G84PL == 0) -#define MG87_14PL ~(1 << 3) -#else -#define MG87_14PL 0xFFFF -#endif -#if (G85PL >= G87PL) || (G85PL == 0) -#define MG87_15PL ~(1 << 4) -#else -#define MG87_15PL 0xFFFF -#endif -#if (G86PL >= G87PL) || (G86PL == 0) -#define MG87_16PL ~(1 << 5) -#else -#define MG87_16PL 0xFFFF -#endif -#if (G88PL >= G87PL) || (G88PL == 0) -#define MG87_18PL ~(1 << 7) -#else -#define MG87_18PL 0xFFFF -#endif -#define MG87_17PL 0x00BF -#define MG87 (MG87_11PL & MG87_12PL & MG87_13PL & MG87_14PL & \ - MG87_15PL & MG87_16PL & MG87_17PL & MG87_18PL) -// End of MG87: - -// Beginning of MG88: -#if (G81PL >= G88PL) || (G81PL == 0) -#define MG88_11PL ~(1) -#else -#define MG88_11PL 0xFFFF -#endif -#if (G82PL >= G88PL) || (G82PL == 0) -#define MG88_12PL ~(1 << 1) -#else -#define MG88_12PL 0xFFFF -#endif -#if (G83PL >= G88PL) || (G83PL == 0) -#define MG88_13PL ~(1 << 2) -#else -#define MG88_13PL 0xFFFF -#endif -#if (G84PL >= G88PL) || (G84PL == 0) -#define MG88_14PL ~(1 << 3) -#else -#define MG88_14PL 0xFFFF -#endif -#if (G85PL >= G88PL) || (G85PL == 0) -#define MG88_15PL ~(1 << 4) -#else -#define MG88_15PL 0xFFFF -#endif -#if (G86PL >= G88PL) || (G86PL == 0) -#define MG88_16PL ~(1 << 5) -#else -#define MG88_16PL 0xFFFF -#endif -#if (G87PL >= G88PL) || (G87PL == 0) -#define MG88_17PL ~(1 << 6) -#else -#define MG88_17PL 0xFFFF -#endif -#define MG88_18PL 0x007F -#define MG88 (MG88_11PL & MG88_12PL & MG88_13PL & MG88_14PL & \ - MG88_15PL & MG88_16PL & MG88_17PL & MG88_18PL) -// End of MG88: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG91 to MG98: -// - -// Beginning of MG91: -#if (G92PL >= G91PL) || (G92PL == 0) -#define MG91_12PL ~(1 << 1) -#else -#define MG91_12PL 0xFFFF -#endif -#if (G93PL >= G91PL) || (G93PL == 0) -#define MG91_13PL ~(1 << 2) -#else -#define MG91_13PL 0xFFFF -#endif -#if (G94PL >= G91PL) || (G94PL == 0) -#define MG91_14PL ~(1 << 3) -#else -#define MG91_14PL 0xFFFF -#endif -#if (G95PL >= G91PL) || (G95PL == 0) -#define MG91_15PL ~(1 << 4) -#else -#define MG91_15PL 0xFFFF -#endif -#if (G96PL >= G91PL) || (G96PL == 0) -#define MG91_16PL ~(1 << 5) -#else -#define MG91_16PL 0xFFFF -#endif -#if (G97PL >= G91PL) || (G97PL == 0) -#define MG91_17PL ~(1 << 6) -#else -#define MG91_17PL 0xFFFF -#endif -#if (G98PL >= G91PL) || (G98PL == 0) -#define MG91_18PL ~(1 << 7) -#else -#define MG91_18PL 0xFFFF -#endif -#define MG91_11PL 0x00FE -#define MG91 (MG91_11PL & MG91_12PL & MG91_13PL & MG91_14PL & \ - MG91_15PL & MG91_16PL & MG91_17PL & MG91_18PL) -// End of MG91: - -// Beginning of MG92: -#if (G91PL >= G92PL) || (G91PL == 0) -#define MG92_11PL ~(1) -#else -#define MG92_11PL 0xFFFF -#endif -#if (G93PL >= G92PL) || (G93PL == 0) -#define MG92_13PL ~(1 << 2) -#else -#define MG92_13PL 0xFFFF -#endif -#if (G94PL >= G92PL) || (G94PL == 0) -#define MG92_14PL ~(1 << 3) -#else -#define MG92_14PL 0xFFFF -#endif -#if (G95PL >= G92PL) || (G95PL == 0) -#define MG92_15PL ~(1 << 4) -#else -#define MG92_15PL 0xFFFF -#endif -#if (G96PL >= G92PL) || (G96PL == 0) -#define MG92_16PL ~(1 << 5) -#else -#define MG92_16PL 0xFFFF -#endif -#if (G97PL >= G92PL) || (G97PL == 0) -#define MG92_17PL ~(1 << 6) -#else -#define MG92_17PL 0xFFFF -#endif -#if (G98PL >= G92PL) || (G98PL == 0) -#define MG92_18PL ~(1 << 7) -#else -#define MG92_18PL 0xFFFF -#endif -#define MG92_12PL 0x00FD -#define MG92 (MG92_11PL & MG92_12PL & MG92_13PL & MG92_14PL & \ - MG92_15PL & MG92_16PL & MG92_17PL & MG92_18PL) -// End of MG92: - -// Beginning of MG93: -#if (G91PL >= G93PL) || (G91PL == 0) -#define MG93_11PL ~(1) -#else -#define MG93_11PL 0xFFFF -#endif -#if (G92PL >= G93PL) || (G92PL == 0) -#define MG93_12PL ~(1 << 1) -#else -#define MG93_12PL 0xFFFF -#endif -#if (G94PL >= G93PL) || (G94PL == 0) -#define MG93_14PL ~(1 << 3) -#else -#define MG93_14PL 0xFFFF -#endif -#if (G95PL >= G93PL) || (G95PL == 0) -#define MG93_15PL ~(1 << 4) -#else -#define MG93_15PL 0xFFFF -#endif -#if (G96PL >= G93PL) || (G96PL == 0) -#define MG93_16PL ~(1 << 5) -#else -#define MG93_16PL 0xFFFF -#endif -#if (G97PL >= G93PL) || (G97PL == 0) -#define MG93_17PL ~(1 << 6) -#else -#define MG93_17PL 0xFFFF -#endif -#if (G98PL >= G93PL) || (G98PL == 0) -#define MG93_18PL ~(1 << 7) -#else -#define MG93_18PL 0xFFFF -#endif -#define MG93_13PL 0x00FB -#define MG93 (MG93_11PL & MG93_12PL & MG93_13PL & MG93_14PL & \ - MG93_15PL & MG93_16PL & MG93_17PL & MG93_18PL) -// End of MG93: - -// Beginning of MG94: -#if (G91PL >= G94PL) || (G91PL == 0) -#define MG94_11PL ~(1) -#else -#define MG94_11PL 0xFFFF -#endif -#if (G92PL >= G94PL) || (G92PL == 0) -#define MG94_12PL ~(1 << 1) -#else -#define MG94_12PL 0xFFFF -#endif -#if (G93PL >= G94PL) || (G93PL == 0) -#define MG94_13PL ~(1 << 2) -#else -#define MG94_13PL 0xFFFF -#endif -#if (G95PL >= G94PL) || (G95PL == 0) -#define MG94_15PL ~(1 << 4) -#else -#define MG94_15PL 0xFFFF -#endif -#if (G96PL >= G94PL) || (G96PL == 0) -#define MG94_16PL ~(1 << 5) -#else -#define MG94_16PL 0xFFFF -#endif -#if (G97PL >= G94PL) || (G97PL == 0) -#define MG94_17PL ~(1 << 6) -#else -#define MG94_17PL 0xFFFF -#endif -#if (G98PL >= G94PL) || (G98PL == 0) -#define MG94_18PL ~(1 << 7) -#else -#define MG94_18PL 0xFFFF -#endif -#define MG94_14PL 0x00F7 -#define MG94 (MG94_11PL & MG94_12PL & MG94_13PL & MG94_14PL & \ - MG94_15PL & MG94_16PL & MG94_17PL & MG94_18PL) -// End of MG94: - -// Beginning of MG95: -#if (G91PL >= G95PL) || (G91PL == 0) -#define MG95_11PL ~(1) -#else -#define MG95_11PL 0xFFFF -#endif -#if (G92PL >= G95PL) || (G92PL == 0) -#define MG95_12PL ~(1 << 1) -#else -#define MG95_12PL 0xFFFF -#endif -#if (G93PL >= G95PL) || (G93PL == 0) -#define MG95_13PL ~(1 << 2) -#else -#define MG95_13PL 0xFFFF -#endif -#if (G94PL >= G95PL) || (G94PL == 0) -#define MG95_14PL ~(1 << 3) -#else -#define MG95_14PL 0xFFFF -#endif -#if (G96PL >= G95PL) || (G96PL == 0) -#define MG95_16PL ~(1 << 5) -#else -#define MG95_16PL 0xFFFF -#endif -#if (G97PL >= G95PL) || (G97PL == 0) -#define MG95_17PL ~(1 << 6) -#else -#define MG95_17PL 0xFFFF -#endif -#if (G98PL >= G95PL) || (G98PL == 0) -#define MG95_18PL ~(1 << 7) -#else -#define MG95_18PL 0xFFFF -#endif -#define MG95_15PL 0x00EF -#define MG95 (MG95_11PL & MG95_12PL & MG95_13PL & MG95_14PL & \ - MG95_15PL & MG95_16PL & MG95_17PL & MG95_18PL) -// End of MG95: - -// Beginning of MG96: -#if (G91PL >= G96PL) || (G91PL == 0) -#define MG96_11PL ~(1) -#else -#define MG96_11PL 0xFFFF -#endif -#if (G92PL >= G96PL) || (G92PL == 0) -#define MG96_12PL ~(1 << 1) -#else -#define MG96_12PL 0xFFFF -#endif -#if (G93PL >= G96PL) || (G93PL == 0) -#define MG96_13PL ~(1 << 2) -#else -#define MG96_13PL 0xFFFF -#endif -#if (G94PL >= G96PL) || (G94PL == 0) -#define MG96_14PL ~(1 << 3) -#else -#define MG96_14PL 0xFFFF -#endif -#if (G95PL >= G96PL) || (G95PL == 0) -#define MG96_15PL ~(1 << 4) -#else -#define MG96_15PL 0xFFFF -#endif -#if (G97PL >= G96PL) || (G97PL == 0) -#define MG96_17PL ~(1 << 6) -#else -#define MG96_17PL 0xFFFF -#endif -#if (G98PL >= G96PL) || (G98PL == 0) -#define MG96_18PL ~(1 << 7) -#else -#define MG96_18PL 0xFFFF -#endif -#define MG96_16PL 0x00DF -#define MG96 (MG96_11PL & MG96_12PL & MG96_13PL & MG96_14PL & \ - MG96_15PL & MG96_16PL & MG96_17PL & MG96_18PL) -// End of MG96: - -// Beginning of MG97: -#if (G91PL >= G97PL) || (G91PL == 0) -#define MG97_11PL ~(1) -#else -#define MG97_11PL 0xFFFF -#endif -#if (G92PL >= G97PL) || (G92PL == 0) -#define MG97_12PL ~(1 << 1) -#else -#define MG97_12PL 0xFFFF -#endif -#if (G93PL >= G97PL) || (G93PL == 0) -#define MG97_13PL ~(1 << 2) -#else -#define MG97_13PL 0xFFFF -#endif -#if (G94PL >= G97PL) || (G94PL == 0) -#define MG97_14PL ~(1 << 3) -#else -#define MG97_14PL 0xFFFF -#endif -#if (G95PL >= G97PL) || (G95PL == 0) -#define MG97_15PL ~(1 << 4) -#else -#define MG97_15PL 0xFFFF -#endif -#if (G96PL >= G97PL) || (G96PL == 0) -#define MG97_16PL ~(1 << 5) -#else -#define MG97_16PL 0xFFFF -#endif -#if (G98PL >= G97PL) || (G98PL == 0) -#define MG97_18PL ~(1 << 7) -#else -#define MG97_18PL 0xFFFF -#endif -#define MG97_17PL 0x00BF -#define MG97 (MG97_11PL & MG97_12PL & MG97_13PL & MG97_14PL & \ - MG97_15PL & MG97_16PL & MG97_17PL & MG97_18PL) -// End of MG97: - -// Beginning of MG98: -#if (G91PL >= G98PL) || (G91PL == 0) -#define MG98_11PL ~(1) -#else -#define MG98_11PL 0xFFFF -#endif -#if (G92PL >= G98PL) || (G92PL == 0) -#define MG98_12PL ~(1 << 1) -#else -#define MG98_12PL 0xFFFF -#endif -#if (G93PL >= G98PL) || (G93PL == 0) -#define MG98_13PL ~(1 << 2) -#else -#define MG98_13PL 0xFFFF -#endif -#if (G94PL >= G98PL) || (G94PL == 0) -#define MG98_14PL ~(1 << 3) -#else -#define MG98_14PL 0xFFFF -#endif -#if (G95PL >= G98PL) || (G95PL == 0) -#define MG98_15PL ~(1 << 4) -#else -#define MG98_15PL 0xFFFF -#endif -#if (G96PL >= G98PL) || (G96PL == 0) -#define MG98_16PL ~(1 << 5) -#else -#define MG98_16PL 0xFFFF -#endif -#if (G97PL >= G98PL) || (G97PL == 0) -#define MG98_17PL ~(1 << 6) -#else -#define MG98_17PL 0xFFFF -#endif -#define MG98_18PL 0x007F -#define MG98 (MG98_11PL & MG98_12PL & MG98_13PL & MG98_14PL & \ - MG98_15PL & MG98_16PL & MG98_17PL & MG98_18PL) -// End of MG98: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG101 to MG108: -// - -// Beginning of MG101: -#if (G102PL >= G101PL) || (G102PL == 0) -#define MG101_12PL ~(1 << 1) -#else -#define MG101_12PL 0xFFFF -#endif -#if (G103PL >= G101PL) || (G103PL == 0) -#define MG101_13PL ~(1 << 2) -#else -#define MG101_13PL 0xFFFF -#endif -#if (G104PL >= G101PL) || (G104PL == 0) -#define MG101_14PL ~(1 << 3) -#else -#define MG101_14PL 0xFFFF -#endif -#if (G105PL >= G101PL) || (G105PL == 0) -#define MG101_15PL ~(1 << 4) -#else -#define MG101_15PL 0xFFFF -#endif -#if (G106PL >= G101PL) || (G106PL == 0) -#define MG101_16PL ~(1 << 5) -#else -#define MG101_16PL 0xFFFF -#endif -#if (G107PL >= G101PL) || (G107PL == 0) -#define MG101_17PL ~(1 << 6) -#else -#define MG101_17PL 0xFFFF -#endif -#if (G108PL >= G101PL) || (G108PL == 0) -#define MG101_18PL ~(1 << 7) -#else -#define MG101_18PL 0xFFFF -#endif -#define MG101_11PL 0x00FE -#define MG101 (MG101_11PL & MG101_12PL & MG101_13PL & MG101_14PL & \ - MG101_15PL & MG101_16PL & MG101_17PL & MG101_18PL) -// End of MG101: - -// Beginning of MG102: -#if (G101PL >= G102PL) || (G101PL == 0) -#define MG102_11PL ~(1) -#else -#define MG102_11PL 0xFFFF -#endif -#if (G103PL >= G102PL) || (G103PL == 0) -#define MG102_13PL ~(1 << 2) -#else -#define MG102_13PL 0xFFFF -#endif -#if (G104PL >= G102PL) || (G104PL == 0) -#define MG102_14PL ~(1 << 3) -#else -#define MG102_14PL 0xFFFF -#endif -#if (G105PL >= G102PL) || (G105PL == 0) -#define MG102_15PL ~(1 << 4) -#else -#define MG102_15PL 0xFFFF -#endif -#if (G106PL >= G102PL) || (G106PL == 0) -#define MG102_16PL ~(1 << 5) -#else -#define MG102_16PL 0xFFFF -#endif -#if (G107PL >= G102PL) || (G107PL == 0) -#define MG102_17PL ~(1 << 6) -#else -#define MG102_17PL 0xFFFF -#endif -#if (G108PL >= G102PL) || (G108PL == 0) -#define MG102_18PL ~(1 << 7) -#else -#define MG102_18PL 0xFFFF -#endif -#define MG102_12PL 0x00FD -#define MG102 (MG102_11PL & MG102_12PL & MG102_13PL & MG102_14PL & \ - MG102_15PL & MG102_16PL & MG102_17PL & MG102_18PL) -// End of MG102: - -// Beginning of MG103: -#if (G101PL >= G103PL) || (G101PL == 0) -#define MG103_11PL ~(1) -#else -#define MG103_11PL 0xFFFF -#endif -#if (G102PL >= G103PL) || (G102PL == 0) -#define MG103_12PL ~(1 << 1) -#else -#define MG103_12PL 0xFFFF -#endif -#if (G104PL >= G103PL) || (G104PL == 0) -#define MG103_14PL ~(1 << 3) -#else -#define MG103_14PL 0xFFFF -#endif -#if (G105PL >= G103PL) || (G105PL == 0) -#define MG103_15PL ~(1 << 4) -#else -#define MG103_15PL 0xFFFF -#endif -#if (G106PL >= G103PL) || (G106PL == 0) -#define MG103_16PL ~(1 << 5) -#else -#define MG103_16PL 0xFFFF -#endif -#if (G107PL >= G103PL) || (G107PL == 0) -#define MG103_17PL ~(1 << 6) -#else -#define MG103_17PL 0xFFFF -#endif -#if (G108PL >= G103PL) || (G108PL == 0) -#define MG103_18PL ~(1 << 7) -#else -#define MG103_18PL 0xFFFF -#endif -#define MG103_13PL 0x00FB -#define MG103 (MG103_11PL & MG103_12PL & MG103_13PL & MG103_14PL & \ - MG103_15PL & MG103_16PL & MG103_17PL & MG103_18PL) -// End of MG103: - -// Beginning of MG104: -#if (G101PL >= G104PL) || (G101PL == 0) -#define MG104_11PL ~(1) -#else -#define MG104_11PL 0xFFFF -#endif -#if (G102PL >= G104PL) || (G102PL == 0) -#define MG104_12PL ~(1 << 1) -#else -#define MG104_12PL 0xFFFF -#endif -#if (G103PL >= G104PL) || (G103PL == 0) -#define MG104_13PL ~(1 << 2) -#else -#define MG104_13PL 0xFFFF -#endif -#if (G105PL >= G104PL) || (G105PL == 0) -#define MG104_15PL ~(1 << 4) -#else -#define MG104_15PL 0xFFFF -#endif -#if (G106PL >= G104PL) || (G106PL == 0) -#define MG104_16PL ~(1 << 5) -#else -#define MG104_16PL 0xFFFF -#endif -#if (G107PL >= G104PL) || (G107PL == 0) -#define MG104_17PL ~(1 << 6) -#else -#define MG104_17PL 0xFFFF -#endif -#if (G108PL >= G104PL) || (G108PL == 0) -#define MG104_18PL ~(1 << 7) -#else -#define MG104_18PL 0xFFFF -#endif -#define MG104_14PL 0x00F7 -#define MG104 (MG104_11PL & MG104_12PL & MG104_13PL & MG104_14PL & \ - MG104_15PL & MG104_16PL & MG104_17PL & MG104_18PL) -// End of MG104: - -// Beginning of MG105: -#if (G101PL >= G105PL) || (G101PL == 0) -#define MG105_11PL ~(1) -#else -#define MG105_11PL 0xFFFF -#endif -#if (G102PL >= G105PL) || (G102PL == 0) -#define MG105_12PL ~(1 << 1) -#else -#define MG105_12PL 0xFFFF -#endif -#if (G103PL >= G105PL) || (G103PL == 0) -#define MG105_13PL ~(1 << 2) -#else -#define MG105_13PL 0xFFFF -#endif -#if (G104PL >= G105PL) || (G104PL == 0) -#define MG105_14PL ~(1 << 3) -#else -#define MG105_14PL 0xFFFF -#endif -#if (G106PL >= G105PL) || (G106PL == 0) -#define MG105_16PL ~(1 << 5) -#else -#define MG105_16PL 0xFFFF -#endif -#if (G107PL >= G105PL) || (G107PL == 0) -#define MG105_17PL ~(1 << 6) -#else -#define MG105_17PL 0xFFFF -#endif -#if (G108PL >= G105PL) || (G108PL == 0) -#define MG105_18PL ~(1 << 7) -#else -#define MG105_18PL 0xFFFF -#endif -#define MG105_15PL 0x00EF -#define MG105 (MG105_11PL & MG105_12PL & MG105_13PL & MG105_14PL & \ - MG105_15PL & MG105_16PL & MG105_17PL & MG105_18PL) -// End of MG105: - -// Beginning of MG106: -#if (G101PL >= G106PL) || (G101PL == 0) -#define MG106_11PL ~(1) -#else -#define MG106_11PL 0xFFFF -#endif -#if (G102PL >= G106PL) || (G102PL == 0) -#define MG106_12PL ~(1 << 1) -#else -#define MG106_12PL 0xFFFF -#endif -#if (G103PL >= G106PL) || (G103PL == 0) -#define MG106_13PL ~(1 << 2) -#else -#define MG106_13PL 0xFFFF -#endif -#if (G104PL >= G106PL) || (G104PL == 0) -#define MG106_14PL ~(1 << 3) -#else -#define MG106_14PL 0xFFFF -#endif -#if (G105PL >= G106PL) || (G105PL == 0) -#define MG106_15PL ~(1 << 4) -#else -#define MG106_15PL 0xFFFF -#endif -#if (G107PL >= G106PL) || (G107PL == 0) -#define MG106_17PL ~(1 << 6) -#else -#define MG106_17PL 0xFFFF -#endif -#if (G108PL >= G106PL) || (G108PL == 0) -#define MG106_18PL ~(1 << 7) -#else -#define MG106_18PL 0xFFFF -#endif -#define MG106_16PL 0x00DF -#define MG106 (MG106_11PL & MG106_12PL & MG106_13PL & MG106_14PL & \ - MG106_15PL & MG106_16PL & MG106_17PL & MG106_18PL) -// End of MG106: - -// Beginning of MG107: -#if (G101PL >= G107PL) || (G101PL == 0) -#define MG107_11PL ~(1) -#else -#define MG107_11PL 0xFFFF -#endif -#if (G102PL >= G107PL) || (G102PL == 0) -#define MG107_12PL ~(1 << 1) -#else -#define MG107_12PL 0xFFFF -#endif -#if (G103PL >= G107PL) || (G103PL == 0) -#define MG107_13PL ~(1 << 2) -#else -#define MG107_13PL 0xFFFF -#endif -#if (G104PL >= G107PL) || (G104PL == 0) -#define MG107_14PL ~(1 << 3) -#else -#define MG107_14PL 0xFFFF -#endif -#if (G105PL >= G107PL) || (G105PL == 0) -#define MG107_15PL ~(1 << 4) -#else -#define MG107_15PL 0xFFFF -#endif -#if (G106PL >= G107PL) || (G106PL == 0) -#define MG107_16PL ~(1 << 5) -#else -#define MG107_16PL 0xFFFF -#endif -#if (G108PL >= G107PL) || (G108PL == 0) -#define MG107_18PL ~(1 << 7) -#else -#define MG107_18PL 0xFFFF -#endif -#define MG107_17PL 0x00BF -#define MG107 (MG107_11PL & MG107_12PL & MG107_13PL & MG107_14PL & \ - MG107_15PL & MG107_16PL & MG107_17PL & MG107_18PL) -// End of MG107: - -// Beginning of MG108: -#if (G101PL >= G108PL) || (G101PL == 0) -#define MG108_11PL ~(1) -#else -#define MG108_11PL 0xFFFF -#endif -#if (G102PL >= G108PL) || (G102PL == 0) -#define MG108_12PL ~(1 << 1) -#else -#define MG108_12PL 0xFFFF -#endif -#if (G103PL >= G108PL) || (G103PL == 0) -#define MG108_13PL ~(1 << 2) -#else -#define MG108_13PL 0xFFFF -#endif -#if (G104PL >= G108PL) || (G104PL == 0) -#define MG108_14PL ~(1 << 3) -#else -#define MG108_14PL 0xFFFF -#endif -#if (G105PL >= G108PL) || (G105PL == 0) -#define MG108_15PL ~(1 << 4) -#else -#define MG108_15PL 0xFFFF -#endif -#if (G106PL >= G108PL) || (G106PL == 0) -#define MG108_16PL ~(1 << 5) -#else -#define MG108_16PL 0xFFFF -#endif -#if (G107PL >= G108PL) || (G107PL == 0) -#define MG108_17PL ~(1 << 6) -#else -#define MG108_17PL 0xFFFF -#endif -#define MG108_18PL 0x007F -#define MG108 (MG108_11PL & MG108_12PL & MG108_13PL & MG108_14PL & \ - MG108_15PL & MG108_16PL & MG108_17PL & MG108_18PL) -// End of MG108: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG111 to MG118: -// - -// Beginning of MG111: -#if (G112PL >= G111PL) || (G112PL == 0) -#define MG111_12PL ~(1 << 1) -#else -#define MG111_12PL 0xFFFF -#endif -#if (G113PL >= G111PL) || (G113PL == 0) -#define MG111_13PL ~(1 << 2) -#else -#define MG111_13PL 0xFFFF -#endif -#if (G114PL >= G111PL) || (G114PL == 0) -#define MG111_14PL ~(1 << 3) -#else -#define MG111_14PL 0xFFFF -#endif -#if (G115PL >= G111PL) || (G115PL == 0) -#define MG111_15PL ~(1 << 4) -#else -#define MG111_15PL 0xFFFF -#endif -#if (G116PL >= G111PL) || (G116PL == 0) -#define MG111_16PL ~(1 << 5) -#else -#define MG111_16PL 0xFFFF -#endif -#if (G117PL >= G111PL) || (G117PL == 0) -#define MG111_17PL ~(1 << 6) -#else -#define MG111_17PL 0xFFFF -#endif -#if (G118PL >= G111PL) || (G118PL == 0) -#define MG111_18PL ~(1 << 7) -#else -#define MG111_18PL 0xFFFF -#endif -#define MG111_11PL 0x00FE -#define MG111 (MG111_11PL & MG111_12PL & MG111_13PL & MG111_14PL & \ - MG111_15PL & MG111_16PL & MG111_17PL & MG111_18PL) -// End of MG111: - -// Beginning of MG112: -#if (G111PL >= G112PL) || (G111PL == 0) -#define MG112_11PL ~(1) -#else -#define MG112_11PL 0xFFFF -#endif -#if (G113PL >= G112PL) || (G113PL == 0) -#define MG112_13PL ~(1 << 2) -#else -#define MG112_13PL 0xFFFF -#endif -#if (G114PL >= G112PL) || (G114PL == 0) -#define MG112_14PL ~(1 << 3) -#else -#define MG112_14PL 0xFFFF -#endif -#if (G115PL >= G112PL) || (G115PL == 0) -#define MG112_15PL ~(1 << 4) -#else -#define MG112_15PL 0xFFFF -#endif -#if (G116PL >= G112PL) || (G116PL == 0) -#define MG112_16PL ~(1 << 5) -#else -#define MG112_16PL 0xFFFF -#endif -#if (G117PL >= G112PL) || (G117PL == 0) -#define MG112_17PL ~(1 << 6) -#else -#define MG112_17PL 0xFFFF -#endif -#if (G118PL >= G112PL) || (G118PL == 0) -#define MG112_18PL ~(1 << 7) -#else -#define MG112_18PL 0xFFFF -#endif -#define MG112_12PL 0x00FD -#define MG112 (MG112_11PL & MG112_12PL & MG112_13PL & MG112_14PL & \ - MG112_15PL & MG112_16PL & MG112_17PL & MG112_18PL) -// End of MG112: - -// Beginning of MG113: -#if (G111PL >= G113PL) || (G111PL == 0) -#define MG113_11PL ~(1) -#else -#define MG113_11PL 0xFFFF -#endif -#if (G112PL >= G113PL) || (G112PL == 0) -#define MG113_12PL ~(1 << 1) -#else -#define MG113_12PL 0xFFFF -#endif -#if (G114PL >= G113PL) || (G114PL == 0) -#define MG113_14PL ~(1 << 3) -#else -#define MG113_14PL 0xFFFF -#endif -#if (G115PL >= G113PL) || (G115PL == 0) -#define MG113_15PL ~(1 << 4) -#else -#define MG113_15PL 0xFFFF -#endif -#if (G116PL >= G113PL) || (G116PL == 0) -#define MG113_16PL ~(1 << 5) -#else -#define MG113_16PL 0xFFFF -#endif -#if (G117PL >= G113PL) || (G117PL == 0) -#define MG113_17PL ~(1 << 6) -#else -#define MG113_17PL 0xFFFF -#endif -#if (G118PL >= G113PL) || (G118PL == 0) -#define MG113_18PL ~(1 << 7) -#else -#define MG113_18PL 0xFFFF -#endif -#define MG113_13PL 0x00FB -#define MG113 (MG113_11PL & MG113_12PL & MG113_13PL & MG113_14PL & \ - MG113_15PL & MG113_16PL & MG113_17PL & MG113_18PL) -// End of MG113: - -// Beginning of MG114: -#if (G111PL >= G114PL) || (G111PL == 0) -#define MG114_11PL ~(1) -#else -#define MG114_11PL 0xFFFF -#endif -#if (G112PL >= G114PL) || (G112PL == 0) -#define MG114_12PL ~(1 << 1) -#else -#define MG114_12PL 0xFFFF -#endif -#if (G113PL >= G114PL) || (G113PL == 0) -#define MG114_13PL ~(1 << 2) -#else -#define MG114_13PL 0xFFFF -#endif -#if (G115PL >= G114PL) || (G115PL == 0) -#define MG114_15PL ~(1 << 4) -#else -#define MG114_15PL 0xFFFF -#endif -#if (G116PL >= G114PL) || (G116PL == 0) -#define MG114_16PL ~(1 << 5) -#else -#define MG114_16PL 0xFFFF -#endif -#if (G117PL >= G114PL) || (G117PL == 0) -#define MG114_17PL ~(1 << 6) -#else -#define MG114_17PL 0xFFFF -#endif -#if (G118PL >= G114PL) || (G118PL == 0) -#define MG114_18PL ~(1 << 7) -#else -#define MG114_18PL 0xFFFF -#endif -#define MG114_14PL 0x00F7 -#define MG114 (MG114_11PL & MG114_12PL & MG114_13PL & MG114_14PL & \ - MG114_15PL & MG114_16PL & MG114_17PL & MG114_18PL) -// End of MG114: - -// Beginning of MG115: -#if (G111PL >= G115PL) || (G111PL == 0) -#define MG115_11PL ~(1) -#else -#define MG115_11PL 0xFFFF -#endif -#if (G112PL >= G115PL) || (G112PL == 0) -#define MG115_12PL ~(1 << 1) -#else -#define MG115_12PL 0xFFFF -#endif -#if (G113PL >= G115PL) || (G113PL == 0) -#define MG115_13PL ~(1 << 2) -#else -#define MG115_13PL 0xFFFF -#endif -#if (G114PL >= G115PL) || (G114PL == 0) -#define MG115_14PL ~(1 << 3) -#else -#define MG115_14PL 0xFFFF -#endif -#if (G116PL >= G115PL) || (G116PL == 0) -#define MG115_16PL ~(1 << 5) -#else -#define MG115_16PL 0xFFFF -#endif -#if (G117PL >= G115PL) || (G117PL == 0) -#define MG115_17PL ~(1 << 6) -#else -#define MG115_17PL 0xFFFF -#endif -#if (G118PL >= G115PL) || (G118PL == 0) -#define MG115_18PL ~(1 << 7) -#else -#define MG115_18PL 0xFFFF -#endif -#define MG115_15PL 0x00EF -#define MG115 (MG115_11PL & MG115_12PL & MG115_13PL & MG115_14PL & \ - MG115_15PL & MG115_16PL & MG115_17PL & MG115_18PL) -// End of MG115: - -// Beginning of MG116: -#if (G111PL >= G116PL) || (G111PL == 0) -#define MG116_11PL ~(1) -#else -#define MG116_11PL 0xFFFF -#endif -#if (G112PL >= G116PL) || (G112PL == 0) -#define MG116_12PL ~(1 << 1) -#else -#define MG116_12PL 0xFFFF -#endif -#if (G113PL >= G116PL) || (G113PL == 0) -#define MG116_13PL ~(1 << 2) -#else -#define MG116_13PL 0xFFFF -#endif -#if (G114PL >= G116PL) || (G114PL == 0) -#define MG116_14PL ~(1 << 3) -#else -#define MG116_14PL 0xFFFF -#endif -#if (G115PL >= G116PL) || (G115PL == 0) -#define MG116_15PL ~(1 << 4) -#else -#define MG116_15PL 0xFFFF -#endif -#if (G117PL >= G116PL) || (G117PL == 0) -#define MG116_17PL ~(1 << 6) -#else -#define MG116_17PL 0xFFFF -#endif -#if (G118PL >= G116PL) || (G118PL == 0) -#define MG116_18PL ~(1 << 7) -#else -#define MG116_18PL 0xFFFF -#endif -#define MG116_16PL 0x00DF -#define MG116 (MG116_11PL & MG116_12PL & MG116_13PL & MG116_14PL & \ - MG116_15PL & MG116_16PL & MG116_17PL & MG116_18PL) -// End of MG116: - -// Beginning of MG117: -#if (G111PL >= G117PL) || (G111PL == 0) -#define MG117_11PL ~(1) -#else -#define MG117_11PL 0xFFFF -#endif -#if (G112PL >= G117PL) || (G112PL == 0) -#define MG117_12PL ~(1 << 1) -#else -#define MG117_12PL 0xFFFF -#endif -#if (G113PL >= G117PL) || (G113PL == 0) -#define MG117_13PL ~(1 << 2) -#else -#define MG117_13PL 0xFFFF -#endif -#if (G114PL >= G117PL) || (G114PL == 0) -#define MG117_14PL ~(1 << 3) -#else -#define MG117_14PL 0xFFFF -#endif -#if (G115PL >= G117PL) || (G115PL == 0) -#define MG117_15PL ~(1 << 4) -#else -#define MG117_15PL 0xFFFF -#endif -#if (G116PL >= G117PL) || (G116PL == 0) -#define MG117_16PL ~(1 << 5) -#else -#define MG117_16PL 0xFFFF -#endif -#if (G118PL >= G117PL) || (G118PL == 0) -#define MG117_18PL ~(1 << 7) -#else -#define MG117_18PL 0xFFFF -#endif -#define MG117_17PL 0x00BF -#define MG117 (MG117_11PL & MG117_12PL & MG117_13PL & MG117_14PL & \ - MG117_15PL & MG117_16PL & MG117_17PL & MG117_18PL) -// End of MG117: - -// Beginning of MG118: -#if (G111PL >= G118PL) || (G111PL == 0) -#define MG118_11PL ~(1) -#else -#define MG118_11PL 0xFFFF -#endif -#if (G112PL >= G118PL) || (G112PL == 0) -#define MG118_12PL ~(1 << 1) -#else -#define MG118_12PL 0xFFFF -#endif -#if (G113PL >= G118PL) || (G113PL == 0) -#define MG118_13PL ~(1 << 2) -#else -#define MG118_13PL 0xFFFF -#endif -#if (G114PL >= G118PL) || (G114PL == 0) -#define MG118_14PL ~(1 << 3) -#else -#define MG118_14PL 0xFFFF -#endif -#if (G115PL >= G118PL) || (G115PL == 0) -#define MG118_15PL ~(1 << 4) -#else -#define MG118_15PL 0xFFFF -#endif -#if (G116PL >= G118PL) || (G116PL == 0) -#define MG118_16PL ~(1 << 5) -#else -#define MG118_16PL 0xFFFF -#endif -#if (G117PL >= G118PL) || (G117PL == 0) -#define MG118_17PL ~(1 << 6) -#else -#define MG118_17PL 0xFFFF -#endif -#define MG118_18PL 0x007F -#define MG118 (MG118_11PL & MG118_12PL & MG118_13PL & MG118_14PL & \ - MG118_15PL & MG118_16PL & MG118_17PL & MG118_18PL) -// End of MG118: - -//------------------------------------------------------------------------------- -// Automatically generate PIEIER1 interrupt masks MG121 to MG128: -// - -// Beginning of MG121: -#if (G122PL >= G121PL) || (G122PL == 0) -#define MG121_12PL ~(1 << 1) -#else -#define MG121_12PL 0xFFFF -#endif -#if (G123PL >= G121PL) || (G123PL == 0) -#define MG121_13PL ~(1 << 2) -#else -#define MG121_13PL 0xFFFF -#endif -#if (G124PL >= G121PL) || (G124PL == 0) -#define MG121_14PL ~(1 << 3) -#else -#define MG121_14PL 0xFFFF -#endif -#if (G125PL >= G121PL) || (G125PL == 0) -#define MG121_15PL ~(1 << 4) -#else -#define MG121_15PL 0xFFFF -#endif -#if (G126PL >= G121PL) || (G126PL == 0) -#define MG121_16PL ~(1 << 5) -#else -#define MG121_16PL 0xFFFF -#endif -#if (G127PL >= G121PL) || (G127PL == 0) -#define MG121_17PL ~(1 << 6) -#else -#define MG121_17PL 0xFFFF -#endif -#if (G128PL >= G121PL) || (G128PL == 0) -#define MG121_18PL ~(1 << 7) -#else -#define MG121_18PL 0xFFFF -#endif -#define MG121_11PL 0x00FE -#define MG121 (MG121_11PL & MG121_12PL & MG121_13PL & MG121_14PL & \ - MG121_15PL & MG121_16PL & MG121_17PL & MG121_18PL) -// End of MG121: - -// Beginning of MG121: -#if (G121PL >= G122PL) || (G121PL == 0) -#define MG122_11PL ~(1) -#else -#define MG122_11PL 0xFFFF -#endif -#if (G123PL >= G122PL) || (G123PL == 0) -#define MG122_13PL ~(1 << 2) -#else -#define MG122_13PL 0xFFFF -#endif -#if (G124PL >= G122PL) || (G124PL == 0) -#define MG122_14PL ~(1 << 3) -#else -#define MG122_14PL 0xFFFF -#endif -#if (G125PL >= G122PL) || (G125PL == 0) -#define MG122_15PL ~(1 << 4) -#else -#define MG122_15PL 0xFFFF -#endif -#if (G126PL >= G122PL) || (G126PL == 0) -#define MG122_16PL ~(1 << 5) -#else -#define MG122_16PL 0xFFFF -#endif -#if (G127PL >= G122PL) || (G127PL == 0) -#define MG122_17PL ~(1 << 6) -#else -#define MG122_17PL 0xFFFF -#endif -#if (G128PL >= G122PL) || (G128PL == 0) -#define MG122_18PL ~(1 << 7) -#else -#define MG122_18PL 0xFFFF -#endif -#define MG122_12PL 0x00FD -#define MG122 (MG122_11PL & MG122_12PL & MG122_13PL & MG122_14PL & \ - MG122_15PL & MG122_16PL & MG122_17PL & MG122_18PL) -// End of MG122: - -// Beginning of MG123: -#if (G121PL >= G123PL) || (G121PL == 0) -#define MG123_11PL ~(1) -#else -#define MG123_11PL 0xFFFF -#endif -#if (G122PL >= G123PL) || (G122PL == 0) -#define MG123_12PL ~(1 << 1) -#else -#define MG123_12PL 0xFFFF -#endif -#if (G124PL >= G123PL) || (G124PL == 0) -#define MG123_14PL ~(1 << 3) -#else -#define MG123_14PL 0xFFFF -#endif -#if (G125PL >= G123PL) || (G125PL == 0) -#define MG123_15PL ~(1 << 4) -#else -#define MG123_15PL 0xFFFF -#endif -#if (G126PL >= G123PL) || (G126PL == 0) -#define MG123_16PL ~(1 << 5) -#else -#define MG123_16PL 0xFFFF -#endif -#if (G127PL >= G123PL) || (G127PL == 0) -#define MG123_17PL ~(1 << 6) -#else -#define MG123_17PL 0xFFFF -#endif -#if (G128PL >= G123PL) || (G128PL == 0) -#define MG123_18PL ~(1 << 7) -#else -#define MG123_18PL 0xFFFF -#endif -#define MG123_13PL 0x00FB -#define MG123 (MG123_11PL & MG123_12PL & MG123_13PL & MG123_14PL & \ - MG123_15PL & MG123_16PL & MG123_17PL & MG123_18PL) -// End of MG123: - -// Beginning of MG124: -#if (G121PL >= G124PL) || (G121PL == 0) -#define MG124_11PL ~(1) -#else -#define MG124_11PL 0xFFFF -#endif -#if (G122PL >= G124PL) || (G122PL == 0) -#define MG124_12PL ~(1 << 1) -#else -#define MG124_12PL 0xFFFF -#endif -#if (G123PL >= G124PL) || (G123PL == 0) -#define MG124_13PL ~(1 << 2) -#else -#define MG124_13PL 0xFFFF -#endif -#if (G125PL >= G124PL) || (G125PL == 0) -#define MG124_15PL ~(1 << 4) -#else -#define MG124_15PL 0xFFFF -#endif -#if (G126PL >= G124PL) || (G126PL == 0) -#define MG124_16PL ~(1 << 5) -#else -#define MG124_16PL 0xFFFF -#endif -#if (G127PL >= G124PL) || (G127PL == 0) -#define MG124_17PL ~(1 << 6) -#else -#define MG124_17PL 0xFFFF -#endif -#if (G128PL >= G124PL) || (G128PL == 0) -#define MG124_18PL ~(1 << 7) -#else -#define MG124_18PL 0xFFFF -#endif -#define MG124_14PL 0x00F7 -#define MG124 (MG124_11PL & MG124_12PL & MG124_13PL & MG124_14PL & \ - MG124_15PL & MG124_16PL & MG124_17PL & MG124_18PL) -// End of MG124: - -// Beginning of MG125: -#if (G121PL >= G125PL) || (G121PL == 0) -#define MG125_11PL ~(1) -#else -#define MG125_11PL 0xFFFF -#endif -#if (G122PL >= G125PL) || (G122PL == 0) -#define MG125_12PL ~(1 << 1) -#else -#define MG125_12PL 0xFFFF -#endif -#if (G123PL >= G125PL) || (G123PL == 0) -#define MG125_13PL ~(1 << 2) -#else -#define MG125_13PL 0xFFFF -#endif -#if (G124PL >= G125PL) || (G124PL == 0) -#define MG125_14PL ~(1 << 3) -#else -#define MG125_14PL 0xFFFF -#endif -#if (G126PL >= G125PL) || (G126PL == 0) -#define MG125_16PL ~(1 << 5) -#else -#define MG125_16PL 0xFFFF -#endif -#if (G127PL >= G125PL) || (G127PL == 0) -#define MG125_17PL ~(1 << 6) -#else -#define MG125_17PL 0xFFFF -#endif -#if (G128PL >= G125PL) || (G128PL == 0) -#define MG125_18PL ~(1 << 7) -#else -#define MG125_18PL 0xFFFF -#endif -#define MG125_15PL 0x00EF -#define MG125 (MG125_11PL & MG125_12PL & MG125_13PL & MG125_14PL & \ - MG125_15PL & MG125_16PL & MG125_17PL & MG125_18PL) -// End of MG125: - -// Beginning of MG126: -#if (G121PL >= G126PL) || (G121PL == 0) -#define MG126_11PL ~(1) -#else -#define MG126_11PL 0xFFFF -#endif -#if (G122PL >= G126PL) || (G122PL == 0) -#define MG126_12PL ~(1 << 1) -#else -#define MG126_12PL 0xFFFF -#endif -#if (G123PL >= G126PL) || (G123PL == 0) -#define MG126_13PL ~(1 << 2) -#else -#define MG126_13PL 0xFFFF -#endif -#if (G124PL >= G126PL) || (G124PL == 0) -#define MG126_14PL ~(1 << 3) -#else -#define MG126_14PL 0xFFFF -#endif -#if (G125PL >= G126PL) || (G125PL == 0) -#define MG126_15PL ~(1 << 4) -#else -#define MG126_15PL 0xFFFF -#endif -#if (G127PL >= G126PL) || (G127PL == 0) -#define MG126_17PL ~(1 << 6) -#else -#define MG126_17PL 0xFFFF -#endif -#if (G128PL >= G126PL) || (G128PL == 0) -#define MG126_18PL ~(1 << 7) -#else -#define MG126_18PL 0xFFFF -#endif -#define MG126_16PL 0x00DF -#define MG126 (MG126_11PL & MG126_12PL & MG126_13PL & MG126_14PL & \ - MG126_15PL & MG126_16PL & MG126_17PL & MG126_18PL) -// End of MG126: - -// Beginning of MG127: -#if (G121PL >= G127PL) || (G121PL == 0) -#define MG127_11PL ~(1) -#else -#define MG127_11PL 0xFFFF -#endif -#if (G122PL >= G127PL) || (G122PL == 0) -#define MG127_12PL ~(1 << 1) -#else -#define MG127_12PL 0xFFFF -#endif -#if (G123PL >= G127PL) || (G123PL == 0) -#define MG127_13PL ~(1 << 2) -#else -#define MG127_13PL 0xFFFF -#endif -#if (G124PL >= G127PL) || (G124PL == 0) -#define MG127_14PL ~(1 << 3) -#else -#define MG127_14PL 0xFFFF -#endif -#if (G125PL >= G127PL) || (G125PL == 0) -#define MG127_15PL ~(1 << 4) -#else -#define MG127_15PL 0xFFFF -#endif -#if (G126PL >= G127PL) || (G126PL == 0) -#define MG127_16PL ~(1 << 5) -#else -#define MG127_16PL 0xFFFF -#endif -#if (G128PL >= G127PL) || (G128PL == 0) -#define MG127_18PL ~(1 << 7) -#else -#define MG127_18PL 0xFFFF -#endif -#define MG127_17PL 0x00BF -#define MG127 (MG127_11PL & MG127_12PL & MG127_13PL & MG127_14PL & \ - MG127_15PL & MG127_16PL & MG127_17PL & MG127_18PL) -// End of MG127: - -// Beginning of MG128: -#if (G121PL >= G128PL) || (G121PL == 0) -#define MG128_11PL ~(1) -#else -#define MG128_11PL 0xFFFF -#endif -#if (G122PL >= G128PL) || (G122PL == 0) -#define MG128_12PL ~(1 << 1) -#else -#define MG128_12PL 0xFFFF -#endif -#if (G123PL >= G128PL) || (G123PL == 0) -#define MG128_13PL ~(1 << 2) -#else -#define MG128_13PL 0xFFFF -#endif -#if (G124PL >= G128PL) || (G124PL == 0) -#define MG128_14PL ~(1 << 3) -#else -#define MG128_14PL 0xFFFF -#endif -#if (G125PL >= G128PL) || (G125PL == 0) -#define MG128_15PL ~(1 << 4) -#else -#define MG128_15PL 0xFFFF -#endif -#if (G126PL >= G128PL) || (G126PL == 0) -#define MG128_16PL ~(1 << 5) -#else -#define MG128_16PL 0xFFFF -#endif -#if (G127PL >= G128PL) || (G127PL == 0) -#define MG128_17PL ~(1 << 6) -#else -#define MG128_17PL 0xFFFF -#endif -#define MG128_18PL 0x007F -#define MG128 (MG128_11PL & MG128_12PL & MG128_13PL & MG128_14PL & \ - MG128_15PL & MG128_16PL & MG128_17PL & MG128_18PL) -// End of MG128: - - -#ifdef __cplusplus -} -#endif /* extern "C" */ - -#endif // eof - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/include/IQmathLib.h b/Source/External/v120/DSP2833x_common/include/IQmathLib.h deleted file mode 100644 index b62ddf8..0000000 --- a/Source/External/v120/DSP2833x_common/include/IQmathLib.h +++ /dev/null @@ -1,4493 +0,0 @@ -// TI File $Revision: /main/2 $ -// Checkin $Date: July 10, 2008 10:59:52 $ -//########################################################################### -// -// FILE: IQmathLib.h -// -// TITLE: IQ Math library functions definitions. -// -//########################################################################### -// -// Ver | dd-mmm-yyyy | Who | Description of changes -// =====|=============|=======|============================================== -// 1.3 | 19 Nov 2001 | A. T. | Original Release. -// -----|-------------|-------|---------------------------------------------- -// 1.4 | 17 May 2002 | A. T. | Added new functions and support for -// | | | intrinsics IQmpy, IQxmpy, IQsat. -// -----|-------------|-------|---------------------------------------------- -// 1.4a| 12 Jun 2002 | A. T. | Fixed problem with _IQ() operation on -// | | | variables. -// -----|-------------|-------|---------------------------------------------- -// 1.4b| 18 Jun 2002 | A. T. | Fixed bug with _IQtoIQN() and _IQNtoIQ() -// | | | operations. -// -----|-------------|-------|---------------------------------------------- -// 1.4d| 30 Mar 2003 | DA/SD | 1. Added macro parameters in parentheses -// | | | in number of places where it matters -// | | | 2. Added macro definition to include header -// | | | file multiple times in the program. -// -----|-------------|-------|---------------------------------------------- -// 1.4e| 17 Jun 2004 | AT/DA | Added IQexp function. -// | | | Added IQasin & IQacos functions (thanks DA). -// -----|-------------|-------|---------------------------------------------- -// 1.4f| 10 Mar 2005 | AT | Fixed Bug In IQexp function. -// -----|-------------|-------|---------------------------------------------- -// 1.5 | 30 Jan 2008 | LH | 1. Changed the definion of the _IQatan2PU(A,B) -// | | | macro for FLOAT_MATH so that a call to -// | | | divide will not occur. -// | | | 2. If MATH_TYPE == FLOAT_MATH, then include the -// | | | following standard headers: math.h -// | | | stdlib.h. -// | | | 3. Added missing #defines for the non-global -// | | | _IQatanN() function -// | | | 4. Adding missing definitions for absolute -// | | | value when MATH_TYPE == FLOAT_MATH -// | | | 5. Included limits.h and changed the definition -// | | | of MAX_IQ_NEG to LONG_MIN and MAX_IQ_POS -// | | | to LONG_MAX -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -// -// User needs to configure "MATH_TYPE" and "GLOBAL_Q" values: -// -//--------------------------------------------------------------------------- -// Select math type, IQ_MATH or FLOAT_MATH: -// - -#ifndef __IQMATHLIB_H_INCLUDED__ -#define __IQMATHLIB_H_INCLUDED__ - - -#define FLOAT_MATH 1 -#define IQ_MATH 0 - -#ifndef MATH_TYPE -#define MATH_TYPE IQ_MATH -#endif - -//--------------------------------------------------------------------------- -// Select global Q value and scaling. The Q value is limited to the -// following range for all functions: -// -// 30 <= GLOBAL_Q <= 1 -// -#ifndef GLOBAL_Q -#define GLOBAL_Q 24 -#endif - -//--------------------------------------------------------------------------- -// If using FLOAT_MATH, include standard headers to avoid conversion issues -// -#if MATH_TYPE == FLOAT_MATH -#include -#include -#endif -#include - -//--------------------------------------------------------------------------- -// Various Usefull Constant Definitions: -// -#define QG GLOBAL_Q -#define Q30 30 -#define Q29 29 -#define Q28 28 -#define Q27 27 -#define Q26 26 -#define Q25 25 -#define Q24 24 -#define Q23 23 -#define Q22 22 -#define Q21 21 -#define Q20 20 -#define Q19 19 -#define Q18 18 -#define Q17 17 -#define Q16 16 -#define Q15 15 -#define Q14 14 -#define Q13 13 -#define Q12 12 -#define Q11 11 -#define Q10 10 -#define Q9 9 -#define Q8 8 -#define Q7 7 -#define Q6 6 -#define Q5 5 -#define Q4 4 -#define Q3 3 -#define Q2 2 -#define Q1 1 - -#define MAX_IQ_POS LONG_MAX -#define MAX_IQ_NEG LONG_MIN -#define MIN_IQ_POS 1 -#define MIN_IQ_NEG -1 - -//########################################################################### -#if MATH_TYPE == IQ_MATH -//########################################################################### -// If IQ_MATH is used, the following IQmath library function definitions -// are used: -//=========================================================================== -typedef long _iq; -typedef long _iq30; -typedef long _iq29; -typedef long _iq28; -typedef long _iq27; -typedef long _iq26; -typedef long _iq25; -typedef long _iq24; -typedef long _iq23; -typedef long _iq22; -typedef long _iq21; -typedef long _iq20; -typedef long _iq19; -typedef long _iq18; -typedef long _iq17; -typedef long _iq16; -typedef long _iq15; -typedef long _iq14; -typedef long _iq13; -typedef long _iq12; -typedef long _iq11; -typedef long _iq10; -typedef long _iq9; -typedef long _iq8; -typedef long _iq7; -typedef long _iq6; -typedef long _iq5; -typedef long _iq4; -typedef long _iq3; -typedef long _iq2; -typedef long _iq1; -//--------------------------------------------------------------------------- -#define _IQ30(A) (long) ((A) * 1073741824.0L) -#define _IQ29(A) (long) ((A) * 536870912.0L) -#define _IQ28(A) (long) ((A) * 268435456.0L) -#define _IQ27(A) (long) ((A) * 134217728.0L) -#define _IQ26(A) (long) ((A) * 67108864.0L) -#define _IQ25(A) (long) ((A) * 33554432.0L) -#define _IQ24(A) (long) ((A) * 16777216.0L) -#define _IQ23(A) (long) ((A) * 8388608.0L) -#define _IQ22(A) (long) ((A) * 4194304.0L) -#define _IQ21(A) (long) ((A) * 2097152.0L) -#define _IQ20(A) (long) ((A) * 1048576.0L) -#define _IQ19(A) (long) ((A) * 524288.0L) -#define _IQ18(A) (long) ((A) * 262144.0L) -#define _IQ17(A) (long) ((A) * 131072.0L) -#define _IQ16(A) (long) ((A) * 65536.0L) -#define _IQ15(A) (long) ((A) * 32768.0L) -#define _IQ14(A) (long) ((A) * 16384.0L) -#define _IQ13(A) (long) ((A) * 8192.0L) -#define _IQ12(A) (long) ((A) * 4096.0L) -#define _IQ11(A) (long) ((A) * 2048.0L) -#define _IQ10(A) (long) ((A) * 1024.0L) -#define _IQ9(A) (long) ((A) * 512.0L) -#define _IQ8(A) (long) ((A) * 256.0L) -#define _IQ7(A) (long) ((A) * 128.0L) -#define _IQ6(A) (long) ((A) * 64.0L) -#define _IQ5(A) (long) ((A) * 32.0L) -#define _IQ4(A) (long) ((A) * 16.0L) -#define _IQ3(A) (long) ((A) * 8.0L) -#define _IQ2(A) (long) ((A) * 4.0L) -#define _IQ1(A) (long) ((A) * 2.0L) - -#if GLOBAL_Q == 30 -#define _IQ(A) _IQ30(A) -#endif -#if GLOBAL_Q == 29 -#define _IQ(A) _IQ29(A) -#endif -#if GLOBAL_Q == 28 -#define _IQ(A) _IQ28(A) -#endif -#if GLOBAL_Q == 27 -#define _IQ(A) _IQ27(A) -#endif -#if GLOBAL_Q == 26 -#define _IQ(A) _IQ26(A) -#endif -#if GLOBAL_Q == 25 -#define _IQ(A) _IQ25(A) -#endif -#if GLOBAL_Q == 24 -#define _IQ(A) _IQ24(A) -#endif -#if GLOBAL_Q == 23 -#define _IQ(A) _IQ23(A) -#endif -#if GLOBAL_Q == 22 -#define _IQ(A) _IQ22(A) -#endif -#if GLOBAL_Q == 21 -#define _IQ(A) _IQ21(A) -#endif -#if GLOBAL_Q == 20 -#define _IQ(A) _IQ20(A) -#endif -#if GLOBAL_Q == 19 -#define _IQ(A) _IQ19(A) -#endif -#if GLOBAL_Q == 18 -#define _IQ(A) _IQ18(A) -#endif -#if GLOBAL_Q == 17 -#define _IQ(A) _IQ17(A) -#endif -#if GLOBAL_Q == 16 -#define _IQ(A) _IQ16(A) -#endif -#if GLOBAL_Q == 15 -#define _IQ(A) _IQ15(A) -#endif -#if GLOBAL_Q == 14 -#define _IQ(A) _IQ14(A) -#endif -#if GLOBAL_Q == 13 -#define _IQ(A) _IQ13(A) -#endif -#if GLOBAL_Q == 12 -#define _IQ(A) _IQ12(A) -#endif -#if GLOBAL_Q == 11 -#define _IQ(A) _IQ11(A) -#endif -#if GLOBAL_Q == 10 -#define _IQ(A) _IQ10(A) -#endif -#if GLOBAL_Q == 9 -#define _IQ(A) _IQ9(A) -#endif -#if GLOBAL_Q == 8 -#define _IQ(A) _IQ8(A) -#endif -#if GLOBAL_Q == 7 -#define _IQ(A) _IQ7(A) -#endif -#if GLOBAL_Q == 6 -#define _IQ(A) _IQ6(A) -#endif -#if GLOBAL_Q == 5 -#define _IQ(A) _IQ5(A) -#endif -#if GLOBAL_Q == 4 -#define _IQ(A) _IQ4(A) -#endif -#if GLOBAL_Q == 3 -#define _IQ(A) _IQ3(A) -#endif -#if GLOBAL_Q == 2 -#define _IQ(A) _IQ2(A) -#endif -#if GLOBAL_Q == 1 -#define _IQ(A) _IQ1(A) -#endif -//--------------------------------------------------------------------------- -extern float _IQ30toF(long A); -extern float _IQ29toF(long A); -extern float _IQ28toF(long A); -extern float _IQ27toF(long A); -extern float _IQ26toF(long A); -extern float _IQ25toF(long A); -extern float _IQ24toF(long A); -extern float _IQ23toF(long A); -extern float _IQ22toF(long A); -extern float _IQ21toF(long A); -extern float _IQ20toF(long A); -extern float _IQ19toF(long A); -extern float _IQ18toF(long A); -extern float _IQ17toF(long A); -extern float _IQ16toF(long A); -extern float _IQ15toF(long A); -extern float _IQ14toF(long A); -extern float _IQ13toF(long A); -extern float _IQ12toF(long A); -extern float _IQ11toF(long A); -extern float _IQ10toF(long A); -extern float _IQ9toF(long A); -extern float _IQ8toF(long A); -extern float _IQ7toF(long A); -extern float _IQ6toF(long A); -extern float _IQ5toF(long A); -extern float _IQ4toF(long A); -extern float _IQ3toF(long A); -extern float _IQ2toF(long A); -extern float _IQ1toF(long A); - -#if GLOBAL_Q == 30 -#define _IQtoF(A) _IQ30toF(A) -#endif -#if GLOBAL_Q == 29 -#define _IQtoF(A) _IQ29toF(A) -#endif -#if GLOBAL_Q == 28 -#define _IQtoF(A) _IQ28toF(A) -#endif -#if GLOBAL_Q == 27 -#define _IQtoF(A) _IQ27toF(A) -#endif -#if GLOBAL_Q == 26 -#define _IQtoF(A) _IQ26toF(A) -#endif -#if GLOBAL_Q == 25 -#define _IQtoF(A) _IQ25toF(A) -#endif -#if GLOBAL_Q == 24 -#define _IQtoF(A) _IQ24toF(A) -#endif -#if GLOBAL_Q == 23 -#define _IQtoF(A) _IQ23toF(A) -#endif -#if GLOBAL_Q == 22 -#define _IQtoF(A) _IQ22toF(A) -#endif -#if GLOBAL_Q == 21 -#define _IQtoF(A) _IQ21toF(A) -#endif -#if GLOBAL_Q == 20 -#define _IQtoF(A) _IQ20toF(A) -#endif -#if GLOBAL_Q == 19 -#define _IQtoF(A) _IQ19toF(A) -#endif -#if GLOBAL_Q == 18 -#define _IQtoF(A) _IQ18toF(A) -#endif -#if GLOBAL_Q == 17 -#define _IQtoF(A) _IQ17toF(A) -#endif -#if GLOBAL_Q == 16 -#define _IQtoF(A) _IQ16toF(A) -#endif -#if GLOBAL_Q == 15 -#define _IQtoF(A) _IQ15toF(A) -#endif -#if GLOBAL_Q == 14 -#define _IQtoF(A) _IQ14toF(A) -#endif -#if GLOBAL_Q == 13 -#define _IQtoF(A) _IQ13toF(A) -#endif -#if GLOBAL_Q == 12 -#define _IQtoF(A) _IQ12toF(A) -#endif -#if GLOBAL_Q == 11 -#define _IQtoF(A) _IQ11toF(A) -#endif -#if GLOBAL_Q == 10 -#define _IQtoF(A) _IQ10toF(A) -#endif -#if GLOBAL_Q == 9 -#define _IQtoF(A) _IQ9toF(A) -#endif -#if GLOBAL_Q == 8 -#define _IQtoF(A) _IQ8toF(A) -#endif -#if GLOBAL_Q == 7 -#define _IQtoF(A) _IQ7toF(A) -#endif -#if GLOBAL_Q == 6 -#define _IQtoF(A) _IQ6toF(A) -#endif -#if GLOBAL_Q == 5 -#define _IQtoF(A) _IQ5toF(A) -#endif -#if GLOBAL_Q == 4 -#define _IQtoF(A) _IQ4toF(A) -#endif -#if GLOBAL_Q == 3 -#define _IQtoF(A) _IQ3toF(A) -#endif -#if GLOBAL_Q == 2 -#define _IQtoF(A) _IQ2toF(A) -#endif -#if GLOBAL_Q == 1 -#define _IQtoF(A) _IQ1toF(A) -#endif -//--------------------------------------------------------------------------- -#define _IQsat(A, Pos, Neg) __IQsat(A, Pos, Neg) -//--------------------------------------------------------------------------- -#define _IQtoIQ30(A) ((long) (A) << (30 - GLOBAL_Q)) -#define _IQ30toIQ(A) ((long) (A) >> (30 - GLOBAL_Q)) - -#if (GLOBAL_Q >= 29) -#define _IQtoIQ29(A) ((long) (A) >> (GLOBAL_Q - 29)) -#define _IQ29toIQ(A) ((long) (A) << (GLOBAL_Q - 29)) -#else -#define _IQtoIQ29(A) ((long) (A) << (29 - GLOBAL_Q)) -#define _IQ29toIQ(A) ((long) (A) >> (29 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 28) -#define _IQtoIQ28(A) ((long) (A) >> (GLOBAL_Q - 28)) -#define _IQ28toIQ(A) ((long) (A) << (GLOBAL_Q - 28)) -#else -#define _IQtoIQ28(A) ((long) (A) << (28 - GLOBAL_Q)) -#define _IQ28toIQ(A) ((long) (A) >> (28 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 27) -#define _IQtoIQ27(A) ((long) (A) >> (GLOBAL_Q - 27)) -#define _IQ27toIQ(A) ((long) (A) << (GLOBAL_Q - 27)) -#else -#define _IQtoIQ27(A) ((long) (A) << (27 - GLOBAL_Q)) -#define _IQ27toIQ(A) ((long) (A) >> (27 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 26) -#define _IQtoIQ26(A) ((long) (A) >> (GLOBAL_Q - 26)) -#define _IQ26toIQ(A) ((long) (A) << (GLOBAL_Q - 26)) -#else -#define _IQtoIQ26(A) ((long) (A) << (26 - GLOBAL_Q)) -#define _IQ26toIQ(A) ((long) (A) >> (26 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 25) -#define _IQtoIQ25(A) ((long) (A) >> (GLOBAL_Q - 25)) -#define _IQ25toIQ(A) ((long) (A) << (GLOBAL_Q - 25)) -#else -#define _IQtoIQ25(A) ((long) (A) << (25 - GLOBAL_Q)) -#define _IQ25toIQ(A) ((long) (A) >> (25 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 24) -#define _IQtoIQ24(A) ((long) (A) >> (GLOBAL_Q - 24)) -#define _IQ24toIQ(A) ((long) (A) << (GLOBAL_Q - 24)) -#else -#define _IQtoIQ24(A) ((long) (A) << (24 - GLOBAL_Q)) -#define _IQ24toIQ(A) ((long) (A) >> (24 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 23) -#define _IQtoIQ23(A) ((long) (A) >> (GLOBAL_Q - 23)) -#define _IQ23toIQ(A) ((long) (A) << (GLOBAL_Q - 23)) -#else -#define _IQtoIQ23(A) ((long) (A) << (23 - GLOBAL_Q)) -#define _IQ23toIQ(A) ((long) (A) >> (23 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 22) -#define _IQtoIQ22(A) ((long) (A) >> (GLOBAL_Q - 22)) -#define _IQ22toIQ(A) ((long) (A) << (GLOBAL_Q - 22)) -#else -#define _IQtoIQ22(A) ((long) (A) << (22 - GLOBAL_Q)) -#define _IQ22toIQ(A) ((long) (A) >> (22 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 21) -#define _IQtoIQ21(A) ((long) (A) >> (GLOBAL_Q - 21)) -#define _IQ21toIQ(A) ((long) (A) << (GLOBAL_Q - 21)) -#else -#define _IQtoIQ21(A) ((long) (A) << (21 - GLOBAL_Q)) -#define _IQ21toIQ(A) ((long) (A) >> (21 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 20) -#define _IQtoIQ20(A) ((long) (A) >> (GLOBAL_Q - 20)) -#define _IQ20toIQ(A) ((long) (A) << (GLOBAL_Q - 20)) -#else -#define _IQtoIQ20(A) ((long) (A) << (20 - GLOBAL_Q)) -#define _IQ20toIQ(A) ((long) (A) >> (20 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 19) -#define _IQtoIQ19(A) ((long) (A) >> (GLOBAL_Q - 19)) -#define _IQ19toIQ(A) ((long) (A) << (GLOBAL_Q - 19)) -#else -#define _IQtoIQ19(A) ((long) (A) << (19 - GLOBAL_Q)) -#define _IQ19toIQ(A) ((long) (A) >> (19 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 18) -#define _IQtoIQ18(A) ((long) (A) >> (GLOBAL_Q - 18)) -#define _IQ18toIQ(A) ((long) (A) << (GLOBAL_Q - 18)) -#else -#define _IQtoIQ18(A) ((long) (A) << (18 - GLOBAL_Q)) -#define _IQ18toIQ(A) ((long) (A) >> (18 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 17) -#define _IQtoIQ17(A) ((long) (A) >> (GLOBAL_Q - 17)) -#define _IQ17toIQ(A) ((long) (A) << (GLOBAL_Q - 17)) -#else -#define _IQtoIQ17(A) ((long) (A) << (17 - GLOBAL_Q)) -#define _IQ17toIQ(A) ((long) (A) >> (17 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 16) -#define _IQtoIQ16(A) ((long) (A) >> (GLOBAL_Q - 16)) -#define _IQ16toIQ(A) ((long) (A) << (GLOBAL_Q - 16)) -#else -#define _IQtoIQ16(A) ((long) (A) << (16 - GLOBAL_Q)) -#define _IQ16toIQ(A) ((long) (A) >> (16 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 15) -#define _IQtoIQ15(A) ((long) (A) >> (GLOBAL_Q - 15)) -#define _IQ15toIQ(A) ((long) (A) << (GLOBAL_Q - 15)) -#define _IQtoQ15(A) ((long) (A) >> (GLOBAL_Q - 15)) -#define _Q15toIQ(A) ((long) (A) << (GLOBAL_Q - 15)) -#else -#define _IQtoIQ15(A) ((long) (A) << (15 - GLOBAL_Q)) -#define _IQ15toIQ(A) ((long) (A) >> (15 - GLOBAL_Q)) -#define _IQtoQ15(A) ((long) (A) << (15 - GLOBAL_Q)) -#define _Q15toIQ(A) ((long) (A) >> (15 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 14) -#define _IQtoIQ14(A) ((long) (A) >> (GLOBAL_Q - 14)) -#define _IQ14toIQ(A) ((long) (A) << (GLOBAL_Q - 14)) -#define _IQtoQ14(A) ((long) (A) >> (GLOBAL_Q - 14)) -#define _Q14toIQ(A) ((long) (A) << (GLOBAL_Q - 14)) -#else -#define _IQtoIQ14(A) ((long) (A) << (14 - GLOBAL_Q)) -#define _IQ14toIQ(A) ((long) (A) >> (14 - GLOBAL_Q)) -#define _IQtoQ14(A) ((long) (A) << (14 - GLOBAL_Q)) -#define _Q14toIQ(A) ((long) (A) >> (14 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 13) -#define _IQtoIQ13(A) ((long) (A) >> (GLOBAL_Q - 13)) -#define _IQ13toIQ(A) ((long) (A) << (GLOBAL_Q - 13)) -#define _IQtoQ13(A) ((long) (A) >> (GLOBAL_Q - 13)) -#define _Q13toIQ(A) ((long) (A) << (GLOBAL_Q - 13)) -#else -#define _IQtoIQ13(A) ((long) (A) << (13 - GLOBAL_Q)) -#define _IQ13toIQ(A) ((long) (A) >> (13 - GLOBAL_Q)) -#define _IQtoQ13(A) ((long) (A) << (13 - GLOBAL_Q)) -#define _Q13toIQ(A) ((long) (A) >> (13 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 12) -#define _IQtoIQ12(A) ((long) (A) >> (GLOBAL_Q - 12)) -#define _IQ12toIQ(A) ((long) (A) << (GLOBAL_Q - 12)) -#define _IQtoQ12(A) ((long) (A) >> (GLOBAL_Q - 12)) -#define _Q12toIQ(A) ((long) (A) << (GLOBAL_Q - 12)) -#else -#define _IQtoIQ12(A) ((long) (A) << (12 - GLOBAL_Q)) -#define _IQ12toIQ(A) ((long) (A) >> (12 - GLOBAL_Q)) -#define _IQtoQ12(A) ((long) (A) << (12 - GLOBAL_Q)) -#define _Q12toIQ(A) ((long) (A) >> (12 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 11) -#define _IQtoIQ11(A) ((long) (A) >> (GLOBAL_Q - 11)) -#define _IQ11toIQ(A) ((long) (A) << (GLOBAL_Q - 11)) -#define _IQtoQ11(A) ((long) (A) >> (GLOBAL_Q - 11)) -#define _Q11toIQ(A) ((long) (A) << (GLOBAL_Q - 11)) -#else -#define _IQtoIQ11(A) ((long) (A) << (11 - GLOBAL_Q)) -#define _IQ11toIQ(A) ((long) (A) >> (11 - GLOBAL_Q)) -#define _IQtoQ11(A) ((long) (A) << (11 - GLOBAL_Q)) -#define _Q11toIQ(A) ((long) (A) >> (11 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 10) -#define _IQtoIQ10(A) ((long) (A) >> (GLOBAL_Q - 10)) -#define _IQ10toIQ(A) ((long) (A) << (GLOBAL_Q - 10)) -#define _IQtoQ10(A) ((long) (A) >> (GLOBAL_Q - 10)) -#define _Q10toIQ(A) ((long) (A) << (GLOBAL_Q - 10)) -#else -#define _IQtoIQ10(A) ((long) (A) << (10 - GLOBAL_Q)) -#define _IQ10toIQ(A) ((long) (A) >> (10 - GLOBAL_Q)) -#define _IQtoQ10(A) ((long) (A) << (10 - GLOBAL_Q)) -#define _Q10toIQ(A) ((long) (A) >> (10 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 9) -#define _IQtoIQ9(A) ((long) (A) >> (GLOBAL_Q - 9)) -#define _IQ9toIQ(A) ((long) (A) << (GLOBAL_Q - 9)) -#define _IQtoQ9(A) ((long) (A) >> (GLOBAL_Q - 9)) -#define _Q9toIQ(A) ((long) (A) << (GLOBAL_Q - 9)) -#else -#define _IQtoIQ9(A) ((long) (A) << (9 - GLOBAL_Q)) -#define _IQ9toIQ(A) ((long) (A) >> (9 - GLOBAL_Q)) -#define _IQtoQ9(A) ((long) (A) << (9 - GLOBAL_Q)) -#define _Q9toIQ(A) ((long) (A) >> (9 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 8) -#define _IQtoIQ8(A) ((long) (A) >> (GLOBAL_Q - 8)) -#define _IQ8toIQ(A) ((long) (A) << (GLOBAL_Q - 8)) -#define _IQtoQ8(A) ((long) (A) >> (GLOBAL_Q - 8)) -#define _Q8toIQ(A) ((long) (A) << (GLOBAL_Q - 8)) -#else -#define _IQtoIQ8(A) ((long) (A) << (8 - GLOBAL_Q)) -#define _IQ8toIQ(A) ((long) (A) >> (8 - GLOBAL_Q)) -#define _IQtoQ8(A) ((long) (A) << (8 - GLOBAL_Q)) -#define _Q8toIQ(A) ((long) (A) >> (8 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 7) -#define _IQtoIQ7(A) ((long) (A) >> (GLOBAL_Q - 7)) -#define _IQ7toIQ(A) ((long) (A) << (GLOBAL_Q - 7)) -#define _IQtoQ7(A) ((long) (A) >> (GLOBAL_Q - 7)) -#define _Q7toIQ(A) ((long) (A) << (GLOBAL_Q - 7)) -#else -#define _IQtoIQ7(A) ((long) (A) << (7 - GLOBAL_Q)) -#define _IQ7toIQ(A) ((long) (A) >> (7 - GLOBAL_Q)) -#define _IQtoQ7(A) ((long) (A) << (7 - GLOBAL_Q)) -#define _Q7toIQ(A) ((long) (A) >> (7 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 6) -#define _IQtoIQ6(A) ((long) (A) >> (GLOBAL_Q - 6)) -#define _IQ6toIQ(A) ((long) (A) << (GLOBAL_Q - 6)) -#define _IQtoQ6(A) ((long) (A) >> (GLOBAL_Q - 6)) -#define _Q6toIQ(A) ((long) (A) << (GLOBAL_Q - 6)) -#else -#define _IQtoIQ6(A) ((long) (A) << (6 - GLOBAL_Q)) -#define _IQ6toIQ(A) ((long) (A) >> (6 - GLOBAL_Q)) -#define _IQtoQ6(A) ((long) (A) << (6 - GLOBAL_Q)) -#define _Q6toIQ(A) ((long) (A) >> (6 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 5) -#define _IQtoIQ5(A) ((long) (A) >> (GLOBAL_Q - 5)) -#define _IQ5toIQ(A) ((long) (A) << (GLOBAL_Q - 5)) -#define _IQtoQ5(A) ((long) (A) >> (GLOBAL_Q - 5)) -#define _Q5toIQ(A) ((long) (A) << (GLOBAL_Q - 5)) -#else -#define _IQtoIQ5(A) ((long) (A) << (5 - GLOBAL_Q)) -#define _IQ5toIQ(A) ((long) (A) >> (5 - GLOBAL_Q)) -#define _IQtoQ5(A) ((long) (A) << (5 - GLOBAL_Q)) -#define _Q5toIQ(A) ((long) (A) >> (5 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 4) -#define _IQtoIQ4(A) ((long) (A) >> (GLOBAL_Q - 4)) -#define _IQ4toIQ(A) ((long) (A) << (GLOBAL_Q - 4)) -#define _IQtoQ4(A) ((long) (A) >> (GLOBAL_Q - 4)) -#define _Q4toIQ(A) ((long) (A) << (GLOBAL_Q - 4)) -#else -#define _IQtoIQ4(A) ((long) (A) << (4 - GLOBAL_Q)) -#define _IQ4toIQ(A) ((long) (A) >> (4 - GLOBAL_Q)) -#define _IQtoQ4(A) ((long) (A) << (4 - GLOBAL_Q)) -#define _Q4toIQ(A) ((long) (A) >> (4 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 3) -#define _IQtoIQ3(A) ((long) (A) >> (GLOBAL_Q - 3)) -#define _IQ3toIQ(A) ((long) (A) << (GLOBAL_Q - 3)) -#define _IQtoQ3(A) ((long) (A) >> (GLOBAL_Q - 3)) -#define _Q3toIQ(A) ((long) (A) << (GLOBAL_Q - 3)) -#else -#define _IQtoIQ3(A) ((long) (A) << (3 - GLOBAL_Q)) -#define _IQ3toIQ(A) ((long) (A) >> (3 - GLOBAL_Q)) -#define _IQtoQ3(A) ((long) (A) << (3 - GLOBAL_Q)) -#define _Q3toIQ(A) ((long) (A) >> (3 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 2) -#define _IQtoIQ2(A) ((long) (A) >> (GLOBAL_Q - 2)) -#define _IQ2toIQ(A) ((long) (A) << (GLOBAL_Q - 2)) -#define _IQtoQ2(A) ((long) (A) >> (GLOBAL_Q - 2)) -#define _Q2toIQ(A) ((long) (A) << (GLOBAL_Q - 2)) -#else -#define _IQtoIQ2(A) ((long) (A) << (2 - GLOBAL_Q)) -#define _IQ2toIQ(A) ((long) (A) >> (2 - GLOBAL_Q)) -#define _IQtoQ2(A) ((long) (A) << (2 - GLOBAL_Q)) -#define _Q2toIQ(A) ((long) (A) >> (2 - GLOBAL_Q)) -#endif - -#if (GLOBAL_Q >= 1) -#define _IQtoQ1(A) ((long) (A) >> (GLOBAL_Q - 1)) -#define _Q1toIQ(A) ((long) (A) << (GLOBAL_Q - 1)) -#else -#define _IQtoQ1(A) ((long) (A) << (1 - GLOBAL_Q)) -#define _Q1toIQ(A) ((long) (A) >> (1 - GLOBAL_Q)) -#endif - -#define _IQtoIQ1(A) ((long) (A) >> (GLOBAL_Q - 1)) -#define _IQ1toIQ(A) ((long) (A) << (GLOBAL_Q - 1)) -//--------------------------------------------------------------------------- -#define _IQmpy(A,B) __IQmpy(A,B,GLOBAL_Q) -#define _IQ30mpy(A,B) __IQmpy(A,B,30) -#define _IQ29mpy(A,B) __IQmpy(A,B,29) -#define _IQ28mpy(A,B) __IQmpy(A,B,28) -#define _IQ27mpy(A,B) __IQmpy(A,B,27) -#define _IQ26mpy(A,B) __IQmpy(A,B,26) -#define _IQ25mpy(A,B) __IQmpy(A,B,25) -#define _IQ24mpy(A,B) __IQmpy(A,B,24) -#define _IQ23mpy(A,B) __IQmpy(A,B,23) -#define _IQ22mpy(A,B) __IQmpy(A,B,22) -#define _IQ21mpy(A,B) __IQmpy(A,B,21) -#define _IQ20mpy(A,B) __IQmpy(A,B,20) -#define _IQ19mpy(A,B) __IQmpy(A,B,19) -#define _IQ18mpy(A,B) __IQmpy(A,B,18) -#define _IQ17mpy(A,B) __IQmpy(A,B,17) -#define _IQ16mpy(A,B) __IQmpy(A,B,16) -#define _IQ15mpy(A,B) __IQmpy(A,B,15) -#define _IQ14mpy(A,B) __IQmpy(A,B,14) -#define _IQ13mpy(A,B) __IQmpy(A,B,13) -#define _IQ12mpy(A,B) __IQmpy(A,B,12) -#define _IQ11mpy(A,B) __IQmpy(A,B,11) -#define _IQ10mpy(A,B) __IQmpy(A,B,10) -#define _IQ9mpy(A,B) __IQmpy(A,B,9) -#define _IQ8mpy(A,B) __IQmpy(A,B,8) -#define _IQ7mpy(A,B) __IQmpy(A,B,7) -#define _IQ6mpy(A,B) __IQmpy(A,B,6) -#define _IQ5mpy(A,B) __IQmpy(A,B,5) -#define _IQ4mpy(A,B) __IQmpy(A,B,4) -#define _IQ3mpy(A,B) __IQmpy(A,B,3) -#define _IQ2mpy(A,B) __IQmpy(A,B,2) -#define _IQ1mpy(A,B) __IQmpy(A,B,1) -//--------------------------------------------------------------------------- -extern long _IQ30rmpy(long A, long B); -extern long _IQ29rmpy(long A, long B); -extern long _IQ28rmpy(long A, long B); -extern long _IQ27rmpy(long A, long B); -extern long _IQ26rmpy(long A, long B); -extern long _IQ25rmpy(long A, long B); -extern long _IQ24rmpy(long A, long B); -extern long _IQ23rmpy(long A, long B); -extern long _IQ22rmpy(long A, long B); -extern long _IQ21rmpy(long A, long B); -extern long _IQ20rmpy(long A, long B); -extern long _IQ19rmpy(long A, long B); -extern long _IQ18rmpy(long A, long B); -extern long _IQ17rmpy(long A, long B); -extern long _IQ16rmpy(long A, long B); -extern long _IQ15rmpy(long A, long B); -extern long _IQ14rmpy(long A, long B); -extern long _IQ13rmpy(long A, long B); -extern long _IQ12rmpy(long A, long B); -extern long _IQ11rmpy(long A, long B); -extern long _IQ10rmpy(long A, long B); -extern long _IQ9rmpy(long A, long B); -extern long _IQ8rmpy(long A, long B); -extern long _IQ7rmpy(long A, long B); -extern long _IQ6rmpy(long A, long B); -extern long _IQ5rmpy(long A, long B); -extern long _IQ4rmpy(long A, long B); -extern long _IQ3rmpy(long A, long B); -extern long _IQ2rmpy(long A, long B); -extern long _IQ1rmpy(long A, long B); - -#if GLOBAL_Q == 30 -#define _IQrmpy(A,B) _IQ30rmpy(A,B) -#endif -#if GLOBAL_Q == 29 -#define _IQrmpy(A,B) _IQ29rmpy(A,B) -#endif -#if GLOBAL_Q == 28 -#define _IQrmpy(A,B) _IQ28rmpy(A,B) -#endif -#if GLOBAL_Q == 27 -#define _IQrmpy(A,B) _IQ27rmpy(A,B) -#endif -#if GLOBAL_Q == 26 -#define _IQrmpy(A,B) _IQ26rmpy(A,B) -#endif -#if GLOBAL_Q == 25 -#define _IQrmpy(A,B) _IQ25rmpy(A,B) -#endif -#if GLOBAL_Q == 24 -#define _IQrmpy(A,B) _IQ24rmpy(A,B) -#endif -#if GLOBAL_Q == 23 -#define _IQrmpy(A,B) _IQ23rmpy(A,B) -#endif -#if GLOBAL_Q == 22 -#define _IQrmpy(A,B) _IQ22rmpy(A,B) -#endif -#if GLOBAL_Q == 21 -#define _IQrmpy(A,B) _IQ21rmpy(A,B) -#endif -#if GLOBAL_Q == 20 -#define _IQrmpy(A,B) _IQ20rmpy(A,B) -#endif -#if GLOBAL_Q == 19 -#define _IQrmpy(A,B) _IQ19rmpy(A,B) -#endif -#if GLOBAL_Q == 18 -#define _IQrmpy(A,B) _IQ18rmpy(A,B) -#endif -#if GLOBAL_Q == 17 -#define _IQrmpy(A,B) _IQ17rmpy(A,B) -#endif -#if GLOBAL_Q == 16 -#define _IQrmpy(A,B) _IQ16rmpy(A,B) -#endif -#if GLOBAL_Q == 15 -#define _IQrmpy(A,B) _IQ15rmpy(A,B) -#endif -#if GLOBAL_Q == 14 -#define _IQrmpy(A,B) _IQ14rmpy(A,B) -#endif -#if GLOBAL_Q == 13 -#define _IQrmpy(A,B) _IQ13rmpy(A,B) -#endif -#if GLOBAL_Q == 12 -#define _IQrmpy(A,B) _IQ12rmpy(A,B) -#endif -#if GLOBAL_Q == 11 -#define _IQrmpy(A,B) _IQ11rmpy(A,B) -#endif -#if GLOBAL_Q == 10 -#define _IQrmpy(A,B) _IQ10rmpy(A,B) -#endif -#if GLOBAL_Q == 9 -#define _IQrmpy(A,B) _IQ9rmpy(A,B) -#endif -#if GLOBAL_Q == 8 -#define _IQrmpy(A,B) _IQ8rmpy(A,B) -#endif -#if GLOBAL_Q == 7 -#define _IQrmpy(A,B) _IQ7rmpy(A,B) -#endif -#if GLOBAL_Q == 6 -#define _IQrmpy(A,B) _IQ6rmpy(A,B) -#endif -#if GLOBAL_Q == 5 -#define _IQrmpy(A,B) _IQ5rmpy(A,B) -#endif -#if GLOBAL_Q == 4 -#define _IQrmpy(A,B) _IQ4rmpy(A,B) -#endif -#if GLOBAL_Q == 3 -#define _IQrmpy(A,B) _IQ3rmpy(A,B) -#endif -#if GLOBAL_Q == 2 -#define _IQrmpy(A,B) _IQ2rmpy(A,B) -#endif -#if GLOBAL_Q == 1 -#define _IQrmpy(A,B) _IQ1rmpy(A,B) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30rsmpy(long A, long B); -extern long _IQ29rsmpy(long A, long B); -extern long _IQ28rsmpy(long A, long B); -extern long _IQ27rsmpy(long A, long B); -extern long _IQ26rsmpy(long A, long B); -extern long _IQ25rsmpy(long A, long B); -extern long _IQ24rsmpy(long A, long B); -extern long _IQ23rsmpy(long A, long B); -extern long _IQ22rsmpy(long A, long B); -extern long _IQ21rsmpy(long A, long B); -extern long _IQ20rsmpy(long A, long B); -extern long _IQ19rsmpy(long A, long B); -extern long _IQ18rsmpy(long A, long B); -extern long _IQ17rsmpy(long A, long B); -extern long _IQ16rsmpy(long A, long B); -extern long _IQ15rsmpy(long A, long B); -extern long _IQ14rsmpy(long A, long B); -extern long _IQ13rsmpy(long A, long B); -extern long _IQ12rsmpy(long A, long B); -extern long _IQ11rsmpy(long A, long B); -extern long _IQ10rsmpy(long A, long B); -extern long _IQ9rsmpy(long A, long B); -extern long _IQ8rsmpy(long A, long B); -extern long _IQ7rsmpy(long A, long B); -extern long _IQ6rsmpy(long A, long B); -extern long _IQ5rsmpy(long A, long B); -extern long _IQ4rsmpy(long A, long B); -extern long _IQ3rsmpy(long A, long B); -extern long _IQ2rsmpy(long A, long B); -extern long _IQ1rsmpy(long A, long B); - -#if GLOBAL_Q == 30 -#define _IQrsmpy(A,B) _IQ30rsmpy(A,B) -#endif -#if GLOBAL_Q == 29 -#define _IQrsmpy(A,B) _IQ29rsmpy(A,B) -#endif -#if GLOBAL_Q == 28 -#define _IQrsmpy(A,B) _IQ28rsmpy(A,B) -#endif -#if GLOBAL_Q == 27 -#define _IQrsmpy(A,B) _IQ27rsmpy(A,B) -#endif -#if GLOBAL_Q == 26 -#define _IQrsmpy(A,B) _IQ26rsmpy(A,B) -#endif -#if GLOBAL_Q == 25 -#define _IQrsmpy(A,B) _IQ25rsmpy(A,B) -#endif -#if GLOBAL_Q == 24 -#define _IQrsmpy(A,B) _IQ24rsmpy(A,B) -#endif -#if GLOBAL_Q == 23 -#define _IQrsmpy(A,B) _IQ23rsmpy(A,B) -#endif -#if GLOBAL_Q == 22 -#define _IQrsmpy(A,B) _IQ22rsmpy(A,B) -#endif -#if GLOBAL_Q == 21 -#define _IQrsmpy(A,B) _IQ21rsmpy(A,B) -#endif -#if GLOBAL_Q == 20 -#define _IQrsmpy(A,B) _IQ20rsmpy(A,B) -#endif -#if GLOBAL_Q == 19 -#define _IQrsmpy(A,B) _IQ19rsmpy(A,B) -#endif -#if GLOBAL_Q == 18 -#define _IQrsmpy(A,B) _IQ18rsmpy(A,B) -#endif -#if GLOBAL_Q == 17 -#define _IQrsmpy(A,B) _IQ17rsmpy(A,B) -#endif -#if GLOBAL_Q == 16 -#define _IQrsmpy(A,B) _IQ16rsmpy(A,B) -#endif -#if GLOBAL_Q == 15 -#define _IQrsmpy(A,B) _IQ15rsmpy(A,B) -#endif -#if GLOBAL_Q == 14 -#define _IQrsmpy(A,B) _IQ14rsmpy(A,B) -#endif -#if GLOBAL_Q == 13 -#define _IQrsmpy(A,B) _IQ13rsmpy(A,B) -#endif -#if GLOBAL_Q == 12 -#define _IQrsmpy(A,B) _IQ12rsmpy(A,B) -#endif -#if GLOBAL_Q == 11 -#define _IQrsmpy(A,B) _IQ11rsmpy(A,B) -#endif -#if GLOBAL_Q == 10 -#define _IQrsmpy(A,B) _IQ10rsmpy(A,B) -#endif -#if GLOBAL_Q == 9 -#define _IQrsmpy(A,B) _IQ9rsmpy(A,B) -#endif -#if GLOBAL_Q == 8 -#define _IQrsmpy(A,B) _IQ8rsmpy(A,B) -#endif -#if GLOBAL_Q == 7 -#define _IQrsmpy(A,B) _IQ7rsmpy(A,B) -#endif -#if GLOBAL_Q == 6 -#define _IQrsmpy(A,B) _IQ6rsmpy(A,B) -#endif -#if GLOBAL_Q == 5 -#define _IQrsmpy(A,B) _IQ5rsmpy(A,B) -#endif -#if GLOBAL_Q == 4 -#define _IQrsmpy(A,B) _IQ4rsmpy(A,B) -#endif -#if GLOBAL_Q == 3 -#define _IQrsmpy(A,B) _IQ3rsmpy(A,B) -#endif -#if GLOBAL_Q == 2 -#define _IQrsmpy(A,B) _IQ2rsmpy(A,B) -#endif -#if GLOBAL_Q == 1 -#define _IQrsmpy(A,B) _IQ1rsmpy(A,B) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30div(long A, long B); -extern long _IQ29div(long A, long B); -extern long _IQ28div(long A, long B); -extern long _IQ27div(long A, long B); -extern long _IQ26div(long A, long B); -extern long _IQ25div(long A, long B); -extern long _IQ24div(long A, long B); -extern long _IQ23div(long A, long B); -extern long _IQ22div(long A, long B); -extern long _IQ21div(long A, long B); -extern long _IQ20div(long A, long B); -extern long _IQ19div(long A, long B); -extern long _IQ18div(long A, long B); -extern long _IQ17div(long A, long B); -extern long _IQ16div(long A, long B); -extern long _IQ15div(long A, long B); -extern long _IQ14div(long A, long B); -extern long _IQ13div(long A, long B); -extern long _IQ12div(long A, long B); -extern long _IQ11div(long A, long B); -extern long _IQ10div(long A, long B); -extern long _IQ9div(long A, long B); -extern long _IQ8div(long A, long B); -extern long _IQ7div(long A, long B); -extern long _IQ6div(long A, long B); -extern long _IQ5div(long A, long B); -extern long _IQ4div(long A, long B); -extern long _IQ3div(long A, long B); -extern long _IQ2div(long A, long B); -extern long _IQ1div(long A, long B); - -#if GLOBAL_Q == 30 -#define _IQdiv(A,B) _IQ30div(A,B) -#endif -#if GLOBAL_Q == 29 -#define _IQdiv(A,B) _IQ29div(A,B) -#endif -#if GLOBAL_Q == 28 -#define _IQdiv(A,B) _IQ28div(A,B) -#endif -#if GLOBAL_Q == 27 -#define _IQdiv(A,B) _IQ27div(A,B) -#endif -#if GLOBAL_Q == 26 -#define _IQdiv(A,B) _IQ26div(A,B) -#endif -#if GLOBAL_Q == 25 -#define _IQdiv(A,B) _IQ25div(A,B) -#endif -#if GLOBAL_Q == 24 -#define _IQdiv(A,B) _IQ24div(A,B) -#endif -#if GLOBAL_Q == 23 -#define _IQdiv(A,B) _IQ23div(A,B) -#endif -#if GLOBAL_Q == 22 -#define _IQdiv(A,B) _IQ22div(A,B) -#endif -#if GLOBAL_Q == 21 -#define _IQdiv(A,B) _IQ21div(A,B) -#endif -#if GLOBAL_Q == 20 -#define _IQdiv(A,B) _IQ20div(A,B) -#endif -#if GLOBAL_Q == 19 -#define _IQdiv(A,B) _IQ19div(A,B) -#endif -#if GLOBAL_Q == 18 -#define _IQdiv(A,B) _IQ18div(A,B) -#endif -#if GLOBAL_Q == 17 -#define _IQdiv(A,B) _IQ17div(A,B) -#endif -#if GLOBAL_Q == 16 -#define _IQdiv(A,B) _IQ16div(A,B) -#endif -#if GLOBAL_Q == 15 -#define _IQdiv(A,B) _IQ15div(A,B) -#endif -#if GLOBAL_Q == 14 -#define _IQdiv(A,B) _IQ14div(A,B) -#endif -#if GLOBAL_Q == 13 -#define _IQdiv(A,B) _IQ13div(A,B) -#endif -#if GLOBAL_Q == 12 -#define _IQdiv(A,B) _IQ12div(A,B) -#endif -#if GLOBAL_Q == 11 -#define _IQdiv(A,B) _IQ11div(A,B) -#endif -#if GLOBAL_Q == 10 -#define _IQdiv(A,B) _IQ10div(A,B) -#endif -#if GLOBAL_Q == 9 -#define _IQdiv(A,B) _IQ9div(A,B) -#endif -#if GLOBAL_Q == 8 -#define _IQdiv(A,B) _IQ8div(A,B) -#endif -#if GLOBAL_Q == 7 -#define _IQdiv(A,B) _IQ7div(A,B) -#endif -#if GLOBAL_Q == 6 -#define _IQdiv(A,B) _IQ6div(A,B) -#endif -#if GLOBAL_Q == 5 -#define _IQdiv(A,B) _IQ5div(A,B) -#endif -#if GLOBAL_Q == 4 -#define _IQdiv(A,B) _IQ4div(A,B) -#endif -#if GLOBAL_Q == 3 -#define _IQdiv(A,B) _IQ3div(A,B) -#endif -#if GLOBAL_Q == 2 -#define _IQdiv(A,B) _IQ2div(A,B) -#endif -#if GLOBAL_Q == 1 -#define _IQdiv(A,B) _IQ1div(A,B) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30sin(long A); -extern long _IQ29sin(long A); -extern long _IQ28sin(long A); -extern long _IQ27sin(long A); -extern long _IQ26sin(long A); -extern long _IQ25sin(long A); -extern long _IQ24sin(long A); -extern long _IQ23sin(long A); -extern long _IQ22sin(long A); -extern long _IQ21sin(long A); -extern long _IQ20sin(long A); -extern long _IQ19sin(long A); -extern long _IQ18sin(long A); -extern long _IQ17sin(long A); -extern long _IQ16sin(long A); -extern long _IQ15sin(long A); -extern long _IQ14sin(long A); -extern long _IQ13sin(long A); -extern long _IQ12sin(long A); -extern long _IQ11sin(long A); -extern long _IQ10sin(long A); -extern long _IQ9sin(long A); -extern long _IQ8sin(long A); -extern long _IQ7sin(long A); -extern long _IQ6sin(long A); -extern long _IQ5sin(long A); -extern long _IQ4sin(long A); -extern long _IQ3sin(long A); -extern long _IQ2sin(long A); -extern long _IQ1sin(long A); - -#if GLOBAL_Q == 30 -#define _IQsin(A) _IQ30sin(A) -#endif -#if GLOBAL_Q == 29 -#define _IQsin(A) _IQ29sin(A) -#endif -#if GLOBAL_Q == 28 -#define _IQsin(A) _IQ28sin(A) -#endif -#if GLOBAL_Q == 27 -#define _IQsin(A) _IQ27sin(A) -#endif -#if GLOBAL_Q == 26 -#define _IQsin(A) _IQ26sin(A) -#endif -#if GLOBAL_Q == 25 -#define _IQsin(A) _IQ25sin(A) -#endif -#if GLOBAL_Q == 24 -#define _IQsin(A) _IQ24sin(A) -#endif -#if GLOBAL_Q == 23 -#define _IQsin(A) _IQ23sin(A) -#endif -#if GLOBAL_Q == 22 -#define _IQsin(A) _IQ22sin(A) -#endif -#if GLOBAL_Q == 21 -#define _IQsin(A) _IQ21sin(A) -#endif -#if GLOBAL_Q == 20 -#define _IQsin(A) _IQ20sin(A) -#endif -#if GLOBAL_Q == 19 -#define _IQsin(A) _IQ19sin(A) -#endif -#if GLOBAL_Q == 18 -#define _IQsin(A) _IQ18sin(A) -#endif -#if GLOBAL_Q == 17 -#define _IQsin(A) _IQ17sin(A) -#endif -#if GLOBAL_Q == 16 -#define _IQsin(A) _IQ16sin(A) -#endif -#if GLOBAL_Q == 15 -#define _IQsin(A) _IQ15sin(A) -#endif -#if GLOBAL_Q == 14 -#define _IQsin(A) _IQ14sin(A) -#endif -#if GLOBAL_Q == 13 -#define _IQsin(A) _IQ13sin(A) -#endif -#if GLOBAL_Q == 12 -#define _IQsin(A) _IQ12sin(A) -#endif -#if GLOBAL_Q == 11 -#define _IQsin(A) _IQ11sin(A) -#endif -#if GLOBAL_Q == 10 -#define _IQsin(A) _IQ10sin(A) -#endif -#if GLOBAL_Q == 9 -#define _IQsin(A) _IQ9sin(A) -#endif -#if GLOBAL_Q == 8 -#define _IQsin(A) _IQ8sin(A) -#endif -#if GLOBAL_Q == 7 -#define _IQsin(A) _IQ7sin(A) -#endif -#if GLOBAL_Q == 6 -#define _IQsin(A) _IQ6sin(A) -#endif -#if GLOBAL_Q == 5 -#define _IQsin(A) _IQ5sin(A) -#endif -#if GLOBAL_Q == 4 -#define _IQsin(A) _IQ4sin(A) -#endif -#if GLOBAL_Q == 3 -#define _IQsin(A) _IQ3sin(A) -#endif -#if GLOBAL_Q == 2 -#define _IQsin(A) _IQ2sin(A) -#endif -#if GLOBAL_Q == 1 -#define _IQsin(A) _IQ1sin(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30sinPU(long A); -extern long _IQ29sinPU(long A); -extern long _IQ28sinPU(long A); -extern long _IQ27sinPU(long A); -extern long _IQ26sinPU(long A); -extern long _IQ25sinPU(long A); -extern long _IQ24sinPU(long A); -extern long _IQ23sinPU(long A); -extern long _IQ22sinPU(long A); -extern long _IQ21sinPU(long A); -extern long _IQ20sinPU(long A); -extern long _IQ19sinPU(long A); -extern long _IQ18sinPU(long A); -extern long _IQ17sinPU(long A); -extern long _IQ16sinPU(long A); -extern long _IQ15sinPU(long A); -extern long _IQ14sinPU(long A); -extern long _IQ13sinPU(long A); -extern long _IQ12sinPU(long A); -extern long _IQ11sinPU(long A); -extern long _IQ10sinPU(long A); -extern long _IQ9sinPU(long A); -extern long _IQ8sinPU(long A); -extern long _IQ7sinPU(long A); -extern long _IQ6sinPU(long A); -extern long _IQ5sinPU(long A); -extern long _IQ4sinPU(long A); -extern long _IQ3sinPU(long A); -extern long _IQ2sinPU(long A); -extern long _IQ1sinPU(long A); - -#if GLOBAL_Q == 30 -#define _IQsinPU(A) _IQ30sinPU(A) -#endif -#if GLOBAL_Q == 29 -#define _IQsinPU(A) _IQ29sinPU(A) -#endif -#if GLOBAL_Q == 28 -#define _IQsinPU(A) _IQ28sinPU(A) -#endif -#if GLOBAL_Q == 27 -#define _IQsinPU(A) _IQ27sinPU(A) -#endif -#if GLOBAL_Q == 26 -#define _IQsinPU(A) _IQ26sinPU(A) -#endif -#if GLOBAL_Q == 25 -#define _IQsinPU(A) _IQ25sinPU(A) -#endif -#if GLOBAL_Q == 24 -#define _IQsinPU(A) _IQ24sinPU(A) -#endif -#if GLOBAL_Q == 23 -#define _IQsinPU(A) _IQ23sinPU(A) -#endif -#if GLOBAL_Q == 22 -#define _IQsinPU(A) _IQ22sinPU(A) -#endif -#if GLOBAL_Q == 21 -#define _IQsinPU(A) _IQ21sinPU(A) -#endif -#if GLOBAL_Q == 20 -#define _IQsinPU(A) _IQ20sinPU(A) -#endif -#if GLOBAL_Q == 19 -#define _IQsinPU(A) _IQ19sinPU(A) -#endif -#if GLOBAL_Q == 18 -#define _IQsinPU(A) _IQ18sinPU(A) -#endif -#if GLOBAL_Q == 17 -#define _IQsinPU(A) _IQ17sinPU(A) -#endif -#if GLOBAL_Q == 16 -#define _IQsinPU(A) _IQ16sinPU(A) -#endif -#if GLOBAL_Q == 15 -#define _IQsinPU(A) _IQ15sinPU(A) -#endif -#if GLOBAL_Q == 14 -#define _IQsinPU(A) _IQ14sinPU(A) -#endif -#if GLOBAL_Q == 13 -#define _IQsinPU(A) _IQ13sinPU(A) -#endif -#if GLOBAL_Q == 12 -#define _IQsinPU(A) _IQ12sinPU(A) -#endif -#if GLOBAL_Q == 11 -#define _IQsinPU(A) _IQ11sinPU(A) -#endif -#if GLOBAL_Q == 10 -#define _IQsinPU(A) _IQ10sinPU(A) -#endif -#if GLOBAL_Q == 9 -#define _IQsinPU(A) _IQ9sinPU(A) -#endif -#if GLOBAL_Q == 8 -#define _IQsinPU(A) _IQ8sinPU(A) -#endif -#if GLOBAL_Q == 7 -#define _IQsinPU(A) _IQ7sinPU(A) -#endif -#if GLOBAL_Q == 6 -#define _IQsinPU(A) _IQ6sinPU(A) -#endif -#if GLOBAL_Q == 5 -#define _IQsinPU(A) _IQ5sinPU(A) -#endif -#if GLOBAL_Q == 4 -#define _IQsinPU(A) _IQ4sinPU(A) -#endif -#if GLOBAL_Q == 3 -#define _IQsinPU(A) _IQ3sinPU(A) -#endif -#if GLOBAL_Q == 2 -#define _IQsinPU(A) _IQ2sinPU(A) -#endif -#if GLOBAL_Q == 1 -#define _IQsinPU(A) _IQ1sinPU(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30asin(long A); -extern long _IQ29asin(long A); -extern long _IQ28asin(long A); -extern long _IQ27asin(long A); -extern long _IQ26asin(long A); -extern long _IQ25asin(long A); -extern long _IQ24asin(long A); -extern long _IQ23asin(long A); -extern long _IQ22asin(long A); -extern long _IQ21asin(long A); -extern long _IQ20asin(long A); -extern long _IQ19asin(long A); -extern long _IQ18asin(long A); -extern long _IQ17asin(long A); -extern long _IQ16asin(long A); -extern long _IQ15asin(long A); -extern long _IQ14asin(long A); -extern long _IQ13asin(long A); -extern long _IQ12asin(long A); -extern long _IQ11asin(long A); -extern long _IQ10asin(long A); -extern long _IQ9asin(long A); -extern long _IQ8asin(long A); -extern long _IQ7asin(long A); -extern long _IQ6asin(long A); -extern long _IQ5asin(long A); -extern long _IQ4asin(long A); -extern long _IQ3asin(long A); -extern long _IQ2asin(long A); -extern long _IQ1asin(long A); - -#if GLOBAL_Q == 30 -#define _IQasin(A) _IQ30asin(A) -#endif -#if GLOBAL_Q == 29 -#define _IQasin(A) _IQ29asin(A) -#endif -#if GLOBAL_Q == 28 -#define _IQasin(A) _IQ28asin(A) -#endif -#if GLOBAL_Q == 27 -#define _IQasin(A) _IQ27asin(A) -#endif -#if GLOBAL_Q == 26 -#define _IQasin(A) _IQ26asin(A) -#endif -#if GLOBAL_Q == 25 -#define _IQasin(A) _IQ25asin(A) -#endif -#if GLOBAL_Q == 24 -#define _IQasin(A) _IQ24asin(A) -#endif -#if GLOBAL_Q == 23 -#define _IQasin(A) _IQ23asin(A) -#endif -#if GLOBAL_Q == 22 -#define _IQasin(A) _IQ22asin(A) -#endif -#if GLOBAL_Q == 21 -#define _IQasin(A) _IQ21asin(A) -#endif -#if GLOBAL_Q == 20 -#define _IQasin(A) _IQ20asin(A) -#endif -#if GLOBAL_Q == 19 -#define _IQasin(A) _IQ19asin(A) -#endif -#if GLOBAL_Q == 18 -#define _IQasin(A) _IQ18asin(A) -#endif -#if GLOBAL_Q == 17 -#define _IQasin(A) _IQ17asin(A) -#endif -#if GLOBAL_Q == 16 -#define _IQasin(A) _IQ16asin(A) -#endif -#if GLOBAL_Q == 15 -#define _IQasin(A) _IQ15asin(A) -#endif -#if GLOBAL_Q == 14 -#define _IQasin(A) _IQ14asin(A) -#endif -#if GLOBAL_Q == 13 -#define _IQasin(A) _IQ13asin(A) -#endif -#if GLOBAL_Q == 12 -#define _IQasin(A) _IQ12asin(A) -#endif -#if GLOBAL_Q == 11 -#define _IQasin(A) _IQ11asin(A) -#endif -#if GLOBAL_Q == 10 -#define _IQasin(A) _IQ10asin(A) -#endif -#if GLOBAL_Q == 9 -#define _IQasin(A) _IQ9asin(A) -#endif -#if GLOBAL_Q == 8 -#define _IQasin(A) _IQ8asin(A) -#endif -#if GLOBAL_Q == 7 -#define _IQasin(A) _IQ7asin(A) -#endif -#if GLOBAL_Q == 6 -#define _IQasin(A) _IQ6asin(A) -#endif -#if GLOBAL_Q == 5 -#define _IQasin(A) _IQ5asin(A) -#endif -#if GLOBAL_Q == 4 -#define _IQasin(A) _IQ4asin(A) -#endif -#if GLOBAL_Q == 3 -#define _IQasin(A) _IQ3asin(A) -#endif -#if GLOBAL_Q == 2 -#define _IQasin(A) _IQ2asin(A) -#endif -#if GLOBAL_Q == 1 -#define _IQasin(A) _IQ1asin(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30cos(long A); -extern long _IQ29cos(long A); -extern long _IQ28cos(long A); -extern long _IQ27cos(long A); -extern long _IQ26cos(long A); -extern long _IQ25cos(long A); -extern long _IQ24cos(long A); -extern long _IQ23cos(long A); -extern long _IQ22cos(long A); -extern long _IQ21cos(long A); -extern long _IQ20cos(long A); -extern long _IQ19cos(long A); -extern long _IQ18cos(long A); -extern long _IQ17cos(long A); -extern long _IQ16cos(long A); -extern long _IQ15cos(long A); -extern long _IQ14cos(long A); -extern long _IQ13cos(long A); -extern long _IQ12cos(long A); -extern long _IQ11cos(long A); -extern long _IQ10cos(long A); -extern long _IQ9cos(long A); -extern long _IQ8cos(long A); -extern long _IQ7cos(long A); -extern long _IQ6cos(long A); -extern long _IQ5cos(long A); -extern long _IQ4cos(long A); -extern long _IQ3cos(long A); -extern long _IQ2cos(long A); -extern long _IQ1cos(long A); - -#if GLOBAL_Q == 30 -#define _IQcos(A) _IQ30cos(A) -#endif -#if GLOBAL_Q == 29 -#define _IQcos(A) _IQ29cos(A) -#endif -#if GLOBAL_Q == 28 -#define _IQcos(A) _IQ28cos(A) -#endif -#if GLOBAL_Q == 27 -#define _IQcos(A) _IQ27cos(A) -#endif -#if GLOBAL_Q == 26 -#define _IQcos(A) _IQ26cos(A) -#endif -#if GLOBAL_Q == 25 -#define _IQcos(A) _IQ25cos(A) -#endif -#if GLOBAL_Q == 24 -#define _IQcos(A) _IQ24cos(A) -#endif -#if GLOBAL_Q == 23 -#define _IQcos(A) _IQ23cos(A) -#endif -#if GLOBAL_Q == 22 -#define _IQcos(A) _IQ22cos(A) -#endif -#if GLOBAL_Q == 21 -#define _IQcos(A) _IQ21cos(A) -#endif -#if GLOBAL_Q == 20 -#define _IQcos(A) _IQ20cos(A) -#endif -#if GLOBAL_Q == 19 -#define _IQcos(A) _IQ19cos(A) -#endif -#if GLOBAL_Q == 18 -#define _IQcos(A) _IQ18cos(A) -#endif -#if GLOBAL_Q == 17 -#define _IQcos(A) _IQ17cos(A) -#endif -#if GLOBAL_Q == 16 -#define _IQcos(A) _IQ16cos(A) -#endif -#if GLOBAL_Q == 15 -#define _IQcos(A) _IQ15cos(A) -#endif -#if GLOBAL_Q == 14 -#define _IQcos(A) _IQ14cos(A) -#endif -#if GLOBAL_Q == 13 -#define _IQcos(A) _IQ13cos(A) -#endif -#if GLOBAL_Q == 12 -#define _IQcos(A) _IQ12cos(A) -#endif -#if GLOBAL_Q == 11 -#define _IQcos(A) _IQ11cos(A) -#endif -#if GLOBAL_Q == 10 -#define _IQcos(A) _IQ10cos(A) -#endif -#if GLOBAL_Q == 9 -#define _IQcos(A) _IQ9cos(A) -#endif -#if GLOBAL_Q == 8 -#define _IQcos(A) _IQ8cos(A) -#endif -#if GLOBAL_Q == 7 -#define _IQcos(A) _IQ7cos(A) -#endif -#if GLOBAL_Q == 6 -#define _IQcos(A) _IQ6cos(A) -#endif -#if GLOBAL_Q == 5 -#define _IQcos(A) _IQ5cos(A) -#endif -#if GLOBAL_Q == 4 -#define _IQcos(A) _IQ4cos(A) -#endif -#if GLOBAL_Q == 3 -#define _IQcos(A) _IQ3cos(A) -#endif -#if GLOBAL_Q == 2 -#define _IQcos(A) _IQ2cos(A) -#endif -#if GLOBAL_Q == 1 -#define _IQcos(A) _IQ1cos(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30cosPU(long A); -extern long _IQ29cosPU(long A); -extern long _IQ28cosPU(long A); -extern long _IQ27cosPU(long A); -extern long _IQ26cosPU(long A); -extern long _IQ25cosPU(long A); -extern long _IQ24cosPU(long A); -extern long _IQ23cosPU(long A); -extern long _IQ22cosPU(long A); -extern long _IQ21cosPU(long A); -extern long _IQ20cosPU(long A); -extern long _IQ19cosPU(long A); -extern long _IQ18cosPU(long A); -extern long _IQ17cosPU(long A); -extern long _IQ16cosPU(long A); -extern long _IQ15cosPU(long A); -extern long _IQ14cosPU(long A); -extern long _IQ13cosPU(long A); -extern long _IQ12cosPU(long A); -extern long _IQ11cosPU(long A); -extern long _IQ10cosPU(long A); -extern long _IQ9cosPU(long A); -extern long _IQ8cosPU(long A); -extern long _IQ7cosPU(long A); -extern long _IQ6cosPU(long A); -extern long _IQ5cosPU(long A); -extern long _IQ4cosPU(long A); -extern long _IQ3cosPU(long A); -extern long _IQ2cosPU(long A); -extern long _IQ1cosPU(long A); - -#if GLOBAL_Q == 30 -#define _IQcosPU(A) _IQ30cosPU(A) -#endif -#if GLOBAL_Q == 29 -#define _IQcosPU(A) _IQ29cosPU(A) -#endif -#if GLOBAL_Q == 28 -#define _IQcosPU(A) _IQ28cosPU(A) -#endif -#if GLOBAL_Q == 27 -#define _IQcosPU(A) _IQ27cosPU(A) -#endif -#if GLOBAL_Q == 26 -#define _IQcosPU(A) _IQ26cosPU(A) -#endif -#if GLOBAL_Q == 25 -#define _IQcosPU(A) _IQ25cosPU(A) -#endif -#if GLOBAL_Q == 24 -#define _IQcosPU(A) _IQ24cosPU(A) -#endif -#if GLOBAL_Q == 23 -#define _IQcosPU(A) _IQ23cosPU(A) -#endif -#if GLOBAL_Q == 22 -#define _IQcosPU(A) _IQ22cosPU(A) -#endif -#if GLOBAL_Q == 21 -#define _IQcosPU(A) _IQ21cosPU(A) -#endif -#if GLOBAL_Q == 20 -#define _IQcosPU(A) _IQ20cosPU(A) -#endif -#if GLOBAL_Q == 19 -#define _IQcosPU(A) _IQ19cosPU(A) -#endif -#if GLOBAL_Q == 18 -#define _IQcosPU(A) _IQ18cosPU(A) -#endif -#if GLOBAL_Q == 17 -#define _IQcosPU(A) _IQ17cosPU(A) -#endif -#if GLOBAL_Q == 16 -#define _IQcosPU(A) _IQ16cosPU(A) -#endif -#if GLOBAL_Q == 15 -#define _IQcosPU(A) _IQ15cosPU(A) -#endif -#if GLOBAL_Q == 14 -#define _IQcosPU(A) _IQ14cosPU(A) -#endif -#if GLOBAL_Q == 13 -#define _IQcosPU(A) _IQ13cosPU(A) -#endif -#if GLOBAL_Q == 12 -#define _IQcosPU(A) _IQ12cosPU(A) -#endif -#if GLOBAL_Q == 11 -#define _IQcosPU(A) _IQ11cosPU(A) -#endif -#if GLOBAL_Q == 10 -#define _IQcosPU(A) _IQ10cosPU(A) -#endif -#if GLOBAL_Q == 9 -#define _IQcosPU(A) _IQ9cosPU(A) -#endif -#if GLOBAL_Q == 8 -#define _IQcosPU(A) _IQ8cosPU(A) -#endif -#if GLOBAL_Q == 7 -#define _IQcosPU(A) _IQ7cosPU(A) -#endif -#if GLOBAL_Q == 6 -#define _IQcosPU(A) _IQ6cosPU(A) -#endif -#if GLOBAL_Q == 5 -#define _IQcosPU(A) _IQ5cosPU(A) -#endif -#if GLOBAL_Q == 4 -#define _IQcosPU(A) _IQ4cosPU(A) -#endif -#if GLOBAL_Q == 3 -#define _IQcosPU(A) _IQ3cosPU(A) -#endif -#if GLOBAL_Q == 2 -#define _IQcosPU(A) _IQ2cosPU(A) -#endif -#if GLOBAL_Q == 1 -#define _IQcosPU(A) _IQ1cosPU(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30acos(long A); -extern long _IQ29acos(long A); -extern long _IQ28acos(long A); -extern long _IQ27acos(long A); -extern long _IQ26acos(long A); -extern long _IQ25acos(long A); -extern long _IQ24acos(long A); -extern long _IQ23acos(long A); -extern long _IQ22acos(long A); -extern long _IQ21acos(long A); -extern long _IQ20acos(long A); -extern long _IQ19acos(long A); -extern long _IQ18acos(long A); -extern long _IQ17acos(long A); -extern long _IQ16acos(long A); -extern long _IQ15acos(long A); -extern long _IQ14acos(long A); -extern long _IQ13acos(long A); -extern long _IQ12acos(long A); -extern long _IQ11acos(long A); -extern long _IQ10acos(long A); -extern long _IQ9acos(long A); -extern long _IQ8acos(long A); -extern long _IQ7acos(long A); -extern long _IQ6acos(long A); -extern long _IQ5acos(long A); -extern long _IQ4acos(long A); -extern long _IQ3acos(long A); -extern long _IQ2acos(long A); -extern long _IQ1acos(long A); - -#if GLOBAL_Q == 30 -#define _IQacos(A) _IQ30acos(A) -#endif -#if GLOBAL_Q == 29 -#define _IQacos(A) _IQ29acos(A) -#endif -#if GLOBAL_Q == 28 -#define _IQacos(A) _IQ28acos(A) -#endif -#if GLOBAL_Q == 27 -#define _IQacos(A) _IQ27acos(A) -#endif -#if GLOBAL_Q == 26 -#define _IQacos(A) _IQ26acos(A) -#endif -#if GLOBAL_Q == 25 -#define _IQacos(A) _IQ25acos(A) -#endif -#if GLOBAL_Q == 24 -#define _IQacos(A) _IQ24acos(A) -#endif -#if GLOBAL_Q == 23 -#define _IQacos(A) _IQ23acos(A) -#endif -#if GLOBAL_Q == 22 -#define _IQacos(A) _IQ22acos(A) -#endif -#if GLOBAL_Q == 21 -#define _IQacos(A) _IQ21acos(A) -#endif -#if GLOBAL_Q == 20 -#define _IQacos(A) _IQ20acos(A) -#endif -#if GLOBAL_Q == 19 -#define _IQacos(A) _IQ19acos(A) -#endif -#if GLOBAL_Q == 18 -#define _IQacos(A) _IQ18acos(A) -#endif -#if GLOBAL_Q == 17 -#define _IQacos(A) _IQ17acos(A) -#endif -#if GLOBAL_Q == 16 -#define _IQacos(A) _IQ16acos(A) -#endif -#if GLOBAL_Q == 15 -#define _IQacos(A) _IQ15acos(A) -#endif -#if GLOBAL_Q == 14 -#define _IQacos(A) _IQ14acos(A) -#endif -#if GLOBAL_Q == 13 -#define _IQacos(A) _IQ13acos(A) -#endif -#if GLOBAL_Q == 12 -#define _IQacos(A) _IQ12acos(A) -#endif -#if GLOBAL_Q == 11 -#define _IQacos(A) _IQ11acos(A) -#endif -#if GLOBAL_Q == 10 -#define _IQacos(A) _IQ10acos(A) -#endif -#if GLOBAL_Q == 9 -#define _IQacos(A) _IQ9acos(A) -#endif -#if GLOBAL_Q == 8 -#define _IQacos(A) _IQ8acos(A) -#endif -#if GLOBAL_Q == 7 -#define _IQacos(A) _IQ7acos(A) -#endif -#if GLOBAL_Q == 6 -#define _IQacos(A) _IQ6acos(A) -#endif -#if GLOBAL_Q == 5 -#define _IQacos(A) _IQ5acos(A) -#endif -#if GLOBAL_Q == 4 -#define _IQacos(A) _IQ4acos(A) -#endif -#if GLOBAL_Q == 3 -#define _IQacos(A) _IQ3acos(A) -#endif -#if GLOBAL_Q == 2 -#define _IQacos(A) _IQ2acos(A) -#endif -#if GLOBAL_Q == 1 -#define _IQacos(A) _IQ1acos(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30atan2(long A, long B); -extern long _IQ29atan2(long A, long B); -extern long _IQ28atan2(long A, long B); -extern long _IQ27atan2(long A, long B); -extern long _IQ26atan2(long A, long B); -extern long _IQ25atan2(long A, long B); -extern long _IQ24atan2(long A, long B); -extern long _IQ23atan2(long A, long B); -extern long _IQ22atan2(long A, long B); -extern long _IQ21atan2(long A, long B); -extern long _IQ20atan2(long A, long B); -extern long _IQ19atan2(long A, long B); -extern long _IQ18atan2(long A, long B); -extern long _IQ17atan2(long A, long B); -extern long _IQ16atan2(long A, long B); -extern long _IQ15atan2(long A, long B); -extern long _IQ14atan2(long A, long B); -extern long _IQ13atan2(long A, long B); -extern long _IQ12atan2(long A, long B); -extern long _IQ11atan2(long A, long B); -extern long _IQ10atan2(long A, long B); -extern long _IQ9atan2(long A, long B); -extern long _IQ8atan2(long A, long B); -extern long _IQ7atan2(long A, long B); -extern long _IQ6atan2(long A, long B); -extern long _IQ5atan2(long A, long B); -extern long _IQ4atan2(long A, long B); -extern long _IQ3atan2(long A, long B); -extern long _IQ2atan2(long A, long B); -extern long _IQ1atan2(long A, long B); - -#if GLOBAL_Q == 30 -#define _IQatan2(A,B) _IQ30atan2(A,B) -#endif -#if GLOBAL_Q == 29 -#define _IQatan2(A,B) _IQ29atan2(A,B) -#endif -#if GLOBAL_Q == 28 -#define _IQatan2(A,B) _IQ28atan2(A,B) -#endif -#if GLOBAL_Q == 27 -#define _IQatan2(A,B) _IQ27atan2(A,B) -#endif -#if GLOBAL_Q == 26 -#define _IQatan2(A,B) _IQ26atan2(A,B) -#endif -#if GLOBAL_Q == 25 -#define _IQatan2(A,B) _IQ25atan2(A,B) -#endif -#if GLOBAL_Q == 24 -#define _IQatan2(A,B) _IQ24atan2(A,B) -#endif -#if GLOBAL_Q == 23 -#define _IQatan2(A,B) _IQ23atan2(A,B) -#endif -#if GLOBAL_Q == 22 -#define _IQatan2(A,B) _IQ22atan2(A,B) -#endif -#if GLOBAL_Q == 21 -#define _IQatan2(A,B) _IQ21atan2(A,B) -#endif -#if GLOBAL_Q == 20 -#define _IQatan2(A,B) _IQ20atan2(A,B) -#endif -#if GLOBAL_Q == 19 -#define _IQatan2(A,B) _IQ19atan2(A,B) -#endif -#if GLOBAL_Q == 18 -#define _IQatan2(A,B) _IQ18atan2(A,B) -#endif -#if GLOBAL_Q == 17 -#define _IQatan2(A,B) _IQ17atan2(A,B) -#endif -#if GLOBAL_Q == 16 -#define _IQatan2(A,B) _IQ16atan2(A,B) -#endif -#if GLOBAL_Q == 15 -#define _IQatan2(A,B) _IQ15atan2(A,B) -#endif -#if GLOBAL_Q == 14 -#define _IQatan2(A,B) _IQ14atan2(A,B) -#endif -#if GLOBAL_Q == 13 -#define _IQatan2(A,B) _IQ13atan2(A,B) -#endif -#if GLOBAL_Q == 12 -#define _IQatan2(A,B) _IQ12atan2(A,B) -#endif -#if GLOBAL_Q == 11 -#define _IQatan2(A,B) _IQ11atan2(A,B) -#endif -#if GLOBAL_Q == 10 -#define _IQatan2(A,B) _IQ10atan2(A,B) -#endif -#if GLOBAL_Q == 9 -#define _IQatan2(A,B) _IQ9atan2(A,B) -#endif -#if GLOBAL_Q == 8 -#define _IQatan2(A,B) _IQ8atan2(A,B) -#endif -#if GLOBAL_Q == 7 -#define _IQatan2(A,B) _IQ7atan2(A,B) -#endif -#if GLOBAL_Q == 6 -#define _IQatan2(A,B) _IQ6atan2(A,B) -#endif -#if GLOBAL_Q == 5 -#define _IQatan2(A,B) _IQ5atan2(A,B) -#endif -#if GLOBAL_Q == 4 -#define _IQatan2(A,B) _IQ4atan2(A,B) -#endif -#if GLOBAL_Q == 3 -#define _IQatan2(A,B) _IQ3atan2(A,B) -#endif -#if GLOBAL_Q == 2 -#define _IQatan2(A,B) _IQ2atan2(A,B) -#endif -#if GLOBAL_Q == 1 -#define _IQatan2(A,B) _IQ1atan2(A,B) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30atan2PU(long A, long B); -extern long _IQ29atan2PU(long A, long B); -extern long _IQ28atan2PU(long A, long B); -extern long _IQ27atan2PU(long A, long B); -extern long _IQ26atan2PU(long A, long B); -extern long _IQ25atan2PU(long A, long B); -extern long _IQ24atan2PU(long A, long B); -extern long _IQ23atan2PU(long A, long B); -extern long _IQ22atan2PU(long A, long B); -extern long _IQ21atan2PU(long A, long B); -extern long _IQ20atan2PU(long A, long B); -extern long _IQ19atan2PU(long A, long B); -extern long _IQ18atan2PU(long A, long B); -extern long _IQ17atan2PU(long A, long B); -extern long _IQ16atan2PU(long A, long B); -extern long _IQ15atan2PU(long A, long B); -extern long _IQ14atan2PU(long A, long B); -extern long _IQ13atan2PU(long A, long B); -extern long _IQ12atan2PU(long A, long B); -extern long _IQ11atan2PU(long A, long B); -extern long _IQ10atan2PU(long A, long B); -extern long _IQ9atan2PU(long A, long B); -extern long _IQ8atan2PU(long A, long B); -extern long _IQ7atan2PU(long A, long B); -extern long _IQ6atan2PU(long A, long B); -extern long _IQ5atan2PU(long A, long B); -extern long _IQ4atan2PU(long A, long B); -extern long _IQ3atan2PU(long A, long B); -extern long _IQ2atan2PU(long A, long B); -extern long _IQ1atan2PU(long A, long B); - -#if GLOBAL_Q == 30 -#define _IQatan2PU(A,B) _IQ30atan2PU(A,B) -#endif -#if GLOBAL_Q == 29 -#define _IQatan2PU(A,B) _IQ29atan2PU(A,B) -#endif -#if GLOBAL_Q == 28 -#define _IQatan2PU(A,B) _IQ28atan2PU(A,B) -#endif -#if GLOBAL_Q == 27 -#define _IQatan2PU(A,B) _IQ27atan2PU(A,B) -#endif -#if GLOBAL_Q == 26 -#define _IQatan2PU(A,B) _IQ26atan2PU(A,B) -#endif -#if GLOBAL_Q == 25 -#define _IQatan2PU(A,B) _IQ25atan2PU(A,B) -#endif -#if GLOBAL_Q == 24 -#define _IQatan2PU(A,B) _IQ24atan2PU(A,B) -#endif -#if GLOBAL_Q == 23 -#define _IQatan2PU(A,B) _IQ23atan2PU(A,B) -#endif -#if GLOBAL_Q == 22 -#define _IQatan2PU(A,B) _IQ22atan2PU(A,B) -#endif -#if GLOBAL_Q == 21 -#define _IQatan2PU(A,B) _IQ21atan2PU(A,B) -#endif -#if GLOBAL_Q == 20 -#define _IQatan2PU(A,B) _IQ20atan2PU(A,B) -#endif -#if GLOBAL_Q == 19 -#define _IQatan2PU(A,B) _IQ19atan2PU(A,B) -#endif -#if GLOBAL_Q == 18 -#define _IQatan2PU(A,B) _IQ18atan2PU(A,B) -#endif -#if GLOBAL_Q == 17 -#define _IQatan2PU(A,B) _IQ17atan2PU(A,B) -#endif -#if GLOBAL_Q == 16 -#define _IQatan2PU(A,B) _IQ16atan2PU(A,B) -#endif -#if GLOBAL_Q == 15 -#define _IQatan2PU(A,B) _IQ15atan2PU(A,B) -#endif -#if GLOBAL_Q == 14 -#define _IQatan2PU(A,B) _IQ14atan2PU(A,B) -#endif -#if GLOBAL_Q == 13 -#define _IQatan2PU(A,B) _IQ13atan2PU(A,B) -#endif -#if GLOBAL_Q == 12 -#define _IQatan2PU(A,B) _IQ12atan2PU(A,B) -#endif -#if GLOBAL_Q == 11 -#define _IQatan2PU(A,B) _IQ11atan2PU(A,B) -#endif -#if GLOBAL_Q == 10 -#define _IQatan2PU(A,B) _IQ10atan2PU(A,B) -#endif -#if GLOBAL_Q == 9 -#define _IQatan2PU(A,B) _IQ9atan2PU(A,B) -#endif -#if GLOBAL_Q == 8 -#define _IQatan2PU(A,B) _IQ8atan2PU(A,B) -#endif -#if GLOBAL_Q == 7 -#define _IQatan2PU(A,B) _IQ7atan2PU(A,B) -#endif -#if GLOBAL_Q == 6 -#define _IQatan2PU(A,B) _IQ6atan2PU(A,B) -#endif -#if GLOBAL_Q == 5 -#define _IQatan2PU(A,B) _IQ5atan2PU(A,B) -#endif -#if GLOBAL_Q == 4 -#define _IQatan2PU(A,B) _IQ4atan2PU(A,B) -#endif -#if GLOBAL_Q == 3 -#define _IQatan2PU(A,B) _IQ3atan2PU(A,B) -#endif -#if GLOBAL_Q == 2 -#define _IQatan2PU(A,B) _IQ2atan2PU(A,B) -#endif -#if GLOBAL_Q == 1 -#define _IQatan2PU(A,B) _IQ1atan2PU(A,B) -#endif -//--------------------------------------------------------------------------- -#define _IQ30atan(A) _IQ30atan2(A,_IQ30(1.0)) -#define _IQ29atan(A) _IQ29atan2(A,_IQ29(1.0)) -#define _IQ28atan(A) _IQ28atan2(A,_IQ28(1.0)) -#define _IQ27atan(A) _IQ27atan2(A,_IQ27(1.0)) -#define _IQ26atan(A) _IQ26atan2(A,_IQ26(1.0)) -#define _IQ25atan(A) _IQ25atan2(A,_IQ25(1.0)) -#define _IQ24atan(A) _IQ24atan2(A,_IQ24(1.0)) -#define _IQ23atan(A) _IQ23atan2(A,_IQ23(1.0)) -#define _IQ22atan(A) _IQ22atan2(A,_IQ22(1.0)) -#define _IQ21atan(A) _IQ21atan2(A,_IQ21(1.0)) -#define _IQ20atan(A) _IQ20atan2(A,_IQ20(1.0)) -#define _IQ19atan(A) _IQ19atan2(A,_IQ19(1.0)) -#define _IQ18atan(A) _IQ18atan2(A,_IQ18(1.0)) -#define _IQ17atan(A) _IQ17atan2(A,_IQ17(1.0)) -#define _IQ16atan(A) _IQ16atan2(A,_IQ16(1.0)) -#define _IQ15atan(A) _IQ15atan2(A,_IQ15(1.0)) -#define _IQ14atan(A) _IQ14atan2(A,_IQ14(1.0)) -#define _IQ13atan(A) _IQ13atan2(A,_IQ13(1.0)) -#define _IQ12atan(A) _IQ12atan2(A,_IQ12(1.0)) -#define _IQ11atan(A) _IQ11atan2(A,_IQ11(1.0)) -#define _IQ10atan(A) _IQ10atan2(A,_IQ10(1.0)) -#define _IQ9atan(A) _IQ9atan2(A,_IQ9(1.0)) -#define _IQ8atan(A) _IQ8atan2(A,_IQ8(1.0)) -#define _IQ7atan(A) _IQ7atan2(A,_IQ7(1.0)) -#define _IQ6atan(A) _IQ6atan2(A,_IQ6(1.0)) -#define _IQ5atan(A) _IQ5atan2(A,_IQ5(1.0)) -#define _IQ4atan(A) _IQ4atan2(A,_IQ4(1.0)) -#define _IQ3atan(A) _IQ3atan2(A,_IQ3(1.0)) -#define _IQ2atan(A) _IQ2atan2(A,_IQ2(1.0)) -#define _IQ1atan(A) _IQ1atan2(A,_IQ1(1.0)) -#if GLOBAL_Q == 30 -#define _IQatan(A) _IQ30atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 29 -#define _IQatan(A) _IQ29atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 28 -#define _IQatan(A) _IQ28atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 27 -#define _IQatan(A) _IQ27atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 26 -#define _IQatan(A) _IQ26atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 25 -#define _IQatan(A) _IQ25atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 24 -#define _IQatan(A) _IQ24atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 23 -#define _IQatan(A) _IQ23atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 22 -#define _IQatan(A) _IQ22atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 21 -#define _IQatan(A) _IQ21atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 20 -#define _IQatan(A) _IQ20atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 19 -#define _IQatan(A) _IQ19atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 18 -#define _IQatan(A) _IQ18atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 17 -#define _IQatan(A) _IQ17atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 16 -#define _IQatan(A) _IQ16atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 15 -#define _IQatan(A) _IQ15atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 14 -#define _IQatan(A) _IQ14atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 13 -#define _IQatan(A) _IQ13atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 12 -#define _IQatan(A) _IQ12atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 11 -#define _IQatan(A) _IQ11atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 10 -#define _IQatan(A) _IQ10atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 9 -#define _IQatan(A) _IQ9atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 8 -#define _IQatan(A) _IQ8atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 7 -#define _IQatan(A) _IQ7atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 6 -#define _IQatan(A) _IQ6atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 5 -#define _IQatan(A) _IQ5atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 4 -#define _IQatan(A) _IQ4atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 3 -#define _IQatan(A) _IQ3atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 2 -#define _IQatan(A) _IQ2atan2(A,_IQ(1.0)) -#endif -#if GLOBAL_Q == 1 -#define _IQatan(A) _IQ1atan2(A,_IQ(1.0)) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30sqrt(long A); -extern long _IQ29sqrt(long A); -extern long _IQ28sqrt(long A); -extern long _IQ27sqrt(long A); -extern long _IQ26sqrt(long A); -extern long _IQ25sqrt(long A); -extern long _IQ24sqrt(long A); -extern long _IQ23sqrt(long A); -extern long _IQ22sqrt(long A); -extern long _IQ21sqrt(long A); -extern long _IQ20sqrt(long A); -extern long _IQ19sqrt(long A); -extern long _IQ18sqrt(long A); -extern long _IQ17sqrt(long A); -extern long _IQ16sqrt(long A); -extern long _IQ15sqrt(long A); -extern long _IQ14sqrt(long A); -extern long _IQ13sqrt(long A); -extern long _IQ12sqrt(long A); -extern long _IQ11sqrt(long A); -extern long _IQ10sqrt(long A); -extern long _IQ9sqrt(long A); -extern long _IQ8sqrt(long A); -extern long _IQ7sqrt(long A); -extern long _IQ6sqrt(long A); -extern long _IQ5sqrt(long A); -extern long _IQ4sqrt(long A); -extern long _IQ3sqrt(long A); -extern long _IQ2sqrt(long A); -extern long _IQ1sqrt(long A); - -#if GLOBAL_Q == 30 -#define _IQsqrt(A) _IQ30sqrt(A) -#endif -#if GLOBAL_Q == 29 -#define _IQsqrt(A) _IQ29sqrt(A) -#endif -#if GLOBAL_Q == 28 -#define _IQsqrt(A) _IQ28sqrt(A) -#endif -#if GLOBAL_Q == 27 -#define _IQsqrt(A) _IQ27sqrt(A) -#endif -#if GLOBAL_Q == 26 -#define _IQsqrt(A) _IQ26sqrt(A) -#endif -#if GLOBAL_Q == 25 -#define _IQsqrt(A) _IQ25sqrt(A) -#endif -#if GLOBAL_Q == 24 -#define _IQsqrt(A) _IQ24sqrt(A) -#endif -#if GLOBAL_Q == 23 -#define _IQsqrt(A) _IQ23sqrt(A) -#endif -#if GLOBAL_Q == 22 -#define _IQsqrt(A) _IQ22sqrt(A) -#endif -#if GLOBAL_Q == 21 -#define _IQsqrt(A) _IQ21sqrt(A) -#endif -#if GLOBAL_Q == 20 -#define _IQsqrt(A) _IQ20sqrt(A) -#endif -#if GLOBAL_Q == 19 -#define _IQsqrt(A) _IQ19sqrt(A) -#endif -#if GLOBAL_Q == 18 -#define _IQsqrt(A) _IQ18sqrt(A) -#endif -#if GLOBAL_Q == 17 -#define _IQsqrt(A) _IQ17sqrt(A) -#endif -#if GLOBAL_Q == 16 -#define _IQsqrt(A) _IQ16sqrt(A) -#endif -#if GLOBAL_Q == 15 -#define _IQsqrt(A) _IQ15sqrt(A) -#endif -#if GLOBAL_Q == 14 -#define _IQsqrt(A) _IQ14sqrt(A) -#endif -#if GLOBAL_Q == 13 -#define _IQsqrt(A) _IQ13sqrt(A) -#endif -#if GLOBAL_Q == 12 -#define _IQsqrt(A) _IQ12sqrt(A) -#endif -#if GLOBAL_Q == 11 -#define _IQsqrt(A) _IQ11sqrt(A) -#endif -#if GLOBAL_Q == 10 -#define _IQsqrt(A) _IQ10sqrt(A) -#endif -#if GLOBAL_Q == 9 -#define _IQsqrt(A) _IQ9sqrt(A) -#endif -#if GLOBAL_Q == 8 -#define _IQsqrt(A) _IQ8sqrt(A) -#endif -#if GLOBAL_Q == 7 -#define _IQsqrt(A) _IQ7sqrt(A) -#endif -#if GLOBAL_Q == 6 -#define _IQsqrt(A) _IQ6sqrt(A) -#endif -#if GLOBAL_Q == 5 -#define _IQsqrt(A) _IQ5sqrt(A) -#endif -#if GLOBAL_Q == 4 -#define _IQsqrt(A) _IQ4sqrt(A) -#endif -#if GLOBAL_Q == 3 -#define _IQsqrt(A) _IQ3sqrt(A) -#endif -#if GLOBAL_Q == 2 -#define _IQsqrt(A) _IQ2sqrt(A) -#endif -#if GLOBAL_Q == 1 -#define _IQsqrt(A) _IQ1sqrt(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30isqrt(long A); -extern long _IQ29isqrt(long A); -extern long _IQ28isqrt(long A); -extern long _IQ27isqrt(long A); -extern long _IQ26isqrt(long A); -extern long _IQ25isqrt(long A); -extern long _IQ24isqrt(long A); -extern long _IQ23isqrt(long A); -extern long _IQ22isqrt(long A); -extern long _IQ21isqrt(long A); -extern long _IQ20isqrt(long A); -extern long _IQ19isqrt(long A); -extern long _IQ18isqrt(long A); -extern long _IQ17isqrt(long A); -extern long _IQ16isqrt(long A); -extern long _IQ15isqrt(long A); -extern long _IQ14isqrt(long A); -extern long _IQ13isqrt(long A); -extern long _IQ12isqrt(long A); -extern long _IQ11isqrt(long A); -extern long _IQ10isqrt(long A); -extern long _IQ9isqrt(long A); -extern long _IQ8isqrt(long A); -extern long _IQ7isqrt(long A); -extern long _IQ6isqrt(long A); -extern long _IQ5isqrt(long A); -extern long _IQ4isqrt(long A); -extern long _IQ3isqrt(long A); -extern long _IQ2isqrt(long A); -extern long _IQ1isqrt(long A); - -#if GLOBAL_Q == 30 -#define _IQisqrt(A) _IQ30isqrt(A) -#endif -#if GLOBAL_Q == 29 -#define _IQisqrt(A) _IQ29isqrt(A) -#endif -#if GLOBAL_Q == 28 -#define _IQisqrt(A) _IQ28isqrt(A) -#endif -#if GLOBAL_Q == 27 -#define _IQisqrt(A) _IQ27isqrt(A) -#endif -#if GLOBAL_Q == 26 -#define _IQisqrt(A) _IQ26isqrt(A) -#endif -#if GLOBAL_Q == 25 -#define _IQisqrt(A) _IQ25isqrt(A) -#endif -#if GLOBAL_Q == 24 -#define _IQisqrt(A) _IQ24isqrt(A) -#endif -#if GLOBAL_Q == 23 -#define _IQisqrt(A) _IQ23isqrt(A) -#endif -#if GLOBAL_Q == 22 -#define _IQisqrt(A) _IQ22isqrt(A) -#endif -#if GLOBAL_Q == 21 -#define _IQisqrt(A) _IQ21isqrt(A) -#endif -#if GLOBAL_Q == 20 -#define _IQisqrt(A) _IQ20isqrt(A) -#endif -#if GLOBAL_Q == 19 -#define _IQisqrt(A) _IQ19isqrt(A) -#endif -#if GLOBAL_Q == 18 -#define _IQisqrt(A) _IQ18isqrt(A) -#endif -#if GLOBAL_Q == 17 -#define _IQisqrt(A) _IQ17isqrt(A) -#endif -#if GLOBAL_Q == 16 -#define _IQisqrt(A) _IQ16isqrt(A) -#endif -#if GLOBAL_Q == 15 -#define _IQisqrt(A) _IQ15isqrt(A) -#endif -#if GLOBAL_Q == 14 -#define _IQisqrt(A) _IQ14isqrt(A) -#endif -#if GLOBAL_Q == 13 -#define _IQisqrt(A) _IQ13isqrt(A) -#endif -#if GLOBAL_Q == 12 -#define _IQisqrt(A) _IQ12isqrt(A) -#endif -#if GLOBAL_Q == 11 -#define _IQisqrt(A) _IQ11isqrt(A) -#endif -#if GLOBAL_Q == 10 -#define _IQisqrt(A) _IQ10isqrt(A) -#endif -#if GLOBAL_Q == 9 -#define _IQisqrt(A) _IQ9isqrt(A) -#endif -#if GLOBAL_Q == 8 -#define _IQisqrt(A) _IQ8isqrt(A) -#endif -#if GLOBAL_Q == 7 -#define _IQisqrt(A) _IQ7isqrt(A) -#endif -#if GLOBAL_Q == 6 -#define _IQisqrt(A) _IQ6isqrt(A) -#endif -#if GLOBAL_Q == 5 -#define _IQisqrt(A) _IQ5isqrt(A) -#endif -#if GLOBAL_Q == 4 -#define _IQisqrt(A) _IQ4isqrt(A) -#endif -#if GLOBAL_Q == 3 -#define _IQisqrt(A) _IQ3isqrt(A) -#endif -#if GLOBAL_Q == 2 -#define _IQisqrt(A) _IQ2isqrt(A) -#endif -#if GLOBAL_Q == 1 -#define _IQisqrt(A) _IQ1isqrt(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30exp(long A); -extern long _IQ29exp(long A); -extern long _IQ28exp(long A); -extern long _IQ27exp(long A); -extern long _IQ26exp(long A); -extern long _IQ25exp(long A); -extern long _IQ24exp(long A); -extern long _IQ23exp(long A); -extern long _IQ22exp(long A); -extern long _IQ21exp(long A); -extern long _IQ20exp(long A); -extern long _IQ19exp(long A); -extern long _IQ18exp(long A); -extern long _IQ17exp(long A); -extern long _IQ16exp(long A); -extern long _IQ15exp(long A); -extern long _IQ14exp(long A); -extern long _IQ13exp(long A); -extern long _IQ12exp(long A); -extern long _IQ11exp(long A); -extern long _IQ10exp(long A); -extern long _IQ9exp(long A); -extern long _IQ8exp(long A); -extern long _IQ7exp(long A); -extern long _IQ6exp(long A); -extern long _IQ5exp(long A); -extern long _IQ4exp(long A); -extern long _IQ3exp(long A); -extern long _IQ2exp(long A); -extern long _IQ1exp(long A); - -#if GLOBAL_Q == 30 -#define _IQexp(A) _IQ30exp(A) -#endif -#if GLOBAL_Q == 29 -#define _IQexp(A) _IQ29exp(A) -#endif -#if GLOBAL_Q == 28 -#define _IQexp(A) _IQ28exp(A) -#endif -#if GLOBAL_Q == 27 -#define _IQexp(A) _IQ27exp(A) -#endif -#if GLOBAL_Q == 26 -#define _IQexp(A) _IQ26exp(A) -#endif -#if GLOBAL_Q == 25 -#define _IQexp(A) _IQ25exp(A) -#endif -#if GLOBAL_Q == 24 -#define _IQexp(A) _IQ24exp(A) -#endif -#if GLOBAL_Q == 23 -#define _IQexp(A) _IQ23exp(A) -#endif -#if GLOBAL_Q == 22 -#define _IQexp(A) _IQ22exp(A) -#endif -#if GLOBAL_Q == 21 -#define _IQexp(A) _IQ21exp(A) -#endif -#if GLOBAL_Q == 20 -#define _IQexp(A) _IQ20exp(A) -#endif -#if GLOBAL_Q == 19 -#define _IQexp(A) _IQ19exp(A) -#endif -#if GLOBAL_Q == 18 -#define _IQexp(A) _IQ18exp(A) -#endif -#if GLOBAL_Q == 17 -#define _IQexp(A) _IQ17exp(A) -#endif -#if GLOBAL_Q == 16 -#define _IQexp(A) _IQ16exp(A) -#endif -#if GLOBAL_Q == 15 -#define _IQexp(A) _IQ15exp(A) -#endif -#if GLOBAL_Q == 14 -#define _IQexp(A) _IQ14exp(A) -#endif -#if GLOBAL_Q == 13 -#define _IQexp(A) _IQ13exp(A) -#endif -#if GLOBAL_Q == 12 -#define _IQexp(A) _IQ12exp(A) -#endif -#if GLOBAL_Q == 11 -#define _IQexp(A) _IQ11exp(A) -#endif -#if GLOBAL_Q == 10 -#define _IQexp(A) _IQ10exp(A) -#endif -#if GLOBAL_Q == 9 -#define _IQexp(A) _IQ9exp(A) -#endif -#if GLOBAL_Q == 8 -#define _IQexp(A) _IQ8exp(A) -#endif -#if GLOBAL_Q == 7 -#define _IQexp(A) _IQ7exp(A) -#endif -#if GLOBAL_Q == 6 -#define _IQexp(A) _IQ6exp(A) -#endif -#if GLOBAL_Q == 5 -#define _IQexp(A) _IQ5exp(A) -#endif -#if GLOBAL_Q == 4 -#define _IQexp(A) _IQ4exp(A) -#endif -#if GLOBAL_Q == 3 -#define _IQexp(A) _IQ3exp(A) -#endif -#if GLOBAL_Q == 2 -#define _IQexp(A) _IQ2exp(A) -#endif -#if GLOBAL_Q == 1 -#define _IQexp(A) _IQ1exp(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30int(long A); -extern long _IQ29int(long A); -extern long _IQ28int(long A); -extern long _IQ27int(long A); -extern long _IQ26int(long A); -extern long _IQ25int(long A); -extern long _IQ24int(long A); -extern long _IQ23int(long A); -extern long _IQ22int(long A); -extern long _IQ21int(long A); -extern long _IQ20int(long A); -extern long _IQ19int(long A); -extern long _IQ18int(long A); -extern long _IQ17int(long A); -extern long _IQ16int(long A); -extern long _IQ15int(long A); -extern long _IQ14int(long A); -extern long _IQ13int(long A); -extern long _IQ12int(long A); -extern long _IQ11int(long A); -extern long _IQ10int(long A); -extern long _IQ9int(long A); -extern long _IQ8int(long A); -extern long _IQ7int(long A); -extern long _IQ6int(long A); -extern long _IQ5int(long A); -extern long _IQ4int(long A); -extern long _IQ3int(long A); -extern long _IQ2int(long A); -extern long _IQ1int(long A); - -#if GLOBAL_Q == 30 -#define _IQint(A) _IQ30int(A) -#endif -#if GLOBAL_Q == 29 -#define _IQint(A) _IQ29int(A) -#endif -#if GLOBAL_Q == 28 -#define _IQint(A) _IQ28int(A) -#endif -#if GLOBAL_Q == 27 -#define _IQint(A) _IQ27int(A) -#endif -#if GLOBAL_Q == 26 -#define _IQint(A) _IQ26int(A) -#endif -#if GLOBAL_Q == 25 -#define _IQint(A) _IQ25int(A) -#endif -#if GLOBAL_Q == 24 -#define _IQint(A) _IQ24int(A) -#endif -#if GLOBAL_Q == 23 -#define _IQint(A) _IQ23int(A) -#endif -#if GLOBAL_Q == 22 -#define _IQint(A) _IQ22int(A) -#endif -#if GLOBAL_Q == 21 -#define _IQint(A) _IQ21int(A) -#endif -#if GLOBAL_Q == 20 -#define _IQint(A) _IQ20int(A) -#endif -#if GLOBAL_Q == 19 -#define _IQint(A) _IQ19int(A) -#endif -#if GLOBAL_Q == 18 -#define _IQint(A) _IQ18int(A) -#endif -#if GLOBAL_Q == 17 -#define _IQint(A) _IQ17int(A) -#endif -#if GLOBAL_Q == 16 -#define _IQint(A) _IQ16int(A) -#endif -#if GLOBAL_Q == 15 -#define _IQint(A) _IQ15int(A) -#endif -#if GLOBAL_Q == 14 -#define _IQint(A) _IQ14int(A) -#endif -#if GLOBAL_Q == 13 -#define _IQint(A) _IQ13int(A) -#endif -#if GLOBAL_Q == 12 -#define _IQint(A) _IQ12int(A) -#endif -#if GLOBAL_Q == 11 -#define _IQint(A) _IQ11int(A) -#endif -#if GLOBAL_Q == 10 -#define _IQint(A) _IQ10int(A) -#endif -#if GLOBAL_Q == 9 -#define _IQint(A) _IQ9int(A) -#endif -#if GLOBAL_Q == 8 -#define _IQint(A) _IQ8int(A) -#endif -#if GLOBAL_Q == 7 -#define _IQint(A) _IQ7int(A) -#endif -#if GLOBAL_Q == 6 -#define _IQint(A) _IQ6int(A) -#endif -#if GLOBAL_Q == 5 -#define _IQint(A) _IQ5int(A) -#endif -#if GLOBAL_Q == 4 -#define _IQint(A) _IQ4int(A) -#endif -#if GLOBAL_Q == 3 -#define _IQint(A) _IQ3int(A) -#endif -#if GLOBAL_Q == 2 -#define _IQint(A) _IQ2int(A) -#endif -#if GLOBAL_Q == 1 -#define _IQint(A) _IQ1int(A) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30frac(long A); -extern long _IQ29frac(long A); -extern long _IQ28frac(long A); -extern long _IQ27frac(long A); -extern long _IQ26frac(long A); -extern long _IQ25frac(long A); -extern long _IQ24frac(long A); -extern long _IQ23frac(long A); -extern long _IQ22frac(long A); -extern long _IQ21frac(long A); -extern long _IQ20frac(long A); -extern long _IQ19frac(long A); -extern long _IQ18frac(long A); -extern long _IQ17frac(long A); -extern long _IQ16frac(long A); -extern long _IQ15frac(long A); -extern long _IQ14frac(long A); -extern long _IQ13frac(long A); -extern long _IQ12frac(long A); -extern long _IQ11frac(long A); -extern long _IQ10frac(long A); -extern long _IQ9frac(long A); -extern long _IQ8frac(long A); -extern long _IQ7frac(long A); -extern long _IQ6frac(long A); -extern long _IQ5frac(long A); -extern long _IQ4frac(long A); -extern long _IQ3frac(long A); -extern long _IQ2frac(long A); -extern long _IQ1frac(long A); - -#if GLOBAL_Q == 30 -#define _IQfrac(A) _IQ30frac(A) -#endif -#if GLOBAL_Q == 29 -#define _IQfrac(A) _IQ29frac(A) -#endif -#if GLOBAL_Q == 28 -#define _IQfrac(A) _IQ28frac(A) -#endif -#if GLOBAL_Q == 27 -#define _IQfrac(A) _IQ27frac(A) -#endif -#if GLOBAL_Q == 26 -#define _IQfrac(A) _IQ26frac(A) -#endif -#if GLOBAL_Q == 25 -#define _IQfrac(A) _IQ25frac(A) -#endif -#if GLOBAL_Q == 24 -#define _IQfrac(A) _IQ24frac(A) -#endif -#if GLOBAL_Q == 23 -#define _IQfrac(A) _IQ23frac(A) -#endif -#if GLOBAL_Q == 22 -#define _IQfrac(A) _IQ22frac(A) -#endif -#if GLOBAL_Q == 21 -#define _IQfrac(A) _IQ21frac(A) -#endif -#if GLOBAL_Q == 20 -#define _IQfrac(A) _IQ20frac(A) -#endif -#if GLOBAL_Q == 19 -#define _IQfrac(A) _IQ19frac(A) -#endif -#if GLOBAL_Q == 18 -#define _IQfrac(A) _IQ18frac(A) -#endif -#if GLOBAL_Q == 17 -#define _IQfrac(A) _IQ17frac(A) -#endif -#if GLOBAL_Q == 16 -#define _IQfrac(A) _IQ16frac(A) -#endif -#if GLOBAL_Q == 15 -#define _IQfrac(A) _IQ15frac(A) -#endif -#if GLOBAL_Q == 14 -#define _IQfrac(A) _IQ14frac(A) -#endif -#if GLOBAL_Q == 13 -#define _IQfrac(A) _IQ13frac(A) -#endif -#if GLOBAL_Q == 12 -#define _IQfrac(A) _IQ12frac(A) -#endif -#if GLOBAL_Q == 11 -#define _IQfrac(A) _IQ11frac(A) -#endif -#if GLOBAL_Q == 10 -#define _IQfrac(A) _IQ10frac(A) -#endif -#if GLOBAL_Q == 9 -#define _IQfrac(A) _IQ9frac(A) -#endif -#if GLOBAL_Q == 8 -#define _IQfrac(A) _IQ8frac(A) -#endif -#if GLOBAL_Q == 7 -#define _IQfrac(A) _IQ7frac(A) -#endif -#if GLOBAL_Q == 6 -#define _IQfrac(A) _IQ6frac(A) -#endif -#if GLOBAL_Q == 5 -#define _IQfrac(A) _IQ5frac(A) -#endif -#if GLOBAL_Q == 4 -#define _IQfrac(A) _IQ4frac(A) -#endif -#if GLOBAL_Q == 3 -#define _IQfrac(A) _IQ3frac(A) -#endif -#if GLOBAL_Q == 2 -#define _IQfrac(A) _IQ2frac(A) -#endif -#if GLOBAL_Q == 1 -#define _IQfrac(A) _IQ1frac(A) -#endif -//--------------------------------------------------------------------------- -#define _IQmpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (GLOBAL_Q + 32 - IQA - IQB)) -#define _IQ30mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (30 + 32 - IQA - IQB)) -#define _IQ29mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (29 + 32 - IQA - IQB)) -#define _IQ28mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (28 + 32 - IQA - IQB)) -#define _IQ27mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (27 + 32 - IQA - IQB)) -#define _IQ26mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (26 + 32 - IQA - IQB)) -#define _IQ25mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (25 + 32 - IQA - IQB)) -#define _IQ24mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (24 + 32 - IQA - IQB)) -#define _IQ23mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (23 + 32 - IQA - IQB)) -#define _IQ22mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (22 + 32 - IQA - IQB)) -#define _IQ21mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (21 + 32 - IQA - IQB)) -#define _IQ20mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (20 + 32 - IQA - IQB)) -#define _IQ19mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (19 + 32 - IQA - IQB)) -#define _IQ18mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (18 + 32 - IQA - IQB)) -#define _IQ17mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (17 + 32 - IQA - IQB)) -#define _IQ16mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (16 + 32 - IQA - IQB)) -#define _IQ15mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (15 + 32 - IQA - IQB)) -#define _IQ14mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (14 + 32 - IQA - IQB)) -#define _IQ13mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (13 + 32 - IQA - IQB)) -#define _IQ12mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (12 + 32 - IQA - IQB)) -#define _IQ11mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (11 + 32 - IQA - IQB)) -#define _IQ10mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (10 + 32 - IQA - IQB)) -#define _IQ9mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (9 + 32 - IQA - IQB)) -#define _IQ8mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (8 + 32 - IQA - IQB)) -#define _IQ7mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (7 + 32 - IQA - IQB)) -#define _IQ6mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (6 + 32 - IQA - IQB)) -#define _IQ5mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (5 + 32 - IQA - IQB)) -#define _IQ4mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (4 + 32 - IQA - IQB)) -#define _IQ3mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (3 + 32 - IQA - IQB)) -#define _IQ2mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (2 + 32 - IQA - IQB)) -#define _IQ1mpyIQX(A, IQA, B, IQB) __IQxmpy(A, B, (1 + 32 - IQA - IQB)) -//--------------------------------------------------------------------------- -#define _IQmpyI32(A,B) ((A)*(B)) -#define _IQ30mpyI32(A,B) ((A)*(B)) -#define _IQ29mpyI32(A,B) ((A)*(B)) -#define _IQ28mpyI32(A,B) ((A)*(B)) -#define _IQ27mpyI32(A,B) ((A)*(B)) -#define _IQ26mpyI32(A,B) ((A)*(B)) -#define _IQ25mpyI32(A,B) ((A)*(B)) -#define _IQ24mpyI32(A,B) ((A)*(B)) -#define _IQ23mpyI32(A,B) ((A)*(B)) -#define _IQ22mpyI32(A,B) ((A)*(B)) -#define _IQ21mpyI32(A,B) ((A)*(B)) -#define _IQ20mpyI32(A,B) ((A)*(B)) -#define _IQ19mpyI32(A,B) ((A)*(B)) -#define _IQ18mpyI32(A,B) ((A)*(B)) -#define _IQ17mpyI32(A,B) ((A)*(B)) -#define _IQ16mpyI32(A,B) ((A)*(B)) -#define _IQ15mpyI32(A,B) ((A)*(B)) -#define _IQ14mpyI32(A,B) ((A)*(B)) -#define _IQ13mpyI32(A,B) ((A)*(B)) -#define _IQ12mpyI32(A,B) ((A)*(B)) -#define _IQ11mpyI32(A,B) ((A)*(B)) -#define _IQ10mpyI32(A,B) ((A)*(B)) -#define _IQ9mpyI32(A,B) ((A)*(B)) -#define _IQ8mpyI32(A,B) ((A)*(B)) -#define _IQ7mpyI32(A,B) ((A)*(B)) -#define _IQ6mpyI32(A,B) ((A)*(B)) -#define _IQ5mpyI32(A,B) ((A)*(B)) -#define _IQ4mpyI32(A,B) ((A)*(B)) -#define _IQ3mpyI32(A,B) ((A)*(B)) -#define _IQ2mpyI32(A,B) ((A)*(B)) -#define _IQ1mpyI32(A,B) ((A)*(B)) -//--------------------------------------------------------------------------- -extern long _IQ30mpyI32int(long A, long B); -extern long _IQ29mpyI32int(long A, long B); -extern long _IQ28mpyI32int(long A, long B); -extern long _IQ27mpyI32int(long A, long B); -extern long _IQ26mpyI32int(long A, long B); -extern long _IQ25mpyI32int(long A, long B); -extern long _IQ24mpyI32int(long A, long B); -extern long _IQ23mpyI32int(long A, long B); -extern long _IQ22mpyI32int(long A, long B); -extern long _IQ21mpyI32int(long A, long B); -extern long _IQ20mpyI32int(long A, long B); -extern long _IQ19mpyI32int(long A, long B); -extern long _IQ18mpyI32int(long A, long B); -extern long _IQ17mpyI32int(long A, long B); -extern long _IQ16mpyI32int(long A, long B); -extern long _IQ15mpyI32int(long A, long B); -extern long _IQ14mpyI32int(long A, long B); -extern long _IQ13mpyI32int(long A, long B); -extern long _IQ12mpyI32int(long A, long B); -extern long _IQ11mpyI32int(long A, long B); -extern long _IQ10mpyI32int(long A, long B); -extern long _IQ9mpyI32int(long A, long B); -extern long _IQ8mpyI32int(long A, long B); -extern long _IQ7mpyI32int(long A, long B); -extern long _IQ6mpyI32int(long A, long B); -extern long _IQ5mpyI32int(long A, long B); -extern long _IQ4mpyI32int(long A, long B); -extern long _IQ3mpyI32int(long A, long B); -extern long _IQ2mpyI32int(long A, long B); -extern long _IQ1mpyI32int(long A, long B); - -#if GLOBAL_Q == 30 -#define _IQmpyI32int(A, B) _IQ30mpyI32int(A, B) -#endif -#if GLOBAL_Q == 29 -#define _IQmpyI32int(A, B) _IQ29mpyI32int(A, B) -#endif -#if GLOBAL_Q == 28 -#define _IQmpyI32int(A, B) _IQ28mpyI32int(A, B) -#endif -#if GLOBAL_Q == 27 -#define _IQmpyI32int(A, B) _IQ27mpyI32int(A, B) -#endif -#if GLOBAL_Q == 26 -#define _IQmpyI32int(A, B) _IQ26mpyI32int(A, B) -#endif -#if GLOBAL_Q == 25 -#define _IQmpyI32int(A, B) _IQ25mpyI32int(A, B) -#endif -#if GLOBAL_Q == 24 -#define _IQmpyI32int(A, B) _IQ24mpyI32int(A, B) -#endif -#if GLOBAL_Q == 23 -#define _IQmpyI32int(A, B) _IQ23mpyI32int(A, B) -#endif -#if GLOBAL_Q == 22 -#define _IQmpyI32int(A, B) _IQ22mpyI32int(A, B) -#endif -#if GLOBAL_Q == 21 -#define _IQmpyI32int(A, B) _IQ21mpyI32int(A, B) -#endif -#if GLOBAL_Q == 20 -#define _IQmpyI32int(A, B) _IQ20mpyI32int(A, B) -#endif -#if GLOBAL_Q == 19 -#define _IQmpyI32int(A, B) _IQ19mpyI32int(A, B) -#endif -#if GLOBAL_Q == 18 -#define _IQmpyI32int(A, B) _IQ18mpyI32int(A, B) -#endif -#if GLOBAL_Q == 17 -#define _IQmpyI32int(A, B) _IQ17mpyI32int(A, B) -#endif -#if GLOBAL_Q == 16 -#define _IQmpyI32int(A, B) _IQ16mpyI32int(A, B) -#endif -#if GLOBAL_Q == 15 -#define _IQmpyI32int(A, B) _IQ15mpyI32int(A, B) -#endif -#if GLOBAL_Q == 14 -#define _IQmpyI32int(A, B) _IQ14mpyI32int(A, B) -#endif -#if GLOBAL_Q == 13 -#define _IQmpyI32int(A, B) _IQ13mpyI32int(A, B) -#endif -#if GLOBAL_Q == 12 -#define _IQmpyI32int(A, B) _IQ12mpyI32int(A, B) -#endif -#if GLOBAL_Q == 11 -#define _IQmpyI32int(A, B) _IQ11mpyI32int(A, B) -#endif -#if GLOBAL_Q == 10 -#define _IQmpyI32int(A, B) _IQ10mpyI32int(A, B) -#endif -#if GLOBAL_Q == 9 -#define _IQmpyI32int(A, B) _IQ9mpyI32int(A, B) -#endif -#if GLOBAL_Q == 8 -#define _IQmpyI32int(A, B) _IQ8mpyI32int(A, B) -#endif -#if GLOBAL_Q == 7 -#define _IQmpyI32int(A, B) _IQ7mpyI32int(A, B) -#endif -#if GLOBAL_Q == 6 -#define _IQmpyI32int(A, B) _IQ6mpyI32int(A, B) -#endif -#if GLOBAL_Q == 5 -#define _IQmpyI32int(A, B) _IQ5mpyI32int(A, B) -#endif -#if GLOBAL_Q == 4 -#define _IQmpyI32int(A, B) _IQ4mpyI32int(A, B) -#endif -#if GLOBAL_Q == 3 -#define _IQmpyI32int(A, B) _IQ3mpyI32int(A, B) -#endif -#if GLOBAL_Q == 2 -#define _IQmpyI32int(A, B) _IQ2mpyI32int(A, B) -#endif -#if GLOBAL_Q == 1 -#define _IQmpyI32int(A, B) _IQ1mpyI32int(A, B) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30mpyI32frac(long A, long B); -extern long _IQ29mpyI32frac(long A, long B); -extern long _IQ28mpyI32frac(long A, long B); -extern long _IQ27mpyI32frac(long A, long B); -extern long _IQ26mpyI32frac(long A, long B); -extern long _IQ25mpyI32frac(long A, long B); -extern long _IQ24mpyI32frac(long A, long B); -extern long _IQ23mpyI32frac(long A, long B); -extern long _IQ22mpyI32frac(long A, long B); -extern long _IQ21mpyI32frac(long A, long B); -extern long _IQ20mpyI32frac(long A, long B); -extern long _IQ19mpyI32frac(long A, long B); -extern long _IQ18mpyI32frac(long A, long B); -extern long _IQ17mpyI32frac(long A, long B); -extern long _IQ16mpyI32frac(long A, long B); -extern long _IQ15mpyI32frac(long A, long B); -extern long _IQ14mpyI32frac(long A, long B); -extern long _IQ13mpyI32frac(long A, long B); -extern long _IQ12mpyI32frac(long A, long B); -extern long _IQ11mpyI32frac(long A, long B); -extern long _IQ10mpyI32frac(long A, long B); -extern long _IQ9mpyI32frac(long A, long B); -extern long _IQ8mpyI32frac(long A, long B); -extern long _IQ7mpyI32frac(long A, long B); -extern long _IQ6mpyI32frac(long A, long B); -extern long _IQ5mpyI32frac(long A, long B); -extern long _IQ4mpyI32frac(long A, long B); -extern long _IQ3mpyI32frac(long A, long B); -extern long _IQ2mpyI32frac(long A, long B); -extern long _IQ1mpyI32frac(long A, long B); - -#if GLOBAL_Q == 30 -#define _IQmpyI32frac(A, B) _IQ30mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 29 -#define _IQmpyI32frac(A, B) _IQ29mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 28 -#define _IQmpyI32frac(A, B) _IQ28mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 27 -#define _IQmpyI32frac(A, B) _IQ27mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 26 -#define _IQmpyI32frac(A, B) _IQ26mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 25 -#define _IQmpyI32frac(A, B) _IQ25mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 24 -#define _IQmpyI32frac(A, B) _IQ24mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 23 -#define _IQmpyI32frac(A, B) _IQ23mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 22 -#define _IQmpyI32frac(A, B) _IQ22mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 21 -#define _IQmpyI32frac(A, B) _IQ21mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 20 -#define _IQmpyI32frac(A, B) _IQ20mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 19 -#define _IQmpyI32frac(A, B) _IQ19mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 18 -#define _IQmpyI32frac(A, B) _IQ18mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 17 -#define _IQmpyI32frac(A, B) _IQ17mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 16 -#define _IQmpyI32frac(A, B) _IQ16mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 15 -#define _IQmpyI32frac(A, B) _IQ15mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 14 -#define _IQmpyI32frac(A, B) _IQ14mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 13 -#define _IQmpyI32frac(A, B) _IQ13mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 12 -#define _IQmpyI32frac(A, B) _IQ12mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 11 -#define _IQmpyI32frac(A, B) _IQ11mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 10 -#define _IQmpyI32frac(A, B) _IQ10mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 9 -#define _IQmpyI32frac(A, B) _IQ9mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 8 -#define _IQmpyI32frac(A, B) _IQ8mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 7 -#define _IQmpyI32frac(A, B) _IQ7mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 6 -#define _IQmpyI32frac(A, B) _IQ6mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 5 -#define _IQmpyI32frac(A, B) _IQ5mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 4 -#define _IQmpyI32frac(A, B) _IQ4mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 3 -#define _IQmpyI32frac(A, B) _IQ3mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 2 -#define _IQmpyI32frac(A, B) _IQ2mpyI32frac(A, B) -#endif -#if GLOBAL_Q == 1 -#define _IQmpyI32frac(A, B) _IQ1mpyI32frac(A, B) -#endif -//--------------------------------------------------------------------------- -extern long _IQ30mag(long A, long B); -extern long _IQ29mag(long A, long B); -extern long _IQ28mag(long A, long B); -extern long _IQ27mag(long A, long B); -extern long _IQ26mag(long A, long B); -extern long _IQ25mag(long A, long B); -extern long _IQ24mag(long A, long B); -extern long _IQ23mag(long A, long B); -extern long _IQ22mag(long A, long B); -extern long _IQ21mag(long A, long B); -extern long _IQ20mag(long A, long B); -extern long _IQ19mag(long A, long B); -extern long _IQ18mag(long A, long B); -extern long _IQ17mag(long A, long B); -extern long _IQ16mag(long A, long B); -extern long _IQ15mag(long A, long B); -extern long _IQ14mag(long A, long B); -extern long _IQ13mag(long A, long B); -extern long _IQ12mag(long A, long B); -extern long _IQ11mag(long A, long B); -extern long _IQ10mag(long A, long B); -extern long _IQ9mag(long A, long B); -extern long _IQ8mag(long A, long B); -extern long _IQ7mag(long A, long B); -extern long _IQ6mag(long A, long B); -extern long _IQ5mag(long A, long B); -extern long _IQ4mag(long A, long B); -extern long _IQ3mag(long A, long B); -extern long _IQ2mag(long A, long B); -extern long _IQ1mag(long A, long B); - -#if GLOBAL_Q == 30 -#define _IQmag(A, B) _IQ30mag(A, B) -#endif -#if GLOBAL_Q == 29 -#define _IQmag(A, B) _IQ29mag(A, B) -#endif -#if GLOBAL_Q == 28 -#define _IQmag(A, B) _IQ28mag(A, B) -#endif -#if GLOBAL_Q == 27 -#define _IQmag(A, B) _IQ27mag(A, B) -#endif -#if GLOBAL_Q == 26 -#define _IQmag(A, B) _IQ26mag(A, B) -#endif -#if GLOBAL_Q == 25 -#define _IQmag(A, B) _IQ25mag(A, B) -#endif -#if GLOBAL_Q == 24 -#define _IQmag(A, B) _IQ24mag(A, B) -#endif -#if GLOBAL_Q == 23 -#define _IQmag(A, B) _IQ23mag(A, B) -#endif -#if GLOBAL_Q == 22 -#define _IQmag(A, B) _IQ22mag(A, B) -#endif -#if GLOBAL_Q == 21 -#define _IQmag(A, B) _IQ21mag(A, B) -#endif -#if GLOBAL_Q == 20 -#define _IQmag(A, B) _IQ20mag(A, B) -#endif -#if GLOBAL_Q == 19 -#define _IQmag(A, B) _IQ19mag(A, B) -#endif -#if GLOBAL_Q == 18 -#define _IQmag(A, B) _IQ18mag(A, B) -#endif -#if GLOBAL_Q == 17 -#define _IQmag(A, B) _IQ17mag(A, B) -#endif -#if GLOBAL_Q == 16 -#define _IQmag(A, B) _IQ16mag(A, B) -#endif -#if GLOBAL_Q == 15 -#define _IQmag(A, B) _IQ15mag(A, B) -#endif -#if GLOBAL_Q == 14 -#define _IQmag(A, B) _IQ14mag(A, B) -#endif -#if GLOBAL_Q == 13 -#define _IQmag(A, B) _IQ13mag(A, B) -#endif -#if GLOBAL_Q == 12 -#define _IQmag(A, B) _IQ12mag(A, B) -#endif -#if GLOBAL_Q == 11 -#define _IQmag(A, B) _IQ11mag(A, B) -#endif -#if GLOBAL_Q == 10 -#define _IQmag(A, B) _IQ10mag(A, B) -#endif -#if GLOBAL_Q == 9 -#define _IQmag(A, B) _IQ9mag(A, B) -#endif -#if GLOBAL_Q == 8 -#define _IQmag(A, B) _IQ8mag(A, B) -#endif -#if GLOBAL_Q == 7 -#define _IQmag(A, B) _IQ7mag(A, B) -#endif -#if GLOBAL_Q == 6 -#define _IQmag(A, B) _IQ6mag(A, B) -#endif -#if GLOBAL_Q == 5 -#define _IQmag(A, B) _IQ5mag(A, B) -#endif -#if GLOBAL_Q == 4 -#define _IQmag(A, B) _IQ4mag(A, B) -#endif -#if GLOBAL_Q == 3 -#define _IQmag(A, B) _IQ3mag(A, B) -#endif -#if GLOBAL_Q == 2 -#define _IQmag(A, B) _IQ2mag(A, B) -#endif -#if GLOBAL_Q == 1 -#define _IQmag(A, B) _IQ1mag(A, B) -#endif -//--------------------------------------------------------------------------- -extern long _atoIQN(const char *A, long q_value); -#define _atoIQ(A) _atoIQN(A, GLOBAL_Q) -#define _atoIQ30(A) _atoIQN(A, 30) -#define _atoIQ29(A) _atoIQN(A, 29) -#define _atoIQ28(A) _atoIQN(A, 28) -#define _atoIQ27(A) _atoIQN(A, 27) -#define _atoIQ26(A) _atoIQN(A, 26) -#define _atoIQ25(A) _atoIQN(A, 25) -#define _atoIQ24(A) _atoIQN(A, 24) -#define _atoIQ23(A) _atoIQN(A, 23) -#define _atoIQ22(A) _atoIQN(A, 22) -#define _atoIQ21(A) _atoIQN(A, 21) -#define _atoIQ20(A) _atoIQN(A, 20) -#define _atoIQ19(A) _atoIQN(A, 19) -#define _atoIQ18(A) _atoIQN(A, 18) -#define _atoIQ17(A) _atoIQN(A, 17) -#define _atoIQ16(A) _atoIQN(A, 16) -#define _atoIQ15(A) _atoIQN(A, 15) -#define _atoIQ14(A) _atoIQN(A, 14) -#define _atoIQ13(A) _atoIQN(A, 13) -#define _atoIQ12(A) _atoIQN(A, 12) -#define _atoIQ11(A) _atoIQN(A, 11) -#define _atoIQ10(A) _atoIQN(A, 10) -#define _atoIQ9(A) _atoIQN(A, 9) -#define _atoIQ8(A) _atoIQN(A, 8) -#define _atoIQ7(A) _atoIQN(A, 7) -#define _atoIQ6(A) _atoIQN(A, 6) -#define _atoIQ5(A) _atoIQN(A, 5) -#define _atoIQ4(A) _atoIQN(A, 4) -#define _atoIQ3(A) _atoIQN(A, 3) -#define _atoIQ2(A) _atoIQN(A, 2) -#define _atoIQ1(A) _atoIQN(A, 1) -//--------------------------------------------------------------------------- -extern int __IQNtoa(char *A, const char *B, long C, int D); -extern int _IQ30toa(char *A, const char *B, long C); -extern int _IQ29toa(char *A, const char *B, long C); -extern int _IQ28toa(char *A, const char *B, long C); -extern int _IQ27toa(char *A, const char *B, long C); -extern int _IQ26toa(char *A, const char *B, long C); -extern int _IQ25toa(char *A, const char *B, long C); -extern int _IQ24toa(char *A, const char *B, long C); -extern int _IQ23toa(char *A, const char *B, long C); -extern int _IQ22toa(char *A, const char *B, long C); -extern int _IQ21toa(char *A, const char *B, long C); -extern int _IQ20toa(char *A, const char *B, long C); -extern int _IQ19toa(char *A, const char *B, long C); -extern int _IQ18toa(char *A, const char *B, long C); -extern int _IQ17toa(char *A, const char *B, long C); -extern int _IQ16toa(char *A, const char *B, long C); -extern int _IQ15toa(char *A, const char *B, long C); -extern int _IQ14toa(char *A, const char *B, long C); -extern int _IQ13toa(char *A, const char *B, long C); -extern int _IQ12toa(char *A, const char *B, long C); -extern int _IQ11toa(char *A, const char *B, long C); -extern int _IQ10toa(char *A, const char *B, long C); -extern int _IQ9toa(char *A, const char *B, long C); -extern int _IQ8toa(char *A, const char *B, long C); -extern int _IQ7toa(char *A, const char *B, long C); -extern int _IQ6toa(char *A, const char *B, long C); -extern int _IQ5toa(char *A, const char *B, long C); -extern int _IQ4toa(char *A, const char *B, long C); -extern int _IQ3toa(char *A, const char *B, long C); -extern int _IQ2toa(char *A, const char *B, long C); -extern int _IQ1toa(char *A, const char *B, long C); - - -#define _IQ30toa(A, B, C) __IQNtoa(A, B, C, 30); -#define _IQ29toa(A, B, C) __IQNtoa(A, B, C, 29); -#define _IQ28toa(A, B, C) __IQNtoa(A, B, C, 28); -#define _IQ27toa(A, B, C) __IQNtoa(A, B, C, 27); -#define _IQ26toa(A, B, C) __IQNtoa(A, B, C, 26); -#define _IQ25toa(A, B, C) __IQNtoa(A, B, C, 25); -#define _IQ24toa(A, B, C) __IQNtoa(A, B, C, 24); -#define _IQ23toa(A, B, C) __IQNtoa(A, B, C, 23); -#define _IQ21toa(A, B, C) __IQNtoa(A, B, C, 21); -#define _IQ22toa(A, B, C) __IQNtoa(A, B, C, 22); -#define _IQ20toa(A, B, C) __IQNtoa(A, B, C, 20); -#define _IQ19toa(A, B, C) __IQNtoa(A, B, C, 19); -#define _IQ18toa(A, B, C) __IQNtoa(A, B, C, 18); -#define _IQ17toa(A, B, C) __IQNtoa(A, B, C, 17); -#define _IQ16toa(A, B, C) __IQNtoa(A, B, C, 16); -#define _IQ15toa(A, B, C) __IQNtoa(A, B, C, 15); -#define _IQ14toa(A, B, C) __IQNtoa(A, B, C, 14); -#define _IQ13toa(A, B, C) __IQNtoa(A, B, C, 13); -#define _IQ12toa(A, B, C) __IQNtoa(A, B, C, 12); -#define _IQ11toa(A, B, C) __IQNtoa(A, B, C, 11); -#define _IQ10toa(A, B, C) __IQNtoa(A, B, C, 10); -#define _IQ9toa(A, B, C) __IQNtoa(A, B, C, 9); -#define _IQ8toa(A, B, C) __IQNtoa(A, B, C, 8); -#define _IQ7toa(A, B, C) __IQNtoa(A, B, C, 7); -#define _IQ6toa(A, B, C) __IQNtoa(A, B, C, 6); -#define _IQ5toa(A, B, C) __IQNtoa(A, B, C, 5); -#define _IQ4toa(A, B, C) __IQNtoa(A, B, C, 4); -#define _IQ3toa(A, B, C) __IQNtoa(A, B, C, 3); -#define _IQ2toa(A, B, C) __IQNtoa(A, B, C, 2); -#define _IQ1toa(A, B, C) __IQNtoa(A, B, C, 1); - - -#if GLOBAL_Q == 30 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 30) -#endif -#if GLOBAL_Q == 29 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 29) -#endif -#if GLOBAL_Q == 28 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 28) -#endif -#if GLOBAL_Q == 27 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 27) -#endif -#if GLOBAL_Q == 26 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 26) -#endif -#if GLOBAL_Q == 25 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 25) -#endif -#if GLOBAL_Q == 24 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 24) -#endif -#if GLOBAL_Q == 23 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 23) -#endif -#if GLOBAL_Q == 22 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 22) -#endif -#if GLOBAL_Q == 21 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 21) -#endif -#if GLOBAL_Q == 20 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 20) -#endif -#if GLOBAL_Q == 19 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 19) -#endif -#if GLOBAL_Q == 18 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 18) -#endif -#if GLOBAL_Q == 17 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 17) -#endif -#if GLOBAL_Q == 16 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 16) -#endif -#if GLOBAL_Q == 15 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 15) -#endif -#if GLOBAL_Q == 14 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 14) -#endif -#if GLOBAL_Q == 13 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 13) -#endif -#if GLOBAL_Q == 12 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 12) -#endif -#if GLOBAL_Q == 11 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 11) -#endif -#if GLOBAL_Q == 10 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 10) -#endif -#if GLOBAL_Q == 9 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 9) -#endif -#if GLOBAL_Q == 8 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 8) -#endif -#if GLOBAL_Q == 7 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 7) -#endif -#if GLOBAL_Q == 6 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 6) -#endif -#if GLOBAL_Q == 5 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 5) -#endif -#if GLOBAL_Q == 4 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 4) -#endif -#if GLOBAL_Q == 3 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 3) -#endif -#if GLOBAL_Q == 2 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 2) -#endif -#if GLOBAL_Q == 1 -#define _IQtoa(A, B, C) __IQNtoa(A, B, C, 1) -#endif -//--------------------------------------------------------------------------- -#define _IQabs(A) labs(A) -#define _IQ30abs(A) labs(A) -#define _IQ29abs(A) labs(A) -#define _IQ28abs(A) labs(A) -#define _IQ27abs(A) labs(A) -#define _IQ26abs(A) labs(A) -#define _IQ25abs(A) labs(A) -#define _IQ24abs(A) labs(A) -#define _IQ23abs(A) labs(A) -#define _IQ22abs(A) labs(A) -#define _IQ21abs(A) labs(A) -#define _IQ20abs(A) labs(A) -#define _IQ19abs(A) labs(A) -#define _IQ18abs(A) labs(A) -#define _IQ17abs(A) labs(A) -#define _IQ16abs(A) labs(A) -#define _IQ15abs(A) labs(A) -#define _IQ14abs(A) labs(A) -#define _IQ13abs(A) labs(A) -#define _IQ12abs(A) labs(A) -#define _IQ11abs(A) labs(A) -#define _IQ10abs(A) labs(A) -#define _IQ9abs(A) labs(A) -#define _IQ8abs(A) labs(A) -#define _IQ7abs(A) labs(A) -#define _IQ6abs(A) labs(A) -#define _IQ5abs(A) labs(A) -#define _IQ4abs(A) labs(A) -#define _IQ3abs(A) labs(A) -#define _IQ2abs(A) labs(A) -#define _IQ1abs(A) labs(A) -//########################################################################### -#else // MATH_TYPE == FLOAT_MATH -//########################################################################### -// If FLOAT_MATH is used, the IQmath library function are replaced by -// equivalent floating point operations: -//=========================================================================== -typedef float _iq; -typedef float _iq30; -typedef float _iq29; -typedef float _iq28; -typedef float _iq27; -typedef float _iq26; -typedef float _iq25; -typedef float _iq24; -typedef float _iq23; -typedef float _iq22; -typedef float _iq21; -typedef float _iq20; -typedef float _iq19; -typedef float _iq18; -typedef float _iq17; -typedef float _iq16; -typedef float _iq15; -typedef float _iq14; -typedef float _iq13; -typedef float _iq12; -typedef float _iq11; -typedef float _iq10; -typedef float _iq9; -typedef float _iq8; -typedef float _iq7; -typedef float _iq6; -typedef float _iq5; -typedef float _iq4; -typedef float _iq3; -typedef float _iq2; -typedef float _iq1; -//--------------------------------------------------------------------------- -#define _IQ(A) (A) -#define _IQ30(A) (A) -#define _IQ29(A) (A) -#define _IQ28(A) (A) -#define _IQ27(A) (A) -#define _IQ26(A) (A) -#define _IQ25(A) (A) -#define _IQ24(A) (A) -#define _IQ23(A) (A) -#define _IQ22(A) (A) -#define _IQ21(A) (A) -#define _IQ20(A) (A) -#define _IQ19(A) (A) -#define _IQ18(A) (A) -#define _IQ17(A) (A) -#define _IQ16(A) (A) -#define _IQ15(A) (A) -#define _IQ14(A) (A) -#define _IQ13(A) (A) -#define _IQ12(A) (A) -#define _IQ10(A) (A) -#define _IQ9(A) (A) -#define _IQ8(A) (A) -#define _IQ7(A) (A) -#define _IQ6(A) (A) -#define _IQ5(A) (A) -#define _IQ4(A) (A) -#define _IQ3(A) (A) -#define _IQ2(A) (A) -#define _IQ1(A) (A) -//--------------------------------------------------------------------------- -#define _IQtoF(A) (A) -#define _IQ30toF(A) (A) -#define _IQ29toF(A) (A) -#define _IQ28toF(A) (A) -#define _IQ27toF(A) (A) -#define _IQ26toF(A) (A) -#define _IQ25toF(A) (A) -#define _IQ24toF(A) (A) -#define _IQ23toF(A) (A) -#define _IQ22toF(A) (A) -#define _IQ21toF(A) (A) -#define _IQ20toF(A) (A) -#define _IQ19toF(A) (A) -#define _IQ18toF(A) (A) -#define _IQ17toF(A) (A) -#define _IQ16toF(A) (A) -#define _IQ15toF(A) (A) -#define _IQ14toF(A) (A) -#define _IQ13toF(A) (A) -#define _IQ12toF(A) (A) -#define _IQ11toF(A) (A) -#define _IQ10toF(A) (A) -#define _IQ9toF(A) (A) -#define _IQ8toF(A) (A) -#define _IQ7toF(A) (A) -#define _IQ6toF(A) (A) -#define _IQ5toF(A) (A) -#define _IQ4toF(A) (A) -#define _IQ3toF(A) (A) -#define _IQ2toF(A) (A) -#define _IQ1toF(A) (A) -//--------------------------------------------------------------------------- -extern float _satf(float A, float Pos, float Neg); -#define _IQsat(A, Pos, Neg) _satf(A, Pos, Neg) -//--------------------------------------------------------------------------- -#define _IQtoIQ30(A) (A) -#define _IQtoIQ29(A) (A) -#define _IQtoIQ28(A) (A) -#define _IQtoIQ27(A) (A) -#define _IQtoIQ26(A) (A) -#define _IQtoIQ25(A) (A) -#define _IQtoIQ24(A) (A) -#define _IQtoIQ23(A) (A) -#define _IQtoIQ22(A) (A) -#define _IQtoIQ21(A) (A) -#define _IQtoIQ20(A) (A) -#define _IQtoIQ19(A) (A) -#define _IQtoIQ18(A) (A) -#define _IQtoIQ17(A) (A) -#define _IQtoIQ16(A) (A) -#define _IQtoIQ15(A) (A) -#define _IQtoIQ14(A) (A) -#define _IQtoIQ13(A) (A) -#define _IQtoIQ12(A) (A) -#define _IQtoIQ11(A) (A) -#define _IQtoIQ10(A) (A) -#define _IQtoIQ9(A) (A) -#define _IQtoIQ8(A) (A) -#define _IQtoIQ7(A) (A) -#define _IQtoIQ6(A) (A) -#define _IQtoIQ5(A) (A) -#define _IQtoIQ4(A) (A) -#define _IQtoIQ3(A) (A) -#define _IQtoIQ2(A) (A) -#define _IQtoIQ1(A) (A) -//--------------------------------------------------------------------------- -#define _IQ30toIQ(A) (A) -#define _IQ29toIQ(A) (A) -#define _IQ28toIQ(A) (A) -#define _IQ27toIQ(A) (A) -#define _IQ26toIQ(A) (A) -#define _IQ25toIQ(A) (A) -#define _IQ24toIQ(A) (A) -#define _IQ23toIQ(A) (A) -#define _IQ22toIQ(A) (A) -#define _IQ21toIQ(A) (A) -#define _IQ20toIQ(A) (A) -#define _IQ19toIQ(A) (A) -#define _IQ18toIQ(A) (A) -#define _IQ17toIQ(A) (A) -#define _IQ16toIQ(A) (A) -#define _IQ15toIQ(A) (A) -#define _IQ14toIQ(A) (A) -#define _IQ13toIQ(A) (A) -#define _IQ12toIQ(A) (A) -#define _IQ11toIQ(A) (A) -#define _IQ10toIQ(A) (A) -#define _IQ9toIQ(A) (A) -#define _IQ8toIQ(A) (A) -#define _IQ7toIQ(A) (A) -#define _IQ6toIQ(A) (A) -#define _IQ5toIQ(A) (A) -#define _IQ4toIQ(A) (A) -#define _IQ3toIQ(A) (A) -#define _IQ2toIQ(A) (A) -#define _IQ1toIQ(A) (A) -//--------------------------------------------------------------------------- -#define _IQtoQ15(A) (short) ((long)((A) * 32768.0L)) -#define _IQtoQ14(A) (short) ((long)((A) * 16384.0L)) -#define _IQtoQ13(A) (short) ((long)((A) * 8192.0L)) -#define _IQtoQ12(A) (short) ((long)((A) * 4096.0L)) -#define _IQtoQ11(A) (short) ((long)((A) * 2048.0L)) -#define _IQtoQ10(A) (short) ((long)((A) * 1024.0L)) -#define _IQtoQ9(A) (short) ((long)((A) * 512.0L)) -#define _IQtoQ8(A) (short) ((long)((A) * 256.0L)) -#define _IQtoQ7(A) (short) ((long)((A) * 128.0L)) -#define _IQtoQ6(A) (short) ((long)((A) * 64.0L)) -#define _IQtoQ5(A) (short) ((long)((A) * 32.0L)) -#define _IQtoQ4(A) (short) ((long)((A) * 16.0L)) -#define _IQtoQ3(A) (short) ((long)((A) * 8.0L)) -#define _IQtoQ2(A) (short) ((long)((A) * 4.0L)) -#define _IQtoQ1(A) (short) ((long)((A) * 2.0L)) - -//--------------------------------------------------------------------------- -#define _Q15toIQ(A) (((float) (A)) * 0.000030518) -#define _Q14toIQ(A) (((float) (A)) * 0.000061035) -#define _Q13toIQ(A) (((float) (A)) * 0.000122070) -#define _Q12toIQ(A) (((float) (A)) * 0.000244141) -#define _Q11toIQ(A) (((float) (A)) * 0.000488281) -#define _Q10toIQ(A) (((float) (A)) * 0.000976563) -#define _Q9toIQ(A) (((float) (A)) * 0.001953125) -#define _Q8toIQ(A) (((float) (A)) * 0.003906250) -#define _Q7toIQ(A) (((float) (A)) * 0.007812500) -#define _Q6toIQ(A) (((float) (A)) * 0.015625000) -#define _Q5toIQ(A) (((float) (A)) * 0.031250000) -#define _Q4toIQ(A) (((float) (A)) * 0.062500000) -#define _Q3toIQ(A) (((float) (A)) * 0.125000000) -#define _Q2toIQ(A) (((float) (A)) * 0.250000000) -#define _Q1toIQ(A) (((float) (A)) * 0.500000000) -//--------------------------------------------------------------------------- -#define _IQmpy(A,B) ((A) * (B)) -#define _IQ30mpy(A,B) ((A) * (B)) -#define _IQ29mpy(A,B) ((A) * (B)) -#define _IQ28mpy(A,B) ((A) * (B)) -#define _IQ27mpy(A,B) ((A) * (B)) -#define _IQ26mpy(A,B) ((A) * (B)) -#define _IQ25mpy(A,B) ((A) * (B)) -#define _IQ24mpy(A,B) ((A) * (B)) -#define _IQ23mpy(A,B) ((A) * (B)) -#define _IQ22mpy(A,B) ((A) * (B)) -#define _IQ21mpy(A,B) ((A) * (B)) -#define _IQ20mpy(A,B) ((A) * (B)) -#define _IQ19mpy(A,B) ((A) * (B)) -#define _IQ18mpy(A,B) ((A) * (B)) -#define _IQ17mpy(A,B) ((A) * (B)) -#define _IQ16mpy(A,B) ((A) * (B)) -#define _IQ15mpy(A,B) ((A) * (B)) -#define _IQ14mpy(A,B) ((A) * (B)) -#define _IQ13mpy(A,B) ((A) * (B)) -#define _IQ12mpy(A,B) ((A) * (B)) -#define _IQ11mpy(A,B) ((A) * (B)) -#define _IQ10mpy(A,B) ((A) * (B)) -#define _IQ9mpy(A,B) ((A) * (B)) -#define _IQ8mpy(A,B) ((A) * (B)) -#define _IQ7mpy(A,B) ((A) * (B)) -#define _IQ6mpy(A,B) ((A) * (B)) -#define _IQ5mpy(A,B) ((A) * (B)) -#define _IQ4mpy(A,B) ((A) * (B)) -#define _IQ3mpy(A,B) ((A) * (B)) -#define _IQ2mpy(A,B) ((A) * (B)) -#define _IQ1mpy(A,B) ((A) * (B)) -//--------------------------------------------------------------------------- -#define _IQrmpy(A,B) ((A) * (B)) -#define _IQ30rmpy(A,B) ((A) * (B)) -#define _IQ29rmpy(A,B) ((A) * (B)) -#define _IQ28rmpy(A,B) ((A) * (B)) -#define _IQ27rmpy(A,B) ((A) * (B)) -#define _IQ26rmpy(A,B) ((A) * (B)) -#define _IQ25rmpy(A,B) ((A) * (B)) -#define _IQ24rmpy(A,B) ((A) * (B)) -#define _IQ23rmpy(A,B) ((A) * (B)) -#define _IQ22rmpy(A,B) ((A) * (B)) -#define _IQ21rmpy(A,B) ((A) * (B)) -#define _IQ20rmpy(A,B) ((A) * (B)) -#define _IQ19rmpy(A,B) ((A) * (B)) -#define _IQ18rmpy(A,B) ((A) * (B)) -#define _IQ17rmpy(A,B) ((A) * (B)) -#define _IQ16rmpy(A,B) ((A) * (B)) -#define _IQ15rmpy(A,B) ((A) * (B)) -#define _IQ14rmpy(A,B) ((A) * (B)) -#define _IQ13rmpy(A,B) ((A) * (B)) -#define _IQ12rmpy(A,B) ((A) * (B)) -#define _IQ11rmpy(A,B) ((A) * (B)) -#define _IQ10rmpy(A,B) ((A) * (B)) -#define _IQ9rmpy(A,B) ((A) * (B)) -#define _IQ8rmpy(A,B) ((A) * (B)) -#define _IQ7rmpy(A,B) ((A) * (B)) -#define _IQ6rmpy(A,B) ((A) * (B)) -#define _IQ5rmpy(A,B) ((A) * (B)) -#define _IQ4rmpy(A,B) ((A) * (B)) -#define _IQ3rmpy(A,B) ((A) * (B)) -#define _IQ2rmpy(A,B) ((A) * (B)) -#define _IQ1rmpy(A,B) ((A) * (B)) -//--------------------------------------------------------------------------- -#define _IQrsmpy(A,B) ((A) * (B)) -#define _IQ30rsmpy(A,B) ((A) * (B)) -#define _IQ29rsmpy(A,B) ((A) * (B)) -#define _IQ28rsmpy(A,B) ((A) * (B)) -#define _IQ27rsmpy(A,B) ((A) * (B)) -#define _IQ26rsmpy(A,B) ((A) * (B)) -#define _IQ25rsmpy(A,B) ((A) * (B)) -#define _IQ24rsmpy(A,B) ((A) * (B)) -#define _IQ23rsmpy(A,B) ((A) * (B)) -#define _IQ22rsmpy(A,B) ((A) * (B)) -#define _IQ21rsmpy(A,B) ((A) * (B)) -#define _IQ20rsmpy(A,B) ((A) * (B)) -#define _IQ19rsmpy(A,B) ((A) * (B)) -#define _IQ18rsmpy(A,B) ((A) * (B)) -#define _IQ17rsmpy(A,B) ((A) * (B)) -#define _IQ16rsmpy(A,B) ((A) * (B)) -#define _IQ15rsmpy(A,B) ((A) * (B)) -#define _IQ14rsmpy(A,B) ((A) * (B)) -#define _IQ13rsmpy(A,B) ((A) * (B)) -#define _IQ12rsmpy(A,B) ((A) * (B)) -#define _IQ11rsmpy(A,B) ((A) * (B)) -#define _IQ10rsmpy(A,B) ((A) * (B)) -#define _IQ9rsmpy(A,B) ((A) * (B)) -#define _IQ8rsmpy(A,B) ((A) * (B)) -#define _IQ7rsmpy(A,B) ((A) * (B)) -#define _IQ6rsmpy(A,B) ((A) * (B)) -#define _IQ5rsmpy(A,B) ((A) * (B)) -#define _IQ4rsmpy(A,B) ((A) * (B)) -#define _IQ3rsmpy(A,B) ((A) * (B)) -#define _IQ2rsmpy(A,B) ((A) * (B)) -#define _IQ1rsmpy(A,B) ((A) * (B)) -//--------------------------------------------------------------------------- -#define _IQdiv(A,B) ((A) / (B)) -#define _IQ30div(A,B) ((A) / (B)) -#define _IQ29div(A,B) ((A) / (B)) -#define _IQ28div(A,B) ((A) / (B)) -#define _IQ27div(A,B) ((A) / (B)) -#define _IQ26div(A,B) ((A) / (B)) -#define _IQ25div(A,B) ((A) / (B)) -#define _IQ24div(A,B) ((A) / (B)) -#define _IQ23div(A,B) ((A) / (B)) -#define _IQ22div(A,B) ((A) / (B)) -#define _IQ21div(A,B) ((A) / (B)) -#define _IQ20div(A,B) ((A) / (B)) -#define _IQ19div(A,B) ((A) / (B)) -#define _IQ18div(A,B) ((A) / (B)) -#define _IQ17div(A,B) ((A) / (B)) -#define _IQ16div(A,B) ((A) / (B)) -#define _IQ15div(A,B) ((A) / (B)) -#define _IQ14div(A,B) ((A) / (B)) -#define _IQ13div(A,B) ((A) / (B)) -#define _IQ12div(A,B) ((A) / (B)) -#define _IQ11div(A,B) ((A) / (B)) -#define _IQ10div(A,B) ((A) / (B)) -#define _IQ9div(A,B) ((A) / (B)) -#define _IQ8div(A,B) ((A) / (B)) -#define _IQ7div(A,B) ((A) / (B)) -#define _IQ6div(A,B) ((A) / (B)) -#define _IQ5div(A,B) ((A) / (B)) -#define _IQ4div(A,B) ((A) / (B)) -#define _IQ3div(A,B) ((A) / (B)) -#define _IQ2div(A,B) ((A) / (B)) -#define _IQ1div(A,B) ((A) / (B)) -//--------------------------------------------------------------------------- -#define _IQsin(A) sin(A) -#define _IQ30sin(A) sin(A) -#define _IQ29sin(A) sin(A) -#define _IQ28sin(A) sin(A) -#define _IQ27sin(A) sin(A) -#define _IQ26sin(A) sin(A) -#define _IQ25sin(A) sin(A) -#define _IQ24sin(A) sin(A) -#define _IQ23sin(A) sin(A) -#define _IQ22sin(A) sin(A) -#define _IQ21sin(A) sin(A) -#define _IQ20sin(A) sin(A) -#define _IQ19sin(A) sin(A) -#define _IQ18sin(A) sin(A) -#define _IQ17sin(A) sin(A) -#define _IQ16sin(A) sin(A) -#define _IQ15sin(A) sin(A) -#define _IQ14sin(A) sin(A) -#define _IQ13sin(A) sin(A) -#define _IQ12sin(A) sin(A) -#define _IQ11sin(A) sin(A) -#define _IQ10sin(A) sin(A) -#define _IQ9sin(A) sin(A) -#define _IQ8sin(A) sin(A) -#define _IQ7sin(A) sin(A) -#define _IQ6sin(A) sin(A) -#define _IQ5sin(A) sin(A) -#define _IQ4sin(A) sin(A) -#define _IQ3sin(A) sin(A) -#define _IQ2sin(A) sin(A) -#define _IQ1sin(A) sin(A) -//--------------------------------------------------------------------------- -#define _IQsinPU(A) sin((A)*6.283185307) -#define _IQ30sinPU(A) sin((A)*6.283185307) -#define _IQ29sinPU(A) sin((A)*6.283185307) -#define _IQ28sinPU(A) sin((A)*6.283185307) -#define _IQ27sinPU(A) sin((A)*6.283185307) -#define _IQ26sinPU(A) sin((A)*6.283185307) -#define _IQ25sinPU(A) sin((A)*6.283185307) -#define _IQ24sinPU(A) sin((A)*6.283185307) -#define _IQ23sinPU(A) sin((A)*6.283185307) -#define _IQ22sinPU(A) sin((A)*6.283185307) -#define _IQ21sinPU(A) sin((A)*6.283185307) -#define _IQ20sinPU(A) sin((A)*6.283185307) -#define _IQ19sinPU(A) sin((A)*6.283185307) -#define _IQ18sinPU(A) sin((A)*6.283185307) -#define _IQ17sinPU(A) sin((A)*6.283185307) -#define _IQ16sinPU(A) sin((A)*6.283185307) -#define _IQ15sinPU(A) sin((A)*6.283185307) -#define _IQ14sinPU(A) sin((A)*6.283185307) -#define _IQ13sinPU(A) sin((A)*6.283185307) -#define _IQ12sinPU(A) sin((A)*6.283185307) -#define _IQ11sinPU(A) sin((A)*6.283185307) -#define _IQ10sinPU(A) sin((A)*6.283185307) -#define _IQ9sinPU(A) sin((A)*6.283185307) -#define _IQ8sinPU(A) sin((A)*6.283185307) -#define _IQ7sinPU(A) sin((A)*6.283185307) -#define _IQ6sinPU(A) sin((A)*6.283185307) -#define _IQ5sinPU(A) sin((A)*6.283185307) -#define _IQ4sinPU(A) sin((A)*6.283185307) -#define _IQ3sinPU(A) sin((A)*6.283185307) -#define _IQ2sinPU(A) sin((A)*6.283185307) -#define _IQ1sinPU(A) sin((A)*6.283185307) -//--------------------------------------------------------------------------- -#define _IQasin(A) asin(A) -#define _IQ29asin(A) asin(A) -#define _IQ28asin(A) asin(A) -#define _IQ27asin(A) asin(A) -#define _IQ26asin(A) asin(A) -#define _IQ25asin(A) asin(A) -#define _IQ24asin(A) asin(A) -#define _IQ23asin(A) asin(A) -#define _IQ22asin(A) asin(A) -#define _IQ21asin(A) asin(A) -#define _IQ20asin(A) asin(A) -#define _IQ19asin(A) asin(A) -#define _IQ18asin(A) asin(A) -#define _IQ17asin(A) asin(A) -#define _IQ16asin(A) asin(A) -#define _IQ15asin(A) asin(A) -#define _IQ14asin(A) asin(A) -#define _IQ13asin(A) asin(A) -#define _IQ12asin(A) asin(A) -#define _IQ11asin(A) asin(A) -#define _IQ10asin(A) asin(A) -#define _IQ9asin(A) asin(A) -#define _IQ8asin(A) asin(A) -#define _IQ7asin(A) asin(A) -#define _IQ6asin(A) asin(A) -#define _IQ5asin(A) asin(A) -#define _IQ4asin(A) asin(A) -#define _IQ3asin(A) asin(A) -#define _IQ2asin(A) asin(A) -#define _IQ1asin(A) asin(A) -//--------------------------------------------------------------------------- -#define _IQcos(A) cos(A) -#define _IQ30cos(A) cos(A) -#define _IQ29cos(A) cos(A) -#define _IQ28cos(A) cos(A) -#define _IQ27cos(A) cos(A) -#define _IQ26cos(A) cos(A) -#define _IQ25cos(A) cos(A) -#define _IQ24cos(A) cos(A) -#define _IQ23cos(A) cos(A) -#define _IQ22cos(A) cos(A) -#define _IQ21cos(A) cos(A) -#define _IQ20cos(A) cos(A) -#define _IQ19cos(A) cos(A) -#define _IQ18cos(A) cos(A) -#define _IQ17cos(A) cos(A) -#define _IQ16cos(A) cos(A) -#define _IQ15cos(A) cos(A) -#define _IQ14cos(A) cos(A) -#define _IQ13cos(A) cos(A) -#define _IQ12cos(A) cos(A) -#define _IQ11cos(A) cos(A) -#define _IQ10cos(A) cos(A) -#define _IQ9cos(A) cos(A) -#define _IQ8cos(A) cos(A) -#define _IQ7cos(A) cos(A) -#define _IQ6cos(A) cos(A) -#define _IQ5cos(A) cos(A) -#define _IQ4cos(A) cos(A) -#define _IQ3cos(A) cos(A) -#define _IQ2cos(A) cos(A) -#define _IQ1cos(A) cos(A) -//--------------------------------------------------------------------------- -#define _IQcosPU(A) cos((A)*6.283185307) -#define _IQ30cosPU(A) cos((A)*6.283185307) -#define _IQ29cosPU(A) cos((A)*6.283185307) -#define _IQ28cosPU(A) cos((A)*6.283185307) -#define _IQ27cosPU(A) cos((A)*6.283185307) -#define _IQ26cosPU(A) cos((A)*6.283185307) -#define _IQ25cosPU(A) cos((A)*6.283185307) -#define _IQ24cosPU(A) cos((A)*6.283185307) -#define _IQ23cosPU(A) cos((A)*6.283185307) -#define _IQ22cosPU(A) cos((A)*6.283185307) -#define _IQ21cosPU(A) cos((A)*6.283185307) -#define _IQ20cosPU(A) cos((A)*6.283185307) -#define _IQ19cosPU(A) cos((A)*6.283185307) -#define _IQ18cosPU(A) cos((A)*6.283185307) -#define _IQ17cosPU(A) cos((A)*6.283185307) -#define _IQ16cosPU(A) cos((A)*6.283185307) -#define _IQ15cosPU(A) cos((A)*6.283185307) -#define _IQ14cosPU(A) cos((A)*6.283185307) -#define _IQ13cosPU(A) cos((A)*6.283185307) -#define _IQ12cosPU(A) cos((A)*6.283185307) -#define _IQ11cosPU(A) cos((A)*6.283185307) -#define _IQ10cosPU(A) cos((A)*6.283185307) -#define _IQ9cosPU(A) cos((A)*6.283185307) -#define _IQ8cosPU(A) cos((A)*6.283185307) -#define _IQ7cosPU(A) cos((A)*6.283185307) -#define _IQ6cosPU(A) cos((A)*6.283185307) -#define _IQ5cosPU(A) cos((A)*6.283185307) -#define _IQ4cosPU(A) cos((A)*6.283185307) -#define _IQ3cosPU(A) cos((A)*6.283185307) -#define _IQ2cosPU(A) cos((A)*6.283185307) -#define _IQ1cosPU(A) cos((A)*6.283185307) -//--------------------------------------------------------------------------- -#define _IQacos(A) acos(A) -#define _IQ29acos(A) acos(A) -#define _IQ28acos(A) acos(A) -#define _IQ27acos(A) acos(A) -#define _IQ26acos(A) acos(A) -#define _IQ25acos(A) acos(A) -#define _IQ24acos(A) acos(A) -#define _IQ23acos(A) acos(A) -#define _IQ22acos(A) acos(A) -#define _IQ21acos(A) acos(A) -#define _IQ20acos(A) acos(A) -#define _IQ19acos(A) acos(A) -#define _IQ18acos(A) acos(A) -#define _IQ17acos(A) acos(A) -#define _IQ16acos(A) acos(A) -#define _IQ15acos(A) acos(A) -#define _IQ14acos(A) acos(A) -#define _IQ13acos(A) acos(A) -#define _IQ12acos(A) acos(A) -#define _IQ11acos(A) acos(A) -#define _IQ10acos(A) acos(A) -#define _IQ9acos(A) acos(A) -#define _IQ8acos(A) acos(A) -#define _IQ7acos(A) acos(A) -#define _IQ6acos(A) acos(A) -#define _IQ5acos(A) acos(A) -#define _IQ4acos(A) acos(A) -#define _IQ3acos(A) acos(A) -#define _IQ2acos(A) acos(A) -#define _IQ1acos(A) acos(A) -//--------------------------------------------------------------------------- -#define _IQatan(A) atan(A) -#define _IQ30atan(A) atan(A) -#define _IQ29atan(A) atan(A) -#define _IQ28atan(A) atan(A) -#define _IQ27atan(A) atan(A) -#define _IQ26atan(A) atan(A) -#define _IQ25atan(A) atan(A) -#define _IQ24atan(A) atan(A) -#define _IQ23atan(A) atan(A) -#define _IQ22atan(A) atan(A) -#define _IQ21atan(A) atan(A) -#define _IQ20atan(A) atan(A) -#define _IQ19atan(A) atan(A) -#define _IQ18atan(A) atan(A) -#define _IQ17atan(A) atan(A) -#define _IQ16atan(A) atan(A) -#define _IQ15atan(A) atan(A) -#define _IQ14atan(A) atan(A) -#define _IQ13atan(A) atan(A) -#define _IQ12atan(A) atan(A) -#define _IQ11atan(A) atan(A) -#define _IQ10atan(A) atan(A) -#define _IQ9atan(A) atan(A) -#define _IQ8atan(A) atan(A) -#define _IQ7atan(A) atan(A) -#define _IQ6atan(A) atan(A) -#define _IQ5atan(A) atan(A) -#define _IQ4atan(A) atan(A) -#define _IQ3atan(A) atan(A) -#define _IQ2atan(A) atan(A) -#define _IQ1atan(A) atan(A) -//--------------------------------------------------------------------------- -#define _IQatan2(A,B) atan2(A,B) -#define _IQ30atan2(A,B) atan2(A,B) -#define _IQ29atan2(A,B) atan2(A,B) -#define _IQ28atan2(A,B) atan2(A,B) -#define _IQ27atan2(A,B) atan2(A,B) -#define _IQ26atan2(A,B) atan2(A,B) -#define _IQ25atan2(A,B) atan2(A,B) -#define _IQ24atan2(A,B) atan2(A,B) -#define _IQ23atan2(A,B) atan2(A,B) -#define _IQ22atan2(A,B) atan2(A,B) -#define _IQ21atan2(A,B) atan2(A,B) -#define _IQ20atan2(A,B) atan2(A,B) -#define _IQ19atan2(A,B) atan2(A,B) -#define _IQ18atan2(A,B) atan2(A,B) -#define _IQ17atan2(A,B) atan2(A,B) -#define _IQ16atan2(A,B) atan2(A,B) -#define _IQ15atan2(A,B) atan2(A,B) -#define _IQ14atan2(A,B) atan2(A,B) -#define _IQ13atan2(A,B) atan2(A,B) -#define _IQ12atan2(A,B) atan2(A,B) -#define _IQ11atan2(A,B) atan2(A,B) -#define _IQ10atan2(A,B) atan2(A,B) -#define _IQ9atan2(A,B) atan2(A,B) -#define _IQ8atan2(A,B) atan2(A,B) -#define _IQ7atan2(A,B) atan2(A,B) -#define _IQ6atan2(A,B) atan2(A,B) -#define _IQ5atan2(A,B) atan2(A,B) -#define _IQ4atan2(A,B) atan2(A,B) -#define _IQ3atan2(A,B) atan2(A,B) -#define _IQ2atan2(A,B) atan2(A,B) -#define _IQ1atan2(A,B) atan2(A,B) -//--------------------------------------------------------------------------- -#define _IQatan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ30atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ29atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ28atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ27atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ26atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ25atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ24atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ23atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ22atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ21atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ20atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ19atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ18atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ17atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ16atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ15atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ14atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ13atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ12atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ11atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ10atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ9atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ8atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ7atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ6atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ5atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ4atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ3atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ2atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -#define _IQ1atan2PU(A,B) ((atan2(A,B)*(1.0/6.283185307)) >= 0.0 ? (atan2(A,B)*(1.0/6.283185307)):1.0 + (atan2(A,B)*(1.0/6.283185307))) -//--------------------------------------------------------------------------- -#define _IQsqrt(A) sqrt(A) -#define _IQ30sqrt(A) sqrt(A) -#define _IQ29sqrt(A) sqrt(A) -#define _IQ28sqrt(A) sqrt(A) -#define _IQ27sqrt(A) sqrt(A) -#define _IQ26sqrt(A) sqrt(A) -#define _IQ25sqrt(A) sqrt(A) -#define _IQ24sqrt(A) sqrt(A) -#define _IQ23sqrt(A) sqrt(A) -#define _IQ22sqrt(A) sqrt(A) -#define _IQ21sqrt(A) sqrt(A) -#define _IQ20sqrt(A) sqrt(A) -#define _IQ19sqrt(A) sqrt(A) -#define _IQ18sqrt(A) sqrt(A) -#define _IQ17sqrt(A) sqrt(A) -#define _IQ16sqrt(A) sqrt(A) -#define _IQ15sqrt(A) sqrt(A) -#define _IQ14sqrt(A) sqrt(A) -#define _IQ13sqrt(A) sqrt(A) -#define _IQ12sqrt(A) sqrt(A) -#define _IQ11sqrt(A) sqrt(A) -#define _IQ10sqrt(A) sqrt(A) -#define _IQ9sqrt(A) sqrt(A) -#define _IQ8sqrt(A) sqrt(A) -#define _IQ7sqrt(A) sqrt(A) -#define _IQ6sqrt(A) sqrt(A) -#define _IQ5sqrt(A) sqrt(A) -#define _IQ4sqrt(A) sqrt(A) -#define _IQ3sqrt(A) sqrt(A) -#define _IQ2sqrt(A) sqrt(A) -#define _IQ1sqrt(A) sqrt(A) -//--------------------------------------------------------------------------- -#define _IQisqrt(A) (1.0/sqrt(A)) -#define _IQ30isqrt(A) (1.0/sqrt(A)) -#define _IQ29isqrt(A) (1.0/sqrt(A)) -#define _IQ28isqrt(A) (1.0/sqrt(A)) -#define _IQ27isqrt(A) (1.0/sqrt(A)) -#define _IQ26isqrt(A) (1.0/sqrt(A)) -#define _IQ25isqrt(A) (1.0/sqrt(A)) -#define _IQ24isqrt(A) (1.0/sqrt(A)) -#define _IQ23isqrt(A) (1.0/sqrt(A)) -#define _IQ22isqrt(A) (1.0/sqrt(A)) -#define _IQ21isqrt(A) (1.0/sqrt(A)) -#define _IQ20isqrt(A) (1.0/sqrt(A)) -#define _IQ19isqrt(A) (1.0/sqrt(A)) -#define _IQ18isqrt(A) (1.0/sqrt(A)) -#define _IQ17isqrt(A) (1.0/sqrt(A)) -#define _IQ16isqrt(A) (1.0/sqrt(A)) -#define _IQ15isqrt(A) (1.0/sqrt(A)) -#define _IQ14isqrt(A) (1.0/sqrt(A)) -#define _IQ13isqrt(A) (1.0/sqrt(A)) -#define _IQ12isqrt(A) (1.0/sqrt(A)) -#define _IQ11isqrt(A) (1.0/sqrt(A)) -#define _IQ10isqrt(A) (1.0/sqrt(A)) -#define _IQ9isqrt(A) (1.0/sqrt(A)) -#define _IQ8isqrt(A) (1.0/sqrt(A)) -#define _IQ7isqrt(A) (1.0/sqrt(A)) -#define _IQ6isqrt(A) (1.0/sqrt(A)) -#define _IQ5isqrt(A) (1.0/sqrt(A)) -#define _IQ4isqrt(A) (1.0/sqrt(A)) -#define _IQ3isqrt(A) (1.0/sqrt(A)) -#define _IQ2isqrt(A) (1.0/sqrt(A)) -#define _IQ1isqrt(A) (1.0/sqrt(A)) -//--------------------------------------------------------------------------- -#define _IQexp(A) exp(A) -#define _IQ30exp(A) exp(A) -#define _IQ29exp(A) exp(A) -#define _IQ28exp(A) exp(A) -#define _IQ27exp(A) exp(A) -#define _IQ26exp(A) exp(A) -#define _IQ25exp(A) exp(A) -#define _IQ24exp(A) exp(A) -#define _IQ23exp(A) exp(A) -#define _IQ22exp(A) exp(A) -#define _IQ21exp(A) exp(A) -#define _IQ20exp(A) exp(A) -#define _IQ19exp(A) exp(A) -#define _IQ18exp(A) exp(A) -#define _IQ17exp(A) exp(A) -#define _IQ16exp(A) exp(A) -#define _IQ15exp(A) exp(A) -#define _IQ14exp(A) exp(A) -#define _IQ13exp(A) exp(A) -#define _IQ12exp(A) exp(A) -#define _IQ11exp(A) exp(A) -#define _IQ10exp(A) exp(A) -#define _IQ9exp(A) exp(A) -#define _IQ8exp(A) exp(A) -#define _IQ7exp(A) exp(A) -#define _IQ6exp(A) exp(A) -#define _IQ5exp(A) exp(A) -#define _IQ4exp(A) exp(A) -#define _IQ3exp(A) exp(A) -#define _IQ2exp(A) exp(A) -#define _IQ1exp(A) exp(A) -//--------------------------------------------------------------------------- -#define _IQint(A) ((long) (A)) -#define _IQ30int(A) ((long) (A)) -#define _IQ29int(A) ((long) (A)) -#define _IQ28int(A) ((long) (A)) -#define _IQ27int(A) ((long) (A)) -#define _IQ26int(A) ((long) (A)) -#define _IQ25int(A) ((long) (A)) -#define _IQ24int(A) ((long) (A)) -#define _IQ23int(A) ((long) (A)) -#define _IQ22int(A) ((long) (A)) -#define _IQ21int(A) ((long) (A)) -#define _IQ20int(A) ((long) (A)) -#define _IQ19int(A) ((long) (A)) -#define _IQ18int(A) ((long) (A)) -#define _IQ17int(A) ((long) (A)) -#define _IQ16int(A) ((long) (A)) -#define _IQ15int(A) ((long) (A)) -#define _IQ14int(A) ((long) (A)) -#define _IQ13int(A) ((long) (A)) -#define _IQ12int(A) ((long) (A)) -#define _IQ11int(A) ((long) (A)) -#define _IQ10int(A) ((long) (A)) -#define _IQ9int(A) ((long) (A)) -#define _IQ8int(A) ((long) (A)) -#define _IQ7int(A) ((long) (A)) -#define _IQ6int(A) ((long) (A)) -#define _IQ5int(A) ((long) (A)) -#define _IQ4int(A) ((long) (A)) -#define _IQ3int(A) ((long) (A)) -#define _IQ2int(A) ((long) (A)) -#define _IQ1int(A) ((long) (A)) -//--------------------------------------------------------------------------- -#define _IQfrac(A) ((A) - (float)((long) (A))) -#define _IQ30frac(A) ((A) - (float)((long) (A))) -#define _IQ29frac(A) ((A) - (float)((long) (A))) -#define _IQ28frac(A) ((A) - (float)((long) (A))) -#define _IQ27frac(A) ((A) - (float)((long) (A))) -#define _IQ26frac(A) ((A) - (float)((long) (A))) -#define _IQ25frac(A) ((A) - (float)((long) (A))) -#define _IQ24frac(A) ((A) - (float)((long) (A))) -#define _IQ23frac(A) ((A) - (float)((long) (A))) -#define _IQ22frac(A) ((A) - (float)((long) (A))) -#define _IQ21frac(A) ((A) - (float)((long) (A))) -#define _IQ20frac(A) ((A) - (float)((long) (A))) -#define _IQ19frac(A) ((A) - (float)((long) (A))) -#define _IQ18frac(A) ((A) - (float)((long) (A))) -#define _IQ17frac(A) ((A) - (float)((long) (A))) -#define _IQ16frac(A) ((A) - (float)((long) (A))) -#define _IQ15frac(A) ((A) - (float)((long) (A))) -#define _IQ14frac(A) ((A) - (float)((long) (A))) -#define _IQ13frac(A) ((A) - (float)((long) (A))) -#define _IQ12frac(A) ((A) - (float)((long) (A))) -#define _IQ11frac(A) ((A) - (float)((long) (A))) -#define _IQ10frac(A) ((A) - (float)((long) (A))) -#define _IQ9frac(A) ((A) - (float)((long) (A))) -#define _IQ8frac(A) ((A) - (float)((long) (A))) -#define _IQ7frac(A) ((A) - (float)((long) (A))) -#define _IQ6frac(A) ((A) - (float)((long) (A))) -#define _IQ5frac(A) ((A) - (float)((long) (A))) -#define _IQ4frac(A) ((A) - (float)((long) (A))) -#define _IQ3frac(A) ((A) - (float)((long) (A))) -#define _IQ2frac(A) ((A) - (float)((long) (A))) -#define _IQ1frac(A) ((A) - (float)((long) (A))) -//--------------------------------------------------------------------------- -#define _IQmpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ30mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ29mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ28mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ27mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ26mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ25mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ24mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ23mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ22mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ21mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ20mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ19mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ18mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ17mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ16mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ15mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ14mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ13mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ12mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ11mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ10mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ9mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ8mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ7mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ6mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ5mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ4mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ3mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ2mpyIQX(A, IQA, B, IQB) ((A)*(B)) -#define _IQ1mpyIQX(A, IQA, B, IQB) ((A)*(B)) -//--------------------------------------------------------------------------- -#define _IQmpyI32(A,B) ((A) * (float) (B)) -#define _IQ30mpyI32(A,B) ((A) * (float) (B)) -#define _IQ29mpyI32(A,B) ((A) * (float) (B)) -#define _IQ28mpyI32(A,B) ((A) * (float) (B)) -#define _IQ27mpyI32(A,B) ((A) * (float) (B)) -#define _IQ26mpyI32(A,B) ((A) * (float) (B)) -#define _IQ25mpyI32(A,B) ((A) * (float) (B)) -#define _IQ24mpyI32(A,B) ((A) * (float) (B)) -#define _IQ23mpyI32(A,B) ((A) * (float) (B)) -#define _IQ22mpyI32(A,B) ((A) * (float) (B)) -#define _IQ21mpyI32(A,B) ((A) * (float) (B)) -#define _IQ20mpyI32(A,B) ((A) * (float) (B)) -#define _IQ19mpyI32(A,B) ((A) * (float) (B)) -#define _IQ18mpyI32(A,B) ((A) * (float) (B)) -#define _IQ17mpyI32(A,B) ((A) * (float) (B)) -#define _IQ16mpyI32(A,B) ((A) * (float) (B)) -#define _IQ15mpyI32(A,B) ((A) * (float) (B)) -#define _IQ14mpyI32(A,B) ((A) * (float) (B)) -#define _IQ13mpyI32(A,B) ((A) * (float) (B)) -#define _IQ12mpyI32(A,B) ((A) * (float) (B)) -#define _IQ11mpyI32(A,B) ((A) * (float) (B)) -#define _IQ10mpyI32(A,B) ((A) * (float) (B)) -#define _IQ9mpyI32(A,B) ((A) * (float) (B)) -#define _IQ8mpyI32(A,B) ((A) * (float) (B)) -#define _IQ7mpyI32(A,B) ((A) * (float) (B)) -#define _IQ6mpyI32(A,B) ((A) * (float) (B)) -#define _IQ5mpyI32(A,B) ((A) * (float) (B)) -#define _IQ4mpyI32(A,B) ((A) * (float) (B)) -#define _IQ3mpyI32(A,B) ((A) * (float) (B)) -#define _IQ2mpyI32(A,B) ((A) * (float) (B)) -#define _IQ1mpyI32(A,B) ((A) * (float) (B)) -//--------------------------------------------------------------------------- -#define _IQmpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ30mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ29mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ28mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ27mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ26mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ25mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ24mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ23mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ22mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ21mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ20mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ19mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ18mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ17mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ16mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ15mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ14mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ13mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ12mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ11mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ10mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ9mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ8mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ7mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ6mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ5mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ4mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ3mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ2mpyI32int(A,B) ((long) ((A) * (float) (B))) -#define _IQ1mpyI32int(A,B) ((long) ((A) * (float) (B))) -//--------------------------------------------------------------------------- -#define _IQmpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ30mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ29mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ28mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ27mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ26mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ25mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ24mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ23mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ22mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ21mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ20mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ19mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ18mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ17mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ16mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ15mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ14mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ13mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ12mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ11mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ10mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ9mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ8mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ7mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ6mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ5mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ4mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ3mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ2mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -#define _IQ1mpyI32frac(A,B) ((A) - (float)((long) ((A) * (float) (B)))) -//--------------------------------------------------------------------------- -#define _IQmag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ30mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ29mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ28mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ27mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ26mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ25mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ24mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ23mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ22mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ21mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ20mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ19mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ18mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ17mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ16mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ15mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ14mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ13mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ12mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ11mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ10mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ9mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ8mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ7mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ6mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ5mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ4mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ3mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ2mag(A,B) sqrt((A)*(A) + (B)*(B)) -#define _IQ1mag(A,B) sqrt((A)*(A) + (B)*(B)) -//--------------------------------------------------------------------------- -#define _atoIQ(A) atof(A) -#define _atoIQ30(A) atof(A) -#define _atoIQ29(A) atof(A) -#define _atoIQ28(A) atof(A) -#define _atoIQ27(A) atof(A) -#define _atoIQ26(A) atof(A) -#define _atoIQ25(A) atof(A) -#define _atoIQ24(A) atof(A) -#define _atoIQ23(A) atof(A) -#define _atoIQ22(A) atof(A) -#define _atoIQ21(A) atof(A) -#define _atoIQ20(A) atof(A) -#define _atoIQ19(A) atof(A) -#define _atoIQ18(A) atof(A) -#define _atoIQ17(A) atof(A) -#define _atoIQ16(A) atof(A) -#define _atoIQ15(A) atof(A) -#define _atoIQ14(A) atof(A) -#define _atoIQ13(A) atof(A) -#define _atoIQ12(A) atof(A) -#define _atoIQ11(A) atof(A) -#define _atoIQ10(A) atof(A) -#define _atoIQ9(A) atof(A) -#define _atoIQ8(A) atof(A) -#define _atoIQ7(A) atof(A) -#define _atoIQ6(A) atof(A) -#define _atoIQ5(A) atof(A) -#define _atoIQ4(A) atof(A) -#define _atoIQ3(A) atof(A) -#define _atoIQ2(A) atof(A) -#define _atoIQ1(A) atof(A) -//--------------------------------------------------------------------------- -#define _IQtoa(A, B, C) sprintf(A, B, C) -#define _IQ30toa(A, B, C) sprintf(A, B, C) -#define _IQ29toa(A, B, C) sprintf(A, B, C) -#define _IQ28toa(A, B, C) sprintf(A, B, C) -#define _IQ27toa(A, B, C) sprintf(A, B, C) -#define _IQ26toa(A, B, C) sprintf(A, B, C) -#define _IQ25toa(A, B, C) sprintf(A, B, C) -#define _IQ24toa(A, B, C) sprintf(A, B, C) -#define _IQ23toa(A, B, C) sprintf(A, B, C) -#define _IQ22toa(A, B, C) sprintf(A, B, C) -#define _IQ21toa(A, B, C) sprintf(A, B, C) -#define _IQ20toa(A, B, C) sprintf(A, B, C) -#define _IQ19toa(A, B, C) sprintf(A, B, C) -#define _IQ18toa(A, B, C) sprintf(A, B, C) -#define _IQ17toa(A, B, C) sprintf(A, B, C) -#define _IQ16toa(A, B, C) sprintf(A, B, C) -#define _IQ15toa(A, B, C) sprintf(A, B, C) -#define _IQ14toa(A, B, C) sprintf(A, B, C) -#define _IQ13toa(A, B, C) sprintf(A, B, C) -#define _IQ12toa(A, B, C) sprintf(A, B, C) -#define _IQ11toa(A, B, C) sprintf(A, B, C) -#define _IQ10toa(A, B, C) sprintf(A, B, C) -#define _IQ9toa(A, B, C) sprintf(A, B, C) -#define _IQ8toa(A, B, C) sprintf(A, B, C) -#define _IQ7toa(A, B, C) sprintf(A, B, C) -#define _IQ6toa(A, B, C) sprintf(A, B, C) -#define _IQ5toa(A, B, C) sprintf(A, B, C) -#define _IQ4toa(A, B, C) sprintf(A, B, C) -#define _IQ3toa(A, B, C) sprintf(A, B, C) -#define _IQ2toa(A, B, C) sprintf(A, B, C) -#define _IQ1toa(A, B, C) sprintf(A, B, C) -//--------------------------------------------------------------------------- -#define _IQabs(A) fabs(A) -#define _IQ30abs(A) fabs(A) -#define _IQ29abs(A) fabs(A) -#define _IQ28abs(A) fabs(A) -#define _IQ27abs(A) fabs(A) -#define _IQ26abs(A) fabs(A) -#define _IQ25abs(A) fabs(A) -#define _IQ24abs(A) fabs(A) -#define _IQ23abs(A) fabs(A) -#define _IQ22abs(A) fabs(A) -#define _IQ21abs(A) fabs(A) -#define _IQ20abs(A) fabs(A) -#define _IQ19abs(A) fabs(A) -#define _IQ18abs(A) fabs(A) -#define _IQ17abs(A) fabs(A) -#define _IQ16abs(A) fabs(A) -#define _IQ15abs(A) fabs(A) -#define _IQ14abs(A) fabs(A) -#define _IQ13abs(A) fabs(A) -#define _IQ12abs(A) fabs(A) -#define _IQ11abs(A) fabs(A) -#define _IQ10abs(A) fabs(A) -#define _IQ9abs(A) fabs(A) -#define _IQ8abs(A) fabs(A) -#define _IQ7abs(A) fabs(A) -#define _IQ6abs(A) fabs(A) -#define _IQ5abs(A) fabs(A) -#define _IQ4abs(A) fabs(A) -#define _IQ3abs(A) fabs(A) -#define _IQ2abs(A) fabs(A) -#define _IQ1abs(A) fabs(A) -//########################################################################### -#endif // No more. -//########################################################################### - -#endif /* __IQMATHLIB_H_INCLUDED__ */ diff --git a/Source/External/v120/DSP2833x_common/include/SFO.h b/Source/External/v120/DSP2833x_common/include/SFO.h deleted file mode 100644 index f698526..0000000 --- a/Source/External/v120/DSP2833x_common/include/SFO.h +++ /dev/null @@ -1,52 +0,0 @@ -//########################################################################### -// -// FILE: SFO.H -// -// TITLE: Scale Factor Optimizer Library Interface Header -// -// -//########################################################################### -// -// Ver | dd mmm yyyy | Who | Description of changes -// =====|=============|======|=============================================== -// 0.01| 09 Jan 2004 | TI | New module -//########################################################################### - - -//============================================================================ -// Description: This header provides the function call interface -// for the scale factor optimizer for the 'F2833x. -//============================================================================ - - -//============================================================================ -// Multiple include Guard -//============================================================================ -#ifndef __4090522384024n8273240x3438jx43087401r34ru32r0___ -#define __4090522384024n8273240x3438jx43087401r34ru32r0___ - -//============================================================================ -// C++ namespace -//============================================================================ -#ifdef __cplusplus -extern "C" { -#endif - - -//============================================================================ -// Function prototypes for MEP SFO -//============================================================================ -void SFO_MepEn(int nEpwmModule); -void SFO_MepDis(int nEpwmModule); - -//============================================================================ -// Multiple include Guard -//============================================================================ -#endif // End: Multiple include Guard - -//============================================================================ -// C++ namespace -//============================================================================ -#ifdef __cplusplus -} -#endif /* extern "C" */ diff --git a/Source/External/v120/DSP2833x_common/include/SFO_V5.h b/Source/External/v120/DSP2833x_common/include/SFO_V5.h deleted file mode 100644 index 2374f03..0000000 --- a/Source/External/v120/DSP2833x_common/include/SFO_V5.h +++ /dev/null @@ -1,70 +0,0 @@ - -//########################################################################### -// -// FILE: SFO_V5.H -// -// TITLE: Scale Factor Optimizer Library V5 Interface Header -// -// -//########################################################################### -// -// Ver | dd mmm yyyy | Who | Description of changes -// =====|=============|======|=============================================== -// 0.01| 09 Jan 2004 | TI | New module -// 0.02| 22 Jun 2007 | TI | New version (V5) with support for more channels -//########################################################################### - - -//============================================================================ -// Description: This header provides the function call interface -// for the scale factor optimizer V5. For more -// information on the SFO function usage and -// limitations, see the HRPWM Reference Guide -// (spru924) on the TI website. -//============================================================================ - - -//============================================================================ -// Multiple include Guard -//============================================================================ -#ifndef _SFO_V5_H -#define _SFO_V5_H - -//============================================================================ -// C++ namespace -//============================================================================ -#ifdef __cplusplus -extern "C" { -#endif - -//============================================================================ -// USER MUST UPDATE THIS CONSTANT FOR NUMBER OF HRPWM CHANNELS USED + 1 -//============================================================================ -#define PWM_CH 7 // Equal # of HRPWM channels PLUS 1 - // i.e. PWM_CH is 7 for 6 channels, 5 for 4 channels etc. - -//============================================================================ -// Function prototypes for MEP SFO -//============================================================================ - -int SFO_MepEn_V5(int nEpwmModule); // MEP-Enable V5 Calibration Function -int SFO_MepDis_V5(int nEpwmModule); // MEP-Disable V5 Calibration Function - -//============================================================================ -// Useful Defines when Using SFO Functions -//============================================================================ -#define SFO_INCOMPLETE 0 -#define SFO_COMPLETE 1 -#define SFO_OUTRANGE_ERROR 2 - -//============================================================================ -// Multiple include Guard -//============================================================================ -#endif // End: Multiple include Guard - -//============================================================================ -// C++ namespace -//============================================================================ -#ifdef __cplusplus -} -#endif /* extern "C" */ diff --git a/Source/External/v120/DSP2833x_common/lib/IQmath.lib b/Source/External/v120/DSP2833x_common/lib/IQmath.lib deleted file mode 100644 index 340caf0..0000000 Binary files a/Source/External/v120/DSP2833x_common/lib/IQmath.lib and /dev/null differ diff --git a/Source/External/v120/DSP2833x_common/lib/IQmath_fpu32.lib b/Source/External/v120/DSP2833x_common/lib/IQmath_fpu32.lib deleted file mode 100644 index 426802a..0000000 Binary files a/Source/External/v120/DSP2833x_common/lib/IQmath_fpu32.lib and /dev/null differ diff --git a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build.lib b/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build.lib deleted file mode 100644 index 1956f36..0000000 Binary files a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build.lib and /dev/null differ diff --git a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5.lib b/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5.lib deleted file mode 100644 index 66ba460..0000000 Binary files a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5.lib and /dev/null differ diff --git a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5B.lib b/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5B.lib deleted file mode 100644 index 0a8447e..0000000 Binary files a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5B.lib and /dev/null differ diff --git a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5B_fpu.lib b/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5B_fpu.lib deleted file mode 100644 index 16f41df..0000000 Binary files a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5B_fpu.lib and /dev/null differ diff --git a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5_fpu.lib b/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5_fpu.lib deleted file mode 100644 index e35f7f8..0000000 Binary files a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_V5_fpu.lib and /dev/null differ diff --git a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_fpu.lib b/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_fpu.lib deleted file mode 100644 index df9e65e..0000000 Binary files a/Source/External/v120/DSP2833x_common/lib/SFO_TI_Build_fpu.lib and /dev/null differ diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_Adc.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_Adc.c index 70c3011..730415b 100644 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_Adc.c +++ b/Source/External/v120/DSP2833x_common/source/DSP2833x_Adc.c @@ -53,6 +53,7 @@ void InitAdc(void) // CPU_RATE define statement in the DSP2833x_Examples.h file must // contain the correct CPU clock period in nanoseconds. + AdcRegs.ADCREFSEL.bit.REF_SEL = 0x01; AdcRegs.ADCTRL3.all = 0x00E0; // Power up bandgap/reference/ADC circuits DELAY_US(ADC_usDELAY); // Delay before converting ADC channels //pause_us(50L); diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_CSMPasswords.asm b/Source/External/v120/DSP2833x_common/source/DSP2833x_CSMPasswords.asm deleted file mode 100644 index 27eb60a..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_CSMPasswords.asm +++ /dev/null @@ -1,67 +0,0 @@ -;// TI File $Revision: /main/3 $ -;// Checkin $Date: June 26, 2007 16:41:07 $ -;//########################################################################### -;// -;// FILE: DSP2833x_CSMPasswords.asm -;// -;// TITLE: DSP2833x Code Security Module Passwords. -;// -;// DESCRIPTION: -;// -;// This file is used to specify password values to -;// program into the CSM password locations in Flash -;// at 0x33FFF8 - 0x33FFFF. -;// -;// In addition, the reserved locations 0x33FF80 - 0X33fff5 are -;// all programmed to 0x0000 -;// -;//########################################################################### -;// -;// Original source based on D.A. -;// -;// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -;// $Release Date: August 1, 2008 $ -;//########################################################################### - -; The "csmpasswords" section contains the actual CSM passwords that will be -; linked and programmed into to the CSM password locations (PWL) in flash. -; These passwords must be known in order to unlock the CSM module. -; All 0xFFFF's (erased) is the default value for the password locations (PWL). - -; It is recommended that all passwords be left as 0xFFFF during code -; development. Passwords of 0xFFFF do not activate code security and dummy -; reads of the CSM PWL registers is all that is required to unlock the CSM. -; When code development is complete, modify the passwords to activate the -; code security module. - - .sect "csmpasswds" - - .int 0xFFFF ;PWL0 (LSW of 128-bit password) - .int 0xFFFF ;PWL1 - .int 0xFFFF ;PWL2 - .int 0xFFFF ;PWL3 - .int 0xFFFF ;PWL4 - .int 0xFFFF ;PWL5 - .int 0xFFFF ;PWL6 - .int 0xFFFF ;PWL7 (MSW of 128-bit password) - -;---------------------------------------------------------------------- - -; For code security operation, all addresses between 0x33FF80 and -; 0X33fff5 cannot be used as program code or data. These locations -; must be programmed to 0x0000 when the code security password locations -; (PWL) are programmed. If security is not a concern, then these addresses -; can be used for code or data. - -; The section "csm_rsvd" can be used to program these locations to 0x0000. - - .sect "csm_rsvd" - .loop (33FFF5h - 33FF80h + 1) - .int 0x0000 - .endloop - -;//=========================================================================== -;// End of file. -;//=========================================================================== - - diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_CodeStartBranch.asm b/Source/External/v120/DSP2833x_common/source/DSP2833x_CodeStartBranch.asm deleted file mode 100644 index 430efa3..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_CodeStartBranch.asm +++ /dev/null @@ -1,86 +0,0 @@ -;// TI File $Revision: /main/1 $ -;// Checkin $Date: August 18, 2006 13:45:55 $ -;//########################################################################### -;// -;// FILE: DSP2833x_CodeStartBranch.asm -;// -;// TITLE: Branch for redirecting code execution after boot. -;// -;// For these examples, code_start is the first code that is executed after -;// exiting the boot ROM code. -;// -;// The codestart section in the linker cmd file is used to physically place -;// this code at the correct memory location. This section should be placed -;// at the location the BOOT ROM will re-direct the code to. For example, -;// for boot to FLASH this code will be located at 0x3f7ff6. -;// -;// In addition, the example DSP2833x projects are setup such that the codegen -;// entry point is also set to the code_start label. This is done by linker -;// option -e in the project build options. When the debugger loads the code, -;// it will automatically set the PC to the "entry point" address indicated by -;// the -e linker option. In this case the debugger is simply assigning the PC, -;// it is not the same as a full reset of the device. -;// -;// The compiler may warn that the entry point for the project is other then -;// _c_init00. _c_init00 is the C environment setup and is run before -;// main() is entered. The code_start code will re-direct the execution -;// to _c_init00 and thus there is no worry and this warning can be ignored. -;// -;//########################################################################### -;// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -;// $Release Date: August 1, 2008 $ -;//########################################################################### - - -*********************************************************************** - -WD_DISABLE .set 1 ;set to 1 to disable WD, else set to 0 - - .ref _c_int00 - .global code_start - -*********************************************************************** -* Function: codestart section -* -* Description: Branch to code starting point -*********************************************************************** - - .sect "codestart" - -code_start: - .if WD_DISABLE == 1 - LB wd_disable ;Branch to watchdog disable code - .else - LB _c_int00 ;Branch to start of boot.asm in RTS library - .endif - -;end codestart section - - -*********************************************************************** -* Function: wd_disable -* -* Description: Disables the watchdog timer -*********************************************************************** - .if WD_DISABLE == 1 - - .text -wd_disable: - SETC OBJMODE ;Set OBJMODE for 28x object code - EALLOW ;Enable EALLOW protected register access - MOVZ DP, #7029h>>6 ;Set data page for WDCR register - MOV @7029h, #0068h ;Set WDDIS bit in WDCR to disable WD - EDIS ;Disable EALLOW protected register access - LB _c_int00 ;Branch to start of boot.asm in RTS library - - .endif - -;end wd_disable - - - - .end - -;//=========================================================================== -;// End of file. -;//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_DBGIER.asm b/Source/External/v120/DSP2833x_common/source/DSP2833x_DBGIER.asm deleted file mode 100644 index 7c226ce..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_DBGIER.asm +++ /dev/null @@ -1,28 +0,0 @@ -;// TI File $Revision: /main/1 $ -;// Checkin $Date: August 18, 2006 13:46:03 $ -;//########################################################################### -;// -;// FILE: DSP2833x_DBGIER.asm -;// -;// TITLE: Set the DBGIER register -;// -;// DESCRIPTION: -;// -;// Function to set the DBGIER register (for realtime emulation). -;// Function Prototype: void SetDBGIER(Uint16) -;// Useage: SetDBGIER(value); -;// Input Parameters: Uint16 value = value to put in DBGIER register. -;// Return Value: none -;// -;//########################################################################### -;// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -;// $Release Date: August 1, 2008 $ -;//########################################################################### - .global _SetDBGIER - .text - -_SetDBGIER: - MOV *SP++,AL - POP DBGIER - LRETR - diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_DMA.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_DMA.c deleted file mode 100644 index 83c4f3c..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_DMA.c +++ /dev/null @@ -1,590 +0,0 @@ -//########################################################################### -// -// FILE: DSP2833x_DMA.c -// -// TITLE: DSP2833x Device DMA Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // Headerfile Include File -#include "DSP2833x_Examples.h" // Examples Include File - -// This function initializes the DMA to a known state. -// -void DMAInitialize(void) -{ - EALLOW; - - // Perform a hard reset on DMA - DmaRegs.DMACTRL.bit.HARDRESET = 1; - asm (" nop"); // one NOP required after HARDRESET - - // Allow DMA to run free on emulation suspend - DmaRegs.DEBUGCTRL.bit.FREE = 1; - - EDIS; -} - - -void DMACH1AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source) -{ - EALLOW; - // Set up SOURCE address: - DmaRegs.CH1.SRC_BEG_ADDR_SHADOW = (Uint32)DMA_Source; // Point to beginning of source buffer - DmaRegs.CH1.SRC_ADDR_SHADOW = (Uint32)DMA_Source; - - // Set up DESTINATION address: - DmaRegs.CH1.DST_BEG_ADDR_SHADOW = (Uint32)DMA_Dest; // Point to beginning of destination buffer - DmaRegs.CH1.DST_ADDR_SHADOW = (Uint32)DMA_Dest; - - - EDIS; -} - -void DMACH1BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep) -{ - EALLOW; - - // Set up BURST registers: - DmaRegs.CH1.BURST_SIZE.all = bsize; // Number of words(X-1) x-ferred in a burst - DmaRegs.CH1.SRC_BURST_STEP = srcbstep; // Increment source addr between each word x-ferred - DmaRegs.CH1.DST_BURST_STEP = desbstep; // Increment dest addr between each word x-ferred - - - EDIS; -} - -void DMACH1TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep) -{ - EALLOW; - - // Set up TRANSFER registers: - DmaRegs.CH1.TRANSFER_SIZE = tsize; // Number of bursts per transfer, DMA interrupt will occur after completed transfer - DmaRegs.CH1.SRC_TRANSFER_STEP = srctstep; // TRANSFER_STEP is ignored when WRAP occurs - DmaRegs.CH1.DST_TRANSFER_STEP = deststep; // TRANSFER_STEP is ignored when WRAP occurs - - EDIS; -} - -void DMACH1WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep) -{ - EALLOW; - - // Set up WRAP registers: - DmaRegs.CH1.SRC_WRAP_SIZE = srcwsize; // Wrap source address after N bursts - DmaRegs.CH1.SRC_WRAP_STEP = srcwstep; // Step for source wrap - - DmaRegs.CH1.DST_WRAP_SIZE = deswsize; // Wrap destination address after N bursts - DmaRegs.CH1.DST_WRAP_STEP = deswstep; // Step for destination wrap - - EDIS; -} - - -void DMACH1ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte) -{ - EALLOW; - - // Set up MODE Register: - DmaRegs.CH1.MODE.bit.PERINTSEL = persel; // Passed DMA channel as peripheral interrupt source - DmaRegs.CH1.MODE.bit.PERINTE = perinte; // Peripheral interrupt enable - DmaRegs.CH1.MODE.bit.ONESHOT = oneshot; // Oneshot enable - DmaRegs.CH1.MODE.bit.CONTINUOUS = cont; // Continous enable - DmaRegs.CH1.MODE.bit.SYNCE = synce; // Peripheral sync enable/disable - DmaRegs.CH1.MODE.bit.SYNCSEL = syncsel; // Sync effects source or destination - DmaRegs.CH1.MODE.bit.OVRINTE = ovrinte; // Enable/disable the overflow interrupt - DmaRegs.CH1.MODE.bit.DATASIZE = datasize; // 16-bit/32-bit data size transfers - DmaRegs.CH1.MODE.bit.CHINTMODE = chintmode; // Generate interrupt to CPU at beginning/end of transfer - DmaRegs.CH1.MODE.bit.CHINTE = chinte; // Channel Interrupt to CPU enable - - // Clear any spurious flags: - DmaRegs.CH1.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - DmaRegs.CH1.CONTROL.bit.SYNCCLR = 1; // Clear any spurious sync flags - DmaRegs.CH1.CONTROL.bit.ERRCLR = 1; // Clear any spurious sync error flags - - // Initialize PIE vector for CPU interrupt: - PieCtrlRegs.PIEIER7.bit.INTx1 = 1; // Enable DMA CH1 interrupt in PIE - - EDIS; -} - -// This function starts DMA Channel 1. -void StartDMACH1(void) -{ - EALLOW; - DmaRegs.CH1.CONTROL.bit.RUN = 1; - EDIS; -} - -void DMACH2AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source) -{ - EALLOW; - - // Set up SOURCE address: - DmaRegs.CH2.SRC_BEG_ADDR_SHADOW = (Uint32)DMA_Source; // Point to beginning of source buffer - DmaRegs.CH2.SRC_ADDR_SHADOW = (Uint32)DMA_Source; - - // Set up DESTINATION address: - DmaRegs.CH2.DST_BEG_ADDR_SHADOW = (Uint32)DMA_Dest; // Point to beginning of destination buffer - DmaRegs.CH2.DST_ADDR_SHADOW = (Uint32)DMA_Dest; - - - EDIS; -} - -void DMACH2BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep) -{ - EALLOW; - - // Set up BURST registers: - DmaRegs.CH2.BURST_SIZE.all = bsize; // Number of words(X-1) x-ferred in a burst - DmaRegs.CH2.SRC_BURST_STEP = srcbstep; // Increment source addr between each word x-ferred - DmaRegs.CH2.DST_BURST_STEP = desbstep; // Increment dest addr between each word x-ferred - - - EDIS; -} - -void DMACH2TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep) -{ - EALLOW; - - // Set up TRANSFER registers: - DmaRegs.CH2.TRANSFER_SIZE = tsize; // Number of bursts per transfer, DMA interrupt will occur after completed transfer - DmaRegs.CH2.SRC_TRANSFER_STEP = srctstep; // TRANSFER_STEP is ignored when WRAP occurs - DmaRegs.CH2.DST_TRANSFER_STEP = deststep; // TRANSFER_STEP is ignored when WRAP occurs - - EDIS; -} - -void DMACH2WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep) -{ - EALLOW; - - // Set up WRAP registers: - DmaRegs.CH2.SRC_WRAP_SIZE = srcwsize; // Wrap source address after N bursts - DmaRegs.CH2.SRC_WRAP_STEP = srcwstep; // Step for source wrap - - DmaRegs.CH2.DST_WRAP_SIZE = deswsize; // Wrap destination address after N bursts - DmaRegs.CH2.DST_WRAP_STEP = deswstep; // Step for destination wrap - - EDIS; -} - - -void DMACH2ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte) -{ - EALLOW; - - // Set up MODE Register: - DmaRegs.CH2.MODE.bit.PERINTSEL = persel; // Passed DMA channel as peripheral interrupt source - DmaRegs.CH2.MODE.bit.PERINTE = perinte; // Peripheral interrupt enable - DmaRegs.CH2.MODE.bit.ONESHOT = oneshot; // Oneshot enable - DmaRegs.CH2.MODE.bit.CONTINUOUS = cont; // Continous enable - DmaRegs.CH2.MODE.bit.SYNCE = synce; // Peripheral sync enable/disable - DmaRegs.CH2.MODE.bit.SYNCSEL = syncsel; // Sync effects source or destination - DmaRegs.CH2.MODE.bit.OVRINTE = ovrinte; // Enable/disable the overflow interrupt - DmaRegs.CH2.MODE.bit.DATASIZE = datasize; // 16-bit/32-bit data size transfers - DmaRegs.CH2.MODE.bit.CHINTMODE = chintmode; // Generate interrupt to CPU at beginning/end of transfer - DmaRegs.CH2.MODE.bit.CHINTE = chinte; // Channel Interrupt to CPU enable - - // Clear any spurious flags: - DmaRegs.CH2.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - DmaRegs.CH2.CONTROL.bit.SYNCCLR = 1; // Clear any spurious sync flags - DmaRegs.CH2.CONTROL.bit.ERRCLR = 1; // Clear any spurious sync error flags - - // Initialize PIE vector for CPU interrupt: - PieCtrlRegs.PIEIER7.bit.INTx2 = 1; // Enable DMA CH2 interrupt in PIE - - EDIS; -} - - - -// This function starts DMA Channel 2. -void StartDMACH2(void) -{ - EALLOW; - DmaRegs.CH2.CONTROL.bit.RUN = 1; - EDIS; -} - - - -void DMACH3AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source) -{ - EALLOW; - - // Set up SOURCE address: - DmaRegs.CH3.SRC_BEG_ADDR_SHADOW = (Uint32)DMA_Source; // Point to beginning of source buffer - DmaRegs.CH3.SRC_ADDR_SHADOW = (Uint32)DMA_Source; - - // Set up DESTINATION address: - DmaRegs.CH3.DST_BEG_ADDR_SHADOW = (Uint32)DMA_Dest; // Point to beginning of destination buffer - DmaRegs.CH3.DST_ADDR_SHADOW = (Uint32)DMA_Dest; - - - EDIS; -} - -void DMACH3BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep) -{ - EALLOW; - - // Set up BURST registers: - DmaRegs.CH3.BURST_SIZE.all = bsize; // Number of words(X-1) x-ferred in a burst - DmaRegs.CH3.SRC_BURST_STEP = srcbstep; // Increment source addr between each word x-ferred - DmaRegs.CH3.DST_BURST_STEP = desbstep; // Increment dest addr between each word x-ferred - - - EDIS; -} - -void DMACH3TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep) -{ - EALLOW; - - // Set up TRANSFER registers: - DmaRegs.CH3.TRANSFER_SIZE = tsize; // Number of bursts per transfer, DMA interrupt will occur after completed transfer - DmaRegs.CH3.SRC_TRANSFER_STEP = srctstep; // TRANSFER_STEP is ignored when WRAP occurs - DmaRegs.CH3.DST_TRANSFER_STEP = deststep; // TRANSFER_STEP is ignored when WRAP occurs - - EDIS; -} - -void DMACH3WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep) -{ - EALLOW; - - // Set up WRAP registers: - DmaRegs.CH3.SRC_WRAP_SIZE = srcwsize; // Wrap source address after N bursts - DmaRegs.CH3.SRC_WRAP_STEP = srcwstep; // Step for source wrap - - DmaRegs.CH3.DST_WRAP_SIZE = deswsize; // Wrap destination address after N bursts - DmaRegs.CH3.DST_WRAP_STEP = deswstep; // Step for destination wrap - - EDIS; -} - - -void DMACH3ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte) -{ - EALLOW; - - // Set up MODE Register: - DmaRegs.CH3.MODE.bit.PERINTSEL = persel; // Passed DMA channel as peripheral interrupt source - DmaRegs.CH3.MODE.bit.PERINTE = perinte; // Peripheral interrupt enable - DmaRegs.CH3.MODE.bit.ONESHOT = oneshot; // Oneshot enable - DmaRegs.CH3.MODE.bit.CONTINUOUS = cont; // Continous enable - DmaRegs.CH3.MODE.bit.SYNCE = synce; // Peripheral sync enable/disable - DmaRegs.CH3.MODE.bit.SYNCSEL = syncsel; // Sync effects source or destination - DmaRegs.CH3.MODE.bit.OVRINTE = ovrinte; // Enable/disable the overflow interrupt - DmaRegs.CH3.MODE.bit.DATASIZE = datasize; // 16-bit/32-bit data size transfers - DmaRegs.CH3.MODE.bit.CHINTMODE = chintmode; // Generate interrupt to CPU at beginning/end of transfer - DmaRegs.CH3.MODE.bit.CHINTE = chinte; // Channel Interrupt to CPU enable - - // Clear any spurious flags: - DmaRegs.CH3.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - DmaRegs.CH3.CONTROL.bit.SYNCCLR = 1; // Clear any spurious sync flags - DmaRegs.CH3.CONTROL.bit.ERRCLR = 1; // Clear any spurious sync error flags - - // Initialize PIE vector for CPU interrupt: - PieCtrlRegs.PIEIER7.bit.INTx3 = 1; // Enable DMA CH3 interrupt in PIE - - EDIS; -} - -// This function starts DMA Channel 3. -void StartDMACH3(void) -{ - EALLOW; - DmaRegs.CH3.CONTROL.bit.RUN = 1; - EDIS; -} - - -void DMACH4AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source) -{ - EALLOW; - - // Set up SOURCE address: - DmaRegs.CH4.SRC_BEG_ADDR_SHADOW = (Uint32)DMA_Source; // Point to beginning of source buffer - DmaRegs.CH4.SRC_ADDR_SHADOW = (Uint32)DMA_Source; - - // Set up DESTINATION address: - DmaRegs.CH4.DST_BEG_ADDR_SHADOW = (Uint32)DMA_Dest; // Point to beginning of destination buffer - DmaRegs.CH4.DST_ADDR_SHADOW = (Uint32)DMA_Dest; - - - EDIS; -} - -void DMACH4BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep) -{ - EALLOW; - - // Set up BURST registers: - DmaRegs.CH4.BURST_SIZE.all = bsize; // Number of words(X-1) x-ferred in a burst - DmaRegs.CH4.SRC_BURST_STEP = srcbstep; // Increment source addr between each word x-ferred - DmaRegs.CH4.DST_BURST_STEP = desbstep; // Increment dest addr between each word x-ferred - - - EDIS; -} - -void DMACH4TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep) -{ - EALLOW; - - // Set up TRANSFER registers: - DmaRegs.CH4.TRANSFER_SIZE = tsize; // Number of bursts per transfer, DMA interrupt will occur after completed transfer - DmaRegs.CH4.SRC_TRANSFER_STEP = srctstep; // TRANSFER_STEP is ignored when WRAP occurs - DmaRegs.CH4.DST_TRANSFER_STEP = deststep; // TRANSFER_STEP is ignored when WRAP occurs - - EDIS; -} - -void DMACH4WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep) -{ - EALLOW; - - // Set up WRAP registers: - DmaRegs.CH4.SRC_WRAP_SIZE = srcwsize; // Wrap source address after N bursts - DmaRegs.CH4.SRC_WRAP_STEP = srcwstep; // Step for source wrap - - DmaRegs.CH4.DST_WRAP_SIZE = deswsize; // Wrap destination address after N bursts - DmaRegs.CH4.DST_WRAP_STEP = deswstep; // Step for destination wrap - - EDIS; -} - - -void DMACH4ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte) -{ - EALLOW; - - // Set up MODE Register: - DmaRegs.CH4.MODE.bit.PERINTSEL = persel; // Passed DMA channel as peripheral interrupt source - DmaRegs.CH4.MODE.bit.PERINTE = perinte; // Peripheral interrupt enable - DmaRegs.CH4.MODE.bit.ONESHOT = oneshot; // Oneshot enable - DmaRegs.CH4.MODE.bit.CONTINUOUS = cont; // Continous enable - DmaRegs.CH4.MODE.bit.SYNCE = synce; // Peripheral sync enable/disable - DmaRegs.CH4.MODE.bit.SYNCSEL = syncsel; // Sync effects source or destination - DmaRegs.CH4.MODE.bit.OVRINTE = ovrinte; // Enable/disable the overflow interrupt - DmaRegs.CH4.MODE.bit.DATASIZE = datasize; // 16-bit/32-bit data size transfers - DmaRegs.CH4.MODE.bit.CHINTMODE = chintmode; // Generate interrupt to CPU at beginning/end of transfer - DmaRegs.CH4.MODE.bit.CHINTE = chinte; // Channel Interrupt to CPU enable - - // Clear any spurious flags: - DmaRegs.CH4.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - DmaRegs.CH4.CONTROL.bit.SYNCCLR = 1; // Clear any spurious sync flags - DmaRegs.CH4.CONTROL.bit.ERRCLR = 1; // Clear any spurious sync error flags - - // Initialize PIE vector for CPU interrupt: - PieCtrlRegs.PIEIER7.bit.INTx4 = 1; // Enable DMA CH4 interrupt in PIE - - EDIS; -} - - -// This function starts DMA Channel 4. -void StartDMACH4(void) -{ - EALLOW; - DmaRegs.CH4.CONTROL.bit.RUN = 1; - EDIS; -} - - -void DMACH5AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source) -{ - EALLOW; - - // Set up SOURCE address: - DmaRegs.CH5.SRC_BEG_ADDR_SHADOW = (Uint32)DMA_Source; // Point to beginning of source buffer - DmaRegs.CH5.SRC_ADDR_SHADOW = (Uint32)DMA_Source; - - // Set up DESTINATION address: - DmaRegs.CH5.DST_BEG_ADDR_SHADOW = (Uint32)DMA_Dest; // Point to beginning of destination buffer - DmaRegs.CH5.DST_ADDR_SHADOW = (Uint32)DMA_Dest; - - - EDIS; -} - -void DMACH5BurstConfig(Uint16 bsize, int16 srcbstep, int16 desbstep) -{ - EALLOW; - - - // Set up BURST registers: - DmaRegs.CH5.BURST_SIZE.all = bsize; // Number of words(X-1) x-ferred in a burst - DmaRegs.CH5.SRC_BURST_STEP = srcbstep; // Increment source addr between each word x-ferred - DmaRegs.CH5.DST_BURST_STEP = desbstep; // Increment dest addr between each word x-ferred - - EDIS; -} - -void DMACH5TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep) -{ - EALLOW; - - - // Set up TRANSFER registers: - DmaRegs.CH5.TRANSFER_SIZE = tsize; // Number of bursts per transfer, DMA interrupt will occur after completed transfer - DmaRegs.CH5.SRC_TRANSFER_STEP = srctstep; // TRANSFER_STEP is ignored when WRAP occurs - DmaRegs.CH5.DST_TRANSFER_STEP = deststep; // TRANSFER_STEP is ignored when WRAP occurs - - EDIS; -} - -void DMACH5WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep) -{ - EALLOW; - - - // Set up WRAP registers: - DmaRegs.CH5.SRC_WRAP_SIZE = srcwsize; // Wrap source address after N bursts - DmaRegs.CH5.SRC_WRAP_STEP = srcwstep; // Step for source wrap - - DmaRegs.CH5.DST_WRAP_SIZE = deswsize; // Wrap destination address after N bursts - DmaRegs.CH5.DST_WRAP_STEP = deswstep; // Step for destination wrap - - EDIS; -} - - -void DMACH5ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte) -{ - EALLOW; - - // Set up MODE Register: - DmaRegs.CH5.MODE.bit.PERINTSEL = persel; // Passed DMA channel as peripheral interrupt source - DmaRegs.CH5.MODE.bit.PERINTE = perinte; // Peripheral interrupt enable - DmaRegs.CH5.MODE.bit.ONESHOT = oneshot; // Oneshot enable - DmaRegs.CH5.MODE.bit.CONTINUOUS = cont; // Continous enable - DmaRegs.CH5.MODE.bit.SYNCE = synce; // Peripheral sync enable/disable - DmaRegs.CH5.MODE.bit.SYNCSEL = syncsel; // Sync effects source or destination - DmaRegs.CH5.MODE.bit.OVRINTE = ovrinte; // Enable/disable the overflow interrupt - DmaRegs.CH5.MODE.bit.DATASIZE = datasize; // 16-bit/32-bit data size transfers - DmaRegs.CH5.MODE.bit.CHINTMODE = chintmode; // Generate interrupt to CPU at beginning/end of transfer - DmaRegs.CH5.MODE.bit.CHINTE = chinte; // Channel Interrupt to CPU enable - - // Clear any spurious flags: - DmaRegs.CH5.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - DmaRegs.CH5.CONTROL.bit.SYNCCLR = 1; // Clear any spurious sync flags - DmaRegs.CH5.CONTROL.bit.ERRCLR = 1; // Clear any spurious sync error flags - - // Initialize PIE vector for CPU interrupt: - PieCtrlRegs.PIEIER7.bit.INTx5 = 1; // Enable DMA CH5 interrupt in PIE - - EDIS; -} - -// This function starts DMA Channel 5. -void StartDMACH5(void) -{ - EALLOW; - DmaRegs.CH5.CONTROL.bit.RUN = 1; - EDIS; -} - - - -void DMACH6AddrConfig(volatile Uint16 *DMA_Dest,volatile Uint16 *DMA_Source) -{ - EALLOW; - - // Set up SOURCE address: - DmaRegs.CH6.SRC_BEG_ADDR_SHADOW = (Uint32)DMA_Source; // Point to beginning of source buffer - DmaRegs.CH6.SRC_ADDR_SHADOW = (Uint32)DMA_Source; - - // Set up DESTINATION address: - DmaRegs.CH6.DST_BEG_ADDR_SHADOW = (Uint32)DMA_Dest; // Point to beginning of destination buffer - DmaRegs.CH6.DST_ADDR_SHADOW = (Uint32)DMA_Dest; - - - EDIS; -} - -void DMACH6BurstConfig(Uint16 bsize,Uint16 srcbstep, int16 desbstep) -{ - EALLOW; - - // Set up BURST registers: - DmaRegs.CH6.BURST_SIZE.all = bsize; // Number of words(X-1) x-ferred in a burst - DmaRegs.CH6.SRC_BURST_STEP = srcbstep; // Increment source addr between each word x-ferred - DmaRegs.CH6.DST_BURST_STEP = desbstep; // Increment dest addr between each word x-ferred - - - EDIS; -} - -void DMACH6TransferConfig(Uint16 tsize, int16 srctstep, int16 deststep) -{ - EALLOW; - - // Set up TRANSFER registers: - DmaRegs.CH6.TRANSFER_SIZE = tsize; // Number of bursts per transfer, DMA interrupt will occur after completed transfer - DmaRegs.CH6.SRC_TRANSFER_STEP = srctstep; // TRANSFER_STEP is ignored when WRAP occurs - DmaRegs.CH6.DST_TRANSFER_STEP = deststep; // TRANSFER_STEP is ignored when WRAP occurs - - EDIS; -} - -void DMACH6WrapConfig(Uint16 srcwsize, int16 srcwstep, Uint16 deswsize, int16 deswstep) -{ - EALLOW; - - // Set up WRAP registers: - DmaRegs.CH6.SRC_WRAP_SIZE = srcwsize; // Wrap source address after N bursts - DmaRegs.CH6.SRC_WRAP_STEP = srcwstep; // Step for source wrap - - DmaRegs.CH6.DST_WRAP_SIZE = deswsize; // Wrap destination address after N bursts - DmaRegs.CH6.DST_WRAP_STEP = deswstep; // Step for destination wrap - - EDIS; -} - - -void DMACH6ModeConfig(Uint16 persel, Uint16 perinte, Uint16 oneshot, Uint16 cont, Uint16 synce, Uint16 syncsel, Uint16 ovrinte, Uint16 datasize, Uint16 chintmode, Uint16 chinte) -{ - EALLOW; - - // Set up MODE Register: - DmaRegs.CH6.MODE.bit.PERINTSEL = persel; // Passed DMA channel as peripheral interrupt source - DmaRegs.CH6.MODE.bit.PERINTE = perinte; // Peripheral interrupt enable - DmaRegs.CH6.MODE.bit.ONESHOT = oneshot; // Oneshot enable - DmaRegs.CH6.MODE.bit.CONTINUOUS = cont; // Continous enable - DmaRegs.CH6.MODE.bit.SYNCE = synce; // Peripheral sync enable/disable - DmaRegs.CH6.MODE.bit.SYNCSEL = syncsel; // Sync effects source or destination - DmaRegs.CH6.MODE.bit.OVRINTE = ovrinte; // Enable/disable the overflow interrupt - DmaRegs.CH6.MODE.bit.DATASIZE = datasize; // 16-bit/32-bit data size transfers - DmaRegs.CH6.MODE.bit.CHINTMODE = chintmode; // Generate interrupt to CPU at beginning/end of transfer - DmaRegs.CH6.MODE.bit.CHINTE = chinte; // Channel Interrupt to CPU enable - - // Clear any spurious flags: - DmaRegs.CH6.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - DmaRegs.CH6.CONTROL.bit.SYNCCLR = 1; // Clear any spurious sync flags - DmaRegs.CH6.CONTROL.bit.ERRCLR = 1; // Clear any spurious sync error flags - - // Initialize PIE vector for CPU interrupt: - PieCtrlRegs.PIEIER7.bit.INTx6 = 1; // Enable DMA CH6 interrupt in PIE - - EDIS; -} - -// This function starts DMA Channel 6. -void StartDMACH6(void) -{ - EALLOW; - DmaRegs.CH6.CONTROL.bit.RUN = 1; - EDIS; -} - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_DefaultIsr.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_DefaultIsr.c deleted file mode 100644 index df76fda..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_DefaultIsr.c +++ /dev/null @@ -1,1187 +0,0 @@ -// TI File $Revision: /main/2 $ -// Checkin $Date: January 14, 2008 11:17:46 $ -//########################################################################### -// -// FILE: DSP2833x_DefaultIsr.c -// -// TITLE: DSP2833x Device Default Interrupt Service Routines. -// -// This file contains shell ISR routines for the 2833x PIE vector table. -// Typically these shell ISR routines can be used to populate the entire PIE -// vector table during device debug. In this manner if an interrupt is taken -// during firmware development, there will always be an ISR to catch it. -// -// As develpment progresses, these ISR rotuines can be eliminated and replaced -// with the user's own ISR routines for each interrupt. Since these shell ISRs -// include infinite loops they will typically not be included as-is in the final -// production firmware. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - - -// Connected to INT13 of CPU (use MINT13 mask): -// Note CPU-Timer1 is reserved for TI use, however XINT13 -// ISR can be used by the user. -interrupt void INT13_ISR(void) // INT13 or CPU-Timer1 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Note CPU-Timer2 is reserved for TI use. -interrupt void INT14_ISR(void) // CPU-Timer2 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void DATALOG_ISR(void) // Datalogging interrupt -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void RTOSINT_ISR(void) // RTOS interrupt -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void EMUINT_ISR(void) // Emulation interrupt -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void NMI_ISR(void) // Non-maskable interrupt -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm(" ESTOP0"); - for(;;); - -} - - -interrupt void USER1_ISR(void) // User Defined trap 1 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -interrupt void USER2_ISR(void) // User Defined trap 2 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - - -} - -interrupt void USER3_ISR(void) // User Defined trap 3 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void USER4_ISR(void) // User Defined trap 4 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void USER5_ISR(void) // User Defined trap 5 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void USER6_ISR(void) // User Defined trap 6 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void USER7_ISR(void) // User Defined trap 7 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void USER8_ISR(void) // User Defined trap 8 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void USER9_ISR(void) // User Defined trap 9 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void USER10_ISR(void) // User Defined trap 10 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void USER11_ISR(void) // User Defined trap 11 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -interrupt void USER12_ISR(void) // User Defined trap 12 -{ - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// ----------------------------------------------------------- -// PIE Group 1 - MUXed into CPU INT1 -// ----------------------------------------------------------- - -// INT1.1 -interrupt void SEQ1INT_ISR(void) //SEQ1 ADC -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - - asm (" ESTOP0"); - for(;;); - -} - -// INT1.2 -interrupt void SEQ2INT_ISR(void) //SEQ2 ADC -{ - - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - - asm(" ESTOP0"); - for(;;); - -} -// INT1.3 - Reserved - -// INT1.4 -interrupt void XINT1_ISR(void) -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT1.5 -interrupt void XINT2_ISR(void) -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT1.6 -interrupt void ADCINT_ISR(void) // ADC -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT1.7 -interrupt void TINT0_ISR(void) // CPU-Timer 0 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - - -// INT1.8 -interrupt void WAKEINT_ISR(void) // WD, LOW Power -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - - -// ----------------------------------------------------------- -// PIE Group 2 - MUXed into CPU INT2 -// ----------------------------------------------------------- - -// INT2.1 -interrupt void EPWM1_TZINT_ISR(void) // EPWM-1 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT2.2 -interrupt void EPWM2_TZINT_ISR(void) // EPWM-2 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT2.3 -interrupt void EPWM3_TZINT_ISR(void) // EPWM-3 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - - -// INT2.4 -interrupt void EPWM4_TZINT_ISR(void) // EPWM-4 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - - -// INT2.5 -interrupt void EPWM5_TZINT_ISR(void) // EPWM-5 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT2.6 -interrupt void EPWM6_TZINT_ISR(void) // EPWM-6 -{ - // Insert ISR Code here - - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT2.7 - Reserved -// INT2.8 - Reserved - -// ----------------------------------------------------------- -// PIE Group 3 - MUXed into CPU INT3 -// ----------------------------------------------------------- - -// INT 3.1 -interrupt void EPWM1_INT_ISR(void) // EPWM-1 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT3.2 -interrupt void EPWM2_INT_ISR(void) // EPWM-2 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT3.3 -interrupt void EPWM3_INT_ISR(void) // EPWM-3 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT3.4 -interrupt void EPWM4_INT_ISR(void) // EPWM-4 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT3.5 -interrupt void EPWM5_INT_ISR(void) // EPWM-5 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT3.6 -interrupt void EPWM6_INT_ISR(void) // EPWM-6 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT3.7 - Reserved -// INT3.8 - Reserved - - -// ----------------------------------------------------------- -// PIE Group 4 - MUXed into CPU INT4 -// ----------------------------------------------------------- - -// INT 4.1 -interrupt void ECAP1_INT_ISR(void) // ECAP-1 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT4.2 -interrupt void ECAP2_INT_ISR(void) // ECAP-2 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT4.3 -interrupt void ECAP3_INT_ISR(void) // ECAP-3 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT4.4 -interrupt void ECAP4_INT_ISR(void) // ECAP-4 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT4.5 -interrupt void ECAP5_INT_ISR(void) // ECAP-5 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} -// INT4.6 -interrupt void ECAP6_INT_ISR(void) // ECAP-6 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} -// INT4.7 - Reserved -// INT4.8 - Reserved - -// ----------------------------------------------------------- -// PIE Group 5 - MUXed into CPU INT5 -// ----------------------------------------------------------- - -// INT 5.1 -interrupt void EQEP1_INT_ISR(void) // EQEP-1 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT5.2 -interrupt void EQEP2_INT_ISR(void) // EQEP-2 -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT5.3 - Reserved -// INT5.4 - Reserved -// INT5.5 - Reserved -// INT5.6 - Reserved -// INT5.7 - Reserved -// INT5.8 - Reserved - -// ----------------------------------------------------------- -// PIE Group 6 - MUXed into CPU INT6 -// ----------------------------------------------------------- - -// INT6.1 -interrupt void SPIRXINTA_ISR(void) // SPI-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT6.2 -interrupt void SPITXINTA_ISR(void) // SPI-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT6.3 -interrupt void MRINTB_ISR(void) // McBSP-B -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT6.4 -interrupt void MXINTB_ISR(void) // McBSP-B -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT6.5 -interrupt void MRINTA_ISR(void) // McBSP-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT6.6 -interrupt void MXINTA_ISR(void) // McBSP-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT6.7 - Reserved -// INT6.8 - Reserved - - - - -// ----------------------------------------------------------- -// PIE Group 7 - MUXed into CPU INT7 -// ----------------------------------------------------------- - -// INT7.1 -interrupt void DINTCH1_ISR(void) // DMA -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT7.2 -interrupt void DINTCH2_ISR(void) // DMA -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT7.3 -interrupt void DINTCH3_ISR(void) // DMA -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT7.4 -interrupt void DINTCH4_ISR(void) // DMA -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT7.5 -interrupt void DINTCH5_ISR(void) // DMA -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT7.6 -interrupt void DINTCH6_ISR(void) // DMA -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT7.7 - Reserved -// INT7.8 - Reserved - -// ----------------------------------------------------------- -// PIE Group 8 - MUXed into CPU INT8 -// ----------------------------------------------------------- - -// INT8.1 -interrupt void I2CINT1A_ISR(void) // I2C-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT8.2 -interrupt void I2CINT2A_ISR(void) // I2C-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// INT8.3 - Reserved -// INT8.4 - Reserved - -// INT8.5 -interrupt void SCIRXINTC_ISR(void) // SCI-C -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT8.6 -interrupt void SCITXINTC_ISR(void) // SCI-C -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT8.7 - Reserved -// INT8.8 - Reserved - - -// ----------------------------------------------------------- -// PIE Group 9 - MUXed into CPU INT9 -// ----------------------------------------------------------- - -// INT9.1 -interrupt void SCIRXINTA_ISR(void) // SCI-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT9.2 -interrupt void SCITXINTA_ISR(void) // SCI-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - - -// INT9.3 -interrupt void SCIRXINTB_ISR(void) // SCI-B -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT9.4 -interrupt void SCITXINTB_ISR(void) // SCI-B -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT9.5 -interrupt void ECAN0INTA_ISR(void) // eCAN-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT9.6 -interrupt void ECAN1INTA_ISR(void) // eCAN-A -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT9.7 -interrupt void ECAN0INTB_ISR(void) // eCAN-B -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT9.8 -interrupt void ECAN1INTB_ISR(void) // eCAN-B -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// ----------------------------------------------------------- -// PIE Group 10 - MUXed into CPU INT10 -// ----------------------------------------------------------- - -// INT10.1 - Reserved -// INT10.2 - Reserved -// INT10.3 - Reserved -// INT10.4 - Reserved -// INT10.5 - Reserved -// INT10.6 - Reserved -// INT10.7 - Reserved -// INT10.8 - Reserved - - -// ----------------------------------------------------------- -// PIE Group 11 - MUXed into CPU INT11 -// ----------------------------------------------------------- - -// INT11.1 - Reserved -// INT11.2 - Reserved -// INT11.3 - Reserved -// INT11.4 - Reserved -// INT11.5 - Reserved -// INT11.6 - Reserved -// INT11.7 - Reserved -// INT11.8 - Reserved - -// ----------------------------------------------------------- -// PIE Group 12 - MUXed into CPU INT12 -// ----------------------------------------------------------- - -// INT12.1 -interrupt void XINT3_ISR(void) // External Interrupt -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT12.2 -interrupt void XINT4_ISR(void) // External Interrupt -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT12.3 -interrupt void XINT5_ISR(void) // External Interrupt -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} -// INT12.4 -interrupt void XINT6_ISR(void) // External Interrupt -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT12.5 -interrupt void XINT7_ISR(void) // External Interrupt -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -// INT12.6 - Reserved -// INT12.7 -interrupt void LVF_ISR(void) // Latched overflow -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} -// INT12.8 -interrupt void LUF_ISR(void) // Latched underflow -{ - // Insert ISR Code here - - // To receive more interrupts from this PIE group, acknowledge this interrupt - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); - -} - -//--------------------------------------------------------------------------- -// Catch All Default ISRs: -// - -interrupt void PIE_RESERVED(void) // Reserved space. For test. -{ - asm (" ESTOP0"); - for(;;); -} - -interrupt void rsvd_ISR(void) // For test -{ - asm (" ESTOP0"); - for(;;); -} - -//=========================================================================== -// End of file. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_DisInt.asm b/Source/External/v120/DSP2833x_common/source/DSP2833x_DisInt.asm deleted file mode 100644 index 2e8e35c..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_DisInt.asm +++ /dev/null @@ -1,65 +0,0 @@ -;// TI File $Revision: /main/1 $ -;// Checkin $Date: August 18, 2006 13:46:09 $ -;//########################################################################### -;// -;// FILE: DSP2833x_DisInt.asm -;// -;// TITLE: Disable and Restore INTM and DBGM -;// -;// Function Prototypes: -;// -;// Uint16 DSP28x_DisableInt(); -;// and void DSP28x_RestoreInt(Uint16 Stat0); -;// -;// Usage: -;// -;// DSP28x_DisableInt() sets both the INTM and DBGM -;// bits to disable maskable interrupts. Before doing -;// this, the current value of ST1 is stored on the stack -;// so that the values can be restored later. The value -;// of ST1 before the masks are set is returned to the -;// user in AL. This is then used to restore their state -;// via the DSP28x_RestoreInt(Uint16 ST1) function. -;// -;// Example -;// -;// Uint16 StatusReg1 -;// StatusReg1 = DSP28x_DisableInt(); -;// -;// ... May also want to disable INTM here -;// -;// ... code here -;// -;// DSP28x_RestoreInt(StatusReg1); -;// -;// ... Restore INTM enable -;// -;//########################################################################### -;// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -;// $Release Date: August 1, 2008 $ -;//########################################################################### - - - - - .def _DSP28x_DisableInt - .def _DSP28x_RestoreInt - - -_DSP28x_DisableInt: - PUSH ST1 - SETC INTM,DBGM - MOV AL, *--SP - LRETR - -_DSP28x_RestoreInt: - MOV *SP++, AL - POP ST1 - LRETR - - -;//=========================================================================== -;// End of file. -;//=========================================================================== - - diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_ECan.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_ECan.c deleted file mode 100644 index 612ccb1..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_ECan.c +++ /dev/null @@ -1,404 +0,0 @@ -// TI File $Revision: /main/8 $ -// Checkin $Date: June 25, 2008 15:19:07 $ -//########################################################################### -// -// FILE: DSP2833x_ECan.c -// -// TITLE: DSP2833x Enhanced CAN Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - - -//--------------------------------------------------------------------------- -// InitECan: -//--------------------------------------------------------------------------- -// This function initializes the eCAN module to a known state. -// -void InitECan(void) -{ - InitECana(); -#if DSP28_ECANB - InitECanb(); -#endif // if DSP28_ECANB -} - -void InitECana(void) // Initialize eCAN-A module -{ -/* Create a shadow register structure for the CAN control registers. This is - needed, since only 32-bit access is allowed to these registers. 16-bit access - to these registers could potentially corrupt the register contents or return - false data. This is especially true while writing to/reading from a bit - (or group of bits) among bits 16 - 31 */ - -struct ECAN_REGS ECanaShadow; - - EALLOW; // EALLOW enables access to protected bits - -/* Configure eCAN RX and TX pins for CAN operation using eCAN regs*/ - - ECanaShadow.CANTIOC.all = ECanaRegs.CANTIOC.all; - ECanaShadow.CANTIOC.bit.TXFUNC = 1; - ECanaRegs.CANTIOC.all = ECanaShadow.CANTIOC.all; - - ECanaShadow.CANRIOC.all = ECanaRegs.CANRIOC.all; - ECanaShadow.CANRIOC.bit.RXFUNC = 1; - ECanaRegs.CANRIOC.all = ECanaShadow.CANRIOC.all; - -/* Configure eCAN for HECC mode - (reqd to access mailboxes 16 thru 31) */ - // HECC mode also enables time-stamping feature - - ECanaShadow.CANMC.all = ECanaRegs.CANMC.all; - ECanaShadow.CANMC.bit.SCB = 1; - ECanaRegs.CANMC.all = ECanaShadow.CANMC.all; - -/* Initialize all bits of 'Master Control Field' to zero */ -// Some bits of MSGCTRL register come up in an unknown state. For proper operation, -// all bits (including reserved bits) of MSGCTRL must be initialized to zero - - ECanaMboxes.MBOX0.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX1.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX2.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX3.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX4.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX5.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX6.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX7.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX8.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX9.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX10.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX11.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX12.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX13.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX14.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX15.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX16.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX17.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX18.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX19.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX20.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX21.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX22.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX23.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX24.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX25.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX26.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX27.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX28.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX29.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX30.MSGCTRL.all = 0x00000000; - ECanaMboxes.MBOX31.MSGCTRL.all = 0x00000000; - -// TAn, RMPn, GIFn bits are all zero upon reset and are cleared again -// as a matter of precaution. - - ECanaRegs.CANTA.all = 0xFFFFFFFF; /* Clear all TAn bits */ - - ECanaRegs.CANRMP.all = 0xFFFFFFFF; /* Clear all RMPn bits */ - - ECanaRegs.CANGIF0.all = 0xFFFFFFFF; /* Clear all interrupt flag bits */ - ECanaRegs.CANGIF1.all = 0xFFFFFFFF; - - -/* Configure bit timing parameters for eCANA*/ - ECanaShadow.CANMC.all = ECanaRegs.CANMC.all; - ECanaShadow.CANMC.bit.CCR = 1 ; // Set CCR = 1 - ECanaRegs.CANMC.all = ECanaShadow.CANMC.all; - - ECanaShadow.CANES.all = ECanaRegs.CANES.all; - - do - { - ECanaShadow.CANES.all = ECanaRegs.CANES.all; - } while(ECanaShadow.CANES.bit.CCE != 1 ); // Wait for CCE bit to be set.. - - ECanaShadow.CANBTC.all = 0; - - #if (CPU_FRQ_150MHZ) // CPU_FRQ_150MHz is defined in DSP2833x_Examples.h - /* The following block for all 150 MHz SYSCLKOUT (75 MHz CAN clock) - default. Bit rate = 1 Mbps - See Note at End of File */ - ECanaShadow.CANBTC.bit.BRPREG = 4; - ECanaShadow.CANBTC.bit.TSEG2REG = 2; - ECanaShadow.CANBTC.bit.TSEG1REG = 10; - #endif - #if (CPU_FRQ_100MHZ) // CPU_FRQ_100MHz is defined in DSP2833x_Examples.h - /* The following block is only for 100 MHz SYSCLKOUT (50 MHz CAN clock). Bit rate = 1 Mbps - See Note at End of File */ - ECanaShadow.CANBTC.bit.BRPREG = 4; - ECanaShadow.CANBTC.bit.TSEG2REG = 1; - ECanaShadow.CANBTC.bit.TSEG1REG = 6; - #endif - - - ECanaShadow.CANBTC.bit.SAM = 1; - ECanaRegs.CANBTC.all = ECanaShadow.CANBTC.all; - - ECanaShadow.CANMC.all = ECanaRegs.CANMC.all; - ECanaShadow.CANMC.bit.CCR = 0 ; // Set CCR = 0 - ECanaRegs.CANMC.all = ECanaShadow.CANMC.all; - - ECanaShadow.CANES.all = ECanaRegs.CANES.all; - - do - { - ECanaShadow.CANES.all = ECanaRegs.CANES.all; - } while(ECanaShadow.CANES.bit.CCE != 0 ); // Wait for CCE bit to be cleared.. - -/* Disable all Mailboxes */ - ECanaRegs.CANME.all = 0; // Required before writing the MSGIDs - - EDIS; -} - - -#if (DSP28_ECANB) -void InitECanb(void) // Initialize eCAN-B module -{ -/* Create a shadow register structure for the CAN control registers. This is - needed, since only 32-bit access is allowed to these registers. 16-bit access - to these registers could potentially corrupt the register contents or return - false data. This is especially true while writing to/reading from a bit - (or group of bits) among bits 16 - 31 */ - -struct ECAN_REGS ECanbShadow; - - EALLOW; // EALLOW enables access to protected bits - -/* Configure eCAN RX and TX pins for CAN operation using eCAN regs*/ - - ECanbShadow.CANTIOC.all = ECanbRegs.CANTIOC.all; - ECanbShadow.CANTIOC.bit.TXFUNC = 1; - ECanbRegs.CANTIOC.all = ECanbShadow.CANTIOC.all; - - ECanbShadow.CANRIOC.all = ECanbRegs.CANRIOC.all; - ECanbShadow.CANRIOC.bit.RXFUNC = 1; - ECanbRegs.CANRIOC.all = ECanbShadow.CANRIOC.all; - -/* Configure eCAN for HECC mode - (reqd to access mailboxes 16 thru 31) */ - - ECanbShadow.CANMC.all = ECanbRegs.CANMC.all; - ECanbShadow.CANMC.bit.SCB = 1; - ECanbRegs.CANMC.all = ECanbShadow.CANMC.all; - -/* Initialize all bits of 'Master Control Field' to zero */ -// Some bits of MSGCTRL register come up in an unknown state. For proper operation, -// all bits (including reserved bits) of MSGCTRL must be initialized to zero - - ECanbMboxes.MBOX0.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX1.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX2.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX3.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX4.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX5.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX6.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX7.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX8.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX9.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX10.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX11.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX12.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX13.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX14.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX15.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX16.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX17.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX18.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX19.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX20.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX21.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX22.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX23.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX24.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX25.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX26.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX27.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX28.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX29.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX30.MSGCTRL.all = 0x00000000; - ECanbMboxes.MBOX31.MSGCTRL.all = 0x00000000; - -// TAn, RMPn, GIFn bits are all zero upon reset and are cleared again -// as a matter of precaution. - - ECanbRegs.CANTA.all = 0xFFFFFFFF; /* Clear all TAn bits */ - - ECanbRegs.CANRMP.all = 0xFFFFFFFF; /* Clear all RMPn bits */ - - ECanbRegs.CANGIF0.all = 0xFFFFFFFF; /* Clear all interrupt flag bits */ - ECanbRegs.CANGIF1.all = 0xFFFFFFFF; - - -/* Configure bit timing parameters for eCANB*/ - - ECanbShadow.CANMC.all = ECanbRegs.CANMC.all; - ECanbShadow.CANMC.bit.CCR = 1 ; // Set CCR = 1 - ECanbRegs.CANMC.all = ECanbShadow.CANMC.all; - - ECanbShadow.CANES.all = ECanbRegs.CANES.all; - - do - { - ECanbShadow.CANES.all = ECanbRegs.CANES.all; - } while(ECanbShadow.CANES.bit.CCE != 1 ); // Wait for CCE bit to be cleared.. - - - ECanbShadow.CANBTC.all = 0; - - #if (CPU_FRQ_150MHZ) // CPU_FRQ_150MHz is defined in DSP2833x_Examples.h - /* The following block for all 150 MHz SYSCLKOUT (75 MHz CAN clock) - default. Bit rate = 1 Mbps - See Note at end of file */ - ECanbShadow.CANBTC.bit.BRPREG = 4; - ECanbShadow.CANBTC.bit.TSEG2REG = 2; - ECanbShadow.CANBTC.bit.TSEG1REG = 10; - #endif - #if (CPU_FRQ_100MHZ) // CPU_FRQ_100MHz is defined in DSP2833x_Examples.h - /* The following block is only for 100 MHz SYSCLKOUT (50 MHz CAN clock). Bit rate = 1 Mbps - See Note at end of file */ - ECanbShadow.CANBTC.bit.BRPREG = 4; - ECanbShadow.CANBTC.bit.TSEG2REG = 1; - ECanbShadow.CANBTC.bit.TSEG1REG = 6; - #endif - - ECanbShadow.CANBTC.bit.SAM = 1; - ECanbRegs.CANBTC.all = ECanbShadow.CANBTC.all; - - ECanbShadow.CANMC.all = ECanbRegs.CANMC.all; - ECanbShadow.CANMC.bit.CCR = 0 ; // Set CCR = 0 - ECanbRegs.CANMC.all = ECanbShadow.CANMC.all; - - ECanbShadow.CANES.all = ECanbRegs.CANES.all; - - do - { - ECanbShadow.CANES.all = ECanbRegs.CANES.all; - } while(ECanbShadow.CANES.bit.CCE != 0 ); // Wait for CCE bit to be cleared.. - - -/* Disable all Mailboxes */ - ECanbRegs.CANME.all = 0; // Required before writing the MSGIDs - - EDIS; -} -#endif // if DSP28_ECANB - - -//--------------------------------------------------------------------------- -// Example: InitECanGpio: -//--------------------------------------------------------------------------- -// This function initializes GPIO pins to function as eCAN pins -// -// Each GPIO pin can be configured as a GPIO pin or up to 3 different -// peripheral functional pins. By default all pins come up as GPIO -// inputs after reset. -// -// Caution: -// Only one GPIO pin should be enabled for CANTXA/B operation. -// Only one GPIO pin shoudl be enabled for CANRXA/B operation. -// Comment out other unwanted lines. - - -void InitECanGpio(void) -{ - InitECanaGpio(); -#if (DSP28_ECANB) - InitECanbGpio(); -#endif // if DSP28_ECANB -} - -void InitECanaGpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected CAN pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO30 = 0; // Enable pull-up for GPIO30 (CANRXA) -// GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0; // Enable pull-up for GPIO18 (CANRXA) - - GpioCtrlRegs.GPAPUD.bit.GPIO31 = 0; // Enable pull-up for GPIO31 (CANTXA) -// GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0; // Enable pull-up for GPIO19 (CANTXA) - -/* Set qualification for selected CAN pins to asynch only */ -// Inputs are synchronized to SYSCLKOUT by default. -// This will select asynch (no qualification) for the selected pins. - - GpioCtrlRegs.GPAQSEL2.bit.GPIO30 = 3; // Asynch qual for GPIO30 (CANRXA) -// GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 3; // Asynch qual for GPIO18 (CANRXA) - - -/* Configure eCAN-A pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eCAN functional pins. - - GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 1; // Configure GPIO30 for CANRXA operation -// GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 3; // Configure GPIO18 for CANRXA operation - GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 1; // Configure GPIO31 for CANTXA operation -// GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 3; // Configure GPIO19 for CANTXA operation - - EDIS; -} - -#if (DSP28_ECANB) -void InitECanbGpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected CAN pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO8 = 0; // Enable pull-up for GPIO8 (CANTXB) -// GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0; // Enable pull-up for GPIO12 (CANTXB) -// GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0; // Enable pull-up for GPIO16 (CANTXB) -// GpioCtrlRegs.GPAPUD.bit.GPIO20 = 0; // Enable pull-up for GPIO20 (CANTXB) - - GpioCtrlRegs.GPAPUD.bit.GPIO10 = 0; // Enable pull-up for GPIO10 (CANRXB) -// GpioCtrlRegs.GPAPUD.bit.GPIO13 = 0; // Enable pull-up for GPIO13 (CANRXB) -// GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0; // Enable pull-up for GPIO17 (CANRXB) -// GpioCtrlRegs.GPAPUD.bit.GPIO21 = 0; // Enable pull-up for GPIO21 (CANRXB) - -/* Set qualification for selected CAN pins to asynch only */ -// Inputs are synchronized to SYSCLKOUT by default. -// This will select asynch (no qualification) for the selected pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL1.bit.GPIO10 = 3; // Asynch qual for GPIO10 (CANRXB) -// GpioCtrlRegs.GPAQSEL1.bit.GPIO13 = 3; // Asynch qual for GPIO13 (CANRXB) -// GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3; // Asynch qual for GPIO17 (CANRXB) -// GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 3; // Asynch qual for GPIO21 (CANRXB) - -/* Configure eCAN-B pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eCAN functional pins. - - GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 2; // Configure GPIO8 for CANTXB operation -// GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 2; // Configure GPIO12 for CANTXB operation -// GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 2; // Configure GPIO16 for CANTXB operation -// GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 3; // Configure GPIO20 for CANTXB operation - - GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 2; // Configure GPIO10 for CANRXB operation -// GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 2; // Configure GPIO13 for CANRXB operation -// GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 2; // Configure GPIO17 for CANRXB operation -// GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 3; // Configure GPIO21 for CANRXB operation - - EDIS; -} -#endif // if DSP28_ECANB - -/* -Note: Bit timing parameters must be chosen based on the network parameters such -as the sampling point desired and the propagation delay of the network. -The propagation delay is a function of length of the cable, delay introduced by -the transceivers and opto/galvanic-isolators (if any). - -The parameters used in this file must be changed taking into account the above -mentioned factors in order to arrive at the bit-timing parameters suitable -for a network. - -*/ diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_ECap.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_ECap.c deleted file mode 100644 index cd1d24d..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_ECap.c +++ /dev/null @@ -1,255 +0,0 @@ -// TI File $Revision: /main/2 $ -// Checkin $Date: March 15, 2007 16:54:36 $ -//########################################################################### -// -// FILE: DSP2833x_ECap.c -// -// TITLE: DSP2833x eCAP Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - -//--------------------------------------------------------------------------- -// InitECap: -//--------------------------------------------------------------------------- -// This function initializes the eCAP(s) to a known state. -// -void InitECap(void) -{ - // Initialize eCAP1/2/3 - - //tbd... - -} - -//--------------------------------------------------------------------------- -// Example: InitECapGpio: -//--------------------------------------------------------------------------- -// This function initializes GPIO pins to function as ECAP pins -// -// Each GPIO pin can be configured as a GPIO pin or up to 3 different -// peripheral functional pins. By default all pins come up as GPIO -// inputs after reset. -// -// Caution: -// For each eCAP peripheral -// Only one GPIO pin should be enabled for ECAP operation. -// Comment out other unwanted lines. - -void InitECapGpio() -{ - - InitECap1Gpio(); -#if (DSP28_ECAP2) - InitECap2Gpio(); -#endif // endif DSP28_ECAP2 -#if (DSP28_ECAP3) - InitECap3Gpio(); -#endif // endif DSP28_ECAP3 -#if (DSP28_ECAP4) - InitECap4Gpio(); -#endif // endif DSP28_ECAP4 -#if (DSP28_ECAP5) - InitECap5Gpio(); -#endif // endif DSP28_ECAP5 -#if (DSP28_ECAP6) - InitECap6Gpio(); -#endif // endif DSP28_ECAP6 -} - -void InitECap1Gpio(void) -{ - EALLOW; -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - -// GpioCtrlRegs.GPAPUD.bit.GPIO5 = 0; // Enable pull-up on GPIO5 (CAP1) - GpioCtrlRegs.GPAPUD.bit.GPIO24 = 0; // Enable pull-up on GPIO24 (CAP1) -// GpioCtrlRegs.GPBPUD.bit.GPIO34 = 0; // Enable pull-up on GPIO34 (CAP1) - - -// Inputs are synchronized to SYSCLKOUT by default. -// Comment out other unwanted lines. - -// GpioCtrlRegs.GPAQSEL1.bit.GPIO5 = 0; // Synch to SYSCLKOUT GPIO5 (CAP1) - GpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 0; // Synch to SYSCLKOUT GPIO24 (CAP1) -// GpioCtrlRegs.GPBQSEL1.bit.GPIO34 = 0; // Synch to SYSCLKOUT GPIO34 (CAP1) - -/* Configure eCAP-1 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eCAP1 functional pins. -// Comment out other unwanted lines. - -// GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 3; // Configure GPIO5 as CAP1 - GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 1; // Configure GPIO24 as CAP1 -// GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 1; // Configure GPIO24 as CAP1 - - EDIS; -} - -#if DSP28_ECAP2 -void InitECap2Gpio(void) -{ - EALLOW; -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO7 = 0; // Enable pull-up on GPIO7 (CAP2) -// GpioCtrlRegs.GPAPUD.bit.GPIO25 = 0; // Enable pull-up on GPIO25 (CAP2) -// GpioCtrlRegs.GPBPUD.bit.GPIO37 = 0; // Enable pull-up on GPIO37 (CAP2) - -// Inputs are synchronized to SYSCLKOUT by default. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL1.bit.GPIO7 = 0; // Synch to SYSCLKOUT GPIO7 (CAP2) -// GpioCtrlRegs.GPAQSEL2.bit.GPIO25 = 0; // Synch to SYSCLKOUT GPIO25 (CAP2) -// GpioCtrlRegs.GPBQSEL1.bit.GPIO37 = 0; // Synch to SYSCLKOUT GPIO37 (CAP2) - -/* Configure eCAP-2 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eCAP2 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 3; // Configure GPIO7 as CAP2 -// GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 1; // Configure GPIO25 as CAP2 -// GpioCtrlRegs.GPBMUX1.bit.GPIO37 = 3; // Configure GPIO37 as CAP2 - - EDIS; -} -#endif // endif DSP28_ECAP2 - -#if DSP28_ECAP3 -void InitECap3Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO9 = 0; // Enable pull-up on GPIO9 (CAP3) -// GpioCtrlRegs.GPAPUD.bit.GPIO26 = 0; // Enable pull-up on GPIO26 (CAP3) - -// Inputs are synchronized to SYSCLKOUT by default. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL1.bit.GPIO9 = 0; // Synch to SYSCLKOUT GPIO9 (CAP3) -// GpioCtrlRegs.GPAQSEL2.bit.GPIO26 = 0; // Synch to SYSCLKOUT GPIO26 (CAP3) - -/* Configure eCAP-3 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eCAP3 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 3; // Configure GPIO9 as CAP3 -// GpioCtrlRegs.GPAMUX2.bit.GPIO26 = 1; // Configure GPIO26 as CAP3 - - EDIS; -} -#endif // endif DSP28_ECAP3 - - -#if DSP28_ECAP4 -void InitECap4Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO11 = 0; // Enable pull-up on GPIO11 (CAP4) -// GpioCtrlRegs.GPAPUD.bit.GPIO27 = 0; // Enable pull-up on GPIO27 (CAP4) - -// Inputs are synchronized to SYSCLKOUT by default. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL1.bit.GPIO11 = 0; // Synch to SYSCLKOUT GPIO11 (CAP4) -// GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 0; // Synch to SYSCLKOUT GPIO27 (CAP4) - -/* Configure eCAP-4 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eCAP4 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 3; // Configure GPIO11 as CAP4 -// GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 1; // Configure GPIO27 as CAP4 - - EDIS; -} -#endif // endif DSP28_ECAP4 - - -#if DSP28_ECAP5 -void InitECap5Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO3 = 0; // Enable pull-up on GPIO3 (CAP5) -// GpioCtrlRegs.GPBPUD.bit.GPIO48 = 0; // Enable pull-up on GPIO48 (CAP5) - -// Inputs are synchronized to SYSCLKOUT by default. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL1.bit.GPIO3 = 0; // Synch to SYSCLKOUT GPIO3 (CAP5) -// GpioCtrlRegs.GPBQSEL2.bit.GPIO48 = 0; // Synch to SYSCLKOUT GPIO48 (CAP5) - -/* Configure eCAP-5 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eCAP5 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 2; // Configure GPIO3 as CAP5 -// GpioCtrlRegs.GPBMUX2.bit.GPIO48 = 1; // Configure GPIO48 as CAP5 - - EDIS; -} -#endif // endif DSP28_ECAP5 - - -#if DSP28_ECAP6 -void InitECap6Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0; // Enable pull-up on GPIO1 (CAP6) -// GpioCtrlRegs.GPBPUD.bit.GPIO49 = 0; // Enable pull-up on GPIO49 (CAP6) - -// Inputs are synchronized to SYSCLKOUT by default. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL1.bit.GPIO1 = 0; // Synch to SYSCLKOUT GPIO1 (CAP6) -// GpioCtrlRegs.GPBQSEL2.bit.GPIO49 = 0; // Synch to SYSCLKOUT GPIO49 (CAP6) - -/* Configure eCAP-5 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eCAP6 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 2; // Configure GPIO1 as CAP6 -// GpioCtrlRegs.GPBMUX2.bit.GPIO49 = 1; // Configure GPIO49 as CAP6 - - EDIS; -} -#endif // endif DSP28_ECAP6 - - - -//=========================================================================== -// End of file. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_EPwm.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_EPwm.c deleted file mode 100644 index 64f0e0f..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_EPwm.c +++ /dev/null @@ -1,316 +0,0 @@ -// TI File $Revision: /main/1 $ -// Checkin $Date: August 18, 2006 13:46:19 $ -//########################################################################### -// -// FILE: DSP2833x_EPwm.c -// -// TITLE: DSP2833x ePWM Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - -//--------------------------------------------------------------------------- -// InitEPwm: -//--------------------------------------------------------------------------- -// This function initializes the ePWM(s) to a known state. -// -void InitEPwm(void) -{ - // Initialize ePWM1/2/3/4/5/6 - - //tbd... - -} - -//--------------------------------------------------------------------------- -// Example: InitEPwmGpio: -//--------------------------------------------------------------------------- -// This function initializes GPIO pins to function as ePWM pins -// -// Each GPIO pin can be configured as a GPIO pin or up to 3 different -// peripheral functional pins. By default all pins come up as GPIO -// inputs after reset. -// - -void InitEPwmGpio(void) -{ - InitEPwm1Gpio(); - InitEPwm2Gpio(); - InitEPwm3Gpio(); -#if DSP28_EPWM4 - InitEPwm4Gpio(); -#endif // endif DSP28_EPWM4 -#if DSP28_EPWM5 - InitEPwm5Gpio(); -#endif // endif DSP28_EPWM5 -#if DSP28_EPWM6 - InitEPwm6Gpio(); -#endif // endif DSP28_EPWM6 -} - -void InitEPwm1Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0; // Enable pull-up on GPIO0 (EPWM1A) - GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0; // Enable pull-up on GPIO1 (EPWM1B) - -/* Configure ePWM-1 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be ePWM1 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // Configure GPIO0 as EPWM1A - GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // Configure GPIO1 as EPWM1B - - EDIS; -} - -void InitEPwm2Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO2 = 0; // Enable pull-up on GPIO2 (EPWM2A) - GpioCtrlRegs.GPAPUD.bit.GPIO3 = 0; // Enable pull-up on GPIO3 (EPWM3B) - -/* Configure ePWM-2 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be ePWM2 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 1; // Configure GPIO2 as EPWM2A - GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 1; // Configure GPIO3 as EPWM2B - - EDIS; -} - -void InitEPwm3Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO4 = 0; // Enable pull-up on GPIO4 (EPWM3A) - GpioCtrlRegs.GPAPUD.bit.GPIO5 = 0; // Enable pull-up on GPIO5 (EPWM3B) - -/* Configure ePWM-3 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be ePWM3 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 1; // Configure GPIO4 as EPWM3A - GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 1; // Configure GPIO5 as EPWM3B - - EDIS; -} - - -#if DSP28_EPWM4 -void InitEPwm4Gpio(void) -{ - EALLOW; -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO6 = 0; // Enable pull-up on GPIO6 (EPWM4A) - GpioCtrlRegs.GPAPUD.bit.GPIO7 = 0; // Enable pull-up on GPIO7 (EPWM4B) - -/* Configure ePWM-4 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be ePWM4 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 1; // Configure GPIO6 as EPWM4A - GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 1; // Configure GPIO7 as EPWM4B - - EDIS; -} -#endif // endif DSP28_EPWM4 - - -#if DSP28_EPWM5 -void InitEPwm5Gpio(void) -{ - EALLOW; -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO8 = 0; // Enable pull-up on GPIO8 (EPWM5A) - GpioCtrlRegs.GPAPUD.bit.GPIO9 = 0; // Enable pull-up on GPIO9 (EPWM5B) - -/* Configure ePWM-5 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be ePWM5 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 1; // Configure GPIO8 as EPWM5A - GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 1; // Configure GPIO9 as EPWM5B - - EDIS; -} -#endif // endif DSP28_EPWM5 - - -#if DSP28_EPWM6 -void InitEPwm6Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO10 = 0; // Enable pull-up on GPIO10 (EPWM6A) - GpioCtrlRegs.GPAPUD.bit.GPIO11 = 0; // Enable pull-up on GPIO11 (EPWM6B) - -/* Configure ePWM-6 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be ePWM6 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 1; // Configure GPIO10 as EPWM6A - GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 1; // Configure GPIO11 as EPWM6B - - EDIS; -} -#endif // endif DSP28_EPWM6 - -//--------------------------------------------------------------------------- -// Example: InitEPwmSyncGpio: -//--------------------------------------------------------------------------- -// This function initializes GPIO pins to function as ePWM Synch pins -// - -void InitEPwmSyncGpio(void) -{ - - EALLOW; - -/* Configure EPWMSYNCI */ - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO6 = 0; // Enable pull-up on GPIO6 (EPWMSYNCI) -// GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; // Enable pull-up on GPIO32 (EPWMSYNCI) - -/* Set qualification for selected pins to asynch only */ -// This will select synch to SYSCLKOUT for the selected pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL1.bit.GPIO6 = 0; // Synch to SYSCLKOUT GPIO6 (EPWMSYNCI) -// GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 0; // Synch to SYSCLKOUT GPIO32 (EPWMSYNCI) - -/* Configure EPwmSync pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be EPwmSync functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 2; // Enable pull-up on GPIO6 (EPWMSYNCI) -// GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 2; // Enable pull-up on GPIO32 (EPWMSYNCI) - - - -/* Configure EPWMSYNC0 */ - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - -// GpioCtrlRegs.GPAPUD.bit.GPIO6 = 0; // Enable pull-up on GPIO6 (EPWMSYNC0) - GpioCtrlRegs.GPBPUD.bit.GPIO33 = 0; // Enable pull-up on GPIO33 (EPWMSYNC0) - -// GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 3; // Enable pull-up on GPIO6 (EPWMSYNC0) - GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 2; // Enable pull-up on GPIO33 (EPWMSYNC0) - -} - - - -//--------------------------------------------------------------------------- -// Example: InitTzGpio: -//--------------------------------------------------------------------------- -// This function initializes GPIO pins to function as Trip Zone (TZ) pins -// -// Each GPIO pin can be configured as a GPIO pin or up to 3 different -// peripheral functional pins. By default all pins come up as GPIO -// inputs after reset. -// - -void InitTzGpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0; // Enable pull-up on GPIO12 (TZ1) - GpioCtrlRegs.GPAPUD.bit.GPIO13 = 0; // Enable pull-up on GPIO13 (TZ2) - GpioCtrlRegs.GPAPUD.bit.GPIO14 = 0; // Enable pull-up on GPIO14 (TZ3) - GpioCtrlRegs.GPAPUD.bit.GPIO15 = 0; // Enable pull-up on GPIO15 (TZ4) - - GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0; // Enable pull-up on GPIO16 (TZ5) -// GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0; // Enable pull-up on GPIO28 (TZ5) - - GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0; // Enable pull-up on GPIO17 (TZ6) -// GpioCtrlRegs.GPAPUD.bit.GPIO29 = 0; // Enable pull-up on GPIO29 (TZ6) - -/* Set qualification for selected pins to asynch only */ -// Inputs are synchronized to SYSCLKOUT by default. -// This will select asynch (no qualification) for the selected pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL1.bit.GPIO12 = 3; // Asynch input GPIO12 (TZ1) - GpioCtrlRegs.GPAQSEL1.bit.GPIO13 = 3; // Asynch input GPIO13 (TZ2) - GpioCtrlRegs.GPAQSEL1.bit.GPIO14 = 3; // Asynch input GPIO14 (TZ3) - GpioCtrlRegs.GPAQSEL1.bit.GPIO15 = 3; // Asynch input GPIO15 (TZ4) - - GpioCtrlRegs.GPAQSEL2.bit.GPIO16 = 3; // Asynch input GPIO16 (TZ5) -// GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3; // Asynch input GPIO28 (TZ5) - - GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3; // Asynch input GPIO17 (TZ6) -// GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 3; // Asynch input GPIO29 (TZ6) - - -/* Configure TZ pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be TZ functional pins. -// Comment out other unwanted lines. - GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 1; // Configure GPIO12 as TZ1 - GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 1; // Configure GPIO13 as TZ2 - GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 1; // Configure GPIO14 as TZ3 - GpioCtrlRegs.GPAMUX1.bit.GPIO15 = 1; // Configure GPIO15 as TZ4 - - GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 3; // Configure GPIO16 as TZ5 -// GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 3; // Configure GPIO28 as TZ5 - - GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 3; // Configure GPIO17 as TZ6 -// GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 3; // Configure GPIO29 as TZ6 - - EDIS; -} - - - -//=========================================================================== -// End of file. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_EQep.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_EQep.c deleted file mode 100644 index cb6ad92..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_EQep.c +++ /dev/null @@ -1,154 +0,0 @@ -// TI File $Revision: /main/3 $ -// Checkin $Date: July 27, 2007 11:55:20 $ -//########################################################################### -// -// FILE: DSP2833x_EQep.c -// -// TITLE: DSP2833x eQEP Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - -//--------------------------------------------------------------------------- -// InitEQep: -//--------------------------------------------------------------------------- -// This function initializes the eQEP(s) to a known state. -// -void InitEQep(void) -{ - // Initialize eQEP1/2 - - //tbd... - -} - -//--------------------------------------------------------------------------- -// Example: InitEQepGpio: -//--------------------------------------------------------------------------- -// This function initializes GPIO pins to function as eQEP pins -// -// Each GPIO pin can be configured as a GPIO pin or up to 3 different -// peripheral functional pins. By default all pins come up as GPIO -// inputs after reset. -// -// Caution: -// For each eQEP peripheral -// Only one GPIO pin should be enabled for EQEPxA operation. -// Only one GPIO pin should be enabled for EQEPxB operation. -// Only one GPIO pin should be enabled for EQEPxS operation. -// Only one GPIO pin should be enabled for EQEPxI operation. -// Comment out other unwanted lines. - -void InitEQepGpio() -{ -#if DSP28_EQEP1 - InitEQep1Gpio(); -#endif // endif DSP28_EQEP1 -#if DSP28_EQEP2 - InitEQep2Gpio(); -#endif // endif DSP28_EQEP2 -} - -#if DSP28_EQEP1 -void InitEQep1Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO20 = 0; // Enable pull-up on GPIO20 (EQEP1A) - GpioCtrlRegs.GPAPUD.bit.GPIO21 = 0; // Enable pull-up on GPIO21 (EQEP1B) - GpioCtrlRegs.GPAPUD.bit.GPIO22 = 0; // Enable pull-up on GPIO22 (EQEP1S) - GpioCtrlRegs.GPAPUD.bit.GPIO23 = 0; // Enable pull-up on GPIO23 (EQEP1I) - -// GpioCtrlRegs.GPBPUD.bit.GPIO50 = 0; // Enable pull-up on GPIO50 (EQEP1A) -// GpioCtrlRegs.GPBPUD.bit.GPIO51 = 0; // Enable pull-up on GPIO51 (EQEP1B) -// GpioCtrlRegs.GPBPUD.bit.GPIO52 = 0; // Enable pull-up on GPIO52 (EQEP1S) -// GpioCtrlRegs.GPBPUD.bit.GPIO53 = 0; // Enable pull-up on GPIO53 (EQEP1I) - - -// Inputs are synchronized to SYSCLKOUT by default. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL2.bit.GPIO20 = 0; // Sync to SYSCLKOUT GPIO20 (EQEP1A) - GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 0; // Sync to SYSCLKOUT GPIO21 (EQEP1B) - GpioCtrlRegs.GPAQSEL2.bit.GPIO22 = 0; // Sync to SYSCLKOUT GPIO22 (EQEP1S) - GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 0; // Sync to SYSCLKOUT GPIO23 (EQEP1I) - -// GpioCtrlRegs.GPBQSEL2.bit.GPIO50 = 0; // Sync to SYSCLKOUT GPIO50 (EQEP1A) -// GpioCtrlRegs.GPBQSEL2.bit.GPIO51 = 0; // Sync to SYSCLKOUT GPIO51 (EQEP1B) -// GpioCtrlRegs.GPBQSEL2.bit.GPIO52 = 0; // Sync to SYSCLKOUT GPIO52 (EQEP1S) -// GpioCtrlRegs.GPBQSEL2.bit.GPIO53 = 0; // Sync to SYSCLKOUT GPIO53 (EQEP1I) - -/* Configure eQEP-1 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eQEP1 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 1; // Configure GPIO20 as EQEP1A - GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 1; // Configure GPIO21 as EQEP1B - GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 1; // Configure GPIO22 as EQEP1S - GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 1; // Configure GPIO23 as EQEP1I - -// GpioCtrlRegs.GPBMUX2.bit.GPIO50 = 1; // Configure GPIO50 as EQEP1A -// GpioCtrlRegs.GPBMUX2.bit.GPIO51 = 1; // Configure GPIO51 as EQEP1B -// GpioCtrlRegs.GPBMUX2.bit.GPIO52 = 1; // Configure GPIO52 as EQEP1S -// GpioCtrlRegs.GPBMUX2.bit.GPIO53 = 1; // Configure GPIO53 as EQEP1I - - - EDIS; -} -#endif // if DSP28_EQEP1 - - - -#if DSP28_EQEP2 -void InitEQep2Gpio(void) -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO24 = 0; // Enable pull-up on GPIO24 (EQEP2A) - GpioCtrlRegs.GPAPUD.bit.GPIO25 = 0; // Enable pull-up on GPIO25 (EQEP2B) - GpioCtrlRegs.GPAPUD.bit.GPIO26 = 0; // Enable pull-up on GPIO26 (EQEP2I) - GpioCtrlRegs.GPAPUD.bit.GPIO27 = 0; // Enable pull-up on GPIO27 (EQEP2S) - -// Inputs are synchronized to SYSCLKOUT by default. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 0; // Sync to SYSCLKOUT GPIO24 (EQEP2A) - GpioCtrlRegs.GPAQSEL2.bit.GPIO25 = 0; // Sync to SYSCLKOUT GPIO25 (EQEP2B) - GpioCtrlRegs.GPAQSEL2.bit.GPIO26 = 0; // Sync to SYSCLKOUT GPIO26 (EQEP2I) - GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 0; // Sync to SYSCLKOUT GPIO27 (EQEP2S) - -/* Configure eQEP-2 pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be eQEP2 functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 2; // Configure GPIO24 as EQEP2A - GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 2; // Configure GPIO25 as EQEP2B - GpioCtrlRegs.GPAMUX2.bit.GPIO26 = 2; // Configure GPIO26 as EQEP2I - GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 2; // Configure GPIO27 as EQEP2S - - - EDIS; -} -#endif // endif DSP28_EQEP2 - - - - -//=========================================================================== -// End of file. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_Gpio.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_Gpio.c deleted file mode 100644 index c615f0d..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_Gpio.c +++ /dev/null @@ -1,69 +0,0 @@ -// TI File $Revision: /main/1 $ -// Checkin $Date: August 18, 2006 13:46:25 $ -//########################################################################### -// -// FILE: DSP2833x_Gpio.c -// -// TITLE: DSP2833x General Purpose I/O Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - -//--------------------------------------------------------------------------- -// InitGpio: -//--------------------------------------------------------------------------- -// This function initializes the Gpio to a known (default) state. -// -// For more details on configuring GPIO's as peripheral functions, -// refer to the individual peripheral examples and/or GPIO setup example. -void InitGpio(void) -{ - EALLOW; - - // Each GPIO pin can be: - // a) a GPIO input/output - // b) peripheral function 1 - // c) peripheral function 2 - // d) peripheral function 3 - // By default, all are GPIO Inputs - GpioCtrlRegs.GPAMUX1.all = 0x0000; // GPIO functionality GPIO0-GPIO15 - GpioCtrlRegs.GPAMUX2.all = 0x0000; // GPIO functionality GPIO16-GPIO31 - GpioCtrlRegs.GPBMUX1.all = 0x0000; // GPIO functionality GPIO32-GPIO39 - GpioCtrlRegs.GPBMUX2.all = 0x0000; // GPIO functionality GPIO48-GPIO63 - GpioCtrlRegs.GPCMUX1.all = 0x0000; // GPIO functionality GPIO64-GPIO79 - GpioCtrlRegs.GPCMUX2.all = 0x0000; // GPIO functionality GPIO80-GPIO95 - - GpioCtrlRegs.GPADIR.all = 0x0000; // GPIO0-GPIO31 are inputs - GpioCtrlRegs.GPBDIR.all = 0x0000; // GPIO32-GPIO63 are inputs - GpioCtrlRegs.GPCDIR.all = 0x0000; // GPI064-GPIO95 are inputs - - // Each input can have different qualification - // a) input synchronized to SYSCLKOUT - // b) input qualified by a sampling window - // c) input sent asynchronously (valid for peripheral inputs only) - GpioCtrlRegs.GPAQSEL1.all = 0x0000; // GPIO0-GPIO15 Synch to SYSCLKOUT - GpioCtrlRegs.GPAQSEL2.all = 0x0000; // GPIO16-GPIO31 Synch to SYSCLKOUT - GpioCtrlRegs.GPBQSEL1.all = 0x0000; // GPIO32-GPIO39 Synch to SYSCLKOUT - GpioCtrlRegs.GPBQSEL2.all = 0x0000; // GPIO48-GPIO63 Synch to SYSCLKOUT - - // Pull-ups can be enabled or disabled. - GpioCtrlRegs.GPAPUD.all = 0x0000; // Pullup's enabled GPIO0-GPIO31 - GpioCtrlRegs.GPBPUD.all = 0x0000; // Pullup's enabled GPIO32-GPIO63 - GpioCtrlRegs.GPCPUD.all = 0x0000; // Pullup's enabled GPIO64-GPIO79 - - //GpioCtrlRegs.GPAPUD.all = 0xFFFF; // Pullup's disabled GPIO0-GPIO31 - //GpioCtrlRegs.GPBPUD.all = 0xFFFF; // Pullup's disabled GPIO32-GPIO34 - //GpioCtrlRegs.GPCPUD.all = 0xFFFF // Pullup's disabled GPIO64-GPIO79 - - EDIS; - -} - -//=========================================================================== -// End of file. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_I2C.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_I2C.c deleted file mode 100644 index fda73d3..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_I2C.c +++ /dev/null @@ -1,76 +0,0 @@ -// TI File $Revision: /main/1 $ -// Checkin $Date: August 18, 2006 13:46:27 $ -//########################################################################### -// -// FILE: DSP2833x_I2C.c -// -// TITLE: DSP2833x SCI Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - -//--------------------------------------------------------------------------- -// InitI2C: -//--------------------------------------------------------------------------- -// This function initializes the I2C to a known state. -// -void InitI2C(void) -{ - // Initialize I2C-A: - - //tbd... -} - -//--------------------------------------------------------------------------- -// Example: InitI2CGpio: -//--------------------------------------------------------------------------- -// This function initializes GPIO pins to function as I2C pins -// -// Each GPIO pin can be configured as a GPIO pin or up to 3 different -// peripheral functional pins. By default all pins come up as GPIO -// inputs after reset. -// -// Caution: -// Only one GPIO pin should be enabled for SDAA operation. -// Only one GPIO pin shoudl be enabled for SCLA operation. -// Comment out other unwanted lines. - -void InitI2CGpio() -{ - - EALLOW; -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; // Enable pull-up for GPIO32 (SDAA) - GpioCtrlRegs.GPBPUD.bit.GPIO33 = 0; // Enable pull-up for GPIO33 (SCLA) - -/* Set qualification for selected pins to asynch only */ -// This will select asynch (no qualification) for the selected pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 3; // Asynch input GPIO32 (SDAA) - GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 3; // Asynch input GPIO33 (SCLA) - -/* Configure SCI pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be I2C functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 1; // Configure GPIO32 for SDAA operation - GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 1; // Configure GPIO33 for SCLA operation - - EDIS; -} - - - -//=========================================================================== -// End of file. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_Mcbsp.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_Mcbsp.c deleted file mode 100644 index 302c330..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_Mcbsp.c +++ /dev/null @@ -1,349 +0,0 @@ - // TI File $Revision: /main/16 $ -// Checkin $Date: October 3, 2007 14:50:19 $ -//########################################################################### -// -// FILE: DSP2833x_McBSP.c -// -// TITLE: DSP2833x Device McBSP Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - -//--------------------------------------------------------------------------- -// MCBSP_INIT_DELAY determines the amount of CPU cycles in the 2 sample rate -// generator (SRG) cycles required for the Mcbsp initialization routine. -// MCBSP_CLKG_DELAY determines the amount of CPU cycles in the 2 clock -// generator (CLKG) cycles required for the Mcbsp initialization routine. -// For the functions defined in Mcbsp.c, MCBSP_INIT_DELAY and MCBSP_CLKG_DELAY -// are based off of either a 150 MHz SYSCLKOUT (default) or a 100 MHz SYSCLKOUT. -// -// CPU_FRQ_100MHZ and CPU_FRQ_150MHZ are defined in DSP2833x_Examples.h -//--------------------------------------------------------------------------- - -#if CPU_FRQ_150MHZ // For 150 MHz SYSCLKOUT(default) - #define CPU_SPD 150E6 - #define MCBSP_SRG_FREQ CPU_SPD/4 // SRG input is LSPCLK (SYSCLKOUT/4) for examples -#endif -#if CPU_FRQ_100MHZ // For 100 MHz SYSCLKOUT - #define CPU_SPD 100E6 - #define MCBSP_SRG_FREQ CPU_SPD/4 // SRG input is LSPCLK (SYSCLKOUT/4) for examples -#endif - -#define CLKGDV_VAL 1 -#define MCBSP_INIT_DELAY 2*(CPU_SPD/MCBSP_SRG_FREQ) // # of CPU cycles in 2 SRG cycles-init delay -#define MCBSP_CLKG_DELAY 2*(CPU_SPD/(MCBSP_SRG_FREQ/(1+CLKGDV_VAL))) // # of CPU cycles in 2 CLKG cycles-init delay -//--------------------------------------------------------------------------- -// InitMcbsp: -//--------------------------------------------------------------------------- -// This function initializes the McBSP to a known state. -// - -void delay_loop(void); // Delay function used for SRG initialization -void clkg_delay_loop(void); // Delay function used for CLKG initialization - -void InitMcbsp(void) -{ - InitMcbspa(); - #if DSP28_MCBSPB - InitMcbspb(); - #endif // end DSP28_MCBSPB -} - -void InitMcbspa(void) -{ -// McBSP-A register settings - - McbspaRegs.SPCR2.all=0x0000; // Reset FS generator, sample rate generator & transmitter - McbspaRegs.SPCR1.all=0x0000; // Reset Receiver, Right justify word - McbspaRegs.SPCR1.bit.DLB = 1; // Enable loopback mode for test. Comment out for normal McBSP transfer mode. - - - McbspaRegs.MFFINT.all=0x0; // Disable all interrupts - - McbspaRegs.RCR2.all=0x0; // Single-phase frame, 1 word/frame, No companding (Receive) - McbspaRegs.RCR1.all=0x0; - - McbspaRegs.XCR2.all=0x0; // Single-phase frame, 1 word/frame, No companding (Transmit) - McbspaRegs.XCR1.all=0x0; - - McbspaRegs.PCR.bit.FSXM = 1; // FSX generated internally, FSR derived from an external source - McbspaRegs.PCR.bit.CLKXM = 1; // CLKX generated internally, CLKR derived from an external source - - McbspaRegs.SRGR2.bit.CLKSM = 1; // CLKSM=1 (If SCLKME=0, i/p clock to SRG is LSPCLK) - McbspaRegs.SRGR2.bit.FPER = 31; // FPER = 32 CLKG periods - - McbspaRegs.SRGR1.bit.FWID = 0; // Frame Width = 1 CLKG period - McbspaRegs.SRGR1.bit.CLKGDV = CLKGDV_VAL; // CLKG frequency = LSPCLK/(CLKGDV+1) - - delay_loop(); // Wait at least 2 SRG clock cycles - - McbspaRegs.SPCR2.bit.GRST=1; // Enable the sample rate generator - clkg_delay_loop(); // Wait at least 2 CLKG cycles - McbspaRegs.SPCR2.bit.XRST=1; // Release TX from Reset - McbspaRegs.SPCR1.bit.RRST=1; // Release RX from Reset - McbspaRegs.SPCR2.bit.FRST=1; // Frame Sync Generator reset - -} - - -#if (DSP28_MCBSPB) -void InitMcbspb(void) -{ - -// McBSP-B register settings - - McbspbRegs.SPCR2.all=0x0000; // Reset FS generator, sample rate generator & transmitter - McbspbRegs.SPCR1.all=0x0000; // Reset Receiver, Right justify word - McbspbRegs.SPCR1.bit.DLB = 1; // Enable loopback mode for test. Comment out for normal McBSP transfer mode. - - McbspbRegs.MFFINT.all=0x0; // Disable all interrupts - - McbspbRegs.RCR2.all=0x0; // Single-phase frame, 1 word/frame, No companding (Receive) - McbspbRegs.RCR1.all=0x0; - - McbspbRegs.XCR2.all=0x0; // Single-phase frame, 1 word/frame, No companding (Transmit) - McbspbRegs.XCR1.all=0x0; - - McbspbRegs.SRGR2.bit.CLKSM = 1; // CLKSM=1 (If SCLKME=0, i/p clock to SRG is LSPCLK) - McbspbRegs.SRGR2.bit.FPER = 31; // FPER = 32 CLKG periods - - McbspbRegs.SRGR1.bit.FWID = 0; // Frame Width = 1 CLKG period - McbspbRegs.SRGR1.bit.CLKGDV = CLKGDV_VAL; // CLKG frequency = LSPCLK/(CLKGDV+1) - - McbspbRegs.PCR.bit.FSXM = 1; // FSX generated internally, FSR derived from an external source - McbspbRegs.PCR.bit.CLKXM = 1; // CLKX generated internally, CLKR derived from an external source - delay_loop(); // Wait at least 2 SRG clock cycles - McbspbRegs.SPCR2.bit.GRST=1; // Enable the sample rate generator - clkg_delay_loop(); // Wait at least 2 CLKG cycles - McbspbRegs.SPCR2.bit.XRST=1; // Release TX from Reset - McbspbRegs.SPCR1.bit.RRST=1; // Release RX from Reset - McbspbRegs.SPCR2.bit.FRST=1; // Frame Sync Generator reset - -} - - -#endif // end DSP28_MCBSPB - -// McBSP-A Data Lengths -void InitMcbspa8bit(void) -{ - McbspaRegs.RCR1.bit.RWDLEN1=0; // 8-bit word - McbspaRegs.XCR1.bit.XWDLEN1=0; // 8-bit word -} - -void InitMcbspa12bit(void) -{ - McbspaRegs.RCR1.bit.RWDLEN1=1; // 12-bit word - McbspaRegs.XCR1.bit.XWDLEN1=1; // 12-bit word -} - -void InitMcbspa16bit(void) -{ - McbspaRegs.RCR1.bit.RWDLEN1=2; // 16-bit word - McbspaRegs.XCR1.bit.XWDLEN1=2; // 16-bit word -} - -void InitMcbspa20bit(void) -{ - McbspaRegs.RCR1.bit.RWDLEN1=3; // 20-bit word - McbspaRegs.XCR1.bit.XWDLEN1=3; // 20-bit word -} - -void InitMcbspa24bit(void) -{ - McbspaRegs.RCR1.bit.RWDLEN1=4; // 24-bit word - McbspaRegs.XCR1.bit.XWDLEN1=4; // 24-bit word -} - -void InitMcbspa32bit(void) -{ - McbspaRegs.RCR1.bit.RWDLEN1=5; // 32-bit word - McbspaRegs.XCR1.bit.XWDLEN1=5; // 32-bit word -} - -// McBSP-B Data Lengths -#if (DSP28_MCBSPB) - -void InitMcbspb8bit(void) -{ - McbspbRegs.RCR1.bit.RWDLEN1=0; // 8-bit word - McbspbRegs.XCR1.bit.XWDLEN1=0; // 8-bit word -} - -void InitMcbspb12bit(void) -{ - McbspbRegs.RCR1.bit.RWDLEN1=1; // 12-bit word - McbspbRegs.XCR1.bit.XWDLEN1=1; // 12-bit word -} - -void InitMcbspb16bit(void) -{ - McbspbRegs.RCR1.bit.RWDLEN1=2; // 16-bit word - McbspbRegs.XCR1.bit.XWDLEN1=2; // 16-bit word -} - -void InitMcbspb20bit(void) -{ - McbspbRegs.RCR1.bit.RWDLEN1=3; // 20-bit word - McbspbRegs.XCR1.bit.XWDLEN1=3; // 20-bit word -} - -void InitMcbspb24bit(void) -{ - McbspbRegs.RCR1.bit.RWDLEN1=4; // 24-bit word - McbspbRegs.XCR1.bit.XWDLEN1=4; // 24-bit word -} - -void InitMcbspb32bit(void) -{ - McbspbRegs.RCR1.bit.RWDLEN1=5; // 32-bit word - McbspbRegs.XCR1.bit.XWDLEN1=5; // 32-bit word -} - -#endif //end DSP28_MCBSPB - - - -void InitMcbspGpio(void) -{ - InitMcbspaGpio(); - #if DSP28_MCBSPB - InitMcbspbGpio(); - #endif // end DSP28_MCBSPB -} - -void InitMcbspaGpio(void) -{ - EALLOW; - -/* Configure McBSP-A pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be McBSP functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 2; // GPIO20 is MDXA pin - GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 2; // GPIO21 is MDRA pin - GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 2; // GPIO22 is MCLKXA pin - GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 2; // GPIO7 is MCLKRA pin (Comment as needed) - //GpioCtrlRegs.GPBMUX2.bit.GPIO58 = 1; // GPIO58 is MCLKRA pin (Comment as needed) - GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 2; // GPIO23 is MFSXA pin - GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 2; // GPIO5 is MFSRA pin (Comment as needed) - //GpioCtrlRegs.GPBMUX2.bit.GPIO59 = 1; // GPIO59 is MFSRA pin (Comment as needed) - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO20 = 0; // Enable pull-up on GPIO20 (MDXA) - GpioCtrlRegs.GPAPUD.bit.GPIO21 = 0; // Enable pull-up on GPIO21 (MDRA) - GpioCtrlRegs.GPAPUD.bit.GPIO22 = 0; // Enable pull-up on GPIO22 (MCLKXA) - GpioCtrlRegs.GPAPUD.bit.GPIO7 = 0; // Enable pull-up on GPIO7 (MCLKRA) (Comment as needed) - //GpioCtrlRegs.GPBPUD.bit.GPIO58 = 0; // Enable pull-up on GPIO58 (MCLKRA) (Comment as needed) - GpioCtrlRegs.GPAPUD.bit.GPIO23 = 0; // Enable pull-up on GPIO23 (MFSXA) - GpioCtrlRegs.GPAPUD.bit.GPIO5 = 0; // Enable pull-up on GPIO5 (MFSRA) (Comment as needed) - //GpioCtrlRegs.GPBPUD.bit.GPIO59 = 0; // Enable pull-up on GPIO59 (MFSRA) (Comment as needed) - -/* Set qualification for selected input pins to asynch only */ -// This will select asynch (no qualification) for the selected pins. -// Comment out other unwanted lines. - - - GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 3; // Asynch input GPIO21 (MDRA) - GpioCtrlRegs.GPAQSEL2.bit.GPIO22 = 3; // Asynch input GPIO22 (MCLKXA) - GpioCtrlRegs.GPAQSEL1.bit.GPIO7 = 3; // Asynch input GPIO7 (MCLKRA) (Comment as needed) - //GpioCtrlRegs.GPBQSEL2.bit.GPIO58 = 3; // Asynch input GPIO58(MCLKRA) (Comment as needed) - GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 3; // Asynch input GPIO23 (MFSXA) - GpioCtrlRegs.GPAQSEL1.bit.GPIO5 = 3; // Asynch input GPIO5 (MFSRA) (Comment as needed) - //GpioCtrlRegs.GPBQSEL2.bit.GPIO59 = 3; // Asynch input GPIO59 (MFSRA) (Comment as needed) - - EDIS; -} - -#if DSP28_MCBSPB -void InitMcbspbGpio(void) -{ - EALLOW; -/* Configure McBSP-A pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be McBSP functional pins. -// Comment out other unwanted lines. - - //GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 3; // GPIO12 is MDXB pin (Comment as needed) - GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 3; // GPIO24 is MDXB pin (Comment as needed) - //GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 3; // GPIO13 is MDRB pin (Comment as needed) - GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 3; // GPIO25 is MDRB pin (Comment as needed) - //GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 3; // GPIO14 is MCLKXB pin (Comment as needed) - GpioCtrlRegs.GPAMUX2.bit.GPIO26 = 3; // GPIO26 is MCLKXB pin (Comment as needed) - GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 3; // GPIO3 is MCLKRB pin (Comment as needed) - //GpioCtrlRegs.GPBMUX2.bit.GPIO60 = 1; // GPIO60 is MCLKRB pin (Comment as needed) - //GpioCtrlRegs.GPAMUX1.bit.GPIO15 = 3; // GPIO15 is MFSXB pin (Comment as needed) - GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 3; // GPIO27 is MFSXB pin (Comment as needed) - GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 3; // GPIO1 is MFSRB pin (Comment as needed) - //GpioCtrlRegs.GPBMUX2.bit.GPIO61 = 1; // GPIO61 is MFSRB pin (Comment as needed) - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - GpioCtrlRegs.GPAPUD.bit.GPIO24 = 0; // Enable pull-up on GPIO24 (MDXB) (Comment as needed) - //GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0; // Enable pull-up on GPIO12 (MDXB) (Comment as needed) - GpioCtrlRegs.GPAPUD.bit.GPIO25 = 0; // Enable pull-up on GPIO25 (MDRB) (Comment as needed) - //GpioCtrlRegs.GPAPUD.bit.GPIO13 = 0; // Enable pull-up on GPIO13 (MDRB) (Comment as needed) - GpioCtrlRegs.GPAPUD.bit.GPIO26 = 0; // Enable pull-up on GPIO26 (MCLKXB) (Comment as needed) - //GpioCtrlRegs.GPAPUD.bit.GPIO14 = 0; // Enable pull-up on GPIO14 (MCLKXB) (Comment as needed) - GpioCtrlRegs.GPAPUD.bit.GPIO3 = 0; // Enable pull-up on GPIO3 (MCLKRB) (Comment as needed) - //GpioCtrlRegs.GPBPUD.bit.GPIO60 = 0; // Enable pull-up on GPIO60 (MCLKRB) (Comment as needed) - GpioCtrlRegs.GPAPUD.bit.GPIO27 = 0; // Enable pull-up on GPIO27 (MFSXB) (Comment as needed) - //GpioCtrlRegs.GPAPUD.bit.GPIO15 = 0; // Enable pull-up on GPIO15 (MFSXB) (Comment as needed) - GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0; // Enable pull-up on GPIO1 (MFSRB) (Comment as needed) - //GpioCtrlRegs.GPBPUD.bit.GPIO61 = 0; // Enable pull-up on GPIO61 (MFSRB) (Comment as needed) - - -/* Set qualification for selected input pins to asynch only */ -// This will select asynch (no qualification) for the selected pins. -// Comment out other unwanted lines. - GpioCtrlRegs.GPAQSEL2.bit.GPIO25 = 3; // Asynch input GPIO25 (MDRB) (Comment as needed) - //GpioCtrlRegs.GPAQSEL1.bit.GPIO13 = 3; // Asynch input GPIO13 (MDRB) (Comment as needed) - GpioCtrlRegs.GPAQSEL2.bit.GPIO26 = 3; // Asynch input GPIO26(MCLKXB) (Comment as needed) - //GpioCtrlRegs.GPAQSEL1.bit.GPIO14 = 3; // Asynch input GPIO14 (MCLKXB) (Comment as needed) - GpioCtrlRegs.GPAQSEL1.bit.GPIO3 = 3; // Asynch input GPIO3 (MCLKRB) (Comment as needed) - //GpioCtrlRegs.GPBQSEL2.bit.GPIO60 = 3; // Asynch input GPIO60 (MCLKRB) (Comment as needed) - GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 3; // Asynch input GPIO27 (MFSXB) (Comment as needed) - //GpioCtrlRegs.GPAQSEL1.bit.GPIO15 = 3; // Asynch input GPIO15 (MFSXB) (Comment as needed) - GpioCtrlRegs.GPAQSEL1.bit.GPIO1 = 3; // Asynch input GPIO1 (MFSRB) (Comment as needed) - //GpioCtrlRegs.GPBQSEL2.bit.GPIO61 = 3; // Asynch input GPIO61 (MFSRB) (Comment as needed) - - - EDIS; -} -#endif // end DSP28_MCBSPB - -void delay_loop(void) -{ - long i; - for (i = 0; i < MCBSP_INIT_DELAY; i++) {} //delay in McBsp init. must be at least 2 SRG cycles -} - -void clkg_delay_loop(void) -{ - long i; - for (i = 0; i < MCBSP_CLKG_DELAY; i++) {} //delay in McBsp init. must be at least 2 SRG cycles -} -//=========================================================================== -// No more. -//=========================================================================== - - - - - - - - - - - diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_MemCopy.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_MemCopy.c deleted file mode 100644 index f7cba01..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_MemCopy.c +++ /dev/null @@ -1,45 +0,0 @@ -// TI File $Revision: /main/1 $ -// Checkin $Date: August 18, 2006 13:46:33 $ -//########################################################################### -// -// FILE: DSP2833x_MemCopy.c -// -// TITLE: Memory Copy Utility -// -// ASSUMPTIONS: -// -// -// -// DESCRIPTION: -// -// This function will copy the specified memory contents from -// one location to another. -// -// Uint16 *SourceAddr Pointer to the first word to be moved -// SourceAddr < SourceEndAddr -// Uint16* SourceEndAddr Pointer to the last word to be moved -// Uint16* DestAddr Pointer to the first destination word -// -// No checks are made for invalid memory locations or that the -// end address is > then the first start address. -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" - -void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr) -{ - while(SourceAddr < SourceEndAddr) - { - *DestAddr++ = *SourceAddr++; - } - return; -} - -//=========================================================================== -// End of file. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_Sci.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_Sci.c deleted file mode 100644 index d0a9e1c..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_Sci.c +++ /dev/null @@ -1,168 +0,0 @@ -// TI File $Revision: /main/2 $ -// Checkin $Date: March 1, 2007 16:06:07 $ -//########################################################################### -// -// FILE: DSP2833x_Sci.c -// -// TITLE: DSP2833x SCI Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - -//--------------------------------------------------------------------------- -// InitSci: -//--------------------------------------------------------------------------- -// This function initializes the SCI(s) to a known state. -// -void InitSci(void) -{ - // Initialize SCI-A: - - //tbd... - - - // Initialize SCI-B: - - //tbd... - - // Initialize SCI-C: - - //tbd... -} - -//--------------------------------------------------------------------------- -// Example: InitSciGpio: -//--------------------------------------------------------------------------- -// This function initializes GPIO pins to function as SCI pins -// -// Each GPIO pin can be configured as a GPIO pin or up to 3 different -// peripheral functional pins. By default all pins come up as GPIO -// inputs after reset. -// -// Caution: -// Only one GPIO pin should be enabled for SCITXDA/B operation. -// Only one GPIO pin shoudl be enabled for SCIRXDA/B operation. -// Comment out other unwanted lines. - -void InitSciGpio() -{ - InitSciaGpio(); -#if DSP28_SCIB - InitScibGpio(); -#endif // if DSP28_SCIB -#if DSP28_SCIC - InitScicGpio(); -#endif // if DSP28_SCIC -} - -void InitSciaGpio() -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled disabled by the user. -// This will enable the pullups for the specified pins. - - GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0; // Enable pull-up for GPIO28 (SCIRXDA) - GpioCtrlRegs.GPAPUD.bit.GPIO29 = 0; // Enable pull-up for GPIO29 (SCITXDA) - -/* Set qualification for selected pins to asynch only */ -// Inputs are synchronized to SYSCLKOUT by default. -// This will select asynch (no qualification) for the selected pins. - - GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3; // Asynch input GPIO28 (SCIRXDA) - -/* Configure SCI-A pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be SCI functional pins. - - GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1; // Configure GPIO28 for SCIRXDA operation - GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1; // Configure GPIO29 for SCITXDA operation - - EDIS; -} - -#if DSP28_SCIB -void InitScibGpio() -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - -// GpioCtrlRegs.GPAPUD.bit.GPIO9 = 0; // Enable pull-up for GPIO9 (SCITXDB) -// GpioCtrlRegs.GPAPUD.bit.GPIO14 = 0; // Enable pull-up for GPIO14 (SCITXDB) - GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0; // Enable pull-up for GPIO18 (SCITXDB) -// GpioCtrlRegs.GPAPUD.bit.GPIO22 = 0; // Enable pull-up for GPIO22 (SCITXDB) - - -// GpioCtrlRegs.GPAPUD.bit.GPIO11 = 0; // Enable pull-up for GPIO11 (SCIRXDB) -// GpioCtrlRegs.GPAPUD.bit.GPIO15 = 0; // Enable pull-up for GPIO15 (SCIRXDB) - GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0; // Enable pull-up for GPIO19 (SCIRXDB) -// GpioCtrlRegs.GPAPUD.bit.GPIO23 = 0; // Enable pull-up for GPIO23 (SCIRXDB) - -/* Set qualification for selected pins to asynch only */ -// This will select asynch (no qualification) for the selected pins. -// Comment out other unwanted lines. - -// GpioCtrlRegs.GPAQSEL1.bit.GPIO11 = 3; // Asynch input GPIO11 (SCIRXDB) -// GpioCtrlRegs.GPAQSEL1.bit.GPIO15 = 3; // Asynch input GPIO15 (SCIRXDB) - GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 3; // Asynch input GPIO19 (SCIRXDB) -// GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 3; // Asynch input GPIO23 (SCIRXDB) - -/* Configure SCI-B pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be SCI functional pins. -// Comment out other unwanted lines. - -// GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 2; // Configure GPIO9 for SCITXDB operation -// GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 2; // Configure GPIO14 for SCITXDB operation - GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 2; // Configure GPIO18 for SCITXDB operation -// GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 3; // Configure GPIO22 for SCITXDB operation - -// GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 2; // Configure GPIO11 for SCIRXDB operation -// GpioCtrlRegs.GPAMUX1.bit.GPIO15 = 2; // Configure GPIO15 for SCIRXDB operation - GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 2; // Configure GPIO19 for SCIRXDB operation -// GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 3; // Configure GPIO23 for SCIRXDB operation - - EDIS; -} -#endif // if DSP28_SCIB - -#if DSP28_SCIC -void InitScicGpio() -{ - EALLOW; - -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled disabled by the user. -// This will enable the pullups for the specified pins. - - GpioCtrlRegs.GPBPUD.bit.GPIO62 = 0; // Enable pull-up for GPIO62 (SCIRXDC) - GpioCtrlRegs.GPBPUD.bit.GPIO63 = 0; // Enable pull-up for GPIO63 (SCITXDC) - -/* Set qualification for selected pins to asynch only */ -// Inputs are synchronized to SYSCLKOUT by default. -// This will select asynch (no qualification) for the selected pins. - - GpioCtrlRegs.GPBQSEL2.bit.GPIO62 = 3; // Asynch input GPIO62 (SCIRXDC) - -/* Configure SCI-C pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be SCI functional pins. - - GpioCtrlRegs.GPBMUX2.bit.GPIO62 = 1; // Configure GPIO62 for SCIRXDC operation - GpioCtrlRegs.GPBMUX2.bit.GPIO63 = 1; // Configure GPIO63 for SCITXDC operation - - EDIS; -} -#endif // if DSP28_SCIC - - -//=========================================================================== -// End of file. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_Spi.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_Spi.c deleted file mode 100644 index 95a7b32..0000000 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_Spi.c +++ /dev/null @@ -1,107 +0,0 @@ -// TI File $Revision: /main/1 $ -// Checkin $Date: August 18, 2006 13:46:44 $ -//########################################################################### -// -// FILE: DSP2833x_Spi.c -// -// TITLE: DSP2833x SPI Initialization & Support Functions. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File -#include "DSP2833x_Examples.h" // DSP2833x Examples Include File - -//--------------------------------------------------------------------------- -// InitSPI: -//--------------------------------------------------------------------------- -// This function initializes the SPI(s) to a known state. -// -void InitSpi(void) -{ - // Initialize SPI-A/B/C/D - - //tbd... - -} - -//--------------------------------------------------------------------------- -// Example: InitSpiGpio: -//--------------------------------------------------------------------------- -// This function initializes GPIO pins to function as SPI pins -// -// Each GPIO pin can be configured as a GPIO pin or up to 3 different -// peripheral functional pins. By default all pins come up as GPIO -// inputs after reset. -// -// Caution: -// For each SPI peripheral -// Only one GPIO pin should be enabled for SPISOMO operation. -// Only one GPIO pin should be enabled for SPISOMI operation. -// Only one GPIO pin should be enabled for SPICLKA operation. -// Only one GPIO pin should be enabled for SPISTEA operation. -// Comment out other unwanted lines. - -void InitSpiGpio() -{ - - InitSpiaGpio(); -} - -void InitSpiaGpio() -{ - - EALLOW; -/* Enable internal pull-up for the selected pins */ -// Pull-ups can be enabled or disabled by the user. -// This will enable the pullups for the specified pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0; // Enable pull-up on GPIO16 (SPISIMOA) - GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0; // Enable pull-up on GPIO17 (SPISOMIA) - GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0; // Enable pull-up on GPIO18 (SPICLKA) - GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0; // Enable pull-up on GPIO19 (SPISTEA) - - -// GpioCtrlRegs.GPBPUD.bit.GPIO54 = 0; // Enable pull-up on GPIO54 (SPISIMOA) -// GpioCtrlRegs.GPBPUD.bit.GPIO55 = 0; // Enable pull-up on GPIO55 (SPISOMIA) -// GpioCtrlRegs.GPBPUD.bit.GPIO56 = 0; // Enable pull-up on GPIO56 (SPICLKA) -// GpioCtrlRegs.GPBPUD.bit.GPIO57 = 0; // Enable pull-up on GPIO57 (SPISTEA) - -/* Set qualification for selected pins to asynch only */ -// This will select asynch (no qualification) for the selected pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAQSEL2.bit.GPIO16 = 3; // Asynch input GPIO16 (SPISIMOA) - GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3; // Asynch input GPIO17 (SPISOMIA) - GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 3; // Asynch input GPIO18 (SPICLKA) - GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 3; // Asynch input GPIO19 (SPISTEA) - -// GpioCtrlRegs.GPBQSEL2.bit.GPIO54 = 3; // Asynch input GPIO16 (SPISIMOA) -// GpioCtrlRegs.GPBQSEL2.bit.GPIO55 = 3; // Asynch input GPIO17 (SPISOMIA) -// GpioCtrlRegs.GPBQSEL2.bit.GPIO56 = 3; // Asynch input GPIO18 (SPICLKA) -// GpioCtrlRegs.GPBQSEL2.bit.GPIO57 = 3; // Asynch input GPIO19 (SPISTEA) - - -/* Configure SPI-A pins using GPIO regs*/ -// This specifies which of the possible GPIO pins will be SPI functional pins. -// Comment out other unwanted lines. - - GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 1; // Configure GPIO16 as SPISIMOA - GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 1; // Configure GPIO17 as SPISOMIA - GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 1; // Configure GPIO18 as SPICLKA - GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 1; // Configure GPIO19 as SPISTEA - -// GpioCtrlRegs.GPBMUX2.bit.GPIO54 = 1; // Configure GPIO54 as SPISIMOA -// GpioCtrlRegs.GPBMUX2.bit.GPIO55 = 1; // Configure GPIO55 as SPISOMIA -// GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 1; // Configure GPIO56 as SPICLKA -// GpioCtrlRegs.GPBMUX2.bit.GPIO57 = 1; // Configure GPIO57 as SPISTEA - - EDIS; -} - -//=========================================================================== -// End of file. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_SysCtrl.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_SysCtrl.c index 30eb665..7d9ea10 100644 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_SysCtrl.c +++ b/Source/External/v120/DSP2833x_common/source/DSP2833x_SysCtrl.c @@ -19,8 +19,8 @@ #include "DSP2833x_Device.h" // Headerfile Include File #include "DSP2833x_Examples.h" // Examples Include File -#include "RS485.h" -#include "message.h" +//#include "RS485.h" +//#include "message.h" // Functions that will be run from RAM need to be assigned to // a different section. This section will then be mapped to a load and diff --git a/Source/External/v120/DSP2833x_common/source/DSP2833x_Xintf.c b/Source/External/v120/DSP2833x_common/source/DSP2833x_Xintf.c index c4d178e..0d3619a 100644 --- a/Source/External/v120/DSP2833x_common/source/DSP2833x_Xintf.c +++ b/Source/External/v120/DSP2833x_common/source/DSP2833x_Xintf.c @@ -223,19 +223,18 @@ void InitXintf16Gpio() GpioCtrlRegs.GPCMUX2.bit.GPIO86 = 3; // XA14 GpioCtrlRegs.GPCMUX2.bit.GPIO87 = 3; // XA15 - GpioCtrlRegs.GPBMUX1.bit.GPIO35 = 3; // XRNW - - GpioCtrlRegs.GPBMUX1.bit.GPIO37 = 3; // XZCS7 - GpioCtrlRegs.GPBMUX1.bit.GPIO38 = 3; // XWE0 GpioCtrlRegs.GPBMUX1.bit.GPIO39 = 3; // XA16 -/* - GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 3; // XA17 - GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 3; // XA18 - GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 3; // XA19 - GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 3; // XREADY - GpioCtrlRegs.GPBMUX1.bit.GPIO36 = 3; // XZCS0 - GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 3; // XZCS6 -*/ +// GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 3; // XA17 +// GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 3; // XA18 +// GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 3; // XA19 + +// GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 3; // XREADY + GpioCtrlRegs.GPBMUX1.bit.GPIO35 = 3; // XRNW + GpioCtrlRegs.GPBMUX1.bit.GPIO38 = 3; // XWE0 + +// GpioCtrlRegs.GPBMUX1.bit.GPIO36 = 3; // XZCS0 + GpioCtrlRegs.GPBMUX1.bit.GPIO37 = 3; // XZCS7 +// GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 3; // XZCS6 EDIS; } diff --git a/Source/External/v120/DSP2833x_examples/adc_dma/Example_2833xAdcToDMA.c b/Source/External/v120/DSP2833x_examples/adc_dma/Example_2833xAdcToDMA.c deleted file mode 100644 index dab0e92..0000000 --- a/Source/External/v120/DSP2833x_examples/adc_dma/Example_2833xAdcToDMA.c +++ /dev/null @@ -1,212 +0,0 @@ -//########################################################################### -// -// FILE: Example_2833xAdcToDMA.c -// -// TITLE: DSP2833x ADC To DMA -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Make sure the CPU clock speed is properly defined in -// DSP2833x_Examples.h before compiling this example. -// -// Connect the signals to be converted to channel A0, A1, A2, and A3. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// -// DESCRIPTION: -// -// ADC is setup to convert 4 channels for each SOC received, with total of 10 SOCs. -// Each SOC initiates 4 conversions. -// DMA is set up to capture the data on each SEQ1_INT. DMA will re-sort -// the data by channel sequentially, i.e. all channel0 data will be together -// all channel1 data will be together. -// -// Code should stop in local_DINTCH1_ISR when complete -// -// Watch Variables: -// DMABuf1 -// -//########################################################################### -// -// Original source by: M.P. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// ADC start parameters -#if (CPU_FRQ_150MHZ) // Default - 150 MHz SYSCLKOUT - #define ADC_MODCLK 0x3 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25.0 MHz -#endif -#if (CPU_FRQ_100MHZ) - #define ADC_MODCLK 0x2 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2) = 25.0 MHz -#endif -#define ADC_CKPS 0x1 // ADC module clock = HSPCLK/2*ADC_CKPS = 25.0MHz/(1*2) = 12.5MHz -#define ADC_SHCLK 0xf // S/H width in ADC module periods = 16 ADC clocks -#define AVG 1000 // Average sample limit -#define ZOFFSET 0x00 // Average Zero offset -#define BUF_SIZE 40 // Sample buffer size - -// Global variable for this example -Uint16 j=0; - -#pragma DATA_SECTION(DMABuf1,"DMARAML4"); -volatile Uint16 DMABuf1[40]; - -volatile Uint16 *DMADest; -volatile Uint16 *DMASource; -interrupt void local_DINTCH1_ISR(void); - -void main(void) -{ - Uint16 i; -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Specific clock setting for this example: - EALLOW; - SysCtrlRegs.HISPCP.all = ADC_MODCLK; // HSPCLK = SYSCLKOUT/ADC_MODCLK - EDIS; - -// Step 2. Initialize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // Allow access to EALLOW protected registers - PieVectTable.DINTCH1= &local_DINTCH1_ISR; - EDIS; // Disable access to EALLOW protected registers - - IER = M_INT7 ; //Enable INT7 (7.1 DMA Ch1) - EnableInterrupts(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - InitAdc(); // For this example, init the ADC - -// Specific ADC setup for this example: - AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK; - AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS; - AdcRegs.ADCTRL1.bit.SEQ_CASC = 0; // 0 Non-Cascaded Mode - AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0x1; - AdcRegs.ADCTRL2.bit.RST_SEQ1 = 0x1; - AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; - AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; - AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x2; - AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x3; - AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x0; - AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x1; - AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x2; - AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x3; - AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 3; // Set up ADC to perform 4 conversions for every SOC - -//Step 5. User specific code, enable interrupts: - // Initialize DMA - DMAInitialize(); - - // Clear Table - for (i=0; i>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT1)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT2)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT3)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT4)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT5)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT6)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT7)>>4); - -#endif //-- INLINE_SHIFT - -#if NO_SHIFT || POST_SHIFT - - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT0)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT1)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT2)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT3)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT4)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT5)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT6)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT7)); - -#endif //-- NO_SHIFT || POST_SHIFT - - while (AdcRegs.ADCST.bit.INT_SEQ1== 0){} - GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1; // Clear GPIO34 for monitoring -optional - AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; - -#if INLINE_SHIFT - - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT8)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT9)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT10)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT11)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT12)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT13)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT14)>>4); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT15)>>4); - -#endif //-- INLINE_SHIFT - -#if NO_SHIFT || POST_SHIFT - - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT8)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT9)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT10)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT11)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT12)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT13)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT14)); - SampleTable[array_index++]= ( (AdcRegs.ADCRESULT15)); -#endif // -- NO_SHIFT || POST_SHIFT - - } - - -#if POST_SHIFT - // For post shifting, shift the ADC results - // in the SampleTable buffer after the buffer is full. - for (i=0; i>4); - } -#endif // -- POST_SHIFT - - GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1; // Clear GPIO34 for monitoring -optional - } -} - -//=========================================================================== -// No more. -//=========================================================================== - - diff --git a/Source/External/v120/DSP2833x_examples/adc_seq_ovd_test/Example_2833xAdcSeq_ovdTest.gel b/Source/External/v120/DSP2833x_examples/adc_seq_ovd_test/Example_2833xAdcSeq_ovdTest.gel deleted file mode 100644 index 4bf2af1..0000000 --- a/Source/External/v120/DSP2833x_examples/adc_seq_ovd_test/Example_2833xAdcSeq_ovdTest.gel +++ /dev/null @@ -1,39 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:11:35 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ADC Seq_ovd Test" - - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xAdcSeq_ovdTest.pjt"); - GEL_ProjectBuild("Example_2833xAdcSeq_ovdTest.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xAdcSeq_ovdTest.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("SampleTable,x"); - GEL_WatchAdd("AdcRegs,x",); -} - - diff --git a/Source/External/v120/DSP2833x_examples/adc_seq_ovd_test/Example_2833xAdcSeq_ovdTest.pjt b/Source/External/v120/DSP2833x_examples/adc_seq_ovd_test/Example_2833xAdcSeq_ovdTest.pjt deleted file mode 100644 index 414d901..0000000 --- a/Source/External/v120/DSP2833x_examples/adc_seq_ovd_test/Example_2833xAdcSeq_ovdTest.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_seq_ovd_test\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_Adc.c" -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xAdcSeq_ovdTest.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_seq_ovd_test\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_seq_ovd_test\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_seq_ovd_test\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xAdcSeq_ovdTest.map" -o".\Debug\Example_2833xAdcSeq_ovdTest.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xAdcSeq_ovdTest.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/adc_seqmode_test/Example_2833xAdcSeqModeTest.c b/Source/External/v120/DSP2833x_examples/adc_seqmode_test/Example_2833xAdcSeqModeTest.c deleted file mode 100644 index 70299a6..0000000 --- a/Source/External/v120/DSP2833x_examples/adc_seqmode_test/Example_2833xAdcSeqModeTest.c +++ /dev/null @@ -1,164 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: April 21, 2008 15:40:57 $ -//########################################################################### -// -// FILE: Example_2833xAdcSeqModeTest.c -// -// TITLE: DSP2833x ADC Seq Mode Test. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Make sure the CPU clock speed is properly defined in -// DSP2833x_Examples.h before compiling this example. -// -// Connect the signal to be converted to channel A0. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// Channel A0 is converted forever and logged in a buffer (SampleTable) -// -// Open a memory window to SampleTable to observe the buffer -// RUN for a while and stop and see the table contents. -// -// Watch Variables: -// SampleTable - Log of converted values. -// -//########################################################################### -// -// Original source by: S.S. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// ADC start parameters -#if (CPU_FRQ_150MHZ) // Default - 150 MHz SYSCLKOUT - #define ADC_MODCLK 0x3 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25.0 MHz -#endif -#if (CPU_FRQ_100MHZ) - #define ADC_MODCLK 0x2 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2) = 25.0 MHz -#endif -#define ADC_CKPS 0x1 // ADC module clock = HSPCLK/2*ADC_CKPS = 25.0MHz/(1*2) = 12.5MHz -#define ADC_SHCLK 0xf // S/H width in ADC module periods = 16 ADC clocks -#define AVG 1000 // Average sample limit -#define ZOFFSET 0x00 // Average Zero offset -#define BUF_SIZE 2048 // Sample buffer size - -// Global variable for this example -Uint16 SampleTable[BUF_SIZE]; - -main() -{ - Uint16 i; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Specific clock setting for this example: - EALLOW; - SysCtrlRegs.HISPCP.all = ADC_MODCLK; // HSPCLK = SYSCLKOUT/ADC_MODCLK - EDIS; - -// Step 2. Initialize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - InitAdc(); // For this example, init the ADC - -// Specific ADC setup for this example: - AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK; - AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS; - AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; // 1 Cascaded mode - AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; - AdcRegs.ADCTRL1.bit.CONT_RUN = 1; // Setup continuous run - - -// Step 5. User specific code, enable interrupts: - - -// Clear SampleTable - for (i=0; i>4) ); - } - } -} - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/adc_seqmode_test/Example_2833xAdcSeqModeTest.gel b/Source/External/v120/DSP2833x_examples/adc_seqmode_test/Example_2833xAdcSeqModeTest.gel deleted file mode 100644 index 6ea6c86..0000000 --- a/Source/External/v120/DSP2833x_examples/adc_seqmode_test/Example_2833xAdcSeqModeTest.gel +++ /dev/null @@ -1,37 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:11:47 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ADC Seq Test" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xAdcSeqModeTest.pjt"); - GEL_ProjectBuild("Example_2833xAdcSeqModeTest.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xAdcSeqModeTest.out"); - Setup_WatchWindow(); -} - - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("SampleTable,x"); - GEL_WatchAdd("AdcRegs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/adc_seqmode_test/Example_2833xAdcSeqModeTest.pjt b/Source/External/v120/DSP2833x_examples/adc_seqmode_test/Example_2833xAdcSeqModeTest.pjt deleted file mode 100644 index 35d0116..0000000 --- a/Source/External/v120/DSP2833x_examples/adc_seqmode_test/Example_2833xAdcSeqModeTest.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_seqmode_test\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_Adc.c" -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xAdcSeqModeTest.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_seqmode_test\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_seqmode_test\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_seqmode_test\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xAdcSeqModeTest.map" -o".\Debug\Example_2833xAdcSeqModeTest.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xAdcSeqModeTest.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/adc_soc/Example_2833xAdcSoc.c b/Source/External/v120/DSP2833x_examples/adc_soc/Example_2833xAdcSoc.c deleted file mode 100644 index 6a53322..0000000 --- a/Source/External/v120/DSP2833x_examples/adc_soc/Example_2833xAdcSoc.c +++ /dev/null @@ -1,203 +0,0 @@ -// TI File $Revision: /main/11 $ -// Checkin $Date: April 21, 2008 15:41:01 $ -//########################################################################### -// -// FILE: Example_2833xAdc.c -// -// TITLE: DSP2833x ADC Example Program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Make sure the CPU clock speed is properly defined in -// DSP2833x_Examples.h before compiling this example. -// -// Connect signals to be converted to A2 and A3. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example sets up the PLL in x10/2 mode. -// -// For 150 MHz devices (default) -// divides SYSCLKOUT by six to reach a 25.0Mhz HSPCLK -// (assuming a 30Mhz XCLKIN). -// -// For 100 MHz devices: -// divides SYSCLKOUT by four to reach a 25.0Mhz HSPCLK -// (assuming a 20Mhz XCLKIN). -// -// Interrupts are enabled and the ePWM1 is setup to generate a periodic -// ADC SOC on SEQ1. Two channels are converted, ADCINA3 and ADCINA2. -// -// Watch Variables: -// -// Voltage1[10] Last 10 ADCRESULT0 values -// Voltage2[10] Last 10 ADCRESULT1 values -// ConversionCount Current result number 0-9 -// LoopCount Idle loop counter -// -// -//########################################################################### -// -// Original Author: D.F. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -interrupt void adc_isr(void); - -// Global variables used in this example: -Uint16 LoopCount; -Uint16 ConversionCount; -Uint16 Voltage1[10]; -Uint16 Voltage2[10]; - - -main() -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - - - EALLOW; - #if (CPU_FRQ_150MHZ) // Default - 150 MHz SYSCLKOUT - #define ADC_MODCLK 0x3 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25.0 MHz - #endif - #if (CPU_FRQ_100MHZ) - #define ADC_MODCLK 0x2 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2) = 25.0 MHz - #endif - EDIS; - -// Step 2. Initialize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected register - PieVectTable.ADCINT = &adc_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - InitAdc(); // For this example, init the ADC - -// Step 5. User specific code, enable interrupts: - -// Enable ADCINT in PIE - PieCtrlRegs.PIEIER1.bit.INTx6 = 1; - IER |= M_INT1; // Enable CPU Interrupt 1 - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - - LoopCount = 0; - ConversionCount = 0; - -// Configure ADC - AdcRegs.ADCMAXCONV.all = 0x0001; // Setup 2 conv's on SEQ1 - AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x3; // Setup ADCINA3 as 1st SEQ1 conv. - AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x2; // Setup ADCINA2 as 2nd SEQ1 conv. - AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 1;// Enable SOCA from ePWM to start SEQ1 - AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable SEQ1 interrupt (every EOS) - -// Assumes ePWM1 clock is already enabled in InitSysCtrl(); - EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOC on A group - EPwm1Regs.ETSEL.bit.SOCASEL = 4; // Select SOC from from CPMA on upcount - EPwm1Regs.ETPS.bit.SOCAPRD = 1; // Generate pulse on 1st event - EPwm1Regs.CMPA.half.CMPA = 0x0080; // Set compare A value - EPwm1Regs.TBPRD = 0xFFFF; // Set period for ePWM1 - EPwm1Regs.TBCTL.bit.CTRMODE = 0; // count up and start - -// Wait for ADC interrupt - for(;;) - { - LoopCount++; - } - -} - - -interrupt void adc_isr(void) -{ - - Voltage1[ConversionCount] = AdcRegs.ADCRESULT0 >>4; - Voltage2[ConversionCount] = AdcRegs.ADCRESULT1 >>4; - - // If 40 conversions have been logged, start over - if(ConversionCount == 9) - { - ConversionCount = 0; - } - else ConversionCount++; - - // Reinitialize for next ADC sequence - AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1 - AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // Clear INT SEQ1 bit - PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE - - return; -} - - - diff --git a/Source/External/v120/DSP2833x_examples/adc_soc/Example_2833xAdcSoc.gel b/Source/External/v120/DSP2833x_examples/adc_soc/Example_2833xAdcSoc.gel deleted file mode 100644 index 2d14fe1..0000000 --- a/Source/External/v120/DSP2833x_examples/adc_soc/Example_2833xAdcSoc.gel +++ /dev/null @@ -1,40 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:11:59 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ADC SOC Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xAdcSoc.pjt"); - GEL_ProjectBuild("Example_2833xAdcSoc.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xAdcSoc.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("Voltage1,x"); - GEL_WatchAdd("Voltage2,x"); - GEL_WatchAdd("LoopCount,x"); - GEL_WatchAdd("ConversionCount,d"); - GEL_WatchAdd("AdcRegs,x"); - GEL_WatchAdd("EPwm1Regs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/adc_soc/Example_2833xAdcSoc.pjt b/Source/External/v120/DSP2833x_examples/adc_soc/Example_2833xAdcSoc.pjt deleted file mode 100644 index 0c46c78..0000000 --- a/Source/External/v120/DSP2833x_examples/adc_soc/Example_2833xAdcSoc.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP28" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_soc\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_Adc.c" - -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xAdcSoc.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_soc\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_soc\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\adc_soc\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xAdcSoc.map" -o".\Debug\Example_2833xAdcSoc.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xAdcSoc.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/cpu_timer/Example_2833xCpuTimer.c b/Source/External/v120/DSP2833x_examples/cpu_timer/Example_2833xCpuTimer.c deleted file mode 100644 index a4bfaff..0000000 --- a/Source/External/v120/DSP2833x_examples/cpu_timer/Example_2833xCpuTimer.c +++ /dev/null @@ -1,189 +0,0 @@ -// TI File $Revision: /main/14 $ -// Checkin $Date: April 21, 2008 15:41:07 $ -//########################################################################### -// -// FILE: Example_2833xCpuTimer.c -// -// TITLE: DSP2833x Device Getting Started Program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Other then boot mode configuration, no other hardware configuration -// is required. -// -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example configures CPU Timer0, 1, and 2 and increments -// a counter each time the timers assert an interrupt. -// -// Watch Variables: -// CpuTimer0.InterruptCount -// CpuTimer1.InterruptCount -// CpuTimer2.InterruptCount -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -interrupt void cpu_timer0_isr(void); -interrupt void cpu_timer1_isr(void); -interrupt void cpu_timer2_isr(void); - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.TINT0 = &cpu_timer0_isr; - PieVectTable.XINT13 = &cpu_timer1_isr; - PieVectTable.TINT2 = &cpu_timer2_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize the Device Peripheral. This function can be -// found in DSP2833x_CpuTimers.c - InitCpuTimers(); // For this example, only initialize the Cpu Timers - -#if (CPU_FRQ_150MHZ) -// Configure CPU-Timer 0, 1, and 2 to interrupt every second: -// 150MHz CPU Freq, 1 second Period (in uSeconds) - - ConfigCpuTimer(&CpuTimer0, 150, 1000000); - ConfigCpuTimer(&CpuTimer1, 150, 1000000); - ConfigCpuTimer(&CpuTimer2, 150, 1000000); -#endif - -#if (CPU_FRQ_100MHZ) -// Configure CPU-Timer 0, 1, and 2 to interrupt every second: -// 100MHz CPU Freq, 1 second Period (in uSeconds) - - ConfigCpuTimer(&CpuTimer0, 100, 1000000); - ConfigCpuTimer(&CpuTimer1, 100, 1000000); - ConfigCpuTimer(&CpuTimer2, 100, 1000000); -#endif -// To ensure precise timing, use write-only instructions to write to the entire register. Therefore, if any -// of the configuration bits are changed in ConfigCpuTimer and InitCpuTimers (in DSP2833x_CpuTimers.h), the -// below settings must also be updated. - - CpuTimer0Regs.TCR.all = 0x4001; // Use write-only instruction to set TSS bit = 0 - CpuTimer1Regs.TCR.all = 0x4001; // Use write-only instruction to set TSS bit = 0 - CpuTimer2Regs.TCR.all = 0x4001; // Use write-only instruction to set TSS bit = 0 - -// Step 5. User specific code, enable interrupts: - - -// Enable CPU int1 which is connected to CPU-Timer 0, CPU int13 -// which is connected to CPU-Timer 1, and CPU int 14, which is connected -// to CPU-Timer 2: - IER |= M_INT1; - IER |= M_INT13; - IER |= M_INT14; - -// Enable TINT0 in the PIE: Group 1 interrupt 7 - PieCtrlRegs.PIEIER1.bit.INTx7 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;); - -} - - -interrupt void cpu_timer0_isr(void) -{ - CpuTimer0.InterruptCount++; - - // Acknowledge this interrupt to receive more interrupts from group 1 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; -} - -interrupt void cpu_timer1_isr(void) -{ - CpuTimer1.InterruptCount++; - // The CPU acknowledges the interrupt. - EDIS; -} - -interrupt void cpu_timer2_isr(void) -{ EALLOW; - CpuTimer2.InterruptCount++; - // The CPU acknowledges the interrupt. - EDIS; -} - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/cpu_timer/Example_2833xCpuTimer.gel b/Source/External/v120/DSP2833x_examples/cpu_timer/Example_2833xCpuTimer.gel deleted file mode 100644 index cd7890d..0000000 --- a/Source/External/v120/DSP2833x_examples/cpu_timer/Example_2833xCpuTimer.gel +++ /dev/null @@ -1,43 +0,0 @@ -/* -// TI File $Revision: /main/6 $ -// Checkin $Date: August 9, 2007 17:12:13 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x CpuTimerExample" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xCpuTimer.pjt"); - GEL_ProjectBuild("Example_2833xCpuTimer.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xCpuTimer.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("CpuTimer0.InterruptCount",,"CPU ISR Count"); - GEL_WatchAdd("CpuTimer0",,"CPU Timer Variables"); - GEL_WatchAdd("CpuTimer0Regs,x"); - GEL_WatchAdd("CpuTimer1.InterruptCount",,"CPU ISR Count"); - GEL_WatchAdd("CpuTimer1",,"CPU Timer Variables"); - GEL_WatchAdd("CpuTimer1Regs,x"); - GEL_WatchAdd("CpuTimer2.InterruptCount",,"CPU ISR Count"); - GEL_WatchAdd("CpuTimer2",,"CPU Timer Variables"); - GEL_WatchAdd("CpuTimer2Regs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/cpu_timer/Example_2833xCpuTimer.pjt b/Source/External/v120/DSP2833x_examples/cpu_timer/Example_2833xCpuTimer.pjt deleted file mode 100644 index df3939c..0000000 --- a/Source/External/v120/DSP2833x_examples/cpu_timer/Example_2833xCpuTimer.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\cpu_timer\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xCpuTimer.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\cpu_timer\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\cpu_timer\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\cpu_timer\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xCpuTimer.map" -o".\Debug\Example_2833xCpuTimer.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xCpuTimer.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/dma_ram_to_ram/Example_2833xDMA_ram_to_ram.c b/Source/External/v120/DSP2833x_examples/dma_ram_to_ram/Example_2833xDMA_ram_to_ram.c deleted file mode 100644 index ebee46e..0000000 --- a/Source/External/v120/DSP2833x_examples/dma_ram_to_ram/Example_2833xDMA_ram_to_ram.c +++ /dev/null @@ -1,189 +0,0 @@ -// TI File $Revision: /main/3 $ -// Checkin $Date: May 12, 2008 14:23:19 $ -//########################################################################### -// -// FILE: Example_2833xDMA_Ram_to_Ram.c -// -// TITLE: DSP2833x DMA Ram to Ram -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// -// DESCRIPTION: -// -// Code will perform a block copy from L5 SARAM to L4 SARAM of 1024 words. Transfer will be started -// by Timer0. Will use 32-bit datasize to decrease the transfer time. -// Code will end in local_DINTCH1_ISR once the transfer is complete -// -// Watch Variables: -// DMABuf1 -// DMABuf2 -// -//########################################################################### -// -// Original source by: M.P. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - - -#define BUF_SIZE 1024 // Sample buffer size - - - - -// DMA Defines -#define CH1_TOTAL DATA_POINTS_PER_CHANNEL -#define CH1_WORDS_PER_BURST ADC_CHANNELS_TO_CONVERT - - - -#pragma DATA_SECTION(DMABuf1,"DMARAML4"); -#pragma DATA_SECTION(DMABuf2,"DMARAML5"); - -volatile Uint16 DMABuf1[1024]; -volatile Uint16 DMABuf2[1024]; - -volatile Uint16 *DMADest; -volatile Uint16 *DMASource; - -interrupt void local_DINTCH1_ISR(void); - - -void main(void) -{ - Uint16 i; -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - - -// Step 2. Initialize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // Allow access to EALLOW protected registers - PieVectTable.DINTCH1= &local_DINTCH1_ISR; - EDIS; // Disable access to EALLOW protected registers - - IER = M_INT7 ; //Enable INT7 (7.1 DMA Ch1) - EnableInterrupts(); - CpuTimer0Regs.TCR.bit.TSS = 1; //Stop Timer0 for now - - -//Step 5. User specific code, enable interrupts: - // Initialize DMA - DMAInitialize(); - - // Initialize Tables - for (i=0; iMDL.all; // = 0x9555AAAn (n is the MBX number) - TestMbox2 = Mailbox->MDH.all; // = 0x89ABCDEF (a constant) - TestMbox3 = Mailbox->MSGID.all;// = 0x9555AAAn (n is the MBX number) - -} // MSGID of a rcv MBX is transmitted as the MDL data. - - -void mailbox_check(int32 T1, int32 T2, int32 T3) -{ - if((T1 != T3) || ( T2 != 0x89ABCDEF)) - { - ErrorCount++; - } - else - { - PassCount++; - } -} - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/ecan_back2back/Example_2833xECanBack2Back.gel b/Source/External/v120/DSP2833x_examples/ecan_back2back/Example_2833xECanBack2Back.gel deleted file mode 100644 index 90f787e..0000000 --- a/Source/External/v120/DSP2833x_examples/ecan_back2back/Example_2833xECanBack2Back.gel +++ /dev/null @@ -1,43 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:12:48 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ECanBack2Back" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xECanBack2Back.pjt"); - GEL_ProjectBuild("Example_2833xECanBack2Back.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xECanBack2Back.out"); - Setup_WatchWindow(); -} - - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("MessageReceivedCount,x"); - GEL_WatchAdd("ErrorCount,x"); - GEL_WatchAdd("PassCount,x"); - GEL_WatchAdd("ECanaRegs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/ecan_back2back/Example_2833xECanBack2Back.pjt b/Source/External/v120/DSP2833x_examples/ecan_back2back/Example_2833xECanBack2Back.pjt deleted file mode 100644 index cbe5cf6..0000000 --- a/Source/External/v120/DSP2833x_examples/ecan_back2back/Example_2833xECanBack2Back.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecan_back2back\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_ECan.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xECanBack2Back.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecan_back2back\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecan_back2back\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecan_back2back\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xECanBack2Back.map" -o".\Debug\Example_2833xECanBack2Back.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xECanBack2Back.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/ecap_apwm/Example_2833xECap_apwm.c b/Source/External/v120/DSP2833x_examples/ecap_apwm/Example_2833xECap_apwm.c deleted file mode 100644 index 1d1693a..0000000 --- a/Source/External/v120/DSP2833x_examples/ecap_apwm/Example_2833xECap_apwm.c +++ /dev/null @@ -1,223 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: April 21, 2008 15:41:24 $ -//########################################################################### -// -// FILE: Example_2833xECap_apwm.c -// -// TITLE: DSP2833x ECAP APWM Example -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Monitor eCAP1 - eCAP4 pins on a oscilloscope as -// described below. -// -// eCAP1 on GPIO24 -// eCAP2 on GPIO7 -// eCAP3 on GPIO9 -// eCAP4 on GPIO11 -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This program sets up the eCAP pins in the APWM mode. -// This program runs at 150 MHz SYSCLKOUT assuming a 30 MHz -// XCLKIN or 100 MHz SYSCLKOUT assuming a 20 MHz XCLKIN. -// -// For 150 MHz devices: -// -// eCAP1 will come out on the GPIO24 pin -// This pin is configured to vary between 7.5 Hz and 15 Hz using -// the shadow registers to load the next period/compare values -// -// eCAP2 will come out on the GPIO7 pin -// this pin is configured as a 7.5 Hz output -// -// eCAP3 will come out on the GPIO9 pin -// this pin is configured as a 1.5 Hz output -// -// -// eCAP4 will come out on the GPIO11 pin -// this pin is configured as a 30 kHz output -// -// All frequencies assume a 30 Mhz input clock. The XCLKOUT pin -// should show 150Mhz. -// -------------------------------------------------------------- -// For 100 MHz devices: -// -// eCAP1 will come out on the GPIO24 pin -// This pin is configured to vary between 5 Hz and 10 Hz using -// the shadow registers to load the next period/compare values -// -// eCAP2 will come out on the GPIO7 pin -// this pin is configured as a 5 Hz output -// -// eCAP3 will come out on the GPIO9 pin -// this pin is configured as a 1 Hz output -// -// eCAP4 will come out on the GPIO11 pin -// this pin is configured as a 20kHz output -// -// All frequencies assume a 20 Mhz input clock. The XCLKOUT pin -// should show 100Mhz. -// -// -// Watch Variables: -// -// -// -//########################################################################### -// Original Author: D.F. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Global variables -Uint16 direction = 0; - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// Initialize the GPIO pins for eCAP. -// This function is found in the DSP2833x_ECap.c file - InitECapGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. -// No interrupts used for this example. - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// Step 5. User specific code - - - // Setup APWM mode on CAP1, set period and compare registers - ECap1Regs.ECCTL2.bit.CAP_APWM = 1; // Enable APWM mode - ECap1Regs.CAP1 = 0x01312D00; // Set Period value - ECap1Regs.CAP2 = 0x00989680; // Set Compare value - ECap1Regs.ECCLR.all = 0x0FF; // Clear pending interrupts - ECap1Regs.ECEINT.bit.CTR_EQ_CMP = 1; // enable Compare Equal Int - - // Setup APWM mode on CAP2, set period and compare registers - ECap2Regs.ECCTL2.bit.CAP_APWM = 1; // Enable APWM mode - ECap2Regs.CAP1 = 0x01312D00; // Set Period value - ECap2Regs.CAP2 = 0x00989680; // Set Compare value - ECap2Regs.ECCLR.all = 0x0FF; // Clear pending interrupts - ECap1Regs.ECEINT.bit.CTR_EQ_CMP = 1; // enable Compare Equal Int - - // Setup APWM mode on CAP3, set period and compare registers - ECap3Regs.ECCTL2.bit.CAP_APWM = 1; // Enable APWM mode - ECap3Regs.CAP1 = 0x05F5E100; // Set Period value - ECap3Regs.CAP2 = 0x02FAF080; // Set Compare value - ECap3Regs.ECCLR.all = 0x0FF; // Clear pending interrupts - ECap1Regs.ECEINT.bit.CTR_EQ_CMP = 1; // enable Compare Equal Int - - // Setup APWM mode on CAP4, set period and compare registers - ECap4Regs.ECCTL2.bit.CAP_APWM = 1; // Enable APWM mode - ECap4Regs.CAP1 = 0x00001388; // Set Period value - ECap4Regs.CAP2 = 0x000009C4; // Set Compare value - ECap4Regs.ECCLR.all = 0x0FF; // Clear pending interrupts - ECap1Regs.ECEINT.bit.CTR_EQ_CMP = 1; // enable Compare Equal Int - - // Start counters - ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1; - ECap2Regs.ECCTL2.bit.TSCTRSTOP = 1; - ECap3Regs.ECCTL2.bit.TSCTRSTOP = 1; - ECap4Regs.ECCTL2.bit.TSCTRSTOP = 1; - - for(;;) - { - // set next duty cycle to 50% - ECap1Regs.CAP4 = ECap1Regs.CAP1 >> 1; - - // vary freq between 7.5 Hz and 15 Hz (for 150MHz SYSCLKOUT) 5 Hz and 10 Hz (for 100 MHz SYSCLKOUT) - if(ECap1Regs.CAP1 >= 0x01312D00) - { - direction = 0; - } else if (ECap1Regs.CAP1 <= 0x00989680) - { - direction = 1; - } - - if(direction == 0) - { - ECap1Regs.CAP3 = ECap1Regs.CAP1 - 500000; - } else - { - ECap1Regs.CAP3 = ECap1Regs.CAP1 + 500000; - } - } - -} - - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/ecap_apwm/Example_2833xECap_apwm.gel b/Source/External/v120/DSP2833x_examples/ecap_apwm/Example_2833xECap_apwm.gel deleted file mode 100644 index 15cb906..0000000 --- a/Source/External/v120/DSP2833x_examples/ecap_apwm/Example_2833xECap_apwm.gel +++ /dev/null @@ -1,39 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:13:02 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x eCAP Asym PWM" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xECap_apwm.pjt"); - GEL_ProjectBuild("Example_2833xECap_apwm.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xECap_apwm.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("ECap1Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/ecap_apwm/Example_2833xECap_apwm.pjt b/Source/External/v120/DSP2833x_examples/ecap_apwm/Example_2833xECap_apwm.pjt deleted file mode 100644 index d982655..0000000 --- a/Source/External/v120/DSP2833x_examples/ecap_apwm/Example_2833xECap_apwm.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecap_apwm\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_ECap.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xECap_apwm.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecap_apwm\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecap_apwm\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecap_apwm\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xECap_apwm.map" -o".\Debug\Example_2833xECap_apwm.out" -stack0x380 -w -x -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xECap_apwm.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/ecap_capture_pwm/Example_2833xECap_Capture_Pwm.c b/Source/External/v120/DSP2833x_examples/ecap_capture_pwm/Example_2833xECap_Capture_Pwm.c deleted file mode 100644 index 22ecde8..0000000 --- a/Source/External/v120/DSP2833x_examples/ecap_capture_pwm/Example_2833xECap_Capture_Pwm.c +++ /dev/null @@ -1,288 +0,0 @@ -// TI File $Revision: /main/8 $ -// Checkin $Date: April 21, 2008 15:41:29 $ -//########################################################################### -// -// FILE: Example_2833xECap_Capture_Pwm.c -// -// TITLE: Capture EPWM3. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Make the following external connection: -// EPWM3 on GPIO4 should be connected to ECAP1 on GPIO24. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example configures ePWM3A for: -// - Up count -// - Period starts at 2 and goes up to 1000 -// - Toggle output on PRD -// -// eCAP1 is configured to capture the time between rising -// and falling edge of the PWM3A output. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - - -// Configure the start/end period for the timer -#define PWM3_TIMER_MIN 10 -#define PWM3_TIMER_MAX 8000 - -// Prototype statements for functions found within this file. -interrupt void ecap1_isr(void); -void InitECapture(void); -void InitEPwmTimer(void); -void Fail(void); - -// Global variables used in this example -Uint32 ECap1IntCount; -Uint32 ECap1PassCount; -Uint32 EPwm3TimerDirection; - -// To keep track of which way the timer value is moving -#define EPWM_TIMER_UP 1 -#define EPWM_TIMER_DOWN 0 - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - InitEPwm3Gpio(); - InitECap1Gpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.ECAP1_INT = &ecap1_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - InitEPwmTimer(); // For this example, only initialize the ePWM Timers - InitECapture(); - - -// Step 5. User specific code, enable interrupts: - -// Initalize counters: - ECap1IntCount = 0; - ECap1PassCount = 0; - -// Enable CPU INT4 which is connected to ECAP1-4 INT: - IER |= M_INT4; - -// Enable eCAP INTn in the PIE: Group 3 interrupt 1-6 - PieCtrlRegs.PIEIER4.bit.INTx1 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;) - { - asm(" NOP"); - } - -} - - -void InitEPwmTimer() -{ - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; - EDIS; - - EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm3Regs.TBPRD = PWM3_TIMER_MIN; - EPwm3Regs.TBPHS.all = 0x00000000; - EPwm3Regs.AQCTLA.bit.PRD = AQ_TOGGLE; // Toggle on PRD - - // TBCLK = SYSCLKOUT - EPwm3Regs.TBCTL.bit.HSPCLKDIV = 1; - EPwm3Regs.TBCTL.bit.CLKDIV = 0; - - - EPwm3TimerDirection = EPWM_TIMER_UP; - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; - EDIS; - -} - -void InitECapture() -{ - ECap1Regs.ECEINT.all = 0x0000; // Disable all capture interrupts - ECap1Regs.ECCLR.all = 0xFFFF; // Clear all CAP interrupt flags - ECap1Regs.ECCTL1.bit.CAPLDEN = 0; // Disable CAP1-CAP4 register loads - ECap1Regs.ECCTL2.bit.TSCTRSTOP = 0; // Make sure the counter is stopped - - // Configure peripheral registers - ECap1Regs.ECCTL2.bit.CONT_ONESHT = 1; // One-shot - ECap1Regs.ECCTL2.bit.STOP_WRAP = 3; // Stop at 4 events - ECap1Regs.ECCTL1.bit.CAP1POL = 1; // Falling edge - ECap1Regs.ECCTL1.bit.CAP2POL = 0; // Rising edge - ECap1Regs.ECCTL1.bit.CAP3POL = 1; // Falling edge - ECap1Regs.ECCTL1.bit.CAP4POL = 0; // Rising edge - ECap1Regs.ECCTL1.bit.CTRRST1 = 1; // Difference operation - ECap1Regs.ECCTL1.bit.CTRRST2 = 1; // Difference operation - ECap1Regs.ECCTL1.bit.CTRRST3 = 1; // Difference operation - ECap1Regs.ECCTL1.bit.CTRRST4 = 1; // Difference operation - ECap1Regs.ECCTL2.bit.SYNCI_EN = 1; // Enable sync in - ECap1Regs.ECCTL2.bit.SYNCO_SEL = 0; // Pass through - ECap1Regs.ECCTL1.bit.CAPLDEN = 1; // Enable capture units - - - ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1; // Start Counter - ECap1Regs.ECCTL2.bit.REARM = 1; // arm one-shot - ECap1Regs.ECCTL1.bit.CAPLDEN = 1; // Enable CAP1-CAP4 register loads - ECap1Regs.ECEINT.bit.CEVT4 = 1; // 4 events = interrupt - -} - - - -interrupt void ecap1_isr(void) -{ - - // Cap input is syc'ed to SYSCLKOUT so there may be - // a +/- 1 cycle variation - - if(ECap1Regs.CAP2 > EPwm3Regs.TBPRD*2+1 || ECap1Regs.CAP2 < EPwm3Regs.TBPRD*2-1) - { - Fail(); - } - - if(ECap1Regs.CAP3 > EPwm3Regs.TBPRD*2+1 || ECap1Regs.CAP3 < EPwm3Regs.TBPRD*2-1) - { - Fail(); - } - - if(ECap1Regs.CAP4 > EPwm3Regs.TBPRD*2+1 || ECap1Regs.CAP4 < EPwm3Regs.TBPRD*2-1) - { - Fail(); - } - - - ECap1IntCount++; - - if(EPwm3TimerDirection == EPWM_TIMER_UP) - { - if(EPwm3Regs.TBPRD < PWM3_TIMER_MAX) - { - EPwm3Regs.TBPRD++; - } - else - { - EPwm3TimerDirection = EPWM_TIMER_DOWN; - EPwm3Regs.TBPRD--; - } - } - else - { - if(EPwm3Regs.TBPRD > PWM3_TIMER_MIN) - { - EPwm3Regs.TBPRD--; - } - else - { - EPwm3TimerDirection = EPWM_TIMER_UP; - EPwm3Regs.TBPRD++; - } - } - - ECap1PassCount++; - - ECap1Regs.ECCLR.bit.CEVT4 = 1; - ECap1Regs.ECCLR.bit.INT = 1; - ECap1Regs.ECCTL2.bit.REARM = 1; - - // Acknowledge this interrupt to receive more interrupts from group 4 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; -} - - -void Fail() -{ - asm(" ESTOP0"); -} - - - - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/ecap_capture_pwm/Example_2833xECap_Capture_Pwm.gel b/Source/External/v120/DSP2833x_examples/ecap_capture_pwm/Example_2833xECap_Capture_Pwm.gel deleted file mode 100644 index aefa65b..0000000 --- a/Source/External/v120/DSP2833x_examples/ecap_capture_pwm/Example_2833xECap_Capture_Pwm.gel +++ /dev/null @@ -1,46 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:13:13 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x eCAP Capture PWM" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xECap_Capture_Pwm.pjt"); - GEL_ProjectBuild("Example_2833xECap_Capture_Pwm.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xECap_Capture_Pwm.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("ECap1IntCount,x"); - GEL_WatchAdd("ECap1PassCount,x"); - GEL_WatchAdd("EPwm3Regs.TBPRD,x"); - GEL_WatchAdd("ECap1Regs.CAP2,x"); - GEL_WatchAdd("ECap1Regs.CAP3,x"); - GEL_WatchAdd("ECap1Regs.CAP4,x"); - GEL_WatchAdd("EPwm3Regs,x"); - GEL_WatchAdd("ECap1Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/ecap_capture_pwm/Example_2833xECap_Capture_Pwm.pjt b/Source/External/v120/DSP2833x_examples/ecap_capture_pwm/Example_2833xECap_Capture_Pwm.pjt deleted file mode 100644 index cae4269..0000000 --- a/Source/External/v120/DSP2833x_examples/ecap_capture_pwm/Example_2833xECap_Capture_Pwm.pjt +++ /dev/null @@ -1,47 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecap_capture_pwm\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_ECap.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xECap_Capture_Pwm.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecap_capture_pwm\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecap_capture_pwm\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\ecap_capture_pwm\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xECap_Capture_Pwm.map" -o".\Debug\Example_2833xECap_Capture_Pwm.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xCpuTimer.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/epwm_deadband/Example_2833xEPwmDeadBand.c b/Source/External/v120/DSP2833x_examples/epwm_deadband/Example_2833xEPwmDeadBand.c deleted file mode 100644 index 8e91544..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_deadband/Example_2833xEPwmDeadBand.c +++ /dev/null @@ -1,457 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:41:33 $ -//########################################################################### -// -// FILE: Example_2833xEpwmDeadBand.c -// -// TITLE: Check PWM deadband generation -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Monitor ePWM1 - ePWM3 on an Oscilloscope as described -// below. -// -// EPWM1A is on GPIO0 -// EPWM1B is on GPIO1 -// -// EPWM2A is on GPIO2 -// EPWM2B is on GPIO3 -// -// EPWM3A is on GPIO4 -// EPWM3B is on GPIO5 -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example configures ePWM1, ePWM2 and ePWM3 for: -// - Count up/down -// - Deadband -// -// 3 Examples are included: -// * ePWM1: Active low PWMs -// * ePWM2: Active low complementary PWMs -// * ePWM3: Active high complementary PWMs -// -// Each ePWM is configured to interrupt on the 3rd zero event -// when this happens the deadband is modified such that -// 0 <= DB <= DB_MAX. That is, the deadband will move up and -// down between 0 and the maximum value. -// -// -// View the EPWM1A/B, EPWM2A/B and EPWM3A/B waveforms -// via an oscilloscope -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -void InitEPwm1Example(void); -void InitEPwm2Example(void); -void InitEPwm3Example(void); -interrupt void epwm1_isr(void); -interrupt void epwm2_isr(void); -interrupt void epwm3_isr(void); - -// Global variables used in this example -Uint32 EPwm1TimerIntCount; -Uint32 EPwm2TimerIntCount; -Uint32 EPwm3TimerIntCount; -Uint16 EPwm1_DB_Direction; -Uint16 EPwm2_DB_Direction; -Uint16 EPwm3_DB_Direction; - -// Maximum Dead Band values -#define EPWM1_MAX_DB 0x03FF -#define EPWM2_MAX_DB 0x03FF -#define EPWM3_MAX_DB 0x03FF - -#define EPWM1_MIN_DB 0 -#define EPWM2_MIN_DB 0 -#define EPWM3_MIN_DB 0 - -// To keep track of which way the Dead Band is moving -#define DB_UP 1 -#define DB_DOWN 0 - -void main(void) -{ -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// For this case just init GPIO pins for ePWM1, ePWM2, ePWM3 -// These functions are in the DSP2833x_EPwm.c file - InitEPwm1Gpio(); - InitEPwm2Gpio(); - InitEPwm3Gpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.EPWM1_INT = &epwm1_isr; - PieVectTable.EPWM2_INT = &epwm2_isr; - PieVectTable.EPWM3_INT = &epwm3_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; - EDIS; - - InitEPwm1Example(); - InitEPwm2Example(); - InitEPwm3Example(); - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; - EDIS; - -// Step 5. User specific code, enable interrupts -// Initalize counters: - EPwm1TimerIntCount = 0; - EPwm2TimerIntCount = 0; - EPwm3TimerIntCount = 0; - -// Enable CPU INT3 which is connected to EPWM1-3 INT: - IER |= M_INT3; - -// Enable EPWM INTn in the PIE: Group 3 interrupt 1-3 - PieCtrlRegs.PIEIER3.bit.INTx1 = 1; - PieCtrlRegs.PIEIER3.bit.INTx2 = 1; - PieCtrlRegs.PIEIER3.bit.INTx3 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - - - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;) - { - asm(" NOP"); - } - -} - -interrupt void epwm1_isr(void) -{ - if(EPwm1_DB_Direction == DB_UP) - { - if(EPwm1Regs.DBFED < EPWM1_MAX_DB) - { - EPwm1Regs.DBFED++; - EPwm1Regs.DBRED++; - } - else - { - EPwm1_DB_Direction = DB_DOWN; - EPwm1Regs.DBFED--; - EPwm1Regs.DBRED--; - } - } - else - { - if(EPwm1Regs.DBFED == EPWM1_MIN_DB) - { - EPwm1_DB_Direction = DB_UP; - EPwm1Regs.DBFED++; - EPwm1Regs.DBRED++; - } - else - { - EPwm1Regs.DBFED--; - EPwm1Regs.DBRED--; - } - } - EPwm1TimerIntCount++; - - // Clear INT flag for this timer - EPwm1Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - -} - -interrupt void epwm2_isr(void) -{ - - if(EPwm2_DB_Direction == DB_UP) - { - if(EPwm2Regs.DBFED < EPWM2_MAX_DB) - { - EPwm2Regs.DBFED++; - EPwm2Regs.DBRED++; - } - else - { - EPwm2_DB_Direction = DB_DOWN; - EPwm2Regs.DBFED--; - EPwm2Regs.DBRED--; - } - } - else - { - if(EPwm2Regs.DBFED == EPWM2_MIN_DB) - { - EPwm2_DB_Direction = DB_UP; - EPwm2Regs.DBFED++; - EPwm2Regs.DBRED++; - } - else - { - EPwm2Regs.DBFED--; - EPwm2Regs.DBRED--; - } - } - - EPwm2TimerIntCount++; - - // Clear INT flag for this timer - EPwm2Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - -} - -interrupt void epwm3_isr(void) -{ - if(EPwm3_DB_Direction == DB_UP) - { - if(EPwm3Regs.DBFED < EPWM3_MAX_DB) - { - EPwm3Regs.DBFED++; - EPwm3Regs.DBRED++; - } - else - { - EPwm3_DB_Direction = DB_DOWN; - EPwm3Regs.DBFED--; - EPwm3Regs.DBRED--; - } - } - else - { - if(EPwm3Regs.DBFED == EPWM3_MIN_DB) - { - EPwm3_DB_Direction = DB_UP; - EPwm3Regs.DBFED++; - EPwm3Regs.DBRED++; - } - else - { - EPwm3Regs.DBFED--; - EPwm3Regs.DBRED--; - } - } - - - EPwm3TimerIntCount++; - - // Clear INT flag for this timer - EPwm3Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - -} - - - -void InitEPwm1Example() -{ - - EPwm1Regs.TBPRD = 6000; // Set timer period - EPwm1Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm1Regs.TBCTR = 0x0000; // Clear counter - - // Setup TBCLK - EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up - EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV4; // Clock ratio to SYSCLKOUT - EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV4; - - EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; // Load registers every ZERO - EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - - // Setup compare - EPwm1Regs.CMPA.half.CMPA = 3000; - - // Set actions - EPwm1Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM1A on Zero - EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR; - - - EPwm1Regs.AQCTLB.bit.CAU = AQ_CLEAR; // Set PWM1A on Zero - EPwm1Regs.AQCTLB.bit.CAD = AQ_SET; - - // Active Low PWMs - Setup Deadband - EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; - EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_LO; - EPwm1Regs.DBCTL.bit.IN_MODE = DBA_ALL; - EPwm1Regs.DBRED = EPWM1_MIN_DB; - EPwm1Regs.DBFED = EPWM1_MIN_DB; - EPwm1_DB_Direction = DB_UP; - - // Interrupt where we will change the Deadband - EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm1Regs.ETSEL.bit.INTEN = 1; // Enable INT - EPwm1Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - - -} - - -void InitEPwm2Example() -{ - - EPwm2Regs.TBPRD = 6000; // Set timer period - EPwm2Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm2Regs.TBCTR = 0x0000; // Clear counter - - // Setup TBCLK - EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up - EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV4; // Clock ratio to SYSCLKOUT - EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV4; // Slow just to observe on the scope - - // Setup compare - EPwm2Regs.CMPA.half.CMPA = 3000; - - // Set actions - EPwm2Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM2A on Zero - EPwm2Regs.AQCTLA.bit.CAD = AQ_CLEAR; - - - EPwm2Regs.AQCTLB.bit.CAU = AQ_CLEAR; // Set PWM2A on Zero - EPwm2Regs.AQCTLB.bit.CAD = AQ_SET; - - // Active Low complementary PWMs - setup the deadband - EPwm2Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; - EPwm2Regs.DBCTL.bit.POLSEL = DB_ACTV_LOC; - EPwm2Regs.DBCTL.bit.IN_MODE = DBA_ALL; - EPwm2Regs.DBRED = EPWM2_MIN_DB; - EPwm2Regs.DBFED = EPWM2_MIN_DB; - EPwm2_DB_Direction = DB_UP; - - // Interrupt where we will modify the deadband - EPwm2Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm2Regs.ETSEL.bit.INTEN = 1; // Enable INT - EPwm2Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - -} - -void InitEPwm3Example() -{ - - EPwm3Regs.TBPRD = 6000; // Set timer period - EPwm3Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm3Regs.TBCTR = 0x0000; // Clear counter - - - // Setup TBCLK - EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up - EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV4; // Clock ratio to SYSCLKOUT - EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV4; // Slow so we can observe on the scope - - // Setup compare - EPwm3Regs.CMPA.half.CMPA = 3000; - - // Set actions - EPwm3Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM3A on Zero - EPwm3Regs.AQCTLA.bit.CAD = AQ_CLEAR; - - - EPwm3Regs.AQCTLB.bit.CAU = AQ_CLEAR; // Set PWM3A on Zero - EPwm3Regs.AQCTLB.bit.CAD = AQ_SET; - - // Active high complementary PWMs - Setup the deadband - EPwm3Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; - EPwm3Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC; - EPwm3Regs.DBCTL.bit.IN_MODE = DBA_ALL; - EPwm3Regs.DBRED = EPWM3_MIN_DB; - EPwm3Regs.DBFED = EPWM3_MIN_DB; - EPwm3_DB_Direction = DB_UP; - - // Interrupt where we will change the deadband - EPwm3Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm3Regs.ETSEL.bit.INTEN = 1; // Enable INT - EPwm3Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - -} - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/epwm_deadband/Example_2833xEPwmDeadBand.pjt b/Source/External/v120/DSP2833x_examples/epwm_deadband/Example_2833xEPwmDeadBand.pjt deleted file mode 100644 index 08ffef5..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_deadband/Example_2833xEPwmDeadBand.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_deadband\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xEPwmDeadBand.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_deadband\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_deadband\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_deadband\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xEPwmDeadBand.map" -o".\Debug\Example_2833xEPwmDeadBand.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -m".\Release\Example_2833xEPwmDeadBand.map" -o".\Release\Example_2833xEPwmDeadBand.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/epwm_deadband/Example_2833xEPwmDeadband.gel b/Source/External/v120/DSP2833x_examples/epwm_deadband/Example_2833xEPwmDeadband.gel deleted file mode 100644 index 4466bd1..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_deadband/Example_2833xEPwmDeadband.gel +++ /dev/null @@ -1,39 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:13:25 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ePWM Deadband" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xEPwmDeadBand.pjt"); - GEL_ProjectBuild("Example_2833xEPwmDeadBand.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xEPwmDeadBand.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("EPwm1Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/epwm_dma/DSP2833x_EPWMDM_Headers_BIOS.cmd b/Source/External/v120/DSP2833x_examples/epwm_dma/DSP2833x_EPWMDM_Headers_BIOS.cmd deleted file mode 100644 index 2a2abf8..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_dma/DSP2833x_EPWMDM_Headers_BIOS.cmd +++ /dev/null @@ -1,183 +0,0 @@ -/* -// TI File $Revision: /main/1 $ -// Checkin $Date: June 19, 2008 10:23:49 $ -//########################################################################### -// -// FILE: DSP2833x_Headers_BIOS.cmd -// -// TITLE: DSP2833x Peripheral registers linker command file -// -// DESCRIPTION: -// -// This file is for use in BIOS applications. -// -// Linker command file to place the peripheral structures -// used within the DSP2833x headerfiles into the correct memory -// mapped locations. -// -// This version of the file does not include the PieVectorTable structure. -// For non-BIOS applications, please use the DSP2833x_Headers_nonBIOS.cmd -// file which includes the PieVectorTable structure. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -MEMORY -{ - PAGE 0: /* Program Memory */ - - PAGE 1: /* Data Memory */ - - DEV_EMU : origin = 0x000880, length = 0x000180 /* device emulation registers */ - FLASH_REGS : origin = 0x000A80, length = 0x000060 /* FLASH registers */ - CSM : origin = 0x000AE0, length = 0x000010 /* code security module registers */ - - ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */ - - XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */ - - CPU_TIMER0 : origin = 0x000C00, length = 0x000008 /* CPU Timer0 registers */ - CPU_TIMER1 : origin = 0x000C08, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/ - CPU_TIMER2 : origin = 0x000C10, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/ - - PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */ - - DMA : origin = 0x001000, length = 0x000200 /* DMA registers */ - - MCBSPA : origin = 0x005000, length = 0x000040 /* McBSP-A registers */ - MCBSPB : origin = 0x005040, length = 0x000040 /* McBSP-B registers */ - - ECANA : origin = 0x006000, length = 0x000040 /* eCAN-A control and status registers */ - ECANA_LAM : origin = 0x006040, length = 0x000040 /* eCAN-A local acceptance masks */ - ECANA_MOTS : origin = 0x006080, length = 0x000040 /* eCAN-A message object time stamps */ - ECANA_MOTO : origin = 0x0060C0, length = 0x000040 /* eCAN-A object time-out registers */ - ECANA_MBOX : origin = 0x006100, length = 0x000100 /* eCAN-A mailboxes */ - - ECANB : origin = 0x006200, length = 0x000040 /* eCAN-B control and status registers */ - ECANB_LAM : origin = 0x006240, length = 0x000040 /* eCAN-B local acceptance masks */ - ECANB_MOTS : origin = 0x006280, length = 0x000040 /* eCAN-B message object time stamps */ - ECANB_MOTO : origin = 0x0062C0, length = 0x000040 /* eCAN-B object time-out registers */ - ECANB_MBOX : origin = 0x006300, length = 0x000100 /* eCAN-B mailboxes */ - - EPWM1 : origin = 0x005800, length = 0x000022 /* Enhanced PWM 1 registers */ - EPWM2 : origin = 0x005840, length = 0x000022 /* Enhanced PWM 2 registers */ - EPWM3 : origin = 0x005880, length = 0x000022 /* Enhanced PWM 3 registers */ - EPWM4 : origin = 0x0058C0, length = 0x000022 /* Enhanced PWM 4 registers */ - EPWM5 : origin = 0x005900, length = 0x000022 /* Enhanced PWM 5 registers */ - EPWM6 : origin = 0x005940, length = 0x000022 /* Enhanced PWM 6 registers */ - - ECAP1 : origin = 0x006A00, length = 0x000020 /* Enhanced Capture 1 registers */ - ECAP2 : origin = 0x006A20, length = 0x000020 /* Enhanced Capture 2 registers */ - ECAP3 : origin = 0x006A40, length = 0x000020 /* Enhanced Capture 3 registers */ - ECAP4 : origin = 0x006A60, length = 0x000020 /* Enhanced Capture 4 registers */ - ECAP5 : origin = 0x006A80, length = 0x000020 /* Enhanced Capture 5 registers */ - ECAP6 : origin = 0x006AA0, length = 0x000020 /* Enhanced Capture 6 registers */ - - EQEP1 : origin = 0x006B00, length = 0x000040 /* Enhanced QEP 1 registers */ - EQEP2 : origin = 0x006B40, length = 0x000040 /* Enhanced QEP 2 registers */ - - GPIOCTRL : origin = 0x006F80, length = 0x000040 /* GPIO control registers */ - GPIODAT : origin = 0x006FC0, length = 0x000020 /* GPIO data registers */ - GPIOINT : origin = 0x006FE0, length = 0x000020 /* GPIO interrupt/LPM registers */ - - SYSTEM : origin = 0x007010, length = 0x000020 /* System control registers */ - SPIA : origin = 0x007040, length = 0x000010 /* SPI-A registers */ - SCIA : origin = 0x007050, length = 0x000010 /* SCI-A registers */ - XINTRUPT : origin = 0x007070, length = 0x000010 /* external interrupt registers */ - - ADC : origin = 0x007100, length = 0x000020 /* ADC registers */ - - SCIB : origin = 0x007750, length = 0x000010 /* SCI-B registers */ - - SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */ - - I2CA : origin = 0x007900, length = 0x000040 /* I2C-A registers */ - - CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* Part of FLASHA. CSM password locations. */ - - PARTID : origin = 0x380090, length = 0x000001 /* Part ID register location */ - -} - - -SECTIONS -{ -/*** The PIE Vector table is called PIEVECT by DSP/BIOS ***/ - PieVectTableFile : > PIEVECT, PAGE = 1, TYPE = DSECT - -/*** Peripheral Frame 0 Register Structures ***/ - DevEmuRegsFile : > DEV_EMU, PAGE = 1 - FlashRegsFile : > FLASH_REGS, PAGE = 1 - CsmRegsFile : > CSM, PAGE = 1 - AdcMirrorFile : > ADC_MIRROR, PAGE = 1 - XintfRegsFile : > XINTF, PAGE = 1 - CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1 - CpuTimer1RegsFile : > CPU_TIMER1, PAGE = 1 - CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1 - PieCtrlRegsFile : > PIE_CTRL, PAGE = 1 - DmaRegsFile : > DMA, PAGE = 1 - -/*** Peripheral Frame 3 Register Structures ***/ - McbspaRegsFile : > MCBSPA, PAGE = 1 - McbspbRegsFile : > MCBSPB, PAGE = 1 - -/*** Peripheral Frame 1 Register Structures ***/ - ECanaRegsFile : > ECANA, PAGE = 1 - ECanaLAMRegsFile : > ECANA_LAM PAGE = 1 - ECanaMboxesFile : > ECANA_MBOX PAGE = 1 - ECanaMOTSRegsFile : > ECANA_MOTS PAGE = 1 - ECanaMOTORegsFile : > ECANA_MOTO PAGE = 1 - - ECanbRegsFile : > ECANB, PAGE = 1 - ECanbLAMRegsFile : > ECANB_LAM PAGE = 1 - ECanbMboxesFile : > ECANB_MBOX PAGE = 1 - ECanbMOTSRegsFile : > ECANB_MOTS PAGE = 1 - ECanbMOTORegsFile : > ECANB_MOTO PAGE = 1 - - EPwm1RegsFile : > EPWM1 PAGE = 1 - EPwm2RegsFile : > EPWM2 PAGE = 1 - EPwm3RegsFile : > EPWM3 PAGE = 1 - EPwm4RegsFile : > EPWM4 PAGE = 1 - EPwm5RegsFile : > EPWM5 PAGE = 1 - EPwm6RegsFile : > EPWM6 PAGE = 1 - - ECap1RegsFile : > ECAP1 PAGE = 1 - ECap2RegsFile : > ECAP2 PAGE = 1 - ECap3RegsFile : > ECAP3 PAGE = 1 - ECap4RegsFile : > ECAP4 PAGE = 1 - ECap5RegsFile : > ECAP5 PAGE = 1 - ECap6RegsFile : > ECAP6 PAGE = 1 - - EQep1RegsFile : > EQEP1 PAGE = 1 - EQep2RegsFile : > EQEP2 PAGE = 1 - - GpioCtrlRegsFile : > GPIOCTRL PAGE = 1 - GpioDataRegsFile : > GPIODAT PAGE = 1 - GpioIntRegsFile : > GPIOINT PAGE = 1 - -/*** Peripheral Frame 2 Register Structures ***/ - SysCtrlRegsFile : > SYSTEM, PAGE = 1 - SpiaRegsFile : > SPIA, PAGE = 1 - SciaRegsFile : > SCIA, PAGE = 1 - XIntruptRegsFile : > XINTRUPT, PAGE = 1 - AdcRegsFile : > ADC, PAGE = 1 - ScibRegsFile : > SCIB, PAGE = 1 - ScicRegsFile : > SCIC, PAGE = 1 - I2caRegsFile : > I2CA, PAGE = 1 - -/*** Code Security Module Register Structures ***/ - CsmPwlFile : > CSM_PWL, PAGE = 1 - -/*** Device Part ID Register Structures ***/ - PartIdRegsFile : > PARTID, PAGE = 1 -} - - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ diff --git a/Source/External/v120/DSP2833x_examples/epwm_dma/DSP2833x_EPWMDM_Headers_nonBIOS.cmd b/Source/External/v120/DSP2833x_examples/epwm_dma/DSP2833x_EPWMDM_Headers_nonBIOS.cmd deleted file mode 100644 index c107ade..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_dma/DSP2833x_EPWMDM_Headers_nonBIOS.cmd +++ /dev/null @@ -1,182 +0,0 @@ -/* -// TI File $Revision: /main/1 $ -// Checkin $Date: June 19, 2008 10:23:45 $ -//########################################################################### -// -// FILE: DSP2833x_Headers_nonBIOS.cmd -// -// TITLE: DSP2833x Peripheral registers linker command file -// -// DESCRIPTION: -// -// This file is for use in Non-BIOS applications. -// -// Linker command file to place the peripheral structures -// used within the DSP2833x headerfiles into the correct memory -// mapped locations. -// -// This version of the file includes the PieVectorTable structure. -// For BIOS applications, please use the DSP2833x_Headers_BIOS.cmd file -// which does not include the PieVectorTable structure. -// -//########################################################################### -*/ - -MEMORY -{ - PAGE 0: /* Program Memory */ - - PAGE 1: /* Data Memory */ - - DEV_EMU : origin = 0x000880, length = 0x000180 /* device emulation registers */ - FLASH_REGS : origin = 0x000A80, length = 0x000060 /* FLASH registers */ - CSM : origin = 0x000AE0, length = 0x000010 /* code security module registers */ - - ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror */ - - XINTF : origin = 0x000B20, length = 0x000020 /* external interface registers */ - - CPU_TIMER0 : origin = 0x000C00, length = 0x000008 /* CPU Timer0 registers */ - CPU_TIMER1 : origin = 0x000C08, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/ - CPU_TIMER2 : origin = 0x000C10, length = 0x000008 /* CPU Timer0 registers (CPU Timer1 & Timer2 reserved TI use)*/ - - PIE_CTRL : origin = 0x000CE0, length = 0x000020 /* PIE control registers */ - PIE_VECT : origin = 0x000D00, length = 0x000100 /* PIE Vector Table */ - - DMA : origin = 0x001000, length = 0x000200 /* DMA registers */ - - MCBSPA : origin = 0x005000, length = 0x000040 /* McBSP-A registers */ - MCBSPB : origin = 0x005040, length = 0x000040 /* McBSP-B registers */ - - ECANA : origin = 0x006000, length = 0x000040 /* eCAN-A control and status registers */ - ECANA_LAM : origin = 0x006040, length = 0x000040 /* eCAN-A local acceptance masks */ - ECANA_MOTS : origin = 0x006080, length = 0x000040 /* eCAN-A message object time stamps */ - ECANA_MOTO : origin = 0x0060C0, length = 0x000040 /* eCAN-A object time-out registers */ - ECANA_MBOX : origin = 0x006100, length = 0x000100 /* eCAN-A mailboxes */ - - ECANB : origin = 0x006200, length = 0x000040 /* eCAN-B control and status registers */ - ECANB_LAM : origin = 0x006240, length = 0x000040 /* eCAN-B local acceptance masks */ - ECANB_MOTS : origin = 0x006280, length = 0x000040 /* eCAN-B message object time stamps */ - ECANB_MOTO : origin = 0x0062C0, length = 0x000040 /* eCAN-B object time-out registers */ - ECANB_MBOX : origin = 0x006300, length = 0x000100 /* eCAN-B mailboxes */ - - EPWM1 : origin = 0x005800, length = 0x000022 /* Enhanced PWM 1 registers */ - EPWM2 : origin = 0x005840, length = 0x000022 /* Enhanced PWM 2 registers */ - EPWM3 : origin = 0x005880, length = 0x000022 /* Enhanced PWM 3 registers */ - EPWM4 : origin = 0x0058C0, length = 0x000022 /* Enhanced PWM 4 registers */ - EPWM5 : origin = 0x005900, length = 0x000022 /* Enhanced PWM 5 registers */ - EPWM6 : origin = 0x005940, length = 0x000022 /* Enhanced PWM 6 registers */ - - ECAP1 : origin = 0x006A00, length = 0x000020 /* Enhanced Capture 1 registers */ - ECAP2 : origin = 0x006A20, length = 0x000020 /* Enhanced Capture 2 registers */ - ECAP3 : origin = 0x006A40, length = 0x000020 /* Enhanced Capture 3 registers */ - ECAP4 : origin = 0x006A60, length = 0x000020 /* Enhanced Capture 4 registers */ - ECAP5 : origin = 0x006A80, length = 0x000020 /* Enhanced Capture 5 registers */ - ECAP6 : origin = 0x006AA0, length = 0x000020 /* Enhanced Capture 6 registers */ - - EQEP1 : origin = 0x006B00, length = 0x000040 /* Enhanced QEP 1 registers */ - EQEP2 : origin = 0x006B40, length = 0x000040 /* Enhanced QEP 2 registers */ - - GPIOCTRL : origin = 0x006F80, length = 0x000040 /* GPIO control registers */ - GPIODAT : origin = 0x006FC0, length = 0x000020 /* GPIO data registers */ - GPIOINT : origin = 0x006FE0, length = 0x000020 /* GPIO interrupt/LPM registers */ - - SYSTEM : origin = 0x007010, length = 0x000020 /* System control registers */ - SPIA : origin = 0x007040, length = 0x000010 /* SPI-A registers */ - SCIA : origin = 0x007050, length = 0x000010 /* SCI-A registers */ - XINTRUPT : origin = 0x007070, length = 0x000010 /* external interrupt registers */ - - ADC : origin = 0x007100, length = 0x000020 /* ADC registers */ - - SCIB : origin = 0x007750, length = 0x000010 /* SCI-B registers */ - - SCIC : origin = 0x007770, length = 0x000010 /* SCI-C registers */ - - I2CA : origin = 0x007900, length = 0x000040 /* I2C-A registers */ - - CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations. */ - - PARTID : origin = 0x380090, length = 0x000001 /* Part ID register location */ - -} - - -SECTIONS -{ - PieVectTableFile : > PIE_VECT, PAGE = 1 - -/*** Peripheral Frame 0 Register Structures ***/ - DevEmuRegsFile : > DEV_EMU, PAGE = 1 - FlashRegsFile : > FLASH_REGS, PAGE = 1 - CsmRegsFile : > CSM, PAGE = 1 - AdcMirrorFile : > ADC_MIRROR, PAGE = 1 - XintfRegsFile : > XINTF, PAGE = 1 - CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1 - CpuTimer1RegsFile : > CPU_TIMER1, PAGE = 1 - CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1 - PieCtrlRegsFile : > PIE_CTRL, PAGE = 1 - DmaRegsFile : > DMA, PAGE = 1 - -/*** Peripheral Frame 3 Register Structures ***/ - McbspaRegsFile : > MCBSPA, PAGE = 1 - McbspbRegsFile : > MCBSPB, PAGE = 1 - -/*** Peripheral Frame 1 Register Structures ***/ - ECanaRegsFile : > ECANA, PAGE = 1 - ECanaLAMRegsFile : > ECANA_LAM PAGE = 1 - ECanaMboxesFile : > ECANA_MBOX PAGE = 1 - ECanaMOTSRegsFile : > ECANA_MOTS PAGE = 1 - ECanaMOTORegsFile : > ECANA_MOTO PAGE = 1 - - ECanbRegsFile : > ECANB, PAGE = 1 - ECanbLAMRegsFile : > ECANB_LAM PAGE = 1 - ECanbMboxesFile : > ECANB_MBOX PAGE = 1 - ECanbMOTSRegsFile : > ECANB_MOTS PAGE = 1 - ECanbMOTORegsFile : > ECANB_MOTO PAGE = 1 - - EPwm1RegsFile : > EPWM1 PAGE = 1 - EPwm2RegsFile : > EPWM2 PAGE = 1 - EPwm3RegsFile : > EPWM3 PAGE = 1 - EPwm4RegsFile : > EPWM4 PAGE = 1 - EPwm5RegsFile : > EPWM5 PAGE = 1 - EPwm6RegsFile : > EPWM6 PAGE = 1 - - ECap1RegsFile : > ECAP1 PAGE = 1 - ECap2RegsFile : > ECAP2 PAGE = 1 - ECap3RegsFile : > ECAP3 PAGE = 1 - ECap4RegsFile : > ECAP4 PAGE = 1 - ECap5RegsFile : > ECAP5 PAGE = 1 - ECap6RegsFile : > ECAP6 PAGE = 1 - - EQep1RegsFile : > EQEP1 PAGE = 1 - EQep2RegsFile : > EQEP2 PAGE = 1 - - GpioCtrlRegsFile : > GPIOCTRL PAGE = 1 - GpioDataRegsFile : > GPIODAT PAGE = 1 - GpioIntRegsFile : > GPIOINT PAGE = 1 - -/*** Peripheral Frame 2 Register Structures ***/ - SysCtrlRegsFile : > SYSTEM, PAGE = 1 - SpiaRegsFile : > SPIA, PAGE = 1 - SciaRegsFile : > SCIA, PAGE = 1 - XIntruptRegsFile : > XINTRUPT, PAGE = 1 - AdcRegsFile : > ADC, PAGE = 1 - ScibRegsFile : > SCIB, PAGE = 1 - ScicRegsFile : > SCIC, PAGE = 1 - I2caRegsFile : > I2CA, PAGE = 1 - -/*** Code Security Module Register Structures ***/ - CsmPwlFile : > CSM_PWL, PAGE = 1 - -/*** Device Part ID Register Structures ***/ - PartIdRegsFile : > PARTID, PAGE = 1 -} - - - - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ diff --git a/Source/External/v120/DSP2833x_examples/epwm_dma/Example_2833xEPwm_DMA.c b/Source/External/v120/DSP2833x_examples/epwm_dma/Example_2833xEPwm_DMA.c deleted file mode 100644 index 9645539..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_dma/Example_2833xEPwm_DMA.c +++ /dev/null @@ -1,455 +0,0 @@ -//########################################################################### -// -// FILE: Example_2833xEPwm_DMA.c -// -// TITLE: DSP2833x Device DMA interface with ePWM example. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example demonstrates several cases where the DMA is triggered from -// SOC signals generated by ePWM modules. -// -// DMA CH1 setup: -// Trigger = ADCSOCA from ePWM1 -// Datasize = 16 bits -// Source = VarA -// Dest = EPwm1Regs.TBPRD -// Burst = One word / burst -// Transfer = One burst / transfer -// CPU int = every transfer -// -// DMA CH2 setup: -// Trigger = ADCSOCB from ePWM2 -// Datasize = 32 bits -// Source = VarB -// Dest = EPwm1Regs.CMPA.all -// Burst = One 32-bit word / burst -// Transfer = One burst / transfer -// CPU int = none -// -// DMA CH3 setup: -// Trigger = ADC SEQ1INT -// Datasize = 32 bits -// Source = AdcMirror.ADCRESULT[0-5] -// Dest = ADCbuffer -// Burst = Three 32-bit words / burst -// Transfer = One burst / transfer -// CPU int = none -// -// Watch Variables: -// -// EPwm1Regs.TBPRD -// EPwm1Regs.CMPA.all -// ADCbuffer -// InterruptCount -// -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - - -// Prototype statements for functions found within this file. -void delay_loop(void); -void DMAInitialize(void); -void DMACH1Config(void); -void DMACH2Config(void); -void DMACH3Config(void); -void ConfigAdc(void); -void config_ePWM1_to_generate_ADCSOCA(void); -void config_ePWM2_to_generate_ADCSOCB(void); -interrupt void local_DINTCH1_ISR(void); - - -// Global Variables -#pragma DATA_SECTION(ADCbuffer,"DMARAML4"); -volatile Uint32 ADCbuffer[3]; - -Uint16 VarA; -Uint32 VarB; - -volatile Uint16 *MAPCNF = (Uint16 *)0x00702E; - -Uint16 InterruptCount; - -void main(void) -{ - Uint16 i; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// For this example use the following configuration: - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - - EALLOW; - // Initialize PIE vector for CPU interrupt: - PieVectTable.DINTCH1 = &local_DINTCH1_ISR; // Point to DMA CH1 ISR - PieCtrlRegs.PIEIER7.bit.INTx1 = 1; // Enable DMA CH1 interrupt in PIE - EDIS; - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// Step 5. User specific code: - - InterruptCount = 0; - - EALLOW; - GpioCtrlRegs.GPADIR.all = 0xFFFFFFFF; // All outputs - SysCtrlRegs.MAPCNF.bit.MAPEPWM = 1; // Remap ePWMs for DMA access - EDIS; - - GpioDataRegs.GPASET.all = 0xFFFFFFFF; - delay_loop(); - GpioDataRegs.GPACLEAR.all = 0x00000002; - - for(i=0; i<3; i++) - { - ADCbuffer[i] = ((Uint32)i*0x00011000) + 0x00044000; - } - - VarA = 75; - VarB = 0x652000; - - // Enable and configure clocks to peripherals: - EALLOW; - SysCtrlRegs.PCLKCR3.bit.DMAENCLK = 1; // Enable SYSCLK to DMA - EDIS; - - DMAInitialize(); - DMACH1Config(); - DMACH2Config(); - DMACH3Config(); - - // Enable all interrupts: - IER = M_INT7; // Enable INT7 (7.1 DMA Ch1) - EINT; - - InitAdc(); - ConfigAdc(); - - config_ePWM1_to_generate_ADCSOCA(); - config_ePWM2_to_generate_ADCSOCB(); - - - EALLOW; - DmaRegs.CH1.CONTROL.bit.RUN = 1; - DmaRegs.CH2.CONTROL.bit.RUN = 1; - DmaRegs.CH3.CONTROL.bit.RUN = 1; - asm(" NOP"); - EPwm1Regs.TBCTL.bit.CTRMODE = 0; // Up count mode - EPwm2Regs.TBCTL.bit.CTRMODE = 0; // Up count mode - EDIS; - - for(;;) {} - -} - - -//=========================================================================== -// DMA Functions -//=========================================================================== - -void DMAInitialize(void) -{ - EALLOW; - - // Perform a hard reset on DMA - DmaRegs.DMACTRL.bit.HARDRESET = 1; - - // always perform one NOP after a HARDRESET - asm(" NOP"); - - // Stop DMA on emulation suspend - DmaRegs.DEBUGCTRL.bit.FREE = 0; - - EDIS; -} - - -void DMACH1Config(void) -{ - EALLOW; - // Configure CH1: - // - // Reset selected channel via CONTROL Register: -// DmaRegs.CH1.CONTROL.bit.SOFTRESET = 1; // Perform SOFT reset on channel (clears all counters) - - // Set up MODE Register: - DmaRegs.CH1.MODE.bit.PERINTSEL = 18; // ePWM1 SOCA as peripheral interrupt source - DmaRegs.CH1.MODE.bit.PERINTE = 1; // Peripheral interrupt enabled - DmaRegs.CH1.MODE.bit.ONESHOT = 0; // 1 burst per SW interrupt - DmaRegs.CH1.MODE.bit.CONTINUOUS = 1; // Do not stop after each transfer - DmaRegs.CH1.MODE.bit.SYNCE = 0; // No sync signal - DmaRegs.CH1.MODE.bit.SYNCSEL = 0; // No sync signal - DmaRegs.CH1.MODE.bit.DATASIZE = 0; // 16-bit data size transfers - DmaRegs.CH1.MODE.bit.CHINTMODE = 0; // Generate interrupt to CPU at the beg of transfer - DmaRegs.CH1.MODE.bit.CHINTE = 1; // Channel Interrupt to CPU enabled - - // Set up BURST registers: - DmaRegs.CH1.BURST_SIZE.all = 0; // Number (N-1) of 16-bit words transferred in a burst - DmaRegs.CH1.SRC_BURST_STEP = 0; // Not needed since BURST_SIZE = 0 - DmaRegs.CH1.DST_BURST_STEP = 0; // Not needed since BURST_SIZE = 0 - - // Set up TRANSFER registers: - DmaRegs.CH1.TRANSFER_SIZE = 0; // Bursts (N-1) per transfer - DmaRegs.CH1.SRC_TRANSFER_STEP = 0; // Not needed since TRANSFER_SIZE = 0 - DmaRegs.CH1.DST_TRANSFER_STEP = 0; // Not needed since TRANSFER_SIZE = 0 - - // Set up WRAP registers: - DmaRegs.CH1.SRC_WRAP_SIZE = 0xFFFF; // No source wrap-around - DmaRegs.CH1.DST_WRAP_SIZE = 0xFFFF; // No destination wrap-around - DmaRegs.CH1.SRC_WRAP_STEP = 0; - DmaRegs.CH1.DST_WRAP_STEP = 0; - - // Set up SOURCE address: - DmaRegs.CH1.SRC_ADDR_SHADOW = (Uint32) &VarA; // Point to variable in RAM - - // Set up DESTINATION address: - DmaRegs.CH1.DST_ADDR_SHADOW = (Uint32) &EPwm1Regs.TBPRD; // Point to ePWM1 TBPRD register remapped for DMA - // need to make sure .cmd file has ePWMs remapped - // Clear any spurious flags: - DmaRegs.CH1.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - DmaRegs.CH1.CONTROL.bit.SYNCCLR = 1; // Clear any spurious sync flags - DmaRegs.CH1.CONTROL.bit.ERRCLR = 1; // Clear any spurious sync error flags - - EDIS; -} - -void DMACH2Config(void) -{ - EALLOW; - // Configure CH2: - // - // Reset selected channel via CONTROL Register: -// DmaRegs.CH2.CONTROL.bit.SOFTRESET = 1; // Perform SOFT reset on channel (clears all counters) - - // Set up MODE Register: - DmaRegs.CH2.MODE.bit.PERINTSEL = 21; // ePWM2 SOCB as peripheral interrupt source - DmaRegs.CH2.MODE.bit.PERINTE = 1; // Peripheral interrupt enabled - DmaRegs.CH2.MODE.bit.ONESHOT = 0; // 1 burst per SW interrupt - DmaRegs.CH2.MODE.bit.CONTINUOUS = 1; // Do not stop after each transfer - DmaRegs.CH2.MODE.bit.SYNCE = 0; // No sync signal - DmaRegs.CH2.MODE.bit.SYNCSEL = 0; // No sync signal - DmaRegs.CH2.MODE.bit.DATASIZE = 1; // 32-bit data size transfers - DmaRegs.CH2.MODE.bit.CHINTMODE = 0; - DmaRegs.CH2.MODE.bit.CHINTE = 0; // Channel Interrupt to CPU disabled - - // Set up BURST registers: - DmaRegs.CH2.BURST_SIZE.all = 1; // Number (N-1) of 16-bit words transferred in a burst - DmaRegs.CH2.SRC_BURST_STEP = 0x0000; // Not needed since only 1 32-bit move per burst - DmaRegs.CH2.DST_BURST_STEP = 0x0000; // Not needed since only 1 32-bit move per burst - - // Set up TRANSFER registers: - DmaRegs.CH2.TRANSFER_SIZE = 0; // Bursts (N-1) per transfer - DmaRegs.CH2.SRC_TRANSFER_STEP = 0; // Not needed since TRANSFER_SIZE = 0 - DmaRegs.CH2.DST_TRANSFER_STEP = 0; // Not needed since TRANSFER_SIZE = 0 - - // Set up WRAP registers: - DmaRegs.CH2.SRC_WRAP_SIZE = 0xFFFF; // No source wrap-around - DmaRegs.CH2.DST_WRAP_SIZE = 0xFFFF; // No destination wrap-around - DmaRegs.CH2.SRC_WRAP_STEP = 0; - DmaRegs.CH2.DST_WRAP_STEP = 0; - - // Set up SOURCE address: - DmaRegs.CH2.SRC_ADDR_SHADOW = (Uint32) &VarB; // Point to variable in RAM - - // Set up DESTINATION address: - DmaRegs.CH2.DST_ADDR_SHADOW = (Uint32) &EPwm1Regs.CMPA.all; // Point to ePWM1 CMPAHR/CMPA registers - - // Clear any spurious flags: - DmaRegs.CH2.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - DmaRegs.CH2.CONTROL.bit.SYNCCLR = 1; // Clear any spurious sync flags - DmaRegs.CH2.CONTROL.bit.ERRCLR = 1; // Clear any spurious sync error flags - - EDIS; -} - -void DMACH3Config(void) -{ - EALLOW; - // Configure CH3: - // - - // Set up MODE Register: - DmaRegs.CH3.MODE.bit.PERINTSEL = 1; // ADC SEQ1INT as peripheral interrupt source - DmaRegs.CH3.MODE.bit.PERINTE = 1; // Peripheral interrupt enabled - DmaRegs.CH3.MODE.bit.ONESHOT = 0; // 1 burst per SW interrupt - DmaRegs.CH3.MODE.bit.CONTINUOUS = 1; // Do not stop after each transfer - DmaRegs.CH3.MODE.bit.SYNCE = 0; // No sync signal - DmaRegs.CH3.MODE.bit.SYNCSEL = 0; // No sync signal - DmaRegs.CH3.MODE.bit.DATASIZE = 1; // 32-bit data size transfers - DmaRegs.CH3.MODE.bit.CHINTMODE = 0; - DmaRegs.CH3.MODE.bit.CHINTE = 0; // Channel Interrupt to CPU disabled - - // Set up BURST registers: - DmaRegs.CH3.BURST_SIZE.all = 5; // Number (N-1) of 16-bit words transferred in a burst - DmaRegs.CH3.SRC_BURST_STEP = 2; // Increment source burst address by 2 (32-bit) - DmaRegs.CH3.DST_BURST_STEP = 2; // Increment destination burst address by 2 (32-bit) - - // Set up TRANSFER registers: - DmaRegs.CH3.TRANSFER_SIZE = 0; // Bursts (N-1) per transfer - DmaRegs.CH3.SRC_TRANSFER_STEP = 0; // Not needed since TRANSFER_SIZE = 0 - DmaRegs.CH3.DST_TRANSFER_STEP = 0; // Not needed since TRANSFER_SIZE = 0 - - // Set up WRAP registers: - DmaRegs.CH3.SRC_WRAP_SIZE = 0xFFFF; // No source wrap-around - DmaRegs.CH3.DST_WRAP_SIZE = 0xFFFF; // No destination wrap-around - DmaRegs.CH3.SRC_WRAP_STEP = 0; - DmaRegs.CH3.DST_WRAP_STEP = 0; - - // Set up SOURCE address: - DmaRegs.CH3.SRC_ADDR_SHADOW = (Uint32) &AdcMirror.ADCRESULT0; // Point to first RESULT reg - - // Set up DESTINATION address: - DmaRegs.CH3.DST_ADDR_SHADOW = (Uint32) &ADCbuffer[0]; // Point to beginning of ADCbuffer - - // Clear any spurious flags: - DmaRegs.CH3.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - DmaRegs.CH3.CONTROL.bit.SYNCCLR = 1; // Clear any spurious sync flags - DmaRegs.CH3.CONTROL.bit.ERRCLR = 1; // Clear any spurious sync error flags - - EDIS; -} - - - -interrupt void local_DINTCH1_ISR(void) // DMA INT7.1 -{ - GpioDataRegs.GPATOGGLE.all = 0x00000001; // Toggle GPIOA0 - - InterruptCount++; - - - if((DmaRegs.CH1.CONTROL.bit.OVRFLG == 1) || (DmaRegs.CH2.CONTROL.bit.OVRFLG == 1) || - (DmaRegs.CH3.CONTROL.bit.OVRFLG == 1)) - { - asm(" ESTOP0"); - } - - PieCtrlRegs.PIEACK.bit.ACK7 = 1; // Clear PIEIFR bit -} - - -void ConfigAdc(void) -{ - AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 7; - AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0; // ADCINA0 - AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 1; // ADCINA1 - AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 2; // ADCINA2 - AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 3; // ADCINA3 - AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 4; // ADCINA4 - AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 5; // ADCINA5 - AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 1; // Enable ADC to accept ePWM_SOCA trigger - AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; - AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; - AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // Clear interrupt flag - AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable SEQ1 interrupt -} - - -void config_ePWM1_to_generate_ADCSOCA(void) -{ - // Configure ePWM1 Timer - // Interrupt triggers ADCSOCA - - EALLOW; - EPwm1Regs.TBPRD = 74; // Setup period (one off so DMA transfer will be obvious) - EPwm1Regs.CMPA.all = 0x501000; - EPwm1Regs.ETSEL.bit.SOCASEL = 2; // ADCSOCA on TBCTR=TBPRD - EPwm1Regs.ETPS.bit.SOCAPRD = 1; // Generate SOCA on 1st event - EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOCA generation - EPwm1Regs.TBCTL.bit.HSPCLKDIV = 0; // /1 clock mode - EDIS; -} - - -void config_ePWM2_to_generate_ADCSOCB(void) -{ - // Configure ePWM2 Timer - // Interrupt triggers ADCSOCB - - EALLOW; - EPwm2Regs.TBPRD = 150; // Setup periodSetup period - EPwm2Regs.CMPA.all = 0x200000; - EPwm2Regs.ETSEL.bit.SOCBSEL = 2; // ADCSOCB on TBCTR=TBPRD - EPwm2Regs.ETPS.bit.SOCBPRD = 1; // Generate SOCB on 1st event - EPwm2Regs.ETSEL.bit.SOCBEN = 1; // Enable SOCB generation - EPwm2Regs.TBCTL.bit.HSPCLKDIV = 0; // /1 clock mode - EDIS; -} - - -void delay_loop() -{ - short i; - for (i = 0; i < 1000; i++) {} -} - - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/epwm_dma/Example_2833xEPwm_DMA.gel b/Source/External/v120/DSP2833x_examples/epwm_dma/Example_2833xEPwm_DMA.gel deleted file mode 100644 index f5ab59c..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_dma/Example_2833xEPwm_DMA.gel +++ /dev/null @@ -1,43 +0,0 @@ -/* -// TI File $Revision: /main/1 $ -// Checkin $Date: June 19, 2008 10:25:20 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ePWM DMA" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xEPwm_DMA.pjt"); - GEL_ProjectBuild("Example_2833xEPwm_DMA.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xEPwm_DMA.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("EPwm1Regs.TBPRD,x"); - GEL_WatchAdd("EPwm1Regs.CMPA.all,x"); - GEL_WatchAdd("ADCbuffer,x"); - GEL_WatchAdd("InterruptCount,x"); - GEL_WatchAdd("EPwm1Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/epwm_dma/Example_2833xEPwm_DMA.pjt b/Source/External/v120/DSP2833x_examples/epwm_dma/Example_2833xEPwm_DMA.pjt deleted file mode 100644 index 69ca432..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_dma/Example_2833xEPwm_DMA.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_dma\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_Adc.c" -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xEPwm_DMA.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="DSP2833x_EPWMDM_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_dma\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_dma\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -mt -v28 --float_support=fpu32 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_dma\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xEPwm_DMA.map" -o".\Debug\Example_2833xEPwm_DMA.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -m".\Release\Example_2833xEPwm_DMA.map" -o".\Release\Example_2833xEPwm_DMA.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/epwm_timer_interrupts/Example_2833xEPwmTimerInt.c b/Source/External/v120/DSP2833x_examples/epwm_timer_interrupts/Example_2833xEPwmTimerInt.c deleted file mode 100644 index 58927b6..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_timer_interrupts/Example_2833xEPwmTimerInt.c +++ /dev/null @@ -1,360 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:41:38 $ -//########################################################################### -// -// FILE: Example_2833xEPwmTimerInt.c -// -// TITLE: DSP2833x ePWM Timer Interrupt example. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Other then boot mode configuration, no other hardware configuration -// is required. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example configures the ePWM Timers and increments -// a counter each time an interrupt is taken. -// -// As supplied: -// -// All ePWM's are initalized. Note that not all devices in the 2833x -// family have all 6 ePWMs. -// -// All timers have the same period -// The timers are started sync'ed -// An interrupt is taken on a zero event for each ePWM timer -// -// ePWM1: takes an interrupt every event -// ePWM2: takes an interrupt every 2nd event -// ePWM3: takes an interrupt every 3rd event -// ePWM4-ePWM6: take an interrupt every event -// -// Thus the Interrupt count for ePWM1, ePWM4-ePWM6 should be equal -// The interrupt count for ePWM2 should be about half that of ePWM1 -// and the interrupt count for ePWM3 should be about 1/3 that of ePWM1 -// -// Watch Variables: -// EPwm1TimerIntCount -// EPwm2TimerIntCount -// EPwm3TimerIntCount -// EPwm4TimerIntCount -// EPwm5TimerIntCount -// EPwm6TimerIntCount -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Configure which ePWM timer interrupts are enabled at the PIE level: -// 1 = enabled, 0 = disabled -#define PWM1_INT_ENABLE 1 -#define PWM2_INT_ENABLE 1 -#define PWM3_INT_ENABLE 1 -#define PWM4_INT_ENABLE 1 -#define PWM5_INT_ENABLE 1 -#define PWM6_INT_ENABLE 1 - -// Configure the period for each timer -#define PWM1_TIMER_TBPRD 0x1FFF -#define PWM2_TIMER_TBPRD 0x1FFF -#define PWM3_TIMER_TBPRD 0x1FFF -#define PWM4_TIMER_TBPRD 0x1FFF -#define PWM5_TIMER_TBPRD 0x1FFF -#define PWM6_TIMER_TBPRD 0x1FFF - - -// Prototype statements for functions found within this file. -interrupt void epwm1_timer_isr(void); -interrupt void epwm2_timer_isr(void); -interrupt void epwm3_timer_isr(void); -interrupt void epwm4_timer_isr(void); -interrupt void epwm5_timer_isr(void); -interrupt void epwm6_timer_isr(void); -void InitEPwmTimer(void); - -// Global variables used in this example -Uint32 EPwm1TimerIntCount; -Uint32 EPwm2TimerIntCount; -Uint32 EPwm3TimerIntCount; -Uint32 EPwm4TimerIntCount; -Uint32 EPwm5TimerIntCount; -Uint32 EPwm6TimerIntCount; - - -void main(void) -{ - int i; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.EPWM1_INT = &epwm1_timer_isr; - PieVectTable.EPWM2_INT = &epwm2_timer_isr; - PieVectTable.EPWM3_INT = &epwm3_timer_isr; - PieVectTable.EPWM4_INT = &epwm4_timer_isr; - PieVectTable.EPWM5_INT = &epwm5_timer_isr; - PieVectTable.EPWM6_INT = &epwm6_timer_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - InitEPwmTimer(); // For this example, only initialize the ePWM Timers - -// Step 5. User specific code, enable interrupts: - -// Initalize counters: - EPwm1TimerIntCount = 0; - EPwm2TimerIntCount = 0; - EPwm3TimerIntCount = 0; - EPwm4TimerIntCount = 0; - EPwm5TimerIntCount = 0; - EPwm6TimerIntCount = 0; - -// Enable CPU INT3 which is connected to EPWM1-6 INT: - IER |= M_INT3; - -// Enable EPWM INTn in the PIE: Group 3 interrupt 1-6 - PieCtrlRegs.PIEIER3.bit.INTx1 = PWM1_INT_ENABLE; - PieCtrlRegs.PIEIER3.bit.INTx2 = PWM2_INT_ENABLE; - PieCtrlRegs.PIEIER3.bit.INTx3 = PWM3_INT_ENABLE; - PieCtrlRegs.PIEIER3.bit.INTx4 = PWM4_INT_ENABLE; - PieCtrlRegs.PIEIER3.bit.INTx5 = PWM5_INT_ENABLE; - PieCtrlRegs.PIEIER3.bit.INTx6 = PWM6_INT_ENABLE; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;) - { - asm(" NOP"); - for(i=1;i<=10;i++) - {} - } - -} - - -void InitEPwmTimer() -{ - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; // Stop all the TB clocks - EDIS; - - // Setup Sync - EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through - EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through - EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through - EPwm4Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through - EPwm5Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through - EPwm6Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through - - // Allow each timer to be sync'ed - - EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE; - EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE; - EPwm3Regs.TBCTL.bit.PHSEN = TB_ENABLE; - EPwm4Regs.TBCTL.bit.PHSEN = TB_ENABLE; - EPwm5Regs.TBCTL.bit.PHSEN = TB_ENABLE; - EPwm6Regs.TBCTL.bit.PHSEN = TB_ENABLE; - - EPwm1Regs.TBPHS.half.TBPHS = 100; - EPwm2Regs.TBPHS.half.TBPHS = 200; - EPwm3Regs.TBPHS.half.TBPHS = 300; - EPwm4Regs.TBPHS.half.TBPHS = 400; - EPwm5Regs.TBPHS.half.TBPHS = 500; - EPwm6Regs.TBPHS.half.TBPHS = 600; - - EPwm1Regs.TBPRD = PWM1_TIMER_TBPRD; - EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm1Regs.ETSEL.bit.INTEN = PWM1_INT_ENABLE; // Enable INT - EPwm1Regs.ETPS.bit.INTPRD = ET_1ST; // Generate INT on 1st event - - - EPwm2Regs.TBPRD = PWM2_TIMER_TBPRD; - EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm2Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Enable INT on Zero event - EPwm2Regs.ETSEL.bit.INTEN = PWM2_INT_ENABLE; // Enable INT - EPwm2Regs.ETPS.bit.INTPRD = ET_2ND; // Generate INT on 2nd event - - - EPwm3Regs.TBPRD = PWM3_TIMER_TBPRD; - EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm3Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Enable INT on Zero event - EPwm3Regs.ETSEL.bit.INTEN = PWM3_INT_ENABLE; // Enable INT - EPwm3Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - - EPwm4Regs.TBPRD = PWM4_TIMER_TBPRD; - EPwm4Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm4Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Enable INT on Zero event - EPwm4Regs.ETSEL.bit.INTEN = PWM4_INT_ENABLE; // Enable INT - EPwm4Regs.ETPS.bit.INTPRD = ET_1ST; // Generate INT on 1st event - - - EPwm5Regs.TBPRD = PWM5_TIMER_TBPRD; - EPwm5Regs.TBCTL.bit.CTRMODE= TB_COUNT_UP; // Count up - EPwm5Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Enable INT on Zero event - EPwm5Regs.ETSEL.bit.INTEN = PWM5_INT_ENABLE; // Enable INT - EPwm5Regs.ETPS.bit.INTPRD = ET_1ST; // Generate INT on 1st event - - - EPwm6Regs.TBPRD = PWM6_TIMER_TBPRD; - EPwm6Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm6Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Enable INT on Zero event - EPwm6Regs.ETSEL.bit.INTEN = PWM6_INT_ENABLE; // Enable INT - EPwm6Regs.ETPS.bit.INTPRD = ET_1ST; // Generate INT on 1st event - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; // Start all the timers synced - EDIS; - - -} - - -// Interrupt routines uses in this example: -interrupt void epwm1_timer_isr(void) -{ - EPwm1TimerIntCount++; - - // Clear INT flag for this timer - EPwm1Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -interrupt void epwm2_timer_isr(void) -{ - EPwm2TimerIntCount++; - - // Clear INT flag for this timer - EPwm2Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -interrupt void epwm3_timer_isr(void) -{ - EPwm3TimerIntCount++; - - // Clear INT flag for this timer - EPwm3Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -interrupt void epwm4_timer_isr(void) -{ - EPwm4TimerIntCount++; - - // Clear INT flag for this timer - EPwm4Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -interrupt void epwm5_timer_isr(void) -{ - EPwm5TimerIntCount++; - - // Clear INT flag for this timer - EPwm5Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -interrupt void epwm6_timer_isr(void) -{ - EPwm6TimerIntCount++; - - // Clear INT flag for this timer - EPwm6Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - - - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/epwm_timer_interrupts/Example_2833xEPwmTimerInt.gel b/Source/External/v120/DSP2833x_examples/epwm_timer_interrupts/Example_2833xEPwmTimerInt.gel deleted file mode 100644 index 43d8f17..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_timer_interrupts/Example_2833xEPwmTimerInt.gel +++ /dev/null @@ -1,47 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:13:37 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ePWM Interrupt Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xEPwmTimerInt.pjt"); - GEL_ProjectBuild("Example_2833xEPwmTimerInt.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xEPwmTimerInt.out"); - Setup_WatchWindow(); -} - - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("EPwm1TimerIntCount",,"PWM1 ISR Count"); - GEL_WatchAdd("EPwm2TimerIntCount",,"PWM2 ISR Count"); - GEL_WatchAdd("EPwm3TimerIntCount",,"PWM3 ISR Count"); - GEL_WatchAdd("EPwm4TimerIntCount",,"PWM4 ISR Count"); - GEL_WatchAdd("EPwm5TimerIntCount",,"PWM5 ISR Count"); - GEL_WatchAdd("EPwm6TimerIntCount",,"PWM6 ISR Count"); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); - GEL_WatchAdd("EPwm4Regs,x"); - GEL_WatchAdd("EPwm5Regs,x"); - GEL_WatchAdd("EPwm6Regs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/epwm_timer_interrupts/Example_2833xEPwmTimerInt.pjt b/Source/External/v120/DSP2833x_examples/epwm_timer_interrupts/Example_2833xEPwmTimerInt.pjt deleted file mode 100644 index 6e0819d..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_timer_interrupts/Example_2833xEPwmTimerInt.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_timer_interrupts\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xEPwmTimerInt.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_timer_interrupts\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_timer_interrupts\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_timer_interrupts\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xEPwmTimerInt.map" -o".\Debug\Example_2833xEPwmTimerInt.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xCpuTimer.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/epwm_trip_zone/Example_2833xEPwmTripZone.c b/Source/External/v120/DSP2833x_examples/epwm_trip_zone/Example_2833xEPwmTripZone.c deleted file mode 100644 index 1415e49..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_trip_zone/Example_2833xEPwmTripZone.c +++ /dev/null @@ -1,305 +0,0 @@ -// TI File $Revision: /main/8 $ -// Checkin $Date: April 21, 2008 15:41:42 $ -//########################################################################### -// -// FILE: Example_2833xEpwmTripZone.c -// -// TITLE: Check PWM Trip Zone Test -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Initially tie TZ1 (GPIO12) and TZ2 (GPIO13) high. -// -// During the test, monitor ePWM1 or ePWM2 outputs -// on a scope Pull TZ1 or TZ2 low to see the effect. -// -// EPWM1A is on GPIO0 -// EPWM1B is on GPIO1 -// EPWM2A is on GPIO2 -// EPWM2B is on GPIO3 -// -// ePWM1 will react as a 1 shot trip -// -// ePWM2 will react as a cycle by cycle trip and will be -// cleared if TZ1 and TZ2 are both pulled back high. -// -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example configures ePWM1 and ePWM2 -// -// 2 Examples are included: -// * ePWM1 has TZ1 and TZ2 as one shot trip sources -// * ePWM2 has TZ1 and TZ2 as cycle by cycle trip sources -// -// Each ePWM is configured to interrupt on the 3rd zero event -// when this happens the deadband is modified such that -// 0 <= DB <= DB_MAX. That is, the deadband will move up and -// down between 0 and the maximum value. -// -// -// View the EPWM1A/B, EPWM2A/B waveforms -// via an oscilloscope to see the effect of TZ1 and TZ2 -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -void InitEPwm1Example(void); -void InitEPwm2Example(void); -interrupt void epwm1_tzint_isr(void); -interrupt void epwm2_tzint_isr(void); - - -// Global variables used in this example -Uint32 EPwm1TZIntCount; -Uint32 EPwm2TZIntCount; - -void main(void) -{ -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// For this case just init GPIO pins for ePWM1, ePWM2, and TZ pins - InitEPwm1Gpio(); - InitEPwm2Gpio(); - InitTzGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.EPWM1_TZINT = &epwm1_tzint_isr; - PieVectTable.EPWM2_TZINT = &epwm2_tzint_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; - EDIS; - - InitEPwm1Example(); - InitEPwm2Example(); - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; - EDIS; - -// Step 5. User specific code, enable interrupts -// Initalize counters: - EPwm1TZIntCount = 0; - EPwm2TZIntCount = 0; - -// Enable CPU INT3 which is connected to EPWM1-3 INT: - IER |= M_INT2; - -// Enable EPWM INTn in the PIE: Group 2 interrupt 1-3 - PieCtrlRegs.PIEIER2.bit.INTx1 = 1; - PieCtrlRegs.PIEIER2.bit.INTx2 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - - - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;) - { - asm(" NOP"); - } - -} - -interrupt void epwm1_tzint_isr(void) -{ - EPwm1TZIntCount++; - -// Leave these flags set so we only take this -// interrupt once -// -// EALLOW; -// EPwm1Regs.TZCLR.bit.OST = 1; -// EPwm1Regs.TZCLR.bit.INT = 1; -// EDIS; - - // Acknowledge this interrupt to receive more interrupts from group 2 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - -} - -interrupt void epwm2_tzint_isr(void) -{ - - EPwm2TZIntCount++; - -// Clear the flags - we will continue to take -// this interrupt until the TZ pin goes high -// - EALLOW; - EPwm2Regs.TZCLR.bit.CBC = 1; - EPwm2Regs.TZCLR.bit.INT = 1; - EDIS; - - // Acknowledge this interrupt to receive more interrupts from group 2 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - -} - - -void InitEPwm1Example() -{ - // Enable TZ1 and TZ2 as one shot trip sources - EALLOW; - EPwm1Regs.TZSEL.bit.OSHT1 = 1; - EPwm1Regs.TZSEL.bit.OSHT2 = 1; - - // What do we want the TZ1 and TZ2 to do? - EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_HI; - EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_LO; - - // Enable TZ interrupt - EPwm1Regs.TZEINT.bit.OST = 1; - EDIS; - - EPwm1Regs.TBPRD = 6000; // Set timer period - EPwm1Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm1Regs.TBCTR = 0x0000; // Clear counter - - // Setup TBCLK - EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up - EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV4; // Clock ratio to SYSCLKOUT - EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV4; - - EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; // Load registers every ZERO - EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - - // Setup compare - EPwm1Regs.CMPA.half.CMPA = 3000; - - // Set actions - EPwm1Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM1A on Zero - EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR; - - - EPwm1Regs.AQCTLB.bit.CAU = AQ_CLEAR; // Set PWM1A on Zero - EPwm1Regs.AQCTLB.bit.CAD = AQ_SET; - -} - - -void InitEPwm2Example() -{ - - // Enable TZ1 and TZ2 as one cycle-by-cycle trip sources - EALLOW; - EPwm2Regs.TZSEL.bit.CBC1 = 1; - EPwm2Regs.TZSEL.bit.CBC2 = 1; - - // What do we want the TZ1 and TZ2 to do? - EPwm2Regs.TZCTL.bit.TZA = TZ_FORCE_HI; - EPwm2Regs.TZCTL.bit.TZB = TZ_FORCE_LO; - - // Enable TZ interrupt - EPwm2Regs.TZEINT.bit.CBC = 1; - EDIS; - - EPwm2Regs.TBPRD = 6000; // Set timer period - EPwm2Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm2Regs.TBCTR = 0x0000; // Clear counter - - // Setup TBCLK - EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up - EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV4; // Clock ratio to SYSCLKOUT - EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV4; // Slow just to observe on the scope - - // Setup compare - EPwm2Regs.CMPA.half.CMPA = 3000; - - // Set actions - EPwm2Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM2A on Zero - EPwm2Regs.AQCTLA.bit.CAD = AQ_CLEAR; - - - EPwm2Regs.AQCTLB.bit.CAU = AQ_CLEAR; // Set PWM2A on Zero - EPwm2Regs.AQCTLB.bit.CAD = AQ_SET; -} - - - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/epwm_trip_zone/Example_2833xEPwmTripZone.gel b/Source/External/v120/DSP2833x_examples/epwm_trip_zone/Example_2833xEPwmTripZone.gel deleted file mode 100644 index a59442b..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_trip_zone/Example_2833xEPwmTripZone.gel +++ /dev/null @@ -1,40 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:13:58 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ePWM TripZone" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xEPwmTripZone.pjt"); - GEL_ProjectBuild("Example_2833xEPwmTripZone.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xEPwmTripZone.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/epwm_trip_zone/Example_2833xEPwmTripZone.pjt b/Source/External/v120/DSP2833x_examples/epwm_trip_zone/Example_2833xEPwmTripZone.pjt deleted file mode 100644 index 543de56..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_trip_zone/Example_2833xEPwmTripZone.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_trip_zone\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xEPwmTripZone.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_trip_zone\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_trip_zone\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_trip_zone\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xEPwmTripZone.map" -o".\Debug\Example_2833xEPwmTripZone.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -m".\Release\Example_2833xEPwmDeadBand.map" -o".\Release\Example_2833xEPwmTripZone.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/epwm_up_aq/Example_2833xEPwmUpAQ.c b/Source/External/v120/DSP2833x_examples/epwm_up_aq/Example_2833xEPwmUpAQ.c deleted file mode 100644 index 33b153a..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_up_aq/Example_2833xEPwmUpAQ.c +++ /dev/null @@ -1,490 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:41:47 $ -//########################################################################### -// -// FILE: Example_2833xEPwm3UpAQ.c -// -// TITLE: Action Qualifier Module Upcount mode. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Monitor the ePWM1 - ePWM3 pins on a oscilloscope as -// described below. -// -// EPWM1A is on GPIO0 -// EPWM1B is on GPIO1 -// -// EPWM2A is on GPIO2 -// EPWM2B is on GPIO3 -// -// EPWM3A is on GPIO4 -// EPWM3B is on GPIO5 -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example configures ePWM1, ePWM2, ePWM3 to produce an -// waveform with independant modulation on EPWMxA and -// EPWMxB. -// -// The compare values CMPA and CMPB are modified within the ePWM's ISR -// -// The TB counter is in upmode for this example. -// -// View the EPWM1A/B, EPWM2A/B and EPWM3A/B waveforms -// via an oscilloscope -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - - -typedef struct -{ - volatile struct EPWM_REGS *EPwmRegHandle; - Uint16 EPwm_CMPA_Direction; - Uint16 EPwm_CMPB_Direction; - Uint16 EPwmTimerIntCount; - Uint16 EPwmMaxCMPA; - Uint16 EPwmMinCMPA; - Uint16 EPwmMaxCMPB; - Uint16 EPwmMinCMPB; -}EPWM_INFO; - - -// Prototype statements for functions found within this file. -void InitEPwm1Example(void); -void InitEPwm2Example(void); -void InitEPwm3Example(void); -interrupt void epwm1_isr(void); -interrupt void epwm2_isr(void); -interrupt void epwm3_isr(void); -void update_compare(EPWM_INFO*); - -// Global variables used in this example -EPWM_INFO epwm1_info; -EPWM_INFO epwm2_info; -EPWM_INFO epwm3_info; - -// Configure the period for each timer -#define EPWM1_TIMER_TBPRD 2000 // Period register -#define EPWM1_MAX_CMPA 1950 -#define EPWM1_MIN_CMPA 50 -#define EPWM1_MAX_CMPB 1950 -#define EPWM1_MIN_CMPB 50 - -#define EPWM2_TIMER_TBPRD 2000 // Period register -#define EPWM2_MAX_CMPA 1950 -#define EPWM2_MIN_CMPA 50 -#define EPWM2_MAX_CMPB 1950 -#define EPWM2_MIN_CMPB 50 - -#define EPWM3_TIMER_TBPRD 2000 // Period register -#define EPWM3_MAX_CMPA 950 -#define EPWM3_MIN_CMPA 50 -#define EPWM3_MAX_CMPB 1950 -#define EPWM3_MIN_CMPB 1050 - - -// To keep track of which way the compare value is moving -#define EPWM_CMP_UP 1 -#define EPWM_CMP_DOWN 0 - - - -void main(void) -{ -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// For this case just init GPIO pins for ePWM1, ePWM2, ePWM3 -// These functions are in the DSP2833x_EPwm.c file - InitEPwm1Gpio(); - InitEPwm2Gpio(); - InitEPwm3Gpio(); - - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.EPWM1_INT = &epwm1_isr; - PieVectTable.EPWM2_INT = &epwm2_isr; - PieVectTable.EPWM3_INT = &epwm3_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// For this example, only initialize the ePWM - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; - EDIS; - - InitEPwm1Example(); - InitEPwm2Example(); - InitEPwm3Example(); - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; - EDIS; - - -// Step 5. User specific code, enable interrupts: - -// Enable CPU INT3 which is connected to EPWM1-3 INT: - IER |= M_INT3; - -// Enable EPWM INTn in the PIE: Group 3 interrupt 1-3 - PieCtrlRegs.PIEIER3.bit.INTx1 = 1; - PieCtrlRegs.PIEIER3.bit.INTx2 = 1; - PieCtrlRegs.PIEIER3.bit.INTx3 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;) - { - asm(" NOP"); - } - -} - -interrupt void epwm1_isr(void) -{ - // Update the CMPA and CMPB values - update_compare(&epwm1_info); - - // Clear INT flag for this timer - EPwm1Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - - -interrupt void epwm2_isr(void) -{ - - // Update the CMPA and CMPB values - update_compare(&epwm2_info); - - // Clear INT flag for this timer - EPwm2Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -interrupt void epwm3_isr(void) -{ - - // Update the CMPA and CMPB values - update_compare(&epwm3_info); - - // Clear INT flag for this timer - EPwm3Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -void InitEPwm1Example() -{ - - // Setup TBCLK - EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm1Regs.TBPRD = EPWM1_TIMER_TBPRD; // Set timer period - EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm1Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm1Regs.TBCTR = 0x0000; // Clear counter - EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV2; // Clock ratio to SYSCLKOUT - EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV2; - - // Setup shadow register load on ZERO - EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - - // Set Compare values - EPwm1Regs.CMPA.half.CMPA = EPWM1_MIN_CMPA; // Set compare A value - EPwm1Regs.CMPB = EPWM1_MIN_CMPB; // Set Compare B value - - // Set actions - EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET; // Set PWM1A on Zero - EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR; // Clear PWM1A on event A, up count - - EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET; // Set PWM1B on Zero - EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR; // Clear PWM1B on event B, up count - - // Interrupt where we will change the Compare Values - EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm1Regs.ETSEL.bit.INTEN = 1; // Enable INT - EPwm1Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - - // Information this example uses to keep track - // of the direction the CMPA/CMPB values are - // moving, the min and max allowed values and - // a pointer to the correct ePWM registers - epwm1_info.EPwm_CMPA_Direction = EPWM_CMP_UP; // Start by increasing CMPA & CMPB - epwm1_info.EPwm_CMPB_Direction = EPWM_CMP_UP; - epwm1_info.EPwmTimerIntCount = 0; // Zero the interrupt counter - epwm1_info.EPwmRegHandle = &EPwm1Regs; // Set the pointer to the ePWM module - epwm1_info.EPwmMaxCMPA = EPWM1_MAX_CMPA; // Setup min/max CMPA/CMPB values - epwm1_info.EPwmMinCMPA = EPWM1_MIN_CMPA; - epwm1_info.EPwmMaxCMPB = EPWM1_MAX_CMPB; - epwm1_info.EPwmMinCMPB = EPWM1_MIN_CMPB; - -} - - -void InitEPwm2Example() -{ - // Setup TBCLK - EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm2Regs.TBPRD = EPWM2_TIMER_TBPRD; // Set timer period - EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm2Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm2Regs.TBCTR = 0x0000; // Clear counter - EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV2; // Clock ratio to SYSCLKOUT - EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV2; - - // Setup shadow register load on ZERO - EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - - // Set Compare values - EPwm2Regs.CMPA.half.CMPA = EPWM2_MIN_CMPA; // Set compare A value - EPwm2Regs.CMPB = EPWM2_MAX_CMPB; // Set Compare B value - - // Set actions - EPwm2Regs.AQCTLA.bit.PRD = AQ_CLEAR; // Clear PWM2A on Period - EPwm2Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM2A on event A, up count - - EPwm2Regs.AQCTLB.bit.PRD = AQ_CLEAR; // Clear PWM2B on Period - EPwm2Regs.AQCTLB.bit.CBU = AQ_SET; // Set PWM2B on event B, up count - - // Interrupt where we will change the Compare Values - EPwm2Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm2Regs.ETSEL.bit.INTEN = 1; // Enable INT - EPwm2Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - - // Information this example uses to keep track - // of the direction the CMPA/CMPB values are - // moving, the min and max allowed values and - // a pointer to the correct ePWM registers - epwm2_info.EPwm_CMPA_Direction = EPWM_CMP_UP; // Start by increasing CMPA - epwm2_info.EPwm_CMPB_Direction = EPWM_CMP_DOWN; // and decreasing CMPB - epwm2_info.EPwmTimerIntCount = 0; // Zero the interrupt counter - epwm2_info.EPwmRegHandle = &EPwm2Regs; // Set the pointer to the ePWM module - epwm2_info.EPwmMaxCMPA = EPWM2_MAX_CMPA; // Setup min/max CMPA/CMPB values - epwm2_info.EPwmMinCMPA = EPWM2_MIN_CMPA; - epwm2_info.EPwmMaxCMPB = EPWM2_MAX_CMPB; - epwm2_info.EPwmMinCMPB = EPWM2_MIN_CMPB; - -} - - -void InitEPwm3Example(void) -{ - - - // Setup TBCLK - EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm3Regs.TBPRD = EPWM3_TIMER_TBPRD; // Set timer period - EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm3Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm3Regs.TBCTR = 0x0000; // Clear counter - EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT - EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - // Setup shadow register load on ZERO - EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - - // Set Compare values - EPwm3Regs.CMPA.half.CMPA = EPWM3_MIN_CMPA; // Set compare A value - EPwm3Regs.CMPB = EPWM3_MAX_CMPB; // Set Compare B value - - // Set Actions - EPwm3Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM3A on event B, up count - EPwm3Regs.AQCTLA.bit.CBU = AQ_CLEAR; // Clear PWM3A on event B, up count - - EPwm3Regs.AQCTLB.bit.ZRO = AQ_TOGGLE; // Toggle EPWM3B on Zero - - // Interrupt where we will change the Compare Values - EPwm3Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm3Regs.ETSEL.bit.INTEN = 1; // Enable INT - EPwm3Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - - // Start by increasing the compare A and decreasing compare B - epwm3_info.EPwm_CMPA_Direction = EPWM_CMP_UP; - epwm3_info.EPwm_CMPB_Direction = EPWM_CMP_DOWN; - // Start the cout at 0 - epwm3_info.EPwmTimerIntCount = 0; - epwm3_info.EPwmRegHandle = &EPwm3Regs; - epwm3_info.EPwmMaxCMPA = EPWM3_MAX_CMPA; - epwm3_info.EPwmMinCMPA = EPWM3_MIN_CMPA; - epwm3_info.EPwmMaxCMPB = EPWM3_MAX_CMPB; - epwm3_info.EPwmMinCMPB = EPWM3_MIN_CMPB; -} - - -void update_compare(EPWM_INFO *epwm_info) -{ - - - // Every 10'th interrupt, change the CMPA/CMPB values - if(epwm_info->EPwmTimerIntCount == 10) - { - epwm_info->EPwmTimerIntCount = 0; - - // If we were increasing CMPA, check to see if - // we reached the max value. If not, increase CMPA - // else, change directions and decrease CMPA - if(epwm_info->EPwm_CMPA_Direction == EPWM_CMP_UP) - { - if(epwm_info->EPwmRegHandle->CMPA.half.CMPA < epwm_info->EPwmMaxCMPA) - { - epwm_info->EPwmRegHandle->CMPA.half.CMPA++; - } - else - { - epwm_info->EPwm_CMPA_Direction = EPWM_CMP_DOWN; - epwm_info->EPwmRegHandle->CMPA.half.CMPA--; - } - } - - // If we were decreasing CMPA, check to see if - // we reached the min value. If not, decrease CMPA - // else, change directions and increase CMPA - else - { - if(epwm_info->EPwmRegHandle->CMPA.half.CMPA == epwm_info->EPwmMinCMPA) - { - epwm_info->EPwm_CMPA_Direction = EPWM_CMP_UP; - epwm_info->EPwmRegHandle->CMPA.half.CMPA++; - } - else - { - epwm_info->EPwmRegHandle->CMPA.half.CMPA--; - } - } - - // If we were increasing CMPB, check to see if - // we reached the max value. If not, increase CMPB - // else, change directions and decrease CMPB - if(epwm_info->EPwm_CMPB_Direction == EPWM_CMP_UP) - { - if(epwm_info->EPwmRegHandle->CMPB < epwm_info->EPwmMaxCMPB) - { - epwm_info->EPwmRegHandle->CMPB++; - } - else - { - epwm_info->EPwm_CMPB_Direction = EPWM_CMP_DOWN; - epwm_info->EPwmRegHandle->CMPB--; - } - } - - // If we were decreasing CMPB, check to see if - // we reached the min value. If not, decrease CMPB - // else, change directions and increase CMPB - - else - { - if(epwm_info->EPwmRegHandle->CMPB == epwm_info->EPwmMinCMPB) - { - epwm_info->EPwm_CMPB_Direction = EPWM_CMP_UP; - epwm_info->EPwmRegHandle->CMPB++; - } - else - { - epwm_info->EPwmRegHandle->CMPB--; - } - } - } - else - { - epwm_info->EPwmTimerIntCount++; - } - - return; -} - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/epwm_up_aq/Example_2833xEPwmUpAQ.gel b/Source/External/v120/DSP2833x_examples/epwm_up_aq/Example_2833xEPwmUpAQ.gel deleted file mode 100644 index 6ac8e2c..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_up_aq/Example_2833xEPwmUpAQ.gel +++ /dev/null @@ -1,41 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:14:13 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ePWM UP AQ" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xEPwmUpAQ.pjt"); - GEL_ProjectBuild("Example_2833xEPwmUpAQ.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xEPwmUpAQ.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/epwm_up_aq/Example_2833xEPwmUpAQ.pjt b/Source/External/v120/DSP2833x_examples/epwm_up_aq/Example_2833xEPwmUpAQ.pjt deleted file mode 100644 index 45a227e..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_up_aq/Example_2833xEPwmUpAQ.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_up_aq\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xEPwmUpAQ.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_up_aq\Debug" -fs"C:\tidcs\c28\DSP2833x\006\DSP2833x_examples\epwm_asymmetic_aq\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_up_aq\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xEPwmUpAQ.map" -o".\Debug\Example_2833xEPwmUpAQ.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xEPwmUpAQ.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/epwm_updown_aq/Example_2833xEPwmUpDownAQ.c b/Source/External/v120/DSP2833x_examples/epwm_updown_aq/Example_2833xEPwmUpDownAQ.c deleted file mode 100644 index 6ccdbb7..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_updown_aq/Example_2833xEPwmUpDownAQ.c +++ /dev/null @@ -1,499 +0,0 @@ -// TI File $Revision: /main/8 $ -// Checkin $Date: April 21, 2008 15:41:53 $ -//########################################################################### -// -// FILE: Example_2833xEPwmUpDownAQ.c -// -// TITLE: Action Qualifier Module - Using up/down count -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Monitor ePWM1-ePWM3 pins on an oscilloscope as described -// below. -// -// EPWM1A is on GPIO0 -// EPWM1B is on GPIO1 -// -// EPWM2A is on GPIO2 -// EPWM2B is on GPIO3 -// -// EPWM3A is on GPIO4 -// EPWM3B is on GPIO5 -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example configures ePWM1, ePWM2, ePWM3 to produce an -// waveform with independant modulation on EPWMxA and -// EPWMxB. -// -// The compare values CMPA and CMPB are modified within the ePWM's ISR -// -// The TB counter is in up/down count mode for this example. -// -// View the EPWM1A/B, EPWM2A/B and EPWM3A/B waveforms -// via an oscilloscope -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -typedef struct -{ - volatile struct EPWM_REGS *EPwmRegHandle; - Uint16 EPwm_CMPA_Direction; - Uint16 EPwm_CMPB_Direction; - Uint16 EPwmTimerIntCount; - Uint16 EPwmMaxCMPA; - Uint16 EPwmMinCMPA; - Uint16 EPwmMaxCMPB; - Uint16 EPwmMinCMPB; -}EPWM_INFO; - - -// Prototype statements for functions found within this file. -void InitEPwm1Example(void); -void InitEPwm2Example(void); -void InitEPwm3Example(void); -interrupt void epwm1_isr(void); -interrupt void epwm2_isr(void); -interrupt void epwm3_isr(void); -void update_compare(EPWM_INFO*); - -// Global variables used in this example -EPWM_INFO epwm1_info; -EPWM_INFO epwm2_info; -EPWM_INFO epwm3_info; - -// Configure the period for each timer -#define EPWM1_TIMER_TBPRD 2000 // Period register -#define EPWM1_MAX_CMPA 1950 -#define EPWM1_MIN_CMPA 50 -#define EPWM1_MAX_CMPB 1950 -#define EPWM1_MIN_CMPB 50 - -#define EPWM2_TIMER_TBPRD 2000 // Period register -#define EPWM2_MAX_CMPA 1950 -#define EPWM2_MIN_CMPA 50 -#define EPWM2_MAX_CMPB 1950 -#define EPWM2_MIN_CMPB 50 - -#define EPWM3_TIMER_TBPRD 2000 // Period register -#define EPWM3_MAX_CMPA 950 -#define EPWM3_MIN_CMPA 50 -#define EPWM3_MAX_CMPB 1950 -#define EPWM3_MIN_CMPB 1050 - -// To keep track of which way the compare value is moving -#define EPWM_CMP_UP 1 -#define EPWM_CMP_DOWN 0 - -void main(void) -{ -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// For this case just init GPIO pins for ePWM1, ePWM2, ePWM3 -// These functions are in the DSP2833x_EPwm.c file - InitEPwm1Gpio(); - InitEPwm2Gpio(); - InitEPwm3Gpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.EPWM1_INT = &epwm1_isr; - PieVectTable.EPWM2_INT = &epwm2_isr; - PieVectTable.EPWM3_INT = &epwm3_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// For this example, only initialize the ePWM - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; - EDIS; - - InitEPwm1Example(); - InitEPwm2Example(); - InitEPwm3Example(); - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; - EDIS; - -// Step 5. User specific code, enable interrupts: - -// Enable CPU INT3 which is connected to EPWM1-3 INT: - IER |= M_INT3; - -// Enable EPWM INTn in the PIE: Group 3 interrupt 1-3 - PieCtrlRegs.PIEIER3.bit.INTx1 = 1; - PieCtrlRegs.PIEIER3.bit.INTx2 = 1; - PieCtrlRegs.PIEIER3.bit.INTx3 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;) - { - asm(" NOP"); - } - -} - - -interrupt void epwm1_isr(void) -{ - // Update the CMPA and CMPB values - update_compare(&epwm1_info); - - // Clear INT flag for this timer - EPwm1Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - - -interrupt void epwm2_isr(void) -{ - - // Update the CMPA and CMPB values - update_compare(&epwm2_info); - - // Clear INT flag for this timer - EPwm2Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -interrupt void epwm3_isr(void) -{ - - // Update the CMPA and CMPB values - update_compare(&epwm3_info); - - // Clear INT flag for this timer - EPwm3Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - - -void InitEPwm1Example() -{ - - // Setup TBCLK - EPwm1Regs.TBPRD = EPWM1_TIMER_TBPRD; // Set timer period 801 TBCLKs - EPwm1Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm1Regs.TBCTR = 0x0000; // Clear counter - - // Set Compare values - EPwm1Regs.CMPA.half.CMPA = EPWM1_MIN_CMPA; // Set compare A value - EPwm1Regs.CMPB = EPWM1_MAX_CMPB; // Set Compare B value - - // Setup counter mode - EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up - EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT - EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - // Setup shadowing - EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // Load on Zero - EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - - - // Set actions - EPwm1Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM1A on event A, up count - EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR; // Clear PWM1A on event A, down count - - EPwm1Regs.AQCTLB.bit.CBU = AQ_SET; // Set PWM1B on event B, up count - EPwm1Regs.AQCTLB.bit.CBD = AQ_CLEAR; // Clear PWM1B on event B, down count - - // Interrupt where we will change the Compare Values - EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm1Regs.ETSEL.bit.INTEN = 1; // Enable INT - EPwm1Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - - // Information this example uses to keep track - // of the direction the CMPA/CMPB values are - // moving, the min and max allowed values and - // a pointer to the correct ePWM registers - epwm1_info.EPwm_CMPA_Direction = EPWM_CMP_UP; // Start by increasing CMPA & - epwm1_info.EPwm_CMPB_Direction = EPWM_CMP_DOWN; // decreasing CMPB - epwm1_info.EPwmTimerIntCount = 0; // Zero the interrupt counter - epwm1_info.EPwmRegHandle = &EPwm1Regs; // Set the pointer to the ePWM module - epwm1_info.EPwmMaxCMPA = EPWM1_MAX_CMPA; // Setup min/max CMPA/CMPB values - epwm1_info.EPwmMinCMPA = EPWM1_MIN_CMPA; - epwm1_info.EPwmMaxCMPB = EPWM1_MAX_CMPB; - epwm1_info.EPwmMinCMPB = EPWM1_MIN_CMPB; - -} - - -void InitEPwm2Example() -{ - - - // Setup TBCLK - EPwm2Regs.TBPRD = EPWM2_TIMER_TBPRD; // Set timer period 801 TBCLKs - EPwm2Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm2Regs.TBCTR = 0x0000; // Clear counter - - // Set Compare values - EPwm2Regs.CMPA.half.CMPA = EPWM2_MIN_CMPA; // Set compare A value - EPwm2Regs.CMPB = EPWM2_MIN_CMPB; // Set Compare B value - - // Setup counter mode - EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up - EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT - EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - // Setup shadowing - EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // Load on Zero - EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - - - // Set actions - EPwm2Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM2A on event A, up count - EPwm2Regs.AQCTLA.bit.CBD = AQ_CLEAR; // Clear PWM2A on event B, down count - - EPwm2Regs.AQCTLB.bit.ZRO = AQ_CLEAR; // Clear PWM2B on zero - EPwm2Regs.AQCTLB.bit.PRD = AQ_SET ; // Set PWM2B on period - - // Interrupt where we will change the Compare Values - EPwm2Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm2Regs.ETSEL.bit.INTEN = 1; // Enable INT - EPwm2Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - - // Information this example uses to keep track - // of the direction the CMPA/CMPB values are - // moving, the min and max allowed values and - // a pointer to the correct ePWM registers - epwm2_info.EPwm_CMPA_Direction = EPWM_CMP_UP; // Start by increasing CMPA & - epwm2_info.EPwm_CMPB_Direction = EPWM_CMP_UP; // increasing CMPB - epwm2_info.EPwmTimerIntCount = 0; // Zero the interrupt counter - epwm2_info.EPwmRegHandle = &EPwm2Regs; // Set the pointer to the ePWM module - epwm2_info.EPwmMaxCMPA = EPWM2_MAX_CMPA; // Setup min/max CMPA/CMPB values - epwm2_info.EPwmMinCMPA = EPWM2_MIN_CMPA; - epwm2_info.EPwmMaxCMPB = EPWM2_MAX_CMPB; - epwm2_info.EPwmMinCMPB = EPWM2_MIN_CMPB; - -} - -void InitEPwm3Example(void) -{ - - - // Setup TBCLK - EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;// Count up/down - EPwm3Regs.TBPRD = EPWM3_TIMER_TBPRD; // Set timer period - EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwm3Regs.TBPHS.half.TBPHS = 0x0000; // Phase is 0 - EPwm3Regs.TBCTR = 0x0000; // Clear counter - EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT - EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - // Setup shadow register load on ZERO - EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - - // Set Compare values - EPwm3Regs.CMPA.half.CMPA = EPWM3_MIN_CMPA; // Set compare A value - EPwm3Regs.CMPB = EPWM3_MAX_CMPB; // Set Compare B value - - // Set Actions - EPwm3Regs.AQCTLA.bit.PRD = AQ_SET; // Set PWM3A on period - EPwm3Regs.AQCTLA.bit.CBD = AQ_CLEAR; // Clear PWM3A on event B, down count - - EPwm3Regs.AQCTLB.bit.PRD = AQ_CLEAR; // Clear PWM3A on period - EPwm3Regs.AQCTLB.bit.CAU = AQ_SET; // Set PWM3A on event A, up count - - // Interrupt where we will change the Compare Values - EPwm3Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm3Regs.ETSEL.bit.INTEN = 1; // Enable INT - EPwm3Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - - // Information this example uses to keep track - // of the direction the CMPA/CMPB values are - // moving, the min and max allowed values and - // a pointer to the correct ePWM registers - epwm3_info.EPwm_CMPA_Direction = EPWM_CMP_UP; // Start by increasing CMPA & - epwm3_info.EPwm_CMPB_Direction = EPWM_CMP_DOWN; // decreasing CMPB - epwm3_info.EPwmTimerIntCount = 0; // Zero the interrupt counter - epwm3_info.EPwmRegHandle = &EPwm3Regs; // Set the pointer to the ePWM module - epwm3_info.EPwmMaxCMPA = EPWM3_MAX_CMPA; // Setup min/max CMPA/CMPB values - epwm3_info.EPwmMinCMPA = EPWM3_MIN_CMPA; - epwm3_info.EPwmMaxCMPB = EPWM3_MAX_CMPB; - epwm3_info.EPwmMinCMPB = EPWM3_MIN_CMPB; - -} - - - -void update_compare(EPWM_INFO *epwm_info) -{ - - - // Every 10'th interrupt, change the CMPA/CMPB values - if(epwm_info->EPwmTimerIntCount == 10) - { - epwm_info->EPwmTimerIntCount = 0; - - // If we were increasing CMPA, check to see if - // we reached the max value. If not, increase CMPA - // else, change directions and decrease CMPA - if(epwm_info->EPwm_CMPA_Direction == EPWM_CMP_UP) - { - if(epwm_info->EPwmRegHandle->CMPA.half.CMPA < epwm_info->EPwmMaxCMPA) - { - epwm_info->EPwmRegHandle->CMPA.half.CMPA++; - } - else - { - epwm_info->EPwm_CMPA_Direction = EPWM_CMP_DOWN; - epwm_info->EPwmRegHandle->CMPA.half.CMPA--; - } - } - - // If we were decreasing CMPA, check to see if - // we reached the min value. If not, decrease CMPA - // else, change directions and increase CMPA - else - { - if(epwm_info->EPwmRegHandle->CMPA.half.CMPA == epwm_info->EPwmMinCMPA) - { - epwm_info->EPwm_CMPA_Direction = EPWM_CMP_UP; - epwm_info->EPwmRegHandle->CMPA.half.CMPA++; - } - else - { - epwm_info->EPwmRegHandle->CMPA.half.CMPA--; - } - } - - // If we were increasing CMPB, check to see if - // we reached the max value. If not, increase CMPB - // else, change directions and decrease CMPB - if(epwm_info->EPwm_CMPB_Direction == EPWM_CMP_UP) - { - if(epwm_info->EPwmRegHandle->CMPB < epwm_info->EPwmMaxCMPB) - { - epwm_info->EPwmRegHandle->CMPB++; - } - else - { - epwm_info->EPwm_CMPB_Direction = EPWM_CMP_DOWN; - epwm_info->EPwmRegHandle->CMPB--; - } - } - - // If we were decreasing CMPB, check to see if - // we reached the min value. If not, decrease CMPB - // else, change directions and increase CMPB - - else - { - if(epwm_info->EPwmRegHandle->CMPB == epwm_info->EPwmMinCMPB) - { - epwm_info->EPwm_CMPB_Direction = EPWM_CMP_UP; - epwm_info->EPwmRegHandle->CMPB++; - } - else - { - epwm_info->EPwmRegHandle->CMPB--; - } - } - } - else - { - epwm_info->EPwmTimerIntCount++; - } - - return; -} - - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/epwm_updown_aq/Example_2833xEPwmUpDownAQ.gel b/Source/External/v120/DSP2833x_examples/epwm_updown_aq/Example_2833xEPwmUpDownAQ.gel deleted file mode 100644 index 017de80..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_updown_aq/Example_2833xEPwmUpDownAQ.gel +++ /dev/null @@ -1,40 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:14:28 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ePWM UpDown AQ" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xEPwmUpDownAQ.pjt"); - GEL_ProjectBuild("Example_2833xEPwmUpDownAQ.pjt"); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xEPwmUpDownAQ.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/epwm_updown_aq/Example_2833xEPwmUpDownAQ.pjt b/Source/External/v120/DSP2833x_examples/epwm_updown_aq/Example_2833xEPwmUpDownAQ.pjt deleted file mode 100644 index 56449fe..0000000 --- a/Source/External/v120/DSP2833x_examples/epwm_updown_aq/Example_2833xEPwmUpDownAQ.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_updown_aq\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xEPwmUpDownAQ.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_updown_aq\Debug" -fs"C:\tidcs\c28\DSP2833x\006\DSP2833x_examples\epwm_Symmetric_aq\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\epwm_updown_aq\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xEPwmUpDownAQ.map" -o".\Debug\Example_2833xEPwmUpDownAQ.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xEPwmUpDownAQ.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_2833xEqep_freqcal.c b/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_2833xEqep_freqcal.c deleted file mode 100644 index 443b1b7..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_2833xEqep_freqcal.c +++ /dev/null @@ -1,178 +0,0 @@ -// TI File $Revision: /main/12 $ -// Checkin $Date: July 10, 2008 11:07:26 $ -//########################################################################### -// -// FILE: Example_2833xEqep_freqcal.c -// -// TITLE: Frequency measurement using EQEP peripheral -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// As supplied, this project is configured for "boot to SARAM" operation. -// -// Test requires the following hardware connections -// -// GPIO20/EQEP1A <- External input - connect to GPIO0/EPWM1A -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This test will provide frequency measurement using capture unit (freqhz_pr) -// and unit time out (freqhz_fr). The EPWM1A frequency will be measured by the EQEP. -// -// By default, EPWM1A is configured to generate a frequency of 5 kHz - measured -// frequency found in freqhz_pr and freqhz_fr should be 5000. -// -// See DESCRIPTION in Example_freqcal.c for more details on the frequency calculation -// performed in this example. -// -// In addition to this file, the following files must be included in this project: -// Example_freqcal.c - includes all eQEP functions -// Example_EPwmSetup.c - sets up EPWM1A for use with this example -// Example_freqcalh - includes initialization values for frequency structure. -// -// * Maximum frequency is configured to 10Khz (BaseFreq) -// * Minimum frequency is assumed at 50Hz for capture pre-scalar selection -// -// SPEED_FR: High Frequency Measurement is obtained by counting the external input pulses -// for 10ms (unit timer set to 100Hz). -// -// SPEED_FR = { (Count Delta)/10ms } -// -// -// SPEED_PR: Low Frequency Measurement is obtained by measuring time period of input edges. -// Time measurement is averaged over 64edges for better results and -// capture unit performs the time measurement using pre-scaled SYSCLK -// -// Note that pre-scaler for capture unit clock is selected such that -// capture timer does not overflow at the required minimum frequency -// -// This example runs forever until the user stops it. -// -// -// Watch Variables: freq.freqhz_fr - Frequency measurement using position counter/unit time out -// freq.freqhz_pr - Frequency measurement using capture unit -// -//########################################################################### -// Original Author: SD -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "Example_freqcal.h" // Example specific include file - -void EPwmSetup(void); -interrupt void prdTick(void); - -FREQCAL freq=FREQCAL_DEFAULTS; - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// Only init the GPIO for EQep1 and EPwm1 in this case -// This function is found in DSP2833x_EQep.c - InitEQep1Gpio(); - InitEPwm1Gpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.EPWM1_INT= &prdTick; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// Example specific ePWM setup. This function is found -// in Example_EPwmSetup.c - EPwmSetup(); - -// Step 5. User specific code, enable interrupts: -// Enable CPU INT1 which is connected to CPU-Timer 0: - IER |= M_INT3; - -// Enable TINT0 in the PIE: Group 3 interrupt 1 - PieCtrlRegs.PIEIER3.bit.INTx1 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - - freq.init(&freq); // Initializes eQEP for frequency calculation in - // FREQCAL_Init(void)function in Example_EPwmSetup.c - for(;;) - { - } - -} - -interrupt void prdTick(void) // Interrupts once per ePWM period -{ - freq.calc(&freq); // Checks for event and calculates frequency in FREQCAL_Calc(FREQCAL *p) - // function in Example_EPwmSetup.c - // Acknowledge this interrupt to receive more interrupts from group 1 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - EPwm1Regs.ETCLR.bit.INT=1; -} - diff --git a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_2833xEqep_freqcal.gel b/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_2833xEqep_freqcal.gel deleted file mode 100644 index e76a9e2..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_2833xEqep_freqcal.gel +++ /dev/null @@ -1,37 +0,0 @@ -/* -// TI File $Revision: /main/6 $ -// Checkin $Date: August 9, 2007 17:14:43 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// projectn. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x eQEP Frequency Calc" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xEqep_freqcal.pjt"); - GEL_ProjectBuild("Example_2833xEqep_freqcal.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xEqep_freqcal.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("freq.freqhz_fr",,""); - GEL_WatchAdd("freq.freqhz_pr",,""); - GEL_WatchAdd("EQep1Regs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_2833xEqep_freqcal.pjt b/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_2833xEqep_freqcal.pjt deleted file mode 100644 index 46676a4..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_2833xEqep_freqcal.pjt +++ /dev/null @@ -1,49 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\eqep_freqcal\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EQep.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="..\..\DSP2833x_common\lib\IQmath_fpu32.lib" -Source="Example_2833xEqep_freqcal.c" -Source="Example_EPwmSetup.c" -Source="Example_freqcal.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\eqep_freqcal\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\eqep_freqcal\Debug" -i".." -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -i"..\..\DSP2833x_common\lib" -d"_DEBUG" -d"LARGE_MODEL" -ml -mt -v28 --float_support=fpu32 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\eqep_freqcal\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xEqep_freqcal.map" -o".\Debug\Example_2833xEqep_freqcal.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xEqep_freqcal.out" -x \ No newline at end of file diff --git a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_EPwmSetup.c b/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_EPwmSetup.c deleted file mode 100644 index 9f5aa7f..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_EPwmSetup.c +++ /dev/null @@ -1,76 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: April 21, 2008 15:42:03 $ -//########################################################################### -// -// FILE: Example_EpwmSetup.c -// -// TITLE: Frequency measurement using EQEP peripheral -// -// DESCRIPTION: -// -// This file contains source for the ePWM initialization for the -// freq calculation module -// -//########################################################################### -// Original Author: SD -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "Example_freqcal.h" // Example specific include file - -#if (CPU_FRQ_150MHZ) - #define CPU_CLK 150e6 -#endif -#if (CPU_FRQ_100MHZ) - #define CPU_CLK 100e6 -#endif -#define PWM_CLK 5e3 // If diff freq. desired, change freq here. -#define SP CPU_CLK/(2*PWM_CLK) -#define TBCTLVAL 0x200E // Up-down cnt, timebase = SYSCLKOUT - - -void EPwmSetup() -{ - InitEPwm1Gpio(); - EPwm1Regs.TBSTS.all=0; - EPwm1Regs.TBPHS.half.TBPHS=0; - EPwm1Regs.TBCTR=0; - - EPwm1Regs.CMPCTL.all=0x50; // Immediate mode for CMPA and CMPB - EPwm1Regs.CMPA.half.CMPA =SP/2; - EPwm1Regs.CMPB=0; - - EPwm1Regs.AQCTLA.all=0x60; // EPWMxA = 1 when CTR=CMPA and counter inc - // EPWMxA = 0 when CTR=CMPA and counter dec - EPwm1Regs.AQCTLB.all=0; - EPwm1Regs.AQSFRC.all=0; - EPwm1Regs.AQCSFRC.all=0; - - EPwm1Regs.DBCTL.all=0xb; // EPWMxB is inverted - EPwm1Regs.DBRED=0; - EPwm1Regs.DBFED=0; - - EPwm1Regs.TZSEL.all=0; - EPwm1Regs.TZCTL.all=0; - EPwm1Regs.TZEINT.all=0; - EPwm1Regs.TZFLG.all=0; - EPwm1Regs.TZCLR.all=0; - EPwm1Regs.TZFRC.all=0; - - EPwm1Regs.ETSEL.all=9; // Interrupt when TBCTR = 0x0000 - EPwm1Regs.ETPS.all=1; // Interrupt on first event - EPwm1Regs.ETFLG.all=0; - EPwm1Regs.ETCLR.all=0; - EPwm1Regs.ETFRC.all=0; - - EPwm1Regs.PCCTL.all=0; - - EPwm1Regs.TBCTL.all=0x0010+TBCTLVAL; // Enable Timer - EPwm1Regs.TBPRD=SP; - -} - - diff --git a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_freqcal.c b/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_freqcal.c deleted file mode 100644 index 500705e..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_freqcal.c +++ /dev/null @@ -1,186 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: April 21, 2008 15:42:07 $ -//########################################################################### -// -// FILE: Example_freqcal.c -// -// TITLE: Frequency measurement using EQEP peripheral -// -// DESCRIPTION: -// -// This file includes the EQEP initialization and frequency calcuation -// functions called by Example_2833xEqep_freqcal.c. The frequency calculation -// steps performed by FREQCAL_Calc()at SYSCLKOUT = 150 MHz and 100 MHz are -// described below: -// -// For 150 MHz Operation: -// ---------------------- -// -// 1. This program calculates: **freqhz_fr** -// freqhz_fr or v = (x2-x1)/T - Equation 1 -// -// If max/base freq = 10kHz: 10kHz = (x2-x1)/(2/100Hz) - Equation 2 -// max (x2-x1) = 200 counts = freqScaler_fr -// Note: T = 2/100Hz. 2 is from (x2-x1)/2 - because QPOSCNT counts 2 edges per cycle -// (rising and falling) -// -// If both sides of Equation 2 are divided by 10 kHz, then: -// 1 = (x2-x1)/[10kHz*(2/100Hz)] where [10kHz* (2/100Hz)] = 200 -// Because (x2-x1) must be <200 (max), -// (x2-x1)/200 < 1 for all frequencies less than max -// freq_fr = (x2-x1)/200 or (x2-x1)/[10kHz*(2/100Hz)] - Equation 3 -// -// To get back to original velocity equation, Equation 1, multiply Equation 3 by 10 kHz -// freqhz_fr (or velocity) = 10kHz*(x2-x1)/[10kHz*(2/100Hz)] -// = (x2-x1)/(2/100Hz) - Final equation -// -// 2. min freq = 1 count/(2/100Hz) = 50 Hz -// -// 3. **freqhz_pr** -// freqhz_pr or v = X/(t2-t1) - Equation 4 -// -// If max/base freq = 10kHz: 10kHz = (4/2)/T = 4/2T -// where 4 = QCAPCTL [UPPS] (Unit timeout - once every 4 edges) -// 2 = divide by 2 because QPOSCNT counts 2 edges per cycle (rising and falling) -// T = time in seconds -// = t2-t1/(150MHz/128), t2-t1= # of QCAPCLK cycles, and -// 1 QCAPCLK cycle = 1/(150MHz/128) -// = QCPRDLAT -// -// So: 10 kHz = 4(150MHz/128)/2(t2-t1) -// t2-t1 = 4(150MHz/128)/(10kHz*2) = (150MHz/128)/(2*10kHz/4) - Equation 5 -// = 234 QCAPCLK cycles = maximum (t2-t1) = freqScaler_pr -// -// Divide both sides by (t2-t1), and: -// 1 = 234/(t2-t1) = [150MHz/128)/(2*10kHz/4)]/(t2-t1) -// Because (t2-t1) must be <234 (max). -// 234/(t2-t1) < 1 for all frequencies less than max -// freq_pr = 234/(t2-t1) or [150MHz/128)/(2*10kHz/4)]/(t2-t1) - Equation 6 -// Now within velocity limits, to get back to original velocity equation, Equation 1, -// multiply Equation 6 by 10 kHz: -// freqhz_fr (or velocity) = 10kHz*[150MHz/128)/(2*10kHz/4)]/(t2-t1) -// = (105MHz/128)*4/[2(t2-t1)] -// or 4/[2*(t2-t1)(QCPRDLAT)] - Final Equation -// -// -// For 100 MHz Operation: -// ---------------------- -// -// The same calculations as above are performed, but with 100 MHz -// instead of 150MHz when calculating freqhz_pr, and at UPPS of 8 instead of 4. -// The value for freqScaler_pr becomes: (100MHz/128)/(2*10kHz/8) = 313 -// More detailed calculation results can be found in the Example_freqcal.xls -// spreadsheet included in the example folder. -// -// -// This file contains source for the freq calculation module -// -//########################################################################### -// Original Author: SD -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "Example_freqcal.h" // Example specific include file - -void FREQCAL_Init(void) -{ - #if (CPU_FRQ_150MHZ) - EQep1Regs.QUPRD=1500000; // Unit Timer for 100Hz at 150MHz SYSCLKOUT - #endif - #if (CPU_FRQ_100MHZ) - EQep1Regs.QUPRD=1000000; // Unit Timer for 100Hz at 100MHz SYSCLKOUT - #endif - - EQep1Regs.QDECCTL.bit.QSRC=2; // Up count mode (freq. measurement) - EQep1Regs.QDECCTL.bit.XCR=0; // 2x resolution (cnt falling and rising edges) - - EQep1Regs.QEPCTL.bit.FREE_SOFT=2; - EQep1Regs.QEPCTL.bit.PCRM=00; // QPOSCNT reset on index evnt - EQep1Regs.QEPCTL.bit.UTE=1; // Unit Timer Enable - EQep1Regs.QEPCTL.bit.QCLM=1; // Latch on unit time out - EQep1Regs.QPOSMAX=0xffffffff; - EQep1Regs.QEPCTL.bit.QPEN=1; // QEP enable - - #if (CPU_FRQ_150MHZ) - EQep1Regs.QCAPCTL.bit.UPPS=2; // 1/4 for unit position at 150MHz SYSCLKOUT - #endif - #if (CPU_FRQ_100MHZ) - EQep1Regs.QCAPCTL.bit.UPPS=3; // 1/8 for unit position at 100MHz SYSCLKOUT - #endif - - EQep1Regs.QCAPCTL.bit.CCPS=7; // 1/128 for CAP clock - EQep1Regs.QCAPCTL.bit.CEN=1; // QEP Capture Enable - -} - -void FREQCAL_Calc(FREQCAL *p) -{ - unsigned long tmp; - _iq newp,oldp; - - -//**** Freq Calcultation using QEP position counter ****// -// Check unit Time out-event for speed calculation: -// Unit Timer is configured for 100Hz in INIT function - -// For a more detailed explanation of the calculation, read -// the description at the top of this file - - if(EQep1Regs.QFLG.bit.UTO==1) // Unit Timeout event - { - /** Differentiator **/ - newp=EQep1Regs.QPOSLAT; // Latched POSCNT value - oldp=p->oldpos; - - if (newp>oldp) - tmp = newp - oldp; // x2-x1 in v=(x2-x1)/T equation - else - tmp = (0xFFFFFFFF-oldp)+newp; - - p->freq_fr = _IQdiv(tmp,p->freqScaler_fr); // p->freq_fr = (x2-x1)/(T*10KHz) - tmp=p->freq_fr; - - if (tmp>=_IQ(1)) // is freq greater than max freq (10KHz for this example)? - p->freq_fr = _IQ(1); - else - p->freq_fr = tmp; - - p->freqhz_fr = _IQmpy(p->BaseFreq,p->freq_fr); // Q0 = Q0*GLOBAL_Q => _IQXmpy(), X = GLOBAL_Q - // p->freqhz_fr = (p->freq_fr)*10kHz = (x2-x1)/T - - // Update position counter - p->oldpos = newp; - //======================================= - - EQep1Regs.QCLR.bit.UTO=1; // Clear interrupt flag - } - -//**** Freq Calcultation using QEP capture counter ****// - if(EQep1Regs.QEPSTS.bit.UPEVNT==1) // Unit Position Event - { - if(EQep1Regs.QEPSTS.bit.COEF==0) // No Capture overflow - tmp=(unsigned long)EQep1Regs.QCPRDLAT; - else // Capture overflow, saturate the result - tmp=0xFFFF; - - p->freq_pr = _IQdiv(p->freqScaler_pr,tmp); // p->freq_pr = X/[(t2-t1)*10KHz] - tmp=p->freq_pr; - - if (tmp>_IQ(1)) - p->freq_pr = _IQ(1); - else - p->freq_pr = tmp; - - p->freqhz_pr = _IQmpy(p->BaseFreq,p->freq_pr); // Q0 = Q0*GLOBAL_Q => _IQXmpy(), X = GLOBAL_Q - // p->freqhz_pr =( p->freq_pr)*10kHz = X/(t2-t1) - EQep1Regs.QEPSTS.all=0x88; // Clear Unit position event flag - // Clear overflow error flag - } - - -} - - diff --git a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_freqcal.h b/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_freqcal.h deleted file mode 100644 index 874e66f..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_freqcal.h +++ /dev/null @@ -1,112 +0,0 @@ -// TI File $Revision: /main/6 $ -// Checkin $Date: August 9, 2007 17:14:59 $ -//########################################################################### -// -// FILE: Example_freqcal.h -// -// TITLE: Frequency measurement using EQEP peripheral -// -// DESCRIPTION: -// -// Header file containing data type and object definitions and -// initializers. -// -//########################################################################### -// Original Author: SD -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#ifndef __FREQCAL__ -#define __FREQCAL__ - -#include "IQmathLib.h" // Include header for IQmath library -/*----------------------------------------------------------------------------- -Define the structure of the FREQCAL Object ------------------------------------------------------------------------------*/ -typedef struct { - Uint32 freqScaler_pr; // Parameter : Scaler converting 1/N cycles to a GLOBAL_Q freq (Q0) - independently with global Q - Uint32 freqScaler_fr; // Parameter : Scaler converting 1/N cycles to a GLOBAL_Q freq (Q0) - independently with global Q - Uint32 BaseFreq; // Parameter : Maximum Freq - _iq freq_pr; // Output : Freq in per-unit using capture unit - int32 freqhz_pr; // Output: Freq in Hz, measured using Capture unit - Uint32 oldpos; - _iq freq_fr; // Output : Freq in per-unit using position counter - int32 freqhz_fr; // Output: Freq in Hz, measured using Capture unit - void (*init)(); // Pointer to the init funcion - void (*calc)(); // Pointer to the calc funtion - } FREQCAL; - -/*----------------------------------------------------------------------------- -Define a QEP_handle ------------------------------------------------------------------------------*/ -typedef FREQCAL *FREQCAL_handle; - -/*----------------------------------------------------------------------------- -Default initializer for the FREQCAL Object. ------------------------------------------------------------------------------*/ - - -#if (CPU_FRQ_150MHZ) - #define FREQCAL_DEFAULTS {\ - 234,200,10000,0,0,\ - 0,0,0,\ - (void (*)(long))FREQCAL_Init,\ - (void (*)(long))FREQCAL_Calc } -#endif -#if (CPU_FRQ_100MHZ) - #define FREQCAL_DEFAULTS {\ - 313,200,10000,0,0,\ - 0,0,0,\ - (void (*)(long))FREQCAL_Init,\ - (void (*)(long))FREQCAL_Calc } -#endif - -/*----------------------------------------------------------------------------- -Prototypes for the functions in Example_freqcal.c ------------------------------------------------------------------------------*/ -void FREQCAL_Init(void); -void FREQCAL_Calc(FREQCAL_handle); - -#endif /* __FREQCAL__ */ - -/* Notes: - -For 150 MHz Operation: ----------------------- -1. freqScaler_fr - v = (x2-x1)/T - Equation 1 - - If max/base freq = 10kHz: 10kHz = (x2-x1)/(2/100Hz) - Equation 2 - max (x2-x1) = 200 counts = freqScaler_fr - Note: T = 2/100Hz. 2 is from (x2-x1)/2 - because QPOSCNT counts 2 edges per cycle - (rising and falling) - freqhz_fr = 200 default - -2. min freq = 1 count/(2/100Hz) = 50 Hz - -3. freqScaler_pr - v = X/(t2-t1) - Equation 4 - - If max/base freq = 10kHz: 10kHz = 8/(2T) - where 4 = QCAPCTL [UPPS] (Unit timeout - once every 4 edges) - T = time in seconds = t2-t1/(150MHz/128), t2-t1= # of QCAPCLK cycles, and - 1 QCAPCLK cycle = 1/(150MHz/128) - = QCPRDLAT - So: 10 kHz = 4(150MHz/128)/2(t2-t1) - t2-t1 = 4(150MHz/128)/(10kHz*2) = (150MHz/128)/(2*10kHz/4) - Equation 5 - = 234 seconds = maximum (t2-t1) = freqScaler_pr - freqhz_pr = 234 default - - -For 100 MHz Operation: ----------------------- - -The same calculations as above are performed, but with 100 MHz -instead of 150MHz when calculation freqhr_pr, and at UPPS of 8 instead of 4. -The value for freqScaler_pr becomes: (100MHz/128)/(2*10kHz/8) = 313 -More detailed calculation results can be found in the Example_freqcal.xls -spreadsheet included in the example folder. - -*/ diff --git a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_freqcal.xls b/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_freqcal.xls deleted file mode 100644 index a7128d2..0000000 Binary files a/Source/External/v120/DSP2833x_examples/eqep_freqcal/Example_freqcal.xls and /dev/null differ diff --git a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_2833xEqep_pos_speed.c b/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_2833xEqep_pos_speed.c deleted file mode 100644 index 9475939..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_2833xEqep_pos_speed.c +++ /dev/null @@ -1,201 +0,0 @@ -// TI File $Revision: /main/11 $ -// Checkin $Date: July 10, 2008 11:06:28 $ -//########################################################################### -// -// FILE: Example_2833xEqep_pos_speed_.c -// -// TITLE: EQEP Speed and Position measurement -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Test requires the following hardware connections from EPWM1 and -// GPIO pins (simulating QEP sensor) to QEP peripheral -// -// GPIO20/EQEP1A <- GPIO0/EPWM1A (simulates EQEP Phase A signal) -// GPIO21/EQEP1B <- GPIO1/EPWM1B (simulates EQEP Phase B signal) -// GPIO23/EQEP1I <- GPIO4 (simulates EQEP Index Signal) -// -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This test will provide position measurement, speed measurement using the capture unit, and -// speed measurement using unit time out. This example uses the IQMath library. It is used -// merely to simplify high-precision calculations. -// -// See DESCRIPTION in Example_posspeed.c for more details on the calculations -// performed in this example. -// -// In addition to this file, the following files must be included in this project: -// Example_posspeed.c - includes all eQEP functions -// Example_EPwmSetup.c - sets up EPWM1A and EPWM1B as simulated QA and QB encoder signals -// Example_posspeed.h - includes initialization values for pos and speed structure -// -// Notes: -// * Maximum speed is configured to 6000rpm(BaseRpm) -// * Minimum speed is assumed at 10rpm for capture pre-scalar selection -// * Pole pair is configured to 2 (pole_pairs) -// * QEP Encoder resolution is configured to 4000counts/revolution (mech_scaler) -// which means: 4000/4 = 1000 line/revolution quadrature encoder (simulated by EPWM1) -// * EPWM1 (simulating QEP encoder signals) is configured for 5kHz frequency or 300 rpm -// (=4*5000 cnts/sec * 60 sec/min)/4000 cnts/rev) -// * 300 rpm EPWM1 speed will be measured by EQEP. -// -// SPEEDRPM_FR: High Speed Measurement is obtained by counting the QEP input pulses -// for 10ms (unit timer set to 100Hz). -// -// SPEEDRPM_FR = { (Position Delta)/10ms } * 60 rpm -// -// -// SPEEDRPM_PR: Low Speed Measurement is obtained by measuring time period of QEP edges. -// Time measurement is averaged over 64edges for better results and -// capture unit performs the time measurement using pre-scaled SYSCLK -// -// Note that pre-scaler for capture unit clock is selected such that -// capture timer does not overflow at the required minimum RPM speed -// -// Watch Variables: qep_posspeed.SpeedRpm_fr - Speed meas. in rpm using QEP position counter -// qep_posspeed.SpeedRpm_pr - Speed meas. in rpm using capture unit -// qep_posspeed.theta_mech - Motor mechanical angle (Q15) -// qep_posspeed.theta_elec - Motor electrical angle (Q15) -// -//########################################################################### -// Original Author S.D. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "Example_posspeed.h" // Example specific Include file - -void initEpwm(); -interrupt void prdTick(void); - -POSSPEED qep_posspeed=POSSPEED_DEFAULTS; -Uint16 Interrupt_Count = 0; - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// For this case only init GPIO for eQEP1 and ePWM1 -// This function is found in DSP2833x_EQep.c - InitEQep1Gpio(); - InitEPwm1Gpio(); - EALLOW; - GpioCtrlRegs.GPADIR.bit.GPIO4 = 1; // GPIO4 as output simulates Index signal - GpioDataRegs.GPACLEAR.bit.GPIO4 = 1; // Normally low - EDIS; -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.EPWM1_INT= &prdTick; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: - initEpwm(); // This function exists in Example_EPwmSetup.c - -// Step 5. User specific code, enable interrupts: -// Enable CPU INT1 which is connected to CPU-Timer 0: - IER |= M_INT3; - -// Enable TINT0 in the PIE: Group 3 interrupt 1 - PieCtrlRegs.PIEIER3.bit.INTx1 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - - qep_posspeed.init(&qep_posspeed); - - for(;;) - { - } - -} - - -interrupt void prdTick(void) // EPWM1 Interrupts once every 4 QCLK counts (one period) -{ Uint16 i; - // Position and Speed measurement - qep_posspeed.calc(&qep_posspeed); - - // Control loop code for position control & Speed contol - Interrupt_Count++; - if (Interrupt_Count==1000) // Every 1000 interrupts(4000 QCLK counts or 1 rev.) - { - EALLOW; - GpioDataRegs.GPASET.bit.GPIO4 = 1; // Pulse Index signal (1 pulse/rev.) - for (i=0; i<700; i++){ - } - GpioDataRegs.GPACLEAR.bit.GPIO4 = 1; - Interrupt_Count = 0; // Reset count - EDIS; - } - - // Acknowledge this interrupt to receive more interrupts from group 1 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - EPwm1Regs.ETCLR.bit.INT=1; -} - diff --git a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_2833xEqep_pos_speed.gel b/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_2833xEqep_pos_speed.gel deleted file mode 100644 index eb40b6a..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_2833xEqep_pos_speed.gel +++ /dev/null @@ -1,39 +0,0 @@ -/* -// TI File $Revision: /main/6 $ -// Checkin $Date: August 9, 2007 17:15:15 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x eQEP Posspeed" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xEqep_pos_speed.pjt"); - GEL_ProjectBuild("Example_2833xEqep_pos_speed.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xEqep_pos_speed.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("qep_posspeed.SpeedRpm_fr",,""); - GEL_WatchAdd("qep_posspeed.SpeedRpm_pr",,""); - GEL_WatchAdd("qep_posspeed.theta_mech",,""); - GEL_WatchAdd("qep_posspeed.theta_elec",,""); - GEL_WatchAdd("EQep1Regs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_2833xEqep_pos_speed.pjt b/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_2833xEqep_pos_speed.pjt deleted file mode 100644 index 1463168..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_2833xEqep_pos_speed.pjt +++ /dev/null @@ -1,56 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\eqep_pos_speed\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EQep.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="..\..\DSP2833x_common\lib\IQmath_fpu32.lib" -Source="Example_2833xEqep_pos_speed.c" -Source="Example_EPwmSetup.c" -Source="Example_posspeed.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\eqep_pos_speed\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\eqep_pos_speed\Debug" -i".." -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -i"..\..\DSP2833x_common\lib" -d"_DEBUG" -d"LARGE_MODEL" -ml -mt -v28 --float_support=fpu32 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\eqep_pos_speed\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xEqep_pos_speed.map" -o".\Debug\Example_2833xEqep_pos_speed.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xEqep_pos_speed.out" -x - -["..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" Settings: "Debug"] -LinkOrder=1 - -["..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" Settings: "Release"] - - diff --git a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_EPwmSetup.c b/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_EPwmSetup.c deleted file mode 100644 index 9d4ef5a..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_EPwmSetup.c +++ /dev/null @@ -1,69 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:42:18 $ -//########################################################################### -// -// FILE: Example_EpwmSetup.c -// -// TITLE: Pos speed measurement using EQEP peripheral -// -// DESCRIPTION: -// -// This file contains source for the ePWM initialization for the -// pos/speed module -// -//########################################################################### -// Original Author: SD -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "Example_posspeed.h" // Example specific Include file - -#if (CPU_FRQ_150MHZ) - #define CPU_CLK 150e6 -#endif -#if (CPU_FRQ_100MHZ) - #define CPU_CLK 100e6 -#endif - -#define PWM_CLK 5e3 // 5kHz (300rpm) EPWM1 frequency. Freq. can be changed here -#define SP CPU_CLK/(2*PWM_CLK) -#define TBCTLVAL 0x200E // up-down count, timebase=SYSCLKOUT - - -void initEpwm() -{ - EPwm1Regs.TBSTS.all=0; - EPwm1Regs.TBPHS.half.TBPHS =0; - EPwm1Regs.TBCTR=0; - - EPwm1Regs.CMPCTL.all=0x50; // immediate mode for CMPA and CMPB - EPwm1Regs.CMPA.half.CMPA=SP/2; - EPwm1Regs.CMPB=0; - - EPwm1Regs.AQCTLA.all=0x60; // CTR=CMPA when inc->EPWM1A=1, when dec->EPWM1A=0 - EPwm1Regs.AQCTLB.all=0x09; // CTR=PRD ->EPWM1B=1, CTR=0 ->EPWM1B=0 - EPwm1Regs.AQSFRC.all=0; - EPwm1Regs.AQCSFRC.all=0; - - EPwm1Regs.TZSEL.all=0; - EPwm1Regs.TZCTL.all=0; - EPwm1Regs.TZEINT.all=0; - EPwm1Regs.TZFLG.all=0; - EPwm1Regs.TZCLR.all=0; - EPwm1Regs.TZFRC.all=0; - - EPwm1Regs.ETSEL.all=0x0A; // Interrupt on PRD - EPwm1Regs.ETPS.all=1; - EPwm1Regs.ETFLG.all=0; - EPwm1Regs.ETCLR.all=0; - EPwm1Regs.ETFRC.all=0; - - EPwm1Regs.PCCTL.all=0; - - EPwm1Regs.TBCTL.all=0x0010+TBCTLVAL; // Enable Timer - EPwm1Regs.TBPRD=SP; -} - diff --git a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_posspeed.c b/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_posspeed.c deleted file mode 100644 index 7b25307..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_posspeed.c +++ /dev/null @@ -1,245 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:42:23 $ -//########################################################################### -// -// FILE: Example_posspeed.c -// -// TITLE: Pos/speed measurement using EQEP peripheral -// -// DESCRIPTION: -// -// This file includes the EQEP initialization and position and speed calcuation -// functions called by Example_2833xEqep_posspeed.c. The position and -// speed calculation steps performed by POSSPEED_Calc() at SYSCLKOUT = 150 MHz -// and 100 MHz are described in detail below: -// -// For 150 MHz Operation: -// ---------------------- -// -// 1. This program calculates: **theta_mech** -// -// theta_mech = QPOSCNT/mech_Scaler = QPOSCNT/4000, where 4000 is the number of -// counts in 1 revolution.(4000/4 = 1000 line/rev. quadrature encoder) -// -// 2. This program calculates: **theta_elec** -// -// theta_elec = (# pole pairs) * theta_mech = 2*QPOSCNT/4000 for this example -// -// 3. This program calculates: **SpeedRpm_fr** -// -// SpeedRpm_fr = [(x2-x1)/4000]/T - Equation 1 -// Note (x2-x1) = difference in number of QPOSCNT counts. Dividing (x2-x1) by -// 4000 gives position relative to Index in one revolution. -// If base RPM = 6000 rpm: 6000 rpm = [(x2-x1)/4000]/10ms - Equation 2 -// = [(x2-x1)/4000]/(.01s*1 min/60 sec) -// = [(x2-x1)/4000]/(1/6000) min -// max (x2-x1) = 4000 counts, or 1 revolution in 10 ms -// -// -// If both sides of Equation 2 are divided by 6000 rpm, then: -// 1 = [(x2-x1)/4000] rev./[(1/6000) min * 6000rpm] -// Because (x2-x1) must be <4000 (max) for QPOSCNT increment, -// (x2-x1)/4000 < 1 for CW rotation -// And because (x2-x1) must be >-4000 for QPOSCNT decrement, -// (x2-x1)/4000>-1 for CCW rotation -// speed_fr = [(x2-x1)/4000]/[(1/6000) min * 6000rpm] -// = (x2-x1)/4000 - Equation 3 -// -// To convert speed_fr to RPM, multiply Equation 3 by 6000 rpm -// SpeedRpm_fr = 6000rpm *(x2-x1)/4000 - Final Equation -// -// -// 2. **min rpm ** = selected at 10 rpm based on CCPS prescaler options available (128 is greatest) -// -// 3. **SpeedRpm_pr** -// SpeedRpm_pr = X/(t2-t1) - Equation 4 -// where X = QCAPCTL [UPPS]/4000 rev. (position relative to Index in 1 revolution) -// If max/base speed = 6000 rpm: 6000 = (32/4000)/[(t2-t1)/(150MHz/128)] -// where 32 = QCAPCTL [UPPS] (Unit timeout - once every 32 edges) -// 32/4000 = position in 1 revolution (position as a fraction of 1 revolution) -// t2-t1/(150MHz/128), t2-t1= # of QCAPCLK cycles, and -// 1 QCAPCLK cycle = 1/(150MHz/128) -// = QCPRDLAT -// -// So: 6000 rpm = [32(150MHz/128)*60s/min]/[4000(t2-t1)] -// t2-t1 = [32(150MHz/128)*60 s/min]/(4000*6000rpm) - Equation 5 -// = 94 CAPCLK cycles = maximum (t2-t1) = SpeedScaler -// -// Divide both sides by (t2-t1), and: -// 1 = 94/(t2-t1) = [32(150MHz/128)*60 s/min]/(4000*6000rpm)]/(t2-t1) -// Because (t2-t1) must be < 94 for QPOSCNT increment: -// 94/(t2-t1) < 1 for CW rotation -// And because (t2-t1) must be >-94 for QPOSCNT decrement: -// 94/(t2-t1)> -1 for CCW rotation -// -// speed_pr = 94/(t2-t1) -// or [32(150MHz/128)*60 s/min]/(4000*6000rpm)]/(t2-t1) - Equation 6 -// -// To convert speed_pr to RPM: -// Multiply Equation 6 by 6000rpm: -// SpeedRpm_fr = 6000rpm * [32(150MHz/128)*60 s/min]/[4000*6000rpm*(t2-t1)] -// = [32(150MHz/128)*60 s/min]/[4000*(t2-t1)] -// or [(32/4000)rev * 60 s/min]/[(t2-t1)(QCPRDLAT)]- Final Equation -// -// -// For 100 MHz Operation: -// ---------------------- -// -// The same calculations as above are performed, but with 100 MHz -// instead of 150MHz when calculating SpeedRpm_pr. -// The value for freqScaler_pr becomes: [32*(100MHz/128)*60s/min]/(4000*6000rpm) = 63 -// More detailed calculation results can be found in the Example_freqcal.xls -// spreadsheet included in the example folder. -// -// -// -// This file contains source for the posspeed module -// -//########################################################################### -// Original Author: SD -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "Example_posspeed.h" // Example specific Include file - -void POSSPEED_Init(void) -{ - - #if (CPU_FRQ_150MHZ) - EQep1Regs.QUPRD=1500000; // Unit Timer for 100Hz at 150 MHz SYSCLKOUT - #endif - #if (CPU_FRQ_100MHZ) - EQep1Regs.QUPRD=1000000; // Unit Timer for 100Hz at 100 MHz SYSCLKOUT - #endif - - EQep1Regs.QDECCTL.bit.QSRC=00; // QEP quadrature count mode - - EQep1Regs.QEPCTL.bit.FREE_SOFT=2; - EQep1Regs.QEPCTL.bit.PCRM=00; // PCRM=00 mode - QPOSCNT reset on index event - EQep1Regs.QEPCTL.bit.UTE=1; // Unit Timeout Enable - EQep1Regs.QEPCTL.bit.QCLM=1; // Latch on unit time out - EQep1Regs.QPOSMAX=0xffffffff; - EQep1Regs.QEPCTL.bit.QPEN=1; // QEP enable - - EQep1Regs.QCAPCTL.bit.UPPS=5; // 1/32 for unit position - EQep1Regs.QCAPCTL.bit.CCPS=7; // 1/128 for CAP clock - EQep1Regs.QCAPCTL.bit.CEN=1; // QEP Capture Enable - - -} - -void POSSPEED_Calc(POSSPEED *p) -{ - long tmp; - unsigned int pos16bval,temp1; - _iq Tmp1,newp,oldp; - -//**** Position calculation - mechanical and electrical motor angle ****// - p->DirectionQep = EQep1Regs.QEPSTS.bit.QDF; // Motor direction: 0=CCW/reverse, 1=CW/forward - - pos16bval=(unsigned int)EQep1Regs.QPOSCNT; // capture position once per QA/QB period - p->theta_raw = pos16bval+ p->cal_angle; // raw theta = current pos. + ang. offset from QA - - // The following lines calculate p->theta_mech ~= QPOSCNT/mech_scaler [current cnt/(total cnt in 1 rev.)] - // where mech_scaler = 4000 cnts/revolution - tmp = (long)((long)p->theta_raw*(long)p->mech_scaler); // Q0*Q26 = Q26 - tmp &= 0x03FFF000; - p->theta_mech = (int)(tmp>>11); // Q26 -> Q15 - p->theta_mech &= 0x7FFF; - - // The following lines calculate p->elec_mech - p->theta_elec = p->pole_pairs*p->theta_mech; // Q0*Q15 = Q15 - p->theta_elec &= 0x7FFF; - -// Check an index occurrence - if (EQep1Regs.QFLG.bit.IEL == 1) - { - p->index_sync_flag = 0x00F0; - EQep1Regs.QCLR.bit.IEL=1; // Clear interrupt flag - } - - - -//**** High Speed Calcultation using QEP Position counter ****// -// Check unit Time out-event for speed calculation: -// Unit Timer is configured for 100Hz in INIT function - - if(EQep1Regs.QFLG.bit.UTO==1) // If unit timeout (one 100Hz period) - { - /** Differentiator **/ - // The following lines calculate position = (x2-x1)/4000 (position in 1 revolution) - pos16bval=(unsigned int)EQep1Regs.QPOSLAT; // Latched POSCNT value - tmp = (long)((long)pos16bval*(long)p->mech_scaler); // Q0*Q26 = Q26 - tmp &= 0x03FFF000; - tmp = (int)(tmp>>11); // Q26 -> Q15 - tmp &= 0x7FFF; - newp=_IQ15toIQ(tmp); - oldp=p->oldpos; - - if (p->DirectionQep==0) // POSCNT is counting down - { - if (newp>oldp) - Tmp1 = - (_IQ(1) - newp + oldp); // x2-x1 should be negative - else - Tmp1 = newp -oldp; - } - else if (p->DirectionQep==1) // POSCNT is counting up - { - if (newp_IQ(1)) - p->Speed_fr = _IQ(1); - else if (Tmp1<_IQ(-1)) - p->Speed_fr = _IQ(-1); - else - p->Speed_fr = Tmp1; - - // Update the electrical angle - p->oldpos = newp; - - // Change motor speed from pu value to rpm value (Q15 -> Q0) - // Q0 = Q0*GLOBAL_Q => _IQXmpy(), X = GLOBAL_Q - p->SpeedRpm_fr = _IQmpy(p->BaseRpm,p->Speed_fr); - //======================================= - - EQep1Regs.QCLR.bit.UTO=1; // Clear interrupt flag - } - -//**** Low-speed computation using QEP capture counter ****// - if(EQep1Regs.QEPSTS.bit.UPEVNT==1) // Unit position event - { - if(EQep1Regs.QEPSTS.bit.COEF==0) // No Capture overflow - temp1=(unsigned long)EQep1Regs.QCPRDLAT; // temp1 = t2-t1 - else // Capture overflow, saturate the result - temp1=0xFFFF; - - p->Speed_pr = _IQdiv(p->SpeedScaler,temp1); // p->Speed_pr = p->SpeedScaler/temp1 - Tmp1=p->Speed_pr; - - if (Tmp1>_IQ(1)) - p->Speed_pr = _IQ(1); - else - p->Speed_pr = Tmp1; - - // Convert p->Speed_pr to RPM - if (p->DirectionQep==0) // Reverse direction = negative - p->SpeedRpm_pr = -_IQmpy(p->BaseRpm,p->Speed_pr); // Q0 = Q0*GLOBAL_Q => _IQXmpy(), X = GLOBAL_Q - else // Forward direction = positive - p->SpeedRpm_pr = _IQmpy(p->BaseRpm,p->Speed_pr); // Q0 = Q0*GLOBAL_Q => _IQXmpy(), X = GLOBAL_Q - - - EQep1Regs.QEPSTS.all=0x88; // Clear Unit position event flag - // Clear overflow error flag - } - - -} - - diff --git a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_posspeed.h b/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_posspeed.h deleted file mode 100644 index 14d1761..0000000 --- a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_posspeed.h +++ /dev/null @@ -1,85 +0,0 @@ -// TI File $Revision: /main/6 $ -// Checkin $Date: August 9, 2007 17:15:33 $ -//########################################################################### -// -// FILE: Example_posspeed.h -// -// TITLE: Pos/speed measurement using EQEP peripheral -// -// DESCRIPTION: -// -// Header file containing data type and object definitions and -// initializers. -// -//########################################################################### -// Original Author: SD -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#ifndef __POSSPEED__ -#define __POSSPEED__ - -#include "IQmathLib.h" // Include header for IQmath library -/*----------------------------------------------------------------------------- -Define the structure of the POSSPEED Object ------------------------------------------------------------------------------*/ -typedef struct {int theta_elec; // Output: Motor Electrical angle (Q15) - int theta_mech; // Output: Motor Mechanical Angle (Q15) - int DirectionQep; // Output: Motor rotation direction (Q0) - int QEP_cnt_idx; // Variable: Encoder counter index (Q0) - int theta_raw; // Variable: Raw angle from Timer 2 (Q0) - int mech_scaler; // Parameter: 0.9999/total count, total count = 4000 (Q26) - int pole_pairs; // Parameter: Number of pole pairs (Q0) - int cal_angle; // Parameter: Raw angular offset between encoder and phase a (Q0) - int index_sync_flag; // Output: Index sync status (Q0) - - Uint32 SpeedScaler; // Parameter : Scaler converting 1/N cycles to a GLOBAL_Q speed (Q0) - independently with global Q - _iq Speed_pr; // Output : speed in per-unit - Uint32 BaseRpm; // Parameter : Scaler converting GLOBAL_Q speed to rpm (Q0) speed - independently with global Q - int32 SpeedRpm_pr; // Output : speed in r.p.m. (Q0) - independently with global Q - - _iq oldpos; // Input: Electrical angle (pu) - _iq Speed_fr; // Output : speed in per-unit - int32 SpeedRpm_fr; // Output : Speed in rpm (Q0) - independently with global Q - void (*init)(); // Pointer to the init funcion - void (*calc)(); // Pointer to the calc funtion - } POSSPEED; - -/*----------------------------------------------------------------------------- -Define a POSSPEED_handle ------------------------------------------------------------------------------*/ -typedef POSSPEED *POSSPEED_handle; - -/*----------------------------------------------------------------------------- -Default initializer for the POSSPEED Object. ------------------------------------------------------------------------------*/ - -#if (CPU_FRQ_150MHZ) - #define POSSPEED_DEFAULTS {0x0, 0x0,0x0,0x0,0x0,16776,2,0,0x0,\ - 94,0,6000,0,\ - 0,0,0,\ - (void (*)(long))POSSPEED_Init,\ - (void (*)(long))POSSPEED_Calc } -#endif -#if (CPU_FRQ_100MHZ) - #define POSSPEED_DEFAULTS {0x0, 0x0,0x0,0x0,0x0,16776,2,0,0x0,\ - 63,0,6000,0,\ - 0,0,0,\ - (void (*)(long))POSSPEED_Init,\ - (void (*)(long))POSSPEED_Calc } -#endif - - -/*----------------------------------------------------------------------------- -Prototypes for the functions in posspeed.c ------------------------------------------------------------------------------*/ -void POSSPEED_Init(void); -void POSSPEED_Calc(POSSPEED_handle); - -#endif /* __POSSPEED__ */ - - - - diff --git a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_posspeed.xls b/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_posspeed.xls deleted file mode 100644 index 367b4e9..0000000 Binary files a/Source/External/v120/DSP2833x_examples/eqep_pos_speed/Example_posspeed.xls and /dev/null differ diff --git a/Source/External/v120/DSP2833x_examples/external_interrupt/Example_2833xExternalInterrupt.c b/Source/External/v120/DSP2833x_examples/external_interrupt/Example_2833xExternalInterrupt.c deleted file mode 100644 index 903a088..0000000 --- a/Source/External/v120/DSP2833x_examples/external_interrupt/Example_2833xExternalInterrupt.c +++ /dev/null @@ -1,260 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: May 5, 2008 15:25:49 $ -//########################################################################### -// -// FILE: Example_2833xExternalInterrupt.c -// -// TITLE: DSP2833x External Interrupt test program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// As supplied, this project is configured for "boot to SARAM" operation. -// -// Connect GPIO30 to GPIO0. GPIO0 will be assigned to Xint1 -// Connect GPIO31 to GPIO1. GPIO1 will be assigned to XINT2 -// -// Monitor GPIO34 with an oscilloscope. GPIO34 will be high outside of the -// ISRs and low within each ISR. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This program sets up GPIO0 as Xint1 and GPIO1 as XINT2. Two other -// GPIO signals are used to trigger the interrupt (GPIO30 triggers -// Xint1 and GPIO31 triggers XINT2). The user is required to -// externally connect these signals for the program to work -// properly. -// -// Xint1 input is synched to SYSCLKOUT -// XINT2 has a long qualification - 6 samples at 510*SYSCLKOUT each. -// -// GPIO34 will go high outside of the interrupts and low within the -// interrupts. This signal can be monitored on a scope. -// -// Each interrupt is fired in sequence - Xint1 first and then XINT2 -// -// -// Watch Variables: -// Xint1Count for the number of times through Xint1 interrupt -// Xint2Count for the number of times through XINT2 interrupt -// LoopCount for the number of times through the idle loop -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -interrupt void xint1_isr(void); -interrupt void xint2_isr(void); - -// Global variables for this example -volatile Uint32 Xint1Count; -volatile Uint32 Xint2Count; -Uint32 LoopCount; - -#define DELAY 35.700L - -void main(void) -{ - Uint32 TempX1Count; - Uint32 TempX2Count; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.XINT1 = &xint1_isr; - PieVectTable.XINT2 = &xint2_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// Step 5. User specific code, enable interrupts: - -// Clear the counters - Xint1Count = 0; // Count Xint1 interrupts - Xint2Count = 0; // Count XINT2 interrupts - LoopCount = 0; // Count times through idle loop - -// Enable Xint1 and XINT2 in the PIE: Group 1 interrupt 4 & 5 -// Enable int1 which is connected to WAKEINT: - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block - PieCtrlRegs.PIEIER1.bit.INTx4 = 1; // Enable PIE Gropu 1 INT4 - PieCtrlRegs.PIEIER1.bit.INTx5 = 1; // Enable PIE Gropu 1 INT5 - IER |= M_INT1; // Enable CPU int1 - EINT; // Enable Global Interrupts - -// GPIO30 & GPIO31 are outputs, start GPIO30 high and GPIO31 low - EALLOW; - GpioDataRegs.GPASET.bit.GPIO30 = 1; // Load the output latch - GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 0; // GPIO - GpioCtrlRegs.GPADIR.bit.GPIO30 = 1; // output - - GpioDataRegs.GPACLEAR.bit.GPIO31 = 1; // Load the output latch - GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 0; // GPIO - GpioCtrlRegs.GPADIR.bit.GPIO31 = 1; // output - EDIS; - -// GPIO0 and GPIO1 are inputs - EALLOW; - GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0; // GPIO - GpioCtrlRegs.GPADIR.bit.GPIO0 = 0; // input - GpioCtrlRegs.GPAQSEL1.bit.GPIO0 = 0; // Xint1 Synch to SYSCLKOUT only - - GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0; // GPIO - GpioCtrlRegs.GPADIR.bit.GPIO1 = 0; // input - GpioCtrlRegs.GPAQSEL1.bit.GPIO1 = 2; // XINT2 Qual using 6 samples - GpioCtrlRegs.GPACTRL.bit.QUALPRD0 = 0xFF; // Each sampling window is 510*SYSCLKOUT - EDIS; - -// GPIO0 is XINT1, GPIO1 is XINT2 - EALLOW; - GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL = 0; // Xint1 is GPIO0 - GpioIntRegs.GPIOXINT2SEL.bit.GPIOSEL = 1; // XINT2 is GPIO1 - EDIS; - -// Configure XINT1 - XIntruptRegs.XINT1CR.bit.POLARITY = 0; // Falling edge interrupt - XIntruptRegs.XINT2CR.bit.POLARITY = 1; // Rising edge interrupt - -// Enable XINT1 and XINT2 - XIntruptRegs.XINT1CR.bit.ENABLE = 1; // Enable Xint1 - XIntruptRegs.XINT2CR.bit.ENABLE = 1; // Enable XINT2 - - -// GPIO34 will go low inside each interrupt. Monitor this on a scope - EALLOW; - GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0; // GPIO - GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1; // output - EDIS; - -// Step 6. IDLE loop: - for(;;) - { - - TempX1Count = Xint1Count; - TempX2Count = Xint2Count; - - // Trigger both XINT1 - GpioDataRegs.GPBSET.bit.GPIO34 = 1; // GPIO34 is high - GpioDataRegs.GPACLEAR.bit.GPIO30 = 1; // Lower GPIO30, trigger Xint1 - while(Xint1Count == TempX1Count) {} - - // Trigger both XINT2 - - GpioDataRegs.GPBSET.bit.GPIO34 = 1; // GPIO34 is high - DELAY_US(DELAY); // Wait for Qual period - GpioDataRegs.GPASET.bit.GPIO31 = 1; // Raise GPIO31, trigger XINT2 - while(Xint2Count == TempX2Count) {} - - // Check that the counts were incremented properly and get ready - // to start over. - if(Xint1Count == TempX1Count+1 && Xint2Count == TempX2Count+1) - { - LoopCount++; - GpioDataRegs.GPASET.bit.GPIO30 = 1; // raise GPIO30 - GpioDataRegs.GPACLEAR.bit.GPIO31 = 1; // lower GPIO31 - } - else - { - asm(" ESTOP0"); // stop here - } - - } - - -} - - -// Step 7. Insert all local Interrupt Service Routines (ISRs) and functions here: - // If local ISRs are used, reassign vector addresses in vector table as - // shown in Step 5 - -interrupt void xint1_isr(void) -{ - GpioDataRegs.GPBCLEAR.all = 0x4; // GPIO34 is low - Xint1Count++; - - // Acknowledge this interrupt to get more from group 1 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; -} - -interrupt void xint2_isr(void) -{ - GpioDataRegs.GPBCLEAR.all = 0x4; // GPIO34 is low - Xint2Count++; - - // Acknowledge this interrupt to get more from group 1 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; -} - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/external_interrupt/Example_2833xExternalInterrupt.gel b/Source/External/v120/DSP2833x_examples/external_interrupt/Example_2833xExternalInterrupt.gel deleted file mode 100644 index f2542a3..0000000 --- a/Source/External/v120/DSP2833x_examples/external_interrupt/Example_2833xExternalInterrupt.gel +++ /dev/null @@ -1,41 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:15:49 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x ExternalInterrupt" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xExternalInterrupt.pjt"); - GEL_ProjectBuild("Example_2833xExternalInterrupt.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xExternalInterrupt.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("Xint1Count,x"); - GEL_WatchAdd("Xint2Count,x"); - GEL_WatchAdd("LoopCount,x"); - GEL_WatchAdd("XIntruptRegs,x"); - GEL_WatchAdd("GpioCtrlRegs,x"); -} - - diff --git a/Source/External/v120/DSP2833x_examples/external_interrupt/Example_2833xExternalInterrupt.pjt b/Source/External/v120/DSP2833x_examples/external_interrupt/Example_2833xExternalInterrupt.pjt deleted file mode 100644 index 0e88e0e..0000000 --- a/Source/External/v120/DSP2833x_examples/external_interrupt/Example_2833xExternalInterrupt.pjt +++ /dev/null @@ -1,44 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\external_interrupt\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xExternalInterrupt.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\external_interrupt\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\external_interrupt\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x\DSP2833x_examples\external_interrupt\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xExternalInterrupt.map" -o".\Debug\Example_2833xExternalInterrupt.out" -stack0x200 -w -x -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xExternalInterrupt.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/flash/Example_28332_Flash.gel b/Source/External/v120/DSP2833x_examples/flash/Example_28332_Flash.gel deleted file mode 100644 index d254c08..0000000 --- a/Source/External/v120/DSP2833x_examples/flash/Example_28332_Flash.gel +++ /dev/null @@ -1,45 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:15:59 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP28332 Flash Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_28332_Flash.pjt"); - GEL_ProjectBuild("Example_28332_Flash.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Symbols() -{ - GEL_SymbolLoad(".\\debug\\Example_28332_Flash.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("EPwm1TimerIntCount,x"); - GEL_WatchAdd("EPwm2TimerIntCount,x"); - GEL_WatchAdd("EPwm3TimerIntCount,x"); - GEL_WatchAdd("LoopCount,x"); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/flash/Example_28332_Flash.pjt b/Source/External/v120/DSP2833x_examples/flash/Example_28332_Flash.pjt deleted file mode 100644 index 1d116ed..0000000 --- a/Source/External/v120/DSP2833x_examples/flash/Example_28332_Flash.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CSMPasswords.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_MemCopy.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xFlash.c" -Source="..\..\DSP2833x_common\cmd\F28332.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_28332_Flash.map" -o".\Debug\Example_28332_Flash.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xFlash.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/flash/Example_28334_Flash.gel b/Source/External/v120/DSP2833x_examples/flash/Example_28334_Flash.gel deleted file mode 100644 index df91989..0000000 --- a/Source/External/v120/DSP2833x_examples/flash/Example_28334_Flash.gel +++ /dev/null @@ -1,45 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:16:06 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP28334 Flash Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_28334_Flash.pjt"); - GEL_ProjectBuild("Example_28334_Flash.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Symbols() -{ - GEL_SymbolLoad(".\\debug\\Example_28334_Flash.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("EPwm1TimerIntCount,x"); - GEL_WatchAdd("EPwm2TimerIntCount,x"); - GEL_WatchAdd("EPwm3TimerIntCount,x"); - GEL_WatchAdd("LoopCount,x"); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/flash/Example_28334_Flash.pjt b/Source/External/v120/DSP2833x_examples/flash/Example_28334_Flash.pjt deleted file mode 100644 index 74faf44..0000000 --- a/Source/External/v120/DSP2833x_examples/flash/Example_28334_Flash.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CSMPasswords.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_MemCopy.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xFlash.c" -Source="..\..\DSP2833x_common\cmd\F28334.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_28334_Flash.map" -o".\Debug\Example_28334_Flash.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xFlash.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/flash/Example_28335_Flash.gel b/Source/External/v120/DSP2833x_examples/flash/Example_28335_Flash.gel deleted file mode 100644 index daf0d95..0000000 --- a/Source/External/v120/DSP2833x_examples/flash/Example_28335_Flash.gel +++ /dev/null @@ -1,45 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:16:14 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP28335 Flash Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_28335_Flash.pjt"); - GEL_ProjectBuild("Example_28335_Flash.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Symbols() -{ - GEL_SymbolLoad(".\\debug\\Example_28335_Flash.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("EPwm1TimerIntCount,x"); - GEL_WatchAdd("EPwm2TimerIntCount,x"); - GEL_WatchAdd("EPwm3TimerIntCount,x"); - GEL_WatchAdd("LoopCount,x"); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); -} - - - - diff --git a/Source/External/v120/DSP2833x_examples/flash/Example_28335_Flash.pjt b/Source/External/v120/DSP2833x_examples/flash/Example_28335_Flash.pjt deleted file mode 100644 index 766eeb9..0000000 --- a/Source/External/v120/DSP2833x_examples/flash/Example_28335_Flash.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CSMPasswords.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_MemCopy.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xFlash.c" -Source="..\..\DSP2833x_common\cmd\F28335.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\flash\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_28335_Flash.map" -o".\Debug\Example_28335_Flash.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xFlash.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/flash/Example_2833xFlash.c b/Source/External/v120/DSP2833x_examples/flash/Example_2833xFlash.c deleted file mode 100644 index 7e7d4db..0000000 --- a/Source/External/v120/DSP2833x_examples/flash/Example_2833xFlash.c +++ /dev/null @@ -1,342 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: April 21, 2008 15:42:33 $ -//########################################################################### -// -// FILE: Example_2833xFlash.c -// -// TITLE: DSP2833x ePWM Timer Interrupt From Flash Example. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// As supplied, this project is configured for "boot to FLASH" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash <- "boot to Flash" -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example runs the ePWM interrupt example from flash. -// -// 1) Build the project -// 2) Flash the .out file into the device. -// 3) Set the hardware jumpers to boot to Flash -// 4) Use the included GEL file to load the project, symbols -// defined within the project and the variables into the watch -// window. -// -// Steps that were taken to convert the ePWM example from RAM -// to Flash execution: -// -// - Change the linker cmd file to reflect the flash memory map. -// - Make sure any initialized sections are mapped to Flash. -// In SDFlash utility this can be checked by the View->Coff/Hex -// status utility. Any section marked as "load" should be -// allocated to Flash. -// - Make sure there is a branch instruction from the entry to Flash -// at 0x33FFF6 to the beginning of code execution. This example -// uses the DSP2833x_CodeStartBranch.asm file to accomplish this. -// - Set boot mode Jumpers to "boot to Flash" -// - For best performance from the flash, modify the waitstates -// and enable the flash pipeline as shown in this example. -// Note: any code that manipulates the flash waitstate and pipeline -// control must be run from RAM. Thus these functions are located -// in their own memory section called ramfuncs. -// -// -// ePwm1 Interrupt will run from RAM and puts the flash into sleep mode -// ePwm2 Interrupt will run from RAM and puts the flash into standby mode -// ePWM3 Interrupt will run from FLASH -// -// As supplied: -// -// All timers have the same period -// The timers are started sync'ed -// An interrupt is taken on a zero event for each ePWM timer -// -// ePWM1: takes an interrupt every event -// ePWM2: takes an interrupt every 2nd event -// ePWM3: takes an interrupt every 3rd event -// -// Thus the Interrupt count for ePWM1, ePWM4-ePWM6 should be equal -// The interrupt count for ePWM2 should be about half that of ePWM1 -// and the interrupt count for ePWM3 should be about 1/3 that of ePWM1 -// -// Watch Variables: -// EPwm1TimerIntCount -// EPwm2TimerIntCount -// EPwm3TimerIntCount -// -// Toggle GPIO32 while in the background loop. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Configure which ePWM timer interrupts are enabled at the PIE level: -// 1 = enabled, 0 = disabled -#define PWM1_INT_ENABLE 1 -#define PWM2_INT_ENABLE 1 -#define PWM3_INT_ENABLE 1 - -// Configure the period for each timer -#define PWM1_TIMER_TBPRD 0x1FFF -#define PWM2_TIMER_TBPRD 0x1FFF -#define PWM3_TIMER_TBPRD 0x1FFF - -// Make this long enough so that we can see an LED toggle -#define DELAY 1000000L - -// Functions that will be run from RAM need to be assigned to -// a different section. This section will then be mapped using -// the linker cmd file. -#pragma CODE_SECTION(epwm1_timer_isr, "ramfuncs"); -#pragma CODE_SECTION(epwm2_timer_isr, "ramfuncs"); - -// Prototype statements for functions found within this file. -interrupt void epwm1_timer_isr(void); -interrupt void epwm2_timer_isr(void); -interrupt void epwm3_timer_isr(void); -void InitEPwmTimer(void); - -// Global variables used in this example -Uint32 EPwm1TimerIntCount; -Uint32 EPwm2TimerIntCount; -Uint32 EPwm3TimerIntCount; -Uint32 LoopCount; - -// These are defined by the linker (see F28335.cmd) -extern Uint16 RamfuncsLoadStart; -extern Uint16 RamfuncsLoadEnd; -extern Uint16 RamfuncsRunStart; - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.EPWM1_INT = &epwm1_timer_isr; - PieVectTable.EPWM2_INT = &epwm2_timer_isr; - PieVectTable.EPWM3_INT = &epwm3_timer_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - InitEPwmTimer(); // For this example, only initialize the ePWM Timers - -// Step 5. User specific code, enable interrupts: - -// Copy time critical code and Flash setup code to RAM -// This includes the following ISR functions: epwm1_timer_isr(), epwm2_timer_isr() -// epwm3_timer_isr and and InitFlash(); -// The RamfuncsLoadStart, RamfuncsLoadEnd, and RamfuncsRunStart -// symbols are created by the linker. Refer to the F28335.cmd file. - MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart); - -// Call Flash Initialization to setup flash waitstates -// This function must reside in RAM - InitFlash(); - -// Initalize counters: - EPwm1TimerIntCount = 0; - EPwm2TimerIntCount = 0; - EPwm3TimerIntCount = 0; - LoopCount = 0; - -// Enable CPU INT3 which is connected to EPWM1-3 INT: - IER |= M_INT3; - -// Enable EPWM INTn in the PIE: Group 3 interrupt 1-3 - PieCtrlRegs.PIEIER3.bit.INTx1 = PWM1_INT_ENABLE; - PieCtrlRegs.PIEIER3.bit.INTx2 = PWM2_INT_ENABLE; - PieCtrlRegs.PIEIER3.bit.INTx3 = PWM3_INT_ENABLE; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - -// Step 6. IDLE loop. Just sit and loop forever (optional): - EALLOW; - GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 0; - GpioCtrlRegs.GPBDIR.bit.GPIO32 = 1; - EDIS; - - for(;;) - { - // This loop will be interrupted, so the overall - // delay between pin toggles will be longer. - DELAY_US(DELAY); - LoopCount++; - GpioDataRegs.GPBTOGGLE.bit.GPIO32 = 1; - } - -} - - -void InitEPwmTimer() -{ - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; // Stop all the TB clocks - EDIS; - - // Setup Sync - EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through - EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through - EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through - - // Allow each timer to be sync'ed - - EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE; - EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE; - EPwm3Regs.TBCTL.bit.PHSEN = TB_ENABLE; - - EPwm1Regs.TBPHS.half.TBPHS = 100; - EPwm2Regs.TBPHS.half.TBPHS = 200; - EPwm3Regs.TBPHS.half.TBPHS = 300; - - EPwm1Regs.TBPRD = PWM1_TIMER_TBPRD; - EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwm1Regs.ETSEL.bit.INTEN = PWM1_INT_ENABLE; // Enable INT - EPwm1Regs.ETPS.bit.INTPRD = ET_1ST; // Generate INT on 1st event - - - EPwm2Regs.TBPRD = PWM2_TIMER_TBPRD; - EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm2Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Enable INT on Zero event - EPwm2Regs.ETSEL.bit.INTEN = PWM2_INT_ENABLE; // Enable INT - EPwm2Regs.ETPS.bit.INTPRD = ET_2ND; // Generate INT on 2nd event - - - EPwm3Regs.TBPRD = PWM3_TIMER_TBPRD; - EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up - EPwm3Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Enable INT on Zero event - EPwm3Regs.ETSEL.bit.INTEN = PWM3_INT_ENABLE; // Enable INT - EPwm3Regs.ETPS.bit.INTPRD = ET_3RD; // Generate INT on 3rd event - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; // Start all the timers synced - EDIS; - - -} - -// This ISR MUST be executed from RAM as it will put the Flash into Sleep -// Interrupt routines uses in this example: -interrupt void epwm1_timer_isr(void) -{ - - // Put the Flash to sleep - FlashRegs.FPWR.bit.PWR = FLASH_SLEEP; - - EPwm1TimerIntCount++; - - // Clear INT flag for this timer - EPwm1Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -// This ISR MUST be executed from RAM as it will put the Flash into Standby -interrupt void epwm2_timer_isr(void) -{ - EPwm2TimerIntCount++; - - // Put the Flash into standby - FlashRegs.FPWR.bit.PWR = FLASH_STANDBY; - - // Clear INT flag for this timer - EPwm2Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -interrupt void epwm3_timer_isr(void) -{ - Uint16 i; - - EPwm3TimerIntCount++; - - // Short Delay to simulate some ISR Code - for(i = 1; i < 0x01FF; i++) {} - - // Clear INT flag for this timer - EPwm3Regs.ETCLR.bit.INT = 1; - - // Acknowledge this interrupt to receive more interrupts from group 3 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - - - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU.c b/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU.c deleted file mode 100644 index 66654f2..0000000 --- a/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU.c +++ /dev/null @@ -1,167 +0,0 @@ -// TI File $Revision: /main/2 $ -// Checkin $Date: April 21, 2008 15:44:31 $ -//########################################################################### -// -// FILE: Example_2833xFPU.c -// -// TITLE: DSP2833x Device Getting Started Program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Other then boot mode configuration, no other hardware configuration -// is required. -// -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// The code calculates two y=mx+b equations. The variables are all -// 32-bit floating-point. -// -// Two projects are supplied: -// -// Example_fpu_hardware.pjt (floating-point): -// -// If the Example_2833xFPU_hardware.pjt file is used then the compiler -// will generate floating point instructions to do these calculations. -// To compile the project for floating point, the following Build Options were used: -// 1. Project->Build Options-> Compiler Tab-> Advanced category: -// a. in textbox: compiler options -v28 --float_support=fpu32 are set -// b. OR the following is equivalent to "a.": pull-down menu next to -// "Floating Point Support"-> "fpu32" selected. -// 2. Project->Build Options-> Linker Tab-> Libraries category: -// a. runtime support library used is rts2800_fpu32.lib. -// 3. Not included in this example: If the project includes any other libraries, -// they must also be compiled with floating point instructions. -// -// Example_fpu_software.pjt (fixed-point emulates floating-point with software): -// -// If the Example_2833xFPU_software.pjt file is used, then the compiler -// will only used fixed point instructions. This means the runtime -// support library will be used to emulate floating point. -// This will also run on C28x devices without the floating point unit. -// To compile the project for fixed point, the following Build Options were used: -// 1. Project->Build Options-> Compiler Tab-> Advanced category: -// a. in textbox: compiler option --float_support=fpu32 is REMOVED -// -v28 should not be removed -// b. OR the following is equivalent to "a.": pull-down menu next to -// "Floating Point Support"-> "None" selected. -// 2. Project->Build Options-> Linker Tab-> Libraries category: -// a. runtime support library used is rts2800.lib or rts2800_ml.lib. -// 3. Not included in this example: If the project includes any other libraries, -// they must also be compiled with fixed point instructions. -// -// Watch Variables: -// y1 -// y2 -// FPU registers (optional) -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -float y1, y2; -float m1, m2; -float x1, x2; -float b1, b2; - - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - - -// Step 5. User specific code, enable interrupts: - -// -// Calculate two y=mx+b equations. - - y1 = 0; - y2 = 0; - m1 = .5; - m2 = .6; - x1 = 3.4; - x2 = 7.3; - b1 = 4.2; - b2 = 8.9; - - y1 = m1*x1 + b1; - y2 = m2*x2 + b2; - - - ESTOP0; // This is a software breakpoint -} - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU.gel b/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU.gel deleted file mode 100644 index b6531eb..0000000 --- a/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU.gel +++ /dev/null @@ -1,50 +0,0 @@ -/* -// TI File $Revision: /main/1 $ -// Checkin $Date: August 29, 2007 14:07:24 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x FPU Example" - -hotmenu Load_and_Build_Fixed_Point_Project() -{ - GEL_ProjectLoad("Example_2833xFPU_software.pjt"); - GEL_ProjectBuild("Example_2833xFPU_software.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_and_Build_Floating_Point_Project() -{ - GEL_ProjectLoad("Example_2833xFPU_hardware.pjt"); - GEL_ProjectBuild("Example_2833xFPU_hardware.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Fixed_Point_Code() -{ - GEL_Load(".\\debug\\Example_2833xFPU_software.out"); - Setup_WatchWindow(); -} - -hotmenu Load_Floating_Point_Code() -{ - GEL_Load(".\\debug\\Example_2833xFPU_hardware.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("y1,f"); - GEL_WatchAdd("y2,f"); - All_FPU_Single_Precision_Regs(); -} diff --git a/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU_hardware.pjt b/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU_hardware.pjt deleted file mode 100644 index 863f8f7..0000000 --- a/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU_hardware.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\fpu\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xFPU.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -al -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\fpu\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\fpu\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -mt -v28 --float_support=fpu32 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\fpu\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xFPU_hardware.map" -o".\Debug\Example_2833xFPU_hardware.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xFPU_hardware.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU_software.pjt b/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU_software.pjt deleted file mode 100644 index c4cdc70..0000000 --- a/Source/External/v120/DSP2833x_examples/fpu/Example_2833xFPU_software.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\fpu\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xFPU.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\fpu\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\fpu\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\fpu\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xFPU_software.map" -o".\Debug\Example_2833xFPU_software.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_ml.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xFPU_software.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/gpio_setup/Example_2833xGpioSetup.c b/Source/External/v120/DSP2833x_examples/gpio_setup/Example_2833xGpioSetup.c deleted file mode 100644 index ff9c488..0000000 --- a/Source/External/v120/DSP2833x_examples/gpio_setup/Example_2833xGpioSetup.c +++ /dev/null @@ -1,458 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:42:38 $ -//########################################################################### -// -// FILE: Example_2833xGpioSetup.c -// -// TITLE: DSP2833x Device GPIO Setup -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Two different examples are included. Select the example -// to execute before compiling using the #define statements -// found at the top of the code. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// -// Configures the 2833x GPIO into two different configurations -// This code is verbose to illustrate how the GPIO could be setup. -// In a real application, lines of code can be combined for improved -// code size and efficency. -// -// This example only sets-up the GPIO.. nothing is actually done with -// the pins after setup. -// -// In general: -// -// All pullup resistors are enabled. For ePWMs this may not be desired. -// Input qual for communication ports (eCAN, SPI, SCI, I2C) is asynchronous -// Input qual for Trip pins (TZ) is asynchronous -// Input qual for eCAP and eQEP signals is synch to SYSCLKOUT -// Input qual for some I/O's and interrupts may have a sampling window -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Select the example to compile in. Only one example should be set as 1 -// the rest should be set as 0. - -#define EXAMPLE1 1 // Basic pinout configuration example -#define EXAMPLE2 0 // Communication pinout example - -// Prototype statements for functions found within this file. -void Gpio_setup1(void); -void Gpio_setup2(void); - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. - // InitGpio(); Skipped for this example - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// Step 5. User specific code: - -#if EXAMPLE1 - - // This example is a basic pinout - Gpio_setup1(); - -#endif // - EXAMPLE1 - -#if EXAMPLE2 - - // This example is a communications pinout - Gpio_setup2(); - -#endif - -} - - -void Gpio_setup1(void) -{ - // Example 1: - // Basic Pinout. - // This basic pinout includes: - // PWM1-3, ECAP1, ECAP2, TZ1-TZ4, SPI-A, EQEP1, SCI-A, I2C - // and a number of I/O pins - - // These can be combined into single statements for improved - // code efficiency. - - // Enable PWM1-3 on GPIO0-GPIO5 - EALLOW; - GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0; // Enable pullup on GPIO0 - GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0; // Enable pullup on GPIO1 - GpioCtrlRegs.GPAPUD.bit.GPIO2 = 0; // Enable pullup on GPIO2 - GpioCtrlRegs.GPAPUD.bit.GPIO3 = 0; // Enable pullup on GPIO3 - GpioCtrlRegs.GPAPUD.bit.GPIO4 = 0; // Enable pullup on GPIO4 - GpioCtrlRegs.GPAPUD.bit.GPIO5 = 0; // Enable pullup on GPIO5 - GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // GPIO0 = PWM1A - GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // GPIO1 = PWM1B - GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 1; // GPIO2 = PWM2A - GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 1; // GPIO3 = PWM2B - GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 1; // GPIO4 = PWM3A - GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 1; // GPIO5 = PWM3B - - // Enable an GPIO output on GPIO6, set it high - GpioCtrlRegs.GPAPUD.bit.GPIO6 = 0; // Enable pullup on GPIO6 - GpioDataRegs.GPASET.bit.GPIO6 = 1; // Load output latch - GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0; // GPIO6 = GPIO6 - GpioCtrlRegs.GPADIR.bit.GPIO6 = 1; // GPIO6 = output - - // Enable eCAP1 on GPIO7 - GpioCtrlRegs.GPAPUD.bit.GPIO7 = 0; // Enable pullup on GPIO7 - GpioCtrlRegs.GPAQSEL1.bit.GPIO7 = 0; // Synch to SYSCLOUT - GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 3; // GPIO7 = ECAP2 - - // Enable GPIO outputs on GPIO8 - GPIO11, set it high - GpioCtrlRegs.GPAPUD.bit.GPIO8 = 0; // Enable pullup on GPIO8 - GpioDataRegs.GPASET.bit.GPIO8 = 1; // Load output latch - GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 0; // GPIO8 = GPIO8 - GpioCtrlRegs.GPADIR.bit.GPIO8 = 1; // GPIO8 = output - - GpioCtrlRegs.GPAPUD.bit.GPIO9 = 0; // Enable pullup on GPIO9 - GpioDataRegs.GPASET.bit.GPIO9 = 1; // Load output latch - GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 0; // GPIO9 = GPIO9 - GpioCtrlRegs.GPADIR.bit.GPIO9 = 1; // GPIO9 = output - - GpioCtrlRegs.GPAPUD.bit.GPIO10 = 0; // Enable pullup on GPIO10 - GpioDataRegs.GPASET.bit.GPIO10 = 1; // Load output latch - GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 0; // GPIO10 = GPIO10 - GpioCtrlRegs.GPADIR.bit.GPIO6 = 1; // GPIO10 = output - - GpioCtrlRegs.GPAPUD.bit.GPIO11 = 0; // Enable pullup on GPIO11 - GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 0; // GPIO11 = GPIO11 - GpioCtrlRegs.GPADIR.bit.GPIO11 = 1; // GPIO11 = output - - // Enable Trip Zone inputs on GPIO12 - GPIO15 - GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0; // Enable pullup on GPIO12 - GpioCtrlRegs.GPAPUD.bit.GPIO13 = 0; // Enable pullup on GPIO13 - GpioCtrlRegs.GPAPUD.bit.GPIO14 = 0; // Enable pullup on GPIO14 - GpioCtrlRegs.GPAPUD.bit.GPIO15 = 0; // Enable pullup on GPIO15 - GpioCtrlRegs.GPAQSEL1.bit.GPIO12 = 3; // asynch input - GpioCtrlRegs.GPAQSEL1.bit.GPIO13 = 3; // asynch input - GpioCtrlRegs.GPAQSEL1.bit.GPIO14 = 3; // asynch input - GpioCtrlRegs.GPAQSEL1.bit.GPIO15 = 3; // asynch input - GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 1; // GPIO12 = TZ1 - GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 1; // GPIO13 = TZ2 - GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 1; // GPIO14 = TZ3 - GpioCtrlRegs.GPAMUX1.bit.GPIO15 = 1; // GPIO15 = TZ4 - - // Enable SPI-A on GPIO16 - GPIO19 - GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0; // Enable pullup on GPIO16 - GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0; // Enable pullup on GPIO17 - GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0; // Enable pullup on GPIO18 - GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0; // Enable pullup on GPIO19 - GpioCtrlRegs.GPAQSEL2.bit.GPIO16 = 3; // asynch input - GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3; // asynch input - GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 3; // asynch input - GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 3; // asynch input - GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 1; // GPIO16 = SPICLKA - GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 1; // GPIO17 = SPIS0MIA - GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 1; // GPIO18 = SPICLKA - GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 1; // GPIO19 = SPISTEA - - // Enable EQEP1 on GPIO20 - GPIO23 - GpioCtrlRegs.GPAPUD.bit.GPIO20 = 0; // Enable pullup on GPIO20 - GpioCtrlRegs.GPAPUD.bit.GPIO21 = 0; // Enable pullup on GPIO21 - GpioCtrlRegs.GPAPUD.bit.GPIO22 = 0; // Enable pullup on GPIO22 - GpioCtrlRegs.GPAPUD.bit.GPIO23 = 0; // Enable pullup on GPIO23 - GpioCtrlRegs.GPAQSEL2.bit.GPIO20 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAQSEL2.bit.GPIO22 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 1; // GPIO20 = EQEP1A - GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 1; // GPIO21 = EQEP1B - GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 1; // GPIO22 = EQEP1S - GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 1; // GPIO23 = EQEP1I - - // Enable eCAP1 on GPIO24 - GpioCtrlRegs.GPAPUD.bit.GPIO24 = 0; // Enable pullup on GPIO24 - GpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 1; // GPIO24 = ECAP1 - - // Set input qualifcation period for GPIO25 & GPIO26 - GpioCtrlRegs.GPACTRL.bit.QUALPRD3=1; // Qual period = SYSCLKOUT/2 - GpioCtrlRegs.GPAQSEL2.bit.GPIO25=2; // 6 samples - GpioCtrlRegs.GPAQSEL2.bit.GPIO26=2; // 6 samples - - // Make GPIO25 the input source for Xint1 - GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 0; // GPIO25 = GPIO25 - GpioCtrlRegs.GPADIR.bit.GPIO25 = 0; // GPIO25 = input - GpioIntRegs.GPIOXINT1SEL.all = 25; // Xint1 connected to GPIO25 - - // Make GPIO26 the input source for XINT2 - GpioCtrlRegs.GPAMUX2.bit.GPIO26 = 0; // GPIO26 = GPIO26 - GpioCtrlRegs.GPADIR.bit.GPIO26 = 0; // GPIO26 = input - GpioIntRegs.GPIOXINT2SEL.all = 26; // XINT2 connected to GPIO26 - - // Make GPIO27 wakeup from HALT/STANDBY Low Power Modes - GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0; // GPIO27 = GPIO27 - GpioCtrlRegs.GPADIR.bit.GPIO27 = 0; // GPIO27 = input - GpioIntRegs.GPIOLPMSEL.bit.GPIO27=1; // GPIO27 will wake the device - SysCtrlRegs.LPMCR0.bit.QUALSTDBY=2; // Qualify GPIO27 by 2 OSCCLK - // cycles before waking the device - // from STANDBY - - // Enable SCI-A on GPIO28 - GPIO29 - GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0; // Enable pullup on GPIO28 - GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3; // Asynch input - GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1; // GPIO28 = SCIRXDA - GpioCtrlRegs.GPAPUD.bit.GPIO29 = 0; // Enable pullup on GPIO29 - GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1; // GPIO29 = SCITXDA - - // Enable CAN-A on GPIO30 - GPIO31 - GpioCtrlRegs.GPAPUD.bit.GPIO30 = 0; // Enable pullup on GPIO30 - GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 1; // GPIO30 = CANTXA - GpioCtrlRegs.GPAPUD.bit.GPIO31 = 0; // Enable pullup on GPIO31 - GpioCtrlRegs.GPAQSEL2.bit.GPIO31 = 3; // Asynch input - GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 1; // GPIO31 = CANRXA - - - // Enable I2C-A on GPIO32 - GPIO33 - GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; // Enable pullup on GPIO32 - GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 1; // GPIO32 = SDAA - GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 3; // Asynch input - GpioCtrlRegs.GPBPUD.bit.GPIO33 = 0; // Enable pullup on GPIO33 - GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 3; // Asynch input - GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 1; // GPIO33 = SCLA - - // Make GPIO34 an input - GpioCtrlRegs.GPBPUD.bit.GPIO34 = 0; // Enable pullup on GPIO34 - GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0; // GPIO34 = GPIO34 - GpioCtrlRegs.GPBDIR.bit.GPIO34 = 0; // GPIO34 = input - EDIS; -} - -void Gpio_setup2(void) -{ - // Example 1: - // Communications Pinout. - // This basic communications pinout includes: - // PWM1-3, CAP1, CAP2, SPI-A, SPI-B, CAN-A, SCI-A and I2C - // and a number of I/O pins - - // Enable PWM1-3 on GPIO0-GPIO5 - EALLOW; - GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0; // Enable pullup on GPIO0 - GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0; // Enable pullup on GPIO1 - GpioCtrlRegs.GPAPUD.bit.GPIO2 = 0; // Enable pullup on GPIO2 - GpioCtrlRegs.GPAPUD.bit.GPIO3 = 0; // Enable pullup on GPIO3 - GpioCtrlRegs.GPAPUD.bit.GPIO4 = 0; // Enable pullup on GPIO4 - GpioCtrlRegs.GPAPUD.bit.GPIO5 = 0; // Enable pullup on GPIO5 - GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // GPIO0 = PWM1A - GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // GPIO1 = PWM1B - GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 1; // GPIO2 = PWM2A - GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 1; // GPIO3 = PWM2B - GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 1; // GPIO4 = PWM3A - GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 1; // GPIO5 = PWM3B - - // Enable an GPIO output on GPIO6 - GpioCtrlRegs.GPAPUD.bit.GPIO6 = 0; // Enable pullup on GPIO6 - GpioDataRegs.GPASET.bit.GPIO6 = 1; // Load output latch - GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0; // GPIO6 = GPIO6 - GpioCtrlRegs.GPADIR.bit.GPIO6 = 1; // GPIO6 = output - - // Enable eCAP1 on GPIO7 - GpioCtrlRegs.GPAPUD.bit.GPIO7 = 0; // Enable pullup on GPIO7 - GpioCtrlRegs.GPAQSEL1.bit.GPIO7 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 3; // GPIO7 = ECAP2 - - // Enable GPIO outputs on GPIO8 - GPIO11 - GpioCtrlRegs.GPAPUD.bit.GPIO8 = 0; // Enable pullup on GPIO8 - GpioDataRegs.GPASET.bit.GPIO8 = 1; // Load output latch - GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 0; // GPIO8 = GPIO8 - GpioCtrlRegs.GPADIR.bit.GPIO8 = 1; // GPIO8 = output - - GpioCtrlRegs.GPAPUD.bit.GPIO9 = 0; // Enable pullup on GPIO9 - GpioDataRegs.GPASET.bit.GPIO9 = 1; // Load output latch - GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 0; // GPIO9 = GPIO9 - GpioCtrlRegs.GPADIR.bit.GPIO9 = 1; // GPIO9 = output - - GpioCtrlRegs.GPAPUD.bit.GPIO10 = 0; // Enable pullup on GPIO10 - GpioDataRegs.GPASET.bit.GPIO10 = 1; // Load output latch - GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 0; // GPIO10 = GPIO10 - GpioCtrlRegs.GPADIR.bit.GPIO10 = 1; // GPIO10 = output - - GpioCtrlRegs.GPAPUD.bit.GPIO11 = 0; // Enable pullup on GPIO11 - GpioDataRegs.GPASET.bit.GPIO11 = 1; // Load output latch - GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 0; // GPIO11 = GPIO11 - GpioCtrlRegs.GPADIR.bit.GPIO11 = 1; // GPIO11 = output - - // Enable SPI-B on GPIO12 - GPIO15 - GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0; // Enable pullup on GPIO12 (SPISIMOB) - GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0; // Enable pullup on GPIO13 (SPISOMIB) - GpioCtrlRegs.GPAPUD.bit.GPIO14 = 0; // Enable pullup on GPIO14 (SPICLKB) - GpioCtrlRegs.GPAPUD.bit.GPIO15 = 0; // Enable pullup on GPIO15 (SPISTEB) - GpioCtrlRegs.GPAQSEL1.bit.GPIO12 = 3; // asynch input - GpioCtrlRegs.GPAQSEL1.bit.GPIO13 = 3; // asynch input - GpioCtrlRegs.GPAQSEL1.bit.GPIO14 = 3; // asynch input - GpioCtrlRegs.GPAQSEL1.bit.GPIO15 = 3; // asynch input - GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 3; // GPIO12 = SPISIMOB - GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 3; // GPIO13 = SPISOMIB - GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 3; // GPIO14 = SPICLKB - GpioCtrlRegs.GPAMUX1.bit.GPIO15 = 3; // GPIO15 = SPISTEB - - // Enable SPI-A on GPIO16 - GPIO19 - GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0; // Enable pullup on GPIO16 (SPICLKA) - GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0; // Enable pullup on GPIO17 (SPIS0MIA) - GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0; // Enable pullup on GPIO18 (SPICLKA) - GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0; // Enable pullup on GPIO19 (SPISTEA) - GpioCtrlRegs.GPAQSEL2.bit.GPIO16 = 3; // asynch input - GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3; // asynch input - GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 3; // asynch input - GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 3; // asynch input - GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 1; // GPIO16 = SPICLKA - GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 1; // GPIO17 = SPIS0MIA - GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 1; // GPIO18 = SPICLKA - GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 1; // GPIO19 = SPISTEA - - // Enable EQEP1 on GPIO20 - GPIO23 - GpioCtrlRegs.GPAPUD.bit.GPIO20 = 0; // Enable pullup on GPIO20 (EQEP1A) - GpioCtrlRegs.GPAPUD.bit.GPIO21 = 0; // Enable pullup on GPIO21 (EQEP1B) - GpioCtrlRegs.GPAPUD.bit.GPIO22 = 0; // Enable pullup on GPIO22 (EQEP1S) - GpioCtrlRegs.GPAPUD.bit.GPIO23 = 0; // Enable pullup on GPIO23 (EQEP1I) - GpioCtrlRegs.GPAQSEL2.bit.GPIO20 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAQSEL2.bit.GPIO22 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 1; // GPIO20 = EQEP1A - GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 1; // GPIO21 = EQEP1B - GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 1; // GPIO22 = EQEP1S - GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 1; // GPIO23 = EQEP1I - - // Enable eCAP1 on GPIO24 - GpioCtrlRegs.GPAPUD.bit.GPIO24 = 0; // Enable pullup on GPIO24 (ECAP1) - GpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 0; // Synch to SYSCLKOUT - GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 1; // GPIO24 = ECAP1 - - // Set input qualifcation period for GPIO25 & GPIO26 inputs - GpioCtrlRegs.GPACTRL.bit.QUALPRD3=1; // Qual period = SYSCLKOUT/2 - GpioCtrlRegs.GPAQSEL2.bit.GPIO25=2; // 6 samples - GpioCtrlRegs.GPAQSEL2.bit.GPIO26=1; // 3 samples - - // Make GPIO25 the input source for Xint1 - GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 0; // GPIO25 = GPIO25 - GpioCtrlRegs.GPADIR.bit.GPIO25 = 0; // GPIO25 = input - GpioIntRegs.GPIOXINT1SEL.all = 25; // Xint1 connected to GPIO25 - - // Make GPIO26 the input source for XINT2 - GpioCtrlRegs.GPAMUX2.bit.GPIO26 = 0; // GPIO26 = GPIO26 - GpioCtrlRegs.GPADIR.bit.GPIO26 = 0; // GPIO26 = input - GpioIntRegs.GPIOXINT2SEL.all = 26; // XINT2 connected to GPIO26 - - // Make GPIO27 wakeup from HALT/STANDBY Low Power Modes - GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0; // GPIO27 = GPIO27 - GpioCtrlRegs.GPADIR.bit.GPIO27 = 0; // GPIO27 = input - GpioIntRegs.GPIOLPMSEL.bit.GPIO27=1; // GPIO27 will wake the device - SysCtrlRegs.LPMCR0.bit.QUALSTDBY=2; // Qualify GPIO27 by 2 OSCCLK - // cycles before waking the device - // from STANDBY - - // Enable SCI-A on GPIO28 - GPIO29 - GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0; // Enable pullup on GPIO28 - GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3; // asynch input - GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1; // GPIO28 = SCIRXDA - GpioCtrlRegs.GPAPUD.bit.GPIO29 = 0; // Enable pullup on GPIO29 - GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1; // GPIO29 = SCITXDA - - // Enable CAN-A on GPIO30 - GPIO31 - GpioCtrlRegs.GPAPUD.bit.GPIO30 = 0; // Enable pullup on GPIO30 - GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 1; // GPIO30 = CANTXA - GpioCtrlRegs.GPAPUD.bit.GPIO31 = 0; // Enable pullup on GPIO31 - GpioCtrlRegs.GPAQSEL2.bit.GPIO31 = 3; // asynch input - GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 1; // GPIO31 = CANRXA - - // Enable I2C-A on GPIO32 - GPIO33 - GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; // Enable pullup on GPIO32 - GpioCtrlRegs.GPBPUD.bit.GPIO33 = 0; // Enable pullup on GPIO33 - GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 3; // asynch input - GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 3; // asynch input - GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 1; // GPIO32 = SDAA - GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 1; // GPIO33 = SCLA - - // Make GPIO34 an input - GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; // Enable pullup on GPIO34 - GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0; // GPIO34 = GPIO34 - GpioCtrlRegs.GPBDIR.bit.GPIO34 = 0; // GPIO34 = input - - EDIS; -} - - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/gpio_setup/Example_2833xGpioSetup.gel b/Source/External/v120/DSP2833x_examples/gpio_setup/Example_2833xGpioSetup.gel deleted file mode 100644 index 84616d3..0000000 --- a/Source/External/v120/DSP2833x_examples/gpio_setup/Example_2833xGpioSetup.gel +++ /dev/null @@ -1,35 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:16:35 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x GPIO Setup Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xGpioSetup.pjt"); - GEL_ProjectBuild("Example_2833xGpioSetup.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xGpioSetup.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd(" GpioCtrlRegs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/gpio_setup/Example_2833xGpioSetup.pjt b/Source/External/v120/DSP2833x_examples/gpio_setup/Example_2833xGpioSetup.pjt deleted file mode 100644 index 246125c..0000000 --- a/Source/External/v120/DSP2833x_examples/gpio_setup/Example_2833xGpioSetup.pjt +++ /dev/null @@ -1,44 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\gpio_setup\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xGpioSetup.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\gpio_setup\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\gpio_setup\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\gpio_setup\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xGpioSetup.map" -o".\Debug\Example_2833xGpioSetup.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xGpioToggle.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/gpio_toggle/Example_2833xGpioToggle.c b/Source/External/v120/DSP2833x_examples/gpio_toggle/Example_2833xGpioToggle.c deleted file mode 100644 index 017a1f7..0000000 --- a/Source/External/v120/DSP2833x_examples/gpio_toggle/Example_2833xGpioToggle.c +++ /dev/null @@ -1,245 +0,0 @@ -// TI File $Revision: /main/8 $ -// Checkin $Date: April 21, 2008 15:42:43 $ -//########################################################################### -// -// FILE: Example_2833xGpioToggle.c -// -// TITLE: DSP2833x Device GPIO toggle test program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// ALL OF THE I/O'S TOGGLE IN THIS PROGRAM. MAKE SURE -// THIS WILL NOT DAMAGE YOUR HARDWARE BEFORE RUNNING THIS -// EXAMPLE. -// -// Monitor desired pins on an oscilloscope. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// Three different examples are included. Select the example -// (data, set/clear or toggle) to execute before compiling using -// the #define statements found at the top of the code. -// -// -// Toggle all of the GPIO PORT pins -// -// The pins can be observed using Oscilloscope. -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Select the example to compile in. Only one example should be set as 1 -// the rest should be set as 0. -#define EXAMPLE1 1 // Use DATA registers to toggle I/O's -#define EXAMPLE2 0 // Use SET/CLEAR registers to toggle I/O's -#define EXAMPLE3 0 // Use TOGGLE registers to toggle I/O's - - -// Prototype statements for functions found within this file. -void delay_loop(void); -void Gpio_select(void); -void Gpio_example1(void); -void Gpio_example2(void); -void Gpio_example3(void); - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// For this example use the following configuration: - Gpio_select(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// Step 5. User specific code: - -#if EXAMPLE1 - - // This example uses DATA registers to toggle I/O's - Gpio_example1(); - -#endif // - EXAMPLE1 - -#if EXAMPLE2 - - // This example uses SET/CLEAR registers to toggle I/O's - Gpio_example2(); - -#endif - -#if EXAMPLE3 - - // This example uses TOGGLE registers to toggle I/O's - Gpio_example3(); - -#endif - -} - -void delay_loop() -{ - short i; - for (i = 0; i < 1000; i++) {} -} - - -void Gpio_example1(void) -{ - // Example 1: - // Toggle I/Os using DATA registers - - for(;;) - { - GpioDataRegs.GPADAT.all =0xAAAAAAAA; - GpioDataRegs.GPBDAT.all =0x0000000A; - - delay_loop(); - - GpioDataRegs.GPADAT.all =0x55555555; - GpioDataRegs.GPBDAT.all =0x00000005; - - delay_loop(); - } -} - -void Gpio_example2(void) -{ - // Example 2: - // Toggle I/Os using SET/CLEAR registers - for(;;) - { - - GpioDataRegs.GPASET.all =0xAAAAAAAA; - GpioDataRegs.GPACLEAR.all =0x55555555; - - GpioDataRegs.GPBSET.all =0x0000000A; - GpioDataRegs.GPBCLEAR.all =0x00000005; - - delay_loop(); - - GpioDataRegs.GPACLEAR.all =0xAAAAAAAA; - GpioDataRegs.GPASET.all =0x55555555; - - GpioDataRegs.GPBCLEAR.all =0x0000000A; - GpioDataRegs.GPBSET.all =0x00000005; - - delay_loop(); - - } -} - -void Gpio_example3(void) -{ - // Example 2: - // Toggle I/Os using TOGGLE registers - - // Set pins to a known state - - GpioDataRegs.GPASET.all =0xAAAAAAAA; - GpioDataRegs.GPACLEAR.all =0x55555555; - - GpioDataRegs.GPBSET.all =0x0000000A; - GpioDataRegs.GPBCLEAR.all =0x00000005; - - // Use TOGGLE registers to flip the state of - // the pins. - // Any bit set to a 1 will flip state (toggle) - // Any bit set to a 0 will not toggle. - - for(;;) - { - GpioDataRegs.GPATOGGLE.all =0xFFFFFFFF; - GpioDataRegs.GPBTOGGLE.all =0x0000000F; - delay_loop(); - } -} - - - -void Gpio_select(void) -{ - - - EALLOW; - GpioCtrlRegs.GPAMUX1.all = 0x00000000; // All GPIO - GpioCtrlRegs.GPAMUX2.all = 0x00000000; // All GPIO - GpioCtrlRegs.GPAMUX1.all = 0x00000000; // All GPIO - GpioCtrlRegs.GPADIR.all = 0xFFFFFFFF; // All outputs - GpioCtrlRegs.GPBDIR.all = 0x0000000F; // All outputs - EDIS; - -} -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/gpio_toggle/Example_2833xGpioToggle.gel b/Source/External/v120/DSP2833x_examples/gpio_toggle/Example_2833xGpioToggle.gel deleted file mode 100644 index 5e49d74..0000000 --- a/Source/External/v120/DSP2833x_examples/gpio_toggle/Example_2833xGpioToggle.gel +++ /dev/null @@ -1,36 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:16:50 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x GPIO Toggle Test" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xGpioToggle.pjt"); - GEL_ProjectBuild("Example_2833xGpioToggle.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xGpioToggle.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("GpioDataRegs,x"); - GEL_WatchAdd("GpioCtrlRegs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/gpio_toggle/Example_2833xGpioToggle.pjt b/Source/External/v120/DSP2833x_examples/gpio_toggle/Example_2833xGpioToggle.pjt deleted file mode 100644 index ae80e72..0000000 --- a/Source/External/v120/DSP2833x_examples/gpio_toggle/Example_2833xGpioToggle.pjt +++ /dev/null @@ -1,44 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\gpio_toggle\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xGpioToggle.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\gpio_toggle\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\gpio_toggle\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\gpio_toggle\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xGpioToggle.map" -o".\Debug\Example_2833xGpioToggle.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xGpioToggle.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/hrpwm/Example_2833xHRPWM.c b/Source/External/v120/DSP2833x_examples/hrpwm/Example_2833xHRPWM.c deleted file mode 100644 index 66c2b43..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm/Example_2833xHRPWM.c +++ /dev/null @@ -1,376 +0,0 @@ -// TI File $Revision: /main/14 $ -// Checkin $Date: May 5, 2008 15:25:53 $ -//########################################################################### -// -// FILE: Example_2833xHRPWM.c -// -// TITLE: DSP2833x Device HRPWM example -// -// ASSUMPTIONS: -// -// -// This program requires the DSP2833x header files. -// -// Monitor ePWM1-ePWM4 pins on an oscilloscope as described -// below. -// -// EPWM1A is on GPIO0 -// EPWM1B is on GPIO1 -// -// EPWM2A is on GPIO2 -// EPWM2B is on GPIO3 -// -// EPWM3A is on GPIO4 -// EPWM3B is on GPIO5 -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example modifies the MEP control registers to show edge displacement -// due to the HRPWM control extension of the respective ePWM module -// All ePWM1A,2A,3A,4A channels (GPIO0, GPIO2, GPIO4, GPIO6) will have fine edge movement -// due to HRPWM logic -// -// 1. 15MHz PWM (for 150 MHz SYSCLKOUT) or 10MHz PWM (for 100MHz SYSCLKOUT), -// ePWM1A toggle low/high with MEP control on rising edge -// 15MHz PWM (for 150 MHz SYSCLKOUT) or 10MHz PWM (for 100MHz SYSCLKOUT), -// ePWM1B toggle low/high with NO HRPWM control -// -// 2. 7.5MHz PWM (for 150 MHz SYSCLKOUT) or 5MHz PWM (for 100MHz SYSCLKOUT), -// ePWM2A toggle low/high with MEP control on rising edge -// 7.5MHz PWM (for 150 MHz SYSCLKOUT) or 5MHz PWM (for 100MHz SYSCLKOUT), -// ePWM2B toggle low/high with NO HRPWM control -// -// 3. 15MHz PWM (for 150 MHz SYSCLKOUT) or 10MHz PWM (for 100MHz SYSCLKOUT), -// ePWM3A toggle as high/low with MEP control on falling edge -// 15MHz PWM (for 150 MHz SYSCLKOUT) or 10MHz PWM (for 100MHz SYSCLKOUT), -// ePWM3B toggle low/high with NO HRPWM control -// -// 4. 7.5MHz PWM (for 150 MHz SYSCLKOUT) or 5MHz PWM (for 100MHz SYSCLKOUT), -// ePWM4A toggle as high/low with MEP control on falling edge -// 7.5MHz PWM (for 150 MHz SYSCLKOUT) or 5MHz PWM (for 100MHz SYSCLKOUT), -// ePWM4B toggle low/high with NO HRPWM control -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "DSP2833x_EPwm_defines.h" // useful defines for initialization - - -// Declare your function prototypes here -//--------------------------------------------------------------- - -void HRPWM1_Config(int); -void HRPWM2_Config(int); -void HRPWM3_Config(int); -void HRPWM4_Config(int); - -// General System nets - Useful for debug -Uint16 i,j, DutyFine, n,update; - -Uint32 temp; - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// For this case, just init GPIO for ePWM1-ePWM4 - -// For this case just init GPIO pins for ePWM1, ePWM2, ePWM3, ePWM4 -// These functions are in the DSP2833x_EPwm.c file - InitEPwm1Gpio(); - InitEPwm2Gpio(); - InitEPwm3Gpio(); - InitEPwm4Gpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// For this example, only initialize the ePWM -// Step 5. User specific code, enable interrupts: - - update =1; - DutyFine =0; - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; - EDIS; - -// Some useful Period vs Frequency values -// SYSCLKOUT = 150MHz 100 MHz -// ----------------------------------------- -// Period Frequency Frequency -// 1000 150 kHz 100 KHz -// 800 187 kHz 125 KHz -// 600 250 kHz 167 KHz -// 500 300 kHz 200 KHz -// 250 600 kHz 400 KHz -// 200 750 kHz 500 KHz -// 100 1.5 MHz 1.0 MHz -// 50 3.0 MHz 2.0 MHz -// 25 6.0 MHz 4.0 MHz -// 20 7.5 MHz 5.0 MHz -// 12 12.5 MHz 8.33 MHz -// 10 15.0 MHz 10.0 MHz -// 9 16.7 MHz 11.1 MHz -// 8 18.8 MHz 12.5 MHz -// 7 21.4 MHz 14.3 MHz -// 6 25.0 MHz 16.7 MHz -// 5 30.0 MHz 20.0 MHz - -//==================================================================== -// ePWM and HRPWM register initializaition -//==================================================================== - HRPWM1_Config(10); // ePWM1 target, 15 MHz PWM (SYSCLK=150MHz) or 10 MHz PWM (SYSCLK=100MHz) - HRPWM2_Config(20); // ePWM2 target, 7.5 MHz PWM (SYSCLK=150MHz) or 5 MHz PWM (SYSCLK=100MHz) - HRPWM3_Config(10); // ePWM3 target, 15 MHz PWM (SYSCLK=150MHz) or 10 MHz PWM (SYSCLK=100MHz) - HRPWM4_Config(20); // ePWM4 target, 7.5 MHz PWM (SYSCLK=150MHz) or 5 MHz PWM (SYSCLK=100MHz) - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; - EDIS; - - while (update ==1) - - { - - for(DutyFine =1; DutyFine <256 ;DutyFine ++) - { - - // Example, write to the HRPWM extension of CMPA - EPwm1Regs.CMPA.half.CMPAHR = DutyFine << 8; // Left shift by 8 to write into MSB bits - EPwm2Regs.CMPA.half.CMPAHR = DutyFine << 8; // Left shift by 8 to write into MSB bits - - // Example, 32-bit write to CMPA:CMPAHR - EPwm3Regs.CMPA.all = ((Uint32)EPwm3Regs.CMPA.half.CMPA << 16) + (DutyFine << 8); - EPwm4Regs.CMPA.all = ((Uint32)EPwm4Regs.CMPA.half.CMPA << 16) + (DutyFine << 8); - - for (i=0;i<10000;i++){} // Dummy delay between MEP changes - } - } - -} - - -void HRPWM1_Config(period) -{ -// ePWM1 register configuration with HRPWM -// ePWM1A toggle low/high with MEP control on Rising edge - - EPwm1Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm1Regs.TBPRD = period-1; // PWM frequency = 1 / period - EPwm1Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm1Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm1Regs.CMPB = period / 2; // set duty 50% initially - EPwm1Regs.TBPHS.all = 0; - EPwm1Regs.TBCTR = 0; - - EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // EPWM1 is the Master - EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm1Regs.AQCTLA.bit.ZRO = AQ_CLEAR; // PWM toggle low/high - EPwm1Regs.AQCTLA.bit.CAU = AQ_SET; - EPwm1Regs.AQCTLB.bit.ZRO = AQ_CLEAR; - EPwm1Regs.AQCTLB.bit.CBU = AQ_SET; - - EALLOW; - EPwm1Regs.HRCNFG.all = 0x0; - EPwm1Regs.HRCNFG.bit.EDGMODE = HR_REP; //MEP control on Rising edge - EPwm1Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm1Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - EDIS; -} - -void HRPWM2_Config(period) -{ -// ePWM2 register configuration with HRPWM -// ePWM2A toggle low/high with MEP control on Rising edge - - EPwm2Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm2Regs.TBPRD = period-1; // PWM frequency = 1 / period - EPwm2Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm2Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm2Regs.CMPB = period / 2; // set duty 50% initially - EPwm2Regs.TBPHS.all = 0; - EPwm2Regs.TBCTR = 0; - - EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE; // ePWM2 is the Master - EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm2Regs.AQCTLA.bit.ZRO = AQ_CLEAR; // PWM toggle low/high - EPwm2Regs.AQCTLA.bit.CAU = AQ_SET; - EPwm2Regs.AQCTLB.bit.ZRO = AQ_CLEAR; - EPwm2Regs.AQCTLB.bit.CBU = AQ_SET; - - EALLOW; - EPwm2Regs.HRCNFG.all = 0x0; - EPwm2Regs.HRCNFG.bit.EDGMODE = HR_REP; //MEP control on Rising edge - EPwm2Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm2Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - - EDIS; - -} -void HRPWM3_Config(period) -{ -// ePWM3 register configuration with HRPWM -// ePWM3A toggle high/low with MEP control on falling edge - - EPwm3Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm3Regs.TBPRD = period-1; // PWM frequency = 1 / period - EPwm3Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm3Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm3Regs.CMPB = period / 2; // set duty 50% initially - EPwm3Regs.TBPHS.all = 0; - EPwm3Regs.TBCTR = 0; - - EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE; // ePWM3 is the Master - EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm3Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low - EPwm3Regs.AQCTLA.bit.CAU = AQ_CLEAR; - EPwm3Regs.AQCTLB.bit.ZRO = AQ_SET; - EPwm3Regs.AQCTLB.bit.CBU = AQ_CLEAR; - - EALLOW; - EPwm3Regs.HRCNFG.all = 0x0; - EPwm3Regs.HRCNFG.bit.EDGMODE = HR_FEP; //MEP control on falling edge - EPwm3Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm3Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - EDIS; -} - -void HRPWM4_Config(period) -{ -// ePWM4 register configuration with HRPWM -// ePWM4A toggle high/low with MEP control on falling edge - - EPwm4Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm4Regs.TBPRD = period-1; // PWM frequency = 1 / period - EPwm4Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm4Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm4Regs.CMPB = period / 2; // set duty 50% initially - EPwm4Regs.TBPHS.all = 0; - EPwm4Regs.TBCTR = 0; - - EPwm4Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm4Regs.TBCTL.bit.PHSEN = TB_DISABLE; // ePWM4 is the Master - EPwm4Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm4Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm4Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - EPwm4Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm4Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm4Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm4Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm4Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low - EPwm4Regs.AQCTLA.bit.CAU = AQ_CLEAR; - EPwm4Regs.AQCTLB.bit.ZRO = AQ_SET; - EPwm4Regs.AQCTLB.bit.CBU = AQ_CLEAR; - - EALLOW; - EPwm4Regs.HRCNFG.all = 0x0; - EPwm4Regs.HRCNFG.bit.EDGMODE = HR_FEP; // MEP control on falling edge - EPwm4Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm4Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - EDIS; -} - - - - - - - - - - - diff --git a/Source/External/v120/DSP2833x_examples/hrpwm/Example_2833xHRPWM.gel b/Source/External/v120/DSP2833x_examples/hrpwm/Example_2833xHRPWM.gel deleted file mode 100644 index 5ccf383..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm/Example_2833xHRPWM.gel +++ /dev/null @@ -1,42 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:17:09 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x HRPWM" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xHRPWM.pjt"); - GEL_ProjectBuild("Example_2833xHRPWM.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xHRPWM.out"); - Setup_WatchWindow(); -} - - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("DutyFine,x"); - GEL_WatchAdd("update,x"); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); - GEL_WatchAdd("EPwm4Regs,x"); - -} diff --git a/Source/External/v120/DSP2833x_examples/hrpwm/Example_2833xHRPWM.pjt b/Source/External/v120/DSP2833x_examples/hrpwm/Example_2833xHRPWM.pjt deleted file mode 100644 index b92acda..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm/Example_2833xHRPWM.pjt +++ /dev/null @@ -1,51 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xHRPWM.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -k -q -al -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -cr -ecode_start -m".\Debug\Example_2833xHRPWM.map" -o".\Debug\Example_2833xHRPWM.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xHRPWM.out" -x - -["..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" Settings: "Debug"] -LinkOrder=1 - -["..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" Settings: "Debug"] -LinkOrder=2 - diff --git a/Source/External/v120/DSP2833x_examples/hrpwm_sfo/Example_2833xHRPWM_SFO.c b/Source/External/v120/DSP2833x_examples/hrpwm_sfo/Example_2833xHRPWM_SFO.c deleted file mode 100644 index 9e092f6..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm_sfo/Example_2833xHRPWM_SFO.c +++ /dev/null @@ -1,546 +0,0 @@ -// TI File $Revision: /main/15 $ -// Checkin $Date: May 5, 2008 15:25:56 $ -//########################################################################### -// -// FILE: Example_2833xHRPWM_SFO.c -// -// TITLE: DSP2833x Device HRPWM example -// -// ASSUMPTIONS: -// -// -// This program requires the DSP2833x header files, which include the -// SFO_TI_Build_fpu.lib (or SFO_TI_Build.lib for fixed-point) and SFO.h -// files required by this example. -// -// !!NOTE!! -// By default, this example project is configured for floating-point math. All -// included libraries must be pre-compiled for floating-point math. -// -// Therefore, SFO_TI_Build_fpu.lib (compiled for floating-point) is included in the -// project instead of the SFO_TI_Build.lib (compiled for fixed-point). -// -// To convert the example for fixed-point math, follow the instructions in sfo_readme.txt -// in the /doc directory of the header files and peripheral examples package. -// -// -// Monitor ePWM1-ePWM4 pins on an oscilloscope as described -// below. -// -// EPWM1A is on GPIO0 -// EPWM2A is on GPIO2 -// EPWM3A is on GPIO4 -// EPWM4A is on GPIO6 -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example modifies the MEP control registers to show edge displacement -// due to the HRPWM control extension of the respective ePWM module. -// -// This example calls the following TI's MEP Scale Factor Optimizer (SFO) -// software library functions: -// -// void SFO_MepEn(int i); -// initialize MEP_Scalefactor[i] dynamically when HRPWM is in use. -// -// void SFO_MepDis(int i); -// initialize MEP_Scalefactor[i] when HRPWM is not used -// -// Where MEP_ScaleFactor[5] is a global array variable used by the SFO library -// -// This example is intended to explain the HRPWM capabilities. The code can be -// optimized for code efficiency. Refer to TI's Digital power application -// examples and TI Digital Power Supply software libraries for details. -// -// All ePWM1A,2A,3A,4A channels (GPIO0, GPIO2, GPIO4, GPIO6) will have fine -// edge movement due to the HRPWM logic -// -// 1. 5MHz PWM (SYSCLK=150MHz) or 3.33MHz PWM (SYSCLK=100MHz), ePWM1A toggle low/high with MEP control on falling edge -// -// 2. 5MHz PWM (SYSCLK=150MHz) or 3.33MHz PWM (SYSCLK=100MHz) ePWM2A toggle low/high with MEP control on falling edge -// -// 3. 5MHz PWM (SYSCLK=150MHz) or 3.33MHz PWM (SYSCLK=100MHz) ePWM3A toggle high/low with MEP control on falling edge -// -// 4. 5MHz PWM (SYSCLK=150MHz) or 3.33MHz PWM (SYSCLK=100MHz) ePWM4A toggle high/low with MEP control on falling edge -// -// To load and run this example: -// 1. Run this example at 150MHz SYSCLKOUT (or 100 MHz SYSCLKOUT for 100 MHz devices) -// 2. Load the Example_2833xHRPWM_SFO.gel and observe variables in the watch window -// 3. Activate Real time mode -// 4. Run the code -// 5. Watch ePWM1A-4A waveforms on a Oscillosope -// 6. In the watch window: -// Set the variable UpdateFine = 1 to observe the ePWMxA output -// with HRPWM capabilites (default) -// Observe the duty cycle of the waveform changes in fine MEP steps -// 7. In the watch window: -// Change the variable UpdateFine to 0, to observe the -// ePWMxA output without HRPWM capabilites -// Observe the duty cycle of the waveform changes in coarse steps of 10nsec. -// -// -// Watch Variables: -// UpdateFine -// MEP_ScaleFactor -// EPwm1Regs.CMPA.all -// EPwm2Regs.CMPA.all -// EPwm3Regs.CMPA.all -// EPwm4Regs.CMPA.all -// -// -// IMPORTANT NOTE!!!!! -// -// THE SFO.H FUNCTIONS INCLUDED WITH THIS EXAMPLE ONLY SUPPORTS EPWM1-EPWM4. FOR -// SUPPORT FOR MORE THAN 4 EPWMS, USE SFO_V5.H WITH THE SFO_TI_BUILD_V5.LIB LIBRARY. -// SEE THE HRPWM REFERENCE GUIDE (SPRU924) FOR USAGE INFORMATION AND DIFFERENCES -// BETWEEN VERSIONS. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "DSP2833x_EPwm_defines.h" // useful defines for initialization -#include "SFO.h" // SFO library headerfile - -// Declare your function prototypes here -//--------------------------------------------------------------- -void HRPWM1_Config(int); -void HRPWM2_Config(int); -void HRPWM3_Config(int); -void HRPWM4_Config(int); - - -// General System nets - Useful for debug -Uint16 j,duty, DutyFine, n, UpdateFine; -volatile int i; -Uint32 temp; - -// Global array used by the SFO library -int16 MEP_ScaleFactor[5]; - - -volatile struct EPWM_REGS *ePWM[] = - { &EPwm1Regs, &EPwm1Regs, &EPwm2Regs, &EPwm3Regs, &EPwm4Regs, &EPwm5Regs, &EPwm6Regs}; - - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// For this case, just init GPIO for ePWM1-ePWM4 - -// For this case just init GPIO pins for ePWM1, ePWM2, ePWM3, ePWM4 -// These functions are in the DSP2833x_EPwm.c file - InitEPwm1Gpio(); - InitEPwm2Gpio(); - InitEPwm3Gpio(); - InitEPwm4Gpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// For this example, only initialize the ePWM -// Step 5. User specific code, enable interrupts: - - UpdateFine = 1; - DutyFine = 0; - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; - EDIS; - -// MEP_ScaleFactor variables iitialization for SFO library functions - MEP_ScaleFactor[0] = 0; //Common Variables for SFO functions - MEP_ScaleFactor[1] = 0; //SFO for HRPWM1 - MEP_ScaleFactor[2] = 0; //SFO for HRPWM2 - MEP_ScaleFactor[3] = 0; //SFO for HRPWM3 - MEP_ScaleFactor[4] = 0; //SFO for HRPWM4 - -// MEP_ScaleFactor variables initialized using function SFO_MepDis - while ( MEP_ScaleFactor[1] == 0 ) SFO_MepDis(1); //SFO for HRPWM1 - while ( MEP_ScaleFactor[2] == 0 ) SFO_MepDis(2); //SFO for HRPWM2 - while ( MEP_ScaleFactor[3] == 0 ) SFO_MepDis(3); //SFO for HRPWM3 - while ( MEP_ScaleFactor[4] == 0 ) SFO_MepDis(4); //SFO for HRPWM4 - -// Initialize a common seed variable MEP_ScaleFactor[0] required for all SFO functions - MEP_ScaleFactor[0] = MEP_ScaleFactor[1]; //Common Variable for SFO library functions - -/// Some useful Period vs Frequency values -// SYSCLKOUT = 150MHz 100 MHz -// ----------------------------------------- -// Period Frequency Frequency -// 1000 150 kHz 100 KHz -// 800 187 kHz 125 KHz -// 600 250 kHz 167 KHz -// 500 300 kHz 200 KHz -// 250 600 kHz 400 KHz -// 200 750 kHz 500 KHz -// 100 1.5 MHz 1.0 MHz -// 50 3.0 MHz 2.0 MHz -// 30 5.0 MHz 3.33 MHz -// 25 6.0 MHz 4.0 MHz -// 20 7.5 MHz 5.0 MHz -// 12 12.5 MHz 8.33 MHz -// 10 15.0 MHz 10.0 MHz -// 9 16.7 MHz 11.1 MHz -// 8 18.8 MHz 12.5 MHz -// 7 21.4 MHz 14.3 MHz -// 6 25.0 MHz 16.7 MHz -// 5 30.0 MHz 20.0 MHz - -//==================================================================== -// ePWM and HRPWM register initializaition -//==================================================================== - HRPWM1_Config(30); // ePWM1 target, 5 MHz PWM (SYSCLK=150MHz) or 3.33 MHz PWM (SYSCLK=100MHz) - HRPWM2_Config(30); // ePWM2 target, 5 MHz PWM (SYSCLK=150MHz) or 3.33 MHz PWM (SYSCLK=100MHz) - HRPWM3_Config(30); // ePWM3 target, 5 MHz PWM (SYSCLK=150MHz) or 3.33 MHz PWM (SYSCLK=100MHz) - HRPWM4_Config(30); // ePWM4 target, 5 MHz PWM (SYSCLK=150MHz) or 3.33 MHz PWM (SYSCLK=100MHz) - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; - - EDIS; - - for(;;) - { - // Sweep DutyFine as a Q15 number from 0.2 - 0.999 - for(DutyFine = 0x2300; DutyFine < 0x7000; DutyFine++) - { - // Variables - int16 CMPA_reg_val, CMPAHR_reg_val; - int32 temp; - - if(UpdateFine) - { - /* - // CMPA_reg_val is calculated as a Q0. - // Since DutyFine is a Q15 number, and the period is Q0 - // the product is Q15. So to store as a Q0, we shift right - // 15 bits. - - CMPA_reg_val = ((long)DutyFine * EPwm1Regs.TBPRD)>>15; - - // This next step is to obtain the remainder which was - // truncated during our 15 bit shift above. - // compute the whole value, and then subtract CMPA_reg_val - // shifted LEFT 15 bits: - temp = ((long)DutyFine * EPwm1Regs.TBPRD) ; - temp = temp - ((long)CMPA_reg_val<<15); - - // This obtains the MEP count in digits, from - // 0,1, .... MEP_Scalefactor. Once again since this is Q15 - // convert to Q0 by shifting: - CMPAHR_reg_val = (temp*MEP_ScaleFactor[1])>>15; - - // Now the lower 8 bits contain the MEP count. - // Since the MEP count needs to be in the upper 8 bits of - // the 16 bit CMPAHR register, shift left by 8. - CMPAHR_reg_val = CMPAHR_reg_val << 8; - - // Add the offset and rounding - CMPAHR_reg_val += 0x0180; - - // Write the values to the registers as one 32-bit or two 16-bits - EPwm1Regs.CMPA.half.CMPA = CMPA_reg_val; - EPwm1Regs.CMPA.half.CMPAHR = CMPAHR_reg_val; - */ - - // All the above operations may be condensed into - // the following form: - // EPWM1 calculations - - CMPA_reg_val = ((long)DutyFine * EPwm1Regs.TBPRD)>>15; - temp = ((long)DutyFine * EPwm1Regs.TBPRD) ; - temp = temp - ((long)CMPA_reg_val<<15); - CMPAHR_reg_val = (temp*MEP_ScaleFactor[1])>>15; - CMPAHR_reg_val = CMPAHR_reg_val << 8; - CMPAHR_reg_val += 0x0180; - - // Example for a 32 bit write to CMPA:CMPAHR - EPwm1Regs.CMPA.all = ((long)CMPA_reg_val)<<16 | CMPAHR_reg_val; - - - // EPWM2 calculations - CMPA_reg_val = ((long)DutyFine * EPwm2Regs.TBPRD)>>15; - temp = ((long)DutyFine * EPwm2Regs.TBPRD) ; - temp = temp - ((long)CMPA_reg_val<<15); - CMPAHR_reg_val = (temp*MEP_ScaleFactor[2])>>15; - CMPAHR_reg_val = CMPAHR_reg_val << 8; - CMPAHR_reg_val += 0x0180; - // Example as a 16 bit write to CMPA and then a 16-bit write to CMPAHR - EPwm2Regs.CMPA.half.CMPA = CMPA_reg_val; - EPwm2Regs.CMPA.half.CMPAHR = CMPAHR_reg_val; - - // EPWM3 calculations - CMPA_reg_val = ((long)DutyFine * EPwm3Regs.TBPRD)>>15; - temp = ((long)DutyFine * EPwm3Regs.TBPRD) ; - temp = temp - ((long)CMPA_reg_val<<15); - CMPAHR_reg_val = (temp*MEP_ScaleFactor[3])>>15; - CMPAHR_reg_val = CMPAHR_reg_val << 8; - CMPAHR_reg_val += 0x0180; - EPwm3Regs.CMPA.half.CMPA = CMPA_reg_val; - EPwm3Regs.CMPA.half.CMPAHR = CMPAHR_reg_val; - - // EPWM4 calculations - CMPA_reg_val = ((long)DutyFine * EPwm4Regs.TBPRD)>>15; - temp = ((long)DutyFine * EPwm4Regs.TBPRD) ; - temp = temp - ((long)CMPA_reg_val<<15); - CMPAHR_reg_val = (temp*MEP_ScaleFactor[4])>>15; - CMPAHR_reg_val = CMPAHR_reg_val << 8; - CMPAHR_reg_val += 0x0180; - EPwm4Regs.CMPA.half.CMPA = CMPA_reg_val; - EPwm4Regs.CMPA.half.CMPAHR = CMPAHR_reg_val; - - } - else - { - // CMPA_reg_val is calculated as a Q0. - // Since DutyFine is a Q15 number, and the period is Q0 - // the product is Q15. So to store as a Q0, we shift right - // 15 bits. - - EPwm1Regs.CMPA.half.CMPA = ((long)DutyFine * EPwm1Regs.TBPRD>>15); - EPwm2Regs.CMPA.half.CMPA = ((long)DutyFine * EPwm2Regs.TBPRD)>>15; - EPwm3Regs.CMPA.half.CMPA = ((long)DutyFine * EPwm3Regs.TBPRD)>>15; - EPwm4Regs.CMPA.half.CMPA = ((long)DutyFine * EPwm4Regs.TBPRD)>>15; - - } - - - for (i=0;i<300;i++) - { - // Call the scale factor optimizer lib - SFO_MepEn(1); - SFO_MepEn(2); - SFO_MepEn(3); - SFO_MepEn(4); - - } - - - } - - } - -} - - -void HRPWM1_Config(period) -{ -// ePWM1 register configuration with HRPWM -// ePWM1A toggle low/high with MEP control on Rising edge - - EPwm1Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm1Regs.TBPRD = period-1; // PWM frequency = 1 / period - EPwm1Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm1Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm1Regs.CMPB = period / 2; // set duty 50% initially - EPwm1Regs.TBPHS.all = 0; - EPwm1Regs.TBCTR = 0; - - EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // EPWM1 is the Master - EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1; - EPwm1Regs.TBCTL.bit.FREE_SOFT = 11; - - EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - - EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low - EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR; - EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET; - EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR; - - - - EALLOW; - EPwm1Regs.HRCNFG.all = 0x0; - EPwm1Regs.HRCNFG.bit.EDGMODE = HR_FEP; //MEP control on falling edge - EPwm1Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm1Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - EDIS; -} - -void HRPWM2_Config(period) -{ -// ePWM2 register configuration with HRPWM -// ePWM2A toggle low/high with MEP control on Rising edge - - EPwm2Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm2Regs.TBPRD = period-1; // PWM frequency = 1 / period - EPwm2Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm1Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm2Regs.CMPB = period / 2; // set duty 50% initially - EPwm2Regs.TBPHS.all = 0; - EPwm2Regs.TBCTR = 0; - - EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE; // ePWM2 is the Master - EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1; - EPwm2Regs.TBCTL.bit.FREE_SOFT = 11; - - EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm2Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low - EPwm2Regs.AQCTLA.bit.CAU = AQ_CLEAR; - EPwm2Regs.AQCTLB.bit.ZRO = AQ_SET; - EPwm2Regs.AQCTLB.bit.CBU = AQ_CLEAR; - - EALLOW; - EPwm2Regs.HRCNFG.all = 0x0; - EPwm2Regs.HRCNFG.bit.EDGMODE = HR_FEP; //MEP control on falling edge - EPwm2Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm2Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - - EDIS; - -} -void HRPWM3_Config(period) -{ -// ePWM3 register configuration with HRPWM -// ePWM3A toggle high/low with MEP control on falling edge - - EPwm3Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm3Regs.TBPRD = period-1; // PWM frequency = 1 / period - EPwm3Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm3Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm3Regs.TBPHS.all = 0; - EPwm3Regs.TBCTR = 0; - - EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE; // ePWM3 is the Master - EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1; - EPwm3Regs.TBCTL.bit.FREE_SOFT = 11; - - EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm3Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low - EPwm3Regs.AQCTLA.bit.CAU = AQ_CLEAR; - EPwm3Regs.AQCTLB.bit.ZRO = AQ_SET; - EPwm3Regs.AQCTLB.bit.CBU = AQ_CLEAR; - - EALLOW; - EPwm3Regs.HRCNFG.all = 0x0; - EPwm3Regs.HRCNFG.bit.EDGMODE = HR_FEP; //MEP control on falling edge - EPwm3Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm3Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - EDIS; -} - -void HRPWM4_Config(period) -{ -// ePWM4 register configuration with HRPWM -// ePWM4A toggle high/low with MEP control on falling edge - - EPwm4Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm4Regs.TBPRD = period-1; // PWM frequency = 1 / period - EPwm4Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm4Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm4Regs.CMPB = period / 2; // set duty 50% initially - EPwm4Regs.TBPHS.all = 0; - EPwm4Regs.TBCTR = 0; - - EPwm4Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm4Regs.TBCTL.bit.PHSEN = TB_DISABLE; // ePWM4 is the Master - EPwm4Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm4Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm4Regs.TBCTL.bit.CLKDIV = TB_DIV1; - EPwm4Regs.TBCTL.bit.FREE_SOFT = 11; - - EPwm4Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm4Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm4Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm4Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm4Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low - EPwm4Regs.AQCTLA.bit.CAU = AQ_CLEAR; - EPwm4Regs.AQCTLB.bit.ZRO = AQ_SET; - EPwm4Regs.AQCTLB.bit.CBU = AQ_CLEAR; - - EALLOW; - EPwm4Regs.HRCNFG.all = 0x0; - EPwm4Regs.HRCNFG.bit.EDGMODE = HR_FEP; //MEP control on falling edge - EPwm4Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm4Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - EDIS; -} - -// No more diff --git a/Source/External/v120/DSP2833x_examples/hrpwm_sfo/Example_2833xHRPWM_SFO.gel b/Source/External/v120/DSP2833x_examples/hrpwm_sfo/Example_2833xHRPWM_SFO.gel deleted file mode 100644 index 520f385..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm_sfo/Example_2833xHRPWM_SFO.gel +++ /dev/null @@ -1,54 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:17:23 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -//########################################################################### -// Test Description: Run this GEL on F28335 or F2801. -// The Watch window should give a Scale factor value of 67-70 for the HRPWM -// modules in the device. F28335/6 will have four entries. F2801 will have three -//########################################################################### -*/ - -menuitem "DSP2833x HRPWM SFO" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xHRPWM_SFO.pjt"); - GEL_ProjectBuild("Example_2833xHRPWM_SFO.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xHRPWM_SFO.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - - GEL_WatchReset(); - GEL_WatchAdd("UpdateFine"); - GEL_WatchAdd("EPwm1Regs.CMPA.all"); - GEL_WatchAdd("EPwm2Regs.CMPA.all"); - GEL_WatchAdd("EPwm3Regs.CMPA.all"); - GEL_WatchAdd("EPwm4Regs.CMPA.all"); - GEL_WatchAdd("MEP_ScaleFactor[1]"); - GEL_WatchAdd("MEP_ScaleFactor[2]"); - GEL_WatchAdd("MEP_ScaleFactor[3]"); - GEL_WatchAdd("MEP_ScaleFactor[4]"); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); - GEL_WatchAdd("EPwm4Regs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/hrpwm_sfo/Example_2833xHRPWM_SFO.pjt b/Source/External/v120/DSP2833x_examples/hrpwm_sfo/Example_2833xHRPWM_SFO.pjt deleted file mode 100644 index ba907e6..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm_sfo/Example_2833xHRPWM_SFO.pjt +++ /dev/null @@ -1,59 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_sfo\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\lib\SFO_TI_Build_fpu.lib" -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xHRPWM_SFO.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -k -q -pdr -pdv -al -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_sfo\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_sfo\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -mt -v28 --float_support=fpu32 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_sfo\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xHRPWM_SFO.map" -o".\Debug\Example_2833xHRPWM_SFO.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xHRPWM_SFO.out" -x - -["..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" Settings: "Debug"] -LinkOrder=1 - -["..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" Settings: "Debug"] -LinkOrder=1 - -["..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" Settings: "Release"] -LinkOrder=1 - -["..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" Settings: "Debug"] -LinkOrder=2 - diff --git a/Source/External/v120/DSP2833x_examples/hrpwm_sfo_v5/Example_2833xHRPWM_SFO_V5.c b/Source/External/v120/DSP2833x_examples/hrpwm_sfo_v5/Example_2833xHRPWM_SFO_V5.c deleted file mode 100644 index 6635f1c..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm_sfo_v5/Example_2833xHRPWM_SFO_V5.c +++ /dev/null @@ -1,477 +0,0 @@ -// TI File $Revision: /main/14 $ -// Checkin $Date: June 23, 2008 08:58:36 $ -//########################################################################### -// -// FILE: Example_2833xHRPWM_SFO_V5.c -// -// TITLE: DSP2833x Device HRPWM SFO V5 example -// -// ASSUMPTIONS: -// -// -// This program requires the DSP2833x header files, which include -// the following files required for this example: -// SFO_V5.h and SFO_TI_Build_V5B_fpu.lib (or SFO_TI_Build_V5B.lib for fixed point) -// -// -// !!NOTE!! -// By default, this example project is configured for floating-point math. All included libraries -// must be pre-compiled for floating-point math. -// -// Therefore, SFO_TI_Build_V5B_fpu.lib (compiled for floating-point) is included in the -// project instead of the SFO_TI_Build_V5B.lib (compiled for fixed-point). -// -// To convert the example for fixed-point math, follow the instructions in sfo_readme.txt -// in the /doc directory of the header files and peripheral examples package. -// -// -// Monitor the following pins on an oscilloscope: -// ePWM1A (GPIO0) -// ePWM2A (GPIO2) -// ePWM3A (GPIO4) -// ePWM4A (GPIO6) -// ePWM5A (GPIO8) -// ePWM6A (GPIO10) -// -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example modifies the MEP control registers to show edge displacement -// due to the HRPWM control extension of the respective ePWM module. -// -// This example calls the following TI's MEP Scale Factor Optimizer (SFO) -// software library V5 functions: -// -// -// int SFO_MepEn_V5(int i); -// updates MEP_ScaleFactor[i] dynamically when HRPWM is in use. -// - returns 1 when complete for the specified channel -// - returns 0 if not complete for the specified channel -// - returns 2 if there is a scale factor out-of-range error -// (MEP_ScaleFactor[n] differs from seed MEP_ScaleFactor[0] -// by more than +/-15). To remedy this: -// 1. Check your software to make sure MepEn completes for -// 1 channel before calling MepEn for another channel. -// 2. Re-run MepDis and re-seed MEP_ScaleFactor[0]. Then -// try again. -// 3. If reason is known and acceptable, treat return of "2" -// like a return of "1", indicating calibration complete. -// -// int SFO_MepDis_V5(int i); -// updates MEP_ScaleFactor[i] when HRPWM is not used -// - returns 1 when complete for the specified channel -// - returns 0 if not complete for the specified channel -// -// MEP_ScaleFactor[PWM_CH] is a global array variable used by the SFO library -// -// ======================================================================= -// NOTE: For more information on using the SFO software library, see the -// High-Resolution Pulse Width Modulator (HRPWM) Reference Guide (spru924) -// ======================================================================= -// -// This example is intended to explain the HRPWM capabilities. The code can be -// optimized for code efficiency. Refer to TI's Digital power application -// examples and TI Digital Power Supply software libraries for details. -// -// All ePWM1A-6A channels will have fine -// edge movement due to the HRPWM logic -// -// 5MHz PWM (for 150 MHz SYSCLKOUT), ePWMxA toggle high/low with MEP control on rising edge -// 3.33MHz PWM (for 100 MHz SYSCLKOUT), ePWMxA toggle high/low with MEP control on rising edge -// -// To load and run this example: -// 1. **!!IMPORTANT!!** - in SFO_V5.h, set PWM_CH to the max number of -// HRPWM channels plus one. For example, for the F28335, the -// maximum number of HRPWM channels is 6. 6+1=7, so set -// #define PWM_CH 7 in SFO_V5.h. (Default is 7) -// 2. Run this example at 150/100MHz SYSCLKOUT -// 3. Load the Example_2833xHRPWM_SFO.gel and observe variables in the watch window -// 4. Activate Real time mode -// 5. Run the code -// 6. Watch ePWM1-6 waveforms on a Oscillosope -// 7. In the watch window: -// Set the variable UpdateFine = 1 to observe the ePWMxA output -// with HRPWM capabilites (default) -// Observe the duty cycle of the waveform changes in fine MEP steps -// 8. In the watch window: -// Change the variable UpdateFine to 0, to observe the -// ePWMxA output without HRPWM capabilites -// Observe the duty cycle of the waveform changes in coarse steps of 10nsec. -// -// Watch Variables: -// UpdateFine -// MEP_ScaleFactor -// EPwm1Regs.CMPA.all -// EPwm2Regs.CMPA.all -// EPwm3Regs.CMPA.all -// EPwm4Regs.CMPA.all -// EPwm5Regs.CMPA.all -// EPwm6Regs.CMPA.all -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "DSP2833x_EPwm_defines.h" // useful defines for initialization -#include "SFO_V5.h" // SFO V5 library headerfile - required to use SFO library functions - -// **!!IMPORTANT!!** -// UPDATE NUMBER OF HRPWM CHANNELS + 1 USED IN SFO_V5.H -// i.e. #define PWM_CH // F28335 has a maximum of 6 HRPWM channels (7=6+1) - -// Declare your function prototypes here -//--------------------------------------------------------------- -void HRPWM_Config(int); -void error (void); - -// General System nets - Useful for debug -Uint16 UpdateFine, DutyFine, status, nMepChannel; - -//==================================================================== -// The following declarations are required in order to use the SFO -// library functions: -// -int MEP_ScaleFactor[PWM_CH]; // Global array used by the SFO library - // For n HRPWM channels + 1 for MEP_ScaleFactor[0] - -// Array of pointers to EPwm register structures: -// *ePWM[0] is defined as dummy value not used in the example -volatile struct EPWM_REGS *ePWM[PWM_CH] = - { &EPwm1Regs, &EPwm1Regs, &EPwm2Regs, &EPwm3Regs, - &EPwm4Regs, &EPwm5Regs, &EPwm6Regs}; -//==================================================================== - -void main(void) -{ - // Local variables - int i; - Uint32 temp; - int16 CMPA_reg_val, CMPAHR_reg_val; - - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - -// For this case just init GPIO pins for ePWM1-ePWM6 -// This function is in the DSP2833x_EPwm.c file - InitEPwmGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// For this example, only initialize the ePWM -// Step 5. User specific code, enable interrupts: - - UpdateFine = 1; - DutyFine = 0; - nMepChannel=1; // HRPWM diagnostics start on ePWM channel 1 - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; - EDIS; - -// MEP_ScaleFactor variables intialization for SFO library functions - for(i=0;i>15; - - // This next step is to obtain the remainder which was - // truncated during our 15 bit shift above. - // compute the whole value, and then subtract CMPA_reg_val - // shifted LEFT 15 bits: - temp = ((long)DutyFine * EPwm1Regs.TBPRD) ; - temp = temp - ((long)CMPA_reg_val<<15); - - // This obtains the MEP count in digits, from - // 0,1, .... MEP_Scalefactor. Once again since this is Q15 - // convert to Q0 by shifting: - CMPAHR_reg_val = (temp*MEP_ScaleFactor[1])>>15; - - // Now the lower 8 bits contain the MEP count. - // Since the MEP count needs to be in the upper 8 bits of - // the 16 bit CMPAHR register, shift left by 8. - CMPAHR_reg_val = CMPAHR_reg_val << 8; - - // Add the offset and rounding - CMPAHR_reg_val += 0x0180; - - // Write the values to the registers as one 32-bit or two 16-bits - EPwm1Regs.CMPA.half.CMPA = CMPA_reg_val; - EPwm1Regs.CMPA.half.CMPAHR = CMPAHR_reg_val; - */ - - // All the above operations may be condensed into - // the following form for each channel: - - // EPWM calculations where EPwm1Regs are accessed - // by (*ePWM[1]), EPwm2Regs are accessed by (*ePWM[2]), - // etc.: - - for(i=1;i>15; - temp = ((long)DutyFine * (*ePWM[i]).TBPRD) ; - temp = temp - ((long)CMPA_reg_val<<15); - CMPAHR_reg_val = (temp*MEP_ScaleFactor[i])>>15; - CMPAHR_reg_val = CMPAHR_reg_val << 8; - CMPAHR_reg_val += 0x0180; - - // Example for a 32 bit write to CMPA:CMPAHR - (*ePWM[i]).CMPA.all = ((long)CMPA_reg_val)<<16 | CMPAHR_reg_val; - } - - } - else - { - // CMPA_reg_val is calculated as a Q0. - // Since DutyFine is a Q15 number, and the period is Q0 - // the product is Q15. So to store as a Q0, we shift right - // 15 bits. - - for(i=1;i>15); - } - } - - -// Call the scale factor optimizer lib function SFO_MepEn_V5() -// periodically to track for any changes due to temp/voltage. -// SFO_MepEn_V5 Calibration must be finished on one channel (return 1) before -// moving on to the next channel. -// -// *NOTE*: In this example, SFO_MepEn_V5 is called 700 times in a loop. For example -// purposes, this allows the CMPAHR and CMPA registers to change in such -// a way that when watching in "Continuous Refresh" mode, the user -// can see the CMPAHR register increment in fine steps to a certain point -// before the CMPA register increments in a coarse step. Normally, -// SFO_MepEn_V5 can be called once every so often in the background for -// a slow update with no for-loop. - - for (i=0; i<700; i++) // Call SFO_MepEn_V5 700 times. - { - status = SFO_MepEn_V5(nMepChannel); - if (status == SFO_COMPLETE) // Once SFO_MepEn_V5 complete (returns 1)- - nMepChannel++; // move on to next channel - else if (status == SFO_OUTRANGE_ERROR) // If MEP_ScaleFactor[nMepChannel] differs - { // from seed Mep_ScaleFactor[0] by more than - error(); // +/-15, status = 2 (out of range error) - } - if(nMepChannel==PWM_CH) - nMepChannel =1; // Once max channels reached, loop back to channel 1 - } - - } // end DutyFine for loop - - } // end infinite for loop - -} // end SFO_MepEn_V5 - -//============================================================= -// FUNCTION: HRPWM_Config -// DESCRIPTION: Configures all ePWM channels and sets up HRPWM -// on ePWMxA channels -// -// PARAMETERS: period - desired PWM period in TBCLK counts -// RETURN: N/A -//============================================================= - -void HRPWM_Config(period) -{ -Uint16 j; -// ePWM channel register configuration with HRPWM -// ePWMxA toggle low/high with MEP control on Rising edge - for (j=1;j +/- 15 -// from the Seed Value in MEP_ScaleFactor[0]. -// SFO_MepEn_V5 returned a "2" (SFO_OUTRANGE_ERROR). -// The user should: -// (1) Re-run SFO_MepDis_V5 to re-calibrate -// an appropriate seed value. -// (2) Ensure the code is not calling Mep_En_V5 -// on a different channel when it is currently -// still running on a channel. (Repetitively -// call Mep_En_V5 on current channel until an -// SFO_COMPLETE ( i.e. 1) is returned. -// (3) If the out-of-range condition is acceptable -// for the application, ignore the "2" and -// treat it as a "1" or SFO_COMPLETE. -// -// PARAMETERS: N/A -// RETURN: N/A -//============================================================= - -void error (void) -{ - ESTOP0; // Error - MEP_ScaleFactor out of range of Seed - rerun MepDis calibration. -} - - -// No more - diff --git a/Source/External/v120/DSP2833x_examples/hrpwm_sfo_v5/Example_2833xHRPWM_SFO_V5.gel b/Source/External/v120/DSP2833x_examples/hrpwm_sfo_v5/Example_2833xHRPWM_SFO_V5.gel deleted file mode 100644 index d76daae..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm_sfo_v5/Example_2833xHRPWM_SFO_V5.gel +++ /dev/null @@ -1,58 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:25:04 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -//########################################################################### -// Test Description: Run this GEL on F28334 -// The Watch window should give a Scale factor value of 67-70 for the HRPWM -// modules in the device. F28335 will have a maximum of 6 entries + 1 for -// MEP_ScaleFactor[0]. -//########################################################################### -*/ - -menuitem "DSP2833x HRPWM SFO V5" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xHRPWM_SFO_V5.pjt"); - GEL_ProjectBuild("Example_2833xHRPWM_SFO_V5.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xHRPWM_SFO_V5.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - - GEL_WatchReset(); - GEL_WatchAdd("UpdateFine"); - GEL_WatchAdd("EPwm1Regs.CMPA.all"); - GEL_WatchAdd("EPwm2Regs.CMPA.all"); - GEL_WatchAdd("EPwm3Regs.CMPA.all"); - GEL_WatchAdd("EPwm4Regs.CMPA.all"); - GEL_WatchAdd("EPwm5Regs.CMPA.all"); - GEL_WatchAdd("EPwm6Regs.CMPA.all"); - GEL_WatchAdd("MEP_ScaleFactor"); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); - GEL_WatchAdd("EPwm4Regs,x"); - GEL_WatchAdd("EPwm5Regs,x"); - GEL_WatchAdd("EPwm6Regs,x"); - - -} diff --git a/Source/External/v120/DSP2833x_examples/hrpwm_sfo_v5/Example_2833xHRPWM_SFO_V5.pjt b/Source/External/v120/DSP2833x_examples/hrpwm_sfo_v5/Example_2833xHRPWM_SFO_V5.pjt deleted file mode 100644 index 45731df..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm_sfo_v5/Example_2833xHRPWM_SFO_V5.pjt +++ /dev/null @@ -1,53 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_sfo_v5\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\lib\SFO_TI_Build_V5B_fpu.lib" -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xHRPWM_SFO_V5.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -pdv -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_sfo_v5\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_sfo_v5\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xHRPWM_SFO_V5.map" -o".\Debug\Example_2833xHRPWM_SFO_V5.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xHRPWM_SFO_V5.out" -x - -["..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" Settings: "Debug"] -LinkOrder=1 - -["..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" Settings: "Debug"] -LinkOrder=2 - diff --git a/Source/External/v120/DSP2833x_examples/hrpwm_slider/Example_2833xHRPWM_slider.c b/Source/External/v120/DSP2833x_examples/hrpwm_slider/Example_2833xHRPWM_slider.c deleted file mode 100644 index ba2dd87..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm_slider/Example_2833xHRPWM_slider.c +++ /dev/null @@ -1,381 +0,0 @@ -// TI File $Revision: /main/13 $ -// Checkin $Date: May 5, 2008 15:26:01 $ -//########################################################################### -// -// FILE: Example_2833xHRPWM_slider.c -// -// TITLE: DSP2833x Device HRPWM with Slider example -// -// ASSUMPTIONS: -// -// -// This program requires the DSP2833x header files. -// -// Monitor ePWM1-ePWM4 pins on an oscilloscope as described -// below. -// -// EPWM1A is on GPIO0 -// EPWM1B is on GPIO1 -// -// EPWM2A is on GPIO2 -// EPWM2B is on GPIO3 -// -// EPWM3A is on GPIO4 -// EPWM3B is on GPIO5 -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// -// This example modifies the MEP control registers to show edge displacement -// due to HRPWM control blocks of the respective ePWM module, ePWM1A, 2A, 3A, -// and 4A channels (GPIO0, GPIO2, GPIO4, and GPIO6) will have fine edge movement -// due to HRPWM logic. Load the Example_2833xHRPWM_slider.gel file. -// Select the HRPWM FineDutySlider from the GEL menu. A FineDuty slider -// graphics will show up in CCS. -// Load the program and run. Use the Slider to and observe the epwm edge displacement -// for each slider step change. This explains the MEP control on the ePWMxA channels -// -// 1. 15MHz PWM (for 150 MHz SYSCLKOUT) or 10MHz PWM (for 100MHz SYSCLKOUT), -// ePWM1A toggle low/high with MEP control on rising edge -// 15MHz PWM (for 150 MHz SYSCLKOUT) or 10MHz PWM (for 100MHz SYSCLKOUT), -// ePWM1B toggle low/high with NO HRPWM control -// -// 2. 7.5MHz PWM (for 150 MHz SYSCLKOUT) or 5MHz PWM (for 100MHz SYSCLKOUT), -// ePWM2A toggle low/high with MEP control on rising edge -// 7.5MHz PWM (for 150 MHz SYSCLKOUT) or 5MHz PWM (for 100MHz SYSCLKOUT), -// ePWM2B toggle low/high with NO HRPWM control -// -// 3. 15MHz PWM (for 150 MHz SYSCLKOUT) or 10MHz PWM (for 100MHz SYSCLKOUT), -// ePWM3A toggle as high/low with MEP control on falling edge -// 15MHz PWM (for 150 MHz SYSCLKOUT) or 10MHz PWM (for 100MHz SYSCLKOUT), -// ePWM3B toggle low/high with NO HRPWM control -// -// 4. 7.5MHz PWM (for 150 MHz SYSCLKOUT) or 5MHz PWM (for 100MHz SYSCLKOUT), -// ePWM4A toggle as high/low with MEP control on falling edge -// 7.5MHz PWM (for 150 MHz SYSCLKOUT) or 5MHz PWM (for 100MHz SYSCLKOUT), -// ePWM4B toggle low/high with NO HRPWM control -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "DSP2833x_EPwm_defines.h" // useful defines for initialization - - -// Declare your function prototypes here -//--------------------------------------------------------------- - -void HRPWM1_Config(int); -void HRPWM2_Config(int); -void HRPWM3_Config(int); -void HRPWM4_Config(int); - -// General System nets - Useful for debug -Uint16 i,j, duty, DutyFine, n,update; - -Uint32 temp; - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// For this case, just init GPIO for ePWM1-ePWM4 - -// For this case just init GPIO pins for ePWM1, ePWM2, ePWM3, ePWM4 -// These functions are in the DSP2833x_EPwm.c file - InitEPwm1Gpio(); - InitEPwm2Gpio(); - InitEPwm3Gpio(); - InitEPwm4Gpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// For this example, only initialize the ePWM -// Step 5. User specific code, enable interrupts: - - update =1; - DutyFine =0; - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; - EDIS; - -// Some useful Period vs Frequency values -// SYSCLKOUT = 150MHz 100 MHz -// ----------------------------------------- -// Period Frequency Frequency -// 1000 150 kHz 100 KHz -// 800 187 kHz 125 KHz -// 600 250 kHz 167 KHz -// 500 300 kHz 200 KHz -// 250 600 kHz 400 KHz -// 200 750 kHz 500 KHz -// 100 1.5 MHz 1.0 MHz -// 50 3.0 MHz 2.0 MHz -// 25 6.0 MHz 4.0 MHz -// 20 7.5 MHz 5.0 MHz -// 12 12.5 MHz 8.33 MHz -// 10 15.0 MHz 10.0 MHz -// 9 16.7 MHz 11.1 MHz -// 8 18.8 MHz 12.5 MHz -// 7 21.4 MHz 14.3 MHz -// 6 25.0 MHz 16.7 MHz -// 5 30.0 MHz 20.0 MHz - -//==================================================================== -// ePWM and HRPWM register initializaition -//==================================================================== - HRPWM1_Config(10); // ePWM1 target, 15 MHz PWM (SYSCLK=150MHz) or 10 MHz PWM (SYSCLK=100MHz) - HRPWM2_Config(20); // ePWM2 target, 7.5 MHz PWM (SYSCLK=150MHz) or 5 MHz PWM (SYSCLK=100MHz) - HRPWM3_Config(10); // ePWM3 target, 15 MHz PWM (SYSCLK=150MHz) or 10 MHz PWM (SYSCLK=100MHz) - HRPWM4_Config(20); // ePWM4 target, 7.5 MHz PWM (SYSCLK=150MHz) or 5 MHz PWM (SYSCLK=100MHz) - - - EALLOW; - SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; - EDIS; - - while (update ==1) - - { - -// for(DutyFine =1; DutyFine <256 ;DutyFine ++) - { - - // Example, write to the HRPWM extension of CMPA - EPwm1Regs.CMPA.half.CMPAHR = DutyFine << 8; // Left shift by 8 to write into MSB bits - EPwm2Regs.CMPA.half.CMPAHR = DutyFine << 8; // Left shift by 8 to write into MSB bits - - // Example, 32-bit write to CMPA:CMPAHR - EPwm3Regs.CMPA.all = ((Uint32)EPwm3Regs.CMPA.half.CMPA << 16) + (DutyFine << 8); - EPwm4Regs.CMPA.all = ((Uint32)EPwm4Regs.CMPA.half.CMPA << 16) + (DutyFine << 8); - -// for (i=0;i<10000;i++){} // Dummy delay between MEP changes - } - } - -} - - -void HRPWM1_Config(period) -{ -// ePWM1 register configuration with HRPWM -// ePWM1A toggle low/high with MEP control on Rising edge - - EPwm1Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm1Regs.TBPRD = period - 1; // PWM frequency = 1 / period - EPwm1Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm1Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm1Regs.CMPB = period / 2; // set duty 50% initially - EPwm1Regs.TBPHS.all = 0; - EPwm1Regs.TBCTR = 0; - - EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // EPWM1 is the Master - EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm1Regs.AQCTLA.bit.ZRO = AQ_CLEAR; // PWM toggle low/high - EPwm1Regs.AQCTLA.bit.CAU = AQ_SET; - EPwm1Regs.AQCTLB.bit.ZRO = AQ_CLEAR; - EPwm1Regs.AQCTLB.bit.CBU = AQ_SET; - - EALLOW; - EPwm1Regs.HRCNFG.all = 0x0; - EPwm1Regs.HRCNFG.bit.EDGMODE = HR_REP; //MEP control on Rising edge - EPwm1Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm1Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - EDIS; -} - -void HRPWM2_Config(period) -{ -// ePWM2 register configuration with HRPWM -// ePWM2A toggle low/high with MEP control on Rising edge - - EPwm2Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm2Regs.TBPRD = period - 1; // PWM frequency = 1 / period - EPwm2Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm1Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm2Regs.CMPB = period / 2; // set duty 50% initially - EPwm2Regs.TBPHS.all = 0; - EPwm2Regs.TBCTR = 0; - - EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE; // ePWM2 is the Master - EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm2Regs.AQCTLA.bit.ZRO = AQ_CLEAR; // PWM toggle low/high - EPwm2Regs.AQCTLA.bit.CAU = AQ_SET; - EPwm2Regs.AQCTLB.bit.ZRO = AQ_CLEAR; - EPwm2Regs.AQCTLB.bit.CBU = AQ_SET; - - EALLOW; - EPwm2Regs.HRCNFG.all = 0x0; - EPwm2Regs.HRCNFG.bit.EDGMODE = HR_REP; //MEP control on Rising edge - EPwm2Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm2Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - - EDIS; - -} -void HRPWM3_Config(period) -{ -// ePWM3 register configuration with HRPWM -// ePWM3A toggle high/low with MEP control on falling edge - - EPwm3Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm3Regs.TBPRD = period - 1; // PWM frequency = 1 / period - EPwm3Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm3Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm3Regs.CMPB = period / 2; // set duty 50% initially - EPwm3Regs.TBPHS.all = 0; - EPwm3Regs.TBCTR = 0; - - EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE; // ePWM3 is the Master - EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm3Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low - EPwm3Regs.AQCTLA.bit.CAU = AQ_CLEAR; - EPwm3Regs.AQCTLB.bit.ZRO = AQ_SET; - EPwm3Regs.AQCTLB.bit.CBU = AQ_CLEAR; - - EALLOW; - EPwm3Regs.HRCNFG.all = 0x0; - EPwm3Regs.HRCNFG.bit.EDGMODE = HR_FEP; //MEP control on falling edge - EPwm3Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm3Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - EDIS; -} - -void HRPWM4_Config(period) -{ -// ePWM4 register configuration with HRPWM -// ePWM4A toggle high/low with MEP control on falling edge - - EPwm4Regs.TBCTL.bit.PRDLD = TB_IMMEDIATE; // set Immediate load - EPwm4Regs.TBPRD = period - 1; // PWM frequency = 1 / period - EPwm4Regs.CMPA.half.CMPA = period / 2; // set duty 50% initially - EPwm4Regs.CMPA.half.CMPAHR = (1 << 8); // initialize HRPWM extension - EPwm4Regs.CMPB = period / 2; // set duty 50% initially - EPwm4Regs.TBPHS.all = 0; - EPwm4Regs.TBCTR = 0; - - EPwm4Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; - EPwm4Regs.TBCTL.bit.PHSEN = TB_DISABLE; // ePWM4 is the Master - EPwm4Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE; - EPwm4Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; - EPwm4Regs.TBCTL.bit.CLKDIV = TB_DIV1; - - EPwm4Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwm4Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - EPwm4Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; - EPwm4Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; - - EPwm4Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low - EPwm4Regs.AQCTLA.bit.CAU = AQ_CLEAR; - EPwm4Regs.AQCTLB.bit.ZRO = AQ_SET; - EPwm4Regs.AQCTLB.bit.CBU = AQ_CLEAR; - - EALLOW; - EPwm4Regs.HRCNFG.all = 0x0; - EPwm4Regs.HRCNFG.bit.EDGMODE = HR_FEP; //MEP control on falling edge - EPwm4Regs.HRCNFG.bit.CTLMODE = HR_CMP; - EPwm4Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO; - EDIS; -} - - - - - - - - - - - diff --git a/Source/External/v120/DSP2833x_examples/hrpwm_slider/Example_2833xHRPWM_slider.gel b/Source/External/v120/DSP2833x_examples/hrpwm_slider/Example_2833xHRPWM_slider.gel deleted file mode 100644 index 0c5556a..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm_slider/Example_2833xHRPWM_slider.gel +++ /dev/null @@ -1,51 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:17:42 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x HRPWM Slider" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xHRPWM_slider.pjt"); - GEL_ProjectBuild("Example_2833xHRPWM_slider.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xHRPWM_slider.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - - GEL_WatchReset(); - GEL_WatchAdd("DutyFine"); - GEL_WatchAdd("EPwm1Regs.CMPA.all"); - GEL_WatchAdd("EPwm2Regs.CMPA.all"); - GEL_WatchAdd("EPwm3Regs.CMPA.all"); - GEL_WatchAdd("EPwm4Regs.CMPA.all"); - GEL_WatchAdd("EPwm1Regs,x"); - GEL_WatchAdd("EPwm2Regs,x"); - GEL_WatchAdd("EPwm3Regs,x"); - GEL_WatchAdd("EPwm4Regs,x"); -} - -menuitem "DSP2833x HRPWM FineDutySlider" -slider FineDutySlider(1, 255, 1, 1, finedutyvalue) -{ - - DutyFine = finedutyvalue; -} diff --git a/Source/External/v120/DSP2833x_examples/hrpwm_slider/Example_2833xHRPWM_slider.pjt b/Source/External/v120/DSP2833x_examples/hrpwm_slider/Example_2833xHRPWM_slider.pjt deleted file mode 100644 index dc610c8..0000000 --- a/Source/External/v120/DSP2833x_examples/hrpwm_slider/Example_2833xHRPWM_slider.pjt +++ /dev/null @@ -1,51 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_slider\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_EPwm.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xHRPWM_slider.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -k -q -al -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_slider\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_slider\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\hrpwm_slider\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -cr -ecode_start -m".\Debug\Example_2833xHRPWM_slider.map" -o".\Debug\Example_2833xHRPWM_slider.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xHRPWM_slider" -x - -["..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" Settings: "Debug"] -LinkOrder=1 - -["..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" Settings: "Debug"] -LinkOrder=2 - diff --git a/Source/External/v120/DSP2833x_examples/i2c_eeprom/Example_2833xI2C_eeprom.c b/Source/External/v120/DSP2833x_examples/i2c_eeprom/Example_2833xI2C_eeprom.c deleted file mode 100644 index d602c08..0000000 --- a/Source/External/v120/DSP2833x_examples/i2c_eeprom/Example_2833xI2C_eeprom.c +++ /dev/null @@ -1,473 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: April 21, 2008 15:43:02 $ -//########################################################################### -// -// FILE: Example_2833xI2c_eeprom.c -// -// TITLE: DSP2833x I2C EEPROM Example -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// This program requires an external I2C EEPROM connected to -// the I2C bus at address 0x50. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This program will write 1-14 words to EEPROM and read them back. -// The data written and the EEPROM address written to are contained -// in the message structure, I2cMsgOut1. The data read back will be -// contained in the message structure I2cMsgIn1. -// -// This program will work with the on-board I2C EEPROM supplied on -// the F2833x eZdsp. -// -// -//########################################################################### -// Original Author: D.F. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Note: I2C Macros used in this example can be found in the -// DSP2833x_I2C_defines.h file - -// Prototype statements for functions found within this file. -void I2CA_Init(void); -Uint16 I2CA_WriteData(struct I2CMSG *msg); -Uint16 I2CA_ReadData(struct I2CMSG *msg); -interrupt void i2c_int1a_isr(void); -void pass(void); -void fail(void); - -#define I2C_SLAVE_ADDR 0x50 -#define I2C_NUMBYTES 4 -#define I2C_EEPROM_HIGH_ADDR 0x00 -#define I2C_EEPROM_LOW_ADDR 0x30 - -// Global variables -// Two bytes will be used for the outgoing address, -// thus only setup 14 bytes maximum -struct I2CMSG I2cMsgOut1={I2C_MSGSTAT_SEND_WITHSTOP, - I2C_SLAVE_ADDR, - I2C_NUMBYTES, - I2C_EEPROM_HIGH_ADDR, - I2C_EEPROM_LOW_ADDR, - 0x12, // Msg Byte 1 - 0x34, // Msg Byte 2 - 0x56, // Msg Byte 3 - 0x78, // Msg Byte 4 - 0x9A, // Msg Byte 5 - 0xBC, // Msg Byte 6 - 0xDE, // Msg Byte 7 - 0xF0, // Msg Byte 8 - 0x11, // Msg Byte 9 - 0x10, // Msg Byte 10 - 0x11, // Msg Byte 11 - 0x12, // Msg Byte 12 - 0x13, // Msg Byte 13 - 0x12}; // Msg Byte 14 - - -struct I2CMSG I2cMsgIn1={ I2C_MSGSTAT_SEND_NOSTOP, - I2C_SLAVE_ADDR, - I2C_NUMBYTES, - I2C_EEPROM_HIGH_ADDR, - I2C_EEPROM_LOW_ADDR}; - -struct I2CMSG *CurrentMsgPtr; // Used in interrupts -Uint16 PassCount; -Uint16 FailCount; - -void main(void) -{ - Uint16 Error; - Uint16 i; - - CurrentMsgPtr = &I2cMsgOut1; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); -// Setup only the GP I/O only for I2C functionality - InitI2CGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.I2CINT1A = &i2c_int1a_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - I2CA_Init(); - -// Step 5. User specific code - - // Clear Counters - PassCount = 0; - FailCount = 0; - - // Clear incoming message buffer - for (i = 0; i < I2C_MAX_BUFFER_SIZE; i++) - { - I2cMsgIn1.MsgBuffer[i] = 0x0000; - } - -// Enable interrupts required for this example - -// Enable I2C interrupt 1 in the PIE: Group 8 interrupt 1 - PieCtrlRegs.PIEIER8.bit.INTx1 = 1; - -// Enable CPU INT8 which is connected to PIE group 8 - IER |= M_INT8; - EINT; - - // Application loop - for(;;) - { - ////////////////////////////////// - // Write data to EEPROM section // - ////////////////////////////////// - - // Check the outgoing message to see if it should be sent. - // In this example it is initialized to send with a stop bit. - if(I2cMsgOut1.MsgStatus == I2C_MSGSTAT_SEND_WITHSTOP) - { - Error = I2CA_WriteData(&I2cMsgOut1); - // If communication is correctly initiated, set msg status to busy - // and update CurrentMsgPtr for the interrupt service routine. - // Otherwise, do nothing and try again next loop. Once message is - // initiated, the I2C interrupts will handle the rest. Search for - // ICINTR1A_ISR in the i2c_eeprom_isr.c file. - if (Error == I2C_SUCCESS) - { - CurrentMsgPtr = &I2cMsgOut1; - I2cMsgOut1.MsgStatus = I2C_MSGSTAT_WRITE_BUSY; - } - } // end of write section - - /////////////////////////////////// - // Read data from EEPROM section // - /////////////////////////////////// - - // Check outgoing message status. Bypass read section if status is - // not inactive. - if (I2cMsgOut1.MsgStatus == I2C_MSGSTAT_INACTIVE) - { - // Check incoming message status. - if(I2cMsgIn1.MsgStatus == I2C_MSGSTAT_SEND_NOSTOP) - { - // EEPROM address setup portion - while(I2CA_ReadData(&I2cMsgIn1) != I2C_SUCCESS) - { - // Maybe setup an attempt counter to break an infinite while - // loop. The EEPROM will send back a NACK while it is performing - // a write operation. Even though the write communique is - // complete at this point, the EEPROM could still be busy - // programming the data. Therefore, multiple attempts are - // necessary. - } - // Update current message pointer and message status - CurrentMsgPtr = &I2cMsgIn1; - I2cMsgIn1.MsgStatus = I2C_MSGSTAT_SEND_NOSTOP_BUSY; - } - - // Once message has progressed past setting up the internal address - // of the EEPROM, send a restart to read the data bytes from the - // EEPROM. Complete the communique with a stop bit. MsgStatus is - // updated in the interrupt service routine. - else if(I2cMsgIn1.MsgStatus == I2C_MSGSTAT_RESTART) - { - // Read data portion - while(I2CA_ReadData(&I2cMsgIn1) != I2C_SUCCESS) - { - // Maybe setup an attempt counter to break an infinite while - // loop. - } - // Update current message pointer and message status - CurrentMsgPtr = &I2cMsgIn1; - I2cMsgIn1.MsgStatus = I2C_MSGSTAT_READ_BUSY; - } - } // end of read section - - } // end of for(;;) -} // end of main - - -void I2CA_Init(void) -{ - // Initialize I2C - I2caRegs.I2CSAR = 0x0050; // Slave address - EEPROM control code - - #if (CPU_FRQ_150MHZ) // Default - For 150MHz SYSCLKOUT - I2caRegs.I2CPSC.all = 14; // Prescaler - need 7-12 Mhz on module clk (150/15 = 10MHz) - #endif - #if (CPU_FRQ_100MHZ) // For 100 MHz SYSCLKOUT - I2caRegs.I2CPSC.all = 9; // Prescaler - need 7-12 Mhz on module clk (100/10 = 10MHz) - #endif - - I2caRegs.I2CCLKL = 10; // NOTE: must be non zero - I2caRegs.I2CCLKH = 5; // NOTE: must be non zero - I2caRegs.I2CIER.all = 0x24; // Enable SCD & ARDY interrupts - - I2caRegs.I2CMDR.all = 0x0020; // Take I2C out of reset - // Stop I2C when suspended - - I2caRegs.I2CFFTX.all = 0x6000; // Enable FIFO mode and TXFIFO - I2caRegs.I2CFFRX.all = 0x2040; // Enable RXFIFO, clear RXFFINT, - - return; -} - - -Uint16 I2CA_WriteData(struct I2CMSG *msg) -{ - Uint16 i; - - // Wait until the STP bit is cleared from any previous master communication. - // Clearing of this bit by the module is delayed until after the SCD bit is - // set. If this bit is not checked prior to initiating a new message, the - // I2C could get confused. - if (I2caRegs.I2CMDR.bit.STP == 1) - { - return I2C_STP_NOT_READY_ERROR; - } - - // Setup slave address - I2caRegs.I2CSAR = msg->SlaveAddress; - - // Check if bus busy - if (I2caRegs.I2CSTR.bit.BB == 1) - { - return I2C_BUS_BUSY_ERROR; - } - - // Setup number of bytes to send - // MsgBuffer + Address - I2caRegs.I2CCNT = msg->NumOfBytes+2; - - // Setup data to send - I2caRegs.I2CDXR = msg->MemoryHighAddr; - I2caRegs.I2CDXR = msg->MemoryLowAddr; -// for (i=0; iNumOfBytes-2; i++) - for (i=0; iNumOfBytes; i++) - - { - I2caRegs.I2CDXR = *(msg->MsgBuffer+i); - } - - // Send start as master transmitter - I2caRegs.I2CMDR.all = 0x6E20; - - return I2C_SUCCESS; -} - - -Uint16 I2CA_ReadData(struct I2CMSG *msg) -{ - // Wait until the STP bit is cleared from any previous master communication. - // Clearing of this bit by the module is delayed until after the SCD bit is - // set. If this bit is not checked prior to initiating a new message, the - // I2C could get confused. - if (I2caRegs.I2CMDR.bit.STP == 1) - { - return I2C_STP_NOT_READY_ERROR; - } - - I2caRegs.I2CSAR = msg->SlaveAddress; - - if(msg->MsgStatus == I2C_MSGSTAT_SEND_NOSTOP) - { - // Check if bus busy - if (I2caRegs.I2CSTR.bit.BB == 1) - { - return I2C_BUS_BUSY_ERROR; - } - I2caRegs.I2CCNT = 2; - I2caRegs.I2CDXR = msg->MemoryHighAddr; - I2caRegs.I2CDXR = msg->MemoryLowAddr; - I2caRegs.I2CMDR.all = 0x2620; // Send data to setup EEPROM address - } - else if(msg->MsgStatus == I2C_MSGSTAT_RESTART) - { - I2caRegs.I2CCNT = msg->NumOfBytes; // Setup how many bytes to expect - I2caRegs.I2CMDR.all = 0x2C20; // Send restart as master receiver - } - - return I2C_SUCCESS; -} - -interrupt void i2c_int1a_isr(void) // I2C-A -{ - Uint16 IntSource, i; - - // Read interrupt source - IntSource = I2caRegs.I2CISRC.all; - - // Interrupt source = stop condition detected - if(IntSource == I2C_SCD_ISRC) - { - // If completed message was writing data, reset msg to inactive state - if (CurrentMsgPtr->MsgStatus == I2C_MSGSTAT_WRITE_BUSY) - { - CurrentMsgPtr->MsgStatus = I2C_MSGSTAT_INACTIVE; - } - else - { - // If a message receives a NACK during the address setup portion of the - // EEPROM read, the code further below included in the register access ready - // interrupt source code will generate a stop condition. After the stop - // condition is received (here), set the message status to try again. - // User may want to limit the number of retries before generating an error. - if(CurrentMsgPtr->MsgStatus == I2C_MSGSTAT_SEND_NOSTOP_BUSY) - { - CurrentMsgPtr->MsgStatus = I2C_MSGSTAT_SEND_NOSTOP; - } - // If completed message was reading EEPROM data, reset msg to inactive state - // and read data from FIFO. - else if (CurrentMsgPtr->MsgStatus == I2C_MSGSTAT_READ_BUSY) - { - CurrentMsgPtr->MsgStatus = I2C_MSGSTAT_INACTIVE; - for(i=0; i < I2C_NUMBYTES; i++) - { - CurrentMsgPtr->MsgBuffer[i] = I2caRegs.I2CDRR; - } - { - // Check recieved data - for(i=0; i < I2C_NUMBYTES; i++) - { - if(I2cMsgIn1.MsgBuffer[i] == I2cMsgOut1.MsgBuffer[i]) - { - PassCount++; - } - else - { - FailCount++; - } - } - if(PassCount == I2C_NUMBYTES) - { - pass(); - } - else - { - fail(); - } - - - } - - } - } - } // end of stop condition detected - - // Interrupt source = Register Access Ready - // This interrupt is used to determine when the EEPROM address setup portion of the - // read data communication is complete. Since no stop bit is commanded, this flag - // tells us when the message has been sent instead of the SCD flag. If a NACK is - // received, clear the NACK bit and command a stop. Otherwise, move on to the read - // data portion of the communication. - else if(IntSource == I2C_ARDY_ISRC) - { - if(I2caRegs.I2CSTR.bit.NACK == 1) - { - I2caRegs.I2CMDR.bit.STP = 1; - I2caRegs.I2CSTR.all = I2C_CLR_NACK_BIT; - } - else if(CurrentMsgPtr->MsgStatus == I2C_MSGSTAT_SEND_NOSTOP_BUSY) - { - CurrentMsgPtr->MsgStatus = I2C_MSGSTAT_RESTART; - } - } // end of register access ready - - else - { - // Generate some error due to invalid interrupt source - asm(" ESTOP0"); - } - - // Enable future I2C (PIE Group 8) interrupts - PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; -} - -void pass() -{ - asm(" ESTOP0"); - for(;;); -} - -void fail() -{ - asm(" ESTOP0"); - for(;;); -} - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/i2c_eeprom/Example_2833xI2C_eeprom.gel b/Source/External/v120/DSP2833x_examples/i2c_eeprom/Example_2833xI2C_eeprom.gel deleted file mode 100644 index 3a11875..0000000 --- a/Source/External/v120/DSP2833x_examples/i2c_eeprom/Example_2833xI2C_eeprom.gel +++ /dev/null @@ -1,39 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:18:05 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x I2C EEPROM Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xI2C_eeprom.pjt"); - GEL_ProjectBuild("Example_2833xI2C_eeprom.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xI2C_eeprom.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("PassCount",,"Correct Bytes"); - GEL_WatchAdd("FailCount",,"Incorrect Bytes"); - GEL_WatchAdd("I2cMsgIn1.MsgBuffer",,"Input Buffer"); - GEL_WatchAdd("I2cMsgOut1.MsgBuffer",,"Output Buffer"); - GEL_WatchAdd("I2caRegs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/i2c_eeprom/Example_2833xI2C_eeprom.pjt b/Source/External/v120/DSP2833x_examples/i2c_eeprom/Example_2833xI2C_eeprom.pjt deleted file mode 100644 index 06c13e7..0000000 --- a/Source/External/v120/DSP2833x_examples/i2c_eeprom/Example_2833xI2C_eeprom.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\i2c_eeprom\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_I2C.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xI2C_eeprom.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\i2c_eeprom\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\i2c_eeprom\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\i2c_eeprom\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xI2C_eeprom.map" -o".\Debug\Example_2833xI2C_eeprom.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xI2C_eeprom.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/lpm_haltwake/Example_2833xHaltWake.c b/Source/External/v120/DSP2833x_examples/lpm_haltwake/Example_2833xHaltWake.c deleted file mode 100644 index dd70f78..0000000 --- a/Source/External/v120/DSP2833x_examples/lpm_haltwake/Example_2833xHaltWake.c +++ /dev/null @@ -1,167 +0,0 @@ -// TI File $Revision: /main/13 $ -// Checkin $Date: June 19, 2008 17:08:02 $ -//########################################################################### -// -// FILE: Example_2833xHaltWake.c -// -// TITLE: Device Halt Mode and Wakeup Program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// GPIO0 is configured as the LPM wakeup pin to trigger a -// WAKEINT interrupt upon detection of a low pulse. -// Initially, pull GPIO0 high externally. To wake device -// from halt mode, pull GPIO0 low for at least the crystal -// startup time + 2 OSCLKS, then pull it high again. -// -// To observe when device wakes from HALT mode, monitor -// GPIO1 with an oscilloscope (set to 1 in WAKEINT ISR) -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example puts the device into HALT mode. If the lowest -// possible current consumption in HALT mode is desired, the -// JTAG connector must be removed from the device board while -// the device is in HALT mode. -// -// The example then wakes up the device from HALT using GPIO0. -// GPIO0 wakes the device from HALT mode when a low pulse -// (signal goes high->low->high)is detected on the pin. -// This pin must be pulsed by an external agent for wakeup. -// -// As soon as GPIO0 goes high again after the pulse, the device -// should wake up, and GPIO1 can be observed to toggle. -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. - -interrupt void WAKE_ISR(void); // ISR for WAKEINT - -void main() - -{ - - asm(" EALLOW"); - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// Enable all pull-ups - EALLOW; - GpioCtrlRegs.GPAPUD.all = 0; - GpioCtrlRegs.GPBPUD.all = 0; - GpioCtrlRegs.GPADIR.bit.GPIO1 = 1; // GPIO1 set in the ISR to indicate device woken up. - GpioIntRegs.GPIOLPMSEL.bit.GPIO0 = 1; // Choose GPIO0 pin for wakeup - EDIS; - -/// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.WAKEINT = &WAKE_ISR; - EDIS; - -// Step 4. Initialize all the Device Peripherals: -// Not applicable for this example. - -// Step 5. User specific code, enable interrupts: - -// Enable CPU INT1 which is connected to WakeInt: - IER |= M_INT1; - -// Enable WAKEINT in the PIE: Group 1 interrupt 8 - PieCtrlRegs.PIEIER1.bit.INTx8 = 1; - PieCtrlRegs.PIEACK.bit.ACK1 = 1; -// Enable global Interrupts: - EINT; // Enable Global interrupt INTM - -// Write the LPM code value - EALLOW; - if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 1) // Only enter low power mode when PLL is not in limp mode. - { - SysCtrlRegs.LPMCR0.bit.LPM = 0x0002; // LPM mode = Halt - } - EDIS; -// Force device into HALT - - asm(" IDLE"); // Device waits in IDLE until falling edge on GPIO0/XNMI pin - // wakes device from halt mode. - for(;;){} // Loop here after wake-up. - -} - -/* ----------------------------------------------- */ -/* ISR for WAKEINT - Will be executed when */ -/* low pulse triggered on GPIO0 pin */ -/* ------------------------------------------------*/ -interrupt void WAKE_ISR(void) -{ - GpioDataRegs.GPATOGGLE.bit.GPIO1 = 1; // Toggle GPIO1 in the ISR - monitored with oscilloscope - PieCtrlRegs.PIEACK.bit.ACK1 = 1; -} diff --git a/Source/External/v120/DSP2833x_examples/lpm_haltwake/Example_2833xHaltWake.gel b/Source/External/v120/DSP2833x_examples/lpm_haltwake/Example_2833xHaltWake.gel deleted file mode 100644 index 584ec59..0000000 --- a/Source/External/v120/DSP2833x_examples/lpm_haltwake/Example_2833xHaltWake.gel +++ /dev/null @@ -1,29 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:24:32 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x Low Power Halt Mode Wakeup Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xHaltWake.pjt"); - GEL_ProjectBuild("Example_2833xHaltWake.pjt"); - -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xHaltWake.out"); - -} diff --git a/Source/External/v120/DSP2833x_examples/lpm_haltwake/Example_2833xHaltWake.pjt b/Source/External/v120/DSP2833x_examples/lpm_haltwake/Example_2833xHaltWake.pjt deleted file mode 100644 index 266e087..0000000 --- a/Source/External/v120/DSP2833x_examples/lpm_haltwake/Example_2833xHaltWake.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_haltwake\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xHaltWake.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_haltwake\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_haltwake\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_haltwake\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xHaltWake.map" -o".\Debug\Example_2833xHaltWake.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xHaltWake.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/lpm_idlewake/Example_2833xIdleWake.c b/Source/External/v120/DSP2833x_examples/lpm_idlewake/Example_2833xIdleWake.c deleted file mode 100644 index f9167ce..0000000 --- a/Source/External/v120/DSP2833x_examples/lpm_idlewake/Example_2833xIdleWake.c +++ /dev/null @@ -1,175 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: May 12, 2008 14:23:32 $ -//########################################################################### -// -// FILE: Example_2833xIdleWake.c -// -// TITLE: Device Idle Mode and Wakeup Program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// GPIO0 is configured as an XINT1 pin to trigger a -// XINT1 interrupt upon detection of a falling edge. -// Initially, pull GPIO0 high externally. To wake device -// from idle mode by triggering an XINT1 interrupt, -// pull GPIO0 low (falling edge) -// -// To observe when device wakes from IDLE mode, monitor -// GPIO1 with an oscilloscope (set to 1 in XINT1 ISR) -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example puts the device into IDLE mode. -// -// The example then wakes up the device from IDLE using XINT1 -// which triggers on a falling edge from GPIO0. -// This pin must be pulled from high to low by an external agent for -// wakeup. -// -// To observe the device wakeup from IDLE mode, monitor GPIO1 with -// an oscilloscope, which goes high in the XINT_1_ISR. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -interrupt void XINT_1_ISR(void); // ISR - -void main() - -{ -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - EALLOW; - GpioCtrlRegs.GPAPUD.all = 0; // Enable all Pull-ups - GpioCtrlRegs.GPBPUD.all = 0; - GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL = 0; // Choose GPIO0 as the XINT1 pin. - GpioCtrlRegs.GPADIR.all = 0xFFFFFFFE; // All pins are outputs except 0 - GpioDataRegs.GPADAT.all = 0x00000000; // All I/O pins are driven low - EDIS; - - XIntruptRegs.XINT1CR.bit.ENABLE = 1; // Enable XINT1 pin - XIntruptRegs.XINT1CR.bit.POLARITY = 0; // Interrupt triggers on falling edge - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.XINT1 = &XINT_1_ISR; - EDIS; - -// Step 4. Initialize all the Device Peripherals: -// Not applicable for this example. - -// Step 5. User specific code, enable interrupts: - -// Enable CPU INT1 which is connected to WakeInt: - IER |= M_INT1; - -// Enable XINT1 in the PIE: Group 1 interrupt 4 - PieCtrlRegs.PIEIER1.bit.INTx4 = 1; - PieCtrlRegs.PIEACK.bit.ACK1 = 1; - -// Enable global Interrupts: - EINT; // Enable Global interrupt INTM - -// Write the LPM code value - EALLOW; - if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 1) // Only enter Idle mode when PLL is not in limp mode. - { - SysCtrlRegs.LPMCR0.bit.LPM = 0x0000; // LPM mode = Idle - } - EDIS; - asm(" IDLE"); // Device waits in IDLE until XINT1 interrupts - for(;;){} -} - - -interrupt void XINT_1_ISR(void) -{ - GpioDataRegs.GPASET.bit.GPIO1 = 1; // GPIO1 is driven high upon exiting IDLE. - PieCtrlRegs.PIEACK.bit.ACK1 = 1; - EINT; - return; -} - - - - - - - - - - - - - - - - - diff --git a/Source/External/v120/DSP2833x_examples/lpm_idlewake/Example_2833xIdleWake.gel b/Source/External/v120/DSP2833x_examples/lpm_idlewake/Example_2833xIdleWake.gel deleted file mode 100644 index 97129a8..0000000 --- a/Source/External/v120/DSP2833x_examples/lpm_idlewake/Example_2833xIdleWake.gel +++ /dev/null @@ -1,28 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:24:43 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x Low Power Idle Mode Wakeup Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xIdleWake.pjt"); - GEL_ProjectBuild("Example_2833xIdleWake.pjt"); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xIdleWake.out"); - -} diff --git a/Source/External/v120/DSP2833x_examples/lpm_idlewake/Example_2833xIdleWake.pjt b/Source/External/v120/DSP2833x_examples/lpm_idlewake/Example_2833xIdleWake.pjt deleted file mode 100644 index 88e5a28..0000000 --- a/Source/External/v120/DSP2833x_examples/lpm_idlewake/Example_2833xIdleWake.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_idlewake\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xIdleWake.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_idlewake\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_idlewake\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_idlewake\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xIdleWake.map" -o".\Debug\Example_2833xIdleWake.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xIdleWake.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/lpm_standbywake/Example_2833xStandbyWake.c b/Source/External/v120/DSP2833x_examples/lpm_standbywake/Example_2833xStandbyWake.c deleted file mode 100644 index 2a30112..0000000 --- a/Source/External/v120/DSP2833x_examples/lpm_standbywake/Example_2833xStandbyWake.c +++ /dev/null @@ -1,169 +0,0 @@ -// TI File $Revision: /main/11 $ -// Checkin $Date: June 19, 2008 17:08:04 $ -//########################################################################### -// -// FILE: Example_2833xStandbyWake.c -// -// TITLE: Device Standby Mode and Wakeup Program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// GPIO0 is configured as the LPM wakeup pin to trigger a -// WAKEINT interrupt upon detection of a low pulse. -// Initially, pull GPIO0 high externally. To wake device -// from standby mode, pull GPIO0 low for at least (2+QUALSTDBY) -// OSCLKS, then pull it high again. -// -// To observe when device wakes from STANDBY mode, monitor -// GPIO1 with an oscilloscope (set to 1 in WAKEINT ISR) -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example puts the device into STANDBY mode. If the lowest -// possible current consumption in STANDBY mode is desired, the -// JTAG connector must be removed from the device board while -// the device is in STANDBY mode. -// -// The example then wakes up the device from STANDBY using GPIO0. -// GPIO0 wakes the device from STANDBY mode when a low pulse -// (signal goes high->low->high)is detected on the pin. -// This pin must be pulsed by an external agent for wakeup. -// -// As soon as GPIO0 goes high again after the pulse, the device -// should wake up, and GPIO1 can be observed to toggle. -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. - -interrupt void WAKE_ISR(void); // ISR for WAKEINT - -void main() - -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - EALLOW; - GpioCtrlRegs.GPAPUD.all = 0; // Enable all Pull-ups - GpioCtrlRegs.GPBPUD.all = 0; - GpioCtrlRegs.GPADIR.bit.GPIO1 = 1; // GPIO1 set in the ISR to indicate device woken up. - GpioIntRegs.GPIOLPMSEL.bit.GPIO0 = 1; // Choose GPIO0 pin for wakeup - EDIS; - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.WAKEINT = &WAKE_ISR; - EDIS; - -// Step 4. Initialize all the Device Peripherals: -// Not applicable for this example. - -// Step 5. User specific code, enable interrupts: - -// Enable CPU INT1 which is connected to WakeInt: - IER |= M_INT1; - -// Enable WAKEINT in the PIE: Group 1 interrupt 8 - PieCtrlRegs.PIEIER1.bit.INTx8 = 1; - PieCtrlRegs.PIEACK.bit.ACK1 = 1; -// Enable global Interrupts: - EINT; // Enable Global interrupt INTM - -// Choose qualification cycles in LPMCR0 register - SysCtrlRegs.LPMCR0.bit.QUALSTDBY = 0; // The wakeup signal should be (2+QUALSTDBY) OSCCLKs wide. - -// Write the LPM code value - EALLOW; - if (SysCtrlRegs.PLLSTS.bit.MCLKSTS != 1) // Only enter Standby mode when PLL is not in limp mode. - { - SysCtrlRegs.LPMCR0.bit.LPM = 0x0001; // LPM mode = Standby - } - EDIS; -// Force device into STANDBY - - asm(" IDLE"); // Device waits in IDLE until falling edge on GPIO0/XNMI pin - // wakes device from Standby mode. - for(;;){} // Loop here after wake-up. - -} - -/* ----------------------------------------------- */ -/* ISR for WAKEINT - Will be executed when */ -/* low pulse triggered on GPIO0 pin */ -/* ------------------------------------------------*/ -interrupt void WAKE_ISR(void) -{ - GpioDataRegs.GPATOGGLE.bit.GPIO1 = 1; // Toggle GPIO1 in the ISR - monitored with oscilloscope - PieCtrlRegs.PIEACK.bit.ACK1 = 1; - -} diff --git a/Source/External/v120/DSP2833x_examples/lpm_standbywake/Example_2833xStandbyWake.gel b/Source/External/v120/DSP2833x_examples/lpm_standbywake/Example_2833xStandbyWake.gel deleted file mode 100644 index cfec4cc..0000000 --- a/Source/External/v120/DSP2833x_examples/lpm_standbywake/Example_2833xStandbyWake.gel +++ /dev/null @@ -1,29 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:24:54 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x Low Power Standby Mode Wakeup Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xStandbyWake.pjt"); - GEL_ProjectBuild("Example_2833xStandbyWake.pjt"); - -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xStandbyWake.out"); - -} diff --git a/Source/External/v120/DSP2833x_examples/lpm_standbywake/Example_2833xStandbyWake.pjt b/Source/External/v120/DSP2833x_examples/lpm_standbywake/Example_2833xStandbyWake.pjt deleted file mode 100644 index 7ed3469..0000000 --- a/Source/External/v120/DSP2833x_examples/lpm_standbywake/Example_2833xStandbyWake.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_standbywake\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xStandbyWake.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_standbywake\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_standbywake\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\lpm_standbywake\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xStandbyWake.map" -o".\Debug\Example_2833xStandbyWake.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xStandbyWake.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_loopback/Example_2833xMcBSP_DLB.c b/Source/External/v120/DSP2833x_examples/mcbsp_loopback/Example_2833xMcBSP_DLB.c deleted file mode 100644 index 84f748e..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_loopback/Example_2833xMcBSP_DLB.c +++ /dev/null @@ -1,244 +0,0 @@ -//########################################################################### -// -// FILE: Example_2833xMCBSP_FFDLB.c -// -// TITLE: DSP2833x Device McBSP Digital Loop Back program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// Digital loopback tests for the McBSP peripheral. -// -// Three different serial word sizes can be tested. -// -// Before compiling this project: -// * Select the serial word size (8/16/32) by using -// the #define statements at the beginning of the code. -// - -// -// This example does not use interrupts. Instead, a polling -// method is used to check the receive data. The incoming -// data is checked for accuracy. If an error is found the error() -// function is called and execution stops. -// -// This program will execute until terminated by the user. -// -// Watch Variables: -// sdata1 -// sdata2 -// rdata1 -// rdata2 -// rdata1_point -// rdata2_point -// -//########################################################################### -// -// Original Author: S.S. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Choose a word size. Uncomment one of the following lines -#define WORD_SIZE 8 // Run a loopback test in 8-bit mode -//#define WORD_SIZE 16 // Run a loopback test in 16-bit mode -//#define WORD_SIZE 32 // Run a loopback test in 32-bit mode - - -// Prototype statements for functions found within this file. -void mcbsp_xmit(int a, int b); -void error(void); - -// Global data for this example -Uint16 sdata1 = 0x000; // Sent Data -Uint16 rdata1 = 0x000; // Recieved Data - -Uint16 sdata2 = 0x000; // Sent Data -Uint16 rdata2 = 0x000; // Recieved Data - -Uint16 rdata1_point; -Uint16 rdata2_point; - - -void main(void) -{ - Uint16 datasize; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// For this example, only enable the GPIO for McBSP-A - InitMcbspaGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - - datasize = WORD_SIZE; - InitMcbspa(); // Initalize the Mcbsp-A in loopback test mode - -// Step 5. User specific code, enable interrupts: - - if(datasize == 8) // Run a loopback test in 8-bit mode - { - InitMcbspa8bit(); - sdata2 = 0x0000; // value is a don't care for 8-bit mode - sdata1 = 0x0000; // 8-bit value to send - rdata2_point = 0x0000; // value is a don't care for 8-bit mode - rdata1_point = sdata1; - for(;;) - { - mcbsp_xmit(sdata1,sdata2); - sdata1++; - sdata1 = sdata1 & 0x00FF; // Keep it to 8-bits - - while(McbspaRegs.SPCR1.bit.RRDY == 0 ) { } // Check for receive - rdata1 = McbspaRegs.DRR1.all; // read DRR1 - if(rdata1 != rdata1_point) error(); - rdata1_point++; - rdata1_point = rdata1_point & 0x00FF; // Keep it to 8-bits - - asm(" nop"); // Good place for a breakpoint - // Check: rdatax_point = sdatax - // rdata1 = sdata1 - 1 - } - } - - - else if(datasize == 16) // Run a loopback test in 16-bit mode - { - InitMcbspa16bit(); - sdata2 = 0x0000; // value is a don't care for 16-bit mode - sdata1 = 0x0000; // 16-bit value to send - rdata2_point = 0x0000; // value is a don't care for 16-bit mode - rdata1_point = sdata1; - for(;;) - { - mcbsp_xmit(sdata1,sdata2); - sdata1++; - - while(McbspaRegs.SPCR1.bit.RRDY == 0 ) { } // Check for receive - rdata1 = McbspaRegs.DRR1.all; // read DRR1 - if(rdata1 != rdata1_point) error(); - rdata1_point++; - - asm(" nop"); // Good place for a breakpoint - // Check: rdatax_point = sdatax - // rdata1 = sdata1 - 1 - } - } - - - else if(datasize == 32) // Run a loopback test in 16-bit mode - { - InitMcbspa32bit(); - sdata1 = 0x0000; - sdata2 = 0xFFFF; - rdata1_point = sdata1; - rdata2_point = sdata2; - for(;;) - { - mcbsp_xmit(sdata1,sdata2); - sdata1++; - sdata2--; - - while(McbspaRegs.SPCR1.bit.RRDY == 0 ) { } // Check for receive - rdata2 = McbspaRegs.DRR2.all; - rdata1 = McbspaRegs.DRR1.all; - if(rdata1 != rdata1_point) error(); - if(rdata2 != rdata2_point) error(); - rdata1_point++; - rdata2_point--; - - asm(" nop"); // Good place for a breakpoint - // Check: rdatax_point = sdatax - // rdata1 = sdata1 - 1 - // rdata2 = sdata2 + 1 - } - } -} - - - -// Some Useful local functions - -void error(void) -{ - asm(" ESTOP0"); // test failed!! Stop! - for (;;); -} - -void mcbsp_xmit(int a, int b) -{ - McbspaRegs.DXR2.all=b; - McbspaRegs.DXR1.all=a; -} - -//=========================================================================== -// No more. -//=========================================================================== - - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_loopback/Example_2833xMcBSP_DLB.gel b/Source/External/v120/DSP2833x_examples/mcbsp_loopback/Example_2833xMcBSP_DLB.gel deleted file mode 100644 index 52976d1..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_loopback/Example_2833xMcBSP_DLB.gel +++ /dev/null @@ -1,27 +0,0 @@ -menuitem "DSP2833x McBSP loopback" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xMcBSP_DLB.pjt"); - GEL_ProjectBuild("Example_2833xMcBSP_DLB.pjt"); - Setup_WatchWindow(); -} - - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xMcBSP_DLB.out"); - Setup_WatchWindow(); -} - -Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("sdata1,x"); - GEL_WatchAdd("rdata1,x"); - GEL_WatchAdd("sdata2,x"); - GEL_WatchAdd("rdata2,x"); -} - - - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_loopback/Example_2833xMcBSP_DLB.pjt b/Source/External/v120/DSP2833x_examples/mcbsp_loopback/Example_2833xMcBSP_DLB.pjt deleted file mode 100644 index aa6cf7a..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_loopback/Example_2833xMcBSP_DLB.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_McBSP.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xMcBSP_DLB.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -m".\Debug\Example_2833xMcBSP_DLB.map" -o".\Debug\Example_2833xMcBSP_DLB.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xMcBSP_DLB.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_dma/Example_2833xMcBSP_DLB_DMA.c b/Source/External/v120/DSP2833x_examples/mcbsp_loopback_dma/Example_2833xMcBSP_DLB_DMA.c deleted file mode 100644 index 345e7d6..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_dma/Example_2833xMcBSP_DLB_DMA.c +++ /dev/null @@ -1,403 +0,0 @@ -//########################################################################### -// -// FILE: Example_2833xMCBSP_DLB_DMA.c -// -// TITLE: DSP2833x Device McBSP Digital Loop Back with DMA program -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This program is a McBSP example that uses the internal loopback of -// the peripheral and utilizes the DMA to transfer data from one buffer -// to the McBSP, and then from the McBSP to another buffer. -// -// Initially, sdata[] is filled with values from 0x0000- 0x007F. The DMA -// moves the values in sdata[] one by one to the DXRx registers of the McBSP. -// These values are transmitted and subsequently received by the McBSP. -// Then, the DMA moves each data value to rdata[] as it is received by the McBSP. -// -// Three different serial word sizes can be tested. -// -// Before compiling this project: -// * Select the serial word size (8/16/32) by using -// the #define statements at the beginning of the code. -// -// The program loops forever after all values have been transferred to sdata. -// It is up to the user to stop the program. -// -// -// By default for the McBSP examples, the McBSP sample rate generator (SRG) input -// clock frequency is LSPCLK (150E6/4 or 100E6/4) assuming SYSCLKOUT = 150 MHz or -// 100 MHz respectively. If while testing, the SRG input frequency -// is changed, the #define MCBSP_SRG_FREQ (150E6/4 or 100E6/4) in the Mcbsp.c file must -// also be updated accordingly. This define is used to determine the Mcbsp initialization -// delay after the SRG is enabled, which must be at least 2 SRG clock cycles. -// -// Watch Variables: -// sdata -// rdata -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Choose a word size. Uncomment one of the following lines -#define WORD_SIZE 8 // Run a loopback test in 8-bit mode -//#define WORD_SIZE 16 // Run a loopback test in 16-bit mode -//#define WORD_SIZE 32 // Run a loopback test in 32-bit mode - -// Prototype statements for functions found within this file. - -interrupt void local_D_INTCH1_ISR(void); -interrupt void local_D_INTCH2_ISR(void); -void mcbsp_init_dlb(void); -void init_dma(void); -void init_dma_32(void); -void start_dma(void); -void error(void); - - -// Place sdata and rdata buffers in DMA-accessible RAM (L4 for this example) -#pragma DATA_SECTION(sdata, "DMARAML4") -#pragma DATA_SECTION(rdata, "DMARAML4") -Uint16 sdata[128]; // Sent Data -Uint16 rdata[128]; // Recieved Data -Uint16 data_size; // Word Length variable - -void main(void) -{ - Uint16 i; -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// Setup only the GP I/O only for McBSP-A functionality - InitMcbspaGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // Allow access to EALLOW protected registers - PieVectTable.DINTCH1= &local_D_INTCH1_ISR; - PieVectTable.DINTCH2= &local_D_INTCH2_ISR; - EDIS; // Disable access to EALLOW protected registers - - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// Step 5. User specific code, enable interrupts: - data_size = WORD_SIZE; - for (i=0; i<128; i++) - { - sdata[i] = i; // Fill sdata with values between 0 and 0x007F - rdata[i] = 0; // Initialize rdata to all 0x0000. - } - if (data_size == 32) - { - init_dma_32(); // DMA Initialization for 32-bit transfers - } else - { - init_dma(); // 1. When using DMA, initialize DMA with peripheral interrupts first. - } - start_dma(); - mcbsp_init_dlb(); // 2. Then initialize and release peripheral (McBSP) from Reset. - - -// Enable interrupts required for this example - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block - PieCtrlRegs.PIEIER6.bit.INTx5=1; // Enable PIE Group 6, INT 5 - PieCtrlRegs.PIEIER6.bit.INTx6=1; // Enable PIE Group 6, INT 6 - PieCtrlRegs.PIEIER7.bit.INTx1 = 1; // Enable PIE Group 7, INT 1 (DMA CH1) - PieCtrlRegs.PIEIER7.bit.INTx2 = 1; // Enable PIE Group 7, INT 2 (DMA CH2) - - IER=0x60; // Enable CPU INT groups 6 and 7 - EINT; // Enable Global Interrupts - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;); - -} - - -// Step 7. Insert all local Interrupt Service Routines (ISRs) and functions here: - - -void error(void) -{ - asm(" ESTOP0"); // Test failed!! Stop! - for (;;); -} - -void mcbsp_init_dlb() -{ - - McbspaRegs.SPCR2.all=0x0000; // Reset FS generator, sample rate generator & transmitter - McbspaRegs.SPCR1.all=0x0000; // Reset Receiver, Right justify word - McbspaRegs.SPCR1.bit.DLB = 1; // Enable DLB mode. Comment out for non-DLB mode. - - McbspaRegs.MFFINT.all=0x0; // Disable all interrupts - - McbspaRegs.RCR2.all=0x0; // Single-phase frame, 1 word/frame, No companding (Receive) - McbspaRegs.RCR1.all=0x0; - - McbspaRegs.XCR2.all=0x0; // Single-phase frame, 1 word/frame, No companding (Transmit) - McbspaRegs.XCR1.all=0x0; - - McbspaRegs.SRGR2.bit.CLKSM = 1; // CLKSM=1 (If SCLKME=0, i/p clock to SRG is LSPCLK) - McbspaRegs.SRGR2.bit.FPER = 31; // FPER = 32 CLKG periods - - McbspaRegs.SRGR1.bit.FWID = 0; // Frame Width = 1 CLKG period - McbspaRegs.SRGR1.bit.CLKGDV = 0; // CLKG frequency = LSPCLK/(CLKGDV+1) - - McbspaRegs.PCR.bit.FSXM = 1; // FSX generated internally, FSR derived from an external source - McbspaRegs.PCR.bit.CLKXM = 1; // CLKX generated internally, CLKR derived from an external source - - - - //*************** Initialize McBSP Data Length - if(data_size == 8) // Run a loopback test in 8-bit mode - { - InitMcbspa8bit(); - } - if(data_size == 16) // Run a loopback test in 16-bit mode - { - InitMcbspa16bit(); - } - if(data_size == 32) // Run a loopback test in 32-bit mode - { - InitMcbspa32bit(); - } - - //************* Enable Sample rate generator - McbspaRegs.SPCR2.bit.GRST=1; // Enable the sample rate generator - delay_loop(); // Wait at least 2 SRG clock cycles - McbspaRegs.SPCR2.bit.XRST=1; // Release TX from Reset - McbspaRegs.SPCR1.bit.RRST=1; // Release RX from Reset - McbspaRegs.SPCR2.bit.FRST=1; // Frame Sync Generator reset -} - -// DMA Initialization for data size <= 16-bit - -void init_dma() -{ - EALLOW; - DmaRegs.DMACTRL.bit.HARDRESET = 1; - asm(" NOP"); // Only 1 NOP needed per Design - DmaRegs.CH1.MODE.bit.CHINTE = 0; - // Channel 1, McBSPA transmit - DmaRegs.CH1.BURST_SIZE.all = 0; // 1 word/burst - DmaRegs.CH1.SRC_BURST_STEP = 0; // no effect when using 1 word/burst - DmaRegs.CH1.DST_BURST_STEP = 0; // no effect when using 1 word/burst - DmaRegs.CH1.TRANSFER_SIZE = 127; // Interrupt every frame (127 bursts/transfer) - DmaRegs.CH1.SRC_TRANSFER_STEP = 1; // Move to next word in buffer after each word in a burst - DmaRegs.CH1.DST_TRANSFER_STEP = 0; // Don't move destination address - DmaRegs.CH1.SRC_ADDR_SHADOW = (Uint32) &sdata[0]; // Start address = buffer - DmaRegs.CH1.SRC_BEG_ADDR_SHADOW = (Uint32) &sdata[0]; // Not needed unless using wrap function - DmaRegs.CH1.DST_ADDR_SHADOW = (Uint32) &McbspaRegs.DXR1.all; // Start address = McBSPA DXR - DmaRegs.CH1.DST_BEG_ADDR_SHADOW = (Uint32) &McbspaRegs.DXR1.all; // Not needed unless using wrap function - DmaRegs.CH1.CONTROL.bit.PERINTCLR = 1; // Clear peripheral interrupt event flag - DmaRegs.CH1.CONTROL.bit.SYNCCLR = 1; // Clear sync flag - DmaRegs.CH1.CONTROL.bit.ERRCLR = 1; // Clear sync error flag - DmaRegs.CH1.DST_WRAP_SIZE = 0xFFFF; // Put to maximum - don't want destination wrap - DmaRegs.CH1.SRC_WRAP_SIZE = 0xFFFF; // Put to maximum - don't want source wrap - DmaRegs.CH1.MODE.bit.SYNCE = 0; // No sync signal - DmaRegs.CH1.MODE.bit.SYNCSEL = 0; // No sync signal - DmaRegs.CH1.MODE.bit.CHINTE = 1; // Enable channel interrupt - DmaRegs.CH1.MODE.bit.CHINTMODE = 1; // Interrupt at end of transfer - DmaRegs.CH1.MODE.bit.PERINTE = 1; // Enable peripheral interrupt event - DmaRegs.CH1.MODE.bit.PERINTSEL = DMA_MXEVTA; // Peripheral interrupt select = McBSP MXSYNCA - DmaRegs.CH1.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - - // Channel 2, McBSPA Receive - DmaRegs.CH2.MODE.bit.CHINTE = 0; - DmaRegs.CH2.BURST_SIZE.all = 0; // 1 word/burst - DmaRegs.CH2.SRC_BURST_STEP = 0; // no effect when using 1 word/burst - DmaRegs.CH2.DST_BURST_STEP = 0; // no effect when using 1 word/burst - DmaRegs.CH2.TRANSFER_SIZE = 127; // Interrupt every 127 bursts/transfer - DmaRegs.CH2.SRC_TRANSFER_STEP = 0; // Don't move source address - DmaRegs.CH2.DST_TRANSFER_STEP = 1; // Move to next word in buffer after each word in a burst - DmaRegs.CH2.SRC_ADDR_SHADOW = (Uint32) &McbspaRegs.DRR1.all; // Start address = McBSPA DRR - DmaRegs.CH2.SRC_BEG_ADDR_SHADOW = (Uint32) &McbspaRegs.DRR1.all; // Not needed unless using wrap function - DmaRegs.CH2.DST_ADDR_SHADOW = (Uint32) &rdata[0]; // Start address = Receive buffer (for McBSP-A) - DmaRegs.CH2.DST_BEG_ADDR_SHADOW = (Uint32) &rdata[0]; // Not needed unless using wrap function - DmaRegs.CH2.CONTROL.bit.PERINTCLR = 1; // Clear peripheral interrupt event flag - DmaRegs.CH2.CONTROL.bit.SYNCCLR = 1; // Clear sync flag - DmaRegs.CH2.CONTROL.bit.ERRCLR = 1; // Clear sync error flag - DmaRegs.CH2.DST_WRAP_SIZE = 0xFFFF; // Put to maximum - don't want destination wrap - DmaRegs.CH2.SRC_WRAP_SIZE = 0xFFFF; // Put to maximum - don't want source wrap - DmaRegs.CH2.MODE.bit.CHINTE = 1; // Enable channel interrupt - DmaRegs.CH2.MODE.bit.CHINTMODE = 1; // Interrupt at end of transfer - DmaRegs.CH2.MODE.bit.PERINTE = 1; // Enable peripheral interrupt event - DmaRegs.CH2.MODE.bit.PERINTSEL = DMA_MREVTA; // Peripheral interrupt select = McBSP MRSYNCA - DmaRegs.CH2.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - EDIS; -} - -// DMA Initialization for data size > 16-bit and <= 32-bit. - -void init_dma_32() -{ - EALLOW; - DmaRegs.DMACTRL.bit.HARDRESET = 1; - asm(" NOP"); // Only 1 NOP needed per Design - - // Channel 1, McBSPA transmit - DmaRegs.CH1.BURST_SIZE.all = 1; // 2 word/burst - DmaRegs.CH1.SRC_BURST_STEP = 1; // increment 1 16-bit addr. btwn words - DmaRegs.CH1.DST_BURST_STEP = 1; // increment 1 16-bit addr. btwn words - DmaRegs.CH1.TRANSFER_SIZE = 63; // Interrupt every 63 bursts/transfer - DmaRegs.CH1.SRC_TRANSFER_STEP = 1; // Move to next word in buffer after each word in a burst - DmaRegs.CH1.DST_TRANSFER_STEP = 0xFFFF; // Go back to DXR2 - DmaRegs.CH1.SRC_ADDR_SHADOW = (Uint32) &sdata[0]; // Start address = buffer - DmaRegs.CH1.SRC_BEG_ADDR_SHADOW = (Uint32) &sdata[0]; // Not needed unless using wrap function - DmaRegs.CH1.DST_ADDR_SHADOW = (Uint32) &McbspaRegs.DXR2.all; // Start address = McBSPA DXR2 - DmaRegs.CH1.DST_BEG_ADDR_SHADOW = (Uint32) &McbspaRegs.DXR2.all; // Not needed unless using wrap function - DmaRegs.CH1.CONTROL.bit.SYNCCLR = 1; // Clear sync flag - DmaRegs.CH1.CONTROL.bit.ERRCLR = 1; // Clear sync error flag - DmaRegs.CH1.DST_WRAP_SIZE = 0xFFFF; // Put to maximum - don't want destination wrap - DmaRegs.CH1.SRC_WRAP_SIZE = 0xFFFF; // Put to maximum - don't want source wrap - DmaRegs.CH1.MODE.bit.SYNCE = 0; // No sync signal - DmaRegs.CH1.MODE.bit.SYNCSEL = 0; // No sync signal - DmaRegs.CH1.MODE.bit.CHINTE = 1; // Enable channel interrupt - DmaRegs.CH1.MODE.bit.CHINTMODE = 1; // Interrupt at end of transfer - DmaRegs.CH1.MODE.bit.PERINTE = 1; // Enable peripheral interrupt event - DmaRegs.CH1.MODE.bit.PERINTSEL = DMA_MXEVTA; // Peripheral interrupt select = McBSP MXSYNCA - DmaRegs.CH1.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - - // Channel 2, McBSPA Receive - DmaRegs.CH2.BURST_SIZE.all = 1; // 2 words/burst - DmaRegs.CH2.SRC_BURST_STEP = 1; // Increment 1 16-bit addr. btwn words - DmaRegs.CH2.DST_BURST_STEP = 1; // Increment 1 16-bit addr. btwn words - DmaRegs.CH2.TRANSFER_SIZE = 63; // Interrupt every 63 bursts/transfer - DmaRegs.CH2.SRC_TRANSFER_STEP = 0xFFFF; // Decrement back to DRR2 - DmaRegs.CH2.DST_TRANSFER_STEP = 1; // Move to next word in buffer after each word in a burst - DmaRegs.CH2.SRC_ADDR_SHADOW = (Uint32) &McbspaRegs.DRR2.all; // Start address = McBSPA DRR - DmaRegs.CH2.SRC_BEG_ADDR_SHADOW = (Uint32) &McbspaRegs.DRR2.all; // Not needed unless using wrap function - DmaRegs.CH2.DST_ADDR_SHADOW = (Uint32) &rdata[0]; // Start address = Receive buffer (for McBSP-A) - DmaRegs.CH2.DST_BEG_ADDR_SHADOW = (Uint32) &rdata[0]; // Not needed unless using wrap function - DmaRegs.CH2.CONTROL.bit.SYNCCLR = 1; // Clear sync flag - DmaRegs.CH2.CONTROL.bit.ERRCLR = 1; // Clear sync error flag - DmaRegs.CH2.DST_WRAP_SIZE = 0xFFFF; // Put to maximum - don't want destination wrap - DmaRegs.CH2.SRC_WRAP_SIZE = 0xFFFF; // Put to maximum - don't want source wrap - DmaRegs.CH2.MODE.bit.CHINTE = 1; // Enable channel interrupt - DmaRegs.CH2.MODE.bit.CHINTMODE = 1; // Interrupt at end of transfer - DmaRegs.CH2.MODE.bit.PERINTE = 1; // Enable peripheral interrupt event - DmaRegs.CH2.MODE.bit.PERINTSEL = DMA_MREVTA; // Peripheral interrupt select = McBSP MRSYNCA - DmaRegs.CH2.CONTROL.bit.PERINTCLR = 1; // Clear any spurious interrupt flags - EDIS; -} -void start_dma (void) -{ - EALLOW; - DmaRegs.CH1.CONTROL.bit.RUN = 1; // Start DMA Transmit from McBSP-A - DmaRegs.CH2.CONTROL.bit.RUN = 1; // Start DMA Receive from McBSP-A - - EDIS; -} -// INT7.1 -interrupt void local_D_INTCH1_ISR(void) // DMA Ch1 -{ - EALLOW; // NEED TO EXECUTE EALLOW INSIDE ISR !!! - DmaRegs.CH1.CONTROL.bit.RUN=0; // Re-enable DMA CH1. Should be done every transfer - PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; // To receive more interrupts from this PIE group, acknowledge this interrupt - - EDIS; - return; -} - -// INT7.2 -interrupt void local_D_INTCH2_ISR(void) // DMA Ch2 -{ - Uint16 i; - EALLOW; // NEED TO EXECUTE EALLOW INSIDE ISR !!! - DmaRegs.CH2.CONTROL.bit.RUN = 0; // Re-enable DMA CH2. Should be done every transfer - PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; // To receive more interrupts from this PIE group, acknowledge this interrupt - for (i=0; i<128; i++) - { - if(data_size == 8) - { - if( (rdata[i]&0x00FF) !=(sdata[i]&0x00FF)) error( ); // Check for correct received data - } - else if (data_size == 16) - { - if (rdata[i] != sdata[i]) error(); // STOP if there is an error !! - } - else if (data_size == 32) - { - if ((rdata[i])!=(sdata[i])) error (); - } - } - EDIS; - return; - -} - -//=========================================================================== -// No more. -//=========================================================================== - - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_dma/Example_2833xMcBSP_DLB_DMA.gel b/Source/External/v120/DSP2833x_examples/mcbsp_loopback_dma/Example_2833xMcBSP_DLB_DMA.gel deleted file mode 100644 index 1c54abc..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_dma/Example_2833xMcBSP_DLB_DMA.gel +++ /dev/null @@ -1,22 +0,0 @@ -menuitem "DSP2833x McBSP DMA" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xMcBSP_DLB_DMA.pjt"); - GEL_ProjectBuild("Example_2833xMcBSP_DLB_DMA.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xMcBSP_DLB_DMA.out"); - Setup_WatchWindow(); -} -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("rdata,x"); - GEL_WatchAdd("sdata,x"); -} - - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_dma/Example_2833xMcBSP_DLB_DMA.pjt b/Source/External/v120/DSP2833x_examples/mcbsp_loopback_dma/Example_2833xMcBSP_DLB_DMA.pjt deleted file mode 100644 index 4194aa8..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_dma/Example_2833xMcBSP_DLB_DMA.pjt +++ /dev/null @@ -1,52 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback_dma\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_McBSP.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xMcBSP_DLB_DMA.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback_dma\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback_dma\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback_dma\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -m".\Debug\Example_2833xMcBSP_DLB_DMA.map" -o".\Debug\Example_2833xMcBSP_DLB_DMA.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xMcBSP_DLB_DMA.out" -x - -["..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" Settings: "Debug"] -LinkOrder=1 - -["..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" Settings: "Release"] -LinkOrder=1 - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_interrupts/Example_2833xMcBSP_DLB_int.c b/Source/External/v120/DSP2833x_examples/mcbsp_loopback_interrupts/Example_2833xMcBSP_DLB_int.c deleted file mode 100644 index 9f0a646..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_interrupts/Example_2833xMcBSP_DLB_int.c +++ /dev/null @@ -1,221 +0,0 @@ -//########################################################################### -// -// FILE: Example_2833xMCBSP_FFDLB_int.c -// -// TITLE: DSP2833x Device McBSP Digital Loop Back porgram -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This program is a McBSP example that uses the internal loopback of -// the peripheral. Both Rx and Tx interrupts are enabled. -// -// Incrementing values from 0x0000 to 0x00FF are being sent and received. -// -// This pattern is repeated forever. -// -// By default for the McBSP examples, the McBSP sample rate generator (SRG) input -// clock frequency is LSPCLK (150E6/4 or 100E6/4) assuming SYSCLKOUT = 150 MHz or -// 100 MHz respectively. If while testing, the SRG input frequency -// is changed, the #define MCBSP_SRG_FREQ (150E6/4 or 100E6/4) in the Mcbsp.c file must -// also be updated accordingly. This define is used to determine the Mcbsp initialization -// delay after the SRG is enabled, which must be at least 2 SRG clock cycles. -// -// Watch Variables: -// sdata -// rdata -// rdata_point -// -//########################################################################### -// -// Original Source by S.D. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. - -interrupt void Mcbsp_TxINTA_ISR(void); -interrupt void Mcbsp_RxINTA_ISR(void); -void mcbsp_init_dlb(void); -void error(void); - -// Global data variables used for this example -Uint16 sdata; // Sent Data -Uint16 rdata; // Recieved Data -Uint16 rdata_point; // Keep track of where we - // are in the data stream - - -void main(void) -{ -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// Setup only the GP I/O only for McBSP-A functionality - InitMcbspaGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // Allow access to EALLOW protected registers - PieVectTable.MRINTA= &Mcbsp_RxINTA_ISR; - PieVectTable.MXINTA= &Mcbsp_TxINTA_ISR; - EDIS; // Disable access to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - mcbsp_init_dlb(); // For this example, only initialize the Mcbsp - - -// Step 5. User specific code, enable interrupts: - - sdata = 0; - rdata_point = sdata; - -// Enable interrupts required for this example - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block - PieCtrlRegs.PIEIER6.bit.INTx5=1; // Enable PIE Group 6, INT 5 - PieCtrlRegs.PIEIER6.bit.INTx6=1; // Enable PIE Group 6, INT 6 - IER=0x20; // Enable CPU INT6 - EINT; // Enable Global Interrupts - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;); - -} - - -// Step 7. Insert all local Interrupt Service Routines (ISRs) and functions here: - - -void error(void) -{ - asm(" ESTOP0"); // Test failed!! Stop! - for (;;); -} - -void mcbsp_init_dlb() -{ - -//*************** RESET MCBSP - McbspaRegs.SPCR2.bit.FRST=0; // Frame Sync generator reset - McbspaRegs.SPCR2.bit.GRST=0; // Sample Rate generator Reset - McbspaRegs.SPCR2.bit.XRST=0; // Transmitter reset - McbspaRegs.SPCR1.bit.RRST=0; // Receiver reset - -//*************** Initialize McBSP Registers -// McBSP register settings for Digital loop back - McbspaRegs.SPCR2.all=0x0000; // XRST =0 - McbspaRegs.SPCR1.all=0x8000; // RRST =0, DLB enabled - McbspaRegs.RCR2.all=0x0001; // RDATDLY = 1 - McbspaRegs.RCR1.all=0x0; - McbspaRegs.XCR2.all=0x0001; // XDATDLY = 1 - McbspaRegs.XCR1.all=0x0; - - McbspaRegs.SRGR2.all=0x3140; - McbspaRegs.SRGR1.all=0x010f; - McbspaRegs.MCR2.all=0x0; - McbspaRegs.MCR1.all=0x0; - McbspaRegs.PCR.all=0x0A00; - - McbspaRegs.MFFINT.bit.XINT = 1; // Enable Transmit Interrupts - McbspaRegs.MFFINT.bit.RINT = 1; // Enable Receive Interrupts - -//************* Enable Sample rate generator - McbspaRegs.SPCR2.bit.GRST=1; - delay_loop(); // Wait at least 2 SRG clock cycles - -//************ Enable TX/RX unit - McbspaRegs.SPCR2.bit.XRST=1; - McbspaRegs.SPCR1.bit.RRST=1; - -//************ Frame Sync generator reset - McbspaRegs.SPCR2.bit.FRST=1; -} - -interrupt void Mcbsp_TxINTA_ISR(void) -{ - McbspaRegs.DXR1.all= sdata; - sdata = (sdata+1)& 0x00FF ; - // To receive more interrupts from this PIE group, acknowledge this interrupt - PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; -} - -interrupt void Mcbsp_RxINTA_ISR(void) -{ - rdata=McbspaRegs.DRR1.all; - if (rdata != ( (rdata_point) & 0x00FF) ) error(); - rdata_point = (rdata_point+1) & 0x00FF; - // To receive more interrupts from this PIE group, acknowledge this interrupt - PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; -} - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_interrupts/Example_2833xMcBSP_DLB_int.gel b/Source/External/v120/DSP2833x_examples/mcbsp_loopback_interrupts/Example_2833xMcBSP_DLB_int.gel deleted file mode 100644 index b3cd28b..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_interrupts/Example_2833xMcBSP_DLB_int.gel +++ /dev/null @@ -1,27 +0,0 @@ -menuitem "DSP2833x McBSP Int" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xMcBSP_DLB_int.pjt"); - GEL_ProjectBuild("Example_2833xMcBSP_DLB_int.pjt"); - Setup_WatchWindow(); -} - - - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xMcBSP_DLB_int.out"); - Setup_WatchWindow(); -} - -Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("sdata,x"); - GEL_WatchAdd("rdata,x"); - GEL_WatchAdd("rdata_point,x"); -} - - - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_interrupts/Example_2833xMcBSP_DLB_int.pjt b/Source/External/v120/DSP2833x_examples/mcbsp_loopback_interrupts/Example_2833xMcBSP_DLB_int.pjt deleted file mode 100644 index 1f8f3a6..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_loopback_interrupts/Example_2833xMcBSP_DLB_int.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback_interrupts\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_McBSP.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xMcBSP_DLB_int.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback_interrupts\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback_interrupts\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_loopback_interrupts\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -m".\Debug\Example_2833xMcBSP_DLB_int.map" -o".\Debug\Example_2833xMcBSP_DLB_int.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xMcBSP_DLB.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_spi_loopback/Example_2833xMcBSP_SPI_DLB.c b/Source/External/v120/DSP2833x_examples/mcbsp_spi_loopback/Example_2833xMcBSP_SPI_DLB.c deleted file mode 100644 index 46f35d8..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_spi_loopback/Example_2833xMcBSP_SPI_DLB.c +++ /dev/null @@ -1,208 +0,0 @@ -//########################################################################### -// -// FILE: Example_2833xMCBSP_SPIX.c -// -// TITLE: DSP28133x Device McBSP using SPI mode -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// SPI master mode transfer of 32-bit word size with digital loopback enabled. -// -// McBSP Signals SPI equivalent -// ------------------------------------- -// MCLKX SPICLK (master) -// MFSX SPISTE (master) -// MDX SPISIMO -// MCLKR SPICLK (slave - not used for this example) -// MFSR SPISTE (slave - not used for this example) -// MDR SPISOMI (not used for this example) -// -// This program will execute and transmit words until terminated by the user. -// -// By default for the McBSP examples, the McBSP sample rate generator (SRG) input -// clock frequency is LSPCLK (150E6/4 or 100E6/4) assuming SYSCLKOUT = 150 MHz or -// 100 MHz respectively. If while testing, the SRG input frequency -// is changed, the #define MCBSP_SRG_FREQ (CPU_SPD/4) in the Mcbsp.c file must -// also be updated accordingly. This define is used to determine the Mcbsp initialization -// delay after the SRG is enabled, which must be at least 2 SRG clock cycles. -// -// Watch Variables: -// sdata1 -// sdata2 -// rdata1 -// rdata2 -// -// -//########################################################################### -// -// Original Author: S.S. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. - -void init_mcbsp_spi(void); -void mcbsp_xmit(int a, int b); -void error(void); - -// Global data for this example -Uint16 sdata1 = 0x000; // Sent Data -Uint16 rdata1 = 0x000; // Recieved Data - -Uint16 sdata2 = 0x000; // Sent Data -Uint16 rdata2 = 0x000; // Recieved Data - - -void main(void) -{ - -// Uint16 i; - - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// For this example, only enable the GPIO for McBSP-A - InitMcbspaGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP281x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - - -// Step 5. User specific code, - - init_mcbsp_spi(); - sdata1 = 0x55aa; - sdata2 = 0xaa55; -// Main loop to transfer 32-bit words through MCBSP in SPI mode periodically - for(;;) - { - mcbsp_xmit(sdata1,sdata2); - while( McbspaRegs.SPCR1.bit.RRDY == 0 ) {} // Master waits until RX data is ready - rdata2 = McbspaRegs.DRR2.all; // Read DRR2 first. - rdata1 = McbspaRegs.DRR1.all; // Then read DRR1 to complete receiving of data - if((rdata2 != sdata2)&&(rdata1 != sdata1)) error( ); // Check that correct data is received. - delay_loop(); - sdata1^=0xFFFF; - sdata2^=0xFFFF; - asm(" nop"); // Good place for a breakpoint - - } -} - - - -// Some Useful local functions - -void error(void) -{ - asm(" ESTOP0"); // test failed!! Stop! - for (;;); -} - - - - -void init_mcbsp_spi() -{ - // McBSP-A register settings - McbspaRegs.SPCR2.all=0x0000; // Reset FS generator, sample rate generator & transmitter - McbspaRegs.SPCR1.all=0x0000; // Reset Receiver, Right justify word, Digital loopback dis. - McbspaRegs.PCR.all=0x0F08; //(CLKXM=CLKRM=FSXM=FSRM= 1, FSXP = 1) - McbspaRegs.SPCR1.bit.DLB = 1; - McbspaRegs.SPCR1.bit.CLKSTP = 2; // Together with CLKXP/CLKRP determines clocking scheme - McbspaRegs.PCR.bit.CLKXP = 0; // CPOL = 0, CPHA = 0 rising edge no delay - McbspaRegs.PCR.bit.CLKRP = 0; - McbspaRegs.RCR2.bit.RDATDLY=01; // FSX setup time 1 in master mode. 0 for slave mode (Receive) - McbspaRegs.XCR2.bit.XDATDLY=01; // FSX setup time 1 in master mode. 0 for slave mode (Transmit) - - McbspaRegs.RCR1.bit.RWDLEN1=5; // 32-bit word - McbspaRegs.XCR1.bit.XWDLEN1=5; // 32-bit word - - McbspaRegs.SRGR2.all=0x2000; // CLKSM=1, FPER = 1 CLKG periods - McbspaRegs.SRGR1.all= 0x000F; // Frame Width = 1 CLKG period, CLKGDV=16 - - McbspaRegs.SPCR2.bit.GRST=1; // Enable the sample rate generator - delay_loop(); // Wait at least 2 SRG clock cycles - McbspaRegs.SPCR2.bit.XRST=1; // Release TX from Reset - McbspaRegs.SPCR1.bit.RRST=1; // Release RX from Reset - McbspaRegs.SPCR2.bit.FRST=1; // Frame Sync Generator reset -} - -void mcbsp_xmit(int a, int b) -{ - McbspaRegs.DXR2.all=b; - McbspaRegs.DXR1.all=a; -} - - - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_spi_loopback/Example_2833xMcBSP_SPI_DLB.gel b/Source/External/v120/DSP2833x_examples/mcbsp_spi_loopback/Example_2833xMcBSP_SPI_DLB.gel deleted file mode 100644 index f0a701d..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_spi_loopback/Example_2833xMcBSP_SPI_DLB.gel +++ /dev/null @@ -1,28 +0,0 @@ -menuitem "DSP2833x McBSP SPI DLB" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xMcBSP_SPI_DLB.pjt"); - GEL_ProjectBuild("Example_2833xMcBSP_SPI_DLB.pjt"); - Setup_WatchWindow(); -} - - - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xMcBSP_SPI_DLB.out"); - Setup_WatchWindow(); -} - -Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("sdata1,x"); - GEL_WatchAdd("rdata1,x"); - GEL_WatchAdd("sdata2,x"); - GEL_WatchAdd("rdata2,x"); -} - - - diff --git a/Source/External/v120/DSP2833x_examples/mcbsp_spi_loopback/Example_2833xMcBSP_SPI_DLB.pjt b/Source/External/v120/DSP2833x_examples/mcbsp_spi_loopback/Example_2833xMcBSP_SPI_DLB.pjt deleted file mode 100644 index 2f8e650..0000000 --- a/Source/External/v120/DSP2833x_examples/mcbsp_spi_loopback/Example_2833xMcBSP_SPI_DLB.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_spi_loopback\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_McBSP.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xMcBSP_SPI_DLB.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_spi_loopback\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_spi_loopback\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\mcbsp_spi_loopback\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -m".\Debug\Example_2833xMcBSP_DLB_int.map" -o".\Debug\Example_2833xMcBSP_SPI_DLB.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xMcBSP_SPI_DLB.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/sci_autobaud/Example_2833xSci_Autobaud.c b/Source/External/v120/DSP2833x_examples/sci_autobaud/Example_2833xSci_Autobaud.c deleted file mode 100644 index 6d93eff..0000000 --- a/Source/External/v120/DSP2833x_examples/sci_autobaud/Example_2833xSci_Autobaud.c +++ /dev/null @@ -1,390 +0,0 @@ -// TI File $Revision: /main/11 $ -// Checkin $Date: April 21, 2008 15:43:14 $ -//########################################################################### -// -// FILE: Example_2833xSci_Autobaud_.c -// -// TITLE: DSP2833x SCI Autobaud detect example -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// Test requires the following hardware connections: -// -// GPIO29/SCITXDA <-> GPIO19/SCIRXDB -// GPIO28/SCIRXDA <-> GPIO18/SCITXDB -// -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// -// This test will perform autobaud lock at a variety of baud rates, including -// very high baud rates. -// -// For this test to properly run, connect the SCI-A pins to the -// SCI-B pins without going through a transciever. -// -// At higher baud rates, the slew rate of the incoming data bits can be -// affected by transceiver and connector performance. This slew rate may -// limit reliable autobaud detection at higher baud rates. -// -// SCIA: Slave, autobaud locks, receives characters and -// echos them back to the host. Uses the RX interrupt -// to receive characters. -// -// SCIB: Host, known baud rate, sends characters to the slave -// and checks that they are echoed back. -// -// DESCRIPTION: -// -// Internal Loopback test for ever through SCIA using interrupts, -// FIFOs are disabled. -// -// Watch Variables: BRRVal - current BRR value used for SCIB -// ReceivedAChar - character received by SCIA -// ReceivedBChar - character received by SCIB -// SendChar - character being sent by SCIB -// SciaRegs.SCILBAUD - SCIA baud registers - set -// SciaRegs.SCIHBAUD by autobaud lock -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -#define BAUDSTEP 100 // Amount BRR will be incremented between each - // autobaud lock - -// Prototype statements for functions found within this file. -void scia_init(void); -void scib_init(void); -void scia_xmit(int a); -void scib_xmit(int a); -void scia_AutobaudLock(void); -void error(); -interrupt void rxaint_isr(void); - - -// Global counts used in this example -Uint16 LoopCount; -//Uint16 xmitCount; -Uint16 ReceivedCount; -Uint16 ErrorCount; -Uint16 SendChar; -Uint16 ReceivedAChar; // scia received character -Uint16 ReceivedBChar; // scib received character -Uint16 BRRVal; -Uint16 Buff[10] = {0x55, 0xAA, 0xF0, 0x0F, 0x00, 0xFF, 0xF5, 0x5F, 0xA5, 0x5A}; - -void main(void) -{ - Uint16 i; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - InitSciGpio(); - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.SCIRXINTA = &rxaint_isr; - EDIS; // This is needed to disable write to EALLOW protected register - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - scia_init(); // Initalize SCIA - scib_init(); // Initalize SCIB - -// Step 5. User specific code, enable interrupts: - - LoopCount = 0; - ErrorCount = 0; - -// Enable interrupts - PieCtrlRegs.PIEIER9.all = 0x0001; // Enable all SCIA RXINT interrupt - IER |= 0x0100; // enable PIEIER9, and INT9 - EINT; - - // Start with BRR = 1, work through each baud rate setting - // incrementing BRR by BAUDSTEP - for (BRRVal = 0x0000; BRRVal < (Uint32)0xFFFF; BRRVal+=BAUDSTEP) - { - - // SCIB has a known baud rate. SCIA will autobaud to match - ScibRegs.SCIHBAUD = (BRRVal >> 8); - ScibRegs.SCILBAUD = (BRRVal); - - // Initiate an autobaud lock with scia. Check - // returned character against baud lock character 'A' - scia_AutobaudLock(); - while(ScibRegs.SCIRXST.bit.RXRDY != 1) { } - ReceivedBChar = 0; - ReceivedBChar = ScibRegs.SCIRXBUF.bit.RXDT; - if(ReceivedBChar != 'A') - { - error(0); - } - - // Send/echoback characters - // 55 AA F0 0F 00 FF F5 5F A5 5A - for(i= 0; i<=9; i++) - { - SendChar = Buff[i]; - scib_xmit(SendChar); // Initiate interrupts and xmit data in isr - // Wait to get the character back and check - // against the sent character. - while(ScibRegs.SCIRXST.bit.RXRDY != 1) - { - asm(" NOP"); - } - ReceivedBChar = 0; - ReceivedBChar = ScibRegs.SCIRXBUF.bit.RXDT; - if(ReceivedBChar != SendChar) error(1); - } - - } // Repeat for next BRR setting - - // Stop here, no more - for(;;) - { - asm(" NOP"); - } - - -} - - -/* --------------------------------------------------- */ -/* ISR for PIE INT9.1 */ -/* Connected to RXAINT SCI-A */ -/* ----------------------------------------------------*/ - -interrupt void rxaint_isr(void) // SCI-A -{ - // Insert ISR Code here - - PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - - // If autobaud detected, we must clear CDC - if(SciaRegs.SCIFFCT.bit.ABD == 1) - { - SciaRegs.SCIFFCT.bit.ABDCLR = 1; - SciaRegs.SCIFFCT.bit.CDC = 0; - // Check received character - should be 'A' - ReceivedAChar = 0; - ReceivedAChar = SciaRegs.SCIRXBUF.all; - if(ReceivedAChar != 'A') - { - error(2); - } - else scia_xmit(ReceivedAChar); - } - - // This was not autobaud detect - else - { - // Check received character against sendchar - ReceivedAChar = 0; - ReceivedAChar = SciaRegs.SCIRXBUF.all; - if(ReceivedAChar != SendChar) - { - error(3); - } - else scia_xmit(ReceivedAChar); - } - - SciaRegs.SCIFFRX.bit.RXFFINTCLR = 1; // clear Receive interrupt flag - ReceivedCount++; -} - - -void error() -{ - ErrorCount++; - asm(" ESTOP0"); // Uncomment to stop the test here - for (;;); - -} - -// SCIA 8-bit word, baud rate 0x000F, default, 1 STOP bit, no parity -void scia_init() -{ - // Note: Clocks were turned on to the SCIA peripheral - // in the InitSysCtrl() function - - // Reset FIFO's - SciaRegs.SCIFFTX.all=0x8000; - - SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback - // No parity,8 char bits, - // async mode, idle-line protocol - SciaRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK, - // Disable RX ERR, SLEEP, TXWAKE - SciaRegs.SCICTL2.all =0x0003; - SciaRegs.SCICTL2.bit.RXBKINTENA =1; - SciaRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset - - -} - -// SCIB 8-bit word, baud rate 0x000F, default, 1 STOP bit, no parity - -void scib_init() -{ - // Reset FIFO's - ScibRegs.SCIFFTX.all=0x8000; - - // 1 stop bit, No parity, 8-bit character - // No loopback - ScibRegs.SCICCR.all = 0x0007; - - // Enable TX, RX, Use internal SCICLK - ScibRegs.SCICTL1.all = 0x0003; - - // Disable RxErr, Sleep, TX Wake, - // Diable Rx Interrupt, Tx Interrupt - ScibRegs.SCICTL2.all = 0x0000; - - // Relinquish SCI-A from reset - ScibRegs.SCICTL1.all = 0x0023; - - return; -} - - - - -// Transmit a character from the SCI-A' -void scia_xmit(int a) -{ - SciaRegs.SCITXBUF=a; -} - -// Transmit a character from the SCI-B' -void scib_xmit(int a) -{ - ScibRegs.SCITXBUF=a; -} - - -//------------------------------------------------ -// Perform autobaud lock with the host. -// Note that if autobaud never occurs -// the program will hang in this routine as there -// is no timeout mechanism included. -//------------------------------------------------ - -void scia_AutobaudLock() -{ - - SciaRegs.SCICTL1.bit.SWRESET = 0; - SciaRegs.SCICTL1.bit.SWRESET = 1; - - // Must prime baud register with >= 1 - SciaRegs.SCIHBAUD = 0; - SciaRegs.SCILBAUD = 1; - - // Prepare for autobaud detection - // Make sure the ABD bit is clear by writing a 1 to ABDCLR - // Set the CDC bit to enable autobaud detection - SciaRegs.SCIFFCT.bit.ABDCLR = 1; - SciaRegs.SCIFFCT.bit.CDC = 1; - - // Wait until we correctly read an - // 'A' or 'a' and lock - // - // As long as Autobaud calibration is enabled (CDC = 1), - // SCI-B (host) will continue transmitting 'A'. This will - // continue until interrupted by the SCI-A RX ISR, where - // SCI-A RXBUF receives 'A', autobaud-locks (ABDCLR=1 - // CDC=0),and returns an 'A' back to the host. Then control - // is returned to this loop and the loop is exited. - // - // NOTE: ABD will become set sometime between - // scib_xmit and the DELAY_US loop, and - // the SCI-A RX ISR will be triggered. - // Upon returning and reaching the if-statement, - // ABD will have been cleared again by the ISR. - - while(SciaRegs.SCIFFCT.bit.CDC== 1) - { - // Note the lower the baud rate the longer - // this delay has to be to allow the other end - // to echo back a character (about 4 characters long) - // Make this really long since we are going through all - // the baud rates. - DELAY_US(280000L); - - if(SciaRegs.SCIFFCT.bit.CDC == 1) - scib_xmit('A'); // host transmits 'A' - - } - - return; -} - - - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/sci_autobaud/Example_2833xSci_Autobaud.gel b/Source/External/v120/DSP2833x_examples/sci_autobaud/Example_2833xSci_Autobaud.gel deleted file mode 100644 index 20a2117..0000000 --- a/Source/External/v120/DSP2833x_examples/sci_autobaud/Example_2833xSci_Autobaud.gel +++ /dev/null @@ -1,48 +0,0 @@ -/* -// TI File $Revision: /main/6 $ -// Checkin $Date: August 15, 2007 09:42:26 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x SCI Autobaud" - - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xSci_Autobaud.pjt"); - GEL_ProjectBuild("Example_2833xSci_Autobaud.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xSci_Autobaud.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("BRRVal,x"); - GEL_WatchAdd("ReceivedAChar,x"); - GEL_WatchAdd("ReceivedBChar,x"); - GEL_WatchAdd("ReceivedCount,x"); - GEL_WatchAdd("SendChar,x"); - GEL_WatchAdd("SciaRegs.SCIHBAUD,x"); - GEL_WatchAdd("SciaRegs.SCILBAUD,x"); - GEL_WatchAdd("ScibRegs.SCIHBAUD,x"); - GEL_WatchAdd("ScibRegs.SCILBAUD,x"); - GEL_WatchAdd("SciaRegs,x"); - GEL_WatchAdd("ScibRegs,x"); -} - - diff --git a/Source/External/v120/DSP2833x_examples/sci_autobaud/Example_2833xSci_Autobaud.pjt b/Source/External/v120/DSP2833x_examples/sci_autobaud/Example_2833xSci_Autobaud.pjt deleted file mode 100644 index d4ef177..0000000 --- a/Source/External/v120/DSP2833x_examples/sci_autobaud/Example_2833xSci_Autobaud.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sci_autobaud\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_Sci.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xSci_Autobaud.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sci_autobaud\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sci_autobaud\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sci_autobaud\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xSci_Autobaud.map" -o".\Debug\Example_2833xSci_Autobaud.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xSci_Autobaud.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/sci_echoback/Example_2833xSci_Echoback.c b/Source/External/v120/DSP2833x_examples/sci_echoback/Example_2833xSci_Echoback.c deleted file mode 100644 index 4fe5cf7..0000000 --- a/Source/External/v120/DSP2833x_examples/sci_echoback/Example_2833xSci_Echoback.c +++ /dev/null @@ -1,236 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:43:19 $ -//########################################################################### -// -// FILE: Example_2833xSci_Echoback.c -// -// TITLE: DSP2833x Device SCI Echoback. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// As supplied, this project is configured for "boot to SARAM" operation. -// -// Connect the SCI-A port to a PC via a transciever and cable. -// The PC application 'hypterterminal' can be used to view the data -// from the SCI and to send information to the SCI. Characters recieved -// by the SCI port are sent back to the host. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// -// This test recieves and echo-backs data through the SCI-A port. -// -// 1) Configure hyperterminal: -// Use the included hyperterminal configuration file SCI_96.ht. -// To load this configuration in hyperterminal: file->open -// and then select the SCI_96.ht file. -// 2) Check the COM port. -// The configuration file is currently setup for COM1. -// If this is not correct, disconnect Call->Disconnect -// Open the File-Properties dialog and select the correct COM port. -// 3) Connect hyperterminal Call->Call -// and then start the 2833x SCI echoback program execution. -// 4) The program will print out a greeting and then ask you to -// enter a character which it will echo back to hyperterminal. -// -// As is, the program configures SCI-A for 9600 baud with -// SYSCLKOUT = 150MHz and LSPCLK = 37.5 MHz -// SYSCLKOUT = 100MHz and LSPCLK = 25.0 Mhz -// -// -// Watch Variables: -// LoopCount for the number of characters sent -// ErrorCount -// -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -void scia_echoback_init(void); -void scia_fifo_init(void); -void scia_xmit(int a); -void scia_msg(char *msg); - -// Global counts used in this example -Uint16 LoopCount; -Uint16 ErrorCount; - -void main(void) -{ - - Uint16 ReceivedChar; - char *msg; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. - // InitGpio(); Skipped for this example - -// For this example, only init the pins for the SCI-A port. -// This function is found in the DSP2833x_Sci.c file. - InitSciaGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// Step 5. User specific code: - - LoopCount = 0; - ErrorCount = 0; - - scia_fifo_init(); // Initialize the SCI FIFO - scia_echoback_init(); // Initalize SCI for echoback - - msg = "\r\n\n\nHello World!\0"; - scia_msg(msg); - - msg = "\r\nYou will enter a character, and the DSP will echo it back! \n\0"; - scia_msg(msg); - - for(;;) - { - msg = "\r\nEnter a character: \0"; - scia_msg(msg); - - // Wait for inc character - while(SciaRegs.SCIFFRX.bit.RXFFST !=1) { } // wait for XRDY =1 for empty state - - // Get character - ReceivedChar = SciaRegs.SCIRXBUF.all; - - // Echo character back - msg = " You sent: \0"; - scia_msg(msg); - scia_xmit(ReceivedChar); - - LoopCount++; - } - -} - - -// Test 1,SCIA DLB, 8-bit word, baud rate 0x000F, default, 1 STOP bit, no parity -void scia_echoback_init() -{ - // Note: Clocks were turned on to the SCIA peripheral - // in the InitSysCtrl() function - - SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback - // No parity,8 char bits, - // async mode, idle-line protocol - SciaRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK, - // Disable RX ERR, SLEEP, TXWAKE - SciaRegs.SCICTL2.all =0x0003; - SciaRegs.SCICTL2.bit.TXINTENA =1; - SciaRegs.SCICTL2.bit.RXBKINTENA =1; - #if (CPU_FRQ_150MHZ) - SciaRegs.SCIHBAUD =0x0001; // 9600 baud @LSPCLK = 37.5MHz. - SciaRegs.SCILBAUD =0x00E7; - #endif - #if (CPU_FRQ_100MHZ) - SciaRegs.SCIHBAUD =0x0001; // 9600 baud @LSPCLK = 20MHz. - SciaRegs.SCILBAUD =0x0044; - #endif - SciaRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset -} - -// Transmit a character from the SCI -void scia_xmit(int a) -{ - while (SciaRegs.SCIFFTX.bit.TXFFST != 0) {} - SciaRegs.SCITXBUF=a; - -} - -void scia_msg(char * msg) -{ - int i; - i = 0; - while(msg[i] != '\0') - { - scia_xmit(msg[i]); - i++; - } -} - -// Initalize the SCI FIFO -void scia_fifo_init() -{ - SciaRegs.SCIFFTX.all=0xE040; - SciaRegs.SCIFFRX.all=0x204f; - SciaRegs.SCIFFCT.all=0x0; - -} - - - - - - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/sci_echoback/Example_2833xSci_Echoback.gel b/Source/External/v120/DSP2833x_examples/sci_echoback/Example_2833xSci_Echoback.gel deleted file mode 100644 index 33e7cb5..0000000 --- a/Source/External/v120/DSP2833x_examples/sci_echoback/Example_2833xSci_Echoback.gel +++ /dev/null @@ -1,40 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:20:59 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x SCI Echoback" - - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xSci_Echoback.pjt"); - GEL_ProjectBuild("Example_2833xSci_Echoback.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xSci_Echoback.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("LoopCount,x"); - GEL_WatchAdd("ErrorCount,x"); - GEL_WatchAdd("SciaRegs,x"); -} - - diff --git a/Source/External/v120/DSP2833x_examples/sci_echoback/Example_2833xSci_Echoback.pjt b/Source/External/v120/DSP2833x_examples/sci_echoback/Example_2833xSci_Echoback.pjt deleted file mode 100644 index 89b00df..0000000 --- a/Source/External/v120/DSP2833x_examples/sci_echoback/Example_2833xSci_Echoback.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sci_echoback\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_Sci.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xSci_Echoback.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sci_echoback\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sci_echoback\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sci_echoback\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xSci_echoback.map" -o".\Debug\Example_2833xSci_echoback.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xSci_echoback.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/sci_echoback/SCI_96.ht b/Source/External/v120/DSP2833x_examples/sci_echoback/SCI_96.ht deleted file mode 100644 index 9c7ebe3..0000000 Binary files a/Source/External/v120/DSP2833x_examples/sci_echoback/SCI_96.ht and /dev/null differ diff --git a/Source/External/v120/DSP2833x_examples/scia_loopback/Example_2833xScia_FFDLB.c b/Source/External/v120/DSP2833x_examples/scia_loopback/Example_2833xScia_FFDLB.c deleted file mode 100644 index 61f1fb9..0000000 --- a/Source/External/v120/DSP2833x_examples/scia_loopback/Example_2833xScia_FFDLB.c +++ /dev/null @@ -1,217 +0,0 @@ -// TI File $Revision: /main/11 $ -// Checkin $Date: May 12, 2008 14:24:12 $ -//########################################################################### -// -// FILE: Example_2833xSci_FFDLB.c -// -// TITLE: DSP2833x Device SCI FIFO Digital Loop Back Test. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// This program uses the internal loop back test mode of the peripheral. -// Other then boot mode pin configuration, no other hardware configuration -// is required. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This test uses the loopback test mode of the SCI module to send -// characters starting with 0x00 through 0xFF. The test will send -// a character and then check the receive buffer for a correct match. -// -// Watch Variables: -// LoopCount Number of characters sent -// ErrorCount Number of errors detected -// SendChar Character sent -// ReceivedChar Character recieved -// -// -//########################################################################### -// -// Original Author: S.S. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -void scia_loopback_init(void); -void scia_fifo_init(void); -void scia_xmit(int a); -void error(); -interrupt void scia_rx_isr(void); -interrupt void scia_tx_isr(void); - -// Global counts used in this example -Uint16 LoopCount; -Uint16 ErrorCount; - -void main(void) -{ - Uint16 SendChar; - Uint16 ReceivedChar; - -// Step 1. Initialize System Control registers, PLL, WatchDog, Clocks to default state: -// This function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Select GPIO for the device or for the specific application: -// This function is found in the DSP2833x_Gpio.c file. -// InitGpio(); skip this as this is example selects the I/O -// for SCI-A in this file itself - InitSciGpio(); - -// Step 3. Initialize PIE vector table: -// The PIE vector table is initialized with pointers to shell Interrupt -// Service Routines (ISR). The shell routines are found in DSP2833x_DefaultIsr.c. -// Insert user specific ISR code in the appropriate shell ISR routine in -// the DSP28_DefaultIsr.c file. - -// Disable and clear all CPU interrupts: - DINT; - IER = 0x0000; - IFR = 0x0000; - - // Initialize Pie Control Registers To Default State: - // This function is found in the DSP2833x_PieCtrl.c file. - // InitPieCtrl(); PIE is not used for this example - - // Initialize the PIE Vector Table To a Known State: - // This function is found in DSP2833x_PieVect.c. - // This function populates the PIE vector table with pointers - // to the shell ISR functions found in DSP2833x_DefaultIsr.c. - InitPieVectTable(); - - // Enable CPU and PIE interrupts - // This example function is found in the DSP2833x_PieCtrl.c file. - EnableInterrupts(); - -// Step 4. Initialize all the Device Peripherals to a known state: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); skip this for SCI tests - -// Step 5. User specific functions, Reassign vectors (optional), Enable Interrupts: - - LoopCount = 0; - ErrorCount = 0; - - scia_fifo_init(); // Initialize the SCI FIFO - scia_loopback_init(); // Initalize SCI for digital loop back - - // Note: Autobaud lock is not required for this example - - // Send a character starting with 0 - SendChar = 0; - -// Step 6. Send Characters forever starting with 0x00 and going through -// 0xFF. After sending each, check the recieve buffer for the correct value - - for(;;) - { - scia_xmit(SendChar); - while(SciaRegs.SCIFFRX.bit.RXFFST !=1) { } // wait for RRDY/RXFFST =1 for 1 data available in FIFO - - // Check received character - ReceivedChar = SciaRegs.SCIRXBUF.all; - if(ReceivedChar != SendChar) error(); - - // Move to the next character and repeat the test - SendChar++; - // Limit the character to 8-bits - SendChar &= 0x00FF; - LoopCount++; - } - -} - - -// Step 7. Insert all local Interrupt Service Routines (ISRs) and functions here: - -void error() -{ - - ErrorCount++; -// asm(" ESTOP0"); // Uncomment to stop the test here -// for (;;); - -} - -// Test 1,SCIA DLB, 8-bit word, baud rate 0x000F, default, 1 STOP bit, no parity -void scia_loopback_init() -{ - // Note: Clocks were turned on to the SCIA peripheral - // in the InitSysCtrl() function - - SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback - // No parity,8 char bits, - // async mode, idle-line protocol - SciaRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK, - // Disable RX ERR, SLEEP, TXWAKE - SciaRegs.SCICTL2.all =0x0003; - SciaRegs.SCICTL2.bit.TXINTENA =1; - SciaRegs.SCICTL2.bit.RXBKINTENA =1; - SciaRegs.SCIHBAUD =0x0000; - SciaRegs.SCILBAUD =0x000F; - SciaRegs.SCICCR.bit.LOOPBKENA =1; // Enable loop back - SciaRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset -} - -// Transmit a character from the SCI' -void scia_xmit(int a) -{ - SciaRegs.SCITXBUF=a; -} - -// Initalize the SCI FIFO -void scia_fifo_init() -{ - SciaRegs.SCIFFTX.all=0xE040; - SciaRegs.SCIFFRX.all=0x204f; - SciaRegs.SCIFFCT.all=0x0; - -} - - - - - - -//=========================================================================== -// No more. -//=========================================================================== - - - diff --git a/Source/External/v120/DSP2833x_examples/scia_loopback/Example_2833xScia_FFDLB.gel b/Source/External/v120/DSP2833x_examples/scia_loopback/Example_2833xScia_FFDLB.gel deleted file mode 100644 index 541354f..0000000 --- a/Source/External/v120/DSP2833x_examples/scia_loopback/Example_2833xScia_FFDLB.gel +++ /dev/null @@ -1,42 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:21:46 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x SCI-A loopback" - - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xScia_FFDLB.pjt"); - GEL_ProjectBuild("Example_2833xScia_FFDLB.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xScia_FFDLB.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("LoopCount,x"); - GEL_WatchAdd("ErrorCount,x"); - GEL_WatchAdd("SendChar,x"); - GEL_WatchAdd("ReceivedChar,x"); - GEL_WatchAdd("SciaRegs"); -} - - diff --git a/Source/External/v120/DSP2833x_examples/scia_loopback/Example_2833xScia_FFDLB.pjt b/Source/External/v120/DSP2833x_examples/scia_loopback/Example_2833xScia_FFDLB.pjt deleted file mode 100644 index 1f2db50..0000000 --- a/Source/External/v120/DSP2833x_examples/scia_loopback/Example_2833xScia_FFDLB.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\scia_loopback\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_Sci.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xScia_FFDLB.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\scia_loopback\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\scia_loopback\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\scia_loopback\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xScia_FFDLB.map" -o".\Debug\Example_2833xScia_FFDLB.out" -stack0X200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xSci_FFDLB.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/scia_loopback_interrupts/Example_2833xSci_FFDLB_int.c b/Source/External/v120/DSP2833x_examples/scia_loopback_interrupts/Example_2833xSci_FFDLB_int.c deleted file mode 100644 index eb1680b..0000000 --- a/Source/External/v120/DSP2833x_examples/scia_loopback_interrupts/Example_2833xSci_FFDLB_int.c +++ /dev/null @@ -1,329 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: April 21, 2008 15:43:28 $ -//########################################################################### -// -// FILE: Example_2833xSci_FFDLB_int.c -// -// TITLE: DSP2833x Device SCI Digital Loop Back porgram. -// -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// This program uses the internal loop back test mode of the peripheral. -// Other then boot mode pin configuration, no other hardware configuration -// is required. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This program is a SCI example that uses the internal loopback of -// the peripheral. Both interrupts and the SCI FIFOs are used. -// -// A stream of data is sent and then compared to the recieved stream. -// -// The SCI-A sent data looks like this: -// 00 01 02 03 04 05 06 07 -// 01 02 03 04 05 06 07 08 -// 02 03 04 05 06 07 08 09 -// .... -// FE FF 00 01 02 03 04 05 -// FF 00 01 02 03 04 05 06 -// etc.. -// -// -// The SCI-B sent data looks like this: -// FF FE FD FC FB FA F9 F8 -// FE FD FC FB FA F9 F8 F7 -// FD FC FB FA F9 F8 F7 F6 -// .... -// 01 00 FF FE FD FC FB FA -// 00 FF FE FD FC FB FA F9 -// etc.. -// -// Both patterns are repeated forever. -// -// Watch Variables: -// -// SCI-A SCI-B -// ---------------------- -// sdataA sdataB Data being sent -// rdataA rdataB Data received -// rdata_pointA rdata_pointB Keep track of where we are in the datastream -// This is used to check the incoming data -//########################################################################### -// Original Source by S.D. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -#define CPU_FREQ 150E6 -#define LSPCLK_FREQ CPU_FREQ/4 -#define SCI_FREQ 100E3 -#define SCI_PRD (LSPCLK_FREQ/(SCI_FREQ*8))-1 - -// Prototype statements for functions found within this file. -interrupt void sciaTxFifoIsr(void); -interrupt void sciaRxFifoIsr(void); -interrupt void scibTxFifoIsr(void); -interrupt void scibRxFifoIsr(void); -void scia_fifo_init(void); -void scib_fifo_init(void); -void error(void); - -// Global variables -Uint16 sdataA[8]; // Send data for SCI-A -Uint16 sdataB[8]; // Send data for SCI-B -Uint16 rdataA[8]; // Received data for SCI-A -Uint16 rdataB[8]; // Received data for SCI-A -Uint16 rdata_pointA; // Used for checking the received data -Uint16 rdata_pointB; - - -void main(void) -{ - Uint16 i; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); -// Setup only the GP I/O only for SCI-A and SCI-B functionality -// This function is found in DSP2833x_Sci.c - InitSciGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.SCIRXINTA = &sciaRxFifoIsr; - PieVectTable.SCITXINTA = &sciaTxFifoIsr; - PieVectTable.SCIRXINTB = &scibRxFifoIsr; - PieVectTable.SCITXINTB = &scibTxFifoIsr; - EDIS; // This is needed to disable write to EALLOW protected registers - - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - scia_fifo_init(); // Init SCI-A - scib_fifo_init(); // Init SCI-B - -// Step 5. User specific code, enable interrupts: - -// Init send data. After each transmission this data -// will be updated for the next transmission - for(i = 0; i<8; i++) - { - sdataA[i] = i; - } - - for(i = 0; i<8; i++) - { - sdataB[i] = 0xFF - i; - } - - rdata_pointA = sdataA[0]; - rdata_pointB = sdataB[0]; - -// Enable interrupts required for this example - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block - PieCtrlRegs.PIEIER9.bit.INTx1=1; // PIE Group 9, int1 - PieCtrlRegs.PIEIER9.bit.INTx2=1; // PIE Group 9, INT2 - PieCtrlRegs.PIEIER9.bit.INTx3=1; // PIE Group 9, INT3 - PieCtrlRegs.PIEIER9.bit.INTx4=1; // PIE Group 9, INT4 - IER = 0x100; // Enable CPU INT - EINT; - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;); - -} - -void error(void) -{ - asm(" ESTOP0"); // Test failed!! Stop! - for (;;); -} - - -interrupt void sciaTxFifoIsr(void) -{ - Uint16 i; - for(i=0; i< 8; i++) - { - SciaRegs.SCITXBUF=sdataA[i]; // Send data - } - - for(i=0; i< 8; i++) //Increment send data for next cycle - { - sdataA[i] = (sdataA[i]+1) & 0x00FF; - } - - SciaRegs.SCIFFTX.bit.TXFFINTCLR=1; // Clear SCI Interrupt flag - PieCtrlRegs.PIEACK.all|=0x100; // Issue PIE ACK -} - -interrupt void sciaRxFifoIsr(void) -{ - Uint16 i; - for(i=0;i<8;i++) - { - rdataA[i]=SciaRegs.SCIRXBUF.all; // Read data - } - for(i=0;i<8;i++) // Check received data - { - if(rdataA[i] != ( (rdata_pointA+i) & 0x00FF) ) error(); - } - rdata_pointA = (rdata_pointA+1) & 0x00FF; - - SciaRegs.SCIFFRX.bit.RXFFOVRCLR=1; // Clear Overflow flag - SciaRegs.SCIFFRX.bit.RXFFINTCLR=1; // Clear Interrupt flag - - PieCtrlRegs.PIEACK.all|=0x100; // Issue PIE ack -} - -void scia_fifo_init() -{ - SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback - // No parity,8 char bits, - // async mode, idle-line protocol - SciaRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK, - // Disable RX ERR, SLEEP, TXWAKE - SciaRegs.SCICTL2.bit.TXINTENA =1; - SciaRegs.SCICTL2.bit.RXBKINTENA =1; - SciaRegs.SCIHBAUD = 0x0000; - SciaRegs.SCILBAUD = SCI_PRD; - SciaRegs.SCICCR.bit.LOOPBKENA =1; // Enable loop back - SciaRegs.SCIFFTX.all=0xC028; - SciaRegs.SCIFFRX.all=0x0028; - SciaRegs.SCIFFCT.all=0x00; - - SciaRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset - SciaRegs.SCIFFTX.bit.TXFIFOXRESET=1; - SciaRegs.SCIFFRX.bit.RXFIFORESET=1; - - -} - -interrupt void scibTxFifoIsr(void) -{ - Uint16 i; - for(i=0; i< 8; i++) - { - ScibRegs.SCITXBUF=sdataB[i]; // Send data - } - - for(i=0; i< 8; i++) //Increment send data for next cycle - { - sdataB[i] = (sdataB[i]-1) & 0x00FF; - } - - ScibRegs.SCIFFTX.bit.TXFFINTCLR=1; // Clear Interrupt flag - PieCtrlRegs.PIEACK.all|=0x100; // Issue PIE ACK -} - -interrupt void scibRxFifoIsr(void) -{ - Uint16 i; - for(i=0;i<8;i++) - { - rdataB[i]=ScibRegs.SCIRXBUF.all; // Read data - } - for(i=0;i<8;i++) // Check received data - { - if(rdataB[i] != ( (rdata_pointB-i) & 0x00FF) ) error(); - } - rdata_pointB = (rdata_pointB-1) & 0x00FF; - - ScibRegs.SCIFFRX.bit.RXFFOVRCLR=1; // Clear Overflow flag - ScibRegs.SCIFFRX.bit.RXFFINTCLR=1; // Clear Interrupt flag - PieCtrlRegs.PIEACK.all|=0x100; // Issue PIE ack -} - -void scib_fifo_init() -{ - ScibRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback - // No parity,8 char bits, - // async mode, idle-line protocol - ScibRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK, - // Disable RX ERR, SLEEP, TXWAKE - ScibRegs.SCICTL2.bit.TXINTENA =1; - ScibRegs.SCICTL2.bit.RXBKINTENA =1; - ScibRegs.SCIHBAUD =0x0000; - ScibRegs.SCILBAUD =SCI_PRD; - ScibRegs.SCICCR.bit.LOOPBKENA =1; // Enable loop back - ScibRegs.SCIFFTX.all=0xC028; - ScibRegs.SCIFFRX.all=0x0028; - ScibRegs.SCIFFCT.all=0x00; - - ScibRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset - ScibRegs.SCIFFTX.bit.TXFIFOXRESET=1; - ScibRegs.SCIFFRX.bit.RXFIFORESET=1; - -} - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/scia_loopback_interrupts/Example_2833xSci_FFDLB_int.gel b/Source/External/v120/DSP2833x_examples/scia_loopback_interrupts/Example_2833xSci_FFDLB_int.gel deleted file mode 100644 index 617b3e6..0000000 --- a/Source/External/v120/DSP2833x_examples/scia_loopback_interrupts/Example_2833xSci_FFDLB_int.gel +++ /dev/null @@ -1,45 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:21:58 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x SCI Int" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xSci_FFDLB_int.pjt"); - GEL_ProjectBuild("Example_2833xSci_FFDLB_int.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_WatchReset(); - GEL_Load(".\\debug\\Example_2833xSci_FFDLB_int.out"); - Setup_WatchWindow(); -} - - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("sdataA,x"); - GEL_WatchAdd("rdataA,x"); - GEL_WatchAdd("rdata_pointA,x"); - GEL_WatchAdd("sdataB,x"); - GEL_WatchAdd("rdataB,x"); - GEL_WatchAdd("rdata_pointB,x"); - GEL_WatchAdd("SciaRegs,x"); -} - - diff --git a/Source/External/v120/DSP2833x_examples/scia_loopback_interrupts/Example_2833xSci_FFDLB_int.pjt b/Source/External/v120/DSP2833x_examples/scia_loopback_interrupts/Example_2833xSci_FFDLB_int.pjt deleted file mode 100644 index 9fce8bd..0000000 --- a/Source/External/v120/DSP2833x_examples/scia_loopback_interrupts/Example_2833xSci_FFDLB_int.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\scia_loopback_interrupts\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_Sci.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xSci_FFDLB_int.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\scia_loopback_interrupts\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\scia_loopback_interrupts\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\scia_loopback_interrupts\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xSci_FFDLB_int.map" -o".\Debug\Example_2833xSci_FFDLB_int.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xSpi_FFDLB.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/spi_loopback/Example_2833xSpi_FFDLB.c b/Source/External/v120/DSP2833x_examples/spi_loopback/Example_2833xSpi_FFDLB.c deleted file mode 100644 index 8a28e12..0000000 --- a/Source/External/v120/DSP2833x_examples/spi_loopback/Example_2833xSpi_FFDLB.c +++ /dev/null @@ -1,184 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:43:32 $ -//########################################################################### -// -// FILE: Example_2833xSpi_FFDLB.c -// -// TITLE: DSP2833x Device Spi Digital Loop Back program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// This program uses the internal loop back test mode of the peripheral. -// Other then boot mode pin configuration, no other hardware configuration -// is required. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This program is a SPI example that uses the internal loopback of -// the peripheral. Interrupts are not used. -// -// A stream of data is sent and then compared to the recieved stream. -// -// The sent data looks like this: -// 0000 0001 0002 0003 0004 0005 0006 0007 .... FFFE FFFF -// -// This pattern is repeated forever. -// -// Watch Variables: -// sdata - sent data -// rdata - received data -// -////########################################################################### -// Original Author: S.S. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -// interrupt void ISRTimer2(void); -void delay_loop(void); -void spi_xmit(Uint16 a); -void spi_fifo_init(void); -void spi_init(void); -void error(void); - -void main(void) -{ - Uint16 sdata; // send data - Uint16 rdata; // received data - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// Setup only the GP I/O only for SPI-A functionality -// This function is found in DSP2833x_Spi.c - InitSpiaGpio(); - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - spi_fifo_init(); // Initialize the Spi FIFO - spi_init(); // init SPI - -// Step 5. User specific code: -// Interrupts are not used in this example. - sdata = 0x0000; - for(;;) - { - // Transmit data - spi_xmit(sdata); - // Wait until data is received - while(SpiaRegs.SPIFFRX.bit.RXFFST !=1) { } - // Check against sent data - rdata = SpiaRegs.SPIRXBUF; - if(rdata != sdata) error(); - sdata++; - } -} - - -// Step 7. Insert all local Interrupt Service Routines (ISRs) and functions here: - -void delay_loop() -{ - long i; - for (i = 0; i < 1000000; i++) {} -} - - -void error(void) -{ - asm(" ESTOP0"); // Test failed!! Stop! - for (;;); -} - -void spi_init() -{ - SpiaRegs.SPICCR.all =0x000F; // Reset on, rising edge, 16-bit char bits - SpiaRegs.SPICTL.all =0x0006; // Enable master mode, normal phase, - // enable talk, and SPI int disabled. - SpiaRegs.SPIBRR =0x007F; - SpiaRegs.SPICCR.all =0x009F; // Relinquish SPI from Reset - SpiaRegs.SPIPRI.bit.FREE = 1; // Set so breakpoints don't disturb xmission -} - -void spi_xmit(Uint16 a) -{ - SpiaRegs.SPITXBUF=a; -} - -void spi_fifo_init() -{ -// Initialize SPI FIFO registers - SpiaRegs.SPIFFTX.all=0xE040; - SpiaRegs.SPIFFRX.all=0x204f; - SpiaRegs.SPIFFCT.all=0x0; -} - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/spi_loopback/Example_2833xSpi_FFDLB.gel b/Source/External/v120/DSP2833x_examples/spi_loopback/Example_2833xSpi_FFDLB.gel deleted file mode 100644 index 3ba33a3..0000000 --- a/Source/External/v120/DSP2833x_examples/spi_loopback/Example_2833xSpi_FFDLB.gel +++ /dev/null @@ -1,40 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:22:51 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x SPI loopback" - - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xSpi_FFDLB.pjt"); - GEL_ProjectBuild("Example_2833xSpi_FFDLB.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xSpi_FFDLB.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("sdata,x"); - GEL_WatchAdd("rdata,x"); - GEL_WatchAdd("SpiaRegs,x"); -} - - diff --git a/Source/External/v120/DSP2833x_examples/spi_loopback/Example_2833xSpi_FFDLB.pjt b/Source/External/v120/DSP2833x_examples/spi_loopback/Example_2833xSpi_FFDLB.pjt deleted file mode 100644 index e88dc66..0000000 --- a/Source/External/v120/DSP2833x_examples/spi_loopback/Example_2833xSpi_FFDLB.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\spi_loopback\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_Spi.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xSpi_FFDLB.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\spi_loopback\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\spi_loopback\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\spi_loopback\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xSpi_FFDLB.map" -o".\Debug\Example_2833xSpi_FFDLB.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xSpi_FFDLB.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/spi_loopback_interrupts/Example_2833xSpi_FFDLB_int.c b/Source/External/v120/DSP2833x_examples/spi_loopback_interrupts/Example_2833xSpi_FFDLB_int.c deleted file mode 100644 index 625b618..0000000 --- a/Source/External/v120/DSP2833x_examples/spi_loopback_interrupts/Example_2833xSpi_FFDLB_int.c +++ /dev/null @@ -1,238 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:43:36 $ -//########################################################################### -// -// FILE: Example_2833xSpi_FFDLB_int.c -// -// TITLE: DSP2833x Device Spi Digital Loop Back with Interrupts Example. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// This program uses the internal loop back test mode of the peripheral. -// Other then boot mode pin configuration, no other hardware configuration -// is required. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This program is a SPI-A example that uses the internal loopback of -// the peripheral. Both interrupts and the SPI FIFOs are used. -// -// A stream of data is sent and then compared to the recieved stream. -// -// The sent data looks like this: -// 0000 0001 0002 0003 0004 0005 0006 0007 -// 0001 0002 0003 0004 0005 0006 0007 0008 -// 0002 0003 0004 0005 0006 0007 0008 0009 -// .... -// FFFE FFFF 0000 0001 0002 0003 0004 0005 -// FFFF 0000 0001 0002 0003 0004 0005 0006 -// etc.. -// -// This pattern is repeated forever. -// -// -// Watch Variables: -// sdata[8] - Data to send -// rdata[8] - Received data -// rdata_point - Used to keep track of the last position in -// the receive stream for error checking -//########################################################################### -// -// Original Source by S.D. -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -// interrupt void ISRTimer2(void); -interrupt void spiTxFifoIsr(void); -interrupt void spiRxFifoIsr(void); -void delay_loop(void); -void spi_fifo_init(void); -void error(); - -Uint16 sdata[8]; // Send data buffer -Uint16 rdata[8]; // Receive data buffer -Uint16 rdata_point; // Keep track of where we are - // in the data stream to check received data - -void main(void) -{ - Uint16 i; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example -// Setup only the GP I/O only for SPI-A functionality - InitSpiaGpio(); - -// Step 3. Initialize PIE vector table: -// Disable and clear all CPU interrupts - DINT; - IER = 0x0000; - IFR = 0x0000; - -// Initialize PIE control registers to their default state: -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.SPIRXINTA = &spiRxFifoIsr; - PieVectTable.SPITXINTA = &spiTxFifoIsr; - EDIS; // This is needed to disable write to EALLOW protected registers - - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - spi_fifo_init(); // Initialize the SPI only - - -// Step 5. User specific code, enable interrupts: - -// Initalize the send data buffer - for(i=0; i<8; i++) - { - sdata[i] = i; - } - rdata_point = 0; - -// Enable interrupts required for this example - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block - PieCtrlRegs.PIEIER6.bit.INTx1=1; // Enable PIE Group 6, INT 1 - PieCtrlRegs.PIEIER6.bit.INTx2=1; // Enable PIE Group 6, INT 2 - IER=0x20; // Enable CPU INT6 - EINT; // Enable Global Interrupts - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;); - -} - - -// Some Useful local functions -void delay_loop() -{ - long i; - for (i = 0; i < 1000000; i++) {} -} - - -void error(void) -{ - asm(" ESTOP0"); //Test failed!! Stop! - for (;;); -} - - -void spi_fifo_init() -{ -// Initialize SPI FIFO registers - SpiaRegs.SPICCR.bit.SPISWRESET=0; // Reset SPI - - SpiaRegs.SPICCR.all=0x001F; //16-bit character, Loopback mode - SpiaRegs.SPICTL.all=0x0017; //Interrupt enabled, Master/Slave XMIT enabled - SpiaRegs.SPISTS.all=0x0000; - SpiaRegs.SPIBRR=0x0063; // Baud rate - SpiaRegs.SPIFFTX.all=0xC028; // Enable FIFO's, set TX FIFO level to 8 - SpiaRegs.SPIFFRX.all=0x0028; // Set RX FIFO level to 8 - SpiaRegs.SPIFFCT.all=0x00; - SpiaRegs.SPIPRI.all=0x0010; - - SpiaRegs.SPICCR.bit.SPISWRESET=1; // Enable SPI - - SpiaRegs.SPIFFTX.bit.TXFIFO=1; - SpiaRegs.SPIFFRX.bit.RXFIFORESET=1; -} - -interrupt void spiTxFifoIsr(void) -{ - Uint16 i; - for(i=0;i<8;i++) - { - SpiaRegs.SPITXBUF=sdata[i]; // Send data - } - - for(i=0;i<8;i++) // Increment data for next cycle - { - sdata[i]++; - } - - - SpiaRegs.SPIFFTX.bit.TXFFINTCLR=1; // Clear Interrupt flag - PieCtrlRegs.PIEACK.all|=0x20; // Issue PIE ACK -} - -interrupt void spiRxFifoIsr(void) -{ - Uint16 i; - for(i=0;i<8;i++) - { - rdata[i]=SpiaRegs.SPIRXBUF; // Read data - } - for(i=0;i<8;i++) // Check received data - { - if(rdata[i] != rdata_point+i) error(); - } - rdata_point++; - SpiaRegs.SPIFFRX.bit.RXFFOVFCLR=1; // Clear Overflow flag - SpiaRegs.SPIFFRX.bit.RXFFINTCLR=1; // Clear Interrupt flag - PieCtrlRegs.PIEACK.all|=0x20; // Issue PIE ack -} - - - -//=========================================================================== -// No more. -//=========================================================================== - diff --git a/Source/External/v120/DSP2833x_examples/spi_loopback_interrupts/Example_2833xSpi_FFDLB_int.gel b/Source/External/v120/DSP2833x_examples/spi_loopback_interrupts/Example_2833xSpi_FFDLB_int.gel deleted file mode 100644 index b0204c9..0000000 --- a/Source/External/v120/DSP2833x_examples/spi_loopback_interrupts/Example_2833xSpi_FFDLB_int.gel +++ /dev/null @@ -1,40 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:23:39 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x SPI Int" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xSpi_FFDLB_int.pjt"); - GEL_ProjectBuild("Example_2833xSpi_FFDLB_int.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xSpi_FFDLB_int.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("sdata,x"); - GEL_WatchAdd("rdata,x"); - GEL_WatchAdd("rdata_point,x"); - GEL_WatchAdd("SpiaRegs,x"); -} - - diff --git a/Source/External/v120/DSP2833x_examples/spi_loopback_interrupts/Example_2833xSpi_FFDLB_int.pjt b/Source/External/v120/DSP2833x_examples/spi_loopback_interrupts/Example_2833xSpi_FFDLB_int.pjt deleted file mode 100644 index 10b6b8e..0000000 --- a/Source/External/v120/DSP2833x_examples/spi_loopback_interrupts/Example_2833xSpi_FFDLB_int.pjt +++ /dev/null @@ -1,45 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\spi_loopback_interrupts\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_Spi.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xSpi_FFDLB_int.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\spi_loopback_interrupts\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\spi_loopback_interrupts\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\spi_loopback_interrupts\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xSpi_FFDLB_int.map" -o".\Debug\Example_2833xSpi_FFDLB_int.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xSpi_FFDLB_int.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedDefaultIsr.c b/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedDefaultIsr.c deleted file mode 100644 index b039033..0000000 --- a/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedDefaultIsr.c +++ /dev/null @@ -1,1879 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: April 21, 2008 15:43:40 $ -//########################################################################### -// -// FILE: Example_2833xSWPrioritizedDefaultIsr.c -// -// TITLE: DSP2833x Device Default Software Prioritized Interrupt Service Routines. -// -// This file is based on the standard DSP2833x_SWPrioritizedDefaultIsr.c -// The ISR routines have been modified slightly to provide a trace -// mechanism used for this example -// -//########################################################################### -// -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "DSP2833x_SWPrioritizedIsrLevels.h" - -// Defined in the Example_28xSWPrioritizedInterrupts.c file -// for this example only -extern Uint16 ISRTrace[50]; -extern Uint16 ISRTraceIndex; - -// Used for ISR delays -Uint16 i; - - -// Connected to INT13 of CPU (use MINT13 mask): -// Note CPU-Timer1 is reserved for TI use, however XINT13 -// ISR can be used by the user. -#if (INT13PL != 0) -interrupt void INT13_ISR(void) // INT13 or CPU-Timer1 -{ - IER |= MINT13; // Set "global" priority - EINT; - - // Insert ISR Code here - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} -#endif - -// Connected to INT14 of CPU (use MINT14 mask): -#if (INT14PL != 0) -interrupt void INT14_ISR(void) // CPU-Timer2 -{ - IER |= MINT14; // Set "global" priority - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} -#endif - -// Connected to int15 of CPU (use MINT15 mask): -#if (INT15PL != 0) -interrupt void DATALOG_ISR(void) // Datalogging interrupt -{ - IER |= MINT15; // Set "global" priority - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} -#endif - -// Connected to int16 of CPU (use MINT16 mask): -#if (INT16PL != 0) -interrupt void RTOSINT_ISR(void) // RTOS interrupt -{ - IER |= MINT16; // Set "global" priority - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} -#endif - -// Connected to EMUINT of CPU (non-maskable): -interrupt void EMUINT_ISR(void) // Emulation interrupt -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - - -// Connected to NMI of CPU (non-maskable): -interrupt void NMI_ISR(void) // Non-maskable interrupt -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to ITRAP of CPU (non-maskable): -interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER1 of CPU (non-maskable): -interrupt void USER1_ISR(void) // User Defined trap 1 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER2 of CPU (non-maskable): -interrupt void USER2_ISR(void) // User Defined trap 2 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER3 of CPU (non-maskable): -interrupt void USER3_ISR(void) // User Defined trap 3 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER4 of CPU (non-maskable): -interrupt void USER4_ISR(void) // User Defined trap 4 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER5 of CPU (non-maskable): -interrupt void USER5_ISR(void) // User Defined trap 5 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER6 of CPU (non-maskable): -interrupt void USER6_ISR(void) // User Defined trap 6 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER7 of CPU (non-maskable): -interrupt void USER7_ISR(void) // User Defined trap 7 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER8 of CPU (non-maskable): -interrupt void USER8_ISR(void) // User Defined trap 8 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER9 of CPU (non-maskable): -interrupt void USER9_ISR(void) // User Defined trap 9 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER10 of CPU (non-maskable): -interrupt void USER10_ISR(void) // User Defined trap 10 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER11 of CPU (non-maskable): -interrupt void USER11_ISR(void) // User Defined trap 11 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - -// Connected to USER12 of CPU (non-maskable): -interrupt void USER12_ISR(void) // User Defined trap 12 -{ - EINT; - - // Insert ISR Code here....... - - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - asm (" ESTOP0"); - for(;;); -} - - -// ----------------------------------------------------------- -// PIE Group 1 - MUXed into CPU INT1 -// ----------------------------------------------------------- - -// Connected to PIEIER1_1 (use MINT1 and MG11 masks): -#if (G11PL != 0) -interrupt void SEQ1INT_ISR( void ) // ADC -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all; - IER |= M_INT1; - IER &= MINT1; // Set "global" priority - PieCtrlRegs.PIEIER1.all &= MG11; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER1.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0011; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER1_2 (use MINT1 and MG12 masks): -#if (G12PL != 0) -interrupt void SEQ2INT_ISR( void ) // ADC -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all; - IER |= M_INT1; - IER &= MINT1; // Set "global" priority - PieCtrlRegs.PIEIER1.all &= MG12; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER1.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0012; - ISRTraceIndex++; - -} -#endif - - -// Connected to PIEIER1_4 (use MINT1 and MG14 masks): -#if (G14PL != 0) -interrupt void XINT1_ISR(void) -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all; - IER |= M_INT1; - IER &= MINT1; // Set "global" priority - PieCtrlRegs.PIEIER1.all &= MG14; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - - asm(" NOP"); - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER1.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0014; - ISRTraceIndex++; -} -#endif - -// Connected to PIEIER1_5 (use MINT1 and MG15 masks): -#if (G15PL != 0) -interrupt void XINT2_ISR(void) -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all; - IER |= M_INT1; - IER &= MINT1; // Set "global" priority - PieCtrlRegs.PIEIER1.all &= MG15; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER1.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0015; - ISRTraceIndex++; -} -#endif - - -// Connected to PIEIER1_6 (use MINT1 and MG16 masks): -#if (G16PL != 0) -interrupt void ADCINT_ISR(void) // ADC -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all; - IER |= M_INT1; - IER &= MINT1; // Set "global" priority - PieCtrlRegs.PIEIER1.all &= MG16; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER1.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0016; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER1_7 (use MINT1 and MG17 masks): -#if (G17PL != 0) -interrupt void TINT0_ISR(void) // CPU-Timer 0 -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all; - IER |= M_INT1; - IER &= MINT1; // Set "global" priority - PieCtrlRegs.PIEIER1.all &= MG17; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER1.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0017; - ISRTraceIndex++; -} -#endif - -// Connected to PIEIER1_8 (use MINT1 and MG18 masks): -#if (G18PL != 0) -interrupt void WAKEINT_ISR(void) // WD/LPM -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER1.all; - IER |= M_INT1; - IER &= MINT1; // Set "global" priority - PieCtrlRegs.PIEIER1.all &= MG18; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER1.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0018; - ISRTraceIndex++; -} -#endif - - -// ----------------------------------------------------------- -// PIE Group 2 - MUXed into CPU INT2 -// ----------------------------------------------------------- - -// Connected to PIEIER2_1 (use MINT2 and MG21 masks): -#if (G21PL != 0) -interrupt void EPWM1_TZINT_ISR(void) // ePWM1 Trip Zone -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all; - IER |= M_INT2; - IER &= MINT2; // Set "global" priority - PieCtrlRegs.PIEIER2.all &= MG21; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER2.all = TempPIEIER; - - //Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0021; - ISRTraceIndex++; -} -#endif - -// Connected to PIEIER2_2 (use MINT2 and MG22 masks): -#if (G22PL != 0) -interrupt void EPWM2_TZINT_ISR(void) // ePWM2 Trip Zone -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all; - IER |= M_INT2; - IER &= MINT2; // Set "global" priority - PieCtrlRegs.PIEIER2.all &= MG22; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER2.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0022; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER2_3 (use MINT2 and MG23 masks): -#if (G23PL != 0) -interrupt void EPWM3_TZINT_ISR(void) // ePWM3 Trip Zone -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all; - IER |= M_INT2; - IER &= MINT2; // Set "global" priority - PieCtrlRegs.PIEIER2.all &= MG23; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER2.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0023; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER2_4 (use MINT2 and MG24 masks): -#if (G24PL != 0) -interrupt void EPWM4_TZINT_ISR(void) // ePWM4 Trip Zone -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all; - IER |= M_INT2; - IER &= MINT2; // Set "global" priority - PieCtrlRegs.PIEIER2.all &= MG24; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER2.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0024; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER2_5 (use MINT2 and MG25 masks): -#if (G25PL != 0) -interrupt void EPWM5_TZINT_ISR(void) // ePWM5 Trip Zone -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all; - IER |= M_INT2; - IER &= MINT2; // Set "global" priority - PieCtrlRegs.PIEIER2.all &= MG25; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER2.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0025; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER2_6 (use MINT2 and MG26 masks): -#if (G26PL != 0) -interrupt void EPWM6_TZINT_ISR(void) // ePWM6 Trip Zone -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER2.all; - IER |= M_INT2; - IER &= MINT2; // Set "global" priority - PieCtrlRegs.PIEIER2.all &= MG26; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER2.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0026; - ISRTraceIndex++; - -} -#endif - - -// ----------------------------------------------------------- -// PIE Group 3 - MUXed into CPU INT3 -// ----------------------------------------------------------- - - -// Connected to PIEIER3_1 (use MINT3 and MG31 masks): -#if (G31PL != 0) -interrupt void EPWM1_INT_ISR(void) // ePWM1 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all; - IER |= M_INT3; - IER &= MINT3; // Set "global" priority - PieCtrlRegs.PIEIER3.all &= MG31; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER3.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0031; - ISRTraceIndex++; -} -#endif - -// Connected to PIEIER3_2 (use MINT3 and MG32 masks): -#if (G32PL != 0) -interrupt void EPWM2_INT_ISR(void) // ePWM2 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all; - IER |= M_INT3; - IER &= MINT3; // Set "global" priority - PieCtrlRegs.PIEIER3.all &= MG32; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER3.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0032; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER3_3 (use MINT3 and MG33 masks): -#if (G33PL != 0) -interrupt void EPWM3_INT_ISR(void) // ePWM3 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all; - IER |= M_INT3; - IER &= MINT3; // Set "global" priority - PieCtrlRegs.PIEIER3.all &= MG33; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER3.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0033; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER3_4 (use MINT3 and MG34 masks): -#if (G34PL != 0) -interrupt void EPWM4_INT_ISR(void) // ePWM4 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all; - IER |= M_INT3; - IER &= MINT3; // Set "global" priority - PieCtrlRegs.PIEIER3.all &= MG34; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER3.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0034; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER3_5 (use MINT3 and MG35 masks): -#if (G35PL != 0) -interrupt void EPWM5_INT_ISR(void) // ePWM5 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all; - IER |= M_INT3; - IER &= MINT3; // Set "global" priority - PieCtrlRegs.PIEIER3.all &= MG35; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER3.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0035; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER3_6 (use MINT3 and MG36 masks): -#if (G36PL != 0) -interrupt void EPWM6_INT_ISR(void) // ePWM6 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER3.all; - IER |= M_INT3; - IER &= MINT3; // Set "global" priority - PieCtrlRegs.PIEIER3.all &= MG36; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER3.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0036; - ISRTraceIndex++; - -} -#endif - - -// ----------------------------------------------------------- -// PIE Group 4 - MUXed into CPU INT4 -// ----------------------------------------------------------- - - -// Connected to PIEIER4_1 (use MINT4 and MG41 masks): -#if (G41PL != 0) -interrupt void ECAP1_INT_ISR(void) // eCAP1 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all; - IER |= M_INT4; - IER &= MINT4; // Set "global" priority - PieCtrlRegs.PIEIER4.all &= MG41; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER4.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0041; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER4_2 (use MINT4 and MG42 masks): -#if (G42PL != 0) -interrupt void ECAP2_INT_ISR(void) // eCAP2 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all; - IER |= M_INT4; - IER &= MINT4; // Set "global" priority - PieCtrlRegs.PIEIER4.all &= MG42; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER4.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0042; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER4_3 (use MINT4 and MG43 masks): -#if (G43PL != 0) -interrupt void ECAP3_INT_ISR(void) // eCAP3 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all; - IER |= M_INT4; - IER &= MINT4; // Set "global" priority - PieCtrlRegs.PIEIER4.all &= MG43; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER4.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0043; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER4_4 (use MINT4 and MG44 masks): -#if (G44PL != 0) -interrupt void ECAP4_INT_ISR(void) // eCAP4 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all; - IER |= M_INT4; - IER &= MINT4; // Set "global" priority - PieCtrlRegs.PIEIER4.all &= MG44; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER4.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0044; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER4_5 (use MINT4 and MG45 masks): -#if (G44PL != 0) -interrupt void ECAP5_INT_ISR(void) // eCAP5 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all; - IER |= M_INT4; - IER &= MINT4; // Set "global" priority - PieCtrlRegs.PIEIER4.all &= MG45; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER4.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0045; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER4_6 (use MINT4 and MG46 masks): -#if (G44PL != 0) -interrupt void ECAP6_INT_ISR(void) // eCAP6 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER4.all; - IER |= M_INT4; - IER &= MINT4; // Set "global" priority - PieCtrlRegs.PIEIER4.all &= MG46; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER4.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0046; - ISRTraceIndex++; - -} -#endif -// ----------------------------------------------------------- -// PIE Group 5 - MUXed into CPU INT5 -// ----------------------------------------------------------- - -// Connected to PIEIER5_1 (use MINT5 and MG51 masks): -#if (G51PL != 0) -interrupt void EQEP1_INT_ISR(void) // eQEP1 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER5.all; - IER |= M_INT5; - IER &= MINT5; // Set "global" priority - PieCtrlRegs.PIEIER5.all &= MG51; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER5.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0051; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER5_2 (use MINT5 and MG52 masks): -#if (G52PL != 0) -interrupt void EQEP2_INT_ISR(void) // eQEP2 Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER5.all; - IER |= M_INT5; - IER &= MINT5; // Set "global" priority - PieCtrlRegs.PIEIER5.all &= MG52; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER5.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0052; - ISRTraceIndex++; - -} -#endif - -// ----------------------------------------------------------- -// PIE Group 6 - MUXed into CPU INT6 -// ----------------------------------------------------------- - -// Connected to PIEIER6_1 (use MINT6 and MG61 masks): -#if (G61PL != 0) -interrupt void SPIRXINTA_ISR(void) // SPI-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all; - IER |= M_INT6; - IER &= MINT6; // Set "global" priority - PieCtrlRegs.PIEIER6.all &= MG61; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER6.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0061; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER6_2 (use MINT6 and MG62 masks): -#if (G62PL != 0) -interrupt void SPITXINTA_ISR(void) // SPI-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all; - IER |= M_INT6; - IER &= MINT6; // Set "global" priority - PieCtrlRegs.PIEIER6.all &= MG62; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER6.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0062; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER6_3 (use MINT6 and MG63 masks): -#if (G63PL != 0) -interrupt void MRINTB_ISR(void) // McBSP-B -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all; - IER |= M_INT6; - IER &= MINT6; // Set "global" priority - PieCtrlRegs.PIEIER6.all &= MG63; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER6.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0063; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER6_4 (use MINT6 and MG64 masks): -#if (G64PL != 0) -interrupt void MXINTB_ISR(void) // McBSP-B -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all; - IER |= M_INT6; - IER &= MINT6; // Set "global" priority - PieCtrlRegs.PIEIER6.all &= MG64; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER6.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0064; - ISRTraceIndex++; - -} -#endif - - - -// Connected to PIEIER6_5 (use MINT6 and MG65 masks): -#if (G65PL != 0) -interrupt void MRINTA_ISR(void) // McBSP-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all; - IER |= M_INT6; - IER &= MINT6; // Set "global" priority - PieCtrlRegs.PIEIER6.all &= MG65; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER6.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0065; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER6_6 (use MINT6 and MG66 masks): -#if (G66PL != 0) -interrupt void MXINTA_ISR(void) // McBSP-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER6.all; - IER |= M_INT6; - IER &= MINT6; // Set "global" priority - PieCtrlRegs.PIEIER6.all &= MG66; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER6.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0066; - ISRTraceIndex++; - -} -#endif - -// ----------------------------------------------------------- -// PIE Group 7 - MUXed into CPU INT7 -// ----------------------------------------------------------- - -// Connected to PIEIER7_1 (use MINT7 and MG71 masks): -#if (G71PL != 0) -interrupt void DINTCH1_ISR(void) // DMA-Channel 1 -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all; - IER |= M_INT7; - IER &= MINT7; // Set "global" priority - PieCtrlRegs.PIEIER7.all &= MG71; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER7.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0071; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER7_2 (use MINT7 and MG72 masks): -#if (G72PL != 0) -interrupt void DINTCH2_ISR(void) // DMA-Channel 2 -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all; - IER |= M_INT7; - IER &= MINT7; // Set "global" priority - PieCtrlRegs.PIEIER7.all &= MG72; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER7.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0072; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER7_3 (use MINT7 and MG73 masks): -#if (G73PL != 0) -interrupt void DINTCH3_ISR(void) // DMA-Channel 3 -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all; - IER |= M_INT7; - IER &= MINT7; // Set "global" priority - PieCtrlRegs.PIEIER7.all &= MG73; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER7.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0073; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER7_4 (use MINT7 and MG74 masks): -#if (G74PL != 0) -interrupt void DINTCH4_ISR(void) // DMA-Channel 4 -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all; - IER |= M_INT7; - IER &= MINT7; // Set "global" priority - PieCtrlRegs.PIEIER7.all &= MG74; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER7.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0074; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER7_5 (use MINT7 and MG75 masks): -#if (G75PL != 0) -interrupt void DINTCH5_ISR(void) // DMA-Channel 5 -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all; - IER |= M_INT7; - IER &= MINT7; // Set "global" priority - PieCtrlRegs.PIEIER7.all &= MG75; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER7.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0075; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER7_6 (use MINT7 and MG76 masks): -#if (G76PL != 0) -interrupt void DINTCH6_ISR(void) // DMA-Channel 6 -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER7.all; - IER |= M_INT7; - IER &= MINT7; // Set "global" priority - PieCtrlRegs.PIEIER7.all &= MG76; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER7.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0076; - ISRTraceIndex++; - -} -#endif - - -// ----------------------------------------------------------- -// PIE Group 8 - MUXed into CPU INT8 -// ----------------------------------------------------------- - -// Connected to PIEIER8_1 (use MINT8 and MG81 masks): -#if (G81PL != 0) -interrupt void I2CINT1A_ISR(void) // I2C-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER8.all; - IER |= M_INT8; - IER &= MINT8; // Set "global" priority - PieCtrlRegs.PIEIER8.all &= MG81; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER8.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0081; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER8_2 (use MINT8 and MG82 masks): -#if (G82PL != 0) -interrupt void I2CINT2A_ISR(void) // I2C-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER8.all; - IER |= M_INT8; - IER &= MINT8; // Set "global" priority - PieCtrlRegs.PIEIER8.all &= MG82; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER8.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0082; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER8_5 (use MINT8 and MG85 masks): -#if (G85PL != 0) -interrupt void SCIRXINTC_ISR(void) // SCI-C -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER8.all; - IER |= M_INT8; - IER &= MINT8; // Set "global" priority - PieCtrlRegs.PIEIER8.all &= MG85; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER8.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0085; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER8_6 (use MINT8 and MG86 masks): -#if (G86PL != 0) -interrupt void SCITXINTC_ISR(void) // SCI-C -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER8.all; - IER |= M_INT8; - IER &= MINT8; // Set "global" priority - PieCtrlRegs.PIEIER8.all &= MG86; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER8.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0086; - ISRTraceIndex++; - -} -#endif - -// ----------------------------------------------------------- -// PIE Group 9 - MUXed into CPU INT9 -// ----------------------------------------------------------- - -// Connected to PIEIER9_1 (use MINT9 and MG91 masks): -#if (G91PL != 0) -interrupt void SCIRXINTA_ISR(void) // SCI-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all; - IER |= M_INT9; - IER &= MINT9; // Set "global" priority - PieCtrlRegs.PIEIER9.all &= MG91; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER9.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0091; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER9_2 (use MINT9 and MG92 masks): -#if (G92PL != 0) -interrupt void SCITXINTA_ISR(void) // SCI-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all; - IER |= M_INT9; - IER &= MINT9; // Set "global" priority - PieCtrlRegs.PIEIER9.all &= MG92; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER9.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0092; - ISRTraceIndex++; - -} -#endif - - -// Connected to PIEIER9_3 (use MINT9 and MG93 masks): -#if (G93PL != 0) -interrupt void SCIRXINTB_ISR(void) // SCI-B -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all; - IER |= M_INT9; - IER &= MINT9; // Set "global" priority - PieCtrlRegs.PIEIER9.all &= MG93; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER9.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0093; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER9_4 (use MINT9 and MG94 masks): -#if (G94PL != 0) -interrupt void SCITXINTB_ISR(void) // SCI-B -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all; - IER |= M_INT9; - IER &= MINT9; // Set "global" priority - PieCtrlRegs.PIEIER9.all &= MG94; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER9.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0094; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER9_5 (use MINT9 and MG95 masks): -#if (G95PL != 0) -interrupt void ECAN0INTA_ISR(void) // eCAN-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all; - IER |= M_INT9; - IER &= MINT9; // Set "global" priority - PieCtrlRegs.PIEIER9.all &= MG95; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER9.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0095; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER9_6 (use MINT9 and MG96 masks): -#if (G96PL != 0) -interrupt void ECAN1INTA_ISR(void) // eCAN-A -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all; - IER |= M_INT9; - IER &= MINT9; // Set "global" priority - PieCtrlRegs.PIEIER9.all &= MG96; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER9.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0096; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER9_7 (use MINT9 and MG97 masks): -#if (G97PL != 0) -interrupt void ECAN0INTB_ISR(void) // eCAN-B -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all; - IER |= M_INT9; - IER &= MINT9; // Set "global" priority - PieCtrlRegs.PIEIER9.all &= MG97; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER9.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0097; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER9_8 (use MINT9 and MG98 masks): -#if (G98PL != 0) -interrupt void ECAN1INTB_ISR(void) // eCAN-B -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all; - IER |= M_INT9; - IER &= MINT9; // Set "global" priority - PieCtrlRegs.PIEIER9.all &= MG98; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER9.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0098; - ISRTraceIndex++; - -} -#endif - -// ----------------------------------------------------------- -// PIE Group 10 - MUXed into CPU int10 -// ----------------------------------------------------------- -// ----------------------------------------------------------- -// PIE Group 11 - MUXed into CPU int11 -// ----------------------------------------------------------- -// ----------------------------------------------------------- -// PIE Group 12 - MUXed into CPU int12 -// ----------------------------------------------------------- - -// Connected to PIEIER12_1 (use MINT12 and MG121 masks): -#if (G121PL != 0) -interrupt void XINT3_ISR(void) // External Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all; - IER |= M_INT12; - IER &= MINT12; // Set "global" priority - PieCtrlRegs.PIEIER12.all &= MG121; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER12.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0121; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER12_2 (use MINT12 and MG122 masks): -#if (G122PL != 0) -interrupt void XINT4_ISR(void) // External Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all; - IER |= M_INT12; - IER &= MINT12; // Set "global" priority - PieCtrlRegs.PIEIER12.all &= MG122; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER12.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0122; - ISRTraceIndex++; - -} -#endif - - -// Connected to PIEIER12_3 (use MINT12 and MG123 masks): -#if (G123PL != 0) -interrupt void XINT5_ISR(void) // External Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all; - IER |= M_INT12; - IER &= MINT12; // Set "global" priority - PieCtrlRegs.PIEIER12.all &= MG123; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER12.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0123; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER12_4 (use MINT12 and MG124 masks): -#if (G124PL != 0) -interrupt void XINT6_ISR(void) // External Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all; - IER |= M_INT12; - IER &= MINT12; // Set "global" priority - PieCtrlRegs.PIEIER12.all &= MG124; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER12.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0124; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER12_5 (use MINT12 and MG125 masks): -#if (G125PL != 0) -interrupt void XINT7_ISR(void) // External Interrupt -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all; - IER |= M_INT12; - IER &= MINT12; // Set "global" priority - PieCtrlRegs.PIEIER12.all &= MG125; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER12.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0125; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER12_7 (use MINT12 and MG127 masks): -#if (G127PL != 0) -interrupt void LVF_ISR(void) // FPA32 -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all; - IER |= M_INT12; - IER &= MINT12; // Set "global" priority - PieCtrlRegs.PIEIER12.all &= MG127; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER12.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0127; - ISRTraceIndex++; - -} -#endif - -// Connected to PIEIER12_8 (use MINT12 and MG128 masks): -#if (G128PL != 0) -interrupt void LUF_ISR(void) // FPA32 -{ - // Set interrupt priority: - volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER12.all; - IER |= M_INT12; - IER &= MINT12; // Set "global" priority - PieCtrlRegs.PIEIER12.all &= MG128; // Set "group" priority - PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts - EINT; - - // Insert ISR Code here....... - for(i = 1; i <= 10; i++) {} - - // Restore registers saved: - DINT; - PieCtrlRegs.PIEIER12.all = TempPIEIER; - - // Add ISR to Trace - ISRTrace[ISRTraceIndex] = 0x0128; - ISRTraceIndex++; - -} -#endif - -//--------------------------------------------------------------------------- -// Catch All Default ISRs: -// - -interrupt void PIE_RESERVED(void) // Reserved space. For test. -{ - asm (" ESTOP0"); - for(;;); -} - -interrupt void INT_NOTUSED_ISR(void) // Reserved space. For test. -{ - asm (" ESTOP0"); - for(;;); -} - -interrupt void rsvd_ISR(void) // For test -{ - asm (" ESTOP0"); - for(;;); -} - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedInterrupts.c b/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedInterrupts.c deleted file mode 100644 index b78de16..0000000 --- a/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedInterrupts.c +++ /dev/null @@ -1,597 +0,0 @@ -// TI File $Revision: /main/10 $ -// Checkin $Date: April 21, 2008 15:43:45 $ -//########################################################################### -// -// FILE: Example_2833xSWPrioritizedInterrupts.c -// -// TITLE: DSP2833x Software Prioritized Interrupt Example. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// For most applications, the hardware prioritization of the -// the PIE module is sufficient. For applications that need custom -// prioritization, this example illustrates an example of -// how this can be done through software. -// -// For more information on F2833x interrupt priorities, refer to the -// Example_2833xISRPriorities.pdf file included with the DSP2833x/doc directory. -// -// This program simulates interrupt conflicts by writing to the -// PIEIFR registers. This will simulate multiple interrupts coming into -// the PIE block at the same time. -// -// The interrupt service routine routines are software prioritized -// by the table found in the DSP2833x_SWPrioritizedIsrLevels.h file. -// -// 1) Before compiling you must set the Global and Group interrupt priorities -// in the DSP2833x_SWPrioritizedIsrLevels.h file. -// -// 2) Then select which test you want to run with the #define TEST directive -// at the top of this file (select a test between 1 and 10) -// -// 3) Compile the code, load, and run -// -// 4) At the end of each test there is a hard coded breakpoint (ESTOP0). When code -// stops at the breakpoint, examine the ISRTrace buffer to see the order -// in which the ISR's completed. All PIE interrupts will add to the -// ISRTrace. -// -// The ISRTrace will consist of a list of hex values as shown: -// -// 0x00wx <- PIE Group w interrup x finished first -// 0x00yz <- PIE Group y interrupt z finished next -// -// 5) If desired, set a new set of Global and Group interrupt priorites -// and repeat the test to see the change. -// -// -// Watch Variables: -// ISRTrace[50] Trace of ISR's in the order they complete -// After each test, examine this buffer -// to determine if the ISR's completed in -// the order desired. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File -#include "DSP2833x_SWPrioritizedIsrLevels.h" - -#define TEST 1 // Select a test number: 1 through 10 - -// Define which interrupts are used in the PIE for each group. -#define ISRS_GROUP1 (M_INT1|M_INT2|M_INT4|M_INT5|M_INT6|M_INT7|M_INT8) -#define ISRS_GROUP2 (M_INT1|M_INT2|M_INT3|M_INT4|M_INT5|M_INT6) -#define ISRS_GROUP3 (M_INT1|M_INT2|M_INT3|M_INT4|M_INT5|M_INT6) -#define ISRS_GROUP4 (M_INT1|M_INT2|M_INT3|M_INT4|M_INT5|M_INT6) -#define ISRS_GROUP5 (M_INT1|M_INT2) -#define ISRS_GROUP6 (M_INT1|M_INT2|M_INT3|M_INT4|M_INT5|M_INT6) -#define ISRS_GROUP7 (M_INT1|M_INT2|M_INT3|M_INT4|M_INT5|M_INT6) -#define ISRS_GROUP8 (M_INT1|M_INT2|M_INT5|M_INT6) -#define ISRS_GROUP9 (M_INT1|M_INT2|M_INT3|M_INT4|M_INT5|M_INT6|M_INT7|M_INT8) -#define ISRS_GROUP12 (M_INT1|M_INT2|M_INT3|M_INT4|M_INT5|M_INT7|M_INT8) - - -// This array will be used as a trace to check the order that the -// interrupts were serviced -Uint16 ISRTrace[50]; -Uint16 ISRTraceIndex; // used to update an element in the trace buffer - -void main(void) -{ - Uint16 i; - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// Step 5. User specific code, enable interrupts: - -#if (TEST==1) -// Force all group 1 interrupts at once by writing to the PIEIFR1 register - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable PIE group 1 interrupt 1-8 - PieCtrlRegs.PIEIER1.all = 0x00FF; - - // Make sure PIEACK for group 1 is clear (default after reset) - PieCtrlRegs.PIEACK.all = M_INT1; - - // Enable CPU INT1 - IER |= M_INT1; - - // Force all valid interrupts for Group 1 - PieCtrlRegs.PIEIFR1.all = ISRS_GROUP1; - - // Enable global Interrupts CPU level: - EINT; // Enable Global interrupt INTM - - // Wait for all Group 1 interrupts to be serviced - while(PieCtrlRegs.PIEIFR1.all != 0x0000 ){} - - // Stop here and check the ISRTrace to determine which order the - // ISR Routines completed. The order is dependant on the priority - // assigned in the DSP2833x_SWPrioritizedIsrLevels.h file - // - // The ISRTrace will contain a list of values corresponding to the - // interrupts serviced in the order they were serviced. - // For example if the ISRTrace looks like this - // 0x0014 ISR Group 1 interrupt 4 - // 0x0017 ISR Group 1 interrupt 7 - // 0x0016 ISR Group 1 interrupt 6 - // 0x0015 ISR Group 1 interrupt 5 - // 0x0018 ISR Group 1 interrupt 8 - // 0x0012 ISR Group 1 interrupt 2 - // 0x0011 ISR Group 1 interrupt 1 - // 0x0000 end of trace - asm(" ESTOP0"); -#endif -#if (TEST == 2) -// CASE 2: -// Force all group 2 interrupts at once by writing to the PIEIFR2 register - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable PIE group 2 interrupts 1-8 - PieCtrlRegs.PIEIER2.all = 0x00FF; - - // Enable CPU INT2 - IER |= (M_INT2); - - // Make sure PIEACK for group 2 is clear (default after reset) - PieCtrlRegs.PIEACK.all = M_INT2; - - // Force all valid interrupts for Group 2 - PieCtrlRegs.PIEIFR2.all = ISRS_GROUP2; - - // Enable Global interrupts - EINT; - - - // Wait for all group 2 interrupts to be serviced - while(PieCtrlRegs.PIEIFR2.all != 0x0000 ){} - - // Stop here and check the order the ISR's were serviced in the - // ISRTrace - asm(" ESTOP0"); - -#endif -#if (TEST == 3) -// CASE 3: -// Force all group 3 interrupts at once by writing to the PIEIFR3 register - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable PIE group 3 interrupts 1-8 - PieCtrlRegs.PIEIER3.all = 0x00FF; - - // Make sure PIEACK for group 3 is clear (default after reset) - PieCtrlRegs.PIEACK.all = M_INT3; - - // Enable CPU INT3 - IER |= (M_INT3); - - // Force all valid interrupts for Group 3 - PieCtrlRegs.PIEIFR3.all = ISRS_GROUP3; - - // Enable Global interrupts - EINT; - - // Wait for all group 3 interrupts to be serviced - while(PieCtrlRegs.PIEIFR3.all != 0x0000 ){} - - // Stop here and check the order the ISR's were serviced in the - // ISRTrace - asm(" ESTOP0"); -#endif -#if (TEST == 4) -// CASE 4: -// Force all group 4 interrupts at once by writing to the PIEIFR4 register - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable PIE group 4 interrupts 1-8 - PieCtrlRegs.PIEIER4.all = 0x00FF; - - // Make sure PIEACK for group 3 is clear (default after reset) - PieCtrlRegs.PIEACK.all = M_INT4; - - // Enable CPU INT4 - IER |= (M_INT4); - - // Force all valid interrupts for Group 4 - PieCtrlRegs.PIEIFR4.all = ISRS_GROUP4; - - // Enable Global interrupts - EINT; - - // Wait for all group 4 interrupts to be serviced - while(PieCtrlRegs.PIEIFR4.all != 0x0000 ){} - - // Stop here and check the order the ISR's were serviced in the - // ISRTrace - asm(" ESTOP0"); -#endif -#if (TEST == 5) -// CASE 5: -// Force all group 5 interrupts at once by writing to the PIEIFR5 register - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable PIE group 5 interrupts 1-8 - PieCtrlRegs.PIEIER5.all = 0x00FF; - - // Make sure PIEACK for group 5 is clear (default after reset) - PieCtrlRegs.PIEACK.all = M_INT5; - - // Enable CPU INT5 - IER |= (M_INT5); - - // Force all valid interrupts for Group 5 - PieCtrlRegs.PIEIFR5.all = ISRS_GROUP5; - - // Enable Global interrupts - EINT; - - // Wait for all group 5 interrupts to be serviced - while(PieCtrlRegs.PIEIFR5.all != 0x0000 ){} - - // Stop here and check the order the ISR's were serviced in the - // ISRTrace - asm(" ESTOP0"); -#endif -#if (TEST == 6) - -// CASE 6: -// Force all group 6 interrupts at once by writing to the PIEIFR6 register - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable PIE group 6 interrupts 1-8 - PieCtrlRegs.PIEIER6.all = 0x00FF; - - // Make sure PIEACK for group 6 is clear (default after reset) - PieCtrlRegs.PIEACK.all = M_INT6; - - // Enable CPU INT6 - IER |= (M_INT6); - - // Force all valid interrupts for Group 6 - PieCtrlRegs.PIEIFR6.all = ISRS_GROUP6; - - // Enable Global interrupts - EINT; - - - // Wait for all group 6 interrupts to be serviced - while(PieCtrlRegs.PIEIFR6.all != 0x0000 ){} - - // Stop here and check the order the ISR's were serviced in the - // ISRTrace - asm(" ESTOP0"); - -#endif -#if (TEST == 7) -// CASE 7: -// Force all group 9 interrupts at once by writing to the PIEIFR4 register - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable PIE group 9 interrupts 1-8 - PieCtrlRegs.PIEIER9.all = 0x00FF; - - // Make sure PIEACK for group 9 is clear (default after reset) - PieCtrlRegs.PIEACK.all = M_INT9; - - // Enable CPU INT9 - IER |= (M_INT9); - - // Force all valid interrupts for Group 9 - PieCtrlRegs.PIEIFR9.all = ISRS_GROUP9; - - // Enable Global interrupts - EINT; - - // Wait for all group 9 interrupts to be serviced - while(PieCtrlRegs.PIEIFR9.all != 0x0000 ){} - - // Stop here and check the order the ISR's were serviced in the - // ISRTrace - asm(" ESTOP0"); - -#endif -#if (TEST == 8) -// CASE 8: -// Force all group 1 and group 2 interrupts at once - - // Setup next test - fire interrupts from Group 1 and Group 2 - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable PIE group 1 and group 2 interrupts 1-8 - PieCtrlRegs.PIEIER1.all = 0x00FF; - PieCtrlRegs.PIEIER2.all = 0x00FF; - - // Make sure PIEACK for group 1 & 2 are clear (default after reset) - PieCtrlRegs.PIEACK.all = (M_INT3 | M_INT2); - - // Enable CPU INT1 and INT2 - IER |= (M_INT1|M_INT2); - - // Force all valid interrupts for Group 1 and from Group 2 - PieCtrlRegs.PIEIFR1.all = ISRS_GROUP1; - PieCtrlRegs.PIEIFR2.all = ISRS_GROUP2; - - // Enable Global interrupts - EINT; - - // Wait for all group 1 and group 2 interrupts to be serviced - while(PieCtrlRegs.PIEIFR1.all != 0x0000 - || PieCtrlRegs.PIEIFR2.all != 0x0000 ){} - - // Check the ISRTrace to determine which order the ISR Routines completed - asm(" ESTOP0"); - -#endif -#if (TEST == 9) -// CASE 9: -// Force all group 1 and group 2 and group 3 interrupts at once - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable PIE group 1, 2 and 3 interrupts 1-8 - PieCtrlRegs.PIEIER1.all = 0x00FF; - PieCtrlRegs.PIEIER2.all = 0x00FF; - PieCtrlRegs.PIEIER3.all = 0x00FF; - - // Make sure PIEACK for group 1, 2 & 3 are clear (default after reset) - PieCtrlRegs.PIEACK.all = (M_INT3|M_INT2|M_INT3); - - // Enable CPU INT1, INT2 & INT3 - IER |= (M_INT1|M_INT2|M_INT3); - - // Force all valid interrupts for Group1, 2 and 3 - PieCtrlRegs.PIEIFR1.all = ISRS_GROUP1; - PieCtrlRegs.PIEIFR2.all = ISRS_GROUP2; - PieCtrlRegs.PIEIFR3.all = ISRS_GROUP3; - - // Enable Global interrupts - EINT; - - // Wait for all group 1 and group 2 and group 3 interrupts to be serviced - while(PieCtrlRegs.PIEIFR1.all != 0x0000 - || PieCtrlRegs.PIEIFR2.all != 0x0000 - || PieCtrlRegs.PIEIFR3.all != 0x0000 ) {} - - // Check the ISRTrace to determine which order the ISR Routines completed - asm(" ESTOP0"); - -#endif -#if (TEST == 10) -// CASE 10: -// Force all used PIE interrupts at once - - // Prepare for the test: - // Disable interrupts - // Clear the trace buffer, PIE Control Register, CPU IER and IFR registers - DINT; - for(i = 0; i < 50; i++) ISRTrace[i] = 0; - ISRTraceIndex = 0; - InitPieCtrl(); - IER = 0; - IFR &= 0; - - // Enable the PIE block - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // Enable all PIE group interrupts 1-8 - PieCtrlRegs.PIEIER1.all = 0x00FF; - PieCtrlRegs.PIEIER2.all = 0x00FF; - PieCtrlRegs.PIEIER3.all = 0x00FF; - PieCtrlRegs.PIEIER4.all = 0x00FF; - PieCtrlRegs.PIEIER5.all = 0x00FF; - PieCtrlRegs.PIEIER6.all = 0x00FF; - PieCtrlRegs.PIEIER9.all = 0x00FF; - - // Make sure PIEACK for group 1, 2, 3, 4, 5, 6 and 9 are clear (default after reset) - PieCtrlRegs.PIEACK.all = (M_INT1|M_INT2|M_INT3|M_INT4|M_INT5|M_INT6|M_INT9); - - // Enable CPU INT1, INT2, INT3, INT4, INT5, INT6 and INT9 - IER |= (M_INT1|M_INT2|M_INT3|M_INT4|M_INT5|M_INT6|M_INT9); - - // Force all valid interrupts for all PIE groups - PieCtrlRegs.PIEIFR1.all = ISRS_GROUP1; - PieCtrlRegs.PIEIFR2.all = ISRS_GROUP2; - PieCtrlRegs.PIEIFR3.all = ISRS_GROUP3; - PieCtrlRegs.PIEIFR4.all = ISRS_GROUP4; - PieCtrlRegs.PIEIFR5.all = ISRS_GROUP5; - PieCtrlRegs.PIEIFR6.all = ISRS_GROUP6; - PieCtrlRegs.PIEIFR9.all = ISRS_GROUP9; - - // Enable Global interrupts - CPU level - EINT; - - // Wait for all group interrupts to be serviced - while(PieCtrlRegs.PIEIFR1.all != 0x0000 - || PieCtrlRegs.PIEIFR2.all != 0x0000 - || PieCtrlRegs.PIEIFR3.all != 0x0000 - || PieCtrlRegs.PIEIFR4.all != 0x0000 - || PieCtrlRegs.PIEIFR5.all != 0x0000 - || PieCtrlRegs.PIEIFR6.all != 0x0000 - || PieCtrlRegs.PIEIFR9.all != 0x0000 ) {} - - // Check the ISRTrace to determine which order the ISR Routines completed - asm(" ESTOP0"); -#endif -} -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedInterrupts.gel b/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedInterrupts.gel deleted file mode 100644 index b801e86..0000000 --- a/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedInterrupts.gel +++ /dev/null @@ -1,37 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:23:56 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x Software Prioritized Interrupts" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xSWPrioritizedInterrupts.pjt"); - GEL_ProjectBuild("Example_2833xSWPrioritizedInterrupts.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xSWPrioritizedInterrupts.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("ISRTrace,x"); - GEL_WatchAdd("TempPIEIER,x"); - GEL_WatchAdd("PieCtrlRegs,x"); -} diff --git a/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedInterrupts.pjt b/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedInterrupts.pjt deleted file mode 100644 index d20e72c..0000000 --- a/Source/External/v120/DSP2833x_examples/sw_prioritized_interrupts/Example_2833xSWPrioritizedInterrupts.pjt +++ /dev/null @@ -1,44 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sw_prioritized_interrupts\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SWPrioritizedPieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xSWPrioritizedDefaultIsr.c" -Source="Example_2833xSWPrioritizedInterrupts.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -o2 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sw_prioritized_interrupts\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sw_prioritized_interrupts\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\sw_prioritized_interrupts\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -m".\Debug\Example_2833xSWPrioritizedInterrupts.map" -o".\Debug\Example_2833xSWPrioritizedInterrupts.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xSWPrioritizedInterrupts.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/timed_led_blink/Example_2833xLEDBlink.c b/Source/External/v120/DSP2833x_examples/timed_led_blink/Example_2833xLEDBlink.c deleted file mode 100644 index 8b80d5c..0000000 --- a/Source/External/v120/DSP2833x_examples/timed_led_blink/Example_2833xLEDBlink.c +++ /dev/null @@ -1,161 +0,0 @@ -// TI File $Revision: /main/2 $ -// Checkin $Date: April 21, 2008 15:44:40 $ -//########################################################################### -// -// FILE: Example_2833xLedBlink.c -// -// TITLE: DSP2833x eZdsp LED Blink Getting Started Program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example configures CPU Timer0 for a 500 msec period, and toggles the GPIO32 -// LED on the 2833x eZdsp once per interrupt. For testing purposes, this example -// also increments a counter each time the timer asserts an interrupt. -// -// Watch Variables: -// CpuTimer0.InterruptCount -// -// Monitor the GPIO32 LED blink on (for 500 msec) and off (for 500 msec) on the 2833x eZdsp. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// Prototype statements for functions found within this file. -interrupt void cpu_timer0_isr(void); - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.TINT0 = &cpu_timer0_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize the Device Peripheral. This function can be -// found in DSP2833x_CpuTimers.c - InitCpuTimers(); // For this example, only initialize the Cpu Timers -#if (CPU_FRQ_150MHZ) -// Configure CPU-Timer 0 to interrupt every 500 milliseconds: -// 150MHz CPU Freq, 50 millisecond Period (in uSeconds) - ConfigCpuTimer(&CpuTimer0, 150, 500000); -#endif -#if (CPU_FRQ_100MHZ) -// Configure CPU-Timer 0 to interrupt every 500 milliseconds: -// 100MHz CPU Freq, 50 millisecond Period (in uSeconds) - ConfigCpuTimer(&CpuTimer0, 100, 500000); -#endif - -// To ensure precise timing, use write-only instructions to write to the entire register. Therefore, if any -// of the configuration bits are changed in ConfigCpuTimer and InitCpuTimers (in DSP2833x_CpuTimers.h), the -// below settings must also be updated. - - CpuTimer0Regs.TCR.all = 0x4001; // Use write-only instruction to set TSS bit = 0 - -// Step 5. User specific code, enable interrupts: - -// Configure GPIO32 as a GPIO output pin - EALLOW; - GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 0; - GpioCtrlRegs.GPBDIR.bit.GPIO32 = 1; - EDIS; - -// Enable CPU INT1 which is connected to CPU-Timer 0: - IER |= M_INT1; - -// Enable TINT0 in the PIE: Group 1 interrupt 7 - PieCtrlRegs.PIEIER1.bit.INTx7 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;); -} - - -interrupt void cpu_timer0_isr(void) -{ - CpuTimer0.InterruptCount++; - GpioDataRegs.GPBTOGGLE.bit.GPIO32 = 1; // Toggle GPIO32 once per 500 milliseconds - // Acknowledge this interrupt to receive more interrupts from group 1 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; -} - - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/timed_led_blink/Example_2833xLEDBlink.gel b/Source/External/v120/DSP2833x_examples/timed_led_blink/Example_2833xLEDBlink.gel deleted file mode 100644 index 96f17f2..0000000 --- a/Source/External/v120/DSP2833x_examples/timed_led_blink/Example_2833xLEDBlink.gel +++ /dev/null @@ -1,38 +0,0 @@ -/* -// TI File $Revision: /main/1 $ -// Checkin $Date: September 21, 2007 09:00:23 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x CpuTimerExample" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xLEDBlink.pjt"); - GEL_ProjectBuild("Example_2833xLEDBlink.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xLEDBlink.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("CpuTimer0.InterruptCount",,"CPU ISR Count"); - GEL_WatchAdd("CpuTimer0",,"CPU Timer Variables"); - GEL_WatchAdd("CpuTimer0Regs,x"); - -} diff --git a/Source/External/v120/DSP2833x_examples/timed_led_blink/Example_2833xLEDBlink.pjt b/Source/External/v120/DSP2833x_examples/timed_led_blink/Example_2833xLEDBlink.pjt deleted file mode 100644 index 8e75e9e..0000000 --- a/Source/External/v120/DSP2833x_examples/timed_led_blink/Example_2833xLEDBlink.pjt +++ /dev/null @@ -1,46 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\timed_led_blink\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xLEDBlink.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\timed_led_blink\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\timed_led_blink\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\timed_led_blink\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xLEDBlink.map" -o".\Debug\Example_2833xLEDBlink.out" -stack0x200 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xLEDBlink.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/watchdog/Example_2833xWatchdog.c b/Source/External/v120/DSP2833x_examples/watchdog/Example_2833xWatchdog.c deleted file mode 100644 index d424eb5..0000000 --- a/Source/External/v120/DSP2833x_examples/watchdog/Example_2833xWatchdog.c +++ /dev/null @@ -1,176 +0,0 @@ -// TI File $Revision: /main/9 $ -// Checkin $Date: April 21, 2008 15:43:50 $ -//########################################################################### -// -// FILE: Example_2833xWatchdog.c -// -// TITLE: DSP2833x Watchdog interrupt test program. -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This program exercises the watchdog. -// -// First the watchdog is connected to the WAKEINT interrupt of the -// PIE block. The code is then put into an infinite loop. -// -// The user can select to feed the watchdog key register or not -// by commenting one line of code in the infinite loop. -// -// If the watchdog key register is fed by the ServiceDog function -// then the WAKEINT interrupt is not taken. If the key register -// is not fed by the ServiceDog function then WAKEINT will be taken. -// -// Watch Variables: -// LoopCount for the number of times through the infinite loop -// WakeCount for the number of times through WAKEINT -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - - -#include "DSP2833x_Device.h" // Headerfile Include File -#include "DSP2833x_Examples.h" // Examples Include File - -// Prototype statements for functions found within this file. -interrupt void wakeint_isr(void); - -// Global variables for this example -Uint32 WakeCount; -Uint32 LoopCount; - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.WAKEINT = &wakeint_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize all the Device Peripherals: -// This function is found in DSP2833x_InitPeripherals.c -// InitPeripherals(); // Not required for this example - -// Step 5. User specific code, enable interrupts: - -// Clear the counters - WakeCount = 0; // Count interrupts - LoopCount = 0; // Count times through idle loop - -// Connect the watchdog to the WAKEINT interrupt of the PIE -// Write to the whole SCSR register to avoid clearing WDOVERRIDE bit - EALLOW; - SysCtrlRegs.SCSR = BIT1; - EDIS; - -// Enable WAKEINT in the PIE: Group 1 interrupt 8 -// Enable INT1 which is connected to WAKEINT: - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block - PieCtrlRegs.PIEIER1.bit.INTx8 = 1; // Enable PIE Gropu 1 INT8 - IER |= M_INT1; // Enable CPU int1 - EINT; // Enable Global Interrupts - -// Reset the watchdog counter - ServiceDog(); - -// Enable the watchdog - EALLOW; - SysCtrlRegs.WDCR = 0x0028; - EDIS; - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;) - { - LoopCount++; - - // Uncomment ServiceDog to just loop here - // Comment ServiceDog to take the WAKEINT instead - // ServiceDog(); - } - - -} - - -// Step 7. Insert all local Interrupt Service Routines (ISRs) and functions here: -// If local ISRs are used, reassign vector addresses in vector table as -// shown in Step 5 - -interrupt void wakeint_isr(void) -{ - WakeCount++; - - // Acknowledge this interrupt to get more from group 1 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; -} - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/watchdog/Example_2833xWatchdog.gel b/Source/External/v120/DSP2833x_examples/watchdog/Example_2833xWatchdog.gel deleted file mode 100644 index 1f8e577..0000000 --- a/Source/External/v120/DSP2833x_examples/watchdog/Example_2833xWatchdog.gel +++ /dev/null @@ -1,41 +0,0 @@ -/* -// TI File $Revision: /main/5 $ -// Checkin $Date: August 9, 2007 17:24:09 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP2833x Watchdog" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xWatchdog.pjt"); - GEL_ProjectBuild("Example_2833xWatchdog.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xWatchdog.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("LoopCount,x"); - GEL_WatchAdd("WakeCount,x"); - GEL_WatchAdd("SysCtrlRegs.SCSR,x"); - GEL_WatchAdd("SysCtrlRegs.WDCR,x"); - GEL_WatchAdd("SysCtrlRegs,x"); -} - - diff --git a/Source/External/v120/DSP2833x_examples/watchdog/Example_2833xWatchdog.pjt b/Source/External/v120/DSP2833x_examples/watchdog/Example_2833xWatchdog.pjt deleted file mode 100644 index e72a9a3..0000000 --- a/Source/External/v120/DSP2833x_examples/watchdog/Example_2833xWatchdog.pjt +++ /dev/null @@ -1,44 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\watchdog\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xWatchdog.c" -Source="..\..\DSP2833x_common\cmd\28335_RAM_lnk.cmd" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -as -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\watchdog\Debug" -fs"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\watchdog\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" --float_support=fpu32 -ml -mt -v28 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\watchdog\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -m".\Debug\Example_2833xWatchdog.map" -o".\Debug\Example_2833xWatchdog.out" -stack0x200 -w -x -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xWatchdog.out" -x - diff --git a/Source/External/v120/DSP2833x_examples/xintf_run_from/28335_RAM_xintf_lnk.cmd b/Source/External/v120/DSP2833x_examples/xintf_run_from/28335_RAM_xintf_lnk.cmd deleted file mode 100644 index 8d7dc3c..0000000 --- a/Source/External/v120/DSP2833x_examples/xintf_run_from/28335_RAM_xintf_lnk.cmd +++ /dev/null @@ -1,167 +0,0 @@ -/* -// TI File $Revision: /main/1 $ -// Checkin $Date: August 29, 2007 14:08:00 $ -//########################################################################### -// -// FILE: 28335_RAM_xintf_lnk.cmd -// -// TITLE: Linker Command File For 28335 examples that run out of RAM -// -// This ONLY includes all SARAM blocks on the 28335 device. -// This does not include flash or OTP. -// -// Keep in mind that L0 and L1 are protected by the code -// security module. -// -// What this means is in most cases you will want to move to -// another memory map file which has more memory defined. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -/* ====================================================== -// For Code Composer Studio V2.2 and later -// --------------------------------------- -// In addition to this memory linker command file, -// add the header linker command file directly to the project. -// The header linker command file is required to link the -// peripheral structures to the proper locations within -// the memory map. -// -// The header linker files are found in \DSP2833x_Headers\cmd -// -// For BIOS applications add: DSP2833x_Headers_BIOS.cmd -// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd -========================================================= */ - -/* ====================================================== -// For Code Composer Studio prior to V2.2 -// -------------------------------------- -// 1) Use one of the following -l statements to include the -// header linker command file in the project. The header linker -// file is required to link the peripheral structures to the proper -// locations within the memory map */ - -/* Uncomment this line to include file only for non-BIOS applications */ -/* -l DSP2833x_Headers_nonBIOS.cmd */ - -/* Uncomment this line to include file only for BIOS applications */ -/* -l DSP2833x_Headers_BIOS.cmd */ - -/* 2) In your project add the path to \DSP2833x_headers\cmd to the - library search path under project->build options, linker tab, - library search path (-i). -/*========================================================= */ - -/* Define the memory block start/length for the F28335 - PAGE 0 will be used to organize program sections - PAGE 1 will be used to organize data sections - - Notes: - Memory blocks on F28335 are uniform (ie same - physical memory) in both PAGE 0 and PAGE 1. - That is the same memory region should not be - defined for both PAGE 0 and PAGE 1. - Doing so will result in corruption of program - and/or data. - - L0/L1/L2 and L3 memory blocks are mirrored - that is - they can be accessed in high memory or low memory. - For simplicity only one instance is used in this - linker file. - - Contiguous SARAM memory blocks can be combined - if required to create a larger memory block. -*/ - - -MEMORY -{ -PAGE 0 : - /* BEGIN is used for the "boot to SARAM" bootloader mode */ - /* BOOT_RSVD is used by the boot ROM for stack. */ - /* This section is only reserved to keep the BOOT ROM from */ - /* corrupting this area during the debug process */ - - BEGIN : origin = 0x000000, length = 0x000002 /* Boot to M0 will go here */ - BOOT_RSVD : origin = 0x000002, length = 0x00004E /* Part of M0, BOOT rom will use this for stack */ - RAMM0 : origin = 0x000050, length = 0x0003B0 - - RAML0 : origin = 0x008000, length = 0x001000 - RAML1 : origin = 0x009000, length = 0x001000 - RAML2 : origin = 0x00A000, length = 0x001000 - RAML3 : origin = 0x00B000, length = 0x001000 - ZONE7A : origin = 0x200000, length = 0x00FC00 /* XINTF zone 7 - program space */ - CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */ - CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */ - ADC_CAL : origin = 0x380080, length = 0x000009 - RESET : origin = 0x3FFFC0, length = 0x000002 - IQTABLES : origin = 0x3FE000, length = 0x000b50 - IQTABLES2 : origin = 0x3FEB50, length = 0x00008c - FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 - BOOTROM : origin = 0x3FF27C, length = 0x000D44 - - -PAGE 1 : - RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ - RAML4 : origin = 0x00C000, length = 0x001000 - RAML5 : origin = 0x00D000, length = 0x001000 - RAML6 : origin = 0x00E000, length = 0x001000 - RAML7 : origin = 0x00F000, length = 0x001000 - ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */ -} - - -SECTIONS -{ - /* Setup for "boot to SARAM" mode: - The codestart section (found in DSP28_CodeStartBranch.asm) - re-directs execution to the start of user code. */ - codestart : > BEGIN, PAGE = 0 - ramfuncs : > RAML0, PAGE = 0 - .text : > RAML1, PAGE = 0 - .cinit : > RAML0, PAGE = 0 - .pinit : > RAML0, PAGE = 0 - .switch : > RAML0, PAGE = 0 - - xintffuncs : LOAD = RAML1, - RUN = ZONE7A, - LOAD_START(_XintffuncsLoadStart), - LOAD_END(_XintffuncsLoadEnd), - RUN_START(_XintffuncsRunStart), - PAGE = 0 - - .stack : > RAMM1, PAGE = 1 - .ebss : > RAML4, PAGE = 1 - .econst : > RAML5, PAGE = 1 - .esysmem : > RAMM1, PAGE = 1 - - IQmath : > RAML1, PAGE = 0 - IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD - IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD - FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD - - DMARAML4 : > RAML4, PAGE = 1 - DMARAML5 : > RAML5, PAGE = 1 - DMARAML6 : > RAML6, PAGE = 1 - DMARAML7 : > RAML7, PAGE = 1 - - ZONE7DATA : > ZONE7B, PAGE = 1 - - .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used */ - csm_rsvd : > CSM_RSVD PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ - csmpasswds : > CSM_PWL PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ - - /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */ - .adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD - -} - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ diff --git a/Source/External/v120/DSP2833x_examples/xintf_run_from/Example_2833xCodeRunFromXintf.c b/Source/External/v120/DSP2833x_examples/xintf_run_from/Example_2833xCodeRunFromXintf.c deleted file mode 100644 index 2902cff..0000000 --- a/Source/External/v120/DSP2833x_examples/xintf_run_from/Example_2833xCodeRunFromXintf.c +++ /dev/null @@ -1,256 +0,0 @@ -//########################################################################### -// -// FILE: Example_2833xCodeRunFromXintf.c -// -// TITLE: Example Program That Executes From XINTF -// -// ASSUMPTIONS: -// -// This program requires the DSP2833x header files. -// -// As supplied, this project is configured for "boot to SARAM" -// operation. The 2833x Boot Mode table is shown below. -// For information on configuring the boot mode of an eZdsp, -// please refer to the documentation included with the eZdsp, -// -// $Boot_Table: -// -// GPIO87 GPIO86 GPIO85 GPIO84 -// XA15 XA14 XA13 XA12 -// PU PU PU PU -// ========================================== -// 1 1 1 1 Jump to Flash -// 1 1 1 0 SCI-A boot -// 1 1 0 1 SPI-A boot -// 1 1 0 0 I2C-A boot -// 1 0 1 1 eCAN-A boot -// 1 0 1 0 McBSP-A boot -// 1 0 0 1 Jump to XINTF x16 -// 1 0 0 0 Jump to XINTF x32 -// 0 1 1 1 Jump to OTP -// 0 1 1 0 Parallel GPIO I/O boot -// 0 1 0 1 Parallel XINTF boot -// 0 1 0 0 Jump to SARAM <- "boot to SARAM" -// 0 0 1 1 Branch to check boot mode -// 0 0 1 0 Boot to flash, bypass ADC cal -// 0 0 0 1 Boot to SARAM, bypass ADC cal -// 0 0 0 0 Boot to SCI-A, bypass ADC cal -// Boot_Table_End$ -// -// DESCRIPTION: -// -// This example configures CPU Timer0 and increments -// a counter each time the timer asserts an interrupt. -// -// The code is loaded into SARAM. The XINTF Zone 7 is -// configured for x16-bit data bus. A porition of the code -// is copied to XINTF for execution there. -// -// Watch Variables: -// CpuTimer0.InterruptCount -// CpuTimer1.InterruptCount -// CpuTimer2.InterruptCount -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### - -#include "DSP28x_Project.h" // Device Headerfile and Examples Include File - -// These two functions will be loaded into SARAM and copied to -// XINTF zone 7 for execution -#pragma CODE_SECTION(cpu_timer0_isr,"xintffuncs"); -#pragma CODE_SECTION(cpu_timer1_isr,"xintffuncs"); - -// Prototype statements for functions found within this file: -void init_zone7(void); -interrupt void cpu_timer0_isr(void); -interrupt void cpu_timer1_isr(void); -interrupt void cpu_timer2_isr(void); - -void main(void) -{ - -// Step 1. Initialize System Control: -// PLL, WatchDog, enable Peripheral Clocks -// This example function is found in the DSP2833x_SysCtrl.c file. - InitSysCtrl(); - -// Step 2. Initalize GPIO: -// This example function is found in the DSP2833x_Gpio.c file and -// illustrates how to set the GPIO to it's default state. -// InitGpio(); // Skipped for this example - - -// Step 3. Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - DINT; - -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the DSP2833x_PieCtrl.c file. - InitPieCtrl(); - -// Disable CPU interrupts and clear all CPU interrupt flags: - IER = 0x0000; - IFR = 0x0000; - -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in DSP2833x_DefaultIsr.c. -// This function is found in DSP2833x_PieVect.c. - InitPieVectTable(); - -// Interrupts that are used in this example are re-mapped to -// ISR functions found within this file. - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.TINT0 = &cpu_timer0_isr; - PieVectTable.XINT13 = &cpu_timer1_isr; - PieVectTable.TINT2 = &cpu_timer2_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - -// Step 4. Initialize the Device Peripheral. This function can be -// found in DSP2833x_CpuTimers.c - InitCpuTimers(); // For this example, only initialize the Cpu Timers - -#if (CPU_FRQ_150MHZ) -// Configure CPU-Timer 0, 1, and 2 to interrupt every second: -// 150MHz CPU Freq, 1 second Period (in uSeconds) - - ConfigCpuTimer(&CpuTimer0, 150, 1000000); - ConfigCpuTimer(&CpuTimer1, 150, 1000000); - ConfigCpuTimer(&CpuTimer2, 150, 1000000); -#endif - -#if (CPU_FRQ_100MHZ) -// Configure CPU-Timer 0, 1, and 2 to interrupt every second: -// 100MHz CPU Freq, 1 second Period (in uSeconds) - - ConfigCpuTimer(&CpuTimer0, 100, 1000000); - ConfigCpuTimer(&CpuTimer1, 100, 1000000); - ConfigCpuTimer(&CpuTimer2, 100, 1000000); -#endif - -// To ensure precise timing, use write-only instructions to write to the entire register. Therefore, if any -// of the configuration bits are changed in ConfigCpuTimer and InitCpuTimers (in DSP2833x_CpuTimers.h), the -// below settings must also be updated. - - CpuTimer0Regs.TCR.all = 0x4001; // Use write-only instruction to set TSS bit = 0 - CpuTimer1Regs.TCR.all = 0x4001; // Use write-only instruction to set TSS bit = 0 - CpuTimer2Regs.TCR.all = 0x4001; // Use write-only instruction to set TSS bit = 0 - -// Step 5. User specific code, enable interrupts: - -// Initalize XINTF Zone 7 - init_zone7(); - -// Copy non-time critical code to XINTF -// This includes the following ISR functions: cpu_timer0_isr(), cpu_timer1_isr() -// The XintffuncsLoadStart, XintffuncsLoadEnd, and XintffuncsRunStart -// symbols are created by the linker. Refer to the F28335_ram_xintf.cmd file. - MemCopy(&XintffuncsLoadStart, &XintffuncsLoadEnd, &XintffuncsRunStart); - -// Enable CPU int1 which is connected to CPU-Timer 0, CPU int13 -// which is connected to CPU-Timer 1, and CPU int 14, which is connected -// to CPU-Timer 2: - IER |= M_INT1; - IER |= M_INT13; - IER |= M_INT14; - -// Enable TINT0 in the PIE: Group 1 interrupt 7 - PieCtrlRegs.PIEIER1.bit.INTx7 = 1; - -// Enable global Interrupts and higher priority real-time debug events: - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - -// Step 6. IDLE loop. Just sit and loop forever (optional): - for(;;); - -} - - -interrupt void cpu_timer0_isr(void) -{ - CpuTimer0.InterruptCount++; - - // Acknowledge this interrupt to receive more interrupts from group 1 - PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; -} - -interrupt void cpu_timer1_isr(void) -{ - CpuTimer1.InterruptCount++; - // The CPU acknowledges the interrupt. - EDIS; -} - -interrupt void cpu_timer2_isr(void) -{ EALLOW; - CpuTimer2.InterruptCount++; - // The CPU acknowledges the interrupt. - EDIS; -} - -// Configure the timing paramaters for Zone 7. -// Notes: -// This function should not be executed from XINTF -// Adjust the timing based on the data manual and -// external device requirements. -void init_zone7(void) -{ - - // Make sure the XINTF clock is enabled - SysCtrlRegs.PCLKCR3.bit.XINTFENCLK = 1; - - // Configure the GPIO for XINTF with a 16-bit data bus - // This function is in DSP2833x_Xintf.c - InitXintf16Gpio(); - - EALLOW; - // All Zones--------------------------------- - // Timing for all zones based on XTIMCLK = SYSCLKOUT - XintfRegs.XINTCNF2.bit.XTIMCLK = 0; - // Buffer up to 3 writes - XintfRegs.XINTCNF2.bit.WRBUFF = 3; - // XCLKOUT is enabled - XintfRegs.XINTCNF2.bit.CLKOFF = 0; - // XCLKOUT = XTIMCLK - XintfRegs.XINTCNF2.bit.CLKMODE = 0; - - // Zone 7------------------------------------ - // When using ready, ACTIVE must be 1 or greater - // Lead must always be 1 or greater - // Zone write timing - XintfRegs.XTIMING7.bit.XWRLEAD = 1; - XintfRegs.XTIMING7.bit.XWRACTIVE = 2; - XintfRegs.XTIMING7.bit.XWRTRAIL = 1; - // Zone read timing - XintfRegs.XTIMING7.bit.XRDLEAD = 1; - XintfRegs.XTIMING7.bit.XRDACTIVE = 3; - XintfRegs.XTIMING7.bit.XRDTRAIL = 0; - - // don't double all Zone read/write lead/active/trail timing - XintfRegs.XTIMING7.bit.X2TIMING = 0; - - // Zone will not sample XREADY signal - XintfRegs.XTIMING7.bit.USEREADY = 0; - XintfRegs.XTIMING7.bit.READYMODE = 0; - - // 1,1 = x16 data bus - // 0,1 = x32 data bus - // other values are reserved - XintfRegs.XTIMING7.bit.XSIZE = 3; - EDIS; - - //Force a pipeline flush to ensure that the write to - //the last register configured occurs before returning. - asm(" RPT #7 || NOP"); -} - -//=========================================================================== -// No more. -//=========================================================================== diff --git a/Source/External/v120/DSP2833x_examples/xintf_run_from/Example_2833xCodeRunFromXintf.pjt b/Source/External/v120/DSP2833x_examples/xintf_run_from/Example_2833xCodeRunFromXintf.pjt deleted file mode 100644 index e71b210..0000000 --- a/Source/External/v120/DSP2833x_examples/xintf_run_from/Example_2833xCodeRunFromXintf.pjt +++ /dev/null @@ -1,62 +0,0 @@ -; Code Composer Project File, Version 2.0 (do not modify or remove this line) - -[Project Settings] -ProjectName="DSP2833x" -ProjectDir="C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\xintf_run_from\" -ProjectType=Executable -CPUFamily=TMS320C28XX -Tool="Compiler" -Tool="CustomBuilder" -Tool="DspBiosBuilder" -Tool="Linker" -Config="Debug" -Config="Release" - -[Source Files] -Source="..\..\DSP2833x_common\source\DSP2833x_ADC_cal.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_CpuTimers.c" -Source="..\..\DSP2833x_common\source\DSP2833x_DBGIER.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_DefaultIsr.c" -Source="..\..\DSP2833x_common\source\DSP2833x_MemCopy.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_PieVect.c" -Source="..\..\DSP2833x_common\source\DSP2833x_SysCtrl.c" -Source="..\..\DSP2833x_common\source\DSP2833x_usDelay.asm" -Source="..\..\DSP2833x_common\source\DSP2833x_Xintf.c" -Source="..\..\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.c" -Source="Example_2833xCodeRunFromXintf.c" -Source="Example_2833xRunFromXintf.gel" -Source="..\..\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd" -Source="28335_RAM_xintf_lnk.cmd" - -["Compiler" Settings: "Debug"] -Options=-g -q -pdr -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\xintf_run_from\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -d"_DEBUG" -d"LARGE_MODEL" -mf -ml -mn -mt -v28 --float_support=fpu32 - -["Compiler" Settings: "Release"] -Options=-q -o3 -fr"C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples\xintf_run_from\Release" -d"LARGE_MODEL" -ml -v28 - -["DspBiosBuilder" Settings: "Debug"] -Options=-v28 - -["DspBiosBuilder" Settings: "Release"] -Options=-v28 - -["Linker" Settings: "Debug"] -Options=-q -c -ecode_start -heap0x800 -m".\Debug\Example_2833xCodeRunFromXintf.map" -o".\Debug\Example_2833xCodeRunFromXintf.out" -stack0x380 -w -x -i"..\..\DSP2833x_headers\include" -l"rts2800_fpu32.lib" - -["Linker" Settings: "Release"] -Options=-q -c -o".\Release\Example_2833xCodeRunFromXintf.out" -x - -["Example_2833xRunFromXintf.gel" Settings: "Debug"] -ExcludeFromBuild=true - -["Example_2833xRunFromXintf.gel" Settings: "Release"] -ExcludeFromBuild=true - -["28335_RAM_xintf_lnk.cmd" Settings: "Debug"] -LinkOrder=1 - -["28335_RAM_xintf_lnk.cmd" Settings: "Release"] -LinkOrder=1 - diff --git a/Source/External/v120/DSP2833x_examples/xintf_run_from/Example_2833xRunFromXintf.gel b/Source/External/v120/DSP2833x_examples/xintf_run_from/Example_2833xRunFromXintf.gel deleted file mode 100644 index 04e0f4f..0000000 --- a/Source/External/v120/DSP2833x_examples/xintf_run_from/Example_2833xRunFromXintf.gel +++ /dev/null @@ -1,37 +0,0 @@ -/* -// TI File $Revision: /main/1 $ -// Checkin $Date: August 29, 2007 14:08:07 $ -//########################################################################### -// -// This .gel file can be used to help load and build the example project. -// It should be unloaded from Code Composer Studio before loading another -// project. -// -//########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//########################################################################### -*/ - -menuitem "DSP28335 XINTF Run Example" - -hotmenu Load_and_Build_Project() -{ - GEL_ProjectLoad("Example_2833xCodeRunFromXintf.pjt"); - GEL_ProjectBuild("Example_2833xCodeRunFromXintf.pjt"); - Setup_WatchWindow(); -} - -hotmenu Load_Code() -{ - GEL_Load(".\\debug\\Example_2833xCodeRunFromXintf.out"); - Setup_WatchWindow(); -} - -hotmenu Setup_WatchWindow() -{ - GEL_WatchReset(); - GEL_WatchAdd("CpuTimer0.InterruptCount",,"CPU ISR Count"); - GEL_WatchAdd("CpuTimer1.InterruptCount",,"CPU ISR Count"); - GEL_WatchAdd("CpuTimer2.InterruptCount",,"CPU ISR Count"); -} diff --git a/Source/External/v120/DSP2833x_headers/gel/DSP2833x_DualMap_EPWM.gel b/Source/External/v120/DSP2833x_headers/gel/DSP2833x_DualMap_EPWM.gel deleted file mode 100644 index e08455b..0000000 --- a/Source/External/v120/DSP2833x_headers/gel/DSP2833x_DualMap_EPWM.gel +++ /dev/null @@ -1,237 +0,0 @@ -/* -/* TI File $Revision: /main/1 $ */ -/* Checkin $Date: May 7, 2008 13:07:07 $ */ -/***********************************************************************/ -/* File: DSP2833x_DualMap_EPWM.gel -/* -/* Description: -/* Adds dual-mapped EPWM registers to the GEL menu in -/* Code Composer Studio and allows user to enable dual-mapping of -/* EPWM registers to Peripheral Frame 3 (DMA-accessible) register -/* space -//##################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//##################################################################### -*/ - -/********************************************************************/ -/* Dual-Mapped Enhanced PWM Registers */ -/********************************************************************/ - -/* Add a space line to the GEL menu */ -menuitem "___________________________________"; -hotmenu ___() {} - -menuitem "Dual-Mapped ePWM Registers"; -hotmenu Enable_ePWM_Dual_Mapping () -{ - *0x702E = (*0x702E) | 0x0001; /* MAPCNF[MAPEPWM] = 1 */ -} -hotmenu ePWM1_DualMapped_All_Regs() -{ - GEL_WatchAdd("*0x5800,x","ePWM1 TBCTL"); - GEL_WatchAdd("*0x5801,x","ePWM1 TBSTS"); - GEL_WatchAdd("*0x5802,x","ePWM1 TBPHSHR"); - GEL_WatchAdd("*0x5803,x","ePWM1 TBPHS"); - GEL_WatchAdd("*0x5804,x","ePWM1 TBCTR"); - GEL_WatchAdd("*0x5805,x","ePWM1 TBPRD"); - GEL_WatchAdd("*0x5807,x","ePWM1 CMPCTL"); - GEL_WatchAdd("*0x5808,x","ePWM1 CMPAHR"); - GEL_WatchAdd("*0x5809,x","ePWM1 CMPA"); - GEL_WatchAdd("*0x580A,x","ePWM1 CMPB"); - GEL_WatchAdd("*0x580B,x","ePWM1 AQCTLA"); - GEL_WatchAdd("*0x580C,x","ePWM1 AQCTLB"); - GEL_WatchAdd("*0x580D,x","ePWM1 AQSFRC"); - GEL_WatchAdd("*0x580E,x","ePWM1 AQCSFRC"); - GEL_WatchAdd("*0x580F,x","ePWM1 DBCTL"); - GEL_WatchAdd("*0x5810,x","ePWM1 DBRED"); - GEL_WatchAdd("*0x5811,x","ePWM1 DBFED"); - GEL_WatchAdd("*0x5812,x","ePWM1 TZSEL"); - GEL_WatchAdd("*0x5813,x","ePWM1 TZDCSEL"); - GEL_WatchAdd("*0x5814,x","ePWM1 TZCTL"); - GEL_WatchAdd("*0x5815,x","ePWM1 TZEINT"); - GEL_WatchAdd("*0x5816,x","ePWM1 TZFLG"); - GEL_WatchAdd("*0x5817,x","ePWM1 TZCLR"); - GEL_WatchAdd("*0x5818,x","ePWM1 TZFRC"); - GEL_WatchAdd("*0x5819,x","ePWM1 ETSEL"); - GEL_WatchAdd("*0x581A,x","ePWM1 ETPS"); - GEL_WatchAdd("*0x581B,x","ePWM1 ETFLG"); - GEL_WatchAdd("*0x581C,x","ePWM1 ETCLR"); - GEL_WatchAdd("*0x581D,x","ePWM1 ETFRC"); - GEL_WatchAdd("*0x581E,x","ePWM1 PCCTL"); - GEL_WatchAdd("*0x5820,x","ePWM1 HRCNFG"); -} - -hotmenu ePWM2_DualMapped_All_Regs() -{ - GEL_WatchAdd("*0x5840,x","ePWM2 TBCTL"); - GEL_WatchAdd("*0x5841,x","ePWM2 TBSTS"); - GEL_WatchAdd("*0x5842,x","ePWM2 TBPHSHR"); - GEL_WatchAdd("*0x5843,x","ePWM2 TBPHS"); - GEL_WatchAdd("*0x5844,x","ePWM2 TBCTR"); - GEL_WatchAdd("*0x5845,x","ePWM2 TBPRD"); - GEL_WatchAdd("*0x5847,x","ePWM2 CMPCTL"); - GEL_WatchAdd("*0x5848,x","ePWM2 CMPAHR"); - GEL_WatchAdd("*0x5849,x","ePWM2 CMPA"); - GEL_WatchAdd("*0x584A,x","ePWM2 CMPB"); - GEL_WatchAdd("*0x584B,x","ePWM2 AQCTLA"); - GEL_WatchAdd("*0x584C,x","ePWM2 AQCTLB"); - GEL_WatchAdd("*0x584D,x","ePWM2 AQSFRC"); - GEL_WatchAdd("*0x584E,x","ePWM2 AQCSFRC"); - GEL_WatchAdd("*0x584F,x","ePWM2 DBCTL"); - GEL_WatchAdd("*0x5850,x","ePWM2 DBRED"); - GEL_WatchAdd("*0x5851,x","ePWM2 DBFED"); - GEL_WatchAdd("*0x5852,x","ePWM2 TZSEL"); - GEL_WatchAdd("*0x5853,x","ePWM2 TZDCSEL"); - GEL_WatchAdd("*0x5854,x","ePWM2 TZCTL"); - GEL_WatchAdd("*0x5855,x","ePWM2 TZEINT"); - GEL_WatchAdd("*0x5856,x","ePWM2 TZFLG"); - GEL_WatchAdd("*0x5857,x","ePWM2 TZCLR"); - GEL_WatchAdd("*0x5858,x","ePWM2 TZFRC"); - GEL_WatchAdd("*0x5859,x","ePWM2 ETSEL"); - GEL_WatchAdd("*0x585A,x","ePWM2 ETPS"); - GEL_WatchAdd("*0x585B,x","ePWM2 ETFLG"); - GEL_WatchAdd("*0x585C,x","ePWM2 ETCLR"); - GEL_WatchAdd("*0x585D,x","ePWM2 ETFRC"); - GEL_WatchAdd("*0x585E,x","ePWM2 PCCTL"); - GEL_WatchAdd("*0x5860,x","ePWM2 HRCNFG"); -} -hotmenu ePWM3_DualMapped_All_Regs() -{ - GEL_WatchAdd("*0x5880,x","ePWM3 TBCTL"); - GEL_WatchAdd("*0x5881,x","ePWM3 TBSTS"); - GEL_WatchAdd("*0x5882,x","ePWM3 TBPHSHR"); - GEL_WatchAdd("*0x5883,x","ePWM3 TBPHS"); - GEL_WatchAdd("*0x5884,x","ePWM3 TBCTR"); - GEL_WatchAdd("*0x5885,x","ePWM3 TBPRD"); - GEL_WatchAdd("*0x5887,x","ePWM3 CMPCTL"); - GEL_WatchAdd("*0x5888,x","ePWM3 CMPAHR"); - GEL_WatchAdd("*0x5889,x","ePWM3 CMPA"); - GEL_WatchAdd("*0x588A,x","ePWM3 CMPB"); - GEL_WatchAdd("*0x588B,x","ePWM3 AQCTLA"); - GEL_WatchAdd("*0x588C,x","ePWM3 AQCTLB"); - GEL_WatchAdd("*0x588D,x","ePWM3 AQSFRC"); - GEL_WatchAdd("*0x588E,x","ePWM3 AQCSFRC"); - GEL_WatchAdd("*0x588F,x","ePWM3 DBCTL"); - GEL_WatchAdd("*0x5890,x","ePWM3 DBRED"); - GEL_WatchAdd("*0x5891,x","ePWM3 DBFED"); - GEL_WatchAdd("*0x5892,x","ePWM3 TZSEL"); - GEL_WatchAdd("*0x5893,x","ePWM3 TZDCSEL"); - GEL_WatchAdd("*0x5894,x","ePWM3 TZCTL"); - GEL_WatchAdd("*0x5895,x","ePWM3 TZEINT"); - GEL_WatchAdd("*0x5896,x","ePWM3 TZFLG"); - GEL_WatchAdd("*0x5897,x","ePWM3 TZCLR"); - GEL_WatchAdd("*0x5898,x","ePWM3 TZFRC"); - GEL_WatchAdd("*0x5899,x","ePWM3 ETSEL"); - GEL_WatchAdd("*0x589A,x","ePWM3 ETPS"); - GEL_WatchAdd("*0x589B,x","ePWM3 ETFLG"); - GEL_WatchAdd("*0x589C,x","ePWM3 ETCLR"); - GEL_WatchAdd("*0x589D,x","ePWM3 ETFRC"); - GEL_WatchAdd("*0x589E,x","ePWM3 PCCTL"); - GEL_WatchAdd("*0x58A0,x","ePWM3 HRCNFG"); -} -hotmenu ePWM4_DualMapped_All_Regs() -{ - GEL_WatchAdd("*0x58C0,x","ePWM4 TBCTL"); - GEL_WatchAdd("*0x58C1,x","ePWM4 TBSTS"); - GEL_WatchAdd("*0x58C2,x","ePWM4 TBPHSHR"); - GEL_WatchAdd("*0x58C3,x","ePWM4 TBPHS"); - GEL_WatchAdd("*0x58C4,x","ePWM4 TBCTR"); - GEL_WatchAdd("*0x58C5,x","ePWM4 TBPRD"); - GEL_WatchAdd("*0x58C7,x","ePWM4 CMPCTL"); - GEL_WatchAdd("*0x58C8,x","ePWM4 CMPAHR"); - GEL_WatchAdd("*0x58C9,x","ePWM4 CMPA"); - GEL_WatchAdd("*0x58CA,x","ePWM4 CMPB"); - GEL_WatchAdd("*0x58CB,x","ePWM4 AQCTLA"); - GEL_WatchAdd("*0x58CC,x","ePWM4 AQCTLB"); - GEL_WatchAdd("*0x58CD,x","ePWM4 AQSFRC"); - GEL_WatchAdd("*0x58CE,x","ePWM4 AQCSFRC"); - GEL_WatchAdd("*0x58CF,x","ePWM4 DBCTL"); - GEL_WatchAdd("*0x58D0,x","ePWM4 DBRED"); - GEL_WatchAdd("*0x58D1,x","ePWM4 DBFED"); - GEL_WatchAdd("*0x58D2,x","ePWM4 TZSEL"); - GEL_WatchAdd("*0x58D3,x","ePWM4 TZDCSEL"); - GEL_WatchAdd("*0x58D4,x","ePWM4 TZCTL"); - GEL_WatchAdd("*0x58D5,x","ePWM4 TZEINT"); - GEL_WatchAdd("*0x58D6,x","ePWM4 TZFLG"); - GEL_WatchAdd("*0x58D7,x","ePWM4 TZCLR"); - GEL_WatchAdd("*0x58D8,x","ePWM4 TZFRC"); - GEL_WatchAdd("*0x58D9,x","ePWM4 ETSEL"); - GEL_WatchAdd("*0x58DA,x","ePWM4 ETPS"); - GEL_WatchAdd("*0x58DB,x","ePWM4 ETFLG"); - GEL_WatchAdd("*0x58DC,x","ePWM4 ETCLR"); - GEL_WatchAdd("*0x58DD,x","ePWM4 ETFRC"); - GEL_WatchAdd("*0x58DE,x","ePWM4 PCCTL"); - GEL_WatchAdd("*0x58E0,x","ePWM4 HRCNFG"); -} -hotmenu ePWM5_DualMapped_All_Regs() -{ - GEL_WatchAdd("*0x5900,x","ePWM5 TBCTL"); - GEL_WatchAdd("*0x5901,x","ePWM5 TBSTS"); - GEL_WatchAdd("*0x5902,x","ePWM5 TBPHSHR"); - GEL_WatchAdd("*0x5903,x","ePWM5 TBPHS"); - GEL_WatchAdd("*0x5904,x","ePWM5 TBCTR"); - GEL_WatchAdd("*0x5905,x","ePWM5 TBPRD"); - GEL_WatchAdd("*0x5907,x","ePWM5 CMPCTL"); - GEL_WatchAdd("*0x5908,x","ePWM5 CMPAHR"); - GEL_WatchAdd("*0x5909,x","ePWM5 CMPA"); - GEL_WatchAdd("*0x590A,x","ePWM5 CMPB"); - GEL_WatchAdd("*0x590B,x","ePWM5 AQCTLA"); - GEL_WatchAdd("*0x590C,x","ePWM5 AQCTLB"); - GEL_WatchAdd("*0x590D,x","ePWM5 AQSFRC"); - GEL_WatchAdd("*0x590E,x","ePWM5 AQCSFRC"); - GEL_WatchAdd("*0x590F,x","ePWM5 DBCTL"); - GEL_WatchAdd("*0x5910,x","ePWM5 DBRED"); - GEL_WatchAdd("*0x5911,x","ePWM5 DBFED"); - GEL_WatchAdd("*0x5912,x","ePWM5 TZSEL"); - GEL_WatchAdd("*0x5913,x","ePWM5 TZDCSEL"); - GEL_WatchAdd("*0x5914,x","ePWM5 TZCTL"); - GEL_WatchAdd("*0x5915,x","ePWM5 TZEINT"); - GEL_WatchAdd("*0x5916,x","ePWM5 TZFLG"); - GEL_WatchAdd("*0x5917,x","ePWM5 TZCLR"); - GEL_WatchAdd("*0x5918,x","ePWM5 TZFRC"); - GEL_WatchAdd("*0x5919,x","ePWM5 ETSEL"); - GEL_WatchAdd("*0x591A,x","ePWM5 ETPS"); - GEL_WatchAdd("*0x591B,x","ePWM5 ETFLG"); - GEL_WatchAdd("*0x591C,x","ePWM5 ETCLR"); - GEL_WatchAdd("*0x591D,x","ePWM5 ETFRC"); - GEL_WatchAdd("*0x591E,x","ePWM5 PCCTL"); - GEL_WatchAdd("*0x5920,x","ePWM5 HRCNFG"); -} -hotmenu ePWM6_DualMapped_All_Regs() -{ - GEL_WatchAdd("*0x5940,x","ePWM6 TBCTL"); - GEL_WatchAdd("*0x5941,x","ePWM6 TBSTS"); - GEL_WatchAdd("*0x5942,x","ePWM6 TBPHSHR"); - GEL_WatchAdd("*0x5943,x","ePWM6 TBPHS"); - GEL_WatchAdd("*0x5944,x","ePWM6 TBCTR"); - GEL_WatchAdd("*0x5945,x","ePWM6 TBPRD"); - GEL_WatchAdd("*0x5947,x","ePWM6 CMPCTL"); - GEL_WatchAdd("*0x5948,x","ePWM6 CMPAHR"); - GEL_WatchAdd("*0x5949,x","ePWM6 CMPA"); - GEL_WatchAdd("*0x594A,x","ePWM6 CMPB"); - GEL_WatchAdd("*0x594B,x","ePWM6 AQCTLA"); - GEL_WatchAdd("*0x594C,x","ePWM6 AQCTLB"); - GEL_WatchAdd("*0x594D,x","ePWM6 AQSFRC"); - GEL_WatchAdd("*0x594E,x","ePWM6 AQCSFRC"); - GEL_WatchAdd("*0x594F,x","ePWM6 DBCTL"); - GEL_WatchAdd("*0x5950,x","ePWM6 DBRED"); - GEL_WatchAdd("*0x5951,x","ePWM6 DBFED"); - GEL_WatchAdd("*0x5952,x","ePWM6 TZSEL"); - GEL_WatchAdd("*0x5953,x","ePWM6 TZDCSEL"); - GEL_WatchAdd("*0x5954,x","ePWM6 TZCTL"); - GEL_WatchAdd("*0x5955,x","ePWM6 TZEINT"); - GEL_WatchAdd("*0x5956,x","ePWM6 TZFLG"); - GEL_WatchAdd("*0x5957,x","ePWM6 TZCLR"); - GEL_WatchAdd("*0x5958,x","ePWM6 TZFRC"); - GEL_WatchAdd("*0x5959,x","ePWM6 ETSEL"); - GEL_WatchAdd("*0x595A,x","ePWM6 ETPS"); - GEL_WatchAdd("*0x595B,x","ePWM6 ETFLG"); - GEL_WatchAdd("*0x595C,x","ePWM6 ETCLR"); - GEL_WatchAdd("*0x595D,x","ePWM6 ETFRC"); - GEL_WatchAdd("*0x595E,x","ePWM6 PCCTL"); - GEL_WatchAdd("*0x5960,x","ePWM6 HRCNFG"); - -} - diff --git a/Source/External/v120/DSP2833x_headers/gel/DSP2833x_Peripheral.gel b/Source/External/v120/DSP2833x_headers/gel/DSP2833x_Peripheral.gel deleted file mode 100644 index c51afd1..0000000 --- a/Source/External/v120/DSP2833x_headers/gel/DSP2833x_Peripheral.gel +++ /dev/null @@ -1,249 +0,0 @@ -/* -/* TI File $Revision: /main/7 $ */ -/* Checkin $Date: June 2, 2008 11:12:27 $ */ -/******************************************************************* */ -/* File: DSP2833x_peripheral.gel */ -/* Description: Adds '2833x registers to the GEL menu in */ -/* Code Composer Studio using the structures defined in the DSP2833x */ -/* header files. The user must have the symbols (.out file) */ -/* loaded from a project using the DSP28 structures in order for */ -/* these menu items to work. If symbols are not loaded, the */ -/* watch window will report "Identifier not found." */ -/* -//##################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ -//##################################################################### -*/ - -/* Add a space line to the GEL menu */ -menuitem "____________________________________"; -hotmenu _() {} - -menuitem "Watch DSP2833x Peripheral Structures"; - -hotmenu All_Peripherals_Regs() -{ - GEL_WatchAdd("AdcRegs"); - GEL_WatchAdd("AdcMirror"); - GEL_WatchAdd("CsmRegs"); - GEL_WatchAdd("CsmPwl"); - GEL_WatchAdd("CpuTimer0Regs"); - GEL_WatchAdd("CpuTimer1Regs"); - GEL_WatchAdd("CpuTimer2Regs"); - GEL_WatchAdd("DevEmuRegs"); - GEL_WatchAdd("DmaRegs"); - GEL_WatchAdd("ECanaRegs"); - GEL_WatchAdd("ECanaMboxes"); - GEL_WatchAdd("ECanaLAMRegs"); - GEL_WatchAdd("ECanaMOTSRegs"); - GEL_WatchAdd("ECanbRegs"); - GEL_WatchAdd("ECanbMboxes"); - GEL_WatchAdd("ECanbLAMRegs"); - GEL_WatchAdd("ECanbMOTSRegs"); - GEL_WatchAdd("EPwm1Regs"); - GEL_WatchAdd("EPwm2Regs"); - GEL_WatchAdd("EPwm3Regs"); - GEL_WatchAdd("EPwm4Regs"); - GEL_WatchAdd("EPwm5Regs"); - GEL_WatchAdd("EPwm6Regs"); - GEL_WatchAdd("ECap1Regs"); - GEL_WatchAdd("ECap2Regs"); - GEL_WatchAdd("ECap3Regs"); - GEL_WatchAdd("ECap4Regs"); - GEL_WatchAdd("ECap5Regs"); - GEL_WatchAdd("ECap6Regs"); - GEL_WatchAdd("EQep1Regs"); - GEL_WatchAdd("EQep2Regs"); - GEL_WatchAdd("FlashRegs"); - GEL_WatchAdd("XIntruptRegs"); - GEL_WatchAdd("FlashRegs"); - GEL_WatchAdd("GpioCtrlRegs"); - GEL_WatchAdd("GpioDataRegs"); - GEL_WatchAdd("GpioIntRegs"); - GEL_WatchAdd("I2caRegs"); - GEL_WatchAdd("McbspaRegs"); - GEL_WatchAdd("McbspbRegs"); - GEL_WatchAdd("PartIdRegs"); - GEL_WatchAdd("PieCtrlRegs"); - GEL_WatchAdd("PieVectTable"); - GEL_WatchAdd("SciaRegs"); - GEL_WatchAdd("ScibRegs"); - GEL_WatchAdd("ScicRegs"); - GEL_WatchAdd("SpiaRegs"); - GEL_WatchAdd("SysCtrlRegs"); - GEL_WatchAdd("XintfRegs"); -} -hotmenu _______________________() {} -hotmenu ADC_Regs() -{ - GEL_WatchAdd("AdcRegs"); - GEL_WatchAdd("AdcMirror"); -} -hotmenu Code_Security_Module_Regs() -{ - GEL_WatchAdd("CsmRegs"); - GEL_WatchAdd("CsmPwl"); -} -hotmenu CPU_Timer0_Regs() -{ - GEL_WatchAdd("CpuTimer0Regs"); -} -hotmenu CPU_Timer1_Regs() -{ - GEL_WatchAdd("CpuTimer1Regs"); -} -hotmenu CPU_Timer2_Regs() -{ - GEL_WatchAdd("CpuTimer2Regs"); -} -hotmenu Device_Emulation_Regs() -{ - GEL_WatchAdd("DevEmuRegs"); -} -hotmenu DMA_Regs() -{ - GEL_WatchAdd("DMARegs"); -} -hotmenu eCANA_Regs() -{ - GEL_WatchAdd("ECanaRegs"); - GEL_WatchAdd("ECanaMboxes"); - GEL_WatchAdd("ECanaLAMRegs"); - GEL_WatchAdd("ECanaMOTSRegs"); -} -hotmenu eCANB_Regs() -{ - GEL_WatchAdd("ECanbRegs"); - GEL_WatchAdd("ECanbMboxes"); - GEL_WatchAdd("ECanbLAMRegs"); - GEL_WatchAdd("ECanbMOTSRegs"); -} -hotmenu EPWM1_Regs() -{ - GEL_WatchAdd("EPwm1Regs"); -} -hotmenu EPWM2_Regs() -{ - GEL_WatchAdd("EPwm2Regs"); -} -hotmenu EPWM3_Regs() -{ - GEL_WatchAdd("EPwm3Regs"); -} -hotmenu EPWM4_Regs() -{ - GEL_WatchAdd("EPwm4Regs"); -} -hotmenu EPWM5_Regs() -{ - GEL_WatchAdd("EPwm5Regs"); -} -hotmenu EPWM6_Regs() -{ - GEL_WatchAdd("EPwm6Regs"); -} -hotmenu ECAP1_Regs() -{ - GEL_WatchAdd("ECap1Regs"); -} -hotmenu ECAP2_Regs() -{ - GEL_WatchAdd("ECap2Regs"); -} -hotmenu ECAP3_Regs() -{ - GEL_WatchAdd("ECap3Regs"); -} -hotmenu ECAP4_Regs() -{ - GEL_WatchAdd("ECap4Regs"); -} -hotmenu ECAP5_Regs() -{ - GEL_WatchAdd("ECap5Regs"); -} -hotmenu ECAP6_Regs() -{ - GEL_WatchAdd("ECap6Regs"); -} -hotmenu EQEP1_Regs() -{ - GEL_WatchAdd("EQep1Regs"); -} -hotmenu EQEP2_Regs() -{ - GEL_WatchAdd("EQep2Regs"); -} -hotmenu External_Interface_Regs() -{ - GEL_WatchAdd("XintfRegs"); -} -hotmenu External_Interrupt_Regs() -{ - GEL_WatchAdd("XIntruptRegs"); -} -hotmenu Flash_and_OTP_Regs() -{ - GEL_WatchAdd("FlashRegs"); -} -hotmenu GPIO_CTRL_Regs() -{ - GEL_WatchAdd("GpioCtrlRegs"); -} -hotmenu GPIO_DATA_Regs() -{ - GEL_WatchAdd("GpioDataRegs"); -} -hotmenu GPIO_INT_Regs() -{ - GEL_WatchAdd("GpioIntRegs"); -} -hotmenu I2CA_Regs() -{ - GEL_WatchAdd("I2caRegs"); -} -hotmenu McBSPA_Regs() -{ - GEL_WatchAdd("McbspaRegs"); -} -hotmenu McBSPB_Regs() -{ - GEL_WatchAdd("McbspbRegs"); -} -hotmenu PartId_Regs() -{ - GEL_WatchAdd("PartIdRegs"); -} -hotmenu PIE_Control_Regs() -{ - GEL_WatchAdd("PieCtrlRegs"); -} -hotmenu SCIA_Regs() -{ - GEL_WatchAdd("SciaRegs"); -} -hotmenu SCIB_Regs() -{ - GEL_WatchAdd("ScibRegs"); -} -hotmenu SPIA_Regs() -{ - GEL_WatchAdd("SpiaRegs"); -} -hotmenu System_and_Control_Regs() -{ - GEL_WatchAdd("SysCtrlRegs"); -} - - - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ - - - - diff --git a/UKSSTMS320F28335/.ccsproject b/UKSSTMS320F28335/.ccsproject new file mode 100644 index 0000000..90f517d --- /dev/null +++ b/UKSSTMS320F28335/.ccsproject @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/UKSSTMS320F28335/.cproject b/UKSSTMS320F28335/.cproject new file mode 100644 index 0000000..1656074 --- /dev/null +++ b/UKSSTMS320F28335/.cproject @@ -0,0 +1,366 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/UKSSTMS320F28335/.launches/UKSSTMS320F28335.launch b/UKSSTMS320F28335/.launches/UKSSTMS320F28335.launch new file mode 100644 index 0000000..ea3ccde --- /dev/null +++ b/UKSSTMS320F28335/.launches/UKSSTMS320F28335.launch @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/UKSSTMS320F28335/.project b/UKSSTMS320F28335/.project new file mode 100644 index 0000000..25be340 --- /dev/null +++ b/UKSSTMS320F28335/.project @@ -0,0 +1,185 @@ + + + UKSSTMS320F28335 + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + com.ti.ccstudio.core.ccsNature + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + F28335.cmd + 1 + SRC_ROOT/F28335.cmd + + + UKSSTMS320F28335.pjt + 1 + SRC_ROOT/UKSSTMS320F28335.pjt + + + Debug/UKSSTMS320F28335.out + 1 + EXTERNAL_BUILD_ARTIFACT + + + Libraries/rts2800_fpu32.lib + 1 + SRC_ROOT/Libraries/rts2800_fpu32.lib + + + Source/Internal/ADC.c + 1 + SRC_ROOT/Source/Internal/ADC.c + + + Source/Internal/RS485.c + 1 + SRC_ROOT/Source/Internal/RS485.c + + + Source/Internal/bios.c + 1 + SRC_ROOT/Source/Internal/bios.c + + + Source/Internal/cntrl_adr.c + 1 + SRC_ROOT/Source/Internal/cntrl_adr.c + + + Source/Internal/crc16.c + 1 + SRC_ROOT/Source/Internal/crc16.c + + + Source/Internal/ecan.c + 1 + SRC_ROOT/Source/Internal/ecan.c + + + Source/Internal/filter_bat2.c + 1 + SRC_ROOT/Source/Internal/filter_bat2.c + + + Source/Internal/i2c.c + 1 + SRC_ROOT/Source/Internal/i2c.c + + + Source/Internal/log_to_mem.c + 1 + SRC_ROOT/Source/Internal/log_to_mem.c + + + Source/Internal/main.c + 1 + SRC_ROOT/Source/Internal/main.c + + + Source/Internal/measure.c + 1 + SRC_ROOT/Source/Internal/measure.c + + + Source/Internal/message.c + 1 + SRC_ROOT/Source/Internal/message.c + + + Source/Internal/peripher.c + 1 + SRC_ROOT/Source/Internal/peripher.c + + + Source/Internal/spise2p.c + 1 + SRC_ROOT/Source/Internal/spise2p.c + + + Source/Internal/tools.c + 1 + SRC_ROOT/Source/Internal/tools.c + + + Source/External/v120/DSP2833x_common/source/DSP2833x_ADC_cal.asm + 1 + SRC_ROOT/Source/External/v120/DSP2833x_common/source/DSP2833x_ADC_cal.asm + + + Source/External/v120/DSP2833x_common/source/DSP2833x_Adc.c + 1 + SRC_ROOT/Source/External/v120/DSP2833x_common/source/DSP2833x_Adc.c + + + Source/External/v120/DSP2833x_common/source/DSP2833x_CpuTimers.c + 1 + SRC_ROOT/Source/External/v120/DSP2833x_common/source/DSP2833x_CpuTimers.c + + + Source/External/v120/DSP2833x_common/source/DSP2833x_PieCtrl.c + 1 + SRC_ROOT/Source/External/v120/DSP2833x_common/source/DSP2833x_PieCtrl.c + + + Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedDefaultIsr.c + 1 + SRC_ROOT/Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedDefaultIsr.c + + + Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedPieVect.c + 1 + SRC_ROOT/Source/External/v120/DSP2833x_common/source/DSP2833x_SWPrioritizedPieVect.c + + + Source/External/v120/DSP2833x_common/source/DSP2833x_SysCtrl.c + 1 + SRC_ROOT/Source/External/v120/DSP2833x_common/source/DSP2833x_SysCtrl.c + + + Source/External/v120/DSP2833x_common/source/DSP2833x_Xintf.c + 1 + SRC_ROOT/Source/External/v120/DSP2833x_common/source/DSP2833x_Xintf.c + + + Source/External/v120/DSP2833x_common/source/DSP2833x_usDelay.asm + 1 + SRC_ROOT/Source/External/v120/DSP2833x_common/source/DSP2833x_usDelay.asm + + + Source/External/v120/DSP2833x_headers/cmd/DSP2833x_Headers_nonBIOS.cmd + 1 + SRC_ROOT/Source/External/v120/DSP2833x_headers/cmd/DSP2833x_Headers_nonBIOS.cmd + + + Source/External/v120/DSP2833x_headers/source/DSP2833x_GlobalVariableDefs.c + 1 + SRC_ROOT/Source/External/v120/DSP2833x_headers/source/DSP2833x_GlobalVariableDefs.c + + + + + SRC_ROOT + $%7BPARENT-1-PROJECT_LOC%7D + + + diff --git a/UKSSTMS320F28335/.settings/org.eclipse.cdt.codan.core.prefs b/UKSSTMS320F28335/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 0000000..f653028 --- /dev/null +++ b/UKSSTMS320F28335/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +inEditor=false +onBuild=false diff --git a/UKSSTMS320F28335/.settings/org.eclipse.cdt.debug.core.prefs b/UKSSTMS320F28335/.settings/org.eclipse.cdt.debug.core.prefs new file mode 100644 index 0000000..2adc7b1 --- /dev/null +++ b/UKSSTMS320F28335/.settings/org.eclipse.cdt.debug.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.debug.core.toggleBreakpointModel=com.ti.ccstudio.debug.CCSBreakpointMarker diff --git a/Source/External/v120/DSP2833x_common/cmd/28335_RAM_lnk.cmd b/UKSSTMS320F28335/28335_RAM_lnk.cmd similarity index 73% rename from Source/External/v120/DSP2833x_common/cmd/28335_RAM_lnk.cmd rename to UKSSTMS320F28335/28335_RAM_lnk.cmd index b469211..0db663f 100644 --- a/Source/External/v120/DSP2833x_common/cmd/28335_RAM_lnk.cmd +++ b/UKSSTMS320F28335/28335_RAM_lnk.cmd @@ -1,6 +1,6 @@ /* -// TI File $Revision: /main/10 $ -// Checkin $Date: July 9, 2008 13:43:36 $ +// TI File $Revision: /main/11 $ +// Checkin $Date: April 15, 2009 09:57:28 $ //########################################################################### // // FILE: 28335_RAM_lnk.cmd @@ -8,41 +8,41 @@ // TITLE: Linker Command File For 28335 examples that run out of RAM // // This ONLY includes all SARAM blocks on the 28335 device. -// This does not include flash or OTP. +// This does not include flash or OTP. // // Keep in mind that L0 and L1 are protected by the code // security module. // -// What this means is in most cases you will want to move to -// another memory map file which has more memory defined. +// What this means is in most cases you will want to move to +// another memory map file which has more memory defined. // //########################################################################### -// $TI Release: DSP2833x/DSP2823x Header Files V1.20 $ -// $Release Date: August 1, 2008 $ +// $TI Release: $ +// $Release Date: $ //########################################################################### */ /* ====================================================== // For Code Composer Studio V2.2 and later // --------------------------------------- -// In addition to this memory linker command file, -// add the header linker command file directly to the project. +// In addition to this memory linker command file, +// add the header linker command file directly to the project. // The header linker command file is required to link the -// peripheral structures to the proper locations within +// peripheral structures to the proper locations within // the memory map. // // The header linker files are found in \DSP2833x_Headers\cmd -// +// // For BIOS applications add: DSP2833x_Headers_BIOS.cmd -// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd +// For nonBIOS applications add: DSP2833x_Headers_nonBIOS.cmd ========================================================= */ /* ====================================================== // For Code Composer Studio prior to V2.2 // -------------------------------------- -// 1) Use one of the following -l statements to include the +// 1) Use one of the following -l statements to include the // header linker command file in the project. The header linker -// file is required to link the peripheral structures to the proper +// file is required to link the peripheral structures to the proper // locations within the memory map */ /* Uncomment this line to include file only for non-BIOS applications */ @@ -52,29 +52,29 @@ /* -l DSP2833x_Headers_BIOS.cmd */ /* 2) In your project add the path to \DSP2833x_headers\cmd to the - library search path under project->build options, linker tab, + library search path under project->build options, linker tab, library search path (-i). /*========================================================= */ -/* Define the memory block start/length for the F28335 +/* Define the memory block start/length for the F28335 PAGE 0 will be used to organize program sections PAGE 1 will be used to organize data sections - Notes: + Notes: Memory blocks on F28335 are uniform (ie same - physical memory) in both PAGE 0 and PAGE 1. + physical memory) in both PAGE 0 and PAGE 1. That is the same memory region should not be defined for both PAGE 0 and PAGE 1. - Doing so will result in corruption of program - and/or data. - + Doing so will result in corruption of program + and/or data. + L0/L1/L2 and L3 memory blocks are mirrored - that is they can be accessed in high memory or low memory. For simplicity only one instance is used in this - linker file. - - Contiguous SARAM memory blocks can be combined - if required to create a larger memory block. + linker file. + + Contiguous SARAM memory blocks can be combined + if required to create a larger memory block. */ @@ -82,19 +82,14 @@ MEMORY { PAGE 0 : /* BEGIN is used for the "boot to SARAM" bootloader mode */ - /* BOOT_RSVD is used by the boot ROM for stack. */ - /* This section is only reserved to keep the BOOT ROM from */ - /* corrupting this area during the debug process */ - - BEGIN : origin = 0x000000, length = 0x000002 /* Boot to M0 will go here */ - BOOT_RSVD : origin = 0x000002, length = 0x00004E /* Part of M0, BOOT rom will use this for stack */ - RAMM0 : origin = 0x000050, length = 0x0003B0 - RAML0 : origin = 0x008000, length = 0x001000 - RAML1 : origin = 0x009000, length = 0x001000 - RAML2 : origin = 0x00A000, length = 0x001000 - RAML3 : origin = 0x00B000, length = 0x001000 - ZONE7A : origin = 0x200000, length = 0x00FC00 /* XINTF zone 7 - program space */ + BEGIN : origin = 0x000000, length = 0x000002 /* Boot to M0 will go here */ + RAMM0 : origin = 0x000050, length = 0x0003B0 + RAML0 : origin = 0x008000, length = 0x001000 + RAML1 : origin = 0x009000, length = 0x001000 + RAML2 : origin = 0x00A000, length = 0x001000 + RAML3 : origin = 0x00B000, length = 0x001000 + ZONE7A : origin = 0x200000, length = 0x00FC00 /* XINTF zone 7 - program space */ CSM_RSVD : origin = 0x33FF80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */ CSM_PWL : origin = 0x33FFF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */ ADC_CAL : origin = 0x380080, length = 0x000009 @@ -102,75 +97,88 @@ PAGE 0 : IQTABLES : origin = 0x3FE000, length = 0x000b50 IQTABLES2 : origin = 0x3FEB50, length = 0x00008c FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 - BOOTROM : origin = 0x3FF27C, length = 0x000D44 + BOOTROM : origin = 0x3FF27C, length = 0x000D44 - -PAGE 1 : + +PAGE 1 : + /* BOOT_RSVD is used by the boot ROM for stack. */ + /* This section is only reserved to keep the BOOT ROM from */ + /* corrupting this area during the debug process */ + + BOOT_RSVD : origin = 0x000002, length = 0x00004E /* Part of M0, BOOT rom will use this for stack */ RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ - RAML4 : origin = 0x00C000, length = 0x001000 - RAML5 : origin = 0x00D000, length = 0x001000 - RAML6 : origin = 0x00E000, length = 0x001000 - RAML7 : origin = 0x00F000, length = 0x001000 + RAML4 : origin = 0x00C000, length = 0x001000 + RAML5 : origin = 0x00D000, length = 0x001000 + RAML6 : origin = 0x00E000, length = 0x001000 + RAML7 : origin = 0x00F000, length = 0x001000 ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */ } - - + + SECTIONS { - /* Setup for "boot to SARAM" mode: + /* Setup for "boot to SARAM" mode: The codestart section (found in DSP28_CodeStartBranch.asm) re-directs execution to the start of user code. */ codestart : > BEGIN, PAGE = 0 - ramfuncs : > RAML0, PAGE = 0 + +#ifdef __TI_COMPILER_VERSION__ + #if __TI_COMPILER_VERSION__ >= 15009000 + .TI.ramfunc : {} > RAML0, PAGE = 0 + #else + ramfuncs : > RAML0, PAGE = 0 + #endif +#endif + .text : > RAML1, PAGE = 0 .cinit : > RAML0, PAGE = 0 .pinit : > RAML0, PAGE = 0 .switch : > RAML0, PAGE = 0 - + .stack : > RAMM1, PAGE = 1 .ebss : > RAML4, PAGE = 1 - .econst : > RAML5, PAGE = 1 + .econst : > RAML5, PAGE = 1 .esysmem : > RAMM1, PAGE = 1 IQmath : > RAML1, PAGE = 0 - IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD - + IQmathTables : > IQTABLES, PAGE = 0, TYPE = NOLOAD + /* Uncomment the section below if calling the IQNexp() or IQexp() - functions from the IQMath.lib library in order to utilize the - relevant IQ Math table in Boot ROM (This saves space and Boot ROM + functions from the IQMath.lib library in order to utilize the + relevant IQ Math table in Boot ROM (This saves space and Boot ROM is 1 wait-state). If this section is not uncommented, IQmathTables2 will be loaded into other memory (SARAM, Flash, etc.) and will take up space, but 0 wait-state is possible. */ /* - IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD + IQmathTables2 : > IQTABLES2, PAGE = 0, TYPE = NOLOAD { - - IQmath.lib (IQmathTablesRam) - - } - */ - FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD - + IQmath.lib (IQmathTablesRam) + + } + */ + + FPUmathTables : > FPUTABLES, PAGE = 0, TYPE = NOLOAD + DMARAML4 : > RAML4, PAGE = 1 DMARAML5 : > RAML5, PAGE = 1 DMARAML6 : > RAML6, PAGE = 1 DMARAML7 : > RAML7, PAGE = 1 - - ZONE7DATA : > ZONE7B, PAGE = 1 + + ZONE7DATA : > ZONE7B, PAGE = 1 .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used */ csm_rsvd : > CSM_RSVD PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ csmpasswds : > CSM_PWL PAGE = 0, TYPE = DSECT /* not used for SARAM examples */ - + /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */ .adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD - + } /* //=========================================================================== // End of file. //=========================================================================== -*/ +*/ \ No newline at end of file diff --git a/UKSSTMS320F28335/postBuildStep_Debug.bat b/UKSSTMS320F28335/postBuildStep_Debug.bat new file mode 100644 index 0000000..a054feb --- /dev/null +++ b/UKSSTMS320F28335/postBuildStep_Debug.bat @@ -0,0 +1,34 @@ +@echo off +setlocal + +for %%I in ("%~dp0..") do set "SRC_ROOT=%%~fI" + +:process_arg +if "%1"=="" goto end_process_arg +set name=%1 +set value= + +:process_arg_value +if NOT "%value%"=="" set value=%value% %2 +if "%value%"=="" set value=%2 +shift +if "%2"=="!" goto set_arg +if "%2"=="" goto set_arg +goto process_arg_value + +:set_arg +set %name%=%value% +shift +shift +goto process_arg +:end_process_arg + +echo. > temp_postBuildStep_Debug.bat + +echo "%SRC_ROOT%\Bin\hex2000.exe" "%SRC_ROOT%\Bin\UKSSTMS320F28335.out" -boot -sci8 -map "%SRC_ROOT%\Bin\UKSSTMS320F28335.map" -o "%SRC_ROOT%\Bin\UKSSTMS320F28335.hex" -i >> temp_postBuildStep_Debug.bat +echo "%SRC_ROOT%\Bin\hex2000.exe" "%SRC_ROOT%\Bin\UKSSTMS320F28335.out" -boot -sci8 -map "%SRC_ROOT%\Bin\UKSSTMS320F28335.map" -o "%SRC_ROOT%\Bin\UKSSTMS320F28335.bin" -b >> temp_postBuildStep_Debug.bat + +call temp_postBuildStep_Debug.bat +del temp_postBuildStep_Debug.bat + +endlocal diff --git a/UKSSTMS320F28335/targetConfigs/TMS320F28335.ccxml b/UKSSTMS320F28335/targetConfigs/TMS320F28335.ccxml new file mode 100644 index 0000000..325e655 --- /dev/null +++ b/UKSSTMS320F28335/targetConfigs/TMS320F28335.ccxml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build_ccs12.cmd b/build_ccs12.cmd new file mode 100644 index 0000000..e00f480 --- /dev/null +++ b/build_ccs12.cmd @@ -0,0 +1,22 @@ +@echo off +setlocal + +set "CONFIG=%~1" +if "%CONFIG%"=="" set "CONFIG=Debug" + +set "ROOT=%~dp0" +set "CCS_ECLIPSEC=C:\ti\ccs1230\ccs\eclipse\eclipsec.exe" +set "CCS_WORKSPACE=%ROOT%.ccs12_build_workspace" +set "TI_APPDATA_DIR=%ROOT%.ti_appdata" +set "PROJECT_DIR=%ROOT%UKSSTMS320F28335" + +if not exist "%CCS_ECLIPSEC%" ( + echo CCS eclipsec.exe not found: %CCS_ECLIPSEC% + exit /b 1 +) + +"%CCS_ECLIPSEC%" -noSplash -data "%CCS_WORKSPACE%" -application com.ti.ccstudio.apps.projectImport -ccs.location "%PROJECT_DIR%" -ccs.overwrite +if errorlevel 1 exit /b 1 + +"%CCS_ECLIPSEC%" -noSplash -data "%CCS_WORKSPACE%" -application com.ti.ccstudio.apps.projectBuild -ccs.projects UKSSTMS320F28335 -ccs.configuration "%CONFIG%" -ccs.buildType full -ccs.listProblems +exit /b %ERRORLEVEL%