STM32_Prog_DB_0x479.xml 31 KB

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