STM32_Prog_DB_0x466.xml 30 KB

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