STM32_Prog_DB_0x415.xml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SCHVerif.xsd">
  3. <Device>
  4. <DeviceID>0x415</DeviceID>
  5. <Vendor>STMicroelectronics</Vendor>
  6. <Type>MCU</Type>
  7. <CPU>Cortex-M4</CPU>
  8. <Name>STM32L4x1/STM32L475xx/STM32L476xx/STM32L486xx</Name>
  9. <Series>STM32L4</Series>
  10. <Description>ARM 32-bit Cortex-M4 based device</Description>
  11. <Configurations>
  12. <!-- JTAG_SWD Interface -->
  13. <Interface name="JTAG_SWD">
  14. <!-- 1MB Dual Bank-->
  15. <Configuration number="0x0">
  16. <FlashSize>
  17. <ReadRegister address="0x1FFF75E0" mask="0x0000FFFF" value="0x0400"/>
  18. </FlashSize>
  19. </Configuration>
  20. <!-- 512KB Dual Bank-->
  21. <Configuration number="0x1"> <!-- DBANK=0x1-->
  22. <DualBank>
  23. <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/>
  24. </DualBank>
  25. <FlashSize>
  26. <ReadRegister address="0x1FFF75E0" mask="0x0000FFFF" value="0x0200"/>
  27. </FlashSize>
  28. </Configuration>
  29. <!-- 512KB Single Bank-->
  30. <Configuration number="0x2"> <!-- DBANK=0x0-->
  31. <DualBank>
  32. <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/>
  33. </DualBank>
  34. <FlashSize>
  35. <ReadRegister address="0x1FFF75E0" mask="0x0000FFFF" value="0x0200"/>
  36. </FlashSize>
  37. </Configuration>
  38. <!-- 256KB Dual Bank-->
  39. <Configuration number="0x3"> <!-- DBANK=0x1-->
  40. <DualBank>
  41. <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/>
  42. </DualBank>
  43. <FlashSize>
  44. <ReadRegister address="0x1FFF75E0" mask="0x0000FFFF" value="0x0100"/>
  45. </FlashSize>
  46. </Configuration>
  47. <!-- 256KB Single Bank-->
  48. <Configuration number="0x4"> <!-- DBANK=0x0-->
  49. <DualBank>
  50. <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/>
  51. </DualBank>
  52. <FlashSize>
  53. <ReadRegister address="0x1FFF75E0" mask="0x0000FFFF" value="0x0100"/>
  54. </FlashSize>
  55. </Configuration>
  56. </Interface>
  57. <!-- Bootloader Interface -->
  58. <Interface name="Bootloader">
  59. <!-- 1MB Dual Bank-->
  60. <!-- 512KB Dual Bank-->
  61. <Configuration number="0x5"> <!-- DBANK=0x1-->
  62. <DualBank>
  63. <ReadRegister address="0x1FFF7800" mask="0x200000" value="0x200000"/>
  64. </DualBank>
  65. </Configuration>
  66. <!-- 512KB Single Bank-->
  67. <Configuration number="0x6"> <!-- DBANK=0x0-->
  68. <DualBank>
  69. <ReadRegister address="0x1FFF7800" mask="0x200000" value="0x0"/>
  70. </DualBank>
  71. </Configuration>
  72. </Interface>
  73. </Configurations>
  74. <!-- Peripherals -->
  75. <Peripherals>
  76. <!-- Embedded SRAM -->
  77. <Peripheral>
  78. <Name>Embedded SRAM</Name>
  79. <Type>Storage</Type>
  80. <Description/>
  81. <ErasedValue>0x00</ErasedValue>
  82. <Access>RWE</Access>
  83. <!-- 96 KB -->
  84. <Configuration>
  85. <Parameters address="0x20000000" name="SRAM" size="0x18000"/>
  86. <Description/>
  87. <Organization>Single</Organization>
  88. <Bank name="Bank 1">
  89. <Field>
  90. <Parameters address="0x20000000" name="SRAM" occurence="0x1" size="0x18000"/>
  91. </Field>
  92. </Bank>
  93. </Configuration>
  94. </Peripheral>
  95. <!-- Embedded Flash -->
  96. <Peripheral>
  97. <Name>Embedded Flash</Name>
  98. <Type>Storage</Type>
  99. <Description>The Flash memory interface manages CPU AHB I-Code and D-Code accesses to the Flash memory. It implements the erase and program Flash memory operations and the read and write protection mechanisms</Description>
  100. <ErasedValue>0xFF</ErasedValue>
  101. <Access>RWE</Access>
  102. <FlashSize address="0x1FFF75E0" default="0x100000"/>
  103. <DBGMCU_CR address="0xE0042004" mask="0x007"/>
  104. <DBGMCU_APB1_FZ address="0xE0042008" mask="0x1800"/>
  105. <!-- 1MB dual Bank -->
  106. <Configuration config="0,5,6">
  107. <Parameters address="0x08000000" name=" 1 Mbyte Embedded Flash" size="0x100000"/>
  108. <Description/>
  109. <Organization>Dual</Organization>
  110. <Allignement>0x8</Allignement>
  111. <Bank name="Bank 1">
  112. <Field>
  113. <Parameters address="0x08000000" name="sector0" occurence="0x100" size="0x800"/>
  114. </Field>
  115. </Bank>
  116. <Bank name="Bank 2">
  117. <Field>
  118. <Parameters address="0x08080000" name="sector256" occurence="0x100" size="0x800"/>
  119. </Field>
  120. </Bank>
  121. </Configuration>
  122. <!-- 512KB dual Bank -->
  123. <Configuration config="1,5">
  124. <Parameters address="0x08000000" name=" 512 KBbyte Embedded Flash" size="0x80000"/>
  125. <Description/>
  126. <Organization>Dual</Organization>
  127. <Allignement>0x8</Allignement>
  128. <Bank name="Bank 1">
  129. <Field>
  130. <Parameters address="0x08000000" name="sector0" occurence="0x80" size="0x800"/>
  131. </Field>
  132. </Bank>
  133. <Bank name="Bank 2">
  134. <Field>
  135. <Parameters address="0x08040000 " name="sector128" occurence="0x80" size="0x800"/>
  136. </Field>
  137. </Bank>
  138. </Configuration>
  139. <!-- 512KB Single Bank -->
  140. <Configuration config="2,6">
  141. <Parameters address="0x08000000" name=" 512 KBbyte Embedded Flash" size="0x80000"/>
  142. <Description/>
  143. <Organization>Single</Organization>
  144. <Allignement>0x8</Allignement>
  145. <Bank name="Bank 1">
  146. <Field>
  147. <Parameters address="0x08000000" name="sector0" occurence="0x80" size="0x1000"/>
  148. </Field>
  149. </Bank>
  150. </Configuration>
  151. <!-- 256KB dual Bank -->
  152. <Configuration config="3,5">
  153. <Parameters address="0x08000000" name=" 256 KBbyte Embedded Flash" size="0x40000"/>
  154. <Description/>
  155. <Organization>Dual</Organization>
  156. <Allignement>0x8</Allignement>
  157. <Bank name="Bank 1">
  158. <Field>
  159. <Parameters address="0x08000000" name="sector0" occurence="0x40" size="0x800"/>
  160. </Field>
  161. </Bank>
  162. <Bank name="Bank 2">
  163. <Field>
  164. <Parameters address="0x08020000 " name="sector65" occurence="0x40" size="0x800"/>
  165. </Field>
  166. </Bank>
  167. </Configuration>
  168. <!-- 256KB Single Bank -->
  169. <Configuration config="4,6">
  170. <Parameters address="0x08000000" name=" 256 KBbyte Embedded Flash" size="0x40000"/>
  171. <Description/>
  172. <Organization>Single</Organization>
  173. <Allignement>0x8</Allignement>
  174. <Bank name="Bank 1">
  175. <Field>
  176. <Parameters address="0x08000000" name="sector0" occurence="0x80" size="0x800"/>
  177. </Field>
  178. </Bank>
  179. </Configuration>
  180. </Peripheral>
  181. <!-- OTP -->
  182. <Peripheral>
  183. <Name>OTP</Name>
  184. <Type>Storage</Type>
  185. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  186. <ErasedValue>0xFF</ErasedValue>
  187. <Access>RW</Access>
  188. <!-- 1 KBytes single bank -->
  189. <Configuration>
  190. <Parameters address="0x1FFF7000" name=" 1 KBytes Data OTP" size="0x400"/>
  191. <Description/>
  192. <Organization>Single</Organization>
  193. <Allignement>0x4</Allignement>
  194. <Bank name="OTP">
  195. <Field>
  196. <Parameters address="0x1FFF7000" name="OTP" occurence="0x1" size="0x400"/>
  197. </Field>
  198. </Bank>
  199. </Configuration>
  200. </Peripheral>
  201. <!-- Mirror Option Bytes -->
  202. <Peripheral>
  203. <Name>MirrorOptionBytes</Name>
  204. <Type>Storage</Type>
  205. <Description>Mirror Option Bytes contains the extra area.</Description>
  206. <ErasedValue>0xFF</ErasedValue>
  207. <Access>RW</Access>
  208. <!-- 64 Bytes Dual bank -->
  209. <Configuration>
  210. <Parameters address="0x1FFF7800" name=" 64 Bytes Data MirrorOptionBytes" size="0x40"/>
  211. <Description/>
  212. <Organization>Dual</Organization>
  213. <Allignement>0x4</Allignement>
  214. <Bank name="Bank 1">
  215. <Field>
  216. <Parameters address="0x1FFF7800" name="Bank1" occurence="0x1" size="0x28"/>
  217. </Field>
  218. </Bank>
  219. <Bank name="Bank 2">
  220. <Field>
  221. <Parameters address="0x1FFFF800" name="Bank2" occurence="0x1" size="0x28"/>
  222. </Field>
  223. </Bank>
  224. </Configuration>
  225. </Peripheral>
  226. <!-- Option Bytes -->
  227. <Peripheral>
  228. <Name>Option Bytes</Name>
  229. <Type>Configuration</Type>
  230. <Description/>
  231. <Access>RW</Access>
  232. <Bank interface="JTAG_SWD">
  233. <Parameters address="0x40022020" name="Bank 1" size="0x14"/>
  234. <Category>
  235. <Name>Read Out Protection</Name>
  236. <Field>
  237. <Parameters address="0x40022020" name="FLASH_OPTR" size="0x4"/>
  238. <AssignedBits>
  239. <Bit>
  240. <Name>RDP</Name>
  241. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  242. <BitOffset>0x0</BitOffset>
  243. <BitWidth>0x8</BitWidth>
  244. <Access>RW</Access>
  245. <Values>
  246. <Val value="0xAA">Level 0, no protection</Val>
  247. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  248. <Val value="0xCC">Level 2, chip protection</Val>
  249. </Values>
  250. </Bit>
  251. </AssignedBits>
  252. </Field>
  253. </Category>
  254. <Category>
  255. <Name>BOR Level</Name>
  256. <Field>
  257. <Parameters address="0x40022020" name="FLASH_OPTR" size="0x4"/>
  258. <AssignedBits>
  259. <Bit>
  260. <Name>BOR_LEV</Name>
  261. <Description>These bits contain the supply level threshold that activates/releases the reset. They can be written to program a new BOR level value into Flash memory</Description>
  262. <BitOffset>0x8</BitOffset>
  263. <BitWidth>0x3</BitWidth>
  264. <Access>RW</Access>
  265. <Values>
  266. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  267. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  268. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  269. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  270. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  271. </Values>
  272. </Bit>
  273. </AssignedBits>
  274. </Field>
  275. </Category>
  276. <Category>
  277. <Name>User Configuration</Name>
  278. <Field>
  279. <Parameters address="0x40022020" name="FLASH_OPTR" size="0x4"/>
  280. <AssignedBits>
  281. <Bit>
  282. <Name>nRST_STOP</Name>
  283. <Description/>
  284. <BitOffset>0xC</BitOffset>
  285. <BitWidth>0x1</BitWidth>
  286. <Access>RW</Access>
  287. <Values>
  288. <Val value="0x0">Reset generated when entering Stop mode</Val>
  289. <Val value="0x1">No reset generated when entering Stop mode</Val>
  290. </Values>
  291. </Bit>
  292. <Bit>
  293. <Name>nRST_STDBY</Name>
  294. <Description/>
  295. <BitOffset>0xD</BitOffset>
  296. <BitWidth>0x1</BitWidth>
  297. <Access>RW</Access>
  298. <Values>
  299. <Val value="0x0">Reset generated when entering Standby mode</Val>
  300. <Val value="0x1">No reset generated when entering Standby mode</Val>
  301. </Values>
  302. </Bit>
  303. <Bit>
  304. <Name>nRST_SHDW</Name>
  305. <Description/>
  306. <BitOffset>0xE</BitOffset>
  307. <BitWidth>0x1</BitWidth>
  308. <Access>RW</Access>
  309. <Values>
  310. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  311. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  312. </Values>
  313. </Bit>
  314. <Bit>
  315. <Name>IWDG_SW</Name>
  316. <Description/>
  317. <BitOffset>0x10</BitOffset>
  318. <BitWidth>0x1</BitWidth>
  319. <Access>RW</Access>
  320. <Values>
  321. <Val value="0x0">Hardware independant watchdog</Val>
  322. <Val value="0x1">Software independant watchdog</Val>
  323. </Values>
  324. </Bit>
  325. <Bit>
  326. <Name>IWDG_STOP</Name>
  327. <Description/>
  328. <BitOffset>0x11</BitOffset>
  329. <BitWidth>0x1</BitWidth>
  330. <Access>RW</Access>
  331. <Values>
  332. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  333. <Val value="0x1">IWDG counter active in stop mode</Val>
  334. </Values>
  335. </Bit>
  336. <Bit>
  337. <Name>IWDG_STDBY</Name>
  338. <Description/>
  339. <BitOffset>0x12</BitOffset>
  340. <BitWidth>0x1</BitWidth>
  341. <Access>RW</Access>
  342. <Values>
  343. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  344. <Val value="0x1">IWDG counter active in standby mode</Val>
  345. </Values>
  346. </Bit>
  347. <Bit>
  348. <Name>WWDG_SW</Name>
  349. <Description/>
  350. <BitOffset>0x13</BitOffset>
  351. <BitWidth>0x1</BitWidth>
  352. <Access>RW</Access>
  353. <Values>
  354. <Val value="0x0">Hardware window watchdog</Val>
  355. <Val value="0x1">Software window watchdog</Val>
  356. </Values>
  357. </Bit>
  358. <Bit>
  359. <Name>BFB2</Name>
  360. <Description/>
  361. <BitOffset>0x14</BitOffset>
  362. <BitWidth>0x1</BitWidth>
  363. <Access>RW</Access>
  364. <Values>
  365. <Val value="0x0">Dual-bank boot disable</Val>
  366. <Val value="0x1">Dual-bank boot enable</Val>
  367. </Values>
  368. </Bit>
  369. <Bit config="1,2,3,4">
  370. <Name>DualBank</Name>
  371. <Description/>
  372. <BitOffset>0x15</BitOffset>
  373. <BitWidth>0x1</BitWidth>
  374. <Access>RW</Access>
  375. <Values>
  376. <Val value="0x0">256 KB/512 KB Single-bank Flash: Contiguous addresses in Bank 1</Val>
  377. <Val value="0x1">256 KB/512 KB Dual-bank Flash</Val>
  378. </Values>
  379. </Bit>
  380. <Bit>
  381. <Name>nBOOT1</Name>
  382. <Description/>
  383. <BitOffset>0x17</BitOffset>
  384. <BitWidth>0x1</BitWidth>
  385. <Access>RW</Access>
  386. <Values>
  387. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  388. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  389. </Values>
  390. </Bit>
  391. <Bit>
  392. <Name>SRAM2_PE</Name>
  393. <Description/>
  394. <BitOffset>0x18</BitOffset>
  395. <BitWidth>0x1</BitWidth>
  396. <Access>RW</Access>
  397. <Values>
  398. <Val value="0x0">SRAM2 parity check enable</Val>
  399. <Val value="0x1">SRAM2 parity check disable</Val>
  400. </Values>
  401. </Bit>
  402. <Bit>
  403. <Name>SRAM2_RST</Name>
  404. <Description/>
  405. <BitOffset>0x19</BitOffset>
  406. <BitWidth>0x1</BitWidth>
  407. <Access>RW</Access>
  408. <Values>
  409. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  410. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  411. </Values>
  412. </Bit>
  413. </AssignedBits>
  414. </Field>
  415. </Category>
  416. <Category>
  417. <Name>PCROP Protection (Bank 1)</Name>
  418. <Field>
  419. <Parameters address="0x40022024" name="FLASH_PCROP1SR" size="0x4"/>
  420. <AssignedBits>
  421. <Bit>
  422. <Name>PCROP1_STRT</Name>
  423. <Description>Flash Bank 1 PCROP start address</Description>
  424. <BitOffset>0x0</BitOffset>
  425. <BitWidth>0x10</BitWidth>
  426. <Access>RW</Access>
  427. <Equation multiplier="0x8" offset="0x08000000"/>
  428. </Bit>
  429. </AssignedBits>
  430. </Field>
  431. <Field>
  432. <Parameters address="0x40022028" name="FLASH_PCROP1ER" size="0x4"/>
  433. <AssignedBits>
  434. <Bit>
  435. <Name>PCROP1_END</Name>
  436. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  437. <BitOffset>0x0</BitOffset>
  438. <BitWidth>0x10</BitWidth>
  439. <Access>RW</Access>
  440. <Equation multiplier="0x8" offset="0x08000000"/>
  441. </Bit>
  442. <Bit>
  443. <Name>PCROP_RDP</Name>
  444. <Description/>
  445. <BitOffset>0x1F</BitOffset>
  446. <BitWidth>0x1</BitWidth>
  447. <Access>RW</Access>
  448. <Values>
  449. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  450. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  451. </Values>
  452. </Bit>
  453. </AssignedBits>
  454. </Field>
  455. </Category>
  456. <Category>
  457. <Name>Write Protection (Bank 1)</Name>
  458. <Field>
  459. <Parameters address="0x4002202C" name="FLASH_WRP1AR" size="0x4"/>
  460. <AssignedBits>
  461. <Bit>
  462. <Name>WRP1A_STRT</Name>
  463. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  464. <BitOffset>0x0</BitOffset>
  465. <BitWidth>0x8</BitWidth>
  466. <Access>RW</Access>
  467. <Equation multiplier="0x800" offset="0x08000000"/>
  468. </Bit>
  469. <Bit>
  470. <Name>WRP1A_END</Name>
  471. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  472. <BitOffset>0x10</BitOffset>
  473. <BitWidth>0x8</BitWidth>
  474. <Access>RW</Access>
  475. <Equation multiplier="0x800" offset="0x08000000"/>
  476. </Bit>
  477. </AssignedBits>
  478. </Field>
  479. <Field>
  480. <Parameters address="0x40022030" name="FLASH_WRP1BR" size="0x4"/>
  481. <AssignedBits>
  482. <Bit>
  483. <Name>WRP1B_STRT</Name>
  484. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  485. <BitOffset>0x0</BitOffset>
  486. <BitWidth>0x8</BitWidth>
  487. <Access>RW</Access>
  488. <Equation multiplier="0x800" offset="0x08000000"/>
  489. </Bit>
  490. <Bit>
  491. <Name>WRP1B_END</Name>
  492. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  493. <BitOffset>0x10</BitOffset>
  494. <BitWidth>0x8</BitWidth>
  495. <Access>RW</Access>
  496. <Equation multiplier="0x800" offset="0x08000000"/>
  497. </Bit>
  498. </AssignedBits>
  499. </Field>
  500. </Category>
  501. </Bank>
  502. <Bank interface="JTAG_SWD">
  503. <Parameters address="0x40022044" name="Bank 2" size="0x10"/>
  504. <Category>
  505. <Name>PCROP Protection (Bank 2)</Name>
  506. <Field>
  507. <Parameters address="0x40022044" name="FLASH_PCROP2SR" size="0x4"/>
  508. <AssignedBits>
  509. <Bit>
  510. <Name>PCROP2_STRT</Name>
  511. <Description>Flash Bank 2 PCROP start address</Description>
  512. <BitOffset>0x0</BitOffset>
  513. <BitWidth>0x10</BitWidth>
  514. <Access>RW</Access>
  515. <Equation multiplier="0x8" offset="0x08080000"/>
  516. </Bit>
  517. </AssignedBits>
  518. </Field>
  519. <Field>
  520. <Parameters address="0x40022048" name="FLASH_PCROP2ER" size="0x4"/>
  521. <AssignedBits>
  522. <Bit>
  523. <Name>PCROP2_END</Name>
  524. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  525. <BitOffset>0x0</BitOffset>
  526. <BitWidth>0x10</BitWidth>
  527. <Access>RW</Access>
  528. <Equation multiplier="0x8" offset="0x08080000"/>
  529. </Bit>
  530. </AssignedBits>
  531. </Field>
  532. </Category>
  533. <Category>
  534. <Name>Write Protection (Bank 2)</Name>
  535. <Field>
  536. <Parameters address="0x4002204C" name="FLASH_WRP2AR" size="0x4"/>
  537. <AssignedBits>
  538. <Bit>
  539. <Name>WRP2A_STRT</Name>
  540. <Description>The address of first page of the Bank 2 WRP first area</Description>
  541. <BitOffset>0x0</BitOffset>
  542. <BitWidth>0x8</BitWidth>
  543. <Access>RW</Access>
  544. <Equation multiplier="0x800" offset="0x08080000"/>
  545. </Bit>
  546. <Bit>
  547. <Name>WRP2A_END</Name>
  548. <Description>The address of last page of the Bank 2 WRP first area</Description>
  549. <BitOffset>0x10</BitOffset>
  550. <BitWidth>0x8</BitWidth>
  551. <Access>RW</Access>
  552. <Equation multiplier="0x800" offset="0x08080000"/>
  553. </Bit>
  554. </AssignedBits>
  555. </Field>
  556. <Field>
  557. <Parameters address="0x40022050" name="FLASH_WRP2BR" size="0x4"/>
  558. <AssignedBits>
  559. <Bit>
  560. <Name>WRP2B_STRT</Name>
  561. <Description>The address of first page of the Bank 2 WRP second area</Description>
  562. <BitOffset>0x0</BitOffset>
  563. <BitWidth>0x8</BitWidth>
  564. <Access>RW</Access>
  565. <Equation multiplier="0x800" offset="0x08080000"/>
  566. </Bit>
  567. <Bit>
  568. <Name>WRP2B_END</Name>
  569. <Description>The address of last page of the Bank 2 WRP second area</Description>
  570. <BitOffset>0x10</BitOffset>
  571. <BitWidth>0x8</BitWidth>
  572. <Access>RW</Access>
  573. <Equation multiplier="0x800" offset="0x08080000"/>
  574. </Bit>
  575. </AssignedBits>
  576. </Field>
  577. </Category>
  578. </Bank>
  579. <Bank interface="Bootloader">
  580. <Parameters address="0x1FFF7800" name="Bank 1" size="0x28"/>
  581. <Category>
  582. <Name>Read Out Protection</Name>
  583. <Field>
  584. <Parameters address="0x1FFF7800" name="FLASH_OPTR" size="0x4"/>
  585. <AssignedBits>
  586. <Bit>
  587. <Name>RDP</Name>
  588. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  589. <BitOffset>0x0</BitOffset>
  590. <BitWidth>0x8</BitWidth>
  591. <Access>RW</Access>
  592. <Values>
  593. <Val value="0xAA">Level 0, no protection</Val>
  594. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  595. <Val value="0xCC">Level 2, chip protection</Val>
  596. </Values>
  597. </Bit>
  598. </AssignedBits>
  599. </Field>
  600. </Category>
  601. <Category>
  602. <Name>BOR Level</Name>
  603. <Field>
  604. <Parameters address="0x1FFF7800" name="FLASH_OPTR" size="0x4"/>
  605. <AssignedBits>
  606. <Bit>
  607. <Name>BOR_LEV</Name>
  608. <Description>These bits contain the supply level threshold that activates/releases the reset. They can be written to program a new BOR level value into Flash memory</Description>
  609. <BitOffset>0x8</BitOffset>
  610. <BitWidth>0x3</BitWidth>
  611. <Access>RW</Access>
  612. <Values>
  613. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  614. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  615. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  616. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  617. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  618. </Values>
  619. </Bit>
  620. </AssignedBits>
  621. </Field>
  622. </Category>
  623. <Category>
  624. <Name>User Configuration</Name>
  625. <Field>
  626. <Parameters address="0x1FFF7800" name="FLASH_OPTR" size="0x4"/>
  627. <AssignedBits>
  628. <Bit>
  629. <Name>IWDG_STOP</Name>
  630. <Description/>
  631. <BitOffset>0x11</BitOffset>
  632. <BitWidth>0x1</BitWidth>
  633. <Access>RW</Access>
  634. <Values>
  635. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  636. <Val value="0x1">IWDG counter active in stop mode</Val>
  637. </Values>
  638. </Bit>
  639. <Bit>
  640. <Name>IWDG_STDBY</Name>
  641. <Description/>
  642. <BitOffset>0x12</BitOffset>
  643. <BitWidth>0x1</BitWidth>
  644. <Access>RW</Access>
  645. <Values>
  646. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  647. <Val value="0x1">IWDG counter active in standby mode</Val>
  648. </Values>
  649. </Bit>
  650. </AssignedBits>
  651. </Field>
  652. <Field>
  653. <Parameters address="0x1FFF7800" name="FLASH_OPTR" size="0x4"/>
  654. <AssignedBits>
  655. <Bit>
  656. <Name>WWDG_SW</Name>
  657. <Description/>
  658. <BitOffset>0x13</BitOffset>
  659. <BitWidth>0x1</BitWidth>
  660. <Access>RW</Access>
  661. <Values>
  662. <Val value="0x0">Hardware window watchdog</Val>
  663. <Val value="0x1">Software window watchdog</Val>
  664. </Values>
  665. </Bit>
  666. <Bit>
  667. <Name>IWDG_SW</Name>
  668. <Description/>
  669. <BitOffset>0x10</BitOffset>
  670. <BitWidth>0x1</BitWidth>
  671. <Access>RW</Access>
  672. <Values>
  673. <Val value="0x0">Hardware independant watchdog</Val>
  674. <Val value="0x1">Software independant watchdog</Val>
  675. </Values>
  676. </Bit>
  677. <Bit>
  678. <Name>nRST_STOP</Name>
  679. <Description/>
  680. <BitOffset>0xC</BitOffset>
  681. <BitWidth>0x1</BitWidth>
  682. <Access>RW</Access>
  683. <Values>
  684. <Val value="0x0">Reset generated when entering Stop mode</Val>
  685. <Val value="0x1">No reset generated</Val>
  686. </Values>
  687. </Bit>
  688. <Bit>
  689. <Name>nRST_STDBY</Name>
  690. <Description/>
  691. <BitOffset>0xD</BitOffset>
  692. <BitWidth>0x1</BitWidth>
  693. <Access>RW</Access>
  694. <Values>
  695. <Val value="0x0">Reset generated when entering Standby mode</Val>
  696. <Val value="0x1">No reset generated</Val>
  697. </Values>
  698. </Bit>
  699. <Bit>
  700. <Name>nRST_SHDW</Name>
  701. <Description/>
  702. <BitOffset>0xE</BitOffset>
  703. <BitWidth>0x1</BitWidth>
  704. <Access>RW</Access>
  705. <Values>
  706. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  707. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  708. </Values>
  709. </Bit>
  710. <Bit>
  711. <Name>BFB2</Name>
  712. <Description/>
  713. <BitOffset>0x14</BitOffset>
  714. <BitWidth>0x1</BitWidth>
  715. <Access>RW</Access>
  716. <Values>
  717. <Val value="0x0">Dual-bank boot disable</Val>
  718. <Val value="0x1">Dual-bank boot enable</Val>
  719. </Values>
  720. </Bit>
  721. <Bit config="5">
  722. <Name>DualBank</Name>
  723. <Description/>
  724. <BitOffset>0x15</BitOffset>
  725. <BitWidth>0x1</BitWidth>
  726. <Access>RW</Access>
  727. <Values>
  728. <Val value="0x0">256 KB/512 KB Single-bank Flash: Contiguous addresses in Bank 1</Val>
  729. <Val value="0x1">256 KB/512 KB Dual-bank Flash</Val>
  730. </Values>
  731. </Bit>
  732. <Bit>
  733. <Name>nBOOT1</Name>
  734. <Description/>
  735. <BitOffset>0x17</BitOffset>
  736. <BitWidth>0x1</BitWidth>
  737. <Access>RW</Access>
  738. <Values>
  739. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  740. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  741. </Values>
  742. </Bit>
  743. <Bit>
  744. <Name>SRAM2_PE</Name>
  745. <Description/>
  746. <BitOffset>0x18</BitOffset>
  747. <BitWidth>0x1</BitWidth>
  748. <Access>RW</Access>
  749. <Values>
  750. <Val value="0x0">SRAM2 parity check enable</Val>
  751. <Val value="0x1">SRAM2 parity check disable</Val>
  752. </Values>
  753. </Bit>
  754. <Bit>
  755. <Name>SRAM2_RST</Name>
  756. <Description/>
  757. <BitOffset>0x19</BitOffset>
  758. <BitWidth>0x1</BitWidth>
  759. <Access>RW</Access>
  760. <Values>
  761. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  762. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  763. </Values>
  764. </Bit>
  765. </AssignedBits>
  766. </Field>
  767. </Category>
  768. <Category>
  769. <Name>PCROP Protection (Bank 1)</Name>
  770. <Field>
  771. <Parameters address="0x1FFF7808" name="FLASH_PCROP1SR" size="0x4"/>
  772. <AssignedBits>
  773. <Bit>
  774. <Name>PCROP1_STRT</Name>
  775. <Description>Flash Bank 1 PCROP start address</Description>
  776. <BitOffset>0x0</BitOffset>
  777. <BitWidth>0x10</BitWidth>
  778. <Access>RW</Access>
  779. <Equation multiplier="0x8" offset="0x08000000"/>
  780. </Bit>
  781. </AssignedBits>
  782. </Field>
  783. <Field>
  784. <Parameters address="0x1FFF7810" name="FLASH_PCROP1ER" size="0x4"/>
  785. <AssignedBits>
  786. <Bit>
  787. <Name>PCROP1_END</Name>
  788. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  789. <BitOffset>0x0</BitOffset>
  790. <BitWidth>0x10</BitWidth>
  791. <Access>RW</Access>
  792. <Equation multiplier="0x8" offset="0x08000000"/>
  793. </Bit>
  794. <Bit>
  795. <Name>PCROP_RDP</Name>
  796. <Description/>
  797. <BitOffset>0x1F</BitOffset>
  798. <BitWidth>0x1</BitWidth>
  799. <Access>RW</Access>
  800. <Values>
  801. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  802. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  803. </Values>
  804. </Bit>
  805. </AssignedBits>
  806. </Field>
  807. </Category>
  808. <Category>
  809. <Name>Write Protection (Bank 1)</Name>
  810. <Field>
  811. <Parameters address="0x1FFF7818" name="FLASH_WRP1AR" size="0x4"/>
  812. <AssignedBits>
  813. <Bit>
  814. <Name>WRP1A_STRT</Name>
  815. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  816. <BitOffset>0x0</BitOffset>
  817. <BitWidth>0x8</BitWidth>
  818. <Access>RW</Access>
  819. <Equation multiplier="0x800" offset="0x08000000"/>
  820. </Bit>
  821. <Bit>
  822. <Name>WRP1A_END</Name>
  823. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  824. <BitOffset>0x10</BitOffset>
  825. <BitWidth>0x8</BitWidth>
  826. <Access>RW</Access>
  827. <Equation multiplier="0x800" offset="0x08000000"/>
  828. </Bit>
  829. </AssignedBits>
  830. </Field>
  831. <Field>
  832. <Parameters address="0x1FFF7820" name="FLASH_WRP1BR" size="0x4"/>
  833. <AssignedBits>
  834. <Bit>
  835. <Name>WRP1B_STRT</Name>
  836. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  837. <BitOffset>0x0</BitOffset>
  838. <BitWidth>0x8</BitWidth>
  839. <Access>RW</Access>
  840. <Equation multiplier="0x800" offset="0x08000000"/>
  841. </Bit>
  842. <Bit>
  843. <Name>WRP1B_END</Name>
  844. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  845. <BitOffset>0x10</BitOffset>
  846. <BitWidth>0x8</BitWidth>
  847. <Access>RW</Access>
  848. <Equation multiplier="0x800" offset="0x08000000"/>
  849. </Bit>
  850. </AssignedBits>
  851. </Field>
  852. </Category>
  853. </Bank>
  854. <Bank interface="Bootloader">
  855. <Parameters address="0x1FFFF800" name="Bank 2" size="0x28"/>
  856. <Category>
  857. <Name>PCROP Protection (Bank 2)</Name>
  858. <Field>
  859. <Parameters address="0x1FFFF808" name="FLASH_PCROP2SR" size="0x4"/>
  860. <AssignedBits>
  861. <Bit>
  862. <Name>PCROP2_STRT</Name>
  863. <Description>Flash Bank 2 PCROP start address</Description>
  864. <BitOffset>0x0</BitOffset>
  865. <BitWidth>0x10</BitWidth>
  866. <Access>RW</Access>
  867. <Equation multiplier="0x8" offset="0x08080000"/>
  868. </Bit>
  869. </AssignedBits>
  870. </Field>
  871. <Field>
  872. <Parameters address="0x1FFFF810" name="FLASH_PCROP2ER" size="0x4"/>
  873. <AssignedBits>
  874. <Bit>
  875. <Name>PCROP2_END</Name>
  876. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  877. <BitOffset>0x0</BitOffset>
  878. <BitWidth>0x10</BitWidth>
  879. <Access>RW</Access>
  880. <Equation multiplier="0x8" offset="0x08080000"/>
  881. </Bit>
  882. </AssignedBits>
  883. </Field>
  884. </Category>
  885. <Category>
  886. <Name>Write Protection (Bank 2)</Name>
  887. <Field>
  888. <Parameters address="0x1FFFF818" name="FLASH_WRP2AR" size="0x4"/>
  889. <AssignedBits>
  890. <Bit>
  891. <Name>WRP2A_STRT</Name>
  892. <Description>The address of first page of the Bank 2 WRP first area</Description>
  893. <BitOffset>0x0</BitOffset>
  894. <BitWidth>0x8</BitWidth>
  895. <Access>RW</Access>
  896. <Equation multiplier="0x800" offset="0x08080000"/>
  897. </Bit>
  898. <Bit>
  899. <Name>WRP2A_END</Name>
  900. <Description>The address of last page of the Bank 2 WRP first area</Description>
  901. <BitOffset>0x10</BitOffset>
  902. <BitWidth>0x8</BitWidth>
  903. <Access>RW</Access>
  904. <Equation multiplier="0x800" offset="0x08080000"/>
  905. </Bit>
  906. </AssignedBits>
  907. </Field>
  908. <Field>
  909. <Parameters address="0x1FFFF820" name="FLASH_WRP2BR" size="0x4"/>
  910. <AssignedBits>
  911. <Bit>
  912. <Name>WRP2B_STRT</Name>
  913. <Description>The address of first page of the Bank 2 WRP second area</Description>
  914. <BitOffset>0x0</BitOffset>
  915. <BitWidth>0x8</BitWidth>
  916. <Access>RW</Access>
  917. <Equation multiplier="0x20" offset="0x08080000"/>
  918. </Bit>
  919. <Bit>
  920. <Name>WRP2B_END</Name>
  921. <Description>The address of last page of the Bank 2 WRP second area</Description>
  922. <BitOffset>0x10</BitOffset>
  923. <BitWidth>0x8</BitWidth>
  924. <Access>RW</Access>
  925. <Equation multiplier="0x800" offset="0x08080000"/>
  926. </Bit>
  927. </AssignedBits>
  928. </Field>
  929. </Category>
  930. </Bank>
  931. </Peripheral>
  932. </Peripherals>
  933. </Device>
  934. </Root>