diff --git a/pyocd/target/builtin/__init__.py b/pyocd/target/builtin/__init__.py index 4f22a8483..b752f14d4 100644 --- a/pyocd/target/builtin/__init__.py +++ b/pyocd/target/builtin/__init__.py @@ -92,6 +92,7 @@ from . import target_lpc4088dm from . import target_RTL8195AM from . import target_RTL8762C +from . import target_RTL8773G from . import target_CC3220SF from . import target_CC3220SF from ..family import target_psoc6 @@ -247,6 +248,7 @@ 'lpc4088dm': target_lpc4088dm.LPC4088dm, 'rtl8195am': target_RTL8195AM.RTL8195AM, 'rtl8762c': target_RTL8762C.RTL8762C, + 'rtl8773g': target_RTL8773G.RTL8773G, 'cc3220sf': target_CC3220SF.CC3220SF, 'cy8c6xxa': target_CY8C6xxA.CY8C6xxA, 'cy8c6xx7': target_CY8C6xx7.CY8C6xx7, diff --git a/pyocd/target/builtin/target_RTL8773G.py b/pyocd/target/builtin/target_RTL8773G.py new file mode 100644 index 000000000..bc81ae940 --- /dev/null +++ b/pyocd/target/builtin/target_RTL8773G.py @@ -0,0 +1,465 @@ +# pyOCD debugger +# Copyright (c) 2025 howie_wang@realsil.com.cn +# Copyright (c) 2025 PyOCD Authors +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FLASH_ALGO = { + 'load_address' : 0x000b8000, + + # Flash algorithm as a hex string + 'instructions': [ + 0xe7fdbe00, + 0xf000b570, 0x4824fd33, 0x67012100, 0x8f4ff3bf, 0xf4216801, 0x60013180, 0x8f4ff3bf, 0x08e36ec4, + 0x324ef3c4, 0x04c9f3c4, 0x1c66079b, 0xf6430151, 0xf04674e0, 0xea01e001, 0x441d0504, 0x5260f8c0, + 0x4540f105, 0xc007f00f, 0x1e553920, 0x462a2a00, 0xf000d1ef, 0xf000f83c, 0x6801f83a, 0x3100f421, + 0x21006001, 0x123cf8c0, 0xf0002000, 0xf001f830, 0x281bf8d5, 0x2000d10d, 0xf0012100, 0x281bfd8b, + 0x2000d107, 0xf0012100, 0x281bfd2d, 0x900fea5f, 0x2001bd70, 0xbf00bd70, 0xe000ed14, 0x47702000, + 0xf04fb580, 0x210440e0, 0xff56f001, 0xb580e00b, 0xf0012101, 0xe006ff51, 0x460bb580, 0x461a4611, + 0xfec0f001, 0x281be7ff, 0x900fea5f, 0xf3bfbd80, 0xf3bf8f4f, 0x47708f6f, 0x21004a07, 0xd0072904, + 0x0302eb09, 0x3021f853, 0xd0024283, 0xe7f53101, 0xb2c82104, 0xbf004770, 0x00000008, 0x42884906, + 0x4770d000, 0x68014805, 0x0110f041, 0x6a016001, 0x7180f441, 0x47706201, 0x40080000, 0x40000210, + 0x4dffe92d, 0x484b4683, 0xf500468a, 0x45834080, 0x901fea5f, 0x29023907, 0x8420ea5f, 0xf7ff4658, + 0x2804ffcb, 0x8084f000, 0x0040eb00, 0xf44f0085, 0xfa5050af, 0xf241f785, 0xfa5050dc, 0xf000f685, + 0x21d1f9b1, 0xea419403, 0xf0002110, 0x2c0000ec, 0x2402bf18, 0xea404420, 0xf0402001, 0xf4200011, + 0x46307100, 0xf96af002, 0x50def241, 0xf685fa50, 0xf998f000, 0xf0002181, 0xf040f987, 0xf4200011, + 0x463041a4, 0xf95af002, 0x25ec2000, 0xf880fa5f, 0x0f08f1b8, 0xeb07d213, 0xf0000608, 0xf000f983, + 0xea0501ec, 0x44212010, 0xea413011, 0xf0402000, 0x46300111, 0xf942f002, 0x0002f108, 0x481de7e6, + 0xd11a4583, 0x0001f1aa, 0xd2162802, 0x200e2400, 0x22012101, 0xe9cd2301, 0x4d174400, 0x47a8447d, + 0xf000200f, 0x2002f959, 0x22012101, 0xe9cd2302, 0x47a84400, 0xf0002003, 0x9803f94f, 0x2500b1c0, + 0x2e072600, 0xf046d014, 0x21010030, 0x23002201, 0x5500e9cd, 0x4620b2c4, 0xfa20f002, 0x21014620, + 0xfa7af002, 0x21014620, 0xfa8df002, 0xe7e83601, 0x8dffe8bd, 0x40080000, 0x0000247d, 0xf640b510, + 0xf0024008, 0x4604f883, 0x7180f420, 0x4008f640, 0xf8c4f002, 0xf0002040, 0xf424fbfe, 0xf64071c0, + 0xf0024008, 0x200ff8bb, 0x4010e8bd, 0xbc00f000, 0x42904a1b, 0x4a1bd015, 0xd12e4290, 0x29024a1a, + 0xf0236813, 0xbf086300, 0x6300f103, 0x29016013, 0xf4236813, 0xbf081380, 0x1380f503, 0xf7ff6013, + 0xb510bf2f, 0xf1a14b10, 0xb2d20209, 0x2afe681c, 0x6400f424, 0xf504bf28, 0x601c6400, 0x691c2afe, + 0x0401f024, 0x3401bf38, 0xf853611c, 0xf4422c90, 0xf8430280, 0xe8bd2c90, 0xf7ff4010, 0xbf00bf11, + 0x40084000, 0x40080000, 0x400002a8, 0x4dfce92d, 0x483a4606, 0x4617460d, 0xea5f4286, 0x3907901f, + 0x2902b2c9, 0x8820ea5f, 0xf7ff4630, 0x4683fed5, 0xd05d2804, 0xd0572f00, 0x004beb0b, 0x51aff44f, + 0xfa510080, 0xf241f780, 0xfa5151de, 0xf241f680, 0xfa5151dc, 0x4628f580, 0xf808f002, 0x0ac0f04f, + 0xf1b84644, 0xea4a0f00, 0xf0002110, 0xbf1800ec, 0xf0002402, 0xf000f891, 0x2180f8a5, 0xf894f000, + 0x71eff64b, 0x0001f040, 0x46304001, 0xf836f002, 0xb2c62000, 0xd20b2e08, 0x462819bd, 0xffe6f001, + 0x2110ea4a, 0x00ecf000, 0xf876f000, 0xe7f01cb0, 0x0f00f1b8, 0x2400d01c, 0x2e072600, 0xf046d018, + 0x21010030, 0x23002201, 0x4400e9cd, 0x4628b2c5, 0xf954f002, 0x21014628, 0xf9aef002, 0x21014628, + 0xf9c1f002, 0xe7e83601, 0x46294630, 0xff50f7ff, 0x0f04f1bb, 0x900fea5f, 0x8dfce8bd, 0x40084000, + 0x4604b510, 0x7004f240, 0xffb0f001, 0x2c004601, 0x7004f240, 0x311ff36f, 0xf501bf08, 0xe8bd4170, + 0xf0014010, 0xbf00bfeb, 0x42904a0c, 0x4a0cd008, 0xbf1c4290, 0x47702000, 0x0004f06f, 0xe0022204, + 0x0002f06f, 0xb5102202, 0x681c4b06, 0x29004020, 0x4310bf18, 0x20016018, 0xbf00bd10, 0x40080000, + 0x4008c000, 0x400002b8, 0x42884908, 0x4908d006, 0xbf1c4288, 0x47702000, 0xe0002004, 0x49052002, + 0x42016809, 0x900fea5f, 0xbf004770, 0x40080000, 0x4008c000, 0x400002b8, 0xea404420, 0xf0402001, + 0x46280101, 0xbfaaf001, 0x2110ea41, 0x00ecf000, 0xea404420, 0x47702001, 0x22012101, 0xe9cd2301, + 0x47284400, 0xf0014630, 0x0000bf51, 0x07c96881, 0x6a81d106, 0xd10307c9, 0xf3c06a80, 0x47701040, + 0x47702001, 0x7280f44f, 0xf101fa02, 0x2134f8d0, 0xf3610a09, 0xf8c0220a, 0x47702134, 0xf0226882, + 0x44110209, 0x47706081, 0x2120f8d0, 0x5200f422, 0x324df361, 0x2120f8c0, 0x21004770, 0x477062c1, + 0xf3616803, 0x60030304, 0xf0216801, 0xf3620120, 0x60011145, 0x68014770, 0x7140f441, 0x47706001, + 0xf4216801, 0x60017140, 0x68014770, 0x4100f021, 0x47706001, 0xf0416801, 0x60014100, 0x68424770, + 0x0102eac1, 0x47706041, 0x2130f8d0, 0x0217f361, 0x2130f8c0, 0x2a014770, 0xf8a0bf04, 0x47701060, + 0xf880b912, 0x47701060, 0x47706601, 0xbf042901, 0x0060f8b0, 0xb9114770, 0x0060f890, 0x6e004770, + 0xf8d04770, 0xf0012118, 0xf4220103, 0xea425240, 0xf8c03101, 0x47701118, 0x2118f8d0, 0x010ff001, + 0x2270f422, 0x4101ea42, 0x1118f8c0, 0xf8d04770, 0xf001211c, 0xf422010f, 0xea422270, 0xf8c04101, + 0x4770111c, 0x211cf8d0, 0x010ff001, 0x4270f422, 0x3101ea42, 0x111cf8c0, 0xf8d04770, 0xf6402118, + 0x439a73ff, 0xf8c04411, 0x47701118, 0x211cf8d0, 0x73fff640, 0x4411439a, 0x111cf8c0, 0x69424770, + 0x020bf361, 0x47706142, 0xf36f6940, 0x4770301f, 0xea420412, 0x68025101, 0x4183ea41, 0xf3610c09, + 0x60024215, 0xf8d04770, 0x29002120, 0x3280f422, 0xf502bf08, 0xf8c03280, 0x47702120, 0x9100b518, + 0x23004669, 0xb2dc4411, 0xbf284294, 0x43e4bd18, 0x5d0c3301, 0x4060f880, 0xf8d0e7f5, 0xf2401120, + 0x439112ff, 0x1120f8c0, 0x68024770, 0x0107f001, 0x4260f422, 0x3141ea42, 0x47706001, 0x49016800, + 0x47704008, 0x003fe000, 0x0b496802, 0x3255f361, 0x47706002, 0x45f8e92d, 0xa008f8d1, 0xf946f000, + 0x8000f8d4, 0xea4f68b9, 0x074a205a, 0xf8d4d003, 0x04922120, 0xf04fd402, 0xe0180a00, 0x1241f3c1, + 0x234ef3c1, 0xe014f8d4, 0x6140f3c1, 0xfc02fa03, 0x73fef641, 0x034eea03, 0xf101fa23, 0xebbc00cb, + 0xfa230fc1, 0xbf28f202, 0xea5f1a80, 0x68a19a3f, 0x0f00f1ba, 0x0109f021, 0x682160a1, 0x4100f041, + 0x68216021, 0x7140f441, 0x88796021, 0x2118f8d4, 0x320df361, 0x2118f8c4, 0x22e0f44f, 0xea0268b9, + 0xf8d44101, 0xf4222118, 0xd0052270, 0xf5014411, 0xf8c43180, 0xe0051118, 0x0001ea42, 0x0118f8c4, + 0x0a4068b8, 0x1118f8d4, 0x72fff640, 0x4391b2c0, 0xf8c44408, 0x7af80118, 0xf3606821, 0x6021314f, + 0x71fff64f, 0x0130f8d4, 0x407ff000, 0x0130f8c4, 0x43886860, 0x60604428, 0xf8baf000, 0xf8a4bf14, + 0xf8840060, 0x68b80060, 0x0207f010, 0x6879d00a, 0xf7ff4620, 0xf1baff53, 0xbf1c0f00, 0x012cf8d4, + 0x0060f884, 0x21ff68a0, 0x0001f040, 0x0008f020, 0x463060a0, 0xf894e005, 0x36013060, 0xf8004615, + 0xf0003b01, 0xbf18f8b9, 0xd1f42b00, 0x2903b2e9, 0x6e21d908, 0xc0023d04, 0xf894e7f8, 0x3d011060, + 0x1b01f800, 0xd1f80629, 0xb1354d07, 0x3d014620, 0xfe5cf7ff, 0xd1f82800, 0xf04fe001, 0xf00035ff, + 0xe8bdf88b, 0xbf0085f8, 0x00989680, 0x41f0e92d, 0xf88cf000, 0x8000f8d4, 0xf02068a0, 0x60a00009, + 0xf0406820, 0x60204000, 0xf4206820, 0x60207040, 0xf8d48878, 0xf3601118, 0xf8c4310d, 0x68b81118, + 0x1118f8d4, 0x0007f000, 0x2170f421, 0x4000ea41, 0x0118f8c4, 0x0130f8d4, 0x407ff000, 0xf8c44428, + 0xf0000130, 0xbf14f845, 0x0060f8a4, 0x0060f884, 0x68217af8, 0x314ff360, 0x68b86021, 0x0207f010, + 0x6879d003, 0xf7ff4620, 0x21fffed9, 0xe0054630, 0x3b01f810, 0x46153601, 0x3060f884, 0xf84cf000, + 0x2b00bf18, 0xb2e9d1f4, 0xd9082903, 0x3d04c802, 0xe7f86621, 0x1b01f810, 0xf8843d01, 0x06291060, + 0x68a0d1f8, 0xf0404d09, 0xf0200001, 0x60a00008, 0x4620b135, 0xf7ff3d01, 0x2800fde9, 0xe001d1f8, + 0x35fff04f, 0xf818f000, 0x81f0e8bd, 0x00989680, 0xed08f84d, 0xf3c068b8, 0xf3c001c1, 0xf3c01241, + 0x462013c1, 0xfe84f7ff, 0x88388879, 0x0103f001, 0xf85d2901, 0x4770eb08, 0xea4f6821, 0x2d003058, + 0x3155f360, 0x900fea5f, 0x47706021, 0x4616461d, 0x4604460f, 0xbbc0f7ff, 0xf285fa51, 0x4293b2d3, + 0x930fea5f, 0x477007b7, 0x6a014807, 0x0140f041, 0xf8d06201, 0xf4411150, 0xf8c07180, 0x68011150, + 0x3180f441, 0x47706001, 0x40000210, 0x0ffaf5b0, 0xb148d815, 0x2b7c08c3, 0x2300d80a, 0xf04f7013, + 0xeb0232ff, 0xe0091240, 0x70132300, 0xe0052201, 0x7013230f, 0x32fff04f, 0x12d0eb02, 0xf5b0800a, + 0xea5f0ffa, 0x4770908f, 0x4b0ab570, 0x2581261e, 0x0141ea06, 0x681c2801, 0x2001bf98, 0x1146f362, + 0x6514ea05, 0x027ff404, 0xea424429, 0x44086101, 0xbd706018, 0x40006000, 0x490bb510, 0x045af06f, + 0xfb042802, 0x680af000, 0x437ff002, 0xf043bf18, 0xbf084300, 0xb2920c10, 0xea43b2c0, 0x44104000, + 0x7080f040, 0xbd106008, 0x40006000, 0xf7ff2000, 0x2002bfe3, 0xbfe0f7ff, 0x4e0bb570, 0x0508f100, + 0x21014604, 0x447e4628, 0x462047b0, 0xfd78f001, 0x20024601, 0x0101f360, 0x47b04620, 0x21024628, + 0xe8bd4632, 0x47104070, 0x00001adb, 0xbfdef7ff, 0x20014770, 0xf04f4770, 0x43410114, 0xfbb12003, + 0x2801f0f0, 0x1e80d902, 0xd2fd1e40, 0xbf004770, 0x0114f04f, 0x727af44f, 0x43414351, 0xfbb12003, + 0x2801f0f0, 0x1e80d902, 0xd2fd1e40, 0xbf004770, 0x4811b5f0, 0x4a122100, 0x1000f829, 0x4448490f, + 0x2001f849, 0x4a10490f, 0x4c114b10, 0x4e124d11, 0x44794f12, 0x447b447a, 0x447d447c, 0x447f447e, + 0x490f468c, 0x6503e9c0, 0x4305e9c0, 0x2c07e9c0, 0xe9c04479, 0xbdf01701, 0x00000018, 0x00000008, + 0x40080000, 0x00000307, 0x00000291, 0x00000243, 0x000001cd, 0x000001c7, 0x00000131, 0x00000093, + 0x00000031, 0x4604b5b0, 0xf001480f, 0xbf04faea, 0xbdb02001, 0xf001480d, 0x4620fa9f, 0xfecaf000, + 0xf001480b, 0x7a41fabf, 0xf001b161, 0x4620fa9b, 0x22002100, 0xfea2f000, 0x21004620, 0x40b0e8bd, + 0xbe72f000, 0xbdb02009, 0x00000018, 0x00000008, 0x0000003c, 0x41f0e92d, 0x48224604, 0xfaacf001, + 0x2002bf5c, 0x81f0e8bd, 0xf001481f, 0x481ffa75, 0xf04f2135, 0x44480c01, 0x0001fb14, 0xf8a02100, + 0x7dc11031, 0x71027ac2, 0xf04fb129, 0x27040808, 0x220123e8, 0x7d81e006, 0xf04fb301, 0x27020810, + 0x220023e4, 0xf02658ee, 0x440e06ff, 0x70c150ee, 0xc02ff880, 0x202ef880, 0x23012100, 0x0120f8d5, + 0xf0014338, 0x4620fa65, 0x46422100, 0xfe56f000, 0x21004620, 0x41f0e8bd, 0xbe26f000, 0xe8bd2009, + 0xbf0081f0, 0x00000018, 0x00000008, 0x0000003c, 0x4604b5f8, 0xf0014820, 0xbf5cfa5f, 0xbdf82002, + 0xf001481e, 0x4620fa29, 0xfe70f000, 0x2135481c, 0x0c02f04f, 0xfb144448, 0x7e810001, 0x220cb129, + 0x0e10f04f, 0x260223f0, 0x7e41e006, 0x2210b309, 0x0e08f04f, 0x260023ec, 0xf02758ef, 0x440f07ff, + 0x70c150ef, 0xc02ff880, 0x602ef880, 0xf8d52100, 0xea400120, 0xf001000e, 0x4628fa37, 0x46322100, + 0xf7ff2302, 0x4620fcd5, 0xe8bd2100, 0xf00040f8, 0x2009bddb, 0xbf00bdf8, 0x00000018, 0x00000008, + 0x0000003c, 0x4770201b, 0x4604b5b0, 0xf0014818, 0xbf04fa28, 0xbdb02001, 0xf0014816, 0x4620f9dd, + 0xfe08f000, 0xf0014814, 0x7a81f9fd, 0xf8d5b1f1, 0xf64f20e0, 0x439a73ff, 0xf8c5440a, 0x220020e0, + 0x210070c1, 0x221085c2, 0x0120f8d5, 0x0001f040, 0xf9faf001, 0x21004628, 0x23002200, 0xfc98f7ff, + 0x21004620, 0x40b0e8bd, 0xbd9ef000, 0xbdb02009, 0x00000018, 0x00000008, 0x0000003c, 0x4604b5b0, + 0xf001480e, 0xbf04f9ee, 0xbdb02001, 0xf001480c, 0x4620f9a3, 0xfdcef000, 0xf001480a, 0x7d41f9c3, + 0xf001b149, 0xf001f99f, 0x4620f9d7, 0xe8bd2103, 0xf00040b0, 0x2009bd79, 0xbf00bdb0, 0x00000018, + 0x00000008, 0x0000003c, 0x4604b5b0, 0xf0014818, 0xbf5cf9b3, 0xbdb02002, 0xf0014816, 0x4816f97d, + 0xf9a0f001, 0xf8a02100, 0x7e011031, 0x71027ac2, 0xf8d5b1d9, 0x230120e8, 0x02fff022, 0xf8c5440a, + 0xf24020e8, 0x70c11201, 0x85c22100, 0xf8d52201, 0xf0400120, 0xf0010004, 0xf001f97b, 0x4620f99d, + 0xe8bd2103, 0xf00040b0, 0x2009bd3f, 0xbf00bdb0, 0x00000018, 0x00000008, 0x0000003c, 0x4604b5b0, + 0xf0014818, 0xbf5cf979, 0xbdb02002, 0xf0014816, 0x4620f943, 0xfd8af000, 0xf0014814, 0x7f41f963, + 0xf8d5b1f1, 0x230220f0, 0x02fff022, 0xf8c5440a, 0xf24020f0, 0x70c12202, 0x85c22100, 0xf8d52202, + 0xf0400120, 0xf0010010, 0x4620f943, 0x22112100, 0xfd34f000, 0x21034620, 0x40b0e8bd, 0xbd04f000, + 0xbdb02009, 0x00000018, 0x00000008, 0x0000003c, 0x47702015, 0x444a4a03, 0x78424410, 0x70414311, + 0xbf004770, 0x00000018, 0x44494902, 0x78404408, 0xbf004770, 0x00000018, 0x44494902, 0x21004408, + 0x47707041, 0x00000018, 0xb912b510, 0x200cb10b, 0x4c08bd10, 0xf854444c, 0x46204020, 0xfc0af7ff, + 0x4620b120, 0xfb51f7ff, 0xbd10201b, 0x8010f3ef, 0xe7feb672, 0x00000008, 0xb912b510, 0x200cb10b, + 0x4c08bd10, 0xf854444c, 0x46204020, 0xfcaef7ff, 0x4620b120, 0xfb39f7ff, 0xbd10201b, 0x8010f3ef, + 0xe7feb672, 0x00000008, 0x460cb51f, 0x22352100, 0xf88d2301, 0xe9cd100f, 0x490b1101, 0xfb104449, + 0xf10d1102, 0x79c9020f, 0x1000f8ad, 0xf8ad2101, 0x46691002, 0xffb8f7ff, 0x100ff89d, 0x0101f001, + 0xb0047021, 0xbf00bd10, 0x0000003c, 0x4dffe92d, 0x2235491e, 0x0800f04f, 0x0a04f10d, 0x0603f10d, + 0x8802e9cd, 0xf8514449, 0x21014020, 0x1006f8ad, 0x44494917, 0x1002fb10, 0x79c04916, 0x0004f8ad, + 0x2501468b, 0x0704f06f, 0x07e8b17f, 0x4620d00d, 0x46324651, 0xf88d2301, 0xf7ff8003, 0xf89dfb9b, + 0x37010003, 0x0501f000, 0x4620e7ee, 0xfaddf7ff, 0xf1bb4659, 0xea5f0105, 0x4205900f, 0x200dd1e0, + 0xbf182900, 0xb004201b, 0x8df0e8bd, 0x00000008, 0x0000003c, 0x00989680, 0x490bb510, 0xf8514449, + 0x21004020, 0xf7ff4620, 0x4620fa8d, 0xfaa5f7ff, 0x210f4620, 0xf7ff2201, 0x4620faa3, 0xe8bd2101, + 0xf7ff4010, 0xbf00bb1c, 0x00000008, 0x45f0e92d, 0x4e27b085, 0xeb094604, 0x44200006, 0x07407840, + 0x2003d401, 0x4620e040, 0xf000460d, 0xf1b0f845, 0xd9387f80, 0xa07cf8df, 0x27352000, 0xf04f2112, + 0xe9cd0801, 0x2d000003, 0x800af8ad, 0x000aeb09, 0x9111ea51, 0x23002200, 0x0007fb14, 0x7d404408, + 0x0008f8ad, 0xf001a902, 0x281bf84c, 0xeb09d11c, 0xfb14000a, 0xf8550507, 0x7a400f29, 0xfa08a901, + 0x4620f200, 0xf82ef000, 0xd10d281b, 0x99016828, 0xfa217a40, 0x07c0f000, 0x2017bf0f, 0xf8092001, + 0x201b0006, 0x200be000, 0xe8bdb005, 0xbf0085f0, 0x00000018, 0x0000003c, 0x44494908, 0x78494401, + 0xbf5c0749, 0x47702000, 0x22354905, 0xfb104449, 0xf8d01002, 0x68000029, 0xbf004770, 0x00000018, + 0x0000003c, 0x4df0e92d, 0x4614b088, 0x4606468a, 0x7f80f5b2, 0x4837d307, 0x44304448, 0x07807840, + 0x2002d401, 0x4834e063, 0x44482135, 0x0101fb16, 0xf89179c8, 0xf88d2024, 0x4610001c, 0x7f8ab90a, + 0xf88d7fc8, 0xf891001e, 0xf04f0020, 0x92020800, 0x201df88d, 0xe9cd9103, 0xf88d8805, 0x2001001f, + 0x0012f8ad, 0x407ff44f, 0x2014ea00, 0xfa5f9001, 0x2803f088, 0x00c1d838, 0xf101fa24, 0xfb81fa5f, + 0x0f00f1bb, 0x2801d02d, 0x9903d10f, 0x1024f891, 0x9901b159, 0x0802f04f, 0x0b01ea4b, 0xf1bb2101, + 0xea510fff, 0x99029791, 0xa907e003, 0xb1e95c09, 0xeb0a2701, 0xf8ad0500, 0x46301010, 0x463ba904, + 0xf7ff462a, 0x281bfe81, 0x00f8d111, 0x42882100, 0x782bd007, 0xf201fa2b, 0x401a3108, 0x2b01f805, + 0xf108e7f5, 0xe7c20801, 0xe000201b, 0xb0082004, 0x8df0e8bd, 0x00000018, 0x0000003c, 0x4c15b5b0, + 0xf0206820, 0x60200020, 0x4d132001, 0x47a8447d, 0xf4206820, 0xf0007080, 0x6820ff8c, 0x0080f020, + 0x68206020, 0x0040f040, 0xff83f000, 0x21066820, 0x0010f020, 0x68206020, 0x0003f361, 0xff79f000, + 0xf4406820, 0xf0007080, 0x6820ff74, 0x0020f040, 0xbdb06020, 0x4000020c, 0xfffff8a7, 0x4604b570, + 0x4448483e, 0x5024f850, 0xfc42f7ff, 0xffc6f7ff, 0xf7fe4628, 0xb114ff63, 0x21004628, 0x2002e00c, + 0xf8b4f001, 0x483605c0, 0x2100d405, 0xf820f7ff, 0xf804f7ff, 0x2101e002, 0xf81af7ff, 0x21354831, + 0xfb144448, 0x46280501, 0xfab1f001, 0xf7ff4620, 0x2060fea3, 0x21004e2d, 0x482b73a8, 0x0006f8c5, + 0x0006eb09, 0x70414420, 0x2075f647, 0x0025f8a5, 0x76e82032, 0x306bf64e, 0x0019f8a5, 0x303bf64b, + 0xf64982e8, 0xf8a51066, 0x48210013, 0x000ff8c5, 0xf8c54820, 0xf241000a, 0xf8a51031, 0xf2410021, + 0x83e85035, 0xf0004620, 0x4620f837, 0xf864f000, 0xf0004620, 0xb1f0f899, 0x0001f8a5, 0x70280c00, + 0x0006eb09, 0x78414420, 0x0101f041, 0x46207041, 0xf8b4f000, 0xf0004620, 0x4620f905, 0xf7ff2101, + 0x2817fe75, 0x2017bf04, 0x4620bd70, 0xe8bd2100, 0xf0004070, 0x2004b933, 0xbf00bd70, 0x00000008, + 0x40080000, 0x0000003c, 0x0301059f, 0x00000018, 0xabb95006, 0xd820020b, 0xb086b570, 0x20004604, + 0x2135460d, 0xf8cd2303, 0x90040013, 0x0002e9cd, 0xf8ad2001, 0x480f0006, 0xfb144448, 0x7cb00601, + 0x0004f8ad, 0xaa04a901, 0xfebbf000, 0xd10e281b, 0xf7ff200a, 0xb14dfb80, 0x22001db0, 0x7ac02300, + 0x0004f8ad, 0xf000a901, 0xe000feac, 0xb006201b, 0xbf00bd70, 0x0000003c, 0x4604b5bf, 0xf10d2000, + 0xe9cd0103, 0xf88d0002, 0x46200003, 0xfd9cf7ff, 0x21352001, 0x23002200, 0x0006f8ad, 0x44484811, + 0x0501fb14, 0xf8ad7ce8, 0xa9010004, 0xfe89f000, 0xd115281b, 0x22001da8, 0x7b802300, 0x0004f8ad, + 0xf000a901, 0x281bfe7e, 0xf89dd10a, 0xb1180003, 0xf7ff2064, 0xe002fb4d, 0xf7ff203c, 0x201bfb3c, + 0xbdb0b004, 0x0000003c, 0x2101b51f, 0x24002235, 0xf8ad2303, 0x49101002, 0x400ef88d, 0x400cf8ad, + 0x4401e9cd, 0xfb104449, 0x79891102, 0x1000f8ad, 0xaa034669, 0xfd28f7ff, 0xd109281b, 0x100df89d, + 0x000cf89d, 0x200ef89d, 0xea410209, 0x18844000, 0xb0044620, 0xbf00bd10, 0x0000003c, 0x4d27b5b0, + 0xeb094604, 0x44200005, 0x07c17840, 0x2005bf04, 0x0781bdb0, 0x4a22d43f, 0x43612135, 0x5c51444a, + 0xd029290b, 0xd01b2920, 0xd021295e, 0xd01b2968, 0xd0092985, 0xd00f29ef, 0xd00929c8, 0xd12429c2, + 0xf0004620, 0xe01afe33, 0xf0004620, 0xe016fed7, 0xf0004620, 0xe012fe59, 0xf0004620, 0xe00efe89, + 0xf0004620, 0xe00afead, 0xf0004620, 0xe006fef9, 0xf0004620, 0xe002fee1, 0xf0004620, 0x281bfee7, + 0xeb09d10a, 0x44200005, 0xeb097840, 0xf0400105, 0x44210002, 0x201b7048, 0xbf00bdb0, 0x00000018, + 0x0000003c, 0x4919b5f0, 0x0201eb09, 0x78524402, 0xbf0407d3, 0xbdf02001, 0xd8242a03, 0x23354d14, + 0xf403fb00, 0xfb10444d, 0x5d2c5c03, 0x5001f8bc, 0x4f114e10, 0x447e447f, 0x3601783f, 0xf816b14f, + 0x429c3c01, 0x8833d102, 0xd004429d, 0x3f013614, 0x2003e7f4, 0x4449bdf0, 0x44081cb3, 0x0104f042, + 0x3029f8cc, 0x201b7041, 0xbf00bdf0, 0x00000018, 0x0000003c, 0x00001326, 0x00001558, 0x41f0e92d, + 0x48194606, 0x44484688, 0x5026f850, 0xf7ff4630, 0x4607fd83, 0x21004815, 0x4000f819, 0xf7fe4628, + 0x4813ffad, 0x44482135, 0x0001fb16, 0x0033f8b0, 0x1107f3c0, 0xf7ff4628, 0x2003f829, 0xea502c00, + 0xf1b79100, 0xea517f80, 0x46288180, 0xfffff7fe, 0x46414630, 0xf9c8f000, 0x46284604, 0xffb5f7fe, + 0xe8bd4620, 0xbf0081f0, 0x00000008, 0x00000018, 0x0000003c, 0x460cb5b0, 0x44494906, 0x5020f851, + 0x46282100, 0xff7af7fe, 0x46214628, 0xf81bf7ff, 0xbdb0201b, 0x00000008, 0x2200b5f8, 0x2202e9cd, + 0x29012201, 0x2006f8ad, 0x4909d004, 0xfd4ff000, 0xb9197c09, 0xf0004906, 0x7bc9fd4a, 0x1004f8ad, + 0x2200a901, 0xf7ff2300, 0xb004fc37, 0xbf00bd80, 0x0000003c, 0x4df0e92d, 0x2500b08a, 0x46934688, + 0x6f12ebb5, 0x910fea5f, 0x0f7ff412, 0x1027f88d, 0x910fea5f, 0x4f7ff412, 0x1026f88d, 0x910fea5f, + 0x0ffff012, 0x1025f88d, 0x910fea5f, 0x7f80f5b2, 0x1024f88d, 0x495ed30a, 0x44014449, 0x07897849, + 0x2002d404, 0xb00ab2c0, 0x8df0e8bd, 0x22354959, 0x95069002, 0x5504e9cd, 0x0a01f04f, 0xfb104449, + 0xf8911102, 0xf891c008, 0x8c49e021, 0xc020f88d, 0xe021f88d, 0x1022f8ad, 0xab09af08, 0xd00c1ce9, + 0x78e1197c, 0x195ab139, 0xb12678d6, 0x42a178a4, 0xf882bf08, 0x3d01a002, 0xf89de7f0, 0xea8e2025, + 0xf89d000c, 0x43101024, 0x46100600, 0x2001bf08, 0xea502900, 0xf04f8012, 0x21ff32ff, 0x0025f88d, + 0x2000ae09, 0x28204633, 0xf813d008, 0xfa015b01, 0x2d00f400, 0x43a2bf08, 0xe7f43008, 0x9802a907, + 0xfcc0f7ff, 0xea0b9907, 0x1c750008, 0x0801f107, 0x010bea21, 0x0c00eb01, 0x21002000, 0xfa81fa5f, + 0x01caea4f, 0x0f03f1ba, 0xf816d89c, 0xb91a200a, 0xf10a3108, 0xe7f50a01, 0xf001fa2c, 0x0b01f04f, + 0xf8cd4651, 0xb2c0c004, 0x00ca9003, 0xd2152903, 0xf8175c6c, 0xb19c300a, 0x4001f818, 0x32083101, + 0xd1f3429c, 0xf38bfa5f, 0xf202fa2c, 0x0b01f10b, 0x00dbb2d2, 0x4310409a, 0xe7e69003, 0x300af817, + 0x0012f8bd, 0x21009c02, 0x3010f8ad, 0x0001f040, 0x0002f020, 0x0012f8ad, 0xf7ff4620, 0x281bff1d, + 0xaf60f47f, 0xfa5fa904, 0x4620f38b, 0xf7ffaa03, 0x281bfb63, 0xaf56f47f, 0xf7ff4620, 0x281bfb97, + 0xaf50f47f, 0xc004f8dd, 0x010aeb0b, 0xe7a5201b, 0x00000018, 0x0000003c, 0x444a4a09, 0x78524402, + 0xbf5c0752, 0x47702003, 0x23354a06, 0xfb10444a, 0x23012203, 0x2029f8d2, 0xf0007912, 0xbf00bc3e, + 0x00000018, 0x0000003c, 0x460cb5b0, 0x22354911, 0x44492c00, 0x1102fb10, 0x490f714c, 0xf8514449, + 0xea5f5020, 0x6828910f, 0x304ff364, 0x46286028, 0xfddaf7fe, 0xf8d5b158, 0x2c000120, 0x3000f420, + 0xf500bf18, 0xf8c53000, 0x201b0120, 0x201abdb0, 0xbf00bdb0, 0x0000003c, 0x00000008, 0x4611b580, + 0x23354a0a, 0xfb10444a, 0xf8b22203, 0xf0033033, 0xea43030f, 0xf8a21301, 0x4a053033, 0xf852444a, + 0xf7fe0020, 0x201bfea3, 0xbf00bd80, 0x0000003c, 0x00000008, 0x2235490b, 0xfb104449, 0x7ad11202, + 0x2300b179, 0xf8a27111, 0x4a073031, 0x73fff64f, 0xf852444a, 0xf8d00020, 0x439a20f4, 0xf8c04411, + 0x477010f4, 0x0000003c, 0x00000008, 0x4914b5f0, 0x23354a14, 0x444a4449, 0x1020f851, 0x2003fb10, + 0x7f022302, 0xf44fb12a, 0xf44f7480, 0x26027582, 0x7ec2e005, 0x2480b192, 0x7580f44f, 0x594f2600, + 0x07fff027, 0x514f4417, 0x3032f880, 0x6031f880, 0xf8d17102, 0x43200120, 0x0120f8c1, 0xbf00bdf0, + 0x00000008, 0x0000003c, 0x4604b5b0, 0x460d480c, 0xeb004448, 0x68410081, 0x47884620, 0xd10d281b, + 0xf0004620, 0x2d07f80f, 0x2d02bf18, 0x4620d105, 0xe8bd2101, 0xf7ff40b0, 0x201bbf3f, 0xbf00bdb0, + 0x00000018, 0x4915b580, 0xfb91f000, 0x202ff891, 0x3032f891, 0xbf3c429a, 0xbd802000, 0x444b4b0e, + 0x0020f853, 0xf891b19a, 0xf8b1202e, 0xf6411033, 0x090973fe, 0x69424091, 0x0242ea03, 0xf3c36803, + 0x40da3380, 0x0fc2ebb1, 0x913fea5f, 0x2100e000, 0xfd8af7fe, 0xbd80201b, 0x00000008, 0x0000003c, + 0x23354a07, 0xfb10444a, 0xf8922203, 0xf892002f, 0x42902032, 0x2000bf32, 0x201b7008, 0xbf004770, + 0x0000003c, 0x460cb5bc, 0x44494912, 0x78494401, 0xbf5c0749, 0xbdbc2003, 0xf000490f, 0xf8d1fb48, + 0x79c91029, 0xd01029ff, 0x92012200, 0xfa022201, 0xa901f501, 0xf7ff462a, 0x281bfb35, 0x9901d104, + 0xea5f4229, 0x7021910f, 0x2001bdbc, 0x201b7020, 0xbf00bdbc, 0x00000018, 0x0000003c, 0x444a4a0a, + 0x78524402, 0xbf5c0752, 0x47702003, 0x23354a07, 0xfb10444a, 0xf8d22203, 0x79d22029, 0xbf042aff, + 0x4770201b, 0xe3082301, 0x00000018, 0x0000003c, 0x444a4a0a, 0x78524402, 0xbf5c0752, 0x47702003, + 0x23354a07, 0xfb10444a, 0xf8d22203, 0x7a922029, 0xbf042aff, 0x4770201b, 0xe2ee2301, 0x00000018, + 0x0000003c, 0x444a4a0a, 0x78524402, 0xbf5c0752, 0x47702003, 0x23354a07, 0xfb10444a, 0xf8d22203, + 0x7a122029, 0xbf042aff, 0x4770201b, 0xe2d42301, 0x00000018, 0x0000003c, 0x460cb5bc, 0x4449490f, + 0x78494401, 0xbf3c2904, 0xbdbc2003, 0x22352100, 0x490b9101, 0xfb104449, 0xf8551502, 0x7b091f29, + 0xa901008a, 0xfabef7ff, 0xd105281b, 0x9a016829, 0xea017b09, 0x70210192, 0xbf00bdbc, 0x00000018, + 0x0000003c, 0x444a4a09, 0x78524402, 0xbf3c2a04, 0x47702003, 0x23354a06, 0xfb10444a, 0xf8d02003, + 0x7ac00029, 0x201b7008, 0xbf004770, 0x00000018, 0x0000003c, 0x4604b570, 0x44484810, 0x78404420, + 0xbf3c2804, 0xbd702003, 0x460d480d, 0xfa8af000, 0x0029f8d0, 0x42a97ac1, 0x200cd201, 0x7b06e00d, + 0x21004620, 0xfd28f7ff, 0xd106281b, 0x00a900b2, 0xe8bd4620, 0xf7ff4070, 0xbd70bd3d, 0x00000018, + 0x0000003c, 0x407ef000, 0x5f08f1b0, 0x2001bf04, 0xf1b04770, 0xbf044fe0, 0x47702000, 0xf1b02102, + 0xea514fc0, 0x47709001, 0xd0082802, 0xd0032801, 0xf041b938, 0xe00441e0, 0x5108f041, 0xf041e001, + 0x460841c0, 0xbf004770, 0xbf842802, 0x4770200c, 0x460cb5b0, 0x46056809, 0xffe6f7ff, 0xf851a103, + 0x40081025, 0x201b6020, 0xbf00bdb0, 0x8fffffff, 0xddffffff, 0x9fffffff, 0xbf004770, 0x4dffe92d, + 0xb1519003, 0x468b4614, 0xffbcf7ff, 0xf7ff4606, 0x2e03fa13, 0x200fd103, 0x200ce011, 0x4607e00f, + 0x4630a903, 0xffd0f7ff, 0xd108281b, 0xa00cf8dd, 0xd20345ba, 0x0004eb0a, 0xd90342b8, 0xb0042010, + 0x8df0e8bd, 0x21352001, 0x46e82500, 0x0002f8ad, 0x95014824, 0xfb164448, 0x78c10001, 0x202ef890, + 0x302df890, 0xc005f890, 0x1000f8ad, 0xea012160, 0xf8901142, 0xf8b0202f, 0xf3630033, 0xf00201c4, + 0xea410203, 0x4a1811c2, 0x1040ea02, 0x44082203, 0x0107f00c, 0x6001ea40, 0xf8194914, 0x29001001, + 0x9102ea52, 0x7f80f1b7, 0x8182ea51, 0xf0814408, 0x9002070f, 0x0005eb0a, 0x0205eb0b, 0x900142bc, + 0x4630d909, 0x463b4641, 0xf8aef7ff, 0xd1b6281b, 0x443d1be4, 0xb2e3e7ee, 0x46304669, 0xf8a4f7ff, + 0xbf00e7ad, 0x0000003c, 0x001ffe00, 0x00000018, 0x45f8e92d, 0x68084680, 0x4616469a, 0xf7ff460c, + 0x4607ff41, 0xf998f7ff, 0x2f03b1ae, 0x200fbf04, 0x85f8e8bd, 0x46384605, 0xf7ff4621, 0x281bff55, + 0x6820d145, 0xd20242a8, 0x42a84450, 0xf3efd906, 0xb6728010, 0x200ce7fe, 0x85f8e8bd, 0x2135481d, + 0x44482203, 0x0001fb17, 0xf8a87901, 0xf8b81000, 0xf0411002, 0xf0210101, 0xf8a80102, 0x49161002, + 0x1001f819, 0xea522900, 0xf1b59102, 0xea517f80, 0xf8d88182, 0xf0222008, 0x44110207, 0x1008f8c8, + 0x2030f890, 0x01c4f362, 0x1008f8c8, 0x2031f890, 0x1146f362, 0x1008f8c8, 0x71c0f421, 0x0032f890, + 0x0003f000, 0x10c0ea41, 0x0008f8c8, 0xe8bd201b, 0xbf0085f8, 0x0000003c, 0x00000018, 0x460eb5f8, + 0x461c2101, 0x46074615, 0xfbf6f7ff, 0xbf18281b, 0x4638bdf8, 0x462a4631, 0xb0014623, 0x40f0e8bd, + 0xb83af7ff, 0x4dffe92d, 0x468a4614, 0xf7ff9003, 0x4606fec9, 0x46522000, 0x90024623, 0x0000e9cd, + 0xa9034668, 0xff74f7ff, 0xd127281b, 0xb00cf8dd, 0x46e82700, 0x9802b30c, 0x0207eb0a, 0x0007f000, + 0x000ff080, 0xea5042a0, 0xeb0b8534, 0x18290007, 0x40489001, 0x28ffb2c9, 0x1a6dbf88, 0x4630b2eb, + 0xf7ff4641, 0x281bffbb, 0x4630d107, 0xf83ef7ff, 0xd103281b, 0x442f1b64, 0x201be7dc, 0xe8bdb004, + 0xbf008df0, 0x4604b5f8, 0x46154608, 0xf7ff9100, 0x4607fe89, 0xf8e0f7ff, 0x481d4606, 0x2d022135, + 0xfb174448, 0xd0040001, 0xbf142d01, 0x300c300e, 0x300de000, 0x2f037800, 0x88608020, 0x0001f040, + 0x0002f020, 0xbf048060, 0xbdf8200f, 0x46384669, 0xfe8af7ff, 0xd116281b, 0x42b09800, 0x2d04d214, + 0x6060d010, 0x2103480b, 0x0000f819, 0xea512800, 0xf1b69001, 0xea507f80, 0x68a18081, 0x0107f021, + 0x60a04408, 0xbdf8201b, 0x8010f3ef, 0xe7feb672, 0x0000003c, 0x00000018, 0x460db57f, 0xf7ff4606, + 0x4604fe41, 0x46312000, 0x9003462a, 0x0001e9cd, 0xf7ffa801, 0x281bffa7, 0x201bd110, 0x060af06f, + 0x3601ad01, 0x4620d20a, 0x22004629, 0xf7ff2300, 0x281bff45, 0x4620d1f5, 0xffc8f7fe, 0xb004b2c0, + 0xbf00bd70, 0x460cb5bc, 0xf7ff9001, 0x2803fe1b, 0x200fbf04, 0x4605bdbc, 0x4448480e, 0x78404428, + 0xbf5c0740, 0xbdbc2003, 0x46214628, 0xfda4f7ff, 0xd10e281b, 0x4628a901, 0xfe26f7ff, 0xd108281b, + 0xb1287820, 0x21004628, 0x40bce8bd, 0xbdd2f7ff, 0xbdbc201b, 0x00000018, 0x4607b5f8, 0x46152000, + 0xf88d460e, 0x46380003, 0xfdecf7ff, 0xf10d4604, 0x46380103, 0xffc6f7ff, 0xd10d281b, 0x46314638, + 0xf7ff462a, 0x281bff0f, 0xf89dd106, 0x46201003, 0x40f8e8bd, 0xbdaef7ff, 0xb57cbdf8, 0x20004606, + 0xf88d460d, 0x46300007, 0xfdccf7ff, 0xf10d4604, 0x46300107, 0xffa6f7ff, 0xd10c281b, 0x46294630, + 0xff7af7ff, 0xd106281b, 0x1007f89d, 0xe8bd4620, 0xf7ff407c, 0xbd7cbd8f, 0xf8504448, 0x46285024, + 0xbafbf7fe, 0x20e0f8d5, 0x73fff64f, 0x2300439a, 0xf8c5440a, 0x220020e0, 0x210070c1, 0xf8d585c2, + 0xf0400120, 0xf8c50001, 0x46280120, 0xbac0f7fe, 0x0120f8c5, 0xf7fe4628, 0x4091babb, 0xf202fa03, + 0xbac8f7ff, 0x44482135, 0x0001fb14, 0x22354770, 0xfb104449, 0x47701102, 0x44204448, 0x07807840, + 0x46204770, 0xbee8f7fe, 0x0120f8c5, 0xf7ff4620, 0x6020bbd5, 0x47282001, 0x21004620, 0xf7ff220d, + 0x4448bbcd, 0x78404420, 0x477007c0, 0x2235490e, 0xfb104449, 0xf6421002, 0xf8b00216, 0xf0211001, + 0x42910101, 0x2005bf1c, 0x21004770, 0x83c12238, 0x74017481, 0x7702212b, 0x1020f880, 0xf8c04903, + 0x201b1021, 0xbf004770, 0x0000003c, 0x152f0101, 0x22354904, 0xfb104449, 0xf64e1002, 0xf8a011b7, + 0x47701027, 0x0000003c, 0x4b18b5b0, 0xeb092235, 0xfb100103, 0xf2441202, 0xf8b20117, 0x1a654001, + 0x2d02211b, 0xf244d320, 0x42ac0519, 0xf246d00b, 0x42ac3518, 0xf246d018, 0x428c3117, 0xf246d00c, + 0x428c0119, 0xeb09d10f, 0x23350103, 0x1003fb10, 0x11b7f64e, 0x1027f8a0, 0x211b2000, 0x200177d0, + 0x0021f8a2, 0x2105e000, 0xbdb04608, 0x0000003c, 0x4a12b510, 0xf0002335, 0xf248f894, 0x1a5c0116, + 0x2c03211b, 0xf244d317, 0x42a30418, 0xf247d013, 0x42a30419, 0xf246d00b, 0x42a30418, 0xf247bf1c, + 0x42a30418, 0xf244d007, 0x428b0119, 0xf000d102, 0xe000f86d, 0x46082105, 0xbf00bd10, 0x0000003c, + 0x2335490d, 0x0201eb09, 0x2203fb10, 0x0318f244, 0x2001f8b2, 0xd00d429a, 0x0319f244, 0xbf1c429a, + 0x47702005, 0x22354449, 0x1002fb10, 0x11b7f64e, 0x1027f8a0, 0x4770201b, 0x0000003c, 0x4a0db510, + 0xf2422335, 0xf0000418, 0x211bf84c, 0xd00f42a3, 0x0417f246, 0xd00b42a3, 0x0415f246, 0xd00742a3, + 0x0119f242, 0xd102428b, 0xf830f000, 0x2105e000, 0xbd104608, 0x0000003c, 0x46734903, 0xf81af000, + 0xbf38469e, 0x4770201b, 0x0000003c, 0x46734903, 0xf810f000, 0xbf38469e, 0x4770201b, 0x0000003c, + 0x46734903, 0xf806f000, 0xbf38469e, 0x4770201b, 0x0000003c, 0x44492235, 0x1002fb10, 0x0117f244, + 0x0001f8b0, 0x20051a41, 0x47702902, 0x0102eb09, 0xfb102235, 0xf64e1002, 0xf8a011b7, 0x211b1027, + 0xeb094770, 0xfb100102, 0xf8b11103, 0x47703001, 0x4909b510, 0x047ff06f, 0x003ff000, 0x680b680a, + 0x4413ea04, 0x0280f422, 0xeac34420, 0x60084000, 0x600a6808, 0xbd10b280, 0x40058f00, 0x4a0ab5b0, + 0x057ff06f, 0x003ff000, 0x68146813, 0x4414ea05, 0xea414420, 0x30404400, 0x4000ea41, 0x60106014, + 0x0080f423, 0xbdb06010, 0x40058f00, 0x305ff36f, 0x04404903, 0x68086008, 0x004ff3c0, 0xbf004770, + 0x40000048, 0x4a084907, 0x4140ea01, 0xf04f07c0, 0x60110009, 0x2001bf08, 0xfa216811, 0xb2c0f000, + 0xbf004770, 0x3ffc0000, 0x40000048, 0x305ff36f, 0x04404905, 0x6008680a, 0xf0226808, 0xf3c00201, + 0x600a004f, 0xbf004770, 0x40000048, 0x4a0a4909, 0x4140ea01, 0x07c06813, 0x0009f04f, 0xf0236011, + 0x68110301, 0xbf086013, 0xfa212001, 0xb2c0f000, 0xbf004770, 0x3ffc0000, 0x40000048, 0x305ff36f, + 0xea400440, 0x49030041, 0x60081c42, 0x6008600a, 0xbf004770, 0x40000048, 0xf641b5b0, 0x4b0d72fe, + 0x447ff44f, 0x04524002, 0x07c5601a, 0xea04681a, 0xf3c20452, 0xea420247, 0xbf082201, 0x49061862, + 0x4040ea01, 0x0042ea40, 0x60181c41, 0x60186019, 0xbf00bdb0, 0x40000048, 0x3ffc0000, 0x305ff36f, + 0xea400440, 0x49040041, 0xed08f84d, 0xf873f000, 0xeb08f85d, 0xbf004770, 0x40000048, 0x4605b5b0, + 0x0001f020, 0xf7ff460c, 0xf020ff91, 0xb2c001ff, 0xea4007ea, 0xbf082004, 0x49041908, 0x4145ea01, + 0x0040ea41, 0xf0004902, 0xbdb0f856, 0x3ffc0000, 0x40000048, 0x4603b510, 0x400a4c07, 0xf36f43c9, + 0x045b335f, 0x68236023, 0x0153ea01, 0xb2894411, 0x4010e8bd, 0xbf92f7ff, 0x40000048, 0xf000b570, + 0xf7fff835, 0x43a0ff4f, 0x46281981, 0x4070e8bd, 0xbf92f7ff, 0xf000b570, 0xf7fff829, 0x43a0ff57, + 0x46281981, 0x4070e8bd, 0xbfa8f7ff, 0xf000b570, 0xf7fff81d, 0x43a0ff5b, 0x46281981, 0x4070e8bd, + 0xbfacf7ff, 0x4a05b510, 0x68546813, 0x60506011, 0x60902001, 0x60546013, 0xbf00bd10, 0x400001f0, + 0x58404901, 0xbf004770, 0x40000100, 0x4605460c, 0x0601ea02, 0x680a4770, 0x60081c43, 0x6008600b, + 0x0001f022, 0x47706008, 0x2959b570, 0x4605d811, 0x44784812, 0x4011f830, 0x4620b15c, 0xf7ff4616, + 0x2e01ff15, 0xb95ed006, 0x40a92101, 0x0a014388, 0xbd70e00b, 0x40a92101, 0xb2814308, 0xe0040a09, + 0x2d0e0a01, 0xf3c0bf08, 0xb2c02106, 0x2101ea40, 0xe8bd4620, 0xf7ff4070, 0xbf00bf51, 0x00000600, + 0xd81e2859, 0x4a10b5b0, 0x25184b0e, 0xf503447a, 0x5c107398, 0x0228f1b0, 0xf240bf3c, 0xf2c42380, + 0xea500300, 0xea058232, 0x25ff00c0, 0x02fcf002, 0x4085589c, 0xf000fa01, 0x432043ac, 0xe8bd5098, + 0x477040b0, 0x40000280, 0x0000065a, 0xd8192859, 0x4479490e, 0x480c5c09, 0xd2012928, 0xe005460a, + 0xd80f2953, 0x7098f500, 0x0228f1a1, 0xf0022318, 0xea0302fc, 0x23ff01c1, 0xf101fa03, 0xea235883, + 0x50810101, 0xbf004770, 0x40000280, 0x00000614, 0x21004809, 0x2a092200, 0xf840d003, 0x32011022, + 0x2100e7f9, 0x2a0a2200, 0x4770bf08, 0x0382eb00, 0xf8c33201, 0xe7f61130, 0x40000280, 0x45f8e92d, + 0xd8222859, 0x4912460c, 0xf8314479, 0xb1e55010, 0xa808e9dd, 0xf88ff000, 0xf00721fe, 0xf0000201, + 0xf001f88f, 0xea42022d, 0xf0421286, 0xbf080280, 0x026df001, 0xea012102, 0xf368014a, 0xf0001104, + 0xe8bdf870, 0xf7ff45f8, 0xe8bdbec9, 0xbf0085f8, 0x000004ea, 0x4df0e92d, 0xd8282859, 0x4915460c, + 0xf8314479, 0xb3155010, 0x8028f8dd, 0xba08e9dd, 0xf861f000, 0xf00721fe, 0xf0080201, 0xf0000301, + 0xf001f85f, 0xea42020d, 0xf0421286, 0xbf080280, 0x024df001, 0xea012102, 0xf36a014b, 0xea411104, + 0xf0001143, 0xe8bdf83e, 0xf7ff4df0, 0xe8bdbe97, 0xbf008df0, 0x00000492, 0xd30c2803, 0x4601460a, + 0x00fef000, 0xd006280c, 0x0014f1a1, 0x2830b2c0, 0x294dd301, 0x2000d101, 0xb5804770, 0xf7ff2000, + 0x2001ff03, 0xb510bd80, 0x4601460a, 0x00fcf000, 0xd00e281c, 0x0029f1a1, 0x2806b2c0, 0xf1a1d309, + 0xb2c00037, 0xd3042804, 0x0046f1a1, 0x2805b2c0, 0x2001d805, 0xf7ff2401, 0x4620fee7, 0x2400bd10, + 0x4411e7fb, 0x0201f004, 0x1002ea40, 0x2001ea40, 0x4628b281, 0x46284770, 0x4617461e, 0xbdf6f7ff, + 0x2110ea01, 0xf0002e02, 0x441100ef, 0xf04f4770, 0x29040200, 0x8012f0c0, 0x0c03f010, 0x801bf000, + 0x0c04f1cc, 0x0f02f1bc, 0xf800bf18, 0xbfa82b01, 0x2b02f820, 0x010ceba1, 0xb80df000, 0x7cc1ea5f, + 0xf800bf24, 0xf8002b01, 0xbf482b01, 0x2b01f800, 0xf04f4770, 0xb5000200, 0x46944613, 0x39204696, + 0xe8a0bf22, 0xe8a0500c, 0xf1b1500c, 0xf4bf0120, 0x0709aff7, 0xe8a0bf28, 0xbf48500c, 0xf85dc00c, + 0x0089eb04, 0xf840bf28, 0xbf082b04, 0xbf484770, 0x2b02f820, 0x4f80f011, 0xf800bf18, 0x47702b01, + 0x002816c2, 0x06004000, 0xff0b1b1a, 0x0f07ffff, 0x00000118, 0x002817c2, 0x06008000, 0xff0b1b1a, + 0x0f08ffff, 0x00000118, 0x004017c8, 0x09008000, 0x0e050f0a, 0x070706ff, 0x00000064, 0x004018c8, + 0x09010000, 0x0e050f0a, 0x070706ff, 0x00000064, 0x004019c8, 0x09020000, 0xff060f0a, 0x0f0aff08, + 0x00000064, 0x006318c8, 0x09010000, 0x0e050f0a, 0x070706ff, 0x00000064, 0x006019c8, 0x09020000, + 0xff060f0a, 0x0f0aff0b, 0x00000064, 0x006317c8, 0x09008000, 0x0e050f0a, 0x070706ff, 0x00000064, + 0x004018ef, 0x09010000, 0x0e050f0f, 0x070706ff, 0x00000014, 0x007018ef, 0x09010000, 0x0e050f0f, + 0x070706ff, 0x00000014, 0x004019ef, 0x09020000, 0x0e060f0f, 0x0f0aff10, 0x00000014, 0x007019ef, + 0x09020000, 0x0e060f0f, 0x0f0aff10, 0x00000014, 0x008017ef, 0x09008000, 0x0e050f0f, 0x070706ff, + 0x00000014, 0x006018ef, 0x09010000, 0x0e050f0f, 0x070706ff, 0x00000014, 0x008018ef, 0x09010000, + 0x0e050f0f, 0x070706ff, 0x00000014, 0x008016ef, 0x09004000, 0x0e050f0f, 0x070706ff, 0x00000014, + 0x00401820, 0x09010000, 0x0e050f0f, 0x070706ff, 0x00000016, 0x00401920, 0x09020000, 0x0e060f0f, + 0x0f0aff10, 0x00000016, 0x00601785, 0x09008000, 0x0e050f0f, 0x070706ff, 0x00000014, 0x00201885, + 0x09010000, 0x0e050f0f, 0x070706ff, 0x00000014, 0x00201985, 0x09020000, 0x0e060f0f, 0x0f0aff10, + 0x0000001e, 0x00601585, 0x09002000, 0x0e050f0f, 0x070606ff, 0x00000014, 0x0040175e, 0x09008000, + 0x0e050f0f, 0x070706ff, 0x00000014, 0x0040185e, 0x09010000, 0x0e050f0a, 0x070706ff, 0x00000014, + 0x0040170b, 0x09008000, 0x0e050f0a, 0x070706ff, 0x00000258, 0x0040180b, 0x09010000, 0x0e050f0a, + 0x070706ff, 0x000001f4, 0x00401768, 0x09008000, 0x0e050f0f, 0x070706ff, 0x0000001e, 0x00401868, + 0x09010000, 0x0e050f0f, 0x070706ff, 0x00000014, 0x0c00001c, 0x09010744, 0x06040744, 0x03050744, + 0x00060744, 0x0c0c0744, 0x090d0746, 0x060e0746, 0x030f0746, 0x00100746, 0x0c140746, 0x09150748, + 0x07ec0748, 0x27ec17ec, 0x87ec37ec, 0xa7ec97ec, 0xc7ecb7ec, 0xe7ecd7ec, 0x07eef7ec, 0x27ee17ee, + 0x47ee37ee, 0x67ee57ee, 0x87ee77ee, 0xa7ee97ee, 0xc7eeb7ee, 0x07f0d7ee, 0x27f017f0, 0x47f037f0, + 0x67f057f0, 0x87f077f0, 0xa7f097f0, 0xc7f0b7f0, 0xe7f0d7f0, 0x97f287f2, 0xb7f2a7f2, 0xd7f2c7f2, + 0x07f2e7f2, 0x27f217f2, 0x47f237f2, 0x67f257f2, 0x17f407f4, 0x37f427f4, 0x57f447f4, 0x77f467f4, + 0x17f607f6, 0x37f627f6, 0x67f6c7f6, 0x87f477f6, 0xa7f497f4, 0xc7f4b7f4, 0xe7f4d7f4, 0x000007f8, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x15600000, 0x15641562, 0x15681566, + 0x156c156a, 0x1570156e, 0x15741572, 0x15781576, 0x157c157a, 0x1580157e, 0x15841582, 0x15881586, + 0x158c158a, 0x1590158e, 0x15941592, 0x15981596, 0x159c159a, 0x15a0159e, 0x15a415a2, 0x15a815a6, + 0x15ac15aa, 0x15b015ae, 0x15b615b4, 0x15ba15b8, 0x15be15bc, 0x15c215c0, 0x15c615c4, 0x15ca15c8, + 0x15ce15cc, 0x15d215d0, 0x15d615d4, 0x15da15d8, 0x161e161c, 0x16021600, 0x16061604, 0x160c1618, + 0x0000160e, 0x00000000, 0x00000000, 0x16200000, 0x1622161a, 0x16261624, 0x162a1628, 0x162e162c, + 0x16300000, 0x16341632, 0x01001636, 0x09080302, 0x0d0c0b0a, 0x11100f0e, 0x15141312, 0x19181716, + 0x07060504, 0x2b2a2928, 0x2f2e2d2c, 0x33323130, 0x38363534, 0x3c3b3a39, 0x41403e3d, 0x45444342, + 0x4a494846, 0x4e4d4c4b, 0x1e1d1c4f, 0x1b1a201f, 0x53525150, 0x00575554, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000064, 0x40080000, 0x40084000, 0x4008c000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, + 0x00000000 + ], + + # Relative function addresses + 'pc_init': 0x000b8005, + 'pc_unInit': 0x000b80a1, + 'pc_program_page': 0x000b80bd, + 'pc_erase_sector': 0x000b80b3, + 'pc_eraseAll': 0x000b80a5, + + 'static_base' : 0x000b8000 + 0x00000004 + 0x00002c84, + 'begin_stack' : 0x000bdd70, + 'end_stack' : 0x000bcd70, + 'begin_data' : 0x000b8000 + 0x1000, + 'page_size' : 0x1000, + 'analyzer_supported' : False, + 'analyzer_address' : 0x00000000, + # Enable double buffering + 'page_buffers' : [ + 0x000bad70, + 0x000bbd70 + ], + 'min_program_length' : 0x1000, + + # Relative region addresses and sizes + 'ro_start': 0x4, + 'ro_size': 0x2c84, + 'rw_start': 0x2c88, + 'rw_size': 0x18, + 'zi_start': 0x2ca0, + 'zi_size': 0xc8, + + # Flash information + 'flash_start': 0x70000000, + 'flash_size': 0x5000000, + 'sector_sizes': ( + (0x0, 0x1000), + ) +} + +# src/rtl8773g_pack/rtl8773g.py + +from ...coresight.coresight_target import CoreSightTarget +from ...core.memory_map import (FlashRegion, RamRegion, MemoryMap) + +class RTL8773G(CoreSightTarget): + + VENDOR = "Realtek Semiconductor" + + CORE_TYPE = "cortex_m55" + + MEMORY_MAP = MemoryMap( + FlashRegion( + start=0x70000000, + length=16 * 1024 * 1024, # 16M + blocksize=0x1000, + is_boot_memory=True, + algo=FLASH_ALGO + ), + # ITCM RAM + RamRegion( + start=0x000B8000, + length=128 * 1024 # 128k + ), + # DTCM RAM + RamRegion( + start=0x20020000, + length=160 * 1024, # 160k + is_default=True + ), + RamRegion( + start=0x20048000, + length=448 * 1024 # 448k + ) + ) + + def __init__(self, session): + super(RTL8773G, self).__init__(session, self.MEMORY_MAP) +