STM32_Prog_DB_0x479.xml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892
  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="0x14"/>
  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 reference="DualBank">
  257. <Name>DBANK</Name>
  258. <Description/>
  259. <BitOffset>0x16</BitOffset>
  260. <BitWidth>0x1</BitWidth>
  261. <Access>RW</Access>
  262. <Values>
  263. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  264. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  265. </Values>
  266. </Bit>
  267. <Bit>
  268. <Name>nBOOT1</Name>
  269. <Description/>
  270. <BitOffset>0x17</BitOffset>
  271. <BitWidth>0x1</BitWidth>
  272. <Access>RW</Access>
  273. <Values>
  274. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  275. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  276. </Values>
  277. </Bit>
  278. <Bit>
  279. <Name>SRAM_PE</Name>
  280. <Description>SRAM1 and CCM SRAM parity check enable</Description>
  281. <BitOffset>0x18</BitOffset>
  282. <BitWidth>0x1</BitWidth>
  283. <Access>RW</Access>
  284. <Values>
  285. <Val value="0x0">SRAM1 and CCM SRAM parity check enable</Val>
  286. <Val value="0x1">SRAM1 and CCM SRAM parity check disable</Val>
  287. </Values>
  288. </Bit>
  289. <Bit>
  290. <Name>CCMSRAM_RST</Name>
  291. <Description>CCM SRAM Erase when system reset</Description>
  292. <BitOffset>0x19</BitOffset>
  293. <BitWidth>0x1</BitWidth>
  294. <Access>RW</Access>
  295. <Values>
  296. <Val value="0x0">CCM SRAM erased when a system reset occurs</Val>
  297. <Val value="0x1">CCM SRAM is not erased when a system reset occurs</Val>
  298. </Values>
  299. </Bit>
  300. <Bit>
  301. <Name>nSWBOOT0</Name>
  302. <Description>Software BOOT0</Description>
  303. <BitOffset>0x1A</BitOffset>
  304. <BitWidth>0x1</BitWidth>
  305. <Access>RW</Access>
  306. <Values>
  307. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  308. <Val value="0x1">BOOT0 taken from PB8/BOOT0 pin</Val>
  309. </Values>
  310. </Bit>
  311. <Bit>
  312. <Name>nBOOT0</Name>
  313. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  314. <BitOffset>0x1B</BitOffset>
  315. <BitWidth>0x1</BitWidth>
  316. <Access>RW</Access>
  317. <Values>
  318. <Val value="0x0">nBOOT0 = 0</Val>
  319. <Val value="0x1">nBOOT0 = 1</Val>
  320. </Values>
  321. </Bit>
  322. <Bit>
  323. <Name>NRST_MODE</Name>
  324. <Description/>
  325. <BitOffset>0x1C</BitOffset>
  326. <BitWidth>0x2</BitWidth>
  327. <Access>RW</Access>
  328. <Values>
  329. <Val value="0x0">Reserved</Val>
  330. <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>
  331. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  332. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  333. </Values>
  334. </Bit>
  335. <Bit>
  336. <Name>IRHEN</Name>
  337. <Description>Internal reset holder enable bit</Description>
  338. <BitOffset>0x1E</BitOffset>
  339. <BitWidth>0x1</BitWidth>
  340. <Access>RW</Access>
  341. <Values>
  342. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  343. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  344. </Values>
  345. </Bit>
  346. <Bit>
  347. <Name>PB4_PUEN</Name>
  348. <Description/>
  349. <BitOffset>0x16</BitOffset>
  350. <BitWidth>0x1</BitWidth>
  351. <Access>RW</Access>
  352. <Values>
  353. <Val value="0x0">USB power delivery dead-battery enabled/ TDI pull-up deactivated</Val>
  354. <Val value="0x1">USB power delivery dead-battery disabled/ TDI pull-up activated</Val>
  355. </Values>
  356. </Bit>
  357. </AssignedBits>
  358. </Field>
  359. </Category>
  360. <Category>
  361. <Name>PCROP Protection</Name>
  362. <Field>
  363. <Parameters address="0x40022024" name="FLASH_PCROP1SR" size="0x4"/>
  364. <AssignedBits>
  365. <Bit>
  366. <Name>PCROP1_STRT</Name>
  367. <Description>Flash PCROP start address</Description>
  368. <BitOffset>0x0</BitOffset>
  369. <BitWidth>0x10</BitWidth>
  370. <Access>RW</Access>
  371. <Equation multiplier="0x8" offset="0x08000000"/>
  372. </Bit>
  373. </AssignedBits>
  374. </Field>
  375. <Field>
  376. <Parameters address="0x40022028" name="FLASH_PCROP1ER" size="0x4"/>
  377. <AssignedBits>
  378. <Bit>
  379. <Name>PCROP1_END</Name>
  380. <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>
  381. <BitOffset>0x0</BitOffset>
  382. <BitWidth>0x10</BitWidth>
  383. <Access>RW</Access>
  384. <Equation multiplier="0x8" offset="0x08000008"/>
  385. </Bit>
  386. <Bit>
  387. <Name>PCROP_RDP</Name>
  388. <Description/>
  389. <BitOffset>0x1F</BitOffset>
  390. <BitWidth>0x1</BitWidth>
  391. <Access>RW</Access>
  392. <Values>
  393. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  394. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  395. </Values>
  396. </Bit>
  397. </AssignedBits>
  398. </Field>
  399. </Category>
  400. <Category>
  401. <Name>Write Protection</Name>
  402. <Field>
  403. <Parameters address="0x4002202C" name="FLASH_WRP1AR" size="0x4"/>
  404. <AssignedBits>
  405. <Bit config="0">
  406. <Name>WRP1A_STRT</Name>
  407. <Description>The address of the first page of WRP first area</Description>
  408. <BitOffset>0x0</BitOffset>
  409. <BitWidth>0x8</BitWidth>
  410. <Access>RW</Access>
  411. <Equation multiplier="0x800" offset="0x08000000"/>
  412. </Bit>
  413. <Bit config="1">
  414. <Name>WRP1A_STRT</Name>
  415. <Description>The address of the first page of WRP first area</Description>
  416. <BitOffset>0x0</BitOffset>
  417. <BitWidth>0x8</BitWidth>
  418. <Access>RW</Access>
  419. <Equation multiplier="0x1000" offset="0x08000000"/>
  420. </Bit>
  421. <Bit config="0">
  422. <Name>WRP1A_END</Name>
  423. <Description>The address of the last page of WRP first area</Description>
  424. <BitOffset>0x10</BitOffset>
  425. <BitWidth>0x8</BitWidth>
  426. <Access>RW</Access>
  427. <Equation multiplier="0x800" offset="0x08000000"/>
  428. </Bit>
  429. <Bit config="1">
  430. <Name>WRP1A_END</Name>
  431. <Description>The address of the last page of WRP first area</Description>
  432. <BitOffset>0x10</BitOffset>
  433. <BitWidth>0x8</BitWidth>
  434. <Access>RW</Access>
  435. <Equation multiplier="0x1000" offset="0x08000000"/>
  436. </Bit>
  437. </AssignedBits>
  438. </Field>
  439. <Field>
  440. <Parameters address="0x40022030" name="FLASH_WRP1BR" size="0x4"/>
  441. <AssignedBits>
  442. <Bit config="0">
  443. <Name>WRP1B_STRT</Name>
  444. <Description>The address of the first page of WRP second area</Description>
  445. <BitOffset>0x0</BitOffset>
  446. <BitWidth>0x8</BitWidth>
  447. <Access>RW</Access>
  448. <Equation multiplier="0x800" offset="0x08000000"/>
  449. </Bit>
  450. <Bit config="1">
  451. <Name>WRP1B_STRT</Name>
  452. <Description>The address of the first page of WRP second area</Description>
  453. <BitOffset>0x0</BitOffset>
  454. <BitWidth>0x8</BitWidth>
  455. <Access>RW</Access>
  456. <Equation multiplier="0x800" offset="0x08000000"/>
  457. </Bit>
  458. <Bit config="0">
  459. <Name>WRP1B_END</Name>
  460. <Description>The address of the last page of WRP second area</Description>
  461. <BitOffset>0x10</BitOffset>
  462. <BitWidth>0x8</BitWidth>
  463. <Access>RW</Access>
  464. <Equation multiplier="0x800" offset="0x08000000"/>
  465. </Bit>
  466. <Bit config="1">
  467. <Name>WRP1B_END</Name>
  468. <Description>The address of the last page of WRP second area</Description>
  469. <BitOffset>0x10</BitOffset>
  470. <BitWidth>0x8</BitWidth>
  471. <Access>RW</Access>
  472. <Equation multiplier="0x800" offset="0x08000000"/>
  473. </Bit>
  474. </AssignedBits>
  475. </Field>
  476. </Category>
  477. <Category>
  478. <Name>Secure Protection</Name>
  479. <Field>
  480. <Parameters address="0x40022070" name="FLASH_SECR1" size="0x4"/>
  481. <AssignedBits>
  482. <Bit>
  483. <Name>SEC_SIZE1</Name>
  484. <Description>sets the number of pages used in the bank 1 securable area</Description>
  485. <BitOffset>0x0</BitOffset>
  486. <BitWidth>0x8</BitWidth>
  487. <Access>RW</Access>
  488. </Bit>
  489. <Bit>
  490. <Name>BOOT_LOCK</Name>
  491. <Description>Unique boot entry point</Description>
  492. <BitOffset>0x10</BitOffset>
  493. <BitWidth>0x1</BitWidth>
  494. <Access>RW</Access>
  495. <Values>
  496. <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>
  497. <Val value="0x1">the boot will be done from user flash only, whatever the RDP level</Val>
  498. </Values>
  499. </Bit>
  500. </AssignedBits>
  501. </Field>
  502. </Category>
  503. </Bank>
  504. <Bank interface="Bootloader">
  505. <Parameters address="0x1FFF7800" name="Bank 1" size="0x24"/>
  506. <Category>
  507. <Name>Read Out Protection</Name>
  508. <Field>
  509. <Parameters address="0x1FFF7800" name="FLASH_OPTR" size="0x4"/>
  510. <AssignedBits>
  511. <Bit>
  512. <Name>RDP</Name>
  513. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  514. <BitOffset>0x0</BitOffset>
  515. <BitWidth>0x8</BitWidth>
  516. <Access>RW</Access>
  517. <Values>
  518. <Val value="0xAA">Level 0, no protection</Val>
  519. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  520. <Val value="0xCC">Level 2, no debug</Val>
  521. </Values>
  522. </Bit>
  523. </AssignedBits>
  524. </Field>
  525. </Category>
  526. <Category>
  527. <Name>BOR Level</Name>
  528. <Field>
  529. <Parameters address="0x1FFF7800" name="FLASH_OPTR" size="0x4"/>
  530. <AssignedBits>
  531. <Bit>
  532. <Name>BOR_LEV</Name>
  533. <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>
  534. <BitOffset>0x8</BitOffset>
  535. <BitWidth>0x3</BitWidth>
  536. <Access>RW</Access>
  537. <Values>
  538. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  539. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  540. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  541. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  542. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  543. </Values>
  544. </Bit>
  545. </AssignedBits>
  546. </Field>
  547. </Category>
  548. <Category>
  549. <Name>User Configuration</Name>
  550. <Field>
  551. <Parameters address="0x1FFF7800" name="FLASH_OPTR" size="0x4"/>
  552. <AssignedBits>
  553. <Bit>
  554. <Name>IWDG_STOP</Name>
  555. <Description/>
  556. <BitOffset>0x11</BitOffset>
  557. <BitWidth>0x1</BitWidth>
  558. <Access>RW</Access>
  559. <Values>
  560. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  561. <Val value="0x1">IWDG counter active in stop mode</Val>
  562. </Values>
  563. </Bit>
  564. <Bit>
  565. <Name>IWDG_STDBY</Name>
  566. <Description/>
  567. <BitOffset>0x12</BitOffset>
  568. <BitWidth>0x1</BitWidth>
  569. <Access>RW</Access>
  570. <Values>
  571. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  572. <Val value="0x1">IWDG counter active in standby mode</Val>
  573. </Values>
  574. </Bit>
  575. <Bit>
  576. <Name>WWDG_SW</Name>
  577. <Description/>
  578. <BitOffset>0x13</BitOffset>
  579. <BitWidth>0x1</BitWidth>
  580. <Access>RW</Access>
  581. <Values>
  582. <Val value="0x0">Hardware window watchdog</Val>
  583. <Val value="0x1">Software window watchdog</Val>
  584. </Values>
  585. </Bit>
  586. <Bit>
  587. <Name>IWDG_SW</Name>
  588. <Description/>
  589. <BitOffset>0x10</BitOffset>
  590. <BitWidth>0x1</BitWidth>
  591. <Access>RW</Access>
  592. <Values>
  593. <Val value="0x0">Hardware independant watchdog</Val>
  594. <Val value="0x1">Software independant watchdog</Val>
  595. </Values>
  596. </Bit>
  597. <Bit>
  598. <Name>nRST_STOP</Name>
  599. <Description/>
  600. <BitOffset>0xC</BitOffset>
  601. <BitWidth>0x1</BitWidth>
  602. <Access>RW</Access>
  603. <Values>
  604. <Val value="0x0">Reset generated when entering Stop mode</Val>
  605. <Val value="0x1">No reset generated</Val>
  606. </Values>
  607. </Bit>
  608. <Bit>
  609. <Name>nRST_STDBY</Name>
  610. <Description/>
  611. <BitOffset>0xD</BitOffset>
  612. <BitWidth>0x1</BitWidth>
  613. <Access>RW</Access>
  614. <Values>
  615. <Val value="0x0">Reset generated when entering Standby mode</Val>
  616. <Val value="0x1">No reset generated</Val>
  617. </Values>
  618. </Bit>
  619. <Bit>
  620. <Name>nRST_SHDW</Name>
  621. <Description/>
  622. <BitOffset>0xE</BitOffset>
  623. <BitWidth>0x1</BitWidth>
  624. <Access>RW</Access>
  625. <Values>
  626. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  627. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  628. </Values>
  629. </Bit>
  630. <Bit>
  631. <Name>BFB2</Name>
  632. <Description/>
  633. <BitOffset>0x14</BitOffset>
  634. <BitWidth>0x1</BitWidth>
  635. <Access>RW</Access>
  636. <Values>
  637. <Val value="0x0">Dual-bank boot disable</Val>
  638. <Val value="0x1">Dual-bank boot enable</Val>
  639. </Values>
  640. </Bit>
  641. <Bit reference="DualBank">
  642. <Name>DBANK</Name>
  643. <Description/>
  644. <BitOffset>0x16</BitOffset>
  645. <BitWidth>0x1</BitWidth>
  646. <Access>RW</Access>
  647. <Values>
  648. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  649. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  650. </Values>
  651. </Bit>
  652. <Bit>
  653. <Name>nBOOT1</Name>
  654. <Description/>
  655. <BitOffset>0x17</BitOffset>
  656. <BitWidth>0x1</BitWidth>
  657. <Access>RW</Access>
  658. <Values>
  659. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  660. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  661. </Values>
  662. </Bit>
  663. <Bit>
  664. <Name>SRAM_PE</Name>
  665. <Description>SRAM1 and CCM SRAM parity check enable</Description>
  666. <BitOffset>0x18</BitOffset>
  667. <BitWidth>0x1</BitWidth>
  668. <Access>RW</Access>
  669. <Values>
  670. <Val value="0x0">SRAM1 and CCM SRAM parity check enable</Val>
  671. <Val value="0x1">SRAM1 and CCM SRAM parity check disable</Val>
  672. </Values>
  673. </Bit>
  674. <Bit>
  675. <Name>CCMSRAM_RST</Name>
  676. <Description>CCM SRAM Erase when system reset</Description>
  677. <BitOffset>0x19</BitOffset>
  678. <BitWidth>0x1</BitWidth>
  679. <Access>RW</Access>
  680. <Values>
  681. <Val value="0x0">CCM SRAM erased when a system reset occurs</Val>
  682. <Val value="0x1">CCM SRAM is not erased when a system reset occurs</Val>
  683. </Values>
  684. </Bit>
  685. <Bit>
  686. <Name>nSWBOOT0</Name>
  687. <Description>Software BOOT0</Description>
  688. <BitOffset>0x1A</BitOffset>
  689. <BitWidth>0x1</BitWidth>
  690. <Access>RW</Access>
  691. <Values>
  692. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  693. <Val value="0x1">BOOT0 taken from PB8/BOOT0 pin</Val>
  694. </Values>
  695. </Bit>
  696. <Bit>
  697. <Name>nBOOT0</Name>
  698. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  699. <BitOffset>0x1B</BitOffset>
  700. <BitWidth>0x1</BitWidth>
  701. <Access>RW</Access>
  702. <Values>
  703. <Val value="0x0">nBOOT0 = 0</Val>
  704. <Val value="0x1">nBOOT0 = 1</Val>
  705. </Values>
  706. </Bit>
  707. <Bit>
  708. <Name>NRST_MODE</Name>
  709. <Description/>
  710. <BitOffset>0x1C</BitOffset>
  711. <BitWidth>0x2</BitWidth>
  712. <Access>RW</Access>
  713. <Values>
  714. <Val value="0x0">Reserved</Val>
  715. <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>
  716. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  717. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  718. </Values>
  719. </Bit>
  720. <Bit>
  721. <Name>IRHEN</Name>
  722. <Description>Internal reset holder enable bit</Description>
  723. <BitOffset>0x1E</BitOffset>
  724. <BitWidth>0x1</BitWidth>
  725. <Access>RW</Access>
  726. <Values>
  727. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  728. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  729. </Values>
  730. </Bit>
  731. <Bit>
  732. <Name>PB4_PUEN</Name>
  733. <Description/>
  734. <BitOffset>0x16</BitOffset>
  735. <BitWidth>0x1</BitWidth>
  736. <Access>RW</Access>
  737. <Values>
  738. <Val value="0x0">USB power delivery dead-battery enabled/ TDI pull-up deactivated</Val>
  739. <Val value="0x1">USB power delivery dead-battery disabled/ TDI pull-up activated</Val>
  740. </Values>
  741. </Bit>
  742. </AssignedBits>
  743. </Field>
  744. </Category>
  745. <Category>
  746. <Name>PCROP Protection</Name>
  747. <Field>
  748. <Parameters address="0x1FFF7808" name="FLASH_PCROP1SR" size="0x4"/>
  749. <AssignedBits>
  750. <Bit>
  751. <Name>PCROP1_STRT</Name>
  752. <Description>Flash Bank 1 PCROP start address</Description>
  753. <BitOffset>0x0</BitOffset>
  754. <BitWidth>0x10</BitWidth>
  755. <Access>RW</Access>
  756. <Equation multiplier="0x10" offset="0x08000000"/>
  757. </Bit>
  758. </AssignedBits>
  759. </Field>
  760. <Field>
  761. <Parameters address="0x1FFF7810" name="FLASH_PCROP1ER" size="0x4"/>
  762. <AssignedBits>
  763. <Bit>
  764. <Name>PCROP1_END</Name>
  765. <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>
  766. <BitOffset>0x0</BitOffset>
  767. <BitWidth>0x10</BitWidth>
  768. <Access>RW</Access>
  769. <Equation multiplier="0x10" offset="0x08000008"/>
  770. </Bit>
  771. <Bit>
  772. <Name>PCROP_RDP</Name>
  773. <Description/>
  774. <BitOffset>0x1F</BitOffset>
  775. <BitWidth>0x1</BitWidth>
  776. <Access>RW</Access>
  777. <Values>
  778. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  779. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  780. </Values>
  781. </Bit>
  782. </AssignedBits>
  783. </Field>
  784. </Category>
  785. <Category>
  786. <Name>Write Protection</Name>
  787. <Field>
  788. <Parameters address="0x1FFF7818" name="FLASH_WRP1AR" size="0x4"/>
  789. <AssignedBits>
  790. <Bit config="0">
  791. <Name>WRP1A_STRT</Name>
  792. <Description>The address of the first page of WRP first area</Description>
  793. <BitOffset>0x0</BitOffset>
  794. <BitWidth>0x8</BitWidth>
  795. <Access>RW</Access>
  796. <Equation multiplier="0x800" offset="0x08000000"/>
  797. </Bit>
  798. <Bit config="1">
  799. <Name>WRP1A_STRT</Name>
  800. <Description>The address of the first page of WRP first area</Description>
  801. <BitOffset>0x0</BitOffset>
  802. <BitWidth>0x8</BitWidth>
  803. <Access>RW</Access>
  804. <Equation multiplier="0x1000" offset="0x08000000"/>
  805. </Bit>
  806. <Bit config="0">
  807. <Name>WRP1A_END</Name>
  808. <Description>The address of the last page of WRP first area</Description>
  809. <BitOffset>0x10</BitOffset>
  810. <BitWidth>0x8</BitWidth>
  811. <Access>RW</Access>
  812. <Equation multiplier="0x800" offset="0x08000000"/>
  813. </Bit>
  814. <Bit config="1">
  815. <Name>WRP1A_END</Name>
  816. <Description>The address of the last page of WRP first area</Description>
  817. <BitOffset>0x10</BitOffset>
  818. <BitWidth>0x8</BitWidth>
  819. <Access>RW</Access>
  820. <Equation multiplier="0x1000" offset="0x08000000"/>
  821. </Bit>
  822. </AssignedBits>
  823. </Field>
  824. <Field>
  825. <Parameters address="0x1FFF7820" name="FLASH_WRP1BR" size="0x4"/>
  826. <AssignedBits>
  827. <Bit config="0">
  828. <Name>WRP1B_STRT</Name>
  829. <Description>The address of the first page of WRP second area</Description>
  830. <BitOffset>0x0</BitOffset>
  831. <BitWidth>0x8</BitWidth>
  832. <Access>RW</Access>
  833. <Equation multiplier="0x800" offset="0x08000000"/>
  834. </Bit>
  835. <Bit config="1">
  836. <Name>WRP1B_STRT</Name>
  837. <Description>The address of the first page of WRP second area</Description>
  838. <BitOffset>0x0</BitOffset>
  839. <BitWidth>0x8</BitWidth>
  840. <Access>RW</Access>
  841. <Equation multiplier="0x800" offset="0x08000000"/>
  842. </Bit>
  843. <Bit config="0">
  844. <Name>WRP1B_END</Name>
  845. <Description>The address of the last page of WRP second area</Description>
  846. <BitOffset>0x10</BitOffset>
  847. <BitWidth>0x8</BitWidth>
  848. <Access>RW</Access>
  849. <Equation multiplier="0x800" offset="0x08000000"/>
  850. </Bit>
  851. <Bit config="1">
  852. <Name>WRP1B_END</Name>
  853. <Description>The address of the last page of WRP second area</Description>
  854. <BitOffset>0x10</BitOffset>
  855. <BitWidth>0x8</BitWidth>
  856. <Access>RW</Access>
  857. <Equation multiplier="0x800" offset="0x08000000"/>
  858. </Bit>
  859. </AssignedBits>
  860. </Field>
  861. </Category>
  862. <Category>
  863. <Name>Secure Protection</Name>
  864. <Field>
  865. <Parameters address="0x1FFF7828" name="FLASH_SECR1" size="0x4"/>
  866. <AssignedBits>
  867. <Bit>
  868. <Name>SEC_SIZE1</Name>
  869. <Description>sets the number of pages used in the bank 1 securable area</Description>
  870. <BitOffset>0x0</BitOffset>
  871. <BitWidth>0x8</BitWidth>
  872. <Access>RW</Access>
  873. </Bit>
  874. <Bit>
  875. <Name>BOOT_LOCK</Name>
  876. <Description>Unique boot entry point</Description>
  877. <BitOffset>0x10</BitOffset>
  878. <BitWidth>0x1</BitWidth>
  879. <Access>RW</Access>
  880. <Values>
  881. <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>
  882. <Val value="0x1">the boot will be done from user flash only, whatever the RDP level</Val>
  883. </Values>
  884. </Bit>
  885. </AssignedBits>
  886. </Field>
  887. </Category>
  888. </Bank>
  889. </Peripheral>
  890. </Peripherals>
  891. </Device>
  892. </Root>