STM32_Prog_DB.xml 1.4 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346
  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: 0x483 -->
  4. <Device>
  5. <DeviceID>0x483</DeviceID>
  6. <Vendor>STMicroelectronics</Vendor>
  7. <Type>MCU</Type>
  8. <CPU>Cortex-M7</CPU>
  9. <Name>STM32H723xx/STM32H725xx</Name>
  10. <Series>STM32H7</Series>
  11. <Description>ARM 32-bit Cortex-M7 based device</Description>
  12. <Configurations>
  13. <!-- JTAG_SWD Interface -->
  14. <Interface name="JTAG_SWD">
  15. <Configuration number="0x0"> <!-- Security extension available -->
  16. <SecurityEx>
  17. <WriteRegister address="0x580244F4" value="0x2"/>
  18. <ReadRegister address="0x58000528" mask="0x1" value="0x0"/>
  19. </SecurityEx>
  20. </Configuration>
  21. <Configuration number="0x1"> <!-- Security extension not available -->
  22. <SecurityEx>
  23. <WriteRegister address="0x580244F4" value="0x2"/>
  24. <ReadRegister address="0x58000528" mask="0x1" value="0x1"/>
  25. </SecurityEx>
  26. </Configuration>
  27. </Interface>
  28. <!-- Bootloader Interface -->
  29. <Interface name="Bootloader">
  30. <Configuration number="0x0"> <!-- dummy always true, security extension is checked using dedicated cmd -->
  31. <Dummy>
  32. <ReadRegister address="0x08000000" mask="0x0" value="0x0"/>
  33. </Dummy>
  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. <!-- 1024 KB -->
  47. <Configuration>
  48. <Parameters name="SRAM" size="0x20000" address="0x24000000"/>
  49. <Description/>
  50. <Organization>Single</Organization>
  51. <Bank name="Bank 1">
  52. <Field>
  53. <Parameters name="SRAM" size="0x20000" address="0x24000000" occurence="0x1"/>
  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 AXI 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="0x1FF1E880" default="0x100000"/>
  66. <!-- 1MB Single Bank -->
  67. <Configuration config="0,1">
  68. <Parameters name="1 MBytes Single Bank Embedded Flash" size="0x100000" address="0x08000000"/>
  69. <Description/>
  70. <Organization>Single</Organization>
  71. <Allignement>0x20</Allignement>
  72. <Bank name="Bank 1">
  73. <Field>
  74. <Parameters name="sector0" size="0x20000" address="0x08000000" occurence="0x8"/>
  75. </Field>
  76. </Bank>
  77. </Configuration>
  78. </Peripheral>
  79. <!-- Option Bytes -->
  80. <Peripheral>
  81. <Name>Option Bytes</Name>
  82. <Type>Configuration</Type>
  83. <Description/>
  84. <Access>RW</Access>
  85. <Bank>
  86. <Parameters name="Bank 1" size="0x134" address="0x5200201C"/>
  87. <Category>
  88. <Name>Read Out Protection</Name>
  89. <Field>
  90. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  91. <AssignedBits>
  92. <Bit>
  93. <Name>RDP</Name>
  94. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  95. <BitOffset>0x8</BitOffset>
  96. <BitWidth>0x8</BitWidth>
  97. <Access>R</Access>
  98. <Values>
  99. <Val value="0xAA">Level 0, no protection</Val>
  100. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  101. <Val value="0xCC">Level 2, chip protection</Val>
  102. </Values>
  103. </Bit>
  104. </AssignedBits>
  105. </Field>
  106. <Field>
  107. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  108. <AssignedBits>
  109. <Bit>
  110. <Name>RDP</Name>
  111. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  112. <BitOffset>0x8</BitOffset>
  113. <BitWidth>0x8</BitWidth>
  114. <Access>W</Access>
  115. <Values>
  116. <Val value="0xAA">Level 0, no protection</Val>
  117. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  118. <Val value="0xCC">Level 2, chip protection</Val>
  119. </Values>
  120. </Bit>
  121. </AssignedBits>
  122. </Field>
  123. </Category>
  124. <Category>
  125. <Name>BOR Level</Name>
  126. <Field>
  127. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  128. <AssignedBits>
  129. <Bit>
  130. <Name>BOR_LEV</Name>
  131. <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>
  132. <BitOffset>0x2</BitOffset>
  133. <BitWidth>0x2</BitWidth>
  134. <Access>R</Access>
  135. <Values>
  136. <Val value="0x0">BOR OFF</Val>
  137. <Val value="0x1">BOR level1: 2.1V</Val>
  138. <Val value="0x2">BOR level2: 2.4 V</Val>
  139. <Val value="0x3">BOR level3: 2.7 V</Val>
  140. </Values>
  141. </Bit>
  142. </AssignedBits>
  143. </Field>
  144. <Field>
  145. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  146. <AssignedBits>
  147. <Bit>
  148. <Name>BOR_LEV</Name>
  149. <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>
  150. <BitOffset>0x2</BitOffset>
  151. <BitWidth>0x2</BitWidth>
  152. <Access>W</Access>
  153. <Values>
  154. <Val value="0x0">reset level is set to 0.0 V</Val>
  155. <Val value="0x1">reset level is set to 2.1 V</Val>
  156. <Val value="0x2">reset level is set to 2.4 V</Val>
  157. <Val value="0x3">reset level is set to 2.7 V</Val>
  158. </Values>
  159. </Bit>
  160. </AssignedBits>
  161. </Field>
  162. </Category>
  163. <Category>
  164. <Name>User Configuration</Name>
  165. <Field>
  166. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  167. <AssignedBits>
  168. <Bit>
  169. <Name>IWDG1_SW</Name>
  170. <Description/>
  171. <BitOffset>0x4</BitOffset>
  172. <BitWidth>0x1</BitWidth>
  173. <Access>R</Access>
  174. <Values>
  175. <Val value="0x0">Independent watchdog is controlled by hardware</Val>
  176. <Val value="0x1">Independent watchdog is controlled by software</Val>
  177. </Values>
  178. </Bit>
  179. <Bit>
  180. <Name>NRST_STOP</Name>
  181. <Description/>
  182. <BitOffset>0x6</BitOffset>
  183. <BitWidth>0x1</BitWidth>
  184. <Access>R</Access>
  185. <Values>
  186. <Val value="0x0">STOP mode on Domain 1 is entering with reset</Val>
  187. <Val value="0x1">STOP mode on Domain 1 is entering without reset</Val>
  188. </Values>
  189. </Bit>
  190. <Bit>
  191. <Name>NRST_STBY</Name>
  192. <Description/>
  193. <BitOffset>0x7</BitOffset>
  194. <BitWidth>0x1</BitWidth>
  195. <Access>R</Access>
  196. <Values>
  197. <Val value="0x0">STANDBY mode on Domain 1 is entering with reset</Val>
  198. <Val value="0x1">STANDBY mode on Domain 1 is entering without reset</Val>
  199. </Values>
  200. </Bit>
  201. <Bit>
  202. <Name>IO_HSLV</Name>
  203. <Description/>
  204. <BitOffset>0x1D</BitOffset>
  205. <BitWidth>0x1</BitWidth>
  206. <Access>R</Access>
  207. <Values>
  208. <Val value="0x0">Product working in the full voltage range, I/O speed optimization at low-voltage disabled</Val>
  209. <Val value="0x1">Product operating below 2.5 V, I/O speed optimization at low-voltage feature allowed</Val>
  210. </Values>
  211. </Bit>
  212. <Bit>
  213. <Name>FZ_IWDG_STOP</Name>
  214. <Description/>
  215. <BitOffset>0x11</BitOffset>
  216. <BitWidth>0x1</BitWidth>
  217. <Access>R</Access>
  218. <Values>
  219. <Val value="0x0">Independent watchdog is freezed in STOP mode</Val>
  220. <Val value="0x1">Independent watchdog is running in STOP mode</Val>
  221. </Values>
  222. </Bit>
  223. <Bit>
  224. <Name>FZ_IWDG_SDBY</Name>
  225. <Description/>
  226. <BitOffset>0x12</BitOffset>
  227. <BitWidth>0x1</BitWidth>
  228. <Access>R</Access>
  229. <Values>
  230. <Val value="0x0">Independent watchdog is freezed in STANDBY mode</Val>
  231. <Val value="0x1">Independent watchdog is running in STANDBY mode</Val>
  232. </Values>
  233. </Bit>
  234. <Bit config="0,1">
  235. <Name>SECURITY</Name>
  236. <Description/>
  237. <BitOffset>0x15</BitOffset>
  238. <BitWidth>0x1</BitWidth>
  239. <Access>R</Access>
  240. <Values>
  241. <Val value="0x0">Security feature disabled</Val>
  242. <Val value="0x1">Security feature enabled</Val>
  243. </Values>
  244. </Bit>
  245. </AssignedBits>
  246. </Field>
  247. <Field>
  248. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  249. <AssignedBits>
  250. <Bit>
  251. <Name>IWDG1_SW</Name>
  252. <Description/>
  253. <BitOffset>0x4</BitOffset>
  254. <BitWidth>0x1</BitWidth>
  255. <Access>W</Access>
  256. <Values>
  257. <Val value="0x0">Independent watchdog is controlled by hardware</Val>
  258. <Val value="0x1">Independent watchdog is controlled by software</Val>
  259. </Values>
  260. </Bit>
  261. <Bit>
  262. <Name>NRST_STOP</Name>
  263. <Description/>
  264. <BitOffset>0x6</BitOffset>
  265. <BitWidth>0x1</BitWidth>
  266. <Access>W</Access>
  267. <Values>
  268. <Val value="0x0">STOP mode on Domain 1 is entering with reset</Val>
  269. <Val value="0x1">STOP mode on Domain 1 is entering without reset</Val>
  270. </Values>
  271. </Bit>
  272. <Bit>
  273. <Name>NRST_STBY</Name>
  274. <Description/>
  275. <BitOffset>0x7</BitOffset>
  276. <BitWidth>0x1</BitWidth>
  277. <Access>W</Access>
  278. <Values>
  279. <Val value="0x0">STANDBY mode on Domain 1 is entering with reset</Val>
  280. <Val value="0x1">STANDBY mode on Domain 1 is entering without reset</Val>
  281. </Values>
  282. </Bit>
  283. <Bit>
  284. <Name>IO_HSLV</Name>
  285. <Description/>
  286. <BitOffset>0x1D</BitOffset>
  287. <BitWidth>0x1</BitWidth>
  288. <Access>W</Access>
  289. <Values>
  290. <Val value="0x0">Product working in the full voltage range, I/O speed optimization at low-voltage disabled</Val>
  291. <Val value="0x1">Product operating below 2.5 V, I/O speed optimization at low-voltage feature allowed</Val>
  292. </Values>
  293. </Bit>
  294. <Bit>
  295. <Name>FZ_IWDG_STOP</Name>
  296. <Description/>
  297. <BitOffset>0x11</BitOffset>
  298. <BitWidth>0x1</BitWidth>
  299. <Access>W</Access>
  300. <Values>
  301. <Val value="0x0">Independent watchdog is freezed in STOP mode</Val>
  302. <Val value="0x1">Independent watchdog is running in STOP mode</Val>
  303. </Values>
  304. </Bit>
  305. <Bit>
  306. <Name>FZ_IWDG_SDBY</Name>
  307. <Description/>
  308. <BitOffset>0x12</BitOffset>
  309. <BitWidth>0x1</BitWidth>
  310. <Access>W</Access>
  311. <Values>
  312. <Val value="0x0">Independent watchdog is freezed in STANDBY mode</Val>
  313. <Val value="0x1">Independent watchdog is running in STANDBY mode</Val>
  314. </Values>
  315. </Bit>
  316. <Bit config="0,1,2,4,6">
  317. <Name>SECURITY</Name>
  318. <Description/>
  319. <BitOffset>0x15</BitOffset>
  320. <BitWidth>0x1</BitWidth>
  321. <Access>W</Access>
  322. <Values>
  323. <Val value="0x0">Security feature disabled</Val>
  324. <Val value="0x1">Security feature enabled</Val>
  325. </Values>
  326. </Bit>
  327. <Bit config="0,1,2,3">
  328. <Name>SWAP_BANK_OPT</Name>
  329. <Description/>
  330. <BitOffset>0x1F</BitOffset>
  331. <BitWidth>0x1</BitWidth>
  332. <Access>W</Access>
  333. <Values>
  334. <Val value="0x0">after boot loading, no swap for user sectors</Val>
  335. <Val value="0x1">after boot loading, user sectors swapped</Val>
  336. </Values>
  337. </Bit>
  338. </AssignedBits>
  339. </Field>
  340. </Category>
  341. <Category>
  342. <Name>Boot address Option Bytes</Name>
  343. <Field>
  344. <Parameters name="FBOOT7_CUR" size="0x4" address="0x52002040"/>
  345. <AssignedBits>
  346. <Bit>
  347. <Name>BOOT_CM7_ADD0</Name>
  348. <Description>Define the boot address for Cortex-M7 when BOOT0=0</Description>
  349. <BitOffset>0x0</BitOffset>
  350. <BitWidth>0x10</BitWidth>
  351. <Access>R</Access>
  352. <Equation multiplier="0x10000" offset="0x0"/>
  353. </Bit>
  354. <Bit>
  355. <Name>BOOT_CM7_ADD1</Name>
  356. <Description>Define the boot address for Cortex-M7 when BOOT0=1</Description>
  357. <BitOffset>0x10</BitOffset>
  358. <BitWidth>0x10</BitWidth>
  359. <Access>R</Access>
  360. <Equation multiplier="0x10000" offset="0x0"/>
  361. </Bit>
  362. </AssignedBits>
  363. </Field>
  364. <Field>
  365. <Parameters name="FBOOT7_PRG" size="0x4" address="0x52002044"/>
  366. <AssignedBits>
  367. <Bit>
  368. <Name>BOOT_CM7_ADD0</Name>
  369. <Description/>
  370. <BitOffset>0x0</BitOffset>
  371. <BitWidth>0x10</BitWidth>
  372. <Access>W</Access>
  373. <Equation multiplier="0x10000" offset="0x0"/>
  374. </Bit>
  375. <Bit>
  376. <Name>BOOT_CM7_ADD1</Name>
  377. <Description/>
  378. <BitOffset>0x10</BitOffset>
  379. <BitWidth>0x10</BitWidth>
  380. <Access>W</Access>
  381. <Equation multiplier="0x10000" offset="0x0"/>
  382. </Bit>
  383. </AssignedBits>
  384. </Field>
  385. </Category>
  386. <Category>
  387. <Name>PCROP Protection</Name>
  388. <Field>
  389. <Parameters name="FPRAR_CUR_A" size="0x4" address="0x52002028"/>
  390. <AssignedBits>
  391. <Bit>
  392. <Name>PROT_AREA_START</Name>
  393. <Description>Flash Bank PCROP start address</Description>
  394. <BitOffset>0x0</BitOffset>
  395. <BitWidth>0xC</BitWidth>
  396. <Access>R</Access>
  397. <Equation multiplier="0x100" offset="0x08000000"/>
  398. </Bit>
  399. <Bit>
  400. <Name>PROT_AREA_END</Name>
  401. <Description>Flash Bank PCROP End address (excluded). Deactivation of PCROP can be done by enbaling DMEP1 bit and changing RDP from level 1 to level 0 while putting end address greater than start address.</Description>
  402. <BitOffset>0x10</BitOffset>
  403. <BitWidth>0xC</BitWidth>
  404. <Access>R</Access>
  405. <Equation multiplier="0x100" offset="0x080000FF"/>
  406. </Bit>
  407. <Bit>
  408. <Name>DMEP</Name>
  409. <Description/>
  410. <BitOffset>0x1F</BitOffset>
  411. <BitWidth>0x1</BitWidth>
  412. <Access>R</Access>
  413. <Values>
  414. <Val value="0x0">Flash Bank PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  415. <Val value="0x1">Flash Bank PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  416. </Values>
  417. </Bit>
  418. </AssignedBits>
  419. </Field>
  420. <Field>
  421. <Parameters name="FPRAR_PRG_A" size="0x4" address="0x5200202C"/>
  422. <AssignedBits>
  423. <Bit>
  424. <Name>PROT_AREA_START</Name>
  425. <Description>Flash Bank PCROP start address</Description>
  426. <BitOffset>0x0</BitOffset>
  427. <BitWidth>0xC</BitWidth>
  428. <Access>W</Access>
  429. <Equation multiplier="0x100" offset="0x08000000"/>
  430. </Bit>
  431. <Bit>
  432. <Name>PROT_AREA_END</Name>
  433. <Description>Flash Bank PCROP End address (excluded). Deactivation of PCROP can be done by enbaling DMEP1 bit and changing RDP from level 1 to level 0 while putting end address greater than start address</Description>
  434. <BitOffset>0x10</BitOffset>
  435. <BitWidth>0xC</BitWidth>
  436. <Access>W</Access>
  437. <Equation multiplier="0x100" offset="0x080000FF"/>
  438. </Bit>
  439. <Bit>
  440. <Name>DMEP</Name>
  441. <Description/>
  442. <BitOffset>0x1F</BitOffset>
  443. <BitWidth>0x1</BitWidth>
  444. <Access>W</Access>
  445. <Values>
  446. <Val value="0x0">Flash Bank PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  447. <Val value="0x1">Flash Bank PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  448. </Values>
  449. </Bit>
  450. </AssignedBits>
  451. </Field>
  452. </Category>
  453. <Category>
  454. <Name>Secure Protection</Name>
  455. <Field>
  456. <Parameters name="FSCAR_CUR_A" size="0x4" address="0x52002030"/>
  457. <AssignedBits>
  458. <Bit config="0,2,4,6">
  459. <Name>SEC_AREA_START1</Name>
  460. <Description>Flash Bank 1 secure area start address</Description>
  461. <BitOffset>0x0</BitOffset>
  462. <BitWidth>0xC</BitWidth>
  463. <Access>R</Access>
  464. <Equation multiplier="0x100" offset="0x08000000"/>
  465. </Bit>
  466. <Bit config="0,2,4,6">
  467. <Name>SEC_AREA_END1</Name>
  468. <Description>Flash Bank 1 secure area end address. If this address is equal to SEC_AREA_START1, the whole bank 1 is secure protected.If this address is lower than SEC_AREA_START1, no protection is set on bank 1.</Description>
  469. <BitOffset>0x10</BitOffset>
  470. <BitWidth>0xC</BitWidth>
  471. <Access>R</Access>
  472. <Equation multiplier="0x100" offset="0x080000FF"/>
  473. </Bit>
  474. <Bit config="0,2,4,6">
  475. <Name>DMES1</Name>
  476. <Description/>
  477. <BitOffset>0x1F</BitOffset>
  478. <BitWidth>0x1</BitWidth>
  479. <Access>R</Access>
  480. <Values>
  481. <Val value="0x0">Flash Bank 1 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  482. <Val value="0x1">Flash Bank 1 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  483. </Values>
  484. </Bit>
  485. </AssignedBits>
  486. </Field>
  487. <Field>
  488. <Parameters name="FSCAR_PRG_A" size="0x4" address="0x52002034"/>
  489. <AssignedBits>
  490. <Bit config="0,2,4,6">
  491. <Name>SEC_AREA_START1</Name>
  492. <Description>Flash Bank 1 secure area start address</Description>
  493. <BitOffset>0x0</BitOffset>
  494. <BitWidth>0xC</BitWidth>
  495. <Access>W</Access>
  496. <Equation multiplier="0x100" offset="0x08000000"/>
  497. </Bit>
  498. <Bit config="0,2,4,6">
  499. <Name>SEC_AREA_END1</Name>
  500. <Description>Flash Bank 1 secure area end address. If this address is equal to SEC_AREA_START1, the whole bank 1 is secure protected.If this address is lower than SEC_AREA_START1, no protection is set on bank 1.</Description>
  501. <BitOffset>0x10</BitOffset>
  502. <BitWidth>0xC</BitWidth>
  503. <Access>W</Access>
  504. <Equation multiplier="0x100" offset="0x080000FF"/>
  505. </Bit>
  506. <Bit config="0,2,4,6">
  507. <Name>DMES1</Name>
  508. <Description/>
  509. <BitOffset>0x1F</BitOffset>
  510. <BitWidth>0x1</BitWidth>
  511. <Access>W</Access>
  512. <Values>
  513. <Val value="0x0">Flash Bank 1 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  514. <Val value="0x1">Flash Bank 1 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  515. </Values>
  516. </Bit>
  517. </AssignedBits>
  518. </Field>
  519. <Field>
  520. <Parameters name="FSCAR_CUR_B" size="0x4" address="0x52002130"/>
  521. <AssignedBits>
  522. <Bit config="0,2">
  523. <Name>SEC_AREA_START2</Name>
  524. <Description>Flash Bank 2 secure area start address</Description>
  525. <BitOffset>0x0</BitOffset>
  526. <BitWidth>0xC</BitWidth>
  527. <Access>R</Access>
  528. <Equation multiplier="0x100" offset="0x08100000"/>
  529. </Bit>
  530. <Bit config="0,2">
  531. <Name>SEC_AREA_END2</Name>
  532. <Description>Flash Bank 2 secure area end address. If this address is equal to SEC_AREA_START2, the whole bank 2 is secure protected.If this address is lower than SEC_AREA_START2, no protection is set on bank 2.</Description>
  533. <BitOffset>0x10</BitOffset>
  534. <BitWidth>0xC</BitWidth>
  535. <Access>R</Access>
  536. <Equation multiplier="0x100" offset="0x081000FF"/>
  537. </Bit>
  538. <Bit config="0,2">
  539. <Name>DMES2</Name>
  540. <Description/>
  541. <BitOffset>0x1F</BitOffset>
  542. <BitWidth>0x1</BitWidth>
  543. <Access>R</Access>
  544. <Values>
  545. <Val value="0x0">Flash Bank 2 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  546. <Val value="0x1">Flash Bank 2 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  547. </Values>
  548. </Bit>
  549. </AssignedBits>
  550. </Field>
  551. <Field>
  552. <Parameters name="FSCAR_PRG_B" size="0x4" address="0x52002134"/>
  553. <AssignedBits>
  554. <Bit config="0,2">
  555. <Name>SEC_AREA_START2</Name>
  556. <Description>Flash Bank 2 secure area start address</Description>
  557. <BitOffset>0x0</BitOffset>
  558. <BitWidth>0xC</BitWidth>
  559. <Access>W</Access>
  560. <Equation multiplier="0x100" offset="0x08100000"/>
  561. </Bit>
  562. <Bit config="0,2">
  563. <Name>SEC_AREA_END2</Name>
  564. <Description>Flash Bank 2 secure area end address. If this address is equal to SEC_AREA_START2, the whole bank 2 is secure protected.If this address is lower than SEC_AREA_START2, no protection is set on bank 2.</Description>
  565. <BitOffset>0x10</BitOffset>
  566. <BitWidth>0xC</BitWidth>
  567. <Access>W</Access>
  568. <Equation multiplier="0x100" offset="0x081000FF"/>
  569. </Bit>
  570. <Bit config="0,2">
  571. <Name>DMES2</Name>
  572. <Description/>
  573. <BitOffset>0x1F</BitOffset>
  574. <BitWidth>0x1</BitWidth>
  575. <Access>W</Access>
  576. <Values>
  577. <Val value="0x0">Flash Bank 2 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  578. <Val value="0x1">Flash Bank 2 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  579. </Values>
  580. </Bit>
  581. </AssignedBits>
  582. </Field>
  583. </Category>
  584. <Category>
  585. <Name>DTCM RAM Protection</Name>
  586. <Field>
  587. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  588. <AssignedBits>
  589. <Bit>
  590. <Name>ST_RAM_SIZE</Name>
  591. <Description/>
  592. <BitOffset>0x13</BitOffset>
  593. <BitWidth>0x2</BitWidth>
  594. <Access>R</Access>
  595. <Values>
  596. <Val value="0x0">2 KB reserved to ST code</Val>
  597. <Val value="0x1">4 KB reserved to ST code</Val>
  598. <Val value="0x2">8 KB reserved to ST code</Val>
  599. <Val value="0x3">16 KB reserved to ST code</Val>
  600. </Values>
  601. </Bit>
  602. </AssignedBits>
  603. </Field>
  604. <Field>
  605. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  606. <AssignedBits>
  607. <Bit>
  608. <Name>ST_RAM_SIZE</Name>
  609. <Description/>
  610. <BitOffset>0x13</BitOffset>
  611. <BitWidth>0x2</BitWidth>
  612. <Access>W</Access>
  613. <Values>
  614. <Val value="0x0">2 KB reserved to ST code</Val>
  615. <Val value="0x1">4 KB reserved to ST code</Val>
  616. <Val value="0x2">8 KB reserved to ST code</Val>
  617. <Val value="0x3">16 KB reserved to ST code</Val>
  618. </Values>
  619. </Bit>
  620. </AssignedBits>
  621. </Field>
  622. </Category>
  623. <Category>
  624. <Name>Write Protection</Name>
  625. <Field>
  626. <Parameters name="FWPSN_CUR_A" size="0x4" address="0x52002038"/>
  627. <AssignedBits>
  628. <Bit config="0,1">
  629. <Name>nWRP0</Name>
  630. <Description/>
  631. <BitOffset>0x0</BitOffset>
  632. <BitWidth>0x8</BitWidth>
  633. <Access>R</Access>
  634. <Values ByBit="true">
  635. <Val value="0x0">Write protection active</Val>
  636. <Val value="0x1">Write protection not active</Val>
  637. </Values>
  638. </Bit>
  639. </AssignedBits>
  640. </Field>
  641. <Field>
  642. <Parameters name="FWPSN_PRG_A" size="0x4" address="0x5200203C"/>
  643. <AssignedBits>
  644. <Bit config="0,1">
  645. <Name>nWRP0</Name>
  646. <Description/>
  647. <BitOffset>0x0</BitOffset>
  648. <BitWidth>0x8</BitWidth>
  649. <Access>W</Access>
  650. <Values ByBit="true">
  651. <Val value="0x0">Write protection active</Val>
  652. <Val value="0x1">Write protection not active</Val>
  653. </Values>
  654. </Bit>
  655. </AssignedBits>
  656. </Field>
  657. </Category>
  658. <Category>
  659. <Name>TCM_AXI Shared Configuration</Name>
  660. <Field>
  661. <Parameters name="FLASH_OPTSR2_CUR" size="0x4" address="0x52002070"/>
  662. <AssignedBits>
  663. <Bit>
  664. <Name>TCM_AXI_SHARED_CFG</Name>
  665. <Description/>
  666. <BitOffset>0x0</BitOffset>
  667. <BitWidth>0x2</BitWidth>
  668. <Access>R</Access>
  669. <Values>
  670. <Val value="0x0">64 KB ITCM : 320KB system AXI</Val>
  671. <Val value="0x1">128KB ITCM : 256KB system AXI</Val>
  672. <Val value="0x2">192KB ITCM : 192KB system AXI</Val>
  673. <Val value="0x3">256KB ITCM : 128KB system AXI</Val>
  674. </Values>
  675. </Bit>
  676. <Bit>
  677. <Name>CPU_FREQ_BOOST</Name>
  678. <Description/>
  679. <BitOffset>0x2</BitOffset>
  680. <BitWidth>0x1</BitWidth>
  681. <Access>R</Access>
  682. <Values>
  683. <Val value="0x0">Feature disabled</Val>
  684. <Val value="0x1">CPU can operate at a boosted Fmax frequency (no more ECC on I/DTCM)</Val>
  685. </Values>
  686. </Bit>
  687. </AssignedBits>
  688. </Field>
  689. <Field>
  690. <Parameters name="FLASH_OPTSR2_PRG" size="0x4" address="0x52002074"/>
  691. <AssignedBits>
  692. <Bit>
  693. <Name>TCM_AXI_SHARED_CFG</Name>
  694. <Description/>
  695. <BitOffset>0x0</BitOffset>
  696. <BitWidth>0x2</BitWidth>
  697. <Access>W</Access>
  698. <Values>
  699. <Val value="0x0">64KB ITCM : 320KB system AXI</Val>
  700. <Val value="0x1">128KB ITCM : 256KB system AXI</Val>
  701. <Val value="0x2">192KB ITCM : 192KB system AXI</Val>
  702. <Val value="0x3">256KB ITCM : 128KB system AXI</Val>
  703. </Values>
  704. </Bit>
  705. <Bit>
  706. <Name>CPU_FREQ_BOOST</Name>
  707. <Description/>
  708. <BitOffset>0x2</BitOffset>
  709. <BitWidth>0x1</BitWidth>
  710. <Access>W</Access>
  711. <Values>
  712. <Val value="0x0">Feature disabled</Val>
  713. <Val value="0x1">CPU can operate at a boosted Fmax frequency (no more ECC on I/DTCM)</Val>
  714. </Values>
  715. </Bit>
  716. </AssignedBits>
  717. </Field>
  718. </Category>
  719. </Bank>
  720. </Peripheral>
  721. </Peripherals>
  722. </Device>
  723. <!-- Device: 0x496 -->
  724. <Device>
  725. <DeviceID>0x496</DeviceID>
  726. <Vendor>STMicroelectronics</Vendor>
  727. <Type>MCU</Type>
  728. <CPU>Cortex-M0+/M4</CPU>
  729. <Name>STM32WB35xx</Name>
  730. <Series>STM32WB</Series>
  731. <Description>ARM 32-bit Cortex-M0+ and ARM 32-bit Cortex-M4 dual core based device</Description>
  732. <Configurations>
  733. <!-- JTAG_SWD Interface -->
  734. <Interface name="JTAG_SWD"/>
  735. <!-- Bootloader Interface -->
  736. <Interface name="Bootloader"/>
  737. </Configurations>
  738. <!-- Peripherals -->
  739. <Peripherals>
  740. <!-- Embedded SRAM -->
  741. <Peripheral>
  742. <Name>Embedded SRAM</Name>
  743. <Type>Storage</Type>
  744. <Description/>
  745. <ErasedValue>0x00</ErasedValue>
  746. <Access>RWE</Access>
  747. <!-- 192 KB -->
  748. <Configuration>
  749. <Parameters name="SRAM" size="0x10000" address="0x20000000"/>
  750. <Description/>
  751. <Organization>Single</Organization>
  752. <Bank name="Bank 1">
  753. <Field>
  754. <Parameters name="SRAM" size="0x10000" address="0x20000000" occurence="0x1"/>
  755. </Field>
  756. </Bank>
  757. </Configuration>
  758. </Peripheral>
  759. <!-- Embedded Flash -->
  760. <Peripheral>
  761. <Name>Embedded Flash</Name>
  762. <Type>Storage</Type>
  763. <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>
  764. <ErasedValue>0x00</ErasedValue>
  765. <Access>RWE</Access>
  766. <FlashSize address="0x1FFF75E0" default="0x80000"/>
  767. <!-- 1024KB Single Bank -->
  768. <Configuration>
  769. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  770. <Description/>
  771. <Organization>Single</Organization>
  772. <Allignement>0x8</Allignement>
  773. <Bank name="Bank 1">
  774. <Field>
  775. <Parameters name="sector0" size="0x1000" address="0x08000000" occurence="0x80"/>
  776. </Field>
  777. </Bank>
  778. </Configuration>
  779. </Peripheral>
  780. <!-- OTP -->
  781. <Peripheral>
  782. <Name>OTP</Name>
  783. <Type>Storage</Type>
  784. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  785. <ErasedValue>0xFF</ErasedValue>
  786. <Access>RW</Access>
  787. <!-- 1 KBytes single bank -->
  788. <Configuration>
  789. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  790. <Description/>
  791. <Organization>Single</Organization>
  792. <Allignement>0x4</Allignement>
  793. <Bank name="OTP">
  794. <Field>
  795. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  796. </Field>
  797. </Bank>
  798. </Configuration>
  799. </Peripheral>
  800. <!-- Mirror Option Bytes -->
  801. <Peripheral>
  802. <Name>MirrorOptionBytes</Name>
  803. <Type>Storage</Type>
  804. <Description>Mirror Option Bytes contains the extra area.</Description>
  805. <ErasedValue>0xFF</ErasedValue>
  806. <Access>RW</Access>
  807. <!-- 128 Bytes single bank -->
  808. <Configuration>
  809. <Parameters name=" 128 Bytes Data MirrorOptionBytes" size="0x80" address="0x1FFF8000"/>
  810. <Description/>
  811. <Organization>Single</Organization>
  812. <Allignement>0x4</Allignement>
  813. <Bank name="MirrorOptionBytes">
  814. <Field>
  815. <Parameters name="MirrorOptionBytes" size="0x80" address="0x1FFF8000" occurence="0x1"/>
  816. </Field>
  817. </Bank>
  818. </Configuration>
  819. </Peripheral>
  820. <!-- Option Bytes -->
  821. <Peripheral>
  822. <Name>Option Bytes</Name>
  823. <Type>Configuration</Type>
  824. <Description/>
  825. <Access>RW</Access>
  826. <Bank interface="JTAG_SWD">
  827. <Parameters name="Bank 1" size="0x68" address="0x58004020"/>
  828. <Category>
  829. <Name>Read Out Protection</Name>
  830. <Field>
  831. <Parameters name="RDP" size="0x4" address="0x58004020"/>
  832. <AssignedBits>
  833. <Bit>
  834. <Name>RDP</Name>
  835. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  836. <BitOffset>0x0</BitOffset>
  837. <BitWidth>0x8</BitWidth>
  838. <Access>RW</Access>
  839. <Values>
  840. <Val value="0xAA">Level 0, no protection</Val>
  841. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  842. <Val value="0xCC">Level 2, chip protection</Val>
  843. </Values>
  844. </Bit>
  845. </AssignedBits>
  846. </Field>
  847. </Category>
  848. <Category>
  849. <Name>BOR Level</Name>
  850. <Field>
  851. <Parameters name="USER" size="0x4" address="0x58004020"/>
  852. <AssignedBits>
  853. <Bit>
  854. <Name>BOR_LEV</Name>
  855. <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>
  856. <BitOffset>0x9</BitOffset>
  857. <BitWidth>0x3</BitWidth>
  858. <Access>RW</Access>
  859. <Values>
  860. <Val value="0x0">BOR Level 0 reset level threshold is around 1.7 V</Val>
  861. <Val value="0x1">BOR Level 1 reset level threshold is around 2.0 V</Val>
  862. <Val value="0x2">BOR Level 2 reset level threshold is around 2.2 V</Val>
  863. <Val value="0x3">BOR Level 3 reset level threshold is around 2.5 V</Val>
  864. <Val value="0x4">BOR Level 4 reset level threshold is around 2.8 V</Val>
  865. </Values>
  866. </Bit>
  867. </AssignedBits>
  868. </Field>
  869. </Category>
  870. <Category>
  871. <Name>User Configuration</Name>
  872. <Field>
  873. <Parameters name="USER" size="0x4" address="0x58004020"/>
  874. <AssignedBits>
  875. <Bit>
  876. <Name>nBOOT0</Name>
  877. <Description/>
  878. <BitOffset>0x1B</BitOffset>
  879. <BitWidth>0x1</BitWidth>
  880. <Access>RW</Access>
  881. <Values>
  882. <Val value="0x0">nBOOT0=0</Val>
  883. <Val value="0x1">nBOOT0=1</Val>
  884. </Values>
  885. </Bit>
  886. <Bit>
  887. <Name>nBOOT1</Name>
  888. <Description/>
  889. <BitOffset>0x17</BitOffset>
  890. <BitWidth>0x1</BitWidth>
  891. <Access>RW</Access>
  892. <Values>
  893. <Val value="0x0">Boot from code area if BOOT0=0 otherwise system Flash</Val>
  894. <Val value="0x1">Boot from code area if BOOT0=0 otherwise embedded SRAM</Val>
  895. </Values>
  896. </Bit>
  897. <Bit>
  898. <Name>nSWBOOT0</Name>
  899. <Description/>
  900. <BitOffset>0x1A</BitOffset>
  901. <BitWidth>0x1</BitWidth>
  902. <Access>RW</Access>
  903. <Values>
  904. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  905. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  906. </Values>
  907. </Bit>
  908. <Bit>
  909. <Name>SRAM2RST</Name>
  910. <Description/>
  911. <BitOffset>0x19</BitOffset>
  912. <BitWidth>0x1</BitWidth>
  913. <Access>RW</Access>
  914. <Values>
  915. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  916. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  917. </Values>
  918. </Bit>
  919. <Bit>
  920. <Name>SRAM2PE</Name>
  921. <Description/>
  922. <BitOffset>0x18</BitOffset>
  923. <BitWidth>0x1</BitWidth>
  924. <Access>RW</Access>
  925. <Values>
  926. <Val value="0x0">SRAM2 parity check enable</Val>
  927. <Val value="0x1">SRAM2 parity check disable</Val>
  928. </Values>
  929. </Bit>
  930. <Bit>
  931. <Name>nRST_STOP</Name>
  932. <Description/>
  933. <BitOffset>0xC</BitOffset>
  934. <BitWidth>0x1</BitWidth>
  935. <Access>RW</Access>
  936. <Values>
  937. <Val value="0x0">Reset generated when entering the Stop mode</Val>
  938. <Val value="0x1">No reset generated when entering the Stop mode</Val>
  939. </Values>
  940. </Bit>
  941. <Bit>
  942. <Name>nRST_STDBY</Name>
  943. <Description/>
  944. <BitOffset>0xD</BitOffset>
  945. <BitWidth>0x1</BitWidth>
  946. <Access>RW</Access>
  947. <Values>
  948. <Val value="0x0">Reset generated when entering the Standby mode</Val>
  949. <Val value="0x1">No reset generated when entering the Standby mode</Val>
  950. </Values>
  951. </Bit>
  952. <Bit>
  953. <Name>nRSTSHDW</Name>
  954. <Description/>
  955. <BitOffset>0xE</BitOffset>
  956. <BitWidth>0x1</BitWidth>
  957. <Access>RW</Access>
  958. <Values>
  959. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  960. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  961. </Values>
  962. </Bit>
  963. <Bit>
  964. <Name>WWDGSW</Name>
  965. <Description/>
  966. <BitOffset>0x13</BitOffset>
  967. <BitWidth>0x1</BitWidth>
  968. <Access>RW</Access>
  969. <Values>
  970. <Val value="0x0">Hardware window watchdog</Val>
  971. <Val value="0x1">Software window watchdog</Val>
  972. </Values>
  973. </Bit>
  974. <Bit>
  975. <Name>IWGDSTDBY</Name>
  976. <Description/>
  977. <BitOffset>0x12</BitOffset>
  978. <BitWidth>0x1</BitWidth>
  979. <Access>RW</Access>
  980. <Values>
  981. <Val value="0x0">Independent watchdog counter frozen in Standby mode</Val>
  982. <Val value="0x1">Independent watchdog counter running in Standby mode</Val>
  983. </Values>
  984. </Bit>
  985. <Bit>
  986. <Name>IWDGSTOP</Name>
  987. <Description/>
  988. <BitOffset>0x11</BitOffset>
  989. <BitWidth>0x1</BitWidth>
  990. <Access>RW</Access>
  991. <Values>
  992. <Val value="0x0">Independent watchdog counter frozen in Stop mode</Val>
  993. <Val value="0x1">Independent watchdog counter running in Stop mode</Val>
  994. </Values>
  995. </Bit>
  996. <Bit>
  997. <Name>IWDGSW</Name>
  998. <Description/>
  999. <BitOffset>0x10</BitOffset>
  1000. <BitWidth>0x1</BitWidth>
  1001. <Access>RW</Access>
  1002. <Values>
  1003. <Val value="0x0">Hardware independent watchdog</Val>
  1004. <Val value="0x1">Software independent watchdog</Val>
  1005. </Values>
  1006. </Bit>
  1007. </AssignedBits>
  1008. </Field>
  1009. <Field>
  1010. <Parameters name="FLASH_IPCCBR" size="0x4" address="0x5800403C"/>
  1011. <AssignedBits>
  1012. <Bit>
  1013. <Name>IPCCDBA</Name>
  1014. <Description>IPCC mailbox data buffer base address</Description>
  1015. <BitOffset>0x0</BitOffset>
  1016. <BitWidth>0xE</BitWidth>
  1017. <Access>RW</Access>
  1018. </Bit>
  1019. </AssignedBits>
  1020. </Field>
  1021. </Category>
  1022. <Category>
  1023. <Name>Security Configuration Option bytes</Name>
  1024. <Field>
  1025. <Parameters name="FLASH_OPTR" size="0x4" address="0x58004020"/>
  1026. <AssignedBits>
  1027. <Bit>
  1028. <Name>ESE</Name>
  1029. <Description/>
  1030. <BitOffset>0x8</BitOffset>
  1031. <BitWidth>0x1</BitWidth>
  1032. <Access>R</Access>
  1033. <Values>
  1034. <Val value="0x0">Security disabled</Val>
  1035. <Val value="0x1">Security enabled</Val>
  1036. </Values>
  1037. </Bit>
  1038. </AssignedBits>
  1039. </Field>
  1040. <Field>
  1041. <Parameters name="FLASH_SFR" size="0x4" address="0x58004080"/>
  1042. <AssignedBits>
  1043. <Bit>
  1044. <Name>SFSA</Name>
  1045. <Description>Secure Flash start address</Description>
  1046. <BitOffset>0x0</BitOffset>
  1047. <BitWidth>0x7</BitWidth>
  1048. <Access>RW</Access>
  1049. </Bit>
  1050. <Bit>
  1051. <Name>FSD</Name>
  1052. <Description/>
  1053. <BitOffset>0x7</BitOffset>
  1054. <BitWidth>0x1</BitWidth>
  1055. <Access>RW</Access>
  1056. <Values>
  1057. <Val value="0x0">System and Flash secure</Val>
  1058. <Val value="0x1">System and Flash non-secure</Val>
  1059. </Values>
  1060. </Bit>
  1061. <Bit>
  1062. <Name>DDS</Name>
  1063. <Description/>
  1064. <BitOffset>0xC</BitOffset>
  1065. <BitWidth>0x1</BitWidth>
  1066. <Access>RW</Access>
  1067. <Values>
  1068. <Val value="0x0">CPU2 debug access enabled</Val>
  1069. <Val value="0x1">CPU2 debug access disabled</Val>
  1070. </Values>
  1071. </Bit>
  1072. </AssignedBits>
  1073. </Field>
  1074. <Field>
  1075. <Parameters name="FLASH_SRRVR" size="0x4" address="0x58004084"/>
  1076. <AssignedBits>
  1077. <Bit>
  1078. <Name>C2OPT</Name>
  1079. <Description/>
  1080. <BitOffset>0x1F</BitOffset>
  1081. <BitWidth>0x1</BitWidth>
  1082. <Access>RW</Access>
  1083. <Values>
  1084. <Val value="0x0">SBRV will address SRAM2</Val>
  1085. <Val value="0x1">SBRV will address Flash</Val>
  1086. </Values>
  1087. </Bit>
  1088. <Bit>
  1089. <Name>NBRSD</Name>
  1090. <Description>If FSD=1 : SRAM2b is non-secure. If FSD=0 :</Description>
  1091. <BitOffset>0x1E</BitOffset>
  1092. <BitWidth>0x1</BitWidth>
  1093. <Access>RW</Access>
  1094. <Values>
  1095. <Val value="0x0">SRAM2b is secure</Val>
  1096. <Val value="0x1">SRAM2b is non-secure</Val>
  1097. </Values>
  1098. </Bit>
  1099. <Bit>
  1100. <Name>SNBRSA</Name>
  1101. <Description>SNBRSA[4:0] contains the start address of the first 1K page of the secure non-backup SRAM2b area.</Description>
  1102. <BitOffset>0x19</BitOffset>
  1103. <BitWidth>0x5</BitWidth>
  1104. <Access>RW</Access>
  1105. </Bit>
  1106. <Bit>
  1107. <Name>BRSD</Name>
  1108. <Description>If FSD=1 : SRAM2a is non-secure. If FSD=0 :</Description>
  1109. <BitOffset>0x17</BitOffset>
  1110. <BitWidth>0x1</BitWidth>
  1111. <Access>RW</Access>
  1112. <Values>
  1113. <Val value="0x0">SRAM2a is secure</Val>
  1114. <Val value="0x1">SRAM2a is non-secure</Val>
  1115. </Values>
  1116. </Bit>
  1117. <Bit>
  1118. <Name>SBRSA</Name>
  1119. <Description>SBRSA[4:0] contains the start address of the first 1K page of the secure backup SRAM2a area.</Description>
  1120. <BitOffset>0x12</BitOffset>
  1121. <BitWidth>0x5</BitWidth>
  1122. <Access>RW</Access>
  1123. </Bit>
  1124. <Bit>
  1125. <Name>SBRV</Name>
  1126. <Description>Contains the word aligned CPU2 boot reset start address offset within the selected. memory area by C2OPT.</Description>
  1127. <BitOffset>0x0</BitOffset>
  1128. <BitWidth>0x11</BitWidth>
  1129. <Access>RW</Access>
  1130. </Bit>
  1131. </AssignedBits>
  1132. </Field>
  1133. </Category>
  1134. <Category>
  1135. <Name>PCROP Protection</Name>
  1136. <Field>
  1137. <Parameters name="PCROP1ASR" size="0x4" address="0x58004024"/>
  1138. <AssignedBits>
  1139. <Bit>
  1140. <Name>PCROP1A_STRT</Name>
  1141. <Description>Flash Bank 1 PCROP start address</Description>
  1142. <BitOffset>0x0</BitOffset>
  1143. <BitWidth>0x9</BitWidth>
  1144. <Access>RW</Access>
  1145. <Equation multiplier="0x8" offset="0x08000000"/>
  1146. </Bit>
  1147. </AssignedBits>
  1148. </Field>
  1149. <Field>
  1150. <Parameters name="PCROP1AER" size="0x4" address="0x58004028"/>
  1151. <AssignedBits>
  1152. <Bit>
  1153. <Name>PCROP1A_END</Name>
  1154. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP. from level 1 to level 0.</Description>
  1155. <BitOffset>0x0</BitOffset>
  1156. <BitWidth>0x9</BitWidth>
  1157. <Access>RW</Access>
  1158. <Equation multiplier="0x8" offset="0x08000008"/>
  1159. </Bit>
  1160. <Bit>
  1161. <Name>PCROP_RDP</Name>
  1162. <Description/>
  1163. <BitOffset>0x1F</BitOffset>
  1164. <BitWidth>0x1</BitWidth>
  1165. <Access>RW</Access>
  1166. <Values>
  1167. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  1168. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  1169. </Values>
  1170. </Bit>
  1171. </AssignedBits>
  1172. </Field>
  1173. <Field>
  1174. <Parameters name="PCROP1BSR" size="0x4" address="0x58004034"/>
  1175. <AssignedBits>
  1176. <Bit>
  1177. <Name>PCROP1B_STRT</Name>
  1178. <Description>Flash Bank 2 PCROP start address</Description>
  1179. <BitOffset>0x0</BitOffset>
  1180. <BitWidth>0x9</BitWidth>
  1181. <Access>RW</Access>
  1182. <Equation multiplier="0x8" offset="0x08000000"/>
  1183. </Bit>
  1184. </AssignedBits>
  1185. </Field>
  1186. <Field>
  1187. <Parameters name="PCROP1BER" size="0x4" address="0x58004038"/>
  1188. <AssignedBits>
  1189. <Bit>
  1190. <Name>PCROP1B_END</Name>
  1191. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP. from level 1 to level 0.</Description>
  1192. <BitOffset>0x0</BitOffset>
  1193. <BitWidth>0x9</BitWidth>
  1194. <Access>RW</Access>
  1195. <Equation multiplier="0x8" offset="0x08000008"/>
  1196. </Bit>
  1197. </AssignedBits>
  1198. </Field>
  1199. </Category>
  1200. <Category>
  1201. <Name>Write Protection</Name>
  1202. <Field>
  1203. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x5800402C"/>
  1204. <AssignedBits>
  1205. <Bit>
  1206. <Name>WRP1A_STRT</Name>
  1207. <Description>The address of the first page of the Bank 1 WRP first area.</Description>
  1208. <BitOffset>0x0</BitOffset>
  1209. <BitWidth>0x8</BitWidth>
  1210. <Access>RW</Access>
  1211. <Equation multiplier="0x1000" offset="0x08000000"/>
  1212. </Bit>
  1213. <Bit>
  1214. <Name>WRP1A_END</Name>
  1215. <Description>The address of the last page of the Bank 1 WRP first area.</Description>
  1216. <BitOffset>0x10</BitOffset>
  1217. <BitWidth>0x8</BitWidth>
  1218. <Access>RW</Access>
  1219. <Equation multiplier="0x1000" offset="0x08000000"/>
  1220. </Bit>
  1221. </AssignedBits>
  1222. </Field>
  1223. <Field>
  1224. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x58004030"/>
  1225. <AssignedBits>
  1226. <Bit>
  1227. <Name>WRP1B_STRT</Name>
  1228. <Description>The address of the first page of the Bank 1 WRP second area.</Description>
  1229. <BitOffset>0x0</BitOffset>
  1230. <BitWidth>0x8</BitWidth>
  1231. <Access>RW</Access>
  1232. <Equation multiplier="0x1000" offset="0x08000000"/>
  1233. </Bit>
  1234. <Bit>
  1235. <Name>WRP1B_END</Name>
  1236. <Description>The address of the last page of the Bank 1 WRP second area.</Description>
  1237. <BitOffset>0x10</BitOffset>
  1238. <BitWidth>0x8</BitWidth>
  1239. <Access>RW</Access>
  1240. <Equation multiplier="0x1000" offset="0x08000000"/>
  1241. </Bit>
  1242. </AssignedBits>
  1243. </Field>
  1244. </Category>
  1245. </Bank>
  1246. <Bank interface="Bootloader">
  1247. <Parameters name="Bank 1" size="0x80" address="0x1FFF8000"/>
  1248. <Category>
  1249. <Name>Read Out Protection</Name>
  1250. <Field>
  1251. <Parameters name="RDP" size="0x4" address="0x1FFF8000"/>
  1252. <AssignedBits>
  1253. <Bit>
  1254. <Name>RDP</Name>
  1255. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  1256. <BitOffset>0x0</BitOffset>
  1257. <BitWidth>0x8</BitWidth>
  1258. <Access>RW</Access>
  1259. <Values>
  1260. <Val value="0xAA">Level 0, no protection</Val>
  1261. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  1262. <Val value="0xCC">Level 2, chip protection</Val>
  1263. </Values>
  1264. </Bit>
  1265. </AssignedBits>
  1266. </Field>
  1267. </Category>
  1268. <Category>
  1269. <Name>BOR Level</Name>
  1270. <Field>
  1271. <Parameters name="USER" size="0x4" address="0x1FFF8000"/>
  1272. <AssignedBits>
  1273. <Bit>
  1274. <Name>BOR_LEV</Name>
  1275. <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>
  1276. <BitOffset>0x9</BitOffset>
  1277. <BitWidth>0x3</BitWidth>
  1278. <Access>RW</Access>
  1279. <Values>
  1280. <Val value="0x0">BOR Level 0 reset level threshold is around 1.7 V</Val>
  1281. <Val value="0x1">BOR Level 1 reset level threshold is around 2.0 V</Val>
  1282. <Val value="0x2">BOR Level 2 reset level threshold is around 2.2 V</Val>
  1283. <Val value="0x3">BOR Level 3 reset level threshold is around 2.5 V</Val>
  1284. <Val value="0x4">BOR Level 4 reset level threshold is around 2.8 V</Val>
  1285. </Values>
  1286. </Bit>
  1287. </AssignedBits>
  1288. </Field>
  1289. </Category>
  1290. <Category>
  1291. <Name>User Configuration</Name>
  1292. <Field>
  1293. <Parameters name="USER" size="0x4" address="0x1FFF8000"/>
  1294. <AssignedBits>
  1295. <Bit>
  1296. <Name>nBOOT0</Name>
  1297. <Description/>
  1298. <BitOffset>0x1B</BitOffset>
  1299. <BitWidth>0x1</BitWidth>
  1300. <Access>RW</Access>
  1301. <Values>
  1302. <Val value="0x0">nBOOT0=0</Val>
  1303. <Val value="0x1">nBOOT0=1</Val>
  1304. </Values>
  1305. </Bit>
  1306. <Bit>
  1307. <Name>nBOOT1</Name>
  1308. <Description/>
  1309. <BitOffset>0x17</BitOffset>
  1310. <BitWidth>0x1</BitWidth>
  1311. <Access>RW</Access>
  1312. <Values>
  1313. <Val value="0x0">Boot from code area if BOOT0=0 otherwise system Flash</Val>
  1314. <Val value="0x1">Boot from code area if BOOT0=0 otherwise embedded SRAM</Val>
  1315. </Values>
  1316. </Bit>
  1317. <Bit>
  1318. <Name>nSWBOOT0</Name>
  1319. <Description/>
  1320. <BitOffset>0x1A</BitOffset>
  1321. <BitWidth>0x1</BitWidth>
  1322. <Access>RW</Access>
  1323. <Values>
  1324. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  1325. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  1326. </Values>
  1327. </Bit>
  1328. <Bit>
  1329. <Name>SRAM2RST</Name>
  1330. <Description/>
  1331. <BitOffset>0x19</BitOffset>
  1332. <BitWidth>0x1</BitWidth>
  1333. <Access>RW</Access>
  1334. <Values>
  1335. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  1336. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  1337. </Values>
  1338. </Bit>
  1339. <Bit>
  1340. <Name>SRAM2PE</Name>
  1341. <Description/>
  1342. <BitOffset>0x18</BitOffset>
  1343. <BitWidth>0x1</BitWidth>
  1344. <Access>RW</Access>
  1345. <Values>
  1346. <Val value="0x0">SRAM2 parity check enable</Val>
  1347. <Val value="0x1">SRAM2 parity check disable</Val>
  1348. </Values>
  1349. </Bit>
  1350. <Bit>
  1351. <Name>nRST_STOP</Name>
  1352. <Description/>
  1353. <BitOffset>0xC</BitOffset>
  1354. <BitWidth>0x1</BitWidth>
  1355. <Access>RW</Access>
  1356. <Values>
  1357. <Val value="0x0">Reset generated when entering the Stop mode</Val>
  1358. <Val value="0x1">No reset generated when entering the Stop mode</Val>
  1359. </Values>
  1360. </Bit>
  1361. <Bit>
  1362. <Name>nRST_STDBY</Name>
  1363. <Description/>
  1364. <BitOffset>0xD</BitOffset>
  1365. <BitWidth>0x1</BitWidth>
  1366. <Access>RW</Access>
  1367. <Values>
  1368. <Val value="0x0">Reset generated when entering the Standby mode</Val>
  1369. <Val value="0x1">No reset generated when entering the Standby mode</Val>
  1370. </Values>
  1371. </Bit>
  1372. <Bit>
  1373. <Name>nRSTSHDW</Name>
  1374. <Description/>
  1375. <BitOffset>0xE</BitOffset>
  1376. <BitWidth>0x1</BitWidth>
  1377. <Access>RW</Access>
  1378. <Values>
  1379. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  1380. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  1381. </Values>
  1382. </Bit>
  1383. <Bit>
  1384. <Name>WWDGSW</Name>
  1385. <Description/>
  1386. <BitOffset>0x13</BitOffset>
  1387. <BitWidth>0x1</BitWidth>
  1388. <Access>RW</Access>
  1389. <Values>
  1390. <Val value="0x0">Hardware window watchdog</Val>
  1391. <Val value="0x1">Software window watchdog</Val>
  1392. </Values>
  1393. </Bit>
  1394. <Bit>
  1395. <Name>IWGDSTDBY</Name>
  1396. <Description/>
  1397. <BitOffset>0x12</BitOffset>
  1398. <BitWidth>0x1</BitWidth>
  1399. <Access>RW</Access>
  1400. <Values>
  1401. <Val value="0x0">Independent watchdog counter frozen in Standby mode</Val>
  1402. <Val value="0x1">Independent watchdog counter running in Standby mode</Val>
  1403. </Values>
  1404. </Bit>
  1405. <Bit>
  1406. <Name>IWDGSTOP</Name>
  1407. <Description/>
  1408. <BitOffset>0x11</BitOffset>
  1409. <BitWidth>0x1</BitWidth>
  1410. <Access>RW</Access>
  1411. <Values>
  1412. <Val value="0x0">Independent watchdog counter frozen in Stop mode</Val>
  1413. <Val value="0x1">Independent watchdog counter running in Stop mode</Val>
  1414. </Values>
  1415. </Bit>
  1416. <Bit>
  1417. <Name>IWDGSW</Name>
  1418. <Description/>
  1419. <BitOffset>0x10</BitOffset>
  1420. <BitWidth>0x1</BitWidth>
  1421. <Access>RW</Access>
  1422. <Values>
  1423. <Val value="0x0">Hardware independent watchdog</Val>
  1424. <Val value="0x1">Software independent watchdog</Val>
  1425. </Values>
  1426. </Bit>
  1427. </AssignedBits>
  1428. </Field>
  1429. <Field>
  1430. <Parameters name="FLASH_IPCCBR" size="0x4" address="0x1FFF8068"/>
  1431. <AssignedBits>
  1432. <Bit>
  1433. <Name>IPCCDBA</Name>
  1434. <Description>IPCC mailbox data buffer base address</Description>
  1435. <BitOffset>0x0</BitOffset>
  1436. <BitWidth>0xE</BitWidth>
  1437. <Access>RW</Access>
  1438. </Bit>
  1439. </AssignedBits>
  1440. </Field>
  1441. </Category>
  1442. <Category>
  1443. <Name>Security Configuration Option bytes</Name>
  1444. <Field>
  1445. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF8000"/>
  1446. <AssignedBits>
  1447. <Bit>
  1448. <Name>ESE</Name>
  1449. <Description/>
  1450. <BitOffset>0x8</BitOffset>
  1451. <BitWidth>0x1</BitWidth>
  1452. <Access>R</Access>
  1453. <Values>
  1454. <Val value="0x0">Security disabled</Val>
  1455. <Val value="0x1">Security enabled</Val>
  1456. </Values>
  1457. </Bit>
  1458. </AssignedBits>
  1459. </Field>
  1460. <Field>
  1461. <Parameters name="FLASH_SFR" size="0x4" address="0x1FFF8070"/>
  1462. <AssignedBits>
  1463. <Bit>
  1464. <Name>SFSA</Name>
  1465. <Description>Secure Flash start address</Description>
  1466. <BitOffset>0x0</BitOffset>
  1467. <BitWidth>0x8</BitWidth>
  1468. <Access>RW</Access>
  1469. </Bit>
  1470. <Bit>
  1471. <Name>FSD</Name>
  1472. <Description/>
  1473. <BitOffset>0x8</BitOffset>
  1474. <BitWidth>0x1</BitWidth>
  1475. <Access>RW</Access>
  1476. <Values>
  1477. <Val value="0x0">System and Flash secure</Val>
  1478. <Val value="0x1">System and Flash non-secure</Val>
  1479. </Values>
  1480. </Bit>
  1481. <Bit>
  1482. <Name>DDS</Name>
  1483. <Description/>
  1484. <BitOffset>0xC</BitOffset>
  1485. <BitWidth>0x1</BitWidth>
  1486. <Access>RW</Access>
  1487. <Values>
  1488. <Val value="0x0">CPU2 debug access enabled</Val>
  1489. <Val value="0x1">CPU2 debug access disabled</Val>
  1490. </Values>
  1491. </Bit>
  1492. </AssignedBits>
  1493. </Field>
  1494. <Field>
  1495. <Parameters name="FLASH_SRRVR" size="0x4" address="0x1FFF8078"/>
  1496. <AssignedBits>
  1497. <Bit>
  1498. <Name>C2OPT</Name>
  1499. <Description/>
  1500. <BitOffset>0x1F</BitOffset>
  1501. <BitWidth>0x1</BitWidth>
  1502. <Access>RW</Access>
  1503. <Values>
  1504. <Val value="0x0">SBRV will address SRAM2</Val>
  1505. <Val value="0x1">SBRV will address Flash</Val>
  1506. </Values>
  1507. </Bit>
  1508. <Bit>
  1509. <Name>NBRSD</Name>
  1510. <Description>If FSD=1 : SRAM2b is non-secure. If FSD=0 :</Description>
  1511. <BitOffset>0x1E</BitOffset>
  1512. <BitWidth>0x1</BitWidth>
  1513. <Access>RW</Access>
  1514. <Values>
  1515. <Val value="0x0">SRAM2b is secure</Val>
  1516. <Val value="0x1">SRAM2b is non-secure</Val>
  1517. </Values>
  1518. </Bit>
  1519. <Bit>
  1520. <Name>SNBRSA</Name>
  1521. <Description>SNBRSA[4:0] contains the start address of the first 1K page of the secure non-backup SRAM2b area.</Description>
  1522. <BitOffset>0x19</BitOffset>
  1523. <BitWidth>0x5</BitWidth>
  1524. <Access>RW</Access>
  1525. </Bit>
  1526. <Bit>
  1527. <Name>BRSD</Name>
  1528. <Description>If FSD=1: SRAM2a is non-secure. If FSD=0 :</Description>
  1529. <BitOffset>0x17</BitOffset>
  1530. <BitWidth>0x1</BitWidth>
  1531. <Access>RW</Access>
  1532. <Values>
  1533. <Val value="0x0">SRAM2a is secure</Val>
  1534. <Val value="0x1">SRAM2a is non-secure</Val>
  1535. </Values>
  1536. </Bit>
  1537. <Bit>
  1538. <Name>SBRSA</Name>
  1539. <Description>SBRSA[4:0] contains the start address of the first 1K page of the secure backup SRAM2a area.</Description>
  1540. <BitOffset>0x12</BitOffset>
  1541. <BitWidth>0x5</BitWidth>
  1542. <Access>RW</Access>
  1543. </Bit>
  1544. <Bit>
  1545. <Name>SBRV</Name>
  1546. <Description>Contains the word aligned CPU2 boot reset start address offset within the selected. memory area by C2OPT.</Description>
  1547. <BitOffset>0x0</BitOffset>
  1548. <BitWidth>0x12</BitWidth>
  1549. <Access>RW</Access>
  1550. </Bit>
  1551. </AssignedBits>
  1552. </Field>
  1553. </Category>
  1554. <Category>
  1555. <Name>PCROP Protection</Name>
  1556. <Field>
  1557. <Parameters name="PCROP1ASR" size="0x4" address="0x1FFF8008"/>
  1558. <AssignedBits>
  1559. <Bit>
  1560. <Name>PCROP1A_STRT</Name>
  1561. <Description>Flash Bank 1 PCROP start address</Description>
  1562. <BitOffset>0x0</BitOffset>
  1563. <BitWidth>0x9</BitWidth>
  1564. <Access>RW</Access>
  1565. <Equation multiplier="0x8" offset="0x08000000"/>
  1566. </Bit>
  1567. </AssignedBits>
  1568. </Field>
  1569. <Field>
  1570. <Parameters name="PCROP1AER" size="0x4" address="0x1FFF8010"/>
  1571. <AssignedBits>
  1572. <Bit>
  1573. <Name>PCROP1A_END</Name>
  1574. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP. from level 1 to level 0.</Description>
  1575. <BitOffset>0x0</BitOffset>
  1576. <BitWidth>0x9</BitWidth>
  1577. <Access>RW</Access>
  1578. <Equation multiplier="0x8" offset="0x08000008"/>
  1579. </Bit>
  1580. <Bit>
  1581. <Name>PCROP_RDP</Name>
  1582. <Description/>
  1583. <BitOffset>0x1F</BitOffset>
  1584. <BitWidth>0x1</BitWidth>
  1585. <Access>RW</Access>
  1586. <Values>
  1587. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  1588. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  1589. </Values>
  1590. </Bit>
  1591. </AssignedBits>
  1592. </Field>
  1593. <Field>
  1594. <Parameters name="PCROP1BSR" size="0x4" address="0x1FFF8028"/>
  1595. <AssignedBits>
  1596. <Bit>
  1597. <Name>PCROP1B_STRT</Name>
  1598. <Description>Flash Bank 2 PCROP start address</Description>
  1599. <BitOffset>0x0</BitOffset>
  1600. <BitWidth>0x9</BitWidth>
  1601. <Access>RW</Access>
  1602. <Equation multiplier="0x8" offset="0x08000000"/>
  1603. </Bit>
  1604. </AssignedBits>
  1605. </Field>
  1606. <Field>
  1607. <Parameters name="PCROP1BER" size="0x4" address="0x1FFF8030"/>
  1608. <AssignedBits>
  1609. <Bit>
  1610. <Name>PCROP1B_END</Name>
  1611. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP. from level 1 to level 0.</Description>
  1612. <BitOffset>0x0</BitOffset>
  1613. <BitWidth>0x9</BitWidth>
  1614. <Access>RW</Access>
  1615. <Equation multiplier="0x8" offset="0x08000008"/>
  1616. </Bit>
  1617. </AssignedBits>
  1618. </Field>
  1619. </Category>
  1620. <Category>
  1621. <Name>Write Protection</Name>
  1622. <Field>
  1623. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF8018"/>
  1624. <AssignedBits>
  1625. <Bit>
  1626. <Name>WRP1A_STRT</Name>
  1627. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  1628. <BitOffset>0x0</BitOffset>
  1629. <BitWidth>0x8</BitWidth>
  1630. <Access>RW</Access>
  1631. <Equation multiplier="0x1000" offset="0x08000000"/>
  1632. </Bit>
  1633. <Bit>
  1634. <Name>WRP1A_END</Name>
  1635. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  1636. <BitOffset>0x10</BitOffset>
  1637. <BitWidth>0x8</BitWidth>
  1638. <Access>RW</Access>
  1639. <Equation multiplier="0x1000" offset="0x08000000"/>
  1640. </Bit>
  1641. </AssignedBits>
  1642. </Field>
  1643. <Field>
  1644. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF8020"/>
  1645. <AssignedBits>
  1646. <Bit>
  1647. <Name>WRP1B_STRT</Name>
  1648. <Description>The address of the first page of the Bank 1 WRP second area.</Description>
  1649. <BitOffset>0x0</BitOffset>
  1650. <BitWidth>0x8</BitWidth>
  1651. <Access>RW</Access>
  1652. <Equation multiplier="0x1000" offset="0x08000000"/>
  1653. </Bit>
  1654. <Bit>
  1655. <Name>WRP1B_END</Name>
  1656. <Description>The address of the last page of the Bank 1 WRP second area.</Description>
  1657. <BitOffset>0x10</BitOffset>
  1658. <BitWidth>0x8</BitWidth>
  1659. <Access>RW</Access>
  1660. <Equation multiplier="0x1000" offset="0x08000000"/>
  1661. </Bit>
  1662. </AssignedBits>
  1663. </Field>
  1664. </Category>
  1665. </Bank>
  1666. </Peripheral>
  1667. </Peripherals>
  1668. </Device>
  1669. <!-- Device: 0x469 -->
  1670. <Device>
  1671. <DeviceID>0x469</DeviceID>
  1672. <Vendor>STMicroelectronics</Vendor>
  1673. <Type>MCU</Type>
  1674. <CPU>Cortex-M4</CPU>
  1675. <Name>STM32G47x/G48x</Name>
  1676. <Series>STM32G4</Series>
  1677. <Description>Category 3 devices, ARM 32-bit Cortex-M4 based device</Description>
  1678. <Configurations>
  1679. <!-- JTAG_SWD Interface -->
  1680. <Interface name="JTAG_SWD">
  1681. <Configuration number="0x0">
  1682. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  1683. </Configuration>
  1684. <Configuration number="0x1">
  1685. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  1686. </Configuration>
  1687. <Configuration number="0x2">
  1688. <dummy> <ReadRegister address="0x20000000" mask="0" value="0"/> </dummy>
  1689. </Configuration>
  1690. </Interface>
  1691. <!-- Bootloader Interface -->
  1692. <Interface name="Bootloader">
  1693. <Configuration number="0x0">
  1694. <DBANK reference="0x0"> <ReadRegister address="0x1FFF7800" mask="0x10000" value="0x0"/> </DBANK>
  1695. </Configuration>
  1696. <Configuration number="0x1">
  1697. <DBANK reference="0x1"> <ReadRegister address="0x1FFF7800" mask="0x10000" value="0x10000"/> </DBANK>
  1698. </Configuration>
  1699. <Configuration number="0x2">
  1700. <dummy> <ReadRegister address="0x20000000" mask="0" value="0"/> </dummy>
  1701. </Configuration>
  1702. </Interface>
  1703. </Configurations>
  1704. <!-- Peripherals -->
  1705. <Peripherals>
  1706. <!-- Embedded SRAM -->
  1707. <Peripheral>
  1708. <Name>Embedded SRAM</Name>
  1709. <Type>Storage</Type>
  1710. <Description/>
  1711. <ErasedValue>0x00</ErasedValue>
  1712. <Access>RWE</Access>
  1713. <!-- 96 KB -->
  1714. <Configuration>
  1715. <Parameters name="SRAM" size="0x18000" address="0x20000000"/>
  1716. <Description/>
  1717. <Organization>Single</Organization>
  1718. <Bank name="Bank 1">
  1719. <Field>
  1720. <Parameters name="SRAM" size="0x18000" address="0x20000000" occurence="0x1"/>
  1721. </Field>
  1722. </Bank>
  1723. </Configuration>
  1724. </Peripheral>
  1725. <!-- Embedded Flash -->
  1726. <Peripheral>
  1727. <Name>Embedded Flash</Name>
  1728. <Type>Storage</Type>
  1729. <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>
  1730. <ErasedValue>0xFF</ErasedValue>
  1731. <Access>RWE</Access>
  1732. <FlashSize address="0x1FFF75E0" default="0x80000"/>
  1733. <!-- 1MB dual Bank -->
  1734. <Configuration config="0"> <!-- single Bank -->
  1735. <Parameters name=" 512 Kbyte Embedded Flash" size="0x80000" address="0x08000000"/>
  1736. <Description/>
  1737. <Organization>Single</Organization>
  1738. <Allignement>0x8</Allignement>
  1739. <Bank name="Bank 1">
  1740. <Field>
  1741. <Parameters name="sector0" size="0x1000" address="0x08000000" occurence="0x80"/>
  1742. </Field>
  1743. </Bank>
  1744. </Configuration>
  1745. <Configuration config="1,2"> <!-- dual Bank -->
  1746. <Parameters name=" 512 Kbyte Embedded Flash" size="0x80000" address="0x08000000"/>
  1747. <Description/>
  1748. <Organization>Dual</Organization>
  1749. <Allignement>0x8</Allignement>
  1750. <Bank name="Bank 1">
  1751. <Field>
  1752. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x80"/>
  1753. </Field>
  1754. </Bank>
  1755. <Bank name="Bank 2">
  1756. <Field>
  1757. <Parameters name="sector128" size="0x800" address="0x08040000" occurence="0x80"/>
  1758. </Field>
  1759. </Bank>
  1760. </Configuration>
  1761. </Peripheral>
  1762. <!-- OTP -->
  1763. <Peripheral>
  1764. <Name>OTP</Name>
  1765. <Type>Storage</Type>
  1766. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  1767. <ErasedValue>0xFF</ErasedValue>
  1768. <Access>RW</Access>
  1769. <!-- 1 KBytes single bank -->
  1770. <Configuration>
  1771. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  1772. <Description/>
  1773. <Organization>Single</Organization>
  1774. <Allignement>0x4</Allignement>
  1775. <Bank name="OTP">
  1776. <Field>
  1777. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  1778. </Field>
  1779. </Bank>
  1780. </Configuration>
  1781. </Peripheral>
  1782. <!-- Mirror Option Bytes -->
  1783. <Peripheral>
  1784. <Name>MirrorOptionBytes</Name>
  1785. <Type>Storage</Type>
  1786. <Description>Mirror Option Bytes contains the extra area.</Description>
  1787. <ErasedValue>0xFF</ErasedValue>
  1788. <Access>RW</Access>
  1789. <!-- 64 Bytes single bank -->
  1790. <Configuration>
  1791. <Parameters name=" 64 Bytes Data MirrorOptionBytes" size="0x40" address="0x1FFF7800"/>
  1792. <Description/>
  1793. <Organization>Single</Organization>
  1794. <Allignement>0x4</Allignement>
  1795. <Bank name="Bank 1">
  1796. <Field>
  1797. <Parameters name="Bank1" size="0x24" address="0x1FFF7800" occurence="0x1"/>
  1798. </Field>
  1799. </Bank>
  1800. <Bank name="Bank 2">
  1801. <Field>
  1802. <Parameters name="Bank2" size="0x1C" address="0x1FFFF808" occurence="0x1"/>
  1803. </Field>
  1804. </Bank>
  1805. </Configuration>
  1806. </Peripheral>
  1807. <!-- Option Bytes -->
  1808. <Peripheral>
  1809. <Name>Option Bytes</Name>
  1810. <Type>Configuration</Type>
  1811. <Description/>
  1812. <Access>RW</Access>
  1813. <Bank interface="JTAG_SWD">
  1814. <Parameters name="Bank 1" size="0x14" address="0x40022020"/>
  1815. <Category>
  1816. <Name>Read Out Protection</Name>
  1817. <Field>
  1818. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  1819. <AssignedBits>
  1820. <Bit>
  1821. <Name>RDP</Name>
  1822. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  1823. <BitOffset>0x0</BitOffset>
  1824. <BitWidth>0x8</BitWidth>
  1825. <Access>RW</Access>
  1826. <Values>
  1827. <Val value="0xAA">Level 0, no protection</Val>
  1828. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  1829. <Val value="0xCC">Level 2, no debug</Val>
  1830. </Values>
  1831. </Bit>
  1832. </AssignedBits>
  1833. </Field>
  1834. </Category>
  1835. <Category>
  1836. <Name>BOR Level</Name>
  1837. <Field>
  1838. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  1839. <AssignedBits>
  1840. <Bit>
  1841. <Name>BOR_LEV</Name>
  1842. <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>
  1843. <BitOffset>0x8</BitOffset>
  1844. <BitWidth>0x3</BitWidth>
  1845. <Access>RW</Access>
  1846. <Values>
  1847. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  1848. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  1849. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  1850. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  1851. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  1852. </Values>
  1853. </Bit>
  1854. </AssignedBits>
  1855. </Field>
  1856. </Category>
  1857. <Category>
  1858. <Name>User Configuration</Name>
  1859. <Field>
  1860. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  1861. <AssignedBits>
  1862. <Bit>
  1863. <Name>nRST_STOP</Name>
  1864. <Description/>
  1865. <BitOffset>0xC</BitOffset>
  1866. <BitWidth>0x1</BitWidth>
  1867. <Access>RW</Access>
  1868. <Values>
  1869. <Val value="0x0">Reset generated when entering Stop mode</Val>
  1870. <Val value="0x1">No reset generated when entering Stop mode</Val>
  1871. </Values>
  1872. </Bit>
  1873. <Bit>
  1874. <Name>nRST_STDBY</Name>
  1875. <Description/>
  1876. <BitOffset>0xD</BitOffset>
  1877. <BitWidth>0x1</BitWidth>
  1878. <Access>RW</Access>
  1879. <Values>
  1880. <Val value="0x0">Reset generated when entering Standby mode</Val>
  1881. <Val value="0x1">No reset generated when entering Standby mode</Val>
  1882. </Values>
  1883. </Bit>
  1884. <Bit>
  1885. <Name>nRST_SHDW</Name>
  1886. <Description/>
  1887. <BitOffset>0xE</BitOffset>
  1888. <BitWidth>0x1</BitWidth>
  1889. <Access>RW</Access>
  1890. <Values>
  1891. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  1892. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  1893. </Values>
  1894. </Bit>
  1895. <Bit>
  1896. <Name>IWDG_SW</Name>
  1897. <Description/>
  1898. <BitOffset>0x10</BitOffset>
  1899. <BitWidth>0x1</BitWidth>
  1900. <Access>RW</Access>
  1901. <Values>
  1902. <Val value="0x0">Hardware independant watchdog</Val>
  1903. <Val value="0x1">Software independant watchdog</Val>
  1904. </Values>
  1905. </Bit>
  1906. <Bit>
  1907. <Name>IWDG_STOP</Name>
  1908. <Description/>
  1909. <BitOffset>0x11</BitOffset>
  1910. <BitWidth>0x1</BitWidth>
  1911. <Access>RW</Access>
  1912. <Values>
  1913. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  1914. <Val value="0x1">IWDG counter active in stop mode</Val>
  1915. </Values>
  1916. </Bit>
  1917. <Bit>
  1918. <Name>IWDG_STDBY</Name>
  1919. <Description/>
  1920. <BitOffset>0x12</BitOffset>
  1921. <BitWidth>0x1</BitWidth>
  1922. <Access>RW</Access>
  1923. <Values>
  1924. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  1925. <Val value="0x1">IWDG counter active in standby mode</Val>
  1926. </Values>
  1927. </Bit>
  1928. <Bit>
  1929. <Name>WWDG_SW</Name>
  1930. <Description/>
  1931. <BitOffset>0x13</BitOffset>
  1932. <BitWidth>0x1</BitWidth>
  1933. <Access>RW</Access>
  1934. <Values>
  1935. <Val value="0x0">Hardware window watchdog</Val>
  1936. <Val value="0x1">Software window watchdog</Val>
  1937. </Values>
  1938. </Bit>
  1939. <Bit>
  1940. <Name>BFB2</Name>
  1941. <Description/>
  1942. <BitOffset>0x14</BitOffset>
  1943. <BitWidth>0x1</BitWidth>
  1944. <Access>RW</Access>
  1945. <Values>
  1946. <Val value="0x0">Dual-bank boot disable</Val>
  1947. <Val value="0x1">Dual-bank boot enable</Val>
  1948. </Values>
  1949. </Bit>
  1950. <Bit reference="DualBank">
  1951. <Name>DBANK</Name>
  1952. <Description/>
  1953. <BitOffset>0x16</BitOffset>
  1954. <BitWidth>0x1</BitWidth>
  1955. <Access>RW</Access>
  1956. <Values>
  1957. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  1958. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  1959. </Values>
  1960. </Bit>
  1961. <Bit>
  1962. <Name>nBOOT1</Name>
  1963. <Description/>
  1964. <BitOffset>0x17</BitOffset>
  1965. <BitWidth>0x1</BitWidth>
  1966. <Access>RW</Access>
  1967. <Values>
  1968. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  1969. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  1970. </Values>
  1971. </Bit>
  1972. <Bit>
  1973. <Name>SRAM_PE</Name>
  1974. <Description>SRAM1 and CCM SRAM parity check enable</Description>
  1975. <BitOffset>0x18</BitOffset>
  1976. <BitWidth>0x1</BitWidth>
  1977. <Access>RW</Access>
  1978. <Values>
  1979. <Val value="0x0">SRAM1 and CCM SRAM parity check enable</Val>
  1980. <Val value="0x1">SRAM1 and CCM SRAM parity check disable</Val>
  1981. </Values>
  1982. </Bit>
  1983. <Bit>
  1984. <Name>CCMSRAM_RST</Name>
  1985. <Description>CCM SRAM Erase when system reset</Description>
  1986. <BitOffset>0x19</BitOffset>
  1987. <BitWidth>0x1</BitWidth>
  1988. <Access>RW</Access>
  1989. <Values>
  1990. <Val value="0x0">CCM SRAM erased when a system reset occurs</Val>
  1991. <Val value="0x1">CCM SRAM is not erased when a system reset occurs</Val>
  1992. </Values>
  1993. </Bit>
  1994. <Bit>
  1995. <Name>nSWBOOT0</Name>
  1996. <Description>Software BOOT0</Description>
  1997. <BitOffset>0x1A</BitOffset>
  1998. <BitWidth>0x1</BitWidth>
  1999. <Access>RW</Access>
  2000. <Values>
  2001. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  2002. <Val value="0x1">BOOT0 taken from PB8/BOOT0 pin</Val>
  2003. </Values>
  2004. </Bit>
  2005. <Bit>
  2006. <Name>nBOOT0</Name>
  2007. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  2008. <BitOffset>0x1B</BitOffset>
  2009. <BitWidth>0x1</BitWidth>
  2010. <Access>RW</Access>
  2011. <Values>
  2012. <Val value="0x0">nBOOT0 = 0</Val>
  2013. <Val value="0x1">nBOOT0 = 1</Val>
  2014. </Values>
  2015. </Bit>
  2016. <Bit>
  2017. <Name>NRST_MODE</Name>
  2018. <Description></Description>
  2019. <BitOffset>0x1C</BitOffset>
  2020. <BitWidth>0x2</BitWidth>
  2021. <Access>RW</Access>
  2022. <Values>
  2023. <Val value="0x0">Reserved</Val>
  2024. <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>
  2025. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  2026. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  2027. </Values>
  2028. </Bit>
  2029. <Bit>
  2030. <Name>IRHEN</Name>
  2031. <Description>Internal reset holder enable bit</Description>
  2032. <BitOffset>0x1E</BitOffset>
  2033. <BitWidth>0x1</BitWidth>
  2034. <Access>RW</Access>
  2035. <Values>
  2036. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  2037. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  2038. </Values>
  2039. </Bit>
  2040. </AssignedBits>
  2041. </Field>
  2042. </Category>
  2043. <Category>
  2044. <Name>PCROP Protection (Bank 1)</Name>
  2045. <Field>
  2046. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  2047. <AssignedBits>
  2048. <Bit config="0">
  2049. <Name>PCROP1_STRT</Name>
  2050. <Description>Flash Bank 1 PCROP start address</Description>
  2051. <BitOffset>0x0</BitOffset>
  2052. <BitWidth>0xF</BitWidth>
  2053. <Access>RW</Access>
  2054. <Equation multiplier="0x10" offset="0x08000000"/>
  2055. </Bit>
  2056. <Bit config="1,2">
  2057. <Name>PCROP1_STRT</Name>
  2058. <Description>Flash Bank 1 PCROP start address</Description>
  2059. <BitOffset>0x0</BitOffset>
  2060. <BitWidth>0xF</BitWidth>
  2061. <Access>RW</Access>
  2062. <Equation multiplier="0x8" offset="0x08000000"/>
  2063. </Bit>
  2064. </AssignedBits>
  2065. </Field>
  2066. <Field>
  2067. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  2068. <AssignedBits>
  2069. <Bit config="0">
  2070. <Name>PCROP1_END</Name>
  2071. <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>
  2072. <BitOffset>0x0</BitOffset>
  2073. <BitWidth>0xF</BitWidth>
  2074. <Access>RW</Access>
  2075. <Equation multiplier="0x10" offset="0x08000008"/>
  2076. </Bit>
  2077. <Bit config="1,2">
  2078. <Name>PCROP1_END</Name>
  2079. <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>
  2080. <BitOffset>0x0</BitOffset>
  2081. <BitWidth>0xF</BitWidth>
  2082. <Access>RW</Access>
  2083. <Equation multiplier="0x8" offset="0x08000008"/>
  2084. </Bit>
  2085. <Bit>
  2086. <Name>PCROP_RDP</Name>
  2087. <Description/>
  2088. <BitOffset>0x1F</BitOffset>
  2089. <BitWidth>0x1</BitWidth>
  2090. <Access>RW</Access>
  2091. <Values>
  2092. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  2093. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  2094. </Values>
  2095. </Bit>
  2096. </AssignedBits>
  2097. </Field>
  2098. </Category>
  2099. <Category>
  2100. <Name>Write Protection (Bank 1)</Name>
  2101. <Field>
  2102. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  2103. <AssignedBits>
  2104. <Bit config="0">
  2105. <Name>WRP1A_STRT</Name>
  2106. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  2107. <BitOffset>0x0</BitOffset>
  2108. <BitWidth>0x7</BitWidth>
  2109. <Access>RW</Access>
  2110. <Equation multiplier="0x1000" offset="0x08000000"/>
  2111. </Bit>
  2112. <Bit config="1,2">
  2113. <Name>WRP1A_STRT</Name>
  2114. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  2115. <BitOffset>0x0</BitOffset>
  2116. <BitWidth>0x7</BitWidth>
  2117. <Access>RW</Access>
  2118. <Equation multiplier="0x800" offset="0x08000000"/>
  2119. </Bit>
  2120. <Bit config="0">
  2121. <Name>WRP1A_END</Name>
  2122. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  2123. <BitOffset>0x10</BitOffset>
  2124. <BitWidth>0x7</BitWidth>
  2125. <Access>RW</Access>
  2126. <Equation multiplier="0x1000" offset="0x08000000"/>
  2127. </Bit>
  2128. <Bit config="1,2">
  2129. <Name>WRP1A_END</Name>
  2130. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  2131. <BitOffset>0x10</BitOffset>
  2132. <BitWidth>0x7</BitWidth>
  2133. <Access>RW</Access>
  2134. <Equation multiplier="0x800" offset="0x08000000"/>
  2135. </Bit>
  2136. </AssignedBits>
  2137. </Field>
  2138. <Field>
  2139. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  2140. <AssignedBits>
  2141. <Bit config="0">
  2142. <Name>WRP1B_STRT</Name>
  2143. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  2144. <BitOffset>0x0</BitOffset>
  2145. <BitWidth>0x7</BitWidth>
  2146. <Access>RW</Access>
  2147. <Equation multiplier="0x1000" offset="0x08000000"/>
  2148. </Bit>
  2149. <Bit config="1,2">
  2150. <Name>WRP1B_STRT</Name>
  2151. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  2152. <BitOffset>0x0</BitOffset>
  2153. <BitWidth>0x7</BitWidth>
  2154. <Access>RW</Access>
  2155. <Equation multiplier="0x800" offset="0x08000000"/>
  2156. </Bit>
  2157. <Bit config="0">
  2158. <Name>WRP1B_END</Name>
  2159. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  2160. <BitOffset>0x10</BitOffset>
  2161. <BitWidth>0x7</BitWidth>
  2162. <Access>RW</Access>
  2163. <Equation multiplier="0x1000" offset="0x08000000"/>
  2164. </Bit>
  2165. <Bit config="1,2">
  2166. <Name>WRP1B_END</Name>
  2167. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  2168. <BitOffset>0x10</BitOffset>
  2169. <BitWidth>0x7</BitWidth>
  2170. <Access>RW</Access>
  2171. <Equation multiplier="0x800" offset="0x08000000"/>
  2172. </Bit>
  2173. </AssignedBits>
  2174. </Field>
  2175. </Category>
  2176. </Bank>
  2177. <Bank interface="JTAG_SWD">
  2178. <Parameters name="Bank 2" size="0x10" address="0x40022044"/>
  2179. <Category>
  2180. <Name>PCROP Protection (Bank 2)</Name>
  2181. <Field>
  2182. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x40022044"/>
  2183. <AssignedBits>
  2184. <Bit config="0">
  2185. <Name>PCROP2_STRT</Name>
  2186. <Description>Flash Bank 2 PCROP start address</Description>
  2187. <BitOffset>0x0</BitOffset>
  2188. <BitWidth>0xF</BitWidth>
  2189. <Access>RW</Access>
  2190. <Equation multiplier="0x10" offset="0x08000000"/>
  2191. </Bit>
  2192. <Bit config="1,2">
  2193. <Name>PCROP2_STRT</Name>
  2194. <Description>Flash Bank 2 PCROP start address</Description>
  2195. <BitOffset>0x0</BitOffset>
  2196. <BitWidth>0xF</BitWidth>
  2197. <Access>RW</Access>
  2198. <Equation multiplier="0x8" offset="0x08040000"/>
  2199. </Bit>
  2200. </AssignedBits>
  2201. </Field>
  2202. <Field>
  2203. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x40022048"/>
  2204. <AssignedBits>
  2205. <Bit config="0">
  2206. <Name>PCROP2_END</Name>
  2207. <Description>Flash Bank 2 PCROP End address(excluded). Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  2208. <BitOffset>0x0</BitOffset>
  2209. <BitWidth>0xF</BitWidth>
  2210. <Access>RW</Access>
  2211. <Equation multiplier="0x10" offset="0x08000008"/>
  2212. </Bit>
  2213. <Bit config="1,2">
  2214. <Name>PCROP2_END</Name>
  2215. <Description>Flash Bank 2 PCROP End address(excluded). Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  2216. <BitOffset>0x0</BitOffset>
  2217. <BitWidth>0xF</BitWidth>
  2218. <Access>RW</Access>
  2219. <Equation multiplier="0x8" offset="0x08040008"/>
  2220. </Bit>
  2221. </AssignedBits>
  2222. </Field>
  2223. </Category>
  2224. <Category>
  2225. <Name>Write Protection (Bank 2)</Name>
  2226. <Field>
  2227. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x4002204C"/>
  2228. <AssignedBits>
  2229. <Bit config="0">
  2230. <Name>WRP2A_STRT</Name>
  2231. <Description>The address of first page of the Bank 2 WRP first area</Description>
  2232. <BitOffset>0x0</BitOffset>
  2233. <BitWidth>0x7</BitWidth>
  2234. <Access>RW</Access>
  2235. <Equation multiplier="0x1000" offset="0x08000000"/>
  2236. </Bit>
  2237. <Bit config="1,2">
  2238. <Name>WRP2A_STRT</Name>
  2239. <Description>The address of first page of the Bank 2 WRP first area</Description>
  2240. <BitOffset>0x0</BitOffset>
  2241. <BitWidth>0x7</BitWidth>
  2242. <Access>RW</Access>
  2243. <Equation multiplier="0x800" offset="0x08040000"/>
  2244. </Bit>
  2245. <Bit config="0">
  2246. <Name>WRP2A_END</Name>
  2247. <Description>The address of last page of the Bank 2 WRP first area</Description>
  2248. <BitOffset>0x10</BitOffset>
  2249. <BitWidth>0x7</BitWidth>
  2250. <Access>RW</Access>
  2251. <Equation multiplier="0x1000" offset="0x08000000"/>
  2252. </Bit>
  2253. <Bit config="1,2">
  2254. <Name>WRP2A_END</Name>
  2255. <Description>The address of last page of the Bank 2 WRP first area</Description>
  2256. <BitOffset>0x10</BitOffset>
  2257. <BitWidth>0x7</BitWidth>
  2258. <Access>RW</Access>
  2259. <Equation multiplier="0x800" offset="0x08040000"/>
  2260. </Bit>
  2261. </AssignedBits>
  2262. </Field>
  2263. <Field>
  2264. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x40022050"/>
  2265. <AssignedBits>
  2266. <Bit config="0">
  2267. <Name>WRP2B_STRT</Name>
  2268. <Description>The address of first page of the Bank 2 WRP second area</Description>
  2269. <BitOffset>0x0</BitOffset>
  2270. <BitWidth>0x7</BitWidth>
  2271. <Access>RW</Access>
  2272. <Equation multiplier="0x1000" offset="0x08000000"/>
  2273. </Bit>
  2274. <Bit config="1,2">
  2275. <Name>WRP2B_STRT</Name>
  2276. <Description>The address of first page of the Bank 2 WRP second area</Description>
  2277. <BitOffset>0x0</BitOffset>
  2278. <BitWidth>0x7</BitWidth>
  2279. <Access>RW</Access>
  2280. <Equation multiplier="0x800" offset="0x08040000"/>
  2281. </Bit>
  2282. <Bit config="0">
  2283. <Name>WRP2B_END</Name>
  2284. <Description>The address of last page of the Bank 2 WRP second area</Description>
  2285. <BitOffset>0x10</BitOffset>
  2286. <BitWidth>0x7</BitWidth>
  2287. <Access>RW</Access>
  2288. <Equation multiplier="0x1000" offset="0x08000000"/>
  2289. </Bit>
  2290. <Bit config="1,2">
  2291. <Name>WRP2B_END</Name>
  2292. <Description>The address of last page of the Bank 2 WRP second area</Description>
  2293. <BitOffset>0x10</BitOffset>
  2294. <BitWidth>0x7</BitWidth>
  2295. <Access>RW</Access>
  2296. <Equation multiplier="0x800" offset="0x08040000"/>
  2297. </Bit>
  2298. </AssignedBits>
  2299. </Field>
  2300. </Category>
  2301. </Bank>
  2302. <Bank interface="JTAG_SWD">
  2303. <Parameters name="Bank 3" size="0x8" address="0x40022070"/>
  2304. <Category>
  2305. <Name>Secure Protection (Bank 1)</Name>
  2306. <Field>
  2307. <Parameters name="FLASH_SECR1" size="0x4" address="0x40022070"/>
  2308. <AssignedBits>
  2309. <Bit>
  2310. <Name>SEC_SIZE1</Name>
  2311. <Description>sets the number of pages used in the bank 1 securable area</Description>
  2312. <BitOffset>0x0</BitOffset>
  2313. <BitWidth>0x8</BitWidth>
  2314. <Access>RW</Access>
  2315. </Bit>
  2316. <Bit>
  2317. <Name>BOOT_LOCK</Name>
  2318. <Description>Unique boot entry point</Description>
  2319. <BitOffset>0x10</BitOffset>
  2320. <BitWidth>0x1</BitWidth>
  2321. <Access>RW</Access>
  2322. <Values>
  2323. <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>
  2324. <Val value="0x1">the boot will be done from user flash only, whatever the RDP level</Val>
  2325. </Values>
  2326. </Bit>
  2327. </AssignedBits>
  2328. </Field>
  2329. </Category>
  2330. <Category>
  2331. <Name>Secure Protection (Bank 2)</Name>
  2332. <Field>
  2333. <Parameters name="FLASH_SECR2" size="0x4" address="0x40022074"/>
  2334. <AssignedBits>
  2335. <Bit>
  2336. <Name>SEC_SIZE2</Name>
  2337. <Description>sets the number of pages used in the bank 2 securable area</Description>
  2338. <BitOffset>0x0</BitOffset>
  2339. <BitWidth>0x8</BitWidth>
  2340. <Access>RW</Access>
  2341. </Bit>
  2342. </AssignedBits>
  2343. </Field>
  2344. </Category>
  2345. </Bank>
  2346. <Bank interface="Bootloader">
  2347. <Parameters name="Bank 1" size="0x24" address="0x1FFF7800"/>
  2348. <Category>
  2349. <Name>Read Out Protection</Name>
  2350. <Field>
  2351. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  2352. <AssignedBits>
  2353. <Bit>
  2354. <Name>RDP</Name>
  2355. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  2356. <BitOffset>0x0</BitOffset>
  2357. <BitWidth>0x8</BitWidth>
  2358. <Access>RW</Access>
  2359. <Values>
  2360. <Val value="0xAA">Level 0, no protection</Val>
  2361. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  2362. <Val value="0xCC">Level 2, no debug</Val>
  2363. </Values>
  2364. </Bit>
  2365. </AssignedBits>
  2366. </Field>
  2367. </Category>
  2368. <Category>
  2369. <Name>BOR Level</Name>
  2370. <Field>
  2371. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  2372. <AssignedBits>
  2373. <Bit>
  2374. <Name>BOR_LEV</Name>
  2375. <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>
  2376. <BitOffset>0x8</BitOffset>
  2377. <BitWidth>0x3</BitWidth>
  2378. <Access>RW</Access>
  2379. <Values>
  2380. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  2381. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  2382. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  2383. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  2384. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  2385. </Values>
  2386. </Bit>
  2387. </AssignedBits>
  2388. </Field>
  2389. </Category>
  2390. <Category>
  2391. <Name>User Configuration</Name>
  2392. <Field>
  2393. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  2394. <AssignedBits>
  2395. <Bit>
  2396. <Name>IWDG_STOP</Name>
  2397. <Description/>
  2398. <BitOffset>0x11</BitOffset>
  2399. <BitWidth>0x1</BitWidth>
  2400. <Access>RW</Access>
  2401. <Values>
  2402. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  2403. <Val value="0x1">IWDG counter active in stop mode</Val>
  2404. </Values>
  2405. </Bit>
  2406. <Bit>
  2407. <Name>IWDG_STDBY</Name>
  2408. <Description/>
  2409. <BitOffset>0x12</BitOffset>
  2410. <BitWidth>0x1</BitWidth>
  2411. <Access>RW</Access>
  2412. <Values>
  2413. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  2414. <Val value="0x1">IWDG counter active in standby mode</Val>
  2415. </Values>
  2416. </Bit>
  2417. </AssignedBits>
  2418. </Field>
  2419. <Field>
  2420. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  2421. <AssignedBits>
  2422. <Bit>
  2423. <Name>WWDG_SW</Name>
  2424. <Description/>
  2425. <BitOffset>0x13</BitOffset>
  2426. <BitWidth>0x1</BitWidth>
  2427. <Access>RW</Access>
  2428. <Values>
  2429. <Val value="0x0">Hardware window watchdog</Val>
  2430. <Val value="0x1">Software window watchdog</Val>
  2431. </Values>
  2432. </Bit>
  2433. <Bit>
  2434. <Name>IWDG_SW</Name>
  2435. <Description/>
  2436. <BitOffset>0x10</BitOffset>
  2437. <BitWidth>0x1</BitWidth>
  2438. <Access>RW</Access>
  2439. <Values>
  2440. <Val value="0x0">Hardware independant watchdog</Val>
  2441. <Val value="0x1">Software independant watchdog</Val>
  2442. </Values>
  2443. </Bit>
  2444. <Bit>
  2445. <Name>nRST_STOP</Name>
  2446. <Description/>
  2447. <BitOffset>0xC</BitOffset>
  2448. <BitWidth>0x1</BitWidth>
  2449. <Access>RW</Access>
  2450. <Values>
  2451. <Val value="0x0">Reset generated when entering Stop mode</Val>
  2452. <Val value="0x1">No reset generated</Val>
  2453. </Values>
  2454. </Bit>
  2455. <Bit>
  2456. <Name>nRST_STDBY</Name>
  2457. <Description/>
  2458. <BitOffset>0xD</BitOffset>
  2459. <BitWidth>0x1</BitWidth>
  2460. <Access>RW</Access>
  2461. <Values>
  2462. <Val value="0x0">Reset generated when entering Standby mode</Val>
  2463. <Val value="0x1">No reset generated</Val>
  2464. </Values>
  2465. </Bit>
  2466. <Bit>
  2467. <Name>nRST_SHDW</Name>
  2468. <Description/>
  2469. <BitOffset>0xE</BitOffset>
  2470. <BitWidth>0x1</BitWidth>
  2471. <Access>RW</Access>
  2472. <Values>
  2473. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  2474. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  2475. </Values>
  2476. </Bit>
  2477. <Bit>
  2478. <Name>BFB2</Name>
  2479. <Description/>
  2480. <BitOffset>0x14</BitOffset>
  2481. <BitWidth>0x1</BitWidth>
  2482. <Access>RW</Access>
  2483. <Values>
  2484. <Val value="0x0">Dual-bank boot disable</Val>
  2485. <Val value="0x1">Dual-bank boot enable</Val>
  2486. </Values>
  2487. </Bit>
  2488. <Bit reference="DualBank">
  2489. <Name>DBANK</Name>
  2490. <Description/>
  2491. <BitOffset>0x16</BitOffset>
  2492. <BitWidth>0x1</BitWidth>
  2493. <Access>RW</Access>
  2494. <Values>
  2495. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  2496. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  2497. </Values>
  2498. </Bit>
  2499. <Bit>
  2500. <Name>nBOOT1</Name>
  2501. <Description/>
  2502. <BitOffset>0x17</BitOffset>
  2503. <BitWidth>0x1</BitWidth>
  2504. <Access>RW</Access>
  2505. <Values>
  2506. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  2507. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  2508. </Values>
  2509. </Bit>
  2510. <Bit>
  2511. <Name>SRAM_PE</Name>
  2512. <Description>SRAM1 and CCM SRAM parity check enable</Description>
  2513. <BitOffset>0x18</BitOffset>
  2514. <BitWidth>0x1</BitWidth>
  2515. <Access>RW</Access>
  2516. <Values>
  2517. <Val value="0x0">SRAM1 and CCM SRAM parity check enable</Val>
  2518. <Val value="0x1">SRAM1 and CCM SRAM parity check disable</Val>
  2519. </Values>
  2520. </Bit>
  2521. <Bit>
  2522. <Name>CCMSRAM_RST</Name>
  2523. <Description>CCM SRAM Erase when system reset</Description>
  2524. <BitOffset>0x19</BitOffset>
  2525. <BitWidth>0x1</BitWidth>
  2526. <Access>RW</Access>
  2527. <Values>
  2528. <Val value="0x0">CCM SRAM erased when a system reset occurs</Val>
  2529. <Val value="0x1">CCM SRAM is not erased when a system reset occurs</Val>
  2530. </Values>
  2531. </Bit>
  2532. <Bit>
  2533. <Name>nSWBOOT0</Name>
  2534. <Description>Software BOOT0</Description>
  2535. <BitOffset>0x1A</BitOffset>
  2536. <BitWidth>0x1</BitWidth>
  2537. <Access>RW</Access>
  2538. <Values>
  2539. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  2540. <Val value="0x1">BOOT0 taken from PB8/BOOT0 pin</Val>
  2541. </Values>
  2542. </Bit>
  2543. <Bit>
  2544. <Name>nBOOT0</Name>
  2545. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  2546. <BitOffset>0x1B</BitOffset>
  2547. <BitWidth>0x1</BitWidth>
  2548. <Access>RW</Access>
  2549. <Values>
  2550. <Val value="0x0">nBOOT0 = 0</Val>
  2551. <Val value="0x1">nBOOT0 = 1</Val>
  2552. </Values>
  2553. </Bit>
  2554. <Bit>
  2555. <Name>NRST_MODE</Name>
  2556. <Description></Description>
  2557. <BitOffset>0x1C</BitOffset>
  2558. <BitWidth>0x2</BitWidth>
  2559. <Access>RW</Access>
  2560. <Values>
  2561. <Val value="0x0">Reserved</Val>
  2562. <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>
  2563. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  2564. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  2565. </Values>
  2566. </Bit>
  2567. <Bit>
  2568. <Name>IRHEN</Name>
  2569. <Description>Internal reset holder enable bit</Description>
  2570. <BitOffset>0x1E</BitOffset>
  2571. <BitWidth>0x1</BitWidth>
  2572. <Access>RW</Access>
  2573. <Values>
  2574. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  2575. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  2576. </Values>
  2577. </Bit>
  2578. </AssignedBits>
  2579. </Field>
  2580. </Category>
  2581. <Category>
  2582. <Name>PCROP Protection (Bank 1)</Name>
  2583. <Field>
  2584. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FFF7808"/>
  2585. <AssignedBits>
  2586. <Bit config="0">
  2587. <Name>PCROP1_STRT</Name>
  2588. <Description>Flash Bank 1 PCROP start address</Description>
  2589. <BitOffset>0x0</BitOffset>
  2590. <BitWidth>0xF</BitWidth>
  2591. <Access>RW</Access>
  2592. <Equation multiplier="0x10" offset="0x08000000"/>
  2593. </Bit>
  2594. <Bit config="1,2">
  2595. <Name>PCROP1_STRT</Name>
  2596. <Description>Flash Bank 1 PCROP start address</Description>
  2597. <BitOffset>0x0</BitOffset>
  2598. <BitWidth>0xF</BitWidth>
  2599. <Access>RW</Access>
  2600. <Equation multiplier="0x8" offset="0x08000000"/>
  2601. </Bit>
  2602. </AssignedBits>
  2603. </Field>
  2604. <Field>
  2605. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FFF7810"/>
  2606. <AssignedBits>
  2607. <Bit config="0">
  2608. <Name>PCROP1_END</Name>
  2609. <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>
  2610. <BitOffset>0x0</BitOffset>
  2611. <BitWidth>0xF</BitWidth>
  2612. <Access>RW</Access>
  2613. <Equation multiplier="0x10" offset="0x08000008"/>
  2614. </Bit>
  2615. <Bit config="1,2">
  2616. <Name>PCROP1_END</Name>
  2617. <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>
  2618. <BitOffset>0x0</BitOffset>
  2619. <BitWidth>0xF</BitWidth>
  2620. <Access>RW</Access>
  2621. <Equation multiplier="0x8" offset="0x08000008"/>
  2622. </Bit>
  2623. <Bit>
  2624. <Name>PCROP_RDP</Name>
  2625. <Description/>
  2626. <BitOffset>0x1F</BitOffset>
  2627. <BitWidth>0x1</BitWidth>
  2628. <Access>RW</Access>
  2629. <Values>
  2630. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  2631. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  2632. </Values>
  2633. </Bit>
  2634. </AssignedBits>
  2635. </Field>
  2636. </Category>
  2637. <Category>
  2638. <Name>Write Protection (Bank 1)</Name>
  2639. <Field>
  2640. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  2641. <AssignedBits>
  2642. <Bit config="0">
  2643. <Name>WRP1A_STRT</Name>
  2644. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  2645. <BitOffset>0x0</BitOffset>
  2646. <BitWidth>0x7</BitWidth>
  2647. <Access>RW</Access>
  2648. <Equation multiplier="0x1000" offset="0x08000000"/>
  2649. </Bit>
  2650. <Bit config="0">
  2651. <Name>WRP1A_END</Name>
  2652. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  2653. <BitOffset>0x10</BitOffset>
  2654. <BitWidth>0x7</BitWidth>
  2655. <Access>RW</Access>
  2656. <Equation multiplier="0x1000" offset="0x08000000"/>
  2657. </Bit>
  2658. <Bit config="1,2">
  2659. <Name>WRP1A_STRT</Name>
  2660. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  2661. <BitOffset>0x0</BitOffset>
  2662. <BitWidth>0x7</BitWidth>
  2663. <Access>RW</Access>
  2664. <Equation multiplier="0x800" offset="0x08000000"/>
  2665. </Bit>
  2666. <Bit config="1,2">
  2667. <Name>WRP1A_END</Name>
  2668. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  2669. <BitOffset>0x10</BitOffset>
  2670. <BitWidth>0x7</BitWidth>
  2671. <Access>RW</Access>
  2672. <Equation multiplier="0x800" offset="0x08000000"/>
  2673. </Bit>
  2674. </AssignedBits>
  2675. </Field>
  2676. <Field>
  2677. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  2678. <AssignedBits>
  2679. <Bit config="0">
  2680. <Name>WRP1B_STRT</Name>
  2681. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  2682. <BitOffset>0x0</BitOffset>
  2683. <BitWidth>0x7</BitWidth>
  2684. <Access>RW</Access>
  2685. <Equation multiplier="0x1000" offset="0x08000000"/>
  2686. </Bit>
  2687. <Bit config="0">
  2688. <Name>WRP1B_END</Name>
  2689. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  2690. <BitOffset>0x10</BitOffset>
  2691. <BitWidth>0x7</BitWidth>
  2692. <Access>RW</Access>
  2693. <Equation multiplier="0x1000" offset="0x08000000"/>
  2694. </Bit>
  2695. <Bit config="1,2">
  2696. <Name>WRP1B_STRT</Name>
  2697. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  2698. <BitOffset>0x0</BitOffset>
  2699. <BitWidth>0x7</BitWidth>
  2700. <Access>RW</Access>
  2701. <Equation multiplier="0x800" offset="0x08000000"/>
  2702. </Bit>
  2703. <Bit config="1,2">
  2704. <Name>WRP1B_END</Name>
  2705. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  2706. <BitOffset>0x10</BitOffset>
  2707. <BitWidth>0x7</BitWidth>
  2708. <Access>RW</Access>
  2709. <Equation multiplier="0x800" offset="0x08000000"/>
  2710. </Bit>
  2711. </AssignedBits>
  2712. </Field>
  2713. <Field>
  2714. <Parameters name="FLASH_SECR1" size="0x4" address="0x1FFF7828"/>
  2715. <AssignedBits>
  2716. <Bit>
  2717. <Name>SEC_SIZE1</Name>
  2718. <Description>sets the number of pages used in the bank 1 securable area</Description>
  2719. <BitOffset>0x0</BitOffset>
  2720. <BitWidth>0x8</BitWidth>
  2721. <Access>RW</Access>
  2722. </Bit>
  2723. <Bit>
  2724. <Name>BOOT_LOCK</Name>
  2725. <Description>Unique boot entry point</Description>
  2726. <BitOffset>0x10</BitOffset>
  2727. <BitWidth>0x1</BitWidth>
  2728. <Access>RW</Access>
  2729. <Values>
  2730. <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>
  2731. <Val value="0x1">the boot will be done from user flash only, whatever the RDP level</Val>
  2732. </Values>
  2733. </Bit>
  2734. </AssignedBits>
  2735. </Field>
  2736. </Category>
  2737. </Bank>
  2738. <Bank interface="Bootloader">
  2739. <Parameters name="Bank 2" size="0x1C" address="0x1FFFF808"/>
  2740. <Category>
  2741. <Name>PCROP Protection (Bank 2)</Name>
  2742. <Field>
  2743. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x1FFFF808"/>
  2744. <AssignedBits>
  2745. <Bit config="0">
  2746. <Name>PCROP2_STRT</Name>
  2747. <Description>Flash Bank 2 PCROP start address</Description>
  2748. <BitOffset>0x0</BitOffset>
  2749. <BitWidth>0xF</BitWidth>
  2750. <Access>RW</Access>
  2751. <Equation multiplier="0x10" offset="0x08080000"/>
  2752. </Bit>
  2753. <Bit config="1,2">
  2754. <Name>PCROP2_STRT</Name>
  2755. <Description>Flash Bank 2 PCROP start address</Description>
  2756. <BitOffset>0x0</BitOffset>
  2757. <BitWidth>0xF</BitWidth>
  2758. <Access>RW</Access>
  2759. <Equation multiplier="0x8" offset="0x08080000"/>
  2760. </Bit>
  2761. </AssignedBits>
  2762. </Field>
  2763. <Field>
  2764. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x1FFFF810"/>
  2765. <AssignedBits>
  2766. <Bit config="0">
  2767. <Name>PCROP2_END</Name>
  2768. <Description>Flash Bank 2 PCROP End address(excluded). Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  2769. <BitOffset>0x0</BitOffset>
  2770. <BitWidth>0xF</BitWidth>
  2771. <Access>RW</Access>
  2772. <Equation multiplier="0x10" offset="0x08080008"/>
  2773. </Bit>
  2774. <Bit config="1,2">
  2775. <Name>PCROP2_END</Name>
  2776. <Description>Flash Bank 2 PCROP End address(excluded). Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  2777. <BitOffset>0x0</BitOffset>
  2778. <BitWidth>0xF</BitWidth>
  2779. <Access>RW</Access>
  2780. <Equation multiplier="0x8" offset="0x08080008"/>
  2781. </Bit>
  2782. </AssignedBits>
  2783. </Field>
  2784. </Category>
  2785. <Category>
  2786. <Name>Write Protection (Bank 2)</Name>
  2787. <Field>
  2788. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x1FFFF818"/>
  2789. <AssignedBits>
  2790. <Bit config="0">
  2791. <Name>WRP2A_STRT</Name>
  2792. <Description>The address of first page of the Bank 2 WRP first area</Description>
  2793. <BitOffset>0x0</BitOffset>
  2794. <BitWidth>0x7</BitWidth>
  2795. <Access>RW</Access>
  2796. <Equation multiplier="0x1000" offset="0x08080000"/>
  2797. </Bit>
  2798. <Bit config="0">
  2799. <Name>WRP2A_END</Name>
  2800. <Description>The address of last page of the Bank 2 WRP first area</Description>
  2801. <BitOffset>0x10</BitOffset>
  2802. <BitWidth>0x7</BitWidth>
  2803. <Access>RW</Access>
  2804. <Equation multiplier="0x1000" offset="0x08080000"/>
  2805. </Bit>
  2806. <Bit config="1,2">
  2807. <Name>WRP2A_STRT</Name>
  2808. <Description>The address of first page of the Bank 2 WRP first area</Description>
  2809. <BitOffset>0x0</BitOffset>
  2810. <BitWidth>0x7</BitWidth>
  2811. <Access>RW</Access>
  2812. <Equation multiplier="0x800" offset="0x08080000"/>
  2813. </Bit>
  2814. <Bit config="1,2">
  2815. <Name>WRP2A_END</Name>
  2816. <Description>The address of last page of the Bank 2 WRP first area</Description>
  2817. <BitOffset>0x10</BitOffset>
  2818. <BitWidth>0x7</BitWidth>
  2819. <Access>RW</Access>
  2820. <Equation multiplier="0x800" offset="0x08080000"/>
  2821. </Bit>
  2822. </AssignedBits>
  2823. </Field>
  2824. <Field>
  2825. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x1FFFF820"/>
  2826. <AssignedBits>
  2827. <Bit config="0">
  2828. <Name>WRP2B_STRT</Name>
  2829. <Description>The address of first page of the Bank 2 WRP second area</Description>
  2830. <BitOffset>0x0</BitOffset>
  2831. <BitWidth>0x7</BitWidth>
  2832. <Access>RW</Access>
  2833. <Equation multiplier="0x1000" offset="0x08080000"/>
  2834. </Bit>
  2835. <Bit config="0">
  2836. <Name>WRP2B_END</Name>
  2837. <Description>The address of last page of the Bank 2 WRP second area</Description>
  2838. <BitOffset>0x10</BitOffset>
  2839. <BitWidth>0x7</BitWidth>
  2840. <Access>RW</Access>
  2841. <Equation multiplier="0x800" offset="0x08080000"/>
  2842. </Bit>
  2843. <Bit config="1,2">
  2844. <Name>WRP2B_STRT</Name>
  2845. <Description>The address of first page of the Bank 2 WRP second area</Description>
  2846. <BitOffset>0x0</BitOffset>
  2847. <BitWidth>0x7</BitWidth>
  2848. <Access>RW</Access>
  2849. <Equation multiplier="0x1000" offset="0x08080000"/>
  2850. </Bit>
  2851. <Bit config="1,2">
  2852. <Name>WRP2B_END</Name>
  2853. <Description>The address of last page of the Bank 2 WRP second area</Description>
  2854. <BitOffset>0x10</BitOffset>
  2855. <BitWidth>0x7</BitWidth>
  2856. <Access>RW</Access>
  2857. <Equation multiplier="0x800" offset="0x08080000"/>
  2858. </Bit>
  2859. </AssignedBits>
  2860. </Field>
  2861. </Category>
  2862. <Category>
  2863. <Name>Secure Protection</Name>
  2864. <Field>
  2865. <Parameters name="FLASH_SECR2" size="0x4" address="0x1FFFF828"/>
  2866. <AssignedBits>
  2867. <Bit>
  2868. <Name>SEC_SIZE2</Name>
  2869. <Description>sets the number of pages used in the bank 2 securable area</Description>
  2870. <BitOffset>0x0</BitOffset>
  2871. <BitWidth>0x8</BitWidth>
  2872. <Access>RW</Access>
  2873. </Bit>
  2874. </AssignedBits>
  2875. </Field>
  2876. </Category>
  2877. </Bank>
  2878. </Peripheral>
  2879. </Peripherals>
  2880. </Device>
  2881. <!-- Device: 0x468 -->
  2882. <Device>
  2883. <DeviceID>0x468</DeviceID>
  2884. <Vendor>STMicroelectronics</Vendor>
  2885. <Type>MCU</Type>
  2886. <CPU>Cortex-M4</CPU>
  2887. <Name>STM32G43x/G44x</Name>
  2888. <Series>STM32G4</Series>
  2889. <Description>ARM 32-bit Cortex-M4 based device</Description>
  2890. <Configurations>
  2891. <!-- JTAG_SWD Interface -->
  2892. <Interface name="JTAG_SWD"/>
  2893. <!-- Bootloader Interface -->
  2894. <Interface name="Bootloader"/>
  2895. </Configurations>
  2896. <!-- Peripherals -->
  2897. <Peripherals>
  2898. <!-- Embedded SRAM -->
  2899. <Peripheral>
  2900. <Name>Embedded SRAM</Name>
  2901. <Type>Storage</Type>
  2902. <Description/>
  2903. <ErasedValue>0x00</ErasedValue>
  2904. <Access>RWE</Access>
  2905. <!-- 96 KB -->
  2906. <Configuration>
  2907. <Parameters name="SRAM" size="0x5000" address="0x20000000"/>
  2908. <Description/>
  2909. <Organization>Single</Organization>
  2910. <Bank name="Bank 1">
  2911. <Field>
  2912. <Parameters name="SRAM" size="0x5000" address="0x20000000" occurence="0x1"/>
  2913. </Field>
  2914. </Bank>
  2915. </Configuration>
  2916. </Peripheral>
  2917. <!-- Embedded Flash -->
  2918. <Peripheral>
  2919. <Name>Embedded Flash</Name>
  2920. <Type>Storage</Type>
  2921. <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>
  2922. <ErasedValue>0xFF</ErasedValue>
  2923. <Access>RWE</Access>
  2924. <FlashSize address="0x1FFF75E0" default="0x20000"/>
  2925. <!-- 1MB dual Bank -->
  2926. <Configuration> <!-- single Bank -->
  2927. <Parameters name=" 128 Kbyte Embedded Flash" size="0x20000" address="0x08000000"/>
  2928. <Description/>
  2929. <Organization>Single</Organization>
  2930. <Allignement>0x8</Allignement>
  2931. <Bank name="Bank 1">
  2932. <Field>
  2933. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x40"/>
  2934. </Field>
  2935. </Bank>
  2936. </Configuration>
  2937. </Peripheral>
  2938. <!-- OTP -->
  2939. <Peripheral>
  2940. <Name>OTP</Name>
  2941. <Type>Storage</Type>
  2942. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  2943. <ErasedValue>0xFF</ErasedValue>
  2944. <Access>RW</Access>
  2945. <!-- 1 KBytes single bank -->
  2946. <Configuration>
  2947. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  2948. <Description/>
  2949. <Organization>Single</Organization>
  2950. <Allignement>0x4</Allignement>
  2951. <Bank name="OTP">
  2952. <Field>
  2953. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  2954. </Field>
  2955. </Bank>
  2956. </Configuration>
  2957. </Peripheral>
  2958. <!-- Mirror Option Bytes -->
  2959. <Peripheral>
  2960. <Name>MirrorOptionBytes</Name>
  2961. <Type>Storage</Type>
  2962. <Description>Mirror Option Bytes contains the extra area.</Description>
  2963. <ErasedValue>0xFF</ErasedValue>
  2964. <Access>RW</Access>
  2965. <!-- 36 Bytes single bank -->
  2966. <Configuration>
  2967. <Parameters name=" 36 Bytes Data MirrorOptionBytes" size="0x54" address="0x1FFF7800"/>
  2968. <Description/>
  2969. <Organization>Single</Organization>
  2970. <Allignement>0x4</Allignement>
  2971. <Bank name="MirrorOptionBytes">
  2972. <Field>
  2973. <Parameters name="MirrorOptionBytes" size="0x54" address="0x1FFF7800" occurence="0x1"/>
  2974. </Field>
  2975. </Bank>
  2976. </Configuration>
  2977. </Peripheral>
  2978. <!-- Option Bytes -->
  2979. <Peripheral>
  2980. <Name>Option Bytes</Name>
  2981. <Type>Configuration</Type>
  2982. <Description/>
  2983. <Access>RW</Access>
  2984. <Bank interface="JTAG_SWD">
  2985. <Parameters name="Bank 1" size="0x14" address="0x40022020"/>
  2986. <Category>
  2987. <Name>Read Out Protection</Name>
  2988. <Field>
  2989. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  2990. <AssignedBits>
  2991. <Bit>
  2992. <Name>RDP</Name>
  2993. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  2994. <BitOffset>0x0</BitOffset>
  2995. <BitWidth>0x8</BitWidth>
  2996. <Access>RW</Access>
  2997. <Values>
  2998. <Val value="0xAA">Level 0, no protection</Val>
  2999. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  3000. <Val value="0xCC">Level 2, no debug</Val>
  3001. </Values>
  3002. </Bit>
  3003. </AssignedBits>
  3004. </Field>
  3005. </Category>
  3006. <Category>
  3007. <Name>BOR Level</Name>
  3008. <Field>
  3009. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  3010. <AssignedBits>
  3011. <Bit>
  3012. <Name>BOR_LEV</Name>
  3013. <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>
  3014. <BitOffset>0x8</BitOffset>
  3015. <BitWidth>0x3</BitWidth>
  3016. <Access>RW</Access>
  3017. <Values>
  3018. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  3019. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  3020. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  3021. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  3022. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  3023. </Values>
  3024. </Bit>
  3025. </AssignedBits>
  3026. </Field>
  3027. </Category>
  3028. <Category>
  3029. <Name>User Configuration</Name>
  3030. <Field>
  3031. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  3032. <AssignedBits>
  3033. <Bit>
  3034. <Name>nRST_STOP</Name>
  3035. <Description/>
  3036. <BitOffset>0xC</BitOffset>
  3037. <BitWidth>0x1</BitWidth>
  3038. <Access>RW</Access>
  3039. <Values>
  3040. <Val value="0x0">Reset generated when entering Stop mode</Val>
  3041. <Val value="0x1">No reset generated when entering Stop mode</Val>
  3042. </Values>
  3043. </Bit>
  3044. <Bit>
  3045. <Name>nRST_STDBY</Name>
  3046. <Description/>
  3047. <BitOffset>0xD</BitOffset>
  3048. <BitWidth>0x1</BitWidth>
  3049. <Access>RW</Access>
  3050. <Values>
  3051. <Val value="0x0">Reset generated when entering Standby mode</Val>
  3052. <Val value="0x1">No reset generated when entering Standby mode</Val>
  3053. </Values>
  3054. </Bit>
  3055. <Bit>
  3056. <Name>nRST_SHDW</Name>
  3057. <Description/>
  3058. <BitOffset>0xE</BitOffset>
  3059. <BitWidth>0x1</BitWidth>
  3060. <Access>RW</Access>
  3061. <Values>
  3062. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  3063. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  3064. </Values>
  3065. </Bit>
  3066. <Bit>
  3067. <Name>IWDG_SW</Name>
  3068. <Description/>
  3069. <BitOffset>0x10</BitOffset>
  3070. <BitWidth>0x1</BitWidth>
  3071. <Access>RW</Access>
  3072. <Values>
  3073. <Val value="0x0">Hardware independant watchdog</Val>
  3074. <Val value="0x1">Software independant watchdog</Val>
  3075. </Values>
  3076. </Bit>
  3077. <Bit>
  3078. <Name>IWDG_STOP</Name>
  3079. <Description/>
  3080. <BitOffset>0x11</BitOffset>
  3081. <BitWidth>0x1</BitWidth>
  3082. <Access>RW</Access>
  3083. <Values>
  3084. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  3085. <Val value="0x1">IWDG counter active in stop mode</Val>
  3086. </Values>
  3087. </Bit>
  3088. <Bit>
  3089. <Name>IWDG_STDBY</Name>
  3090. <Description/>
  3091. <BitOffset>0x12</BitOffset>
  3092. <BitWidth>0x1</BitWidth>
  3093. <Access>RW</Access>
  3094. <Values>
  3095. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  3096. <Val value="0x1">IWDG counter active in standby mode</Val>
  3097. </Values>
  3098. </Bit>
  3099. <Bit>
  3100. <Name>WWDG_SW</Name>
  3101. <Description/>
  3102. <BitOffset>0x13</BitOffset>
  3103. <BitWidth>0x1</BitWidth>
  3104. <Access>RW</Access>
  3105. <Values>
  3106. <Val value="0x0">Hardware window watchdog</Val>
  3107. <Val value="0x1">Software window watchdog</Val>
  3108. </Values>
  3109. </Bit>
  3110. <Bit>
  3111. <Name>nBOOT1</Name>
  3112. <Description/>
  3113. <BitOffset>0x17</BitOffset>
  3114. <BitWidth>0x1</BitWidth>
  3115. <Access>RW</Access>
  3116. <Values>
  3117. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  3118. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  3119. </Values>
  3120. </Bit>
  3121. <Bit>
  3122. <Name>SRAM_PE</Name>
  3123. <Description>SRAM1 and CCM SRAM parity check enable</Description>
  3124. <BitOffset>0x18</BitOffset>
  3125. <BitWidth>0x1</BitWidth>
  3126. <Access>RW</Access>
  3127. <Values>
  3128. <Val value="0x0">SRAM1 and CCM SRAM parity check enable</Val>
  3129. <Val value="0x1">SRAM1 and CCM SRAM parity check disable</Val>
  3130. </Values>
  3131. </Bit>
  3132. <Bit>
  3133. <Name>CCMSRAM_RST</Name>
  3134. <Description>CCM SRAM Erase when system reset</Description>
  3135. <BitOffset>0x19</BitOffset>
  3136. <BitWidth>0x1</BitWidth>
  3137. <Access>RW</Access>
  3138. <Values>
  3139. <Val value="0x0">CCM SRAM erased when a system reset occurs</Val>
  3140. <Val value="0x1">CCM SRAM is not erased when a system reset occurs</Val>
  3141. </Values>
  3142. </Bit>
  3143. <Bit>
  3144. <Name>nSWBOOT0</Name>
  3145. <Description>Software BOOT0</Description>
  3146. <BitOffset>0x1A</BitOffset>
  3147. <BitWidth>0x1</BitWidth>
  3148. <Access>RW</Access>
  3149. <Values>
  3150. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  3151. <Val value="0x1">BOOT0 taken from PB8/BOOT0 pin</Val>
  3152. </Values>
  3153. </Bit>
  3154. <Bit>
  3155. <Name>nBOOT0</Name>
  3156. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  3157. <BitOffset>0x1B</BitOffset>
  3158. <BitWidth>0x1</BitWidth>
  3159. <Access>RW</Access>
  3160. <Values>
  3161. <Val value="0x0">nBOOT0 = 0</Val>
  3162. <Val value="0x1">nBOOT0 = 1</Val>
  3163. </Values>
  3164. </Bit>
  3165. <Bit>
  3166. <Name>NRST_MODE</Name>
  3167. <Description></Description>
  3168. <BitOffset>0x1C</BitOffset>
  3169. <BitWidth>0x2</BitWidth>
  3170. <Access>RW</Access>
  3171. <Values>
  3172. <Val value="0x0">Reserved</Val>
  3173. <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>
  3174. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  3175. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  3176. </Values>
  3177. </Bit>
  3178. <Bit>
  3179. <Name>IRHEN</Name>
  3180. <Description>Internal reset holder enable bit</Description>
  3181. <BitOffset>0x1E</BitOffset>
  3182. <BitWidth>0x1</BitWidth>
  3183. <Access>RW</Access>
  3184. <Values>
  3185. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  3186. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  3187. </Values>
  3188. </Bit>
  3189. </AssignedBits>
  3190. </Field>
  3191. </Category>
  3192. <Category>
  3193. <Name>PCROP Protection</Name>
  3194. <Field>
  3195. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  3196. <AssignedBits>
  3197. <Bit>
  3198. <Name>PCROP1_STRT</Name>
  3199. <Description>Flash Bank 1 PCROP start address</Description>
  3200. <BitOffset>0x0</BitOffset>
  3201. <BitWidth>0xE</BitWidth>
  3202. <Access>RW</Access>
  3203. <Equation multiplier="0x8" offset="0x08000000"/>
  3204. </Bit>
  3205. </AssignedBits>
  3206. </Field>
  3207. <Field>
  3208. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  3209. <AssignedBits>
  3210. <Bit>
  3211. <Name>PCROP1_END</Name>
  3212. <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>
  3213. <BitOffset>0x0</BitOffset>
  3214. <BitWidth>0xE</BitWidth>
  3215. <Access>RW</Access>
  3216. <Equation multiplier="0x8" offset="0x08000008"/>
  3217. </Bit>
  3218. <Bit>
  3219. <Name>PCROP_RDP</Name>
  3220. <Description/>
  3221. <BitOffset>0x1F</BitOffset>
  3222. <BitWidth>0x1</BitWidth>
  3223. <Access>RW</Access>
  3224. <Values>
  3225. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  3226. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  3227. </Values>
  3228. </Bit>
  3229. </AssignedBits>
  3230. </Field>
  3231. </Category>
  3232. <Category>
  3233. <Name>Write Protection</Name>
  3234. <Field>
  3235. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  3236. <AssignedBits>
  3237. <Bit>
  3238. <Name>WRP1A_STRT</Name>
  3239. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  3240. <BitOffset>0x0</BitOffset>
  3241. <BitWidth>0x7</BitWidth>
  3242. <Access>RW</Access>
  3243. <Equation multiplier="0x800" offset="0x08000000"/>
  3244. </Bit>
  3245. <Bit>
  3246. <Name>WRP1A_END</Name>
  3247. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  3248. <BitOffset>0x10</BitOffset>
  3249. <BitWidth>0x7</BitWidth>
  3250. <Access>RW</Access>
  3251. <Equation multiplier="0x800" offset="0x08000000"/>
  3252. </Bit>
  3253. </AssignedBits>
  3254. </Field>
  3255. <Field>
  3256. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  3257. <AssignedBits>
  3258. <Bit>
  3259. <Name>WRP1B_STRT</Name>
  3260. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  3261. <BitOffset>0x0</BitOffset>
  3262. <BitWidth>0x7</BitWidth>
  3263. <Access>RW</Access>
  3264. <Equation multiplier="0x800" offset="0x08000000"/>
  3265. </Bit>
  3266. <Bit>
  3267. <Name>WRP1B_END</Name>
  3268. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  3269. <BitOffset>0x10</BitOffset>
  3270. <BitWidth>0x7</BitWidth>
  3271. <Access>RW</Access>
  3272. <Equation multiplier="0x800" offset="0x08000000"/>
  3273. </Bit>
  3274. </AssignedBits>
  3275. </Field>
  3276. </Category>
  3277. </Bank>
  3278. <Bank interface="JTAG_SWD">
  3279. <Parameters name="Bank 2" size="0x4" address="0x40022070"/>
  3280. <Category>
  3281. <Name>Secure Protection</Name>
  3282. <Field>
  3283. <Parameters name="FLASH_SECR1" size="0x4" address="0x40022070"/>
  3284. <AssignedBits>
  3285. <Bit>
  3286. <Name>SEC_SIZE1</Name>
  3287. <Description>sets the number of pages used in the bank 1 securable area</Description>
  3288. <BitOffset>0x0</BitOffset>
  3289. <BitWidth>0x8</BitWidth>
  3290. <Access>RW</Access>
  3291. </Bit>
  3292. <Bit>
  3293. <Name>BOOT_LOCK</Name>
  3294. <Description>Unique boot entry point</Description>
  3295. <BitOffset>0x10</BitOffset>
  3296. <BitWidth>0x1</BitWidth>
  3297. <Access>RW</Access>
  3298. <Values>
  3299. <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>
  3300. <Val value="0x1">the boot will be done from user flash only, whatever the RDP level</Val>
  3301. </Values>
  3302. </Bit>
  3303. </AssignedBits>
  3304. </Field>
  3305. </Category>
  3306. </Bank>
  3307. <Bank interface="Bootloader">
  3308. <Parameters name="Bank 1" size="0x24" address="0x1FFF7800"/>
  3309. <Category>
  3310. <Name>Read Out Protection</Name>
  3311. <Field>
  3312. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  3313. <AssignedBits>
  3314. <Bit>
  3315. <Name>RDP</Name>
  3316. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  3317. <BitOffset>0x0</BitOffset>
  3318. <BitWidth>0x8</BitWidth>
  3319. <Access>RW</Access>
  3320. <Values>
  3321. <Val value="0xAA">Level 0, no protection</Val>
  3322. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  3323. <Val value="0xCC">Level 2, no debug</Val>
  3324. </Values>
  3325. </Bit>
  3326. </AssignedBits>
  3327. </Field>
  3328. </Category>
  3329. <Category>
  3330. <Name>BOR Level</Name>
  3331. <Field>
  3332. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  3333. <AssignedBits>
  3334. <Bit>
  3335. <Name>BOR_LEV</Name>
  3336. <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>
  3337. <BitOffset>0x8</BitOffset>
  3338. <BitWidth>0x3</BitWidth>
  3339. <Access>RW</Access>
  3340. <Values>
  3341. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  3342. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  3343. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  3344. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  3345. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  3346. </Values>
  3347. </Bit>
  3348. </AssignedBits>
  3349. </Field>
  3350. </Category>
  3351. <Category>
  3352. <Name>User Configuration</Name>
  3353. <Field>
  3354. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  3355. <AssignedBits>
  3356. <Bit>
  3357. <Name>IWDG_STOP</Name>
  3358. <Description/>
  3359. <BitOffset>0x11</BitOffset>
  3360. <BitWidth>0x1</BitWidth>
  3361. <Access>RW</Access>
  3362. <Values>
  3363. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  3364. <Val value="0x1">IWDG counter active in stop mode</Val>
  3365. </Values>
  3366. </Bit>
  3367. <Bit>
  3368. <Name>IWDG_STDBY</Name>
  3369. <Description/>
  3370. <BitOffset>0x12</BitOffset>
  3371. <BitWidth>0x1</BitWidth>
  3372. <Access>RW</Access>
  3373. <Values>
  3374. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  3375. <Val value="0x1">IWDG counter active in standby mode</Val>
  3376. </Values>
  3377. </Bit>
  3378. </AssignedBits>
  3379. </Field>
  3380. <Field>
  3381. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  3382. <AssignedBits>
  3383. <Bit>
  3384. <Name>WWDG_SW</Name>
  3385. <Description/>
  3386. <BitOffset>0x13</BitOffset>
  3387. <BitWidth>0x1</BitWidth>
  3388. <Access>RW</Access>
  3389. <Values>
  3390. <Val value="0x0">Hardware window watchdog</Val>
  3391. <Val value="0x1">Software window watchdog</Val>
  3392. </Values>
  3393. </Bit>
  3394. <Bit>
  3395. <Name>IWDG_SW</Name>
  3396. <Description/>
  3397. <BitOffset>0x10</BitOffset>
  3398. <BitWidth>0x1</BitWidth>
  3399. <Access>RW</Access>
  3400. <Values>
  3401. <Val value="0x0">Hardware independant watchdog</Val>
  3402. <Val value="0x1">Software independant watchdog</Val>
  3403. </Values>
  3404. </Bit>
  3405. <Bit>
  3406. <Name>nRST_STOP</Name>
  3407. <Description/>
  3408. <BitOffset>0xC</BitOffset>
  3409. <BitWidth>0x1</BitWidth>
  3410. <Access>RW</Access>
  3411. <Values>
  3412. <Val value="0x0">Reset generated when entering Stop mode</Val>
  3413. <Val value="0x1">No reset generated</Val>
  3414. </Values>
  3415. </Bit>
  3416. <Bit>
  3417. <Name>nRST_STDBY</Name>
  3418. <Description/>
  3419. <BitOffset>0xD</BitOffset>
  3420. <BitWidth>0x1</BitWidth>
  3421. <Access>RW</Access>
  3422. <Values>
  3423. <Val value="0x0">Reset generated when entering Standby mode</Val>
  3424. <Val value="0x1">No reset generated</Val>
  3425. </Values>
  3426. </Bit>
  3427. <Bit>
  3428. <Name>nRST_SHDW</Name>
  3429. <Description/>
  3430. <BitOffset>0xE</BitOffset>
  3431. <BitWidth>0x1</BitWidth>
  3432. <Access>RW</Access>
  3433. <Values>
  3434. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  3435. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  3436. </Values>
  3437. </Bit>
  3438. <Bit>
  3439. <Name>nBOOT1</Name>
  3440. <Description/>
  3441. <BitOffset>0x17</BitOffset>
  3442. <BitWidth>0x1</BitWidth>
  3443. <Access>RW</Access>
  3444. <Values>
  3445. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  3446. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  3447. </Values>
  3448. </Bit>
  3449. <Bit>
  3450. <Name>SRAM_PE</Name>
  3451. <Description>SRAM1 and CCM SRAM parity check enable</Description>
  3452. <BitOffset>0x18</BitOffset>
  3453. <BitWidth>0x1</BitWidth>
  3454. <Access>RW</Access>
  3455. <Values>
  3456. <Val value="0x0">SRAM1 and CCM SRAM parity check enable</Val>
  3457. <Val value="0x1">SRAM1 and CCM SRAM parity check disable</Val>
  3458. </Values>
  3459. </Bit>
  3460. <Bit>
  3461. <Name>CCMSRAM_RST</Name>
  3462. <Description>CCM SRAM Erase when system reset</Description>
  3463. <BitOffset>0x19</BitOffset>
  3464. <BitWidth>0x1</BitWidth>
  3465. <Access>RW</Access>
  3466. <Values>
  3467. <Val value="0x0">CCM SRAM erased when a system reset occurs</Val>
  3468. <Val value="0x1">CCM SRAM is not erased when a system reset occurs</Val>
  3469. </Values>
  3470. </Bit>
  3471. <Bit>
  3472. <Name>nSWBOOT0</Name>
  3473. <Description>Software BOOT0</Description>
  3474. <BitOffset>0x1A</BitOffset>
  3475. <BitWidth>0x1</BitWidth>
  3476. <Access>RW</Access>
  3477. <Values>
  3478. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  3479. <Val value="0x1">BOOT0 taken from PB8/BOOT0 pin</Val>
  3480. </Values>
  3481. </Bit>
  3482. <Bit>
  3483. <Name>nBOOT0</Name>
  3484. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  3485. <BitOffset>0x1B</BitOffset>
  3486. <BitWidth>0x1</BitWidth>
  3487. <Access>RW</Access>
  3488. <Values>
  3489. <Val value="0x0">nBOOT0 = 0</Val>
  3490. <Val value="0x1">nBOOT0 = 1</Val>
  3491. </Values>
  3492. </Bit>
  3493. <Bit>
  3494. <Name>NRST_MODE</Name>
  3495. <Description></Description>
  3496. <BitOffset>0x1C</BitOffset>
  3497. <BitWidth>0x2</BitWidth>
  3498. <Access>RW</Access>
  3499. <Values>
  3500. <Val value="0x0">Reserved</Val>
  3501. <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>
  3502. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  3503. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  3504. </Values>
  3505. </Bit>
  3506. <Bit>
  3507. <Name>IRHEN</Name>
  3508. <Description>Internal reset holder enable bit</Description>
  3509. <BitOffset>0x1E</BitOffset>
  3510. <BitWidth>0x1</BitWidth>
  3511. <Access>RW</Access>
  3512. <Values>
  3513. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  3514. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  3515. </Values>
  3516. </Bit>
  3517. </AssignedBits>
  3518. </Field>
  3519. </Category>
  3520. <Category>
  3521. <Name>PCROP Protection</Name>
  3522. <Field>
  3523. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FFF7808"/>
  3524. <AssignedBits>
  3525. <Bit>
  3526. <Name>PCROP1_STRT</Name>
  3527. <Description>Flash Bank 1 PCROP start address</Description>
  3528. <BitOffset>0x0</BitOffset>
  3529. <BitWidth>0xE</BitWidth>
  3530. <Access>RW</Access>
  3531. <Equation multiplier="0x8" offset="0x08000000"/>
  3532. </Bit>
  3533. </AssignedBits>
  3534. </Field>
  3535. <Field>
  3536. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FFF7810"/>
  3537. <AssignedBits>
  3538. <Bit>
  3539. <Name>PCROP1_END</Name>
  3540. <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>
  3541. <BitOffset>0x0</BitOffset>
  3542. <BitWidth>0xE</BitWidth>
  3543. <Access>RW</Access>
  3544. <Equation multiplier="0x8" offset="0x08000008"/>
  3545. </Bit>
  3546. <Bit>
  3547. <Name>PCROP_RDP</Name>
  3548. <Description/>
  3549. <BitOffset>0x1F</BitOffset>
  3550. <BitWidth>0x1</BitWidth>
  3551. <Access>RW</Access>
  3552. <Values>
  3553. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  3554. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  3555. </Values>
  3556. </Bit>
  3557. </AssignedBits>
  3558. </Field>
  3559. </Category>
  3560. <Category>
  3561. <Name>Write Protection</Name>
  3562. <Field>
  3563. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  3564. <AssignedBits>
  3565. <Bit>
  3566. <Name>WRP1A_STRT</Name>
  3567. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  3568. <BitOffset>0x0</BitOffset>
  3569. <BitWidth>0x7</BitWidth>
  3570. <Access>RW</Access>
  3571. <Equation multiplier="0x800" offset="0x08000000"/>
  3572. </Bit>
  3573. <Bit>
  3574. <Name>WRP1A_END</Name>
  3575. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  3576. <BitOffset>0x10</BitOffset>
  3577. <BitWidth>0x7</BitWidth>
  3578. <Access>RW</Access>
  3579. <Equation multiplier="0x800" offset="0x08000000"/>
  3580. </Bit>
  3581. </AssignedBits>
  3582. </Field>
  3583. <Field>
  3584. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  3585. <AssignedBits>
  3586. <Bit>
  3587. <Name>WRP1B_STRT</Name>
  3588. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  3589. <BitOffset>0x0</BitOffset>
  3590. <BitWidth>0x7</BitWidth>
  3591. <Access>RW</Access>
  3592. <Equation multiplier="0x800" offset="0x08000000"/>
  3593. </Bit>
  3594. <Bit>
  3595. <Name>WRP1B_END</Name>
  3596. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  3597. <BitOffset>0x10</BitOffset>
  3598. <BitWidth>0x7</BitWidth>
  3599. <Access>RW</Access>
  3600. <Equation multiplier="0x800" offset="0x08000000"/>
  3601. </Bit>
  3602. </AssignedBits>
  3603. </Field>
  3604. </Category>
  3605. </Bank>
  3606. <Bank interface="Bootloader">
  3607. <Parameters name="Bank 2" size="0x4" address="0x1FFF7828"/>
  3608. <Category>
  3609. <Name>Secure Protection</Name>
  3610. <Field>
  3611. <Parameters name="FLASH_SECR1" size="0x4" address="0x1FFF7828"/>
  3612. <AssignedBits>
  3613. <Bit>
  3614. <Name>SEC_SIZE1</Name>
  3615. <Description>sets the number of pages used in the bank 1 securable area</Description>
  3616. <BitOffset>0x0</BitOffset>
  3617. <BitWidth>0x8</BitWidth>
  3618. <Access>RW</Access>
  3619. </Bit>
  3620. <Bit>
  3621. <Name>BOOT_LOCK</Name>
  3622. <Description>Unique boot entry point</Description>
  3623. <BitOffset>0x10</BitOffset>
  3624. <BitWidth>0x1</BitWidth>
  3625. <Access>RW</Access>
  3626. <Values>
  3627. <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>
  3628. <Val value="0x1">the boot will be done from user flash only, whatever the RDP level</Val>
  3629. </Values>
  3630. </Bit>
  3631. </AssignedBits>
  3632. </Field>
  3633. </Category>
  3634. </Bank>
  3635. </Peripheral>
  3636. </Peripherals>
  3637. </Device>
  3638. <!-- Device: 0x497 -->
  3639. <Device>
  3640. <DeviceID>0x497</DeviceID>
  3641. <Vendor>STMicroelectronics</Vendor>
  3642. <Type>MCU</Type>
  3643. <CPU>Cortex-M0+/M4</CPU>
  3644. <Name>STM32WLxx</Name>
  3645. <Series>STM32WL</Series>
  3646. <Description>ARM 32-bit Cortex-M0+ and ARM 32-bit Cortex-M4 dual core based device</Description>
  3647. <Configurations>
  3648. <!-- JTAG_SWD Interface -->
  3649. <Interface name="JTAG_SWD"/>
  3650. <!-- Bootloader Interface -->
  3651. <Interface name="Bootloader"/>
  3652. </Configurations>
  3653. <!-- Peripherals -->
  3654. <Peripherals>
  3655. <!-- Embedded SRAM -->
  3656. <Peripheral>
  3657. <Name>Embedded SRAM</Name>
  3658. <Type>Storage</Type>
  3659. <Description/>
  3660. <ErasedValue>0x00</ErasedValue>
  3661. <Access>RWE</Access>
  3662. <!-- 192 KB -->
  3663. <Configuration>
  3664. <Parameters name="SRAM" size="0x10000" address="0x20000000"/>
  3665. <Description/>
  3666. <Organization>Single</Organization>
  3667. <Bank name="Bank 1">
  3668. <Field>
  3669. <Parameters name="SRAM" size="0x10000" address="0x20000000" occurence="0x1"/>
  3670. </Field>
  3671. </Bank>
  3672. </Configuration>
  3673. </Peripheral>
  3674. <!-- Embedded Flash -->
  3675. <Peripheral>
  3676. <Name>Embedded Flash</Name>
  3677. <Type>Storage</Type>
  3678. <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>
  3679. <ErasedValue>0xFF</ErasedValue>
  3680. <Access>RWE</Access>
  3681. <FlashSize address="0x1FFF75E0" default="0x40000"/>
  3682. <!-- 1024KB Single Bank -->
  3683. <Configuration>
  3684. <Parameters name=" 256 Kbytes Embedded Flash" size="0x40000" address="0x08000000"/>
  3685. <Description/>
  3686. <Organization>Single</Organization>
  3687. <Allignement>0x40</Allignement>
  3688. <Bank name="Bank 1">
  3689. <Field>
  3690. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x80"/>
  3691. </Field>
  3692. </Bank>
  3693. </Configuration>
  3694. </Peripheral>
  3695. <!-- Mirror Option Bytes -->
  3696. <Peripheral>
  3697. <Name>MirrorOptionBytes</Name>
  3698. <Type>Storage</Type>
  3699. <Description>Mirror Option Bytes contains the extra area.</Description>
  3700. <ErasedValue>0xFF</ErasedValue>
  3701. <Access>RW</Access>
  3702. <!-- 104 Bytes single bank -->
  3703. <Configuration>
  3704. <Parameters name=" 104 Bytes Data MirrorOptionBytes" size="0x68" address="0x1FFF7800"/>
  3705. <Description/>
  3706. <Organization>Single</Organization>
  3707. <Allignement>0x4</Allignement>
  3708. <Bank name="MirrorOptionBytes">
  3709. <Field>
  3710. <Parameters name="MirrorOptionBytes" size="0x68" address="0x1FFF7800" occurence="0x1"/>
  3711. </Field>
  3712. </Bank>
  3713. </Configuration>
  3714. </Peripheral>
  3715. <!-- Option Bytes -->
  3716. <Peripheral>
  3717. <Name>Option Bytes</Name>
  3718. <Type>Configuration</Type>
  3719. <Description/>
  3720. <Access>RW</Access>
  3721. <Bank interface="JTAG_SWD">
  3722. <Parameters name="Bank 1" size="0x68" address="0x58004020"/>
  3723. <Category>
  3724. <Name>Read Out Protection</Name>
  3725. <Field>
  3726. <Parameters name="RDP" size="0x4" address="0x58004020"/>
  3727. <AssignedBits>
  3728. <Bit>
  3729. <Name>RDP</Name>
  3730. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  3731. <BitOffset>0x0</BitOffset>
  3732. <BitWidth>0x8</BitWidth>
  3733. <Access>RW</Access>
  3734. <Values>
  3735. <Val value="0xAA">Level 0, no protection</Val>
  3736. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  3737. <Val value="0xCC">Level 2, chip protection</Val>
  3738. </Values>
  3739. </Bit>
  3740. </AssignedBits>
  3741. </Field>
  3742. </Category>
  3743. <Category>
  3744. <Name>BOR Level</Name>
  3745. <Field>
  3746. <Parameters name="USER" size="0x4" address="0x58004020"/>
  3747. <AssignedBits>
  3748. <Bit>
  3749. <Name>BOR_LEV</Name>
  3750. <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>
  3751. <BitOffset>0x9</BitOffset>
  3752. <BitWidth>0x3</BitWidth>
  3753. <Access>RW</Access>
  3754. <Values>
  3755. <Val value="0x0">BOR Level 0 reset level threshold is around 1.7 V</Val>
  3756. <Val value="0x1">BOR Level 1 reset level threshold is around 2.0 V</Val>
  3757. <Val value="0x2">BOR Level 2 reset level threshold is around 2.2 V</Val>
  3758. <Val value="0x3">BOR Level 3 reset level threshold is around 2.5 V</Val>
  3759. <Val value="0x4">BOR Level 4 reset level threshold is around 2.8 V</Val>
  3760. </Values>
  3761. </Bit>
  3762. </AssignedBits>
  3763. </Field>
  3764. </Category>
  3765. <Category>
  3766. <Name>User Configuration</Name>
  3767. <Field>
  3768. <Parameters name="USER" size="0x4" address="0x58004020"/>
  3769. <AssignedBits>
  3770. <Bit>
  3771. <Name>nBOOT0</Name>
  3772. <Description/>
  3773. <BitOffset>0x1B</BitOffset>
  3774. <BitWidth>0x1</BitWidth>
  3775. <Access>RW</Access>
  3776. <Values>
  3777. <Val value="0x0">nBOOT0=0</Val>
  3778. <Val value="0x1">nBOOT0=1</Val>
  3779. </Values>
  3780. </Bit>
  3781. <Bit>
  3782. <Name>nBOOT1</Name>
  3783. <Description/>
  3784. <BitOffset>0x17</BitOffset>
  3785. <BitWidth>0x1</BitWidth>
  3786. <Access>RW</Access>
  3787. <Values>
  3788. <Val value="0x0">Boot from code area if BOOT0=0 otherwise system Flash</Val>
  3789. <Val value="0x1">Boot from code area if BOOT0=0 otherwise embedded SRAM</Val>
  3790. </Values>
  3791. </Bit>
  3792. <Bit>
  3793. <Name>nSWBOOT0</Name>
  3794. <Description/>
  3795. <BitOffset>0x1A</BitOffset>
  3796. <BitWidth>0x1</BitWidth>
  3797. <Access>RW</Access>
  3798. <Values>
  3799. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  3800. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  3801. </Values>
  3802. </Bit>
  3803. <Bit>
  3804. <Name>SRAM2RST</Name>
  3805. <Description/>
  3806. <BitOffset>0x19</BitOffset>
  3807. <BitWidth>0x1</BitWidth>
  3808. <Access>RW</Access>
  3809. <Values>
  3810. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  3811. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  3812. </Values>
  3813. </Bit>
  3814. <Bit>
  3815. <Name>SRAM2PE</Name>
  3816. <Description/>
  3817. <BitOffset>0x18</BitOffset>
  3818. <BitWidth>0x1</BitWidth>
  3819. <Access>RW</Access>
  3820. <Values>
  3821. <Val value="0x0">SRAM2 parity check enable</Val>
  3822. <Val value="0x1">SRAM2 parity check disable</Val>
  3823. </Values>
  3824. </Bit>
  3825. <Bit>
  3826. <Name>nRST_STOP</Name>
  3827. <Description/>
  3828. <BitOffset>0xC</BitOffset>
  3829. <BitWidth>0x1</BitWidth>
  3830. <Access>RW</Access>
  3831. <Values>
  3832. <Val value="0x0">Reset generated when entering the Stop mode</Val>
  3833. <Val value="0x1">No reset generated when entering the Stop mode</Val>
  3834. </Values>
  3835. </Bit>
  3836. <Bit>
  3837. <Name>nRST_STDBY</Name>
  3838. <Description/>
  3839. <BitOffset>0xD</BitOffset>
  3840. <BitWidth>0x1</BitWidth>
  3841. <Access>RW</Access>
  3842. <Values>
  3843. <Val value="0x0">Reset generated when entering the Standby mode</Val>
  3844. <Val value="0x1">No reset generated when entering the Standby mode</Val>
  3845. </Values>
  3846. </Bit>
  3847. <Bit>
  3848. <Name>nRSTSHDW</Name>
  3849. <Description/>
  3850. <BitOffset>0xE</BitOffset>
  3851. <BitWidth>0x1</BitWidth>
  3852. <Access>RW</Access>
  3853. <Values>
  3854. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  3855. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  3856. </Values>
  3857. </Bit>
  3858. <Bit>
  3859. <Name>WWDGSW</Name>
  3860. <Description/>
  3861. <BitOffset>0x13</BitOffset>
  3862. <BitWidth>0x1</BitWidth>
  3863. <Access>RW</Access>
  3864. <Values>
  3865. <Val value="0x0">Hardware window watchdog</Val>
  3866. <Val value="0x1">Software window watchdog</Val>
  3867. </Values>
  3868. </Bit>
  3869. <Bit>
  3870. <Name>IWGDSTDBY</Name>
  3871. <Description/>
  3872. <BitOffset>0x12</BitOffset>
  3873. <BitWidth>0x1</BitWidth>
  3874. <Access>RW</Access>
  3875. <Values>
  3876. <Val value="0x0">Independent watchdog counter frozen in Standby mode</Val>
  3877. <Val value="0x1">Independent watchdog counter running in Standby mode</Val>
  3878. </Values>
  3879. </Bit>
  3880. <Bit>
  3881. <Name>IWDGSTOP</Name>
  3882. <Description/>
  3883. <BitOffset>0x11</BitOffset>
  3884. <BitWidth>0x1</BitWidth>
  3885. <Access>RW</Access>
  3886. <Values>
  3887. <Val value="0x0">Independent watchdog counter frozen in Stop mode</Val>
  3888. <Val value="0x1">Independent watchdog counter running in Stop mode</Val>
  3889. </Values>
  3890. </Bit>
  3891. <Bit>
  3892. <Name>IWDGSW</Name>
  3893. <Description/>
  3894. <BitOffset>0x10</BitOffset>
  3895. <BitWidth>0x1</BitWidth>
  3896. <Access>RW</Access>
  3897. <Values>
  3898. <Val value="0x0">Hardware independent watchdog</Val>
  3899. <Val value="0x1">Software independent watchdog</Val>
  3900. </Values>
  3901. </Bit>
  3902. <Bit>
  3903. <Name>C1BOOTLOCK</Name>
  3904. <Description/>
  3905. <BitOffset>0x1E</BitOffset>
  3906. <BitWidth>0x1</BitWidth>
  3907. <Access>RW</Access>
  3908. <Values>
  3909. <Val value="0x0">CPU1 CM4 Unique Boot entry lock disabled</Val>
  3910. <Val value="0x1">CPU1 CM4 Unique Boot entry lock enabled</Val>
  3911. </Values>
  3912. </Bit>
  3913. <Bit>
  3914. <Name>C2BOOTLOCK</Name>
  3915. <Description/>
  3916. <BitOffset>0x1F</BitOffset>
  3917. <BitWidth>0x1</BitWidth>
  3918. <Access>RW</Access>
  3919. <Values>
  3920. <Val value="0x0">CPU2 CM0+ Unique Boot entry lock disabled</Val>
  3921. <Val value="0x1">CPU2 CM0+ Unique Boot entry lock enabled</Val>
  3922. </Values>
  3923. </Bit>
  3924. </AssignedBits>
  3925. </Field>
  3926. <Field>
  3927. <Parameters name="FLASH_IPCCBR" size="0x1" address="0x5800403C"/>
  3928. <AssignedBits>
  3929. <Bit>
  3930. <Name>IPCCDBA</Name>
  3931. <Description>IPCC mailbox data buffer base address</Description>
  3932. <BitOffset>0x0</BitOffset>
  3933. <BitWidth>0xE</BitWidth>
  3934. <Access>RW</Access>
  3935. </Bit>
  3936. </AssignedBits>
  3937. </Field>
  3938. </Category>
  3939. <Category>
  3940. <Name>Security Configuration Option bytes</Name>
  3941. <Field>
  3942. <Parameters name="FLASH_OPTR" size="0x4" address="0x58004020"/>
  3943. <AssignedBits>
  3944. <Bit>
  3945. <Name>ESE</Name>
  3946. <Description/>
  3947. <BitOffset>0x8</BitOffset>
  3948. <BitWidth>0x1</BitWidth>
  3949. <Access>RW</Access>
  3950. <Values>
  3951. <Val value="0x0">Security disabled</Val>
  3952. <Val value="0x1">Security enabled</Val>
  3953. </Values>
  3954. </Bit>
  3955. </AssignedBits>
  3956. </Field>
  3957. <Field>
  3958. <Parameters name="FLASH_SFR" size="0x4" address="0x58004080"/>
  3959. <AssignedBits>
  3960. <Bit>
  3961. <Name>SFSA</Name>
  3962. <Description>This bit can only be accessed by software when HDPADIS = 0. When FSD=0: system and Flash secure. SFSA[6:0] contain the start address of the first 2 kB page of the secure Flash area.</Description>
  3963. <BitOffset>0x0</BitOffset>
  3964. <BitWidth>0x7</BitWidth>
  3965. <Access>RW</Access>
  3966. </Bit>
  3967. <Bit>
  3968. <Name>FSD</Name>
  3969. <Description/>
  3970. <BitOffset>0x7</BitOffset>
  3971. <BitWidth>0x1</BitWidth>
  3972. <Access>RW</Access>
  3973. <Values>
  3974. <Val value="0x0">System and Flash secure</Val>
  3975. <Val value="0x1">System and Flash non-secure</Val>
  3976. </Values>
  3977. </Bit>
  3978. <Bit>
  3979. <Name>DDS</Name>
  3980. <Description/>
  3981. <BitOffset>0xC</BitOffset>
  3982. <BitWidth>0x1</BitWidth>
  3983. <Access>RW</Access>
  3984. <Values>
  3985. <Val value="0x0">CPU2 debug access enabled</Val>
  3986. <Val value="0x1">CPU2 debug access disabled</Val>
  3987. </Values>
  3988. </Bit>
  3989. <Bit>
  3990. <Name>SHDPSA</Name>
  3991. <Description>SHDPSA[6:0] contain the start address of the first 2 kB page of the User Flash Sticky hide protection area. This bit field can only be accessed by software when HDPADIS = 0. When FSD=0 and HDPAD = 0: User Flash Sticky hide protection area enabled.</Description>
  3992. <BitOffset>0x10</BitOffset>
  3993. <BitWidth>0x7</BitWidth>
  3994. <Access>RW</Access>
  3995. </Bit>
  3996. <Bit>
  3997. <Name>HDPAD</Name>
  3998. <Description>User Flash Sticky hide protection area disabled. This bit can only be accessed by software when HDPADIS = 0</Description>
  3999. <BitOffset>0x17</BitOffset>
  4000. <BitWidth>0x1</BitWidth>
  4001. <Access>RW</Access>
  4002. </Bit>
  4003. <Bit>
  4004. <Name>SPI3SD</Name>
  4005. <Description>SPI3 security disable. This bit can only be accessed by software when HDPADIS = 0. FSD=1: SPI3 security is disabled</Description>
  4006. <BitOffset>0x1F</BitOffset>
  4007. <BitWidth>0x1</BitWidth>
  4008. <Access>RW</Access>
  4009. <Values>
  4010. <Val value="0x0">FSD=0 and SPI3SD=0: SPI3 security enabled</Val>
  4011. <Val value="0x1">FSD=0 and SPI3SD=1: SPI3 security disabled</Val>
  4012. </Values>
  4013. </Bit>
  4014. </AssignedBits>
  4015. </Field>
  4016. <Field>
  4017. <Parameters name="FLASH_SRRVR" size="0x4" address="0x58004084"/>
  4018. <AssignedBits>
  4019. <Bit>
  4020. <Name>C2OPT</Name>
  4021. <Description/>
  4022. <BitOffset>0x1F</BitOffset>
  4023. <BitWidth>0x1</BitWidth>
  4024. <Access>RW</Access>
  4025. <Values>
  4026. <Val value="0x0">SBRV will address SRAM2</Val>
  4027. <Val value="0x1">SBRV will address Flash</Val>
  4028. </Values>
  4029. </Bit>
  4030. <Bit>
  4031. <Name>NBRSD</Name>
  4032. <Description/>
  4033. <BitOffset>0x1E</BitOffset>
  4034. <BitWidth>0x1</BitWidth>
  4035. <Access>RW</Access>
  4036. <Values>
  4037. <Val value="0x0">SRAM2b is secure if FSD=0 and non-secure otherwise</Val>
  4038. <Val value="0x1">SRAM2b is non-secure if FSD=0 and secure otherwise</Val>
  4039. </Values>
  4040. </Bit>
  4041. <Bit>
  4042. <Name>SNBRSA</Name>
  4043. <Description/>
  4044. <BitOffset>0x19</BitOffset>
  4045. <BitWidth>0x5</BitWidth>
  4046. <Access>RW</Access>
  4047. </Bit>
  4048. <Bit>
  4049. <Name>BRSD</Name>
  4050. <Description/>
  4051. <BitOffset>0x17</BitOffset>
  4052. <BitWidth>0x1</BitWidth>
  4053. <Access>RW</Access>
  4054. <Values>
  4055. <Val value="0x0">SRAM2a is secure if FSD=0 and non-secure otherwise</Val>
  4056. <Val value="0x1">SRAM2b is non-secure if FSD=0 and secure otherwise</Val>
  4057. </Values>
  4058. </Bit>
  4059. <Bit>
  4060. <Name>SBRSA</Name>
  4061. <Description/>
  4062. <BitOffset>0x12</BitOffset>
  4063. <BitWidth>0x5</BitWidth>
  4064. <Access>RW</Access>
  4065. </Bit>
  4066. <Bit>
  4067. <Name>SBRV</Name>
  4068. <Description/>
  4069. <BitOffset>0x0</BitOffset>
  4070. <BitWidth>0x10</BitWidth>
  4071. <Access>RW</Access>
  4072. </Bit>
  4073. </AssignedBits>
  4074. </Field>
  4075. </Category>
  4076. <Category>
  4077. <Name>PCROP Protection</Name>
  4078. <Field>
  4079. <Parameters name="PCROP1ASR" size="0x4" address="0x58004024"/>
  4080. <AssignedBits>
  4081. <Bit>
  4082. <Name>PCROP1A_STRT</Name>
  4083. <Description>Flash Bank 1 PCROP start address</Description>
  4084. <BitOffset>0x0</BitOffset>
  4085. <BitWidth>0x8</BitWidth>
  4086. <Access>RW</Access>
  4087. <Equation multiplier="0x8" offset="0x08000000"/>
  4088. </Bit>
  4089. </AssignedBits>
  4090. </Field>
  4091. <Field>
  4092. <Parameters name="PCROP1AER" size="0x4" address="0x58004028"/>
  4093. <AssignedBits>
  4094. <Bit>
  4095. <Name>PCROP1A_END</Name>
  4096. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  4097. <BitOffset>0x0</BitOffset>
  4098. <BitWidth>0x8</BitWidth>
  4099. <Access>RW</Access>
  4100. <Equation multiplier="0x8" offset="0x08000008"/>
  4101. </Bit>
  4102. <Bit>
  4103. <Name>PCROP_RDP</Name>
  4104. <Description/>
  4105. <BitOffset>0x1F</BitOffset>
  4106. <BitWidth>0x1</BitWidth>
  4107. <Access>RW</Access>
  4108. <Values>
  4109. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  4110. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  4111. </Values>
  4112. </Bit>
  4113. </AssignedBits>
  4114. </Field>
  4115. <Field>
  4116. <Parameters name="PCROP1BSR" size="0x4" address="0x58004034"/>
  4117. <AssignedBits>
  4118. <Bit>
  4119. <Name>PCROP1B_STRT</Name>
  4120. <Description>Flash Bank 2 PCROP start address</Description>
  4121. <BitOffset>0x0</BitOffset>
  4122. <BitWidth>0x8</BitWidth>
  4123. <Access>RW</Access>
  4124. <Equation multiplier="0x8" offset="0x08000000"/>
  4125. </Bit>
  4126. </AssignedBits>
  4127. </Field>
  4128. <Field>
  4129. <Parameters name="PCROP1BER" size="0x4" address="0x58004038"/>
  4130. <AssignedBits>
  4131. <Bit>
  4132. <Name>PCROP1B_END</Name>
  4133. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  4134. <BitOffset>0x0</BitOffset>
  4135. <BitWidth>0x8</BitWidth>
  4136. <Access>RW</Access>
  4137. <Equation multiplier="0x8" offset="0x08000008"/>
  4138. </Bit>
  4139. </AssignedBits>
  4140. </Field>
  4141. </Category>
  4142. <Category>
  4143. <Name>Write Protection</Name>
  4144. <Field>
  4145. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x5800402C"/>
  4146. <AssignedBits>
  4147. <Bit>
  4148. <Name>WRP1A_STRT</Name>
  4149. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  4150. <BitOffset>0x0</BitOffset>
  4151. <BitWidth>0x7</BitWidth>
  4152. <Access>RW</Access>
  4153. <Equation multiplier="0x800" offset="0x08000000"/>
  4154. </Bit>
  4155. <Bit>
  4156. <Name>WRP1A_END</Name>
  4157. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  4158. <BitOffset>0x10</BitOffset>
  4159. <BitWidth>0x7</BitWidth>
  4160. <Access>RW</Access>
  4161. <Equation multiplier="0x800" offset="0x08000000"/>
  4162. </Bit>
  4163. </AssignedBits>
  4164. </Field>
  4165. <Field>
  4166. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x58004030"/>
  4167. <AssignedBits>
  4168. <Bit>
  4169. <Name>WRP1B_STRT</Name>
  4170. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  4171. <BitOffset>0x0</BitOffset>
  4172. <BitWidth>0x7</BitWidth>
  4173. <Access>RW</Access>
  4174. <Equation multiplier="0x800" offset="0x08000000"/>
  4175. </Bit>
  4176. <Bit>
  4177. <Name>WRP1B_END</Name>
  4178. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  4179. <BitOffset>0x10</BitOffset>
  4180. <BitWidth>0x7</BitWidth>
  4181. <Access>RW</Access>
  4182. <Equation multiplier="0x800" offset="0x08000000"/>
  4183. </Bit>
  4184. </AssignedBits>
  4185. </Field>
  4186. </Category>
  4187. </Bank>
  4188. <Bank interface="Bootloader">
  4189. <Parameters name="Bank 1" size="0x68" address="0x1FFF7800"/>
  4190. <Category>
  4191. <Name>Read Out Protection</Name>
  4192. <Field>
  4193. <Parameters name="RDP" size="0x4" address="0x1FFF7800"/>
  4194. <AssignedBits>
  4195. <Bit>
  4196. <Name>RDP</Name>
  4197. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  4198. <BitOffset>0x0</BitOffset>
  4199. <BitWidth>0x8</BitWidth>
  4200. <Access>RW</Access>
  4201. <Values>
  4202. <Val value="0xAA">Level 0, no protection</Val>
  4203. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  4204. <Val value="0xCC">Level 2, chip protection</Val>
  4205. </Values>
  4206. </Bit>
  4207. </AssignedBits>
  4208. </Field>
  4209. </Category>
  4210. <Category>
  4211. <Name>BOR Level</Name>
  4212. <Field>
  4213. <Parameters name="USER" size="0x4" address="0x1FFF7800"/>
  4214. <AssignedBits>
  4215. <Bit>
  4216. <Name>BOR_LEV</Name>
  4217. <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>
  4218. <BitOffset>0x9</BitOffset>
  4219. <BitWidth>0x3</BitWidth>
  4220. <Access>RW</Access>
  4221. <Values>
  4222. <Val value="0x0">BOR Level 0 reset level threshold is around 1.7 V</Val>
  4223. <Val value="0x1">BOR Level 1 reset level threshold is around 2.0 V</Val>
  4224. <Val value="0x2">BOR Level 2 reset level threshold is around 2.2 V</Val>
  4225. <Val value="0x3">BOR Level 3 reset level threshold is around 2.5 V</Val>
  4226. <Val value="0x4">BOR Level 4 reset level threshold is around 2.8 V</Val>
  4227. </Values>
  4228. </Bit>
  4229. </AssignedBits>
  4230. </Field>
  4231. </Category>
  4232. <Category>
  4233. <Name>User Configuration</Name>
  4234. <Field>
  4235. <Parameters name="USER" size="0x4" address="0x1FFF7800"/>
  4236. <AssignedBits>
  4237. <Bit>
  4238. <Name>nBOOT0</Name>
  4239. <Description/>
  4240. <BitOffset>0x1B</BitOffset>
  4241. <BitWidth>0x1</BitWidth>
  4242. <Access>RW</Access>
  4243. <Values>
  4244. <Val value="0x0">nBOOT0=0</Val>
  4245. <Val value="0x1">nBOOT0=1</Val>
  4246. </Values>
  4247. </Bit>
  4248. <Bit>
  4249. <Name>nBOOT1</Name>
  4250. <Description/>
  4251. <BitOffset>0x17</BitOffset>
  4252. <BitWidth>0x1</BitWidth>
  4253. <Access>RW</Access>
  4254. <Values>
  4255. <Val value="0x0">Boot from code area if BOOT0=0 otherwise system Flash</Val>
  4256. <Val value="0x1">Boot from code area if BOOT0=0 otherwise embedded SRAM</Val>
  4257. </Values>
  4258. </Bit>
  4259. <Bit>
  4260. <Name>nSWBOOT0</Name>
  4261. <Description/>
  4262. <BitOffset>0x1A</BitOffset>
  4263. <BitWidth>0x1</BitWidth>
  4264. <Access>RW</Access>
  4265. <Values>
  4266. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  4267. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  4268. </Values>
  4269. </Bit>
  4270. <Bit>
  4271. <Name>SRAM2RST</Name>
  4272. <Description/>
  4273. <BitOffset>0x19</BitOffset>
  4274. <BitWidth>0x1</BitWidth>
  4275. <Access>RW</Access>
  4276. <Values>
  4277. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  4278. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  4279. </Values>
  4280. </Bit>
  4281. <Bit>
  4282. <Name>SRAM2PE</Name>
  4283. <Description/>
  4284. <BitOffset>0x18</BitOffset>
  4285. <BitWidth>0x1</BitWidth>
  4286. <Access>RW</Access>
  4287. <Values>
  4288. <Val value="0x0">SRAM2 parity check enable</Val>
  4289. <Val value="0x1">SRAM2 parity check disable</Val>
  4290. </Values>
  4291. </Bit>
  4292. <Bit>
  4293. <Name>nRST_STOP</Name>
  4294. <Description/>
  4295. <BitOffset>0xC</BitOffset>
  4296. <BitWidth>0x1</BitWidth>
  4297. <Access>RW</Access>
  4298. <Values>
  4299. <Val value="0x0">Reset generated when entering the Stop mode</Val>
  4300. <Val value="0x1">No reset generated when entering the Stop mode</Val>
  4301. </Values>
  4302. </Bit>
  4303. <Bit>
  4304. <Name>nRST_STDBY</Name>
  4305. <Description/>
  4306. <BitOffset>0xD</BitOffset>
  4307. <BitWidth>0x1</BitWidth>
  4308. <Access>RW</Access>
  4309. <Values>
  4310. <Val value="0x0">Reset generated when entering the Standby mode</Val>
  4311. <Val value="0x1">No reset generated when entering the Standby mode</Val>
  4312. </Values>
  4313. </Bit>
  4314. <Bit>
  4315. <Name>nRSTSHDW</Name>
  4316. <Description/>
  4317. <BitOffset>0xE</BitOffset>
  4318. <BitWidth>0x1</BitWidth>
  4319. <Access>RW</Access>
  4320. <Values>
  4321. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  4322. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  4323. </Values>
  4324. </Bit>
  4325. <Bit>
  4326. <Name>WWDGSW</Name>
  4327. <Description/>
  4328. <BitOffset>0x13</BitOffset>
  4329. <BitWidth>0x1</BitWidth>
  4330. <Access>RW</Access>
  4331. <Values>
  4332. <Val value="0x0">Hardware window watchdog</Val>
  4333. <Val value="0x1">Software window watchdog</Val>
  4334. </Values>
  4335. </Bit>
  4336. <Bit>
  4337. <Name>IWGDSTDBY</Name>
  4338. <Description/>
  4339. <BitOffset>0x12</BitOffset>
  4340. <BitWidth>0x1</BitWidth>
  4341. <Access>RW</Access>
  4342. <Values>
  4343. <Val value="0x0">Independent watchdog counter frozen in Standby mode</Val>
  4344. <Val value="0x1">Independent watchdog counter running in Standby mode</Val>
  4345. </Values>
  4346. </Bit>
  4347. <Bit>
  4348. <Name>IWDGSTOP</Name>
  4349. <Description/>
  4350. <BitOffset>0x11</BitOffset>
  4351. <BitWidth>0x1</BitWidth>
  4352. <Access>RW</Access>
  4353. <Values>
  4354. <Val value="0x0">Independent watchdog counter frozen in Stop mode</Val>
  4355. <Val value="0x1">Independent watchdog counter running in Stop mode</Val>
  4356. </Values>
  4357. </Bit>
  4358. <Bit>
  4359. <Name>IWDGSW</Name>
  4360. <Description/>
  4361. <BitOffset>0x10</BitOffset>
  4362. <BitWidth>0x1</BitWidth>
  4363. <Access>RW</Access>
  4364. <Values>
  4365. <Val value="0x0">Hardware independent watchdog</Val>
  4366. <Val value="0x1">Software independent watchdog</Val>
  4367. </Values>
  4368. </Bit>
  4369. <Bit>
  4370. <Name>C1BOOTLOCK</Name>
  4371. <Description/>
  4372. <BitOffset>0x1E</BitOffset>
  4373. <BitWidth>0x1</BitWidth>
  4374. <Access>RW</Access>
  4375. <Values>
  4376. <Val value="0x0">CPU1 CM4 Unique Boot entry lock disabled</Val>
  4377. <Val value="0x1">CPU1 CM4 Unique Boot entry lock enabled</Val>
  4378. </Values>
  4379. </Bit>
  4380. <Bit>
  4381. <Name>C2BOOTLOCK</Name>
  4382. <Description/>
  4383. <BitOffset>0x1F</BitOffset>
  4384. <BitWidth>0x1</BitWidth>
  4385. <Access>RW</Access>
  4386. <Values>
  4387. <Val value="0x0">CPU2 CM0+ Unique Boot entry lock disabled</Val>
  4388. <Val value="0x1">CPU2 CM0+ Unique Boot entry lock enabled</Val>
  4389. </Values>
  4390. </Bit>
  4391. </AssignedBits>
  4392. </Field>
  4393. <Field>
  4394. <Parameters name="FLASH_IPCCBR" size="0x4" address="0x1FFF7868"/>
  4395. <AssignedBits>
  4396. <Bit>
  4397. <Name>IPCCDBA</Name>
  4398. <Description>IPCC mailbox data buffer base address</Description>
  4399. <BitOffset>0x0</BitOffset>
  4400. <BitWidth>0xE</BitWidth>
  4401. <Access>RW</Access>
  4402. </Bit>
  4403. </AssignedBits>
  4404. </Field>
  4405. </Category>
  4406. <!--<Category>
  4407. <Name>Security Configuration Option bytes</Name>
  4408. <Field>
  4409. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF8000"/>
  4410. <AssignedBits>
  4411. <Bit>
  4412. <Name>ESE</Name>
  4413. <Description/>
  4414. <BitOffset>0x8</BitOffset>
  4415. <BitWidth>0x1</BitWidth>
  4416. <Access>R</Access>
  4417. <Values>
  4418. <Val value="0x0">Security disabled</Val>
  4419. <Val value="0x1">Security enabled</Val>
  4420. </Values>
  4421. </Bit>
  4422. </AssignedBits>
  4423. </Field>
  4424. <Field>
  4425. <Parameters name="FLASH_SFR" size="0x4" address="0x1FFF8070"/>
  4426. <AssignedBits>
  4427. <Bit>
  4428. <Name>SFSA</Name>
  4429. <Description>Secure Flash start address</Description>
  4430. <BitOffset>0x0</BitOffset>
  4431. <BitWidth>0x7</BitWidth>
  4432. <Access>RW</Access>
  4433. </Bit>
  4434. <Bit>
  4435. <Name>FSD</Name>
  4436. <Description/>
  4437. <BitOffset>0x7</BitOffset>
  4438. <BitWidth>0x1</BitWidth>
  4439. <Access>RW</Access>
  4440. <Values>
  4441. <Val value="0x0">System and Flash secure</Val>
  4442. <Val value="0x1">System and Flash non-secure</Val>
  4443. </Values>
  4444. </Bit>
  4445. <Bit>
  4446. <Name>DDS</Name>
  4447. <Description/>
  4448. <BitOffset>0xC</BitOffset>
  4449. <BitWidth>0x1</BitWidth>
  4450. <Access>RW</Access>
  4451. <Values>
  4452. <Val value="0x0">CPU2 debug access enabled</Val>
  4453. <Val value="0x1">CPU2 debug access disabled</Val>
  4454. </Values>
  4455. </Bit>
  4456. <Bit>
  4457. <Name>SHDPSA</Name>
  4458. <Description>SHDPSA[6:0] contain the start address of the first 2 kB page of the User Flash Sticky hide protection area. This bit field can only be accessed by software when HDPADIS = 0. When FSD=0 and HDPAD = 0: User Flash Sticky hide protection area enabled.</Description>
  4459. <BitOffset>0x10</BitOffset>
  4460. <BitWidth>0x7</BitWidth>
  4461. <Access>RW</Access>
  4462. </Bit>
  4463. <Bit>
  4464. <Name>HDPAD</Name>
  4465. <Description>User Flash Sticky hide protection area disabled. This bit can only be accessed by software when HDPADIS = 0</Description>
  4466. <BitOffset>0x17</BitOffset>
  4467. <BitWidth>0x1</BitWidth>
  4468. <Access>RW</Access>
  4469. </Bit>
  4470. <Bit>
  4471. <Name>SPI3SD</Name>
  4472. <Description>SPI3 security disable. This bit can only be accessed by software when HDPADIS = 0. FSD=1: SPI3 security is disabled</Description>
  4473. <BitOffset>0x1F</BitOffset>
  4474. <BitWidth>0x1</BitWidth>
  4475. <Access>RW</Access>
  4476. <Values>
  4477. <Val value="0x0">FSD=0 and SPI3SD=0: SPI3 security enabled</Val>
  4478. <Val value="0x1">FSD=0 and SPI3SD=1: SPI3 security disabled</Val>
  4479. </Values>
  4480. </Bit>
  4481. </AssignedBits>
  4482. </Field>
  4483. <Field>
  4484. <Parameters name="FLASH_SRRVR" size="0x4" address="0x1FFF8078"/>
  4485. <AssignedBits>
  4486. <Bit>
  4487. <Name>C2OPT</Name>
  4488. <Description/>
  4489. <BitOffset>0x1F</BitOffset>
  4490. <BitWidth>0x1</BitWidth>
  4491. <Access>RW</Access>
  4492. <Values>
  4493. <Val value="0x0">SBRV will address SRAM2</Val>
  4494. <Val value="0x1">SBRV will address Flash</Val>
  4495. </Values>
  4496. </Bit>
  4497. <Bit>
  4498. <Name>NBRSD</Name>
  4499. <Description/>
  4500. <BitOffset>0x1E</BitOffset>
  4501. <BitWidth>0x1</BitWidth>
  4502. <Access>RW</Access>
  4503. <Values>
  4504. <Val value="0x0">SRAM2b is secure if FSD=0 and non-secure otherwise</Val>
  4505. <Val value="0x1">SRAM2b is non-secure if FSD=0 and secure otherwise</Val>
  4506. </Values>
  4507. </Bit>
  4508. <Bit>
  4509. <Name>SNBRSA</Name>
  4510. <Description/>
  4511. <BitOffset>0x19</BitOffset>
  4512. <BitWidth>0x5</BitWidth>
  4513. <Access>RW</Access>
  4514. </Bit>
  4515. <Bit>
  4516. <Name>BRSD</Name>
  4517. <Description/>
  4518. <BitOffset>0x17</BitOffset>
  4519. <BitWidth>0x1</BitWidth>
  4520. <Access>RW</Access>
  4521. <Values>
  4522. <Val value="0x0">SRAM2a is secure if FSD=0 and non-secure otherwise</Val>
  4523. <Val value="0x1">SRAM2b is non-secure if FSD=0 and secure otherwise</Val>
  4524. </Values>
  4525. </Bit>
  4526. <Bit>
  4527. <Name>SBRSA</Name>
  4528. <Description/>
  4529. <BitOffset>0x12</BitOffset>
  4530. <BitWidth>0x5</BitWidth>
  4531. <Access>RW</Access>
  4532. </Bit>
  4533. <Bit>
  4534. <Name>SBRV</Name>
  4535. <Description/>
  4536. <BitOffset>0x0</BitOffset>
  4537. <BitWidth>0x10</BitWidth>
  4538. <Access>RW</Access>
  4539. </Bit>
  4540. </AssignedBits>
  4541. </Field>
  4542. </Category>-->
  4543. <Category>
  4544. <Name>PCROP Protection</Name>
  4545. <Field>
  4546. <Parameters name="PCROP1ASR" size="0x4" address="0x1FFF7808"/>
  4547. <AssignedBits>
  4548. <Bit>
  4549. <Name>PCROP1A_STRT</Name>
  4550. <Description>Flash Bank 1 PCROP start address</Description>
  4551. <BitOffset>0x0</BitOffset>
  4552. <BitWidth>0x8</BitWidth>
  4553. <Access>RW</Access>
  4554. <Equation multiplier="0x8" offset="0x08000000"/>
  4555. </Bit>
  4556. </AssignedBits>
  4557. </Field>
  4558. <Field>
  4559. <Parameters name="PCROP1AER" size="0x4" address="0x1FFF7810"/>
  4560. <AssignedBits>
  4561. <Bit>
  4562. <Name>PCROP1A_END</Name>
  4563. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  4564. <BitOffset>0x0</BitOffset>
  4565. <BitWidth>0x8</BitWidth>
  4566. <Access>RW</Access>
  4567. <Equation multiplier="0x8" offset="0x08000008"/>
  4568. </Bit>
  4569. <Bit>
  4570. <Name>PCROP_RDP</Name>
  4571. <Description/>
  4572. <BitOffset>0x1F</BitOffset>
  4573. <BitWidth>0x1</BitWidth>
  4574. <Access>RW</Access>
  4575. <Values>
  4576. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  4577. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  4578. </Values>
  4579. </Bit>
  4580. </AssignedBits>
  4581. </Field>
  4582. <Field>
  4583. <Parameters name="PCROP1BSR" size="0x4" address="0x1FFF7828"/>
  4584. <AssignedBits>
  4585. <Bit>
  4586. <Name>PCROP1B_STRT</Name>
  4587. <Description>Flash Bank 2 PCROP start address</Description>
  4588. <BitOffset>0x0</BitOffset>
  4589. <BitWidth>0x8</BitWidth>
  4590. <Access>RW</Access>
  4591. <Equation multiplier="0x8" offset="0x08000000"/>
  4592. </Bit>
  4593. </AssignedBits>
  4594. </Field>
  4595. <Field>
  4596. <Parameters name="PCROP1BER" size="0x4" address="0x1FFF7830"/>
  4597. <AssignedBits>
  4598. <Bit>
  4599. <Name>PCROP1B_END</Name>
  4600. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  4601. <BitOffset>0x0</BitOffset>
  4602. <BitWidth>0x8</BitWidth>
  4603. <Access>RW</Access>
  4604. <Equation multiplier="0x8" offset="0x08000008"/>
  4605. </Bit>
  4606. </AssignedBits>
  4607. </Field>
  4608. </Category>
  4609. <Category>
  4610. <Name>Write Protection</Name>
  4611. <Field>
  4612. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  4613. <AssignedBits>
  4614. <Bit>
  4615. <Name>WRP1A_STRT</Name>
  4616. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  4617. <BitOffset>0x0</BitOffset>
  4618. <BitWidth>0x7</BitWidth>
  4619. <Access>RW</Access>
  4620. <Equation multiplier="0x800" offset="0x08000000"/>
  4621. </Bit>
  4622. <Bit>
  4623. <Name>WRP1A_END</Name>
  4624. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  4625. <BitOffset>0x10</BitOffset>
  4626. <BitWidth>0x7</BitWidth>
  4627. <Access>RW</Access>
  4628. <Equation multiplier="0x800" offset="0x08000000"/>
  4629. </Bit>
  4630. </AssignedBits>
  4631. </Field>
  4632. <Field>
  4633. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  4634. <AssignedBits>
  4635. <Bit>
  4636. <Name>WRP1B_STRT</Name>
  4637. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  4638. <BitOffset>0x0</BitOffset>
  4639. <BitWidth>0x7</BitWidth>
  4640. <Access>RW</Access>
  4641. <Equation multiplier="0x800" offset="0x08000000"/>
  4642. </Bit>
  4643. <Bit>
  4644. <Name>WRP1B_END</Name>
  4645. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  4646. <BitOffset>0x10</BitOffset>
  4647. <BitWidth>0x7</BitWidth>
  4648. <Access>RW</Access>
  4649. <Equation multiplier="0x800" offset="0x08000000"/>
  4650. </Bit>
  4651. </AssignedBits>
  4652. </Field>
  4653. </Category>
  4654. </Bank>
  4655. </Peripheral>
  4656. </Peripherals>
  4657. </Device>
  4658. <!-- Device: 0x495 -->
  4659. <Device>
  4660. <DeviceID>0x495</DeviceID>
  4661. <Vendor>STMicroelectronics</Vendor>
  4662. <Type>MCU</Type>
  4663. <CPU>Cortex-M0+/M4</CPU>
  4664. <Name>STM32WB55xx</Name>
  4665. <Series>STM32WB</Series>
  4666. <Description>ARM 32-bit Cortex-M0+ and ARM 32-bit Cortex-M4 dual core based device</Description>
  4667. <Configurations>
  4668. <!-- JTAG_SWD Interface -->
  4669. <Interface name="JTAG_SWD"/>
  4670. <!-- Bootloader Interface -->
  4671. <Interface name="Bootloader"/>
  4672. </Configurations>
  4673. <!-- Peripherals -->
  4674. <Peripherals>
  4675. <!-- Embedded SRAM -->
  4676. <Peripheral>
  4677. <Name>Embedded SRAM</Name>
  4678. <Type>Storage</Type>
  4679. <Description/>
  4680. <ErasedValue>0x00</ErasedValue>
  4681. <Access>RWE</Access>
  4682. <!-- 192 KB -->
  4683. <Configuration>
  4684. <Parameters name="SRAM" size="0x30000" address="0x20000000"/>
  4685. <Description/>
  4686. <Organization>Single</Organization>
  4687. <Bank name="Bank 1">
  4688. <Field>
  4689. <Parameters name="SRAM" size="0x30000" address="0x20000000" occurence="0x1"/>
  4690. </Field>
  4691. </Bank>
  4692. </Configuration>
  4693. </Peripheral>
  4694. <!-- Embedded Flash -->
  4695. <Peripheral>
  4696. <Name>Embedded Flash</Name>
  4697. <Type>Storage</Type>
  4698. <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>
  4699. <ErasedValue>0x00</ErasedValue>
  4700. <Access>RWE</Access>
  4701. <FlashSize address="0x1FFF75E0" default="0x100000"/>
  4702. <!-- 1024KB Single Bank -->
  4703. <Configuration>
  4704. <Parameters name=" 1024 Kbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  4705. <Description/>
  4706. <Organization>Single</Organization>
  4707. <Allignement>0x8</Allignement>
  4708. <Bank name="Bank 1">
  4709. <Field>
  4710. <Parameters name="sector0" size="0x1000" address="0x08000000" occurence="0x100"/>
  4711. </Field>
  4712. </Bank>
  4713. </Configuration>
  4714. </Peripheral>
  4715. <!-- OTP -->
  4716. <Peripheral>
  4717. <Name>OTP</Name>
  4718. <Type>Storage</Type>
  4719. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  4720. <ErasedValue>0xFF</ErasedValue>
  4721. <Access>RW</Access>
  4722. <!-- 1 KBytes single bank -->
  4723. <Configuration>
  4724. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  4725. <Description/>
  4726. <Organization>Single</Organization>
  4727. <Allignement>0x4</Allignement>
  4728. <Bank name="OTP">
  4729. <Field>
  4730. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  4731. </Field>
  4732. </Bank>
  4733. </Configuration>
  4734. </Peripheral>
  4735. <!-- Mirror Option Bytes -->
  4736. <Peripheral>
  4737. <Name>MirrorOptionBytes</Name>
  4738. <Type>Storage</Type>
  4739. <Description>Mirror Option Bytes contains the extra area.</Description>
  4740. <ErasedValue>0xFF</ErasedValue>
  4741. <Access>RW</Access>
  4742. <!-- 128 Bytes single bank -->
  4743. <Configuration>
  4744. <Parameters name=" 128 Bytes Data MirrorOptionBytes" size="0x80" address="0x1FFF8000"/>
  4745. <Description/>
  4746. <Organization>Single</Organization>
  4747. <Allignement>0x4</Allignement>
  4748. <Bank name="MirrorOptionBytes">
  4749. <Field>
  4750. <Parameters name="MirrorOptionBytes" size="0x80" address="0x1FFF8000" occurence="0x1"/>
  4751. </Field>
  4752. </Bank>
  4753. </Configuration>
  4754. </Peripheral>
  4755. <!-- Option Bytes -->
  4756. <Peripheral>
  4757. <Name>Option Bytes</Name>
  4758. <Type>Configuration</Type>
  4759. <Description/>
  4760. <Access>RW</Access>
  4761. <Bank interface="JTAG_SWD">
  4762. <Parameters name="Bank 1" size="0x68" address="0x58004020"/>
  4763. <Category>
  4764. <Name>Read Out Protection</Name>
  4765. <Field>
  4766. <Parameters name="RDP" size="0x4" address="0x58004020"/>
  4767. <AssignedBits>
  4768. <Bit>
  4769. <Name>RDP</Name>
  4770. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  4771. <BitOffset>0x0</BitOffset>
  4772. <BitWidth>0x8</BitWidth>
  4773. <Access>RW</Access>
  4774. <Values>
  4775. <Val value="0xAA">Level 0, no protection</Val>
  4776. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  4777. <Val value="0xCC">Level 2, chip protection</Val>
  4778. </Values>
  4779. </Bit>
  4780. </AssignedBits>
  4781. </Field>
  4782. </Category>
  4783. <Category>
  4784. <Name>BOR Level</Name>
  4785. <Field>
  4786. <Parameters name="USER" size="0x4" address="0x58004020"/>
  4787. <AssignedBits>
  4788. <Bit>
  4789. <Name>BOR_LEV</Name>
  4790. <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>
  4791. <BitOffset>0x9</BitOffset>
  4792. <BitWidth>0x3</BitWidth>
  4793. <Access>RW</Access>
  4794. <Values>
  4795. <Val value="0x0">BOR Level 0 reset level threshold is around 1.7 V</Val>
  4796. <Val value="0x1">BOR Level 1 reset level threshold is around 2.0 V</Val>
  4797. <Val value="0x2">BOR Level 2 reset level threshold is around 2.2 V</Val>
  4798. <Val value="0x3">BOR Level 3 reset level threshold is around 2.5 V</Val>
  4799. <Val value="0x4">BOR Level 4 reset level threshold is around 2.8 V</Val>
  4800. </Values>
  4801. </Bit>
  4802. </AssignedBits>
  4803. </Field>
  4804. </Category>
  4805. <Category>
  4806. <Name>User Configuration</Name>
  4807. <Field>
  4808. <Parameters name="USER" size="0x4" address="0x58004020"/>
  4809. <AssignedBits>
  4810. <Bit>
  4811. <Name>nBOOT0</Name>
  4812. <Description/>
  4813. <BitOffset>0x1B</BitOffset>
  4814. <BitWidth>0x1</BitWidth>
  4815. <Access>RW</Access>
  4816. <Values>
  4817. <Val value="0x0">nBOOT0=0 Boot selected based on nBOOT1</Val>
  4818. <Val value="0x1">nBOOT0=1 Boot from main Flash</Val>
  4819. </Values>
  4820. </Bit>
  4821. <Bit>
  4822. <Name>nBOOT1</Name>
  4823. <Description/>
  4824. <BitOffset>0x17</BitOffset>
  4825. <BitWidth>0x1</BitWidth>
  4826. <Access>RW</Access>
  4827. <Values>
  4828. <Val value="0x0">Boot from code area if BOOT0=0 otherwise embedded SRAM</Val>
  4829. <Val value="0x1">Boot from code area if BOOT0=0 otherwise system Flash</Val>
  4830. </Values>
  4831. </Bit>
  4832. <Bit>
  4833. <Name>nSWBOOT0</Name>
  4834. <Description/>
  4835. <BitOffset>0x1A</BitOffset>
  4836. <BitWidth>0x1</BitWidth>
  4837. <Access>RW</Access>
  4838. <Values>
  4839. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  4840. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  4841. </Values>
  4842. </Bit>
  4843. <Bit>
  4844. <Name>SRAM2RST</Name>
  4845. <Description/>
  4846. <BitOffset>0x19</BitOffset>
  4847. <BitWidth>0x1</BitWidth>
  4848. <Access>RW</Access>
  4849. <Values>
  4850. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  4851. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  4852. </Values>
  4853. </Bit>
  4854. <Bit>
  4855. <Name>SRAM2PE</Name>
  4856. <Description/>
  4857. <BitOffset>0x18</BitOffset>
  4858. <BitWidth>0x1</BitWidth>
  4859. <Access>RW</Access>
  4860. <Values>
  4861. <Val value="0x0">SRAM2 parity check enable</Val>
  4862. <Val value="0x1">SRAM2 parity check disable</Val>
  4863. </Values>
  4864. </Bit>
  4865. <Bit>
  4866. <Name>nRST_STOP</Name>
  4867. <Description/>
  4868. <BitOffset>0xC</BitOffset>
  4869. <BitWidth>0x1</BitWidth>
  4870. <Access>RW</Access>
  4871. <Values>
  4872. <Val value="0x0">Reset generated when entering the Stop mode</Val>
  4873. <Val value="0x1">No reset generated when entering the Stop mode</Val>
  4874. </Values>
  4875. </Bit>
  4876. <Bit>
  4877. <Name>nRST_STDBY</Name>
  4878. <Description/>
  4879. <BitOffset>0xD</BitOffset>
  4880. <BitWidth>0x1</BitWidth>
  4881. <Access>RW</Access>
  4882. <Values>
  4883. <Val value="0x0">Reset generated when entering the Standby mode</Val>
  4884. <Val value="0x1">No reset generated when entering the Standby mode</Val>
  4885. </Values>
  4886. </Bit>
  4887. <Bit>
  4888. <Name>nRSTSHDW</Name>
  4889. <Description/>
  4890. <BitOffset>0xE</BitOffset>
  4891. <BitWidth>0x1</BitWidth>
  4892. <Access>RW</Access>
  4893. <Values>
  4894. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  4895. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  4896. </Values>
  4897. </Bit>
  4898. <Bit>
  4899. <Name>WWDGSW</Name>
  4900. <Description/>
  4901. <BitOffset>0x13</BitOffset>
  4902. <BitWidth>0x1</BitWidth>
  4903. <Access>RW</Access>
  4904. <Values>
  4905. <Val value="0x0">Hardware window watchdog</Val>
  4906. <Val value="0x1">Software window watchdog</Val>
  4907. </Values>
  4908. </Bit>
  4909. <Bit>
  4910. <Name>IWGDSTDBY</Name>
  4911. <Description/>
  4912. <BitOffset>0x12</BitOffset>
  4913. <BitWidth>0x1</BitWidth>
  4914. <Access>RW</Access>
  4915. <Values>
  4916. <Val value="0x0">Independent watchdog counter frozen in Standby mode</Val>
  4917. <Val value="0x1">Independent watchdog counter running in Standby mode</Val>
  4918. </Values>
  4919. </Bit>
  4920. <Bit>
  4921. <Name>IWDGSTOP</Name>
  4922. <Description/>
  4923. <BitOffset>0x11</BitOffset>
  4924. <BitWidth>0x1</BitWidth>
  4925. <Access>RW</Access>
  4926. <Values>
  4927. <Val value="0x0">Independent watchdog counter frozen in Stop mode</Val>
  4928. <Val value="0x1">Independent watchdog counter running in Stop mode</Val>
  4929. </Values>
  4930. </Bit>
  4931. <Bit>
  4932. <Name>IWDGSW</Name>
  4933. <Description/>
  4934. <BitOffset>0x10</BitOffset>
  4935. <BitWidth>0x1</BitWidth>
  4936. <Access>RW</Access>
  4937. <Values>
  4938. <Val value="0x0">Hardware independent watchdog</Val>
  4939. <Val value="0x1">Software independent watchdog</Val>
  4940. </Values>
  4941. </Bit>
  4942. </AssignedBits>
  4943. </Field>
  4944. <Field>
  4945. <Parameters name="FLASH_IPCCBR" size="0x4" address="0x5800403C"/>
  4946. <AssignedBits>
  4947. <Bit>
  4948. <Name>IPCCDBA</Name>
  4949. <Description>IPCC mailbox data buffer base address</Description>
  4950. <BitOffset>0x0</BitOffset>
  4951. <BitWidth>0xE</BitWidth>
  4952. <Access>RW</Access>
  4953. </Bit>
  4954. </AssignedBits>
  4955. </Field>
  4956. </Category>
  4957. <Category>
  4958. <Name>Security Configuration Option bytes</Name>
  4959. <Field>
  4960. <Parameters name="FLASH_OPTR" size="0x4" address="0x58004020"/>
  4961. <AssignedBits>
  4962. <Bit>
  4963. <Name>ESE</Name>
  4964. <Description/>
  4965. <BitOffset>0x8</BitOffset>
  4966. <BitWidth>0x1</BitWidth>
  4967. <Access>R</Access>
  4968. <Values>
  4969. <Val value="0x0">Security disabled</Val>
  4970. <Val value="0x1">Security enabled</Val>
  4971. </Values>
  4972. </Bit>
  4973. </AssignedBits>
  4974. </Field>
  4975. <Field>
  4976. <Parameters name="FLASH_SFR" size="0x4" address="0x58004080"/>
  4977. <AssignedBits>
  4978. <Bit>
  4979. <Name>SFSA</Name>
  4980. <Description>Secure Flash start address</Description>
  4981. <BitOffset>0x0</BitOffset>
  4982. <BitWidth>0x8</BitWidth>
  4983. <Access>RW</Access>
  4984. </Bit>
  4985. <Bit>
  4986. <Name>FSD</Name>
  4987. <Description/>
  4988. <BitOffset>0x8</BitOffset>
  4989. <BitWidth>0x1</BitWidth>
  4990. <Access>RW</Access>
  4991. <Values>
  4992. <Val value="0x0">System and Flash secure</Val>
  4993. <Val value="0x1">System and Flash non-secure</Val>
  4994. </Values>
  4995. </Bit>
  4996. <Bit>
  4997. <Name>DDS</Name>
  4998. <Description/>
  4999. <BitOffset>0xC</BitOffset>
  5000. <BitWidth>0x1</BitWidth>
  5001. <Access>RW</Access>
  5002. <Values>
  5003. <Val value="0x0">CPU2 debug access enabled</Val>
  5004. <Val value="0x1">CPU2 debug access disabled</Val>
  5005. </Values>
  5006. </Bit>
  5007. </AssignedBits>
  5008. </Field>
  5009. <Field>
  5010. <Parameters name="FLASH_SRRVR" size="0x4" address="0x58004084"/>
  5011. <AssignedBits>
  5012. <Bit>
  5013. <Name>C2OPT</Name>
  5014. <Description/>
  5015. <BitOffset>0x1F</BitOffset>
  5016. <BitWidth>0x1</BitWidth>
  5017. <Access>RW</Access>
  5018. <Values>
  5019. <Val value="0x0">SBRV will address SRAM2</Val>
  5020. <Val value="0x1">SBRV will address Flash</Val>
  5021. </Values>
  5022. </Bit>
  5023. <Bit>
  5024. <Name>NBRSD</Name>
  5025. <Description>If FSD=1 : SRAM2b is non-secure. If FSD=0 :</Description>
  5026. <BitOffset>0x1E</BitOffset>
  5027. <BitWidth>0x1</BitWidth>
  5028. <Access>RW</Access>
  5029. <Values>
  5030. <Val value="0x0">SRAM2b is secure</Val>
  5031. <Val value="0x1">SRAM2b is non-secure</Val>
  5032. </Values>
  5033. </Bit>
  5034. <Bit>
  5035. <Name>SNBRSA</Name>
  5036. <Description>SNBRSA[4:0] contains the start address of the first 1K page of the secure non-backup SRAM2b area.</Description>
  5037. <BitOffset>0x19</BitOffset>
  5038. <BitWidth>0x5</BitWidth>
  5039. <Access>RW</Access>
  5040. </Bit>
  5041. <Bit>
  5042. <Name>BRSD</Name>
  5043. <Description>If FSD=1 : SRAM2a is non-secure. If FSD=0 :</Description>
  5044. <BitOffset>0x17</BitOffset>
  5045. <BitWidth>0x1</BitWidth>
  5046. <Access>RW</Access>
  5047. <Values>
  5048. <Val value="0x0">SRAM2a is secure</Val>
  5049. <Val value="0x1">SRAM2a is non-secure</Val>
  5050. </Values>
  5051. </Bit>
  5052. <Bit>
  5053. <Name>SBRSA</Name>
  5054. <Description>SBRSA[4:0] contains the start address of the first 1K page of the secure backup SRAM2a area.</Description>
  5055. <BitOffset>0x12</BitOffset>
  5056. <BitWidth>0x5</BitWidth>
  5057. <Access>RW</Access>
  5058. </Bit>
  5059. <Bit>
  5060. <Name>SBRV</Name>
  5061. <Description>Contains the word aligned CPU2 boot reset start address offset within the selected. memory area by C2OPT.</Description>
  5062. <BitOffset>0x0</BitOffset>
  5063. <BitWidth>0x12</BitWidth>
  5064. <Access>RW</Access>
  5065. </Bit>
  5066. </AssignedBits>
  5067. </Field>
  5068. </Category>
  5069. <Category>
  5070. <Name>PCROP Protection</Name>
  5071. <Field>
  5072. <Parameters name="PCROP1ASR" size="0x4" address="0x58004024"/>
  5073. <AssignedBits>
  5074. <Bit>
  5075. <Name>PCROP1A_STRT</Name>
  5076. <Description>Flash Bank 1 PCROP start address</Description>
  5077. <BitOffset>0x0</BitOffset>
  5078. <BitWidth>0x9</BitWidth>
  5079. <Access>RW</Access>
  5080. <Equation multiplier="0x8" offset="0x08000000"/>
  5081. </Bit>
  5082. </AssignedBits>
  5083. </Field>
  5084. <Field>
  5085. <Parameters name="PCROP1AER" size="0x4" address="0x58004028"/>
  5086. <AssignedBits>
  5087. <Bit>
  5088. <Name>PCROP1A_END</Name>
  5089. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP. from level 1 to level 0.</Description>
  5090. <BitOffset>0x0</BitOffset>
  5091. <BitWidth>0x9</BitWidth>
  5092. <Access>RW</Access>
  5093. <Equation multiplier="0x8" offset="0x08000008"/>
  5094. </Bit>
  5095. <Bit>
  5096. <Name>PCROP_RDP</Name>
  5097. <Description/>
  5098. <BitOffset>0x1F</BitOffset>
  5099. <BitWidth>0x1</BitWidth>
  5100. <Access>RW</Access>
  5101. <Values>
  5102. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  5103. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  5104. </Values>
  5105. </Bit>
  5106. </AssignedBits>
  5107. </Field>
  5108. <Field>
  5109. <Parameters name="PCROP1BSR" size="0x4" address="0x58004034"/>
  5110. <AssignedBits>
  5111. <Bit>
  5112. <Name>PCROP1B_STRT</Name>
  5113. <Description>Flash Bank 2 PCROP start address</Description>
  5114. <BitOffset>0x0</BitOffset>
  5115. <BitWidth>0x9</BitWidth>
  5116. <Access>RW</Access>
  5117. <Equation multiplier="0x8" offset="0x08000000"/>
  5118. </Bit>
  5119. </AssignedBits>
  5120. </Field>
  5121. <Field>
  5122. <Parameters name="PCROP1BER" size="0x4" address="0x58004038"/>
  5123. <AssignedBits>
  5124. <Bit>
  5125. <Name>PCROP1B_END</Name>
  5126. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP. from level 1 to level 0.</Description>
  5127. <BitOffset>0x0</BitOffset>
  5128. <BitWidth>0x9</BitWidth>
  5129. <Access>RW</Access>
  5130. <Equation multiplier="0x8" offset="0x08000008"/>
  5131. </Bit>
  5132. </AssignedBits>
  5133. </Field>
  5134. </Category>
  5135. <Category>
  5136. <Name>Write Protection</Name>
  5137. <Field>
  5138. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x5800402C"/>
  5139. <AssignedBits>
  5140. <Bit>
  5141. <Name>WRP1A_STRT</Name>
  5142. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  5143. <BitOffset>0x0</BitOffset>
  5144. <BitWidth>0x8</BitWidth>
  5145. <Access>RW</Access>
  5146. <Equation multiplier="0x1000" offset="0x08000000"/>
  5147. </Bit>
  5148. <Bit>
  5149. <Name>WRP1A_END</Name>
  5150. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  5151. <BitOffset>0x10</BitOffset>
  5152. <BitWidth>0x8</BitWidth>
  5153. <Access>RW</Access>
  5154. <Equation multiplier="0x1000" offset="0x08000000"/>
  5155. </Bit>
  5156. </AssignedBits>
  5157. </Field>
  5158. <Field>
  5159. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x58004030"/>
  5160. <AssignedBits>
  5161. <Bit>
  5162. <Name>WRP1B_STRT</Name>
  5163. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  5164. <BitOffset>0x0</BitOffset>
  5165. <BitWidth>0x8</BitWidth>
  5166. <Access>RW</Access>
  5167. <Equation multiplier="0x1000" offset="0x08000000"/>
  5168. </Bit>
  5169. <Bit>
  5170. <Name>WRP1B_END</Name>
  5171. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  5172. <BitOffset>0x10</BitOffset>
  5173. <BitWidth>0x8</BitWidth>
  5174. <Access>RW</Access>
  5175. <Equation multiplier="0x1000" offset="0x08000000"/>
  5176. </Bit>
  5177. </AssignedBits>
  5178. </Field>
  5179. </Category>
  5180. </Bank>
  5181. <Bank interface="Bootloader">
  5182. <Parameters name="Bank 1" size="0x80" address="0x1FFF8000"/>
  5183. <Category>
  5184. <Name>Read Out Protection</Name>
  5185. <Field>
  5186. <Parameters name="RDP" size="0x4" address="0x1FFF8000"/>
  5187. <AssignedBits>
  5188. <Bit>
  5189. <Name>RDP</Name>
  5190. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  5191. <BitOffset>0x0</BitOffset>
  5192. <BitWidth>0x8</BitWidth>
  5193. <Access>RW</Access>
  5194. <Values>
  5195. <Val value="0xAA">Level 0, no protection</Val>
  5196. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  5197. <Val value="0xCC">Level 2, chip protection</Val>
  5198. </Values>
  5199. </Bit>
  5200. </AssignedBits>
  5201. </Field>
  5202. </Category>
  5203. <Category>
  5204. <Name>BOR Level</Name>
  5205. <Field>
  5206. <Parameters name="USER" size="0x4" address="0x1FFF8000"/>
  5207. <AssignedBits>
  5208. <Bit>
  5209. <Name>BOR_LEV</Name>
  5210. <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>
  5211. <BitOffset>0x9</BitOffset>
  5212. <BitWidth>0x3</BitWidth>
  5213. <Access>RW</Access>
  5214. <Values>
  5215. <Val value="0x0">BOR Level 0 reset level threshold is around 1.7 V</Val>
  5216. <Val value="0x1">BOR Level 1 reset level threshold is around 2.0 V</Val>
  5217. <Val value="0x2">BOR Level 2 reset level threshold is around 2.2 V</Val>
  5218. <Val value="0x3">BOR Level 3 reset level threshold is around 2.5 V</Val>
  5219. <Val value="0x4">BOR Level 4 reset level threshold is around 2.8 V</Val>
  5220. </Values>
  5221. </Bit>
  5222. </AssignedBits>
  5223. </Field>
  5224. </Category>
  5225. <Category>
  5226. <Name>User Configuration</Name>
  5227. <Field>
  5228. <Parameters name="USER" size="0x4" address="0x1FFF8000"/>
  5229. <AssignedBits>
  5230. <Bit>
  5231. <Name>nBOOT0</Name>
  5232. <Description/>
  5233. <BitOffset>0x1B</BitOffset>
  5234. <BitWidth>0x1</BitWidth>
  5235. <Access>RW</Access>
  5236. <Values>
  5237. <Val value="0x0">nBOOT0=0 Boot selected based on nBOOT1</Val>
  5238. <Val value="0x1">nBOOT0=1 Boot from main Flash</Val>
  5239. </Values>
  5240. </Bit>
  5241. <Bit>
  5242. <Name>nBOOT1</Name>
  5243. <Description/>
  5244. <BitOffset>0x17</BitOffset>
  5245. <BitWidth>0x1</BitWidth>
  5246. <Access>RW</Access>
  5247. <Values>
  5248. <Val value="0x0">Boot from Flash if nBoot0=0 otherwise embedded SRAM</Val>
  5249. <Val value="0x1">Boot from Flash if nBoot0=0 otherwise system memory</Val>
  5250. </Values>
  5251. </Bit>
  5252. <Bit>
  5253. <Name>nSWBOOT0</Name>
  5254. <Description/>
  5255. <BitOffset>0x1A</BitOffset>
  5256. <BitWidth>0x1</BitWidth>
  5257. <Access>RW</Access>
  5258. <Values>
  5259. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  5260. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  5261. </Values>
  5262. </Bit>
  5263. <Bit>
  5264. <Name>SRAM2RST</Name>
  5265. <Description/>
  5266. <BitOffset>0x19</BitOffset>
  5267. <BitWidth>0x1</BitWidth>
  5268. <Access>RW</Access>
  5269. <Values>
  5270. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  5271. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  5272. </Values>
  5273. </Bit>
  5274. <Bit>
  5275. <Name>SRAM2PE</Name>
  5276. <Description/>
  5277. <BitOffset>0x18</BitOffset>
  5278. <BitWidth>0x1</BitWidth>
  5279. <Access>RW</Access>
  5280. <Values>
  5281. <Val value="0x0">SRAM2 parity check enable</Val>
  5282. <Val value="0x1">SRAM2 parity check disable</Val>
  5283. </Values>
  5284. </Bit>
  5285. <Bit>
  5286. <Name>nRST_STOP</Name>
  5287. <Description/>
  5288. <BitOffset>0xC</BitOffset>
  5289. <BitWidth>0x1</BitWidth>
  5290. <Access>RW</Access>
  5291. <Values>
  5292. <Val value="0x0">Reset generated when entering the Stop mode</Val>
  5293. <Val value="0x1">No reset generated when entering the Stop mode</Val>
  5294. </Values>
  5295. </Bit>
  5296. <Bit>
  5297. <Name>nRST_STDBY</Name>
  5298. <Description/>
  5299. <BitOffset>0xD</BitOffset>
  5300. <BitWidth>0x1</BitWidth>
  5301. <Access>RW</Access>
  5302. <Values>
  5303. <Val value="0x0">Reset generated when entering the Standby mode</Val>
  5304. <Val value="0x1">No reset generated when entering the Standby mode</Val>
  5305. </Values>
  5306. </Bit>
  5307. <Bit>
  5308. <Name>nRSTSHDW</Name>
  5309. <Description/>
  5310. <BitOffset>0xE</BitOffset>
  5311. <BitWidth>0x1</BitWidth>
  5312. <Access>RW</Access>
  5313. <Values>
  5314. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  5315. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  5316. </Values>
  5317. </Bit>
  5318. <Bit>
  5319. <Name>WWDGSW</Name>
  5320. <Description/>
  5321. <BitOffset>0x13</BitOffset>
  5322. <BitWidth>0x1</BitWidth>
  5323. <Access>RW</Access>
  5324. <Values>
  5325. <Val value="0x0">Hardware window watchdog</Val>
  5326. <Val value="0x1">Software window watchdog</Val>
  5327. </Values>
  5328. </Bit>
  5329. <Bit>
  5330. <Name>IWGDSTDBY</Name>
  5331. <Description/>
  5332. <BitOffset>0x12</BitOffset>
  5333. <BitWidth>0x1</BitWidth>
  5334. <Access>RW</Access>
  5335. <Values>
  5336. <Val value="0x0">Independent watchdog counter frozen in Standby mode</Val>
  5337. <Val value="0x1">Independent watchdog counter running in Standby mode</Val>
  5338. </Values>
  5339. </Bit>
  5340. <Bit>
  5341. <Name>IWDGSTOP</Name>
  5342. <Description/>
  5343. <BitOffset>0x11</BitOffset>
  5344. <BitWidth>0x1</BitWidth>
  5345. <Access>RW</Access>
  5346. <Values>
  5347. <Val value="0x0">Independent watchdog counter frozen in Stop mode</Val>
  5348. <Val value="0x1">Independent watchdog counter running in Stop mode</Val>
  5349. </Values>
  5350. </Bit>
  5351. <Bit>
  5352. <Name>IWDGSW</Name>
  5353. <Description/>
  5354. <BitOffset>0x10</BitOffset>
  5355. <BitWidth>0x1</BitWidth>
  5356. <Access>RW</Access>
  5357. <Values>
  5358. <Val value="0x0">Hardware independent watchdog</Val>
  5359. <Val value="0x1">Software independent watchdog</Val>
  5360. </Values>
  5361. </Bit>
  5362. </AssignedBits>
  5363. </Field>
  5364. <Field>
  5365. <Parameters name="FLASH_IPCCBR" size="0x4" address="0x1FFF8068"/>
  5366. <AssignedBits>
  5367. <Bit>
  5368. <Name>IPCCDBA</Name>
  5369. <Description>IPCC mailbox data buffer base address</Description>
  5370. <BitOffset>0x0</BitOffset>
  5371. <BitWidth>0xE</BitWidth>
  5372. <Access>RW</Access>
  5373. </Bit>
  5374. </AssignedBits>
  5375. </Field>
  5376. </Category>
  5377. <Category>
  5378. <Name>Security Configuration Option bytes</Name>
  5379. <Field>
  5380. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF8000"/>
  5381. <AssignedBits>
  5382. <Bit>
  5383. <Name>ESE</Name>
  5384. <Description/>
  5385. <BitOffset>0x8</BitOffset>
  5386. <BitWidth>0x1</BitWidth>
  5387. <Access>R</Access>
  5388. <Values>
  5389. <Val value="0x0">Security disabled</Val>
  5390. <Val value="0x1">Security enabled</Val>
  5391. </Values>
  5392. </Bit>
  5393. </AssignedBits>
  5394. </Field>
  5395. <Field>
  5396. <Parameters name="FLASH_SFR" size="0x4" address="0x1FFF8070"/>
  5397. <AssignedBits>
  5398. <Bit>
  5399. <Name>SFSA</Name>
  5400. <Description>Secure Flash start address</Description>
  5401. <BitOffset>0x0</BitOffset>
  5402. <BitWidth>0x8</BitWidth>
  5403. <Access>RW</Access>
  5404. </Bit>
  5405. <Bit>
  5406. <Name>FSD</Name>
  5407. <Description/>
  5408. <BitOffset>0x8</BitOffset>
  5409. <BitWidth>0x1</BitWidth>
  5410. <Access>RW</Access>
  5411. <Values>
  5412. <Val value="0x0">System and Flash secure</Val>
  5413. <Val value="0x1">System and Flash non-secure</Val>
  5414. </Values>
  5415. </Bit>
  5416. <Bit>
  5417. <Name>DDS</Name>
  5418. <Description/>
  5419. <BitOffset>0xC</BitOffset>
  5420. <BitWidth>0x1</BitWidth>
  5421. <Access>RW</Access>
  5422. <Values>
  5423. <Val value="0x0">CPU2 debug access enabled</Val>
  5424. <Val value="0x1">CPU2 debug access disabled</Val>
  5425. </Values>
  5426. </Bit>
  5427. </AssignedBits>
  5428. </Field>
  5429. <Field>
  5430. <Parameters name="FLASH_SRRVR" size="0x4" address="0x1FFF8078"/>
  5431. <AssignedBits>
  5432. <Bit>
  5433. <Name>C2OPT</Name>
  5434. <Description/>
  5435. <BitOffset>0x1F</BitOffset>
  5436. <BitWidth>0x1</BitWidth>
  5437. <Access>RW</Access>
  5438. <Values>
  5439. <Val value="0x0">SBRV will address SRAM2</Val>
  5440. <Val value="0x1">SBRV will address Flash</Val>
  5441. </Values>
  5442. </Bit>
  5443. <Bit>
  5444. <Name>NBRSD</Name>
  5445. <Description>If FSD=1 : SRAM2b is non-secure. If FSD=0 :</Description>
  5446. <BitOffset>0x1E</BitOffset>
  5447. <BitWidth>0x1</BitWidth>
  5448. <Access>RW</Access>
  5449. <Values>
  5450. <Val value="0x0">SRAM2b is secure</Val>
  5451. <Val value="0x1">SRAM2b is non-secure</Val>
  5452. </Values>
  5453. </Bit>
  5454. <Bit>
  5455. <Name>SNBRSA</Name>
  5456. <Description>SNBRSA[4:0] contains the start address of the first 1K page of the secure non-backup SRAM2b area.</Description>
  5457. <BitOffset>0x19</BitOffset>
  5458. <BitWidth>0x5</BitWidth>
  5459. <Access>RW</Access>
  5460. </Bit>
  5461. <Bit>
  5462. <Name>BRSD</Name>
  5463. <Description>If FSD=1: SRAM2a is non-secure. If FSD=0 :</Description>
  5464. <BitOffset>0x17</BitOffset>
  5465. <BitWidth>0x1</BitWidth>
  5466. <Access>RW</Access>
  5467. <Values>
  5468. <Val value="0x0">SRAM2a is secure</Val>
  5469. <Val value="0x1">SRAM2a is non-secure</Val>
  5470. </Values>
  5471. </Bit>
  5472. <Bit>
  5473. <Name>SBRSA</Name>
  5474. <Description>SBRSA[4:0] contains the start address of the first 1K page of the secure backup SRAM2a area.</Description>
  5475. <BitOffset>0x12</BitOffset>
  5476. <BitWidth>0x5</BitWidth>
  5477. <Access>RW</Access>
  5478. </Bit>
  5479. <Bit>
  5480. <Name>SBRV</Name>
  5481. <Description>Contains the word aligned CPU2 boot reset start address offset within the selected. memory area by C2OPT.</Description>
  5482. <BitOffset>0x0</BitOffset>
  5483. <BitWidth>0x12</BitWidth>
  5484. <Access>RW</Access>
  5485. </Bit>
  5486. </AssignedBits>
  5487. </Field>
  5488. </Category>
  5489. <Category>
  5490. <Name>PCROP Protection</Name>
  5491. <Field>
  5492. <Parameters name="PCROP1ASR" size="0x4" address="0x1FFF8008"/>
  5493. <AssignedBits>
  5494. <Bit>
  5495. <Name>PCROP1A_STRT</Name>
  5496. <Description>Flash Bank 1 PCROP start address</Description>
  5497. <BitOffset>0x0</BitOffset>
  5498. <BitWidth>0x9</BitWidth>
  5499. <Access>RW</Access>
  5500. <Equation multiplier="0x8" offset="0x08000000"/>
  5501. </Bit>
  5502. </AssignedBits>
  5503. </Field>
  5504. <Field>
  5505. <Parameters name="PCROP1AER" size="0x4" address="0x1FFF8010"/>
  5506. <AssignedBits>
  5507. <Bit>
  5508. <Name>PCROP1A_END</Name>
  5509. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP. from level 1 to level 0.</Description>
  5510. <BitOffset>0x0</BitOffset>
  5511. <BitWidth>0x9</BitWidth>
  5512. <Access>RW</Access>
  5513. <Equation multiplier="0x8" offset="0x08000008"/>
  5514. </Bit>
  5515. <Bit>
  5516. <Name>PCROP_RDP</Name>
  5517. <Description/>
  5518. <BitOffset>0x1F</BitOffset>
  5519. <BitWidth>0x1</BitWidth>
  5520. <Access>RW</Access>
  5521. <Values>
  5522. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  5523. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  5524. </Values>
  5525. </Bit>
  5526. </AssignedBits>
  5527. </Field>
  5528. <Field>
  5529. <Parameters name="PCROP1BSR" size="0x4" address="0x1FFF8028"/>
  5530. <AssignedBits>
  5531. <Bit>
  5532. <Name>PCROP1B_STRT</Name>
  5533. <Description>Flash Bank 2 PCROP start address</Description>
  5534. <BitOffset>0x0</BitOffset>
  5535. <BitWidth>0x9</BitWidth>
  5536. <Access>RW</Access>
  5537. <Equation multiplier="0x8" offset="0x08000000"/>
  5538. </Bit>
  5539. </AssignedBits>
  5540. </Field>
  5541. <Field>
  5542. <Parameters name="PCROP1BER" size="0x4" address="0x1FFF8030"/>
  5543. <AssignedBits>
  5544. <Bit>
  5545. <Name>PCROP1B_END</Name>
  5546. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enbaling PCROP_RDP and changing RDP. from level 1 to level 0.</Description>
  5547. <BitOffset>0x0</BitOffset>
  5548. <BitWidth>0x9</BitWidth>
  5549. <Access>RW</Access>
  5550. <Equation multiplier="0x8" offset="0x08000008"/>
  5551. </Bit>
  5552. </AssignedBits>
  5553. </Field>
  5554. </Category>
  5555. <Category>
  5556. <Name>Write Protection</Name>
  5557. <Field>
  5558. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF8018"/>
  5559. <AssignedBits>
  5560. <Bit>
  5561. <Name>WRP1A_STRT</Name>
  5562. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  5563. <BitOffset>0x0</BitOffset>
  5564. <BitWidth>0x8</BitWidth>
  5565. <Access>RW</Access>
  5566. <Equation multiplier="0x1000" offset="0x08000000"/>
  5567. </Bit>
  5568. <Bit>
  5569. <Name>WRP1A_END</Name>
  5570. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  5571. <BitOffset>0x10</BitOffset>
  5572. <BitWidth>0x8</BitWidth>
  5573. <Access>RW</Access>
  5574. <Equation multiplier="0x1000" offset="0x08000000"/>
  5575. </Bit>
  5576. </AssignedBits>
  5577. </Field>
  5578. <Field>
  5579. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF8020"/>
  5580. <AssignedBits>
  5581. <Bit>
  5582. <Name>WRP1B_STRT</Name>
  5583. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  5584. <BitOffset>0x0</BitOffset>
  5585. <BitWidth>0x8</BitWidth>
  5586. <Access>RW</Access>
  5587. <Equation multiplier="0x1000" offset="0x08000000"/>
  5588. </Bit>
  5589. <Bit>
  5590. <Name>WRP1B_END</Name>
  5591. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  5592. <BitOffset>0x10</BitOffset>
  5593. <BitWidth>0x8</BitWidth>
  5594. <Access>RW</Access>
  5595. <Equation multiplier="0x1000" offset="0x08000000"/>
  5596. </Bit>
  5597. </AssignedBits>
  5598. </Field>
  5599. </Category>
  5600. </Bank>
  5601. </Peripheral>
  5602. </Peripherals>
  5603. </Device>
  5604. <!-- Device: 0x413 -->
  5605. <Device>
  5606. <DeviceID>0x413</DeviceID>
  5607. <Vendor>STMicroelectronics</Vendor>
  5608. <Type>MCU</Type>
  5609. <CPU>Cortex-M4</CPU>
  5610. <Name>STM32F405xx/F407xx/F415xx/F417xx</Name>
  5611. <Series>STM32F4</Series>
  5612. <Description>ARM 32-bit Cortex-M4 based device</Description>
  5613. <Configurations>
  5614. <!-- JTAG_SWD Interface -->
  5615. <Interface name="JTAG_SWD"/>
  5616. <!-- Bootloader Interface -->
  5617. <Interface name="Bootloader"/>
  5618. </Configurations>
  5619. <!-- Peripherals -->
  5620. <Peripherals>
  5621. <!-- Embedded SRAM -->
  5622. <Peripheral>
  5623. <Name>Embedded SRAM</Name>
  5624. <Type>Storage</Type>
  5625. <Description/>
  5626. <ErasedValue>0x00</ErasedValue>
  5627. <Access>RWE</Access>
  5628. <!-- 112 KB 0x1c000-->
  5629. <Configuration>
  5630. <Parameters name="SRAM" size="0x20000" address="0x20000000"/>
  5631. <Description/>
  5632. <Organization>Single</Organization>
  5633. <Bank name="Bank 1">
  5634. <Field>
  5635. <Parameters name="SRAM" size="0x20000" address="0x20000000" occurence="0x1"/>
  5636. </Field>
  5637. </Bank>
  5638. </Configuration>
  5639. </Peripheral>
  5640. <!-- Embedded Flash -->
  5641. <Peripheral>
  5642. <Name>Embedded Flash</Name>
  5643. <Type>Storage</Type>
  5644. <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>
  5645. <ErasedValue>0xFF</ErasedValue>
  5646. <Access>RWE</Access>
  5647. <FlashSize address="0x1FFFF7CC" default="0x100000"/>
  5648. <!-- 1024KB Single Bank -->
  5649. <Configuration>
  5650. <Parameters name=" 1024 Kbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  5651. <Description/>
  5652. <Organization>Single</Organization>
  5653. <Allignement>0x4</Allignement>
  5654. <Bank name="Bank 1">
  5655. <Field>
  5656. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  5657. </Field>
  5658. <Field>
  5659. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  5660. </Field>
  5661. <Field>
  5662. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x7"/>
  5663. </Field>
  5664. </Bank>
  5665. </Configuration>
  5666. </Peripheral>
  5667. <!-- OTP -->
  5668. <Peripheral>
  5669. <Name>OTP</Name>
  5670. <Type>Storage</Type>
  5671. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  5672. <ErasedValue>0xFF</ErasedValue>
  5673. <Access>RW</Access>
  5674. <!-- 512 Bytes single bank -->
  5675. <Configuration>
  5676. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  5677. <Description/>
  5678. <Organization>Single</Organization>
  5679. <Allignement>0x4</Allignement>
  5680. <Bank name="OTP">
  5681. <Field>
  5682. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  5683. </Field>
  5684. </Bank>
  5685. </Configuration>
  5686. </Peripheral>
  5687. <!-- Mirror Option Bytes -->
  5688. <Peripheral>
  5689. <Name>MirrorOptionBytes</Name>
  5690. <Type>Storage</Type>
  5691. <Description>Mirror Option Bytes contains the extra area.</Description>
  5692. <ErasedValue>0xFF</ErasedValue>
  5693. <Access>RW</Access>
  5694. <!-- 8 Bytes single bank -->
  5695. <Configuration>
  5696. <Parameters name=" 8 Bytes Data MirrorOptionBytes" size="0x8" address="0x1FFFC000"/>
  5697. <Description/>
  5698. <Organization>Single</Organization>
  5699. <Allignement>0x4</Allignement>
  5700. <Bank name="MirrorOptionBytes">
  5701. <Field>
  5702. <Parameters name="MirrorOptionBytes" size="0x8" address="0x1FFFC000" occurence="0x1"/>
  5703. </Field>
  5704. </Bank>
  5705. </Configuration>
  5706. </Peripheral>
  5707. <!-- Option Bytes -->
  5708. <Peripheral>
  5709. <Name>Option Bytes</Name>
  5710. <Type>Configuration</Type>
  5711. <Description/>
  5712. <Access>RW</Access>
  5713. <Bank interface="JTAG_SWD">
  5714. <Parameters name="Bank 1" size="0x4" address="0x40023c14"/>
  5715. <Category>
  5716. <Name>Read Out Protection</Name>
  5717. <Field>
  5718. <Parameters name="RDP" size="0x4" address="0x40023c14"/>
  5719. <AssignedBits>
  5720. <Bit>
  5721. <Name>RDP</Name>
  5722. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  5723. <BitOffset>0x8</BitOffset>
  5724. <BitWidth>0x8</BitWidth>
  5725. <Access>RW</Access>
  5726. <Values>
  5727. <Val value="0xAA">Level 0, no protection</Val>
  5728. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  5729. <Val value="0xCC">Level 2, chip protection</Val>
  5730. </Values>
  5731. </Bit>
  5732. </AssignedBits>
  5733. </Field>
  5734. </Category>
  5735. <Category>
  5736. <Name>BOR Level</Name>
  5737. <Field>
  5738. <Parameters name="USER" size="0x4" address="0x40023c14"/>
  5739. <AssignedBits>
  5740. <Bit>
  5741. <Name>BOR_LEV</Name>
  5742. <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>
  5743. <BitOffset>0x2</BitOffset>
  5744. <BitWidth>0x2</BitWidth>
  5745. <Access>RW</Access>
  5746. <Values>
  5747. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  5748. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  5749. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  5750. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  5751. </Values>
  5752. </Bit>
  5753. </AssignedBits>
  5754. </Field>
  5755. </Category>
  5756. <Category>
  5757. <Name>User Configuration</Name>
  5758. <Field>
  5759. <Parameters name="USER" size="0x4" address="0x40023c14"/>
  5760. <AssignedBits>
  5761. <Bit>
  5762. <Name>WDG_SW</Name>
  5763. <Description/>
  5764. <BitOffset>0x5</BitOffset>
  5765. <BitWidth>0x1</BitWidth>
  5766. <Access>RW</Access>
  5767. <Values>
  5768. <Val value="0x0">Hardware watchdog</Val>
  5769. <Val value="0x1">Software watchdog</Val>
  5770. </Values>
  5771. </Bit>
  5772. <Bit>
  5773. <Name>nRST_STOP</Name>
  5774. <Description/>
  5775. <BitOffset>0x6</BitOffset>
  5776. <BitWidth>0x1</BitWidth>
  5777. <Access>RW</Access>
  5778. <Values>
  5779. <Val value="0x0">Reset generated when entering Stop mode</Val>
  5780. <Val value="0x1">No reset generated</Val>
  5781. </Values>
  5782. </Bit>
  5783. <Bit>
  5784. <Name>nRST_STDBY</Name>
  5785. <Description/>
  5786. <BitOffset>0x7</BitOffset>
  5787. <BitWidth>0x1</BitWidth>
  5788. <Access>RW</Access>
  5789. <Values>
  5790. <Val value="0x0">Reset generated when entering Standby mode</Val>
  5791. <Val value="0x1">No reset generated</Val>
  5792. </Values>
  5793. </Bit>
  5794. </AssignedBits>
  5795. </Field>
  5796. </Category>
  5797. <Category>
  5798. <Name>Write Protection</Name>
  5799. <Field>
  5800. <Parameters name="WRP1" size="0x4" address="0x40023c14"/>
  5801. <AssignedBits>
  5802. <Bit>
  5803. <Name>WRP0</Name>
  5804. <Description/>
  5805. <BitOffset>0x10</BitOffset>
  5806. <BitWidth>0xC</BitWidth>
  5807. <Access>RW</Access>
  5808. <Values ByBit="true">
  5809. <Val value="0x0">Write protection active</Val>
  5810. <Val value="0x1">Write protection not active</Val>
  5811. </Values>
  5812. </Bit>
  5813. </AssignedBits>
  5814. </Field>
  5815. </Category>
  5816. </Bank>
  5817. <Bank interface="Bootloader">
  5818. <Parameters name="Bank 1" size="0x8" address="0x1FFFC000"/>
  5819. <Category>
  5820. <Name>Read Out Protection</Name>
  5821. <Field>
  5822. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  5823. <AssignedBits>
  5824. <Bit>
  5825. <Name>RDP</Name>
  5826. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  5827. <BitOffset>0x8</BitOffset>
  5828. <BitWidth>0x8</BitWidth>
  5829. <Access>RW</Access>
  5830. <Values>
  5831. <Val value="0xAA">Level 0, no protection</Val>
  5832. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  5833. <Val value="0xCC">Level 2, chip protection</Val>
  5834. </Values>
  5835. </Bit>
  5836. </AssignedBits>
  5837. </Field>
  5838. </Category>
  5839. <Category>
  5840. <Name>BOR Level</Name>
  5841. <Field>
  5842. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  5843. <AssignedBits>
  5844. <Bit>
  5845. <Name>BOR_LEV</Name>
  5846. <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>
  5847. <BitOffset>0x2</BitOffset>
  5848. <BitWidth>0x2</BitWidth>
  5849. <Access>RW</Access>
  5850. <Values>
  5851. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  5852. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  5853. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  5854. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  5855. </Values>
  5856. </Bit>
  5857. </AssignedBits>
  5858. </Field>
  5859. </Category>
  5860. <Category>
  5861. <Name>User Configuration</Name>
  5862. <Field>
  5863. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  5864. <AssignedBits>
  5865. <Bit>
  5866. <Name>WDG_SW</Name>
  5867. <Description/>
  5868. <BitOffset>0x5</BitOffset>
  5869. <BitWidth>0x1</BitWidth>
  5870. <Access>RW</Access>
  5871. <Values>
  5872. <Val value="0x0">Hardware watchdog</Val>
  5873. <Val value="0x1">Software watchdog</Val>
  5874. </Values>
  5875. </Bit>
  5876. <Bit>
  5877. <Name>nRST_STOP</Name>
  5878. <Description/>
  5879. <BitOffset>0x6</BitOffset>
  5880. <BitWidth>0x1</BitWidth>
  5881. <Access>RW</Access>
  5882. <Values>
  5883. <Val value="0x0">Reset generated when entering Stop mode</Val>
  5884. <Val value="0x1">No reset generated</Val>
  5885. </Values>
  5886. </Bit>
  5887. <Bit>
  5888. <Name>nRST_STDBY</Name>
  5889. <Description/>
  5890. <BitOffset>0x7</BitOffset>
  5891. <BitWidth>0x1</BitWidth>
  5892. <Access>RW</Access>
  5893. <Values>
  5894. <Val value="0x0">Reset generated when entering Standby mode</Val>
  5895. <Val value="0x1">No reset generated</Val>
  5896. </Values>
  5897. </Bit>
  5898. </AssignedBits>
  5899. </Field>
  5900. </Category>
  5901. <Category>
  5902. <Name>Write Protection</Name>
  5903. <Field>
  5904. <Parameters name="WRP1" size="0x4" address="0x1FFFC008"/>
  5905. <AssignedBits>
  5906. <Bit>
  5907. <Name>WRP0</Name>
  5908. <Description/>
  5909. <BitOffset>0x0</BitOffset>
  5910. <BitWidth>0xC</BitWidth>
  5911. <Access>RW</Access>
  5912. <Values ByBit="true">
  5913. <Val value="0x0">Write protection active</Val>
  5914. <Val value="0x1">Write protection not active</Val>
  5915. </Values>
  5916. </Bit>
  5917. </AssignedBits>
  5918. </Field>
  5919. </Category>
  5920. </Bank>
  5921. </Peripheral>
  5922. </Peripherals>
  5923. </Device>
  5924. <!-- Device: 0x419 -->
  5925. <Device>
  5926. <DeviceID>0x419</DeviceID>
  5927. <Vendor>STMicroelectronics</Vendor>
  5928. <Type>MCU</Type>
  5929. <CPU>Cortex-M4</CPU>
  5930. <Name>STM32F42xxx/F43xxx</Name>
  5931. <Series>STM32F4</Series>
  5932. <Description>ARM 32-bit Cortex-M4 based device</Description>
  5933. <Configurations>
  5934. <!-- JTAG_SWD Interface -->
  5935. <Interface name="JTAG_SWD">
  5936. <Configuration number="0x0">
  5937. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  5938. <flashSize> <!-- 2M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x800"/> </flashSize>
  5939. </Configuration>
  5940. <Configuration number="0x1">
  5941. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  5942. <flashSize> <!-- 2M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0"/> </flashSize>
  5943. </Configuration>
  5944. <Configuration number="0x2">
  5945. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  5946. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x400"/> </flashSize>
  5947. <DB1M reference="0x0"> <ReadRegister address="0x40023C14" mask="0x40000000" value="0x0"/> </DB1M>
  5948. </Configuration>
  5949. <Configuration number="0x3">
  5950. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  5951. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x400"/> </flashSize>
  5952. <DB1M reference="0x0"> <ReadRegister address="0x40023C14" mask="0x40000000" value="0x0"/> </DB1M>
  5953. </Configuration>
  5954. <Configuration number="0x4">
  5955. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  5956. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x400"/> </flashSize>
  5957. <DB1M reference="0x1"> <ReadRegister address="0x40023C14" mask="0x40000000" value="0x40000000"/> </DB1M>
  5958. </Configuration>
  5959. <Configuration number="0x5">
  5960. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  5961. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x400"/> </flashSize>
  5962. <DB1M reference="0x1"> <ReadRegister address="0x40023C14" mask="0x40000000" value="0x40000000"/> </DB1M>
  5963. </Configuration>
  5964. <Configuration number="0x6"> <!-- dummy config ></!-->
  5965. <dummy> <ReadRegister address="0x20000000" mask="0" value="0"/> </dummy>
  5966. </Configuration>
  5967. </Interface>
  5968. <!-- Bootloader Interface -->
  5969. <Interface name="Bootloader">
  5970. <Configuration number="0x0">
  5971. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  5972. </Configuration>
  5973. <Configuration number="0x1">
  5974. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  5975. </Configuration>
  5976. <Configuration number="0x2">
  5977. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  5978. <DB1M reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x4000" value="0x0"/> </DB1M>
  5979. </Configuration>
  5980. <Configuration number="0x3">
  5981. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  5982. <DB1M reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x4000" value="0x0"/> </DB1M>
  5983. </Configuration>
  5984. <Configuration number="0x4">
  5985. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  5986. <DB1M reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x4000" value="0x4000"/> </DB1M>
  5987. </Configuration>
  5988. <Configuration number="0x5">
  5989. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  5990. <DB1M reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x4000" value="0x4000"/> </DB1M>
  5991. </Configuration>
  5992. <Configuration number="0x6"> <!-- dummy config ></!-->
  5993. <dummy> <ReadRegister address="0x20000000" mask="0" value="0"/> </dummy>
  5994. </Configuration>
  5995. </Interface>
  5996. </Configurations>
  5997. <!-- Peripherals -->
  5998. <Peripherals>
  5999. <!-- Embedded SRAM -->
  6000. <Peripheral>
  6001. <Name>Embedded SRAM</Name>
  6002. <Type>Storage</Type>
  6003. <Description/>
  6004. <ErasedValue>0x00</ErasedValue>
  6005. <Access>RWE</Access>
  6006. <!-- 112 KB 0x1c000-->
  6007. <Configuration>
  6008. <Parameters name="SRAM" size="0x30000" address="0x20000000"/>
  6009. <Description/>
  6010. <Organization>Single</Organization>
  6011. <Bank name="Bank 1">
  6012. <Field>
  6013. <Parameters name="SRAM" size="0x30000" address="0x20000000" occurence="0x1"/>
  6014. </Field>
  6015. </Bank>
  6016. </Configuration>
  6017. </Peripheral>
  6018. <!-- Embedded Flash -->
  6019. <Peripheral>
  6020. <Name>Embedded Flash</Name>
  6021. <Type>Storage</Type>
  6022. <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>
  6023. <ErasedValue>0xFF</ErasedValue>
  6024. <Access>RWE</Access>
  6025. <FlashSize address="0x1FFF7A22" default="0x200000"/>
  6026. <!-- 1024KB Single Bank -->
  6027. <Configuration config="0,1,6">
  6028. <Parameters name=" 2048 Kbytes Embedded Flash" size="0x200000" address="0x08000000"/>
  6029. <Description/>
  6030. <Organization>Dual</Organization>
  6031. <Allignement>0x4</Allignement>
  6032. <Bank name="Bank 1">
  6033. <Field>
  6034. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  6035. </Field>
  6036. <Field>
  6037. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  6038. </Field>
  6039. <Field>
  6040. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x7"/>
  6041. </Field>
  6042. </Bank>
  6043. <Bank name="Bank 2">
  6044. <Field>
  6045. <Parameters name="sector12" size="0x4000" address="0x08100000" occurence="0x4"/>
  6046. </Field>
  6047. <Field>
  6048. <Parameters name="sector16" size="0x10000" address="0x08110000" occurence="0x1"/>
  6049. </Field>
  6050. <Field>
  6051. <Parameters name="sector17" size="0x20000" address="0x08120000" occurence="0x7"/>
  6052. </Field>
  6053. </Bank>
  6054. </Configuration>
  6055. <Configuration config="4,5">
  6056. <Parameters name=" 1024 Kbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  6057. <Description/>
  6058. <Organization>Dual</Organization>
  6059. <Allignement>0x4</Allignement>
  6060. <Bank name="Bank 1">
  6061. <Field>
  6062. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  6063. </Field>
  6064. <Field>
  6065. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  6066. </Field>
  6067. <Field>
  6068. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x3"/>
  6069. </Field>
  6070. </Bank>
  6071. <Bank name="Bank 2">
  6072. <Field>
  6073. <Parameters name="sector8" size="0x20000" address="0x08080000" occurence="0x4"/>
  6074. </Field>
  6075. </Bank>
  6076. </Configuration>
  6077. <Configuration config="2,3">
  6078. <Parameters name=" 1024 Kbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  6079. <Description/>
  6080. <Organization>Single</Organization>
  6081. <Allignement>0x4</Allignement>
  6082. <Bank name="Bank 1">
  6083. <Field>
  6084. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  6085. </Field>
  6086. <Field>
  6087. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  6088. </Field>
  6089. <Field>
  6090. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x7"/>
  6091. </Field>
  6092. </Bank>
  6093. </Configuration>
  6094. </Peripheral>
  6095. <!-- OTP -->
  6096. <Peripheral>
  6097. <Name>OTP</Name>
  6098. <Type>Storage</Type>
  6099. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  6100. <ErasedValue>0xFF</ErasedValue>
  6101. <Access>RW</Access>
  6102. <!-- 512 Bytes single bank -->
  6103. <Configuration>
  6104. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  6105. <Description/>
  6106. <Organization>Single</Organization>
  6107. <Allignement>0x4</Allignement>
  6108. <Bank name="OTP">
  6109. <Field>
  6110. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  6111. </Field>
  6112. </Bank>
  6113. </Configuration>
  6114. </Peripheral>
  6115. <!-- Mirror Option Bytes -->
  6116. <Peripheral>
  6117. <Name>MirrorOptionBytes</Name>
  6118. <Type>Storage</Type>
  6119. <Description>Mirror Option Bytes contains the extra area.</Description>
  6120. <ErasedValue>0xFF</ErasedValue>
  6121. <Access>RW</Access>
  6122. <!-- 24 Bytes Dual bank -->
  6123. <Configuration>
  6124. <Parameters name=" 24 Bytes Data MirrorOptionBytes" size="0x18" address="0x1FFF7800"/>
  6125. <Description/>
  6126. <Organization>Dual</Organization>
  6127. <Allignement>0x4</Allignement>
  6128. <Bank name="Bank 1">
  6129. <Field>
  6130. <Parameters name="Bank1" size="0x10" address="0x1FFFC000" occurence="0x1"/>
  6131. </Field>
  6132. </Bank>
  6133. <Bank name="Bank 2">
  6134. <Field>
  6135. <Parameters name="Bank2" size="0x8" address="0x1FFEC008" occurence="0x1"/>
  6136. </Field>
  6137. </Bank>
  6138. </Configuration>
  6139. </Peripheral>
  6140. <!-- Option Bytes -->
  6141. <Peripheral>
  6142. <Name>Option Bytes</Name>
  6143. <Type>Configuration</Type>
  6144. <Description/>
  6145. <Access>RW</Access>
  6146. <Bank interface="JTAG_SWD">
  6147. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  6148. <Category>
  6149. <Name>Read Out Protection</Name>
  6150. <Field>
  6151. <Parameters name="RDP" size="0x4" address="0x40023C14"/>
  6152. <AssignedBits>
  6153. <Bit>
  6154. <Name>RDP</Name>
  6155. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  6156. <BitOffset>0x8</BitOffset>
  6157. <BitWidth>0x8</BitWidth>
  6158. <Access>RW</Access>
  6159. <Values>
  6160. <Val value="0xAA">Level 0, no protection</Val>
  6161. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  6162. <Val value="0xCC">Level 2, chip protection</Val>
  6163. </Values>
  6164. </Bit>
  6165. </AssignedBits>
  6166. </Field>
  6167. </Category>
  6168. <Category>
  6169. <Name>PCROP Protection</Name>
  6170. <Field>
  6171. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  6172. <AssignedBits>
  6173. <Bit reference="SPRMode">
  6174. <Name>SPRMOD</Name>
  6175. <Description>Selection of protection mode for nWPRi bits.</Description>
  6176. <BitOffset>0x1F</BitOffset>
  6177. <BitWidth>0x1</BitWidth>
  6178. <Access>RW</Access>
  6179. <Values>
  6180. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  6181. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  6182. </Values>
  6183. </Bit>
  6184. </AssignedBits>
  6185. </Field>
  6186. </Category>
  6187. <Category>
  6188. <Name>BOR Level</Name>
  6189. <Field>
  6190. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  6191. <AssignedBits>
  6192. <Bit>
  6193. <Name>BOR_LEV</Name>
  6194. <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>
  6195. <BitOffset>0x2</BitOffset>
  6196. <BitWidth>0x2</BitWidth>
  6197. <Access>RW</Access>
  6198. <Values>
  6199. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  6200. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  6201. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  6202. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  6203. </Values>
  6204. </Bit>
  6205. </AssignedBits>
  6206. </Field>
  6207. </Category>
  6208. <Category>
  6209. <Name>User Configuration</Name>
  6210. <Field>
  6211. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  6212. <AssignedBits>
  6213. <Bit>
  6214. <Name>BFB2</Name>
  6215. <Description/>
  6216. <BitOffset>0x4</BitOffset>
  6217. <BitWidth>0x1</BitWidth>
  6218. <Access>RW</Access>
  6219. <Values>
  6220. <Val value="0x0">Dual-bank boot disabled. Boot can be performed either from Flash memory bank 1 or from system memory depending on boot pin state (default)</Val>
  6221. <Val value="0x1">Dual-bank boot enabled. Boot is always performed from system memory.</Val>
  6222. </Values>
  6223. </Bit>
  6224. <Bit>
  6225. <Name>WDG_SW</Name>
  6226. <Description/>
  6227. <BitOffset>0x5</BitOffset>
  6228. <BitWidth>0x1</BitWidth>
  6229. <Access>RW</Access>
  6230. <Values>
  6231. <Val value="0x0">Hardware watchdog</Val>
  6232. <Val value="0x1">Software watchdog</Val>
  6233. </Values>
  6234. </Bit>
  6235. <Bit>
  6236. <Name>nRST_STOP</Name>
  6237. <Description/>
  6238. <BitOffset>0x6</BitOffset>
  6239. <BitWidth>0x1</BitWidth>
  6240. <Access>RW</Access>
  6241. <Values>
  6242. <Val value="0x0">Reset generated when entering Stop mode</Val>
  6243. <Val value="0x1">No reset generated</Val>
  6244. </Values>
  6245. </Bit>
  6246. <Bit>
  6247. <Name>nRST_STDBY</Name>
  6248. <Description/>
  6249. <BitOffset>0x7</BitOffset>
  6250. <BitWidth>0x1</BitWidth>
  6251. <Access>RW</Access>
  6252. <Values>
  6253. <Val value="0x0">Reset generated when entering Standby mode</Val>
  6254. <Val value="0x1">No reset generated</Val>
  6255. </Values>
  6256. </Bit>
  6257. <Bit config="2,3,4,5">
  6258. <Name>DB1M</Name>
  6259. <Description>Dual-bank on 1 Mbyte Flash memory devices</Description>
  6260. <BitOffset>0x1E</BitOffset>
  6261. <BitWidth>0x1</BitWidth>
  6262. <Access>RW</Access>
  6263. <Values>
  6264. <Val value="0x0">1 Mbyte single bank Flash memory (contiguous addresses in bank1)</Val>
  6265. <Val value="0x1">1 Mbyte dual bank Flash memory. The Flash memory is organized as two banks of 512 Kbytes each</Val>
  6266. </Values>
  6267. </Bit>
  6268. </AssignedBits>
  6269. </Field>
  6270. </Category>
  6271. <Category>
  6272. <Name>Write Protection</Name>
  6273. <Field>
  6274. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  6275. <AssignedBits>
  6276. <Bit config="0,2,4">
  6277. <Name>nWRP0</Name>
  6278. <Description/>
  6279. <BitOffset>0x10</BitOffset>
  6280. <BitWidth>0xC</BitWidth>
  6281. <Access>RW</Access>
  6282. <Values ByBit="true">
  6283. <Val value="0x0">Write protection active</Val>
  6284. <Val value="0x1">Write protection not active</Val>
  6285. </Values>
  6286. </Bit>
  6287. <Bit config="1,3,5,6">
  6288. <Name>nWRP0</Name>
  6289. <Description/>
  6290. <BitOffset>0x10</BitOffset>
  6291. <BitWidth>0xC</BitWidth>
  6292. <Access>RW</Access>
  6293. <Values ByBit="true">
  6294. <Val value="0x0">PCROP protection not active on sector i</Val>
  6295. <Val value="0x1">PCROP protection active on sector i</Val>
  6296. </Values>
  6297. </Bit>
  6298. </AssignedBits>
  6299. </Field>
  6300. <Field>
  6301. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x40023C18"/>
  6302. <AssignedBits>
  6303. <Bit config="0,2,4">
  6304. <Name>nWRP12</Name>
  6305. <Description/>
  6306. <BitOffset>0x10</BitOffset>
  6307. <BitWidth>0xC</BitWidth>
  6308. <Access>RW</Access>
  6309. <Values ByBit="true">
  6310. <Val value="0x0">Write protection active</Val>
  6311. <Val value="0x1">Write protection not active</Val>
  6312. </Values>
  6313. </Bit>
  6314. <Bit config="1,3,5,6">
  6315. <Name>nWRP12</Name>
  6316. <Description/>
  6317. <BitOffset>0x10</BitOffset>
  6318. <BitWidth>0xC</BitWidth>
  6319. <Access>RW</Access>
  6320. <Values ByBit="true">
  6321. <Val value="0x0">PCROP protection not active on sector i</Val>
  6322. <Val value="0x1">PCROP protection active on sector i</Val>
  6323. </Values>
  6324. </Bit>
  6325. </AssignedBits>
  6326. </Field>
  6327. </Category>
  6328. </Bank>
  6329. <Bank interface="Bootloader">
  6330. <Parameters name="Bank 1" size="0x10" address="0x1FFFC000"/>
  6331. <Category>
  6332. <Name>Read Out Protection</Name>
  6333. <Field>
  6334. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  6335. <AssignedBits>
  6336. <Bit>
  6337. <Name>RDP</Name>
  6338. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  6339. <BitOffset>0x8</BitOffset>
  6340. <BitWidth>0x8</BitWidth>
  6341. <Access>RW</Access>
  6342. <Values>
  6343. <Val value="0xAA">Level 0, no protection</Val>
  6344. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  6345. <Val value="0xCC">Level 2, chip protection</Val>
  6346. </Values>
  6347. </Bit>
  6348. </AssignedBits>
  6349. </Field>
  6350. </Category>
  6351. <Category>
  6352. <Name>PCROP Protection</Name>
  6353. <Field>
  6354. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFFC008"/>
  6355. <AssignedBits>
  6356. <Bit reference="SPRMode">
  6357. <Name>SPRMOD</Name>
  6358. <Description>Selection of protection mode for nWPRi bits.</Description>
  6359. <BitOffset>0xF</BitOffset>
  6360. <BitWidth>0x1</BitWidth>
  6361. <Access>RW</Access>
  6362. <Values>
  6363. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  6364. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  6365. </Values>
  6366. </Bit>
  6367. </AssignedBits>
  6368. </Field>
  6369. </Category>
  6370. <Category>
  6371. <Name>BOR Level</Name>
  6372. <Field>
  6373. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  6374. <AssignedBits>
  6375. <Bit>
  6376. <Name>BOR_LEV</Name>
  6377. <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>
  6378. <BitOffset>0x2</BitOffset>
  6379. <BitWidth>0x2</BitWidth>
  6380. <Access>RW</Access>
  6381. <Values>
  6382. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  6383. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  6384. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  6385. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  6386. </Values>
  6387. </Bit>
  6388. </AssignedBits>
  6389. </Field>
  6390. </Category>
  6391. <Category>
  6392. <Name>User Configuration</Name>
  6393. <Field>
  6394. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  6395. <AssignedBits>
  6396. <Bit>
  6397. <Name>BFB2</Name>
  6398. <Description/>
  6399. <BitOffset>0x4</BitOffset>
  6400. <BitWidth>0x1</BitWidth>
  6401. <Access>RW</Access>
  6402. <Values>
  6403. <Val value="0x0">Dual-bank boot disabled. Boot can be performed either from Flash memory bank 1 or from system memory depending on boot pin state (default)</Val>
  6404. <Val value="0x1">Dual-bank boot enabled. Boot is always performed from system memory.</Val>
  6405. </Values>
  6406. </Bit>
  6407. <Bit>
  6408. <Name>WDG_SW</Name>
  6409. <Description/>
  6410. <BitOffset>0x5</BitOffset>
  6411. <BitWidth>0x1</BitWidth>
  6412. <Access>RW</Access>
  6413. <Values>
  6414. <Val value="0x0">Hardware watchdog</Val>
  6415. <Val value="0x1">Software watchdog</Val>
  6416. </Values>
  6417. </Bit>
  6418. <Bit>
  6419. <Name>nRST_STOP</Name>
  6420. <Description/>
  6421. <BitOffset>0x6</BitOffset>
  6422. <BitWidth>0x1</BitWidth>
  6423. <Access>RW</Access>
  6424. <Values>
  6425. <Val value="0x0">Reset generated when entering Stop mode</Val>
  6426. <Val value="0x1">No reset generated</Val>
  6427. </Values>
  6428. </Bit>
  6429. <Bit>
  6430. <Name>nRST_STDBY</Name>
  6431. <Description/>
  6432. <BitOffset>0x7</BitOffset>
  6433. <BitWidth>0x1</BitWidth>
  6434. <Access>RW</Access>
  6435. <Values>
  6436. <Val value="0x0">Reset generated when entering Standby mode</Val>
  6437. <Val value="0x1">No reset generated</Val>
  6438. </Values>
  6439. </Bit>
  6440. <Bit config="2,3,4,5">
  6441. <Name>DB1M</Name>
  6442. <Description>Dual-bank on 1 Mbyte Flash memory devices</Description>
  6443. <BitOffset>0x1E</BitOffset>
  6444. <BitWidth>0x1</BitWidth>
  6445. <Access>RW</Access>
  6446. <Values>
  6447. <Val value="0x0">1 Mbyte single bank Flash memory (contiguous addresses in bank1)</Val>
  6448. <Val value="0x1">1 Mbyte dual bank Flash memory. The Flash memory is organized as two banks of 512 Kbytes each</Val>
  6449. </Values>
  6450. </Bit>
  6451. </AssignedBits>
  6452. </Field>
  6453. </Category>
  6454. <Category>
  6455. <Name>Write Protection (Bank 1)</Name>
  6456. <Field>
  6457. <Parameters name="WRP0" size="0x4" address="0x1FFFC008"/>
  6458. <AssignedBits>
  6459. <Bit config="0,2,4">
  6460. <Name>WRP0</Name>
  6461. <Description/>
  6462. <BitOffset>0x0</BitOffset>
  6463. <BitWidth>0xC</BitWidth>
  6464. <Access>RW</Access>
  6465. <Values ByBit="true">
  6466. <Val value="0x0">Write protection active</Val>
  6467. <Val value="0x1">Write protection not active</Val>
  6468. </Values>
  6469. </Bit>
  6470. <Bit config="1,3,5,6">
  6471. <Name>WRP0</Name>
  6472. <Description/>
  6473. <BitOffset>0x0</BitOffset>
  6474. <BitWidth>0xC</BitWidth>
  6475. <Access>RW</Access>
  6476. <Values ByBit="true">
  6477. <Val value="0x0">PCROP protection not active on sector i</Val>
  6478. <Val value="0x1">PCROP protection active on sector i</Val>
  6479. </Values>
  6480. </Bit>
  6481. </AssignedBits>
  6482. </Field>
  6483. </Category>
  6484. </Bank>
  6485. <Bank interface="Bootloader">
  6486. <Parameters name="Bank 2" size="0x8" address="0x1FFEC008"/>
  6487. <Category>
  6488. <Name>Write Protection (Bank 2)</Name>
  6489. <Field>
  6490. <Parameters name="WRP1" size="0x4" address="0x1FFEC008"/>
  6491. <AssignedBits>
  6492. <Bit config="0,2,4">
  6493. <Name>WRP12</Name>
  6494. <Description/>
  6495. <BitOffset>0x0</BitOffset>
  6496. <BitWidth>0xC</BitWidth>
  6497. <Access>RW</Access>
  6498. <Values ByBit="true">
  6499. <Val value="0x0">Write protection active</Val>
  6500. <Val value="0x1">Write protection not active</Val>
  6501. </Values>
  6502. </Bit>
  6503. <Bit config="1,3,5,6">
  6504. <Name>WRP12</Name>
  6505. <Description/>
  6506. <BitOffset>0x0</BitOffset>
  6507. <BitWidth>0xC</BitWidth>
  6508. <Access>RW</Access>
  6509. <Values ByBit="true">
  6510. <Val value="0x0">PCROP protection not active on sector i</Val>
  6511. <Val value="0x1">PCROP protection active on sector i</Val>
  6512. </Values>
  6513. </Bit>
  6514. </AssignedBits>
  6515. </Field>
  6516. </Category>
  6517. </Bank>
  6518. </Peripheral>
  6519. </Peripherals>
  6520. </Device>
  6521. <!-- Device: 0x423 -->
  6522. <Device>
  6523. <DeviceID>0x423</DeviceID>
  6524. <Vendor>STMicroelectronics</Vendor>
  6525. <Type>MCU</Type>
  6526. <CPU>Cortex-M4</CPU>
  6527. <Name>STM32F401xB/C</Name>
  6528. <Series>STM32F4</Series>
  6529. <Description>ARM 32-bit Cortex-M4 based device</Description>
  6530. <Configurations>
  6531. <!-- JTAG_SWD Interface -->
  6532. <Interface name="JTAG_SWD">
  6533. <Configuration number="0x0">
  6534. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  6535. </Configuration>
  6536. <Configuration number="0x1">
  6537. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  6538. </Configuration>
  6539. </Interface>
  6540. <!-- Bootloader Interface -->
  6541. <Interface name="Bootloader">
  6542. <Configuration number="0x0">
  6543. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  6544. </Configuration>
  6545. <Configuration number="0x1">
  6546. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  6547. </Configuration>
  6548. </Interface>
  6549. </Configurations>
  6550. <!-- Peripherals -->
  6551. <Peripherals>
  6552. <!-- Embedded SRAM -->
  6553. <Peripheral>
  6554. <Name>Embedded SRAM</Name>
  6555. <Type>Storage</Type>
  6556. <Description/>
  6557. <ErasedValue>0x00</ErasedValue>
  6558. <Access>RWE</Access>
  6559. <!-- 112 KB 0x1c000-->
  6560. <Configuration>
  6561. <Parameters name="SRAM" size="0x10000" address="0x20000000"/>
  6562. <Description/>
  6563. <Organization>Single</Organization>
  6564. <Bank name="Bank 1">
  6565. <Field>
  6566. <Parameters name="SRAM" size="0x10000" address="0x20000000" occurence="0x1"/>
  6567. </Field>
  6568. </Bank>
  6569. </Configuration>
  6570. </Peripheral>
  6571. <!-- Embedded Flash -->
  6572. <Peripheral>
  6573. <Name>Embedded Flash</Name>
  6574. <Type>Storage</Type>
  6575. <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>
  6576. <ErasedValue>0xFF</ErasedValue>
  6577. <Access>RWE</Access>
  6578. <FlashSize address="0x1FFF7A22" default="0x40000"/>
  6579. <!-- 1024KB Single Bank -->
  6580. <Configuration>
  6581. <Parameters name=" 256 Kbytes Embedded Flash" size="0x40000" address="0x08000000"/>
  6582. <Description/>
  6583. <Organization>Single</Organization>
  6584. <Allignement>0x4</Allignement>
  6585. <Bank name="Bank 1">
  6586. <Field>
  6587. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  6588. </Field>
  6589. <Field>
  6590. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  6591. </Field>
  6592. <Field>
  6593. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x1"/>
  6594. </Field>
  6595. </Bank>
  6596. </Configuration>
  6597. </Peripheral>
  6598. <!-- OTP -->
  6599. <Peripheral>
  6600. <Name>OTP</Name>
  6601. <Type>Storage</Type>
  6602. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  6603. <ErasedValue>0xFF</ErasedValue>
  6604. <Access>RW</Access>
  6605. <!-- 512 Bytes single bank -->
  6606. <Configuration>
  6607. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  6608. <Description/>
  6609. <Organization>Single</Organization>
  6610. <Allignement>0x4</Allignement>
  6611. <Bank name="OTP">
  6612. <Field>
  6613. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  6614. </Field>
  6615. </Bank>
  6616. </Configuration>
  6617. </Peripheral>
  6618. <!-- Mirror Option Bytes -->
  6619. <Peripheral>
  6620. <Name>MirrorOptionBytes</Name>
  6621. <Type>Storage</Type>
  6622. <Description>Mirror Option Bytes contains the extra area.</Description>
  6623. <ErasedValue>0xFF</ErasedValue>
  6624. <Access>RW</Access>
  6625. <!-- 16 Bytes single bank -->
  6626. <Configuration>
  6627. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFC000"/>
  6628. <Description/>
  6629. <Organization>Single</Organization>
  6630. <Allignement>0x4</Allignement>
  6631. <Bank name="MirrorOptionBytes">
  6632. <Field>
  6633. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFC000" occurence="0x1"/>
  6634. </Field>
  6635. </Bank>
  6636. </Configuration>
  6637. </Peripheral>
  6638. <!-- Option Bytes -->
  6639. <Peripheral>
  6640. <Name>Option Bytes</Name>
  6641. <Type>Configuration</Type>
  6642. <Description/>
  6643. <Access>RW</Access>
  6644. <Bank interface="JTAG_SWD">
  6645. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  6646. <Category>
  6647. <Name>Read Out Protection</Name>
  6648. <Field>
  6649. <Parameters name="RDP" size="0x4" address="0x40023C14"/>
  6650. <AssignedBits>
  6651. <Bit>
  6652. <Name>RDP</Name>
  6653. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  6654. <BitOffset>0x8</BitOffset>
  6655. <BitWidth>0x8</BitWidth>
  6656. <Access>RW</Access>
  6657. <Values>
  6658. <Val value="0xAA">Level 0, no protection</Val>
  6659. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  6660. <Val value="0xCC">Level 2, chip protection</Val>
  6661. </Values>
  6662. </Bit>
  6663. </AssignedBits>
  6664. </Field>
  6665. </Category>
  6666. <Category>
  6667. <Name>PCROP Protection</Name>
  6668. <Field>
  6669. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  6670. <AssignedBits>
  6671. <Bit reference="SPRMode">
  6672. <Name>SPRMOD</Name>
  6673. <Description>Selection of protection mode for nWPRi bits.</Description>
  6674. <BitOffset>0x1F</BitOffset>
  6675. <BitWidth>0x1</BitWidth>
  6676. <Access>RW</Access>
  6677. <Values>
  6678. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  6679. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  6680. </Values>
  6681. </Bit>
  6682. </AssignedBits>
  6683. </Field>
  6684. </Category>
  6685. <Category>
  6686. <Name>BOR Level</Name>
  6687. <Field>
  6688. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  6689. <AssignedBits>
  6690. <Bit>
  6691. <Name>BOR_LEV</Name>
  6692. <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>
  6693. <BitOffset>0x2</BitOffset>
  6694. <BitWidth>0x2</BitWidth>
  6695. <Access>RW</Access>
  6696. <Values>
  6697. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  6698. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  6699. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  6700. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  6701. </Values>
  6702. </Bit>
  6703. </AssignedBits>
  6704. </Field>
  6705. </Category>
  6706. <Category>
  6707. <Name>User Configuration</Name>
  6708. <Field>
  6709. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  6710. <AssignedBits>
  6711. <Bit>
  6712. <Name>WDG_SW</Name>
  6713. <Description/>
  6714. <BitOffset>0x5</BitOffset>
  6715. <BitWidth>0x1</BitWidth>
  6716. <Access>RW</Access>
  6717. <Values>
  6718. <Val value="0x0">Hardware watchdog</Val>
  6719. <Val value="0x1">Software watchdog</Val>
  6720. </Values>
  6721. </Bit>
  6722. <Bit>
  6723. <Name>nRST_STOP</Name>
  6724. <Description/>
  6725. <BitOffset>0x6</BitOffset>
  6726. <BitWidth>0x1</BitWidth>
  6727. <Access>RW</Access>
  6728. <Values>
  6729. <Val value="0x0">Reset generated when entering Stop mode</Val>
  6730. <Val value="0x1">No reset generated</Val>
  6731. </Values>
  6732. </Bit>
  6733. <Bit>
  6734. <Name>nRST_STDBY</Name>
  6735. <Description/>
  6736. <BitOffset>0x7</BitOffset>
  6737. <BitWidth>0x1</BitWidth>
  6738. <Access>RW</Access>
  6739. <Values>
  6740. <Val value="0x0">Reset generated when entering Standby mode</Val>
  6741. <Val value="0x1">No reset generated</Val>
  6742. </Values>
  6743. </Bit>
  6744. </AssignedBits>
  6745. </Field>
  6746. </Category>
  6747. <Category>
  6748. <Name>Write Protection</Name>
  6749. <Field>
  6750. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  6751. <AssignedBits>
  6752. <Bit config="0">
  6753. <Name>WRP0</Name>
  6754. <Description/>
  6755. <BitOffset>0x10</BitOffset>
  6756. <BitWidth>0x6</BitWidth>
  6757. <Access>RW</Access>
  6758. <Values ByBit="true">
  6759. <Val value="0x0">Write protection active</Val>
  6760. <Val value="0x1">Write protection not active</Val>
  6761. </Values>
  6762. </Bit>
  6763. <Bit config="1">
  6764. <Name>WRP0</Name>
  6765. <Description/>
  6766. <BitOffset>0x10</BitOffset>
  6767. <BitWidth>0x6</BitWidth>
  6768. <Access>RW</Access>
  6769. <Values ByBit="true">
  6770. <Val value="0x0">PCROP protection not active on sector i</Val>
  6771. <Val value="0x1">PCROP protection active on sector i</Val>
  6772. </Values>
  6773. </Bit>
  6774. </AssignedBits>
  6775. </Field>
  6776. </Category>
  6777. </Bank>
  6778. <Bank interface="Bootloader">
  6779. <Parameters name="Bank 1" size="0x10" address="0x1FFFC000"/>
  6780. <Category>
  6781. <Name>Read Out Protection</Name>
  6782. <Field>
  6783. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  6784. <AssignedBits>
  6785. <Bit>
  6786. <Name>RDP</Name>
  6787. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  6788. <BitOffset>0x8</BitOffset>
  6789. <BitWidth>0x8</BitWidth>
  6790. <Access>RW</Access>
  6791. <Values>
  6792. <Val value="0xAA">Level 0, no protection</Val>
  6793. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  6794. <Val value="0xCC">Level 2, chip protection</Val>
  6795. </Values>
  6796. </Bit>
  6797. </AssignedBits>
  6798. </Field>
  6799. </Category>
  6800. <Category>
  6801. <Name>PCROP Protection</Name>
  6802. <Field>
  6803. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFFC008"/>
  6804. <AssignedBits>
  6805. <Bit reference="SPRMode">
  6806. <Name>SPRMOD</Name>
  6807. <Description>Selection of protection mode for nWPRi bits.</Description>
  6808. <BitOffset>0xF</BitOffset>
  6809. <BitWidth>0x1</BitWidth>
  6810. <Access>RW</Access>
  6811. <Values>
  6812. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  6813. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  6814. </Values>
  6815. </Bit>
  6816. </AssignedBits>
  6817. </Field>
  6818. </Category>
  6819. <Category>
  6820. <Name>BOR Level</Name>
  6821. <Field>
  6822. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  6823. <AssignedBits>
  6824. <Bit>
  6825. <Name>BOR_LEV</Name>
  6826. <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>
  6827. <BitOffset>0x2</BitOffset>
  6828. <BitWidth>0x2</BitWidth>
  6829. <Access>RW</Access>
  6830. <Values>
  6831. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  6832. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  6833. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  6834. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  6835. </Values>
  6836. </Bit>
  6837. </AssignedBits>
  6838. </Field>
  6839. </Category>
  6840. <Category>
  6841. <Name>User Configuration</Name>
  6842. <Field>
  6843. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  6844. <AssignedBits>
  6845. <Bit>
  6846. <Name>WDG_SW</Name>
  6847. <Description/>
  6848. <BitOffset>0x5</BitOffset>
  6849. <BitWidth>0x1</BitWidth>
  6850. <Access>RW</Access>
  6851. <Values>
  6852. <Val value="0x0">Hardware watchdog</Val>
  6853. <Val value="0x1">Software watchdog</Val>
  6854. </Values>
  6855. </Bit>
  6856. <Bit>
  6857. <Name>nRST_STOP</Name>
  6858. <Description/>
  6859. <BitOffset>0x6</BitOffset>
  6860. <BitWidth>0x1</BitWidth>
  6861. <Access>RW</Access>
  6862. <Values>
  6863. <Val value="0x0">Reset generated when entering Stop mode</Val>
  6864. <Val value="0x1">No reset generated</Val>
  6865. </Values>
  6866. </Bit>
  6867. <Bit>
  6868. <Name>nRST_STDBY</Name>
  6869. <Description/>
  6870. <BitOffset>0x7</BitOffset>
  6871. <BitWidth>0x1</BitWidth>
  6872. <Access>RW</Access>
  6873. <Values>
  6874. <Val value="0x0">Reset generated when entering Standby mode</Val>
  6875. <Val value="0x1">No reset generated</Val>
  6876. </Values>
  6877. </Bit>
  6878. </AssignedBits>
  6879. </Field>
  6880. </Category>
  6881. <Category>
  6882. <Name>Write Protection</Name>
  6883. <Field>
  6884. <Parameters name="WRP1" size="0x4" address="0x1FFFC008"/>
  6885. <AssignedBits>
  6886. <Bit config="0">
  6887. <Name>WRP0</Name>
  6888. <Description/>
  6889. <BitOffset>0x0</BitOffset>
  6890. <BitWidth>0x6</BitWidth>
  6891. <Access>RW</Access>
  6892. <Values ByBit="true">
  6893. <Val value="0x0">Write protection active</Val>
  6894. <Val value="0x1">Write protection not active</Val>
  6895. </Values>
  6896. </Bit>
  6897. <Bit config="1">
  6898. <Name>WRP0</Name>
  6899. <Description/>
  6900. <BitOffset>0x0</BitOffset>
  6901. <BitWidth>0x6</BitWidth>
  6902. <Access>RW</Access>
  6903. <Values ByBit="true">
  6904. <Val value="0x0">PCROP protection not active on sector i</Val>
  6905. <Val value="0x1">PCROP protection active on sector i</Val>
  6906. </Values>
  6907. </Bit>
  6908. </AssignedBits>
  6909. </Field>
  6910. </Category>
  6911. </Bank>
  6912. </Peripheral>
  6913. </Peripherals>
  6914. </Device>
  6915. <!-- Device: 0x433 -->
  6916. <Device>
  6917. <DeviceID>0x433</DeviceID>
  6918. <Vendor>STMicroelectronics</Vendor>
  6919. <Type>MCU</Type>
  6920. <CPU>Cortex-M4</CPU>
  6921. <Name>STM32F401xD/E</Name>
  6922. <Series>STM32F4</Series>
  6923. <Description>ARM 32-bit Cortex-M4 based device</Description>
  6924. <Configurations>
  6925. <!-- JTAG_SWD Interface -->
  6926. <Interface name="JTAG_SWD">
  6927. <Configuration number="0x0">
  6928. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  6929. </Configuration>
  6930. <Configuration number="0x1">
  6931. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  6932. </Configuration>
  6933. </Interface>
  6934. <!-- Bootloader Interface -->
  6935. <Interface name="Bootloader">
  6936. <Configuration number="0x0">
  6937. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  6938. </Configuration>
  6939. <Configuration number="0x1">
  6940. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  6941. </Configuration>
  6942. </Interface>
  6943. </Configurations>
  6944. <!-- Peripherals -->
  6945. <Peripherals>
  6946. <!-- Embedded SRAM -->
  6947. <Peripheral>
  6948. <Name>Embedded SRAM</Name>
  6949. <Type>Storage</Type>
  6950. <Description/>
  6951. <ErasedValue>0x00</ErasedValue>
  6952. <Access>RWE</Access>
  6953. <!-- 96 KB 0x1c000-->
  6954. <Configuration>
  6955. <Parameters name="SRAM" size="0x10000" address="0x20000000"/>
  6956. <Description/>
  6957. <Organization>Single</Organization>
  6958. <Bank name="Bank 1">
  6959. <Field>
  6960. <Parameters name="SRAM" size="0x10000" address="0x20000000" occurence="0x1"/>
  6961. </Field>
  6962. </Bank>
  6963. </Configuration>
  6964. </Peripheral>
  6965. <!-- Embedded Flash -->
  6966. <Peripheral>
  6967. <Name>Embedded Flash</Name>
  6968. <Type>Storage</Type>
  6969. <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>
  6970. <ErasedValue>0xFF</ErasedValue>
  6971. <Access>RWE</Access>
  6972. <FlashSize address="0x1FFF7A22" default="0x60000"/>
  6973. <!-- 384KB Single Bank -->
  6974. <Configuration>
  6975. <Parameters name=" 384 Kbytes Embedded Flash" size="0x60000" address="0x08000000"/>
  6976. <Description/>
  6977. <Organization>Single</Organization>
  6978. <Allignement>0x4</Allignement>
  6979. <Bank name="Bank 1">
  6980. <Field>
  6981. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  6982. </Field>
  6983. <Field>
  6984. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  6985. </Field>
  6986. <Field>
  6987. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x3"/>
  6988. </Field>
  6989. </Bank>
  6990. </Configuration>
  6991. </Peripheral>
  6992. <!-- OTP -->
  6993. <Peripheral>
  6994. <Name>OTP</Name>
  6995. <Type>Storage</Type>
  6996. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  6997. <ErasedValue>0xFF</ErasedValue>
  6998. <Access>RW</Access>
  6999. <!-- 512 Bytes single bank -->
  7000. <Configuration>
  7001. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  7002. <Description/>
  7003. <Organization>Single</Organization>
  7004. <Allignement>0x4</Allignement>
  7005. <Bank name="OTP">
  7006. <Field>
  7007. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  7008. </Field>
  7009. </Bank>
  7010. </Configuration>
  7011. </Peripheral>
  7012. <!-- Mirror Option Bytes -->
  7013. <Peripheral>
  7014. <Name>MirrorOptionBytes</Name>
  7015. <Type>Storage</Type>
  7016. <Description>Mirror Option Bytes contains the extra area.</Description>
  7017. <ErasedValue>0xFF</ErasedValue>
  7018. <Access>RW</Access>
  7019. <!-- 16 Bytes single bank -->
  7020. <Configuration>
  7021. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFC000"/>
  7022. <Description/>
  7023. <Organization>Single</Organization>
  7024. <Allignement>0x4</Allignement>
  7025. <Bank name="MirrorOptionBytes">
  7026. <Field>
  7027. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFC000" occurence="0x1"/>
  7028. </Field>
  7029. </Bank>
  7030. </Configuration>
  7031. </Peripheral>
  7032. <!-- Option Bytes -->
  7033. <Peripheral>
  7034. <Name>Option Bytes</Name>
  7035. <Type>Configuration</Type>
  7036. <Description/>
  7037. <Access>RW</Access>
  7038. <Bank interface="JTAG_SWD">
  7039. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  7040. <Category>
  7041. <Name>Read Out Protection</Name>
  7042. <Field>
  7043. <Parameters name="RDP" size="0x4" address="0x40023C14"/>
  7044. <AssignedBits>
  7045. <Bit>
  7046. <Name>RDP</Name>
  7047. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  7048. <BitOffset>0x8</BitOffset>
  7049. <BitWidth>0x8</BitWidth>
  7050. <Access>RW</Access>
  7051. <Values>
  7052. <Val value="0xAA">Level 0, no protection</Val>
  7053. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  7054. <Val value="0xCC">Level 2, chip protection</Val>
  7055. </Values>
  7056. </Bit>
  7057. </AssignedBits>
  7058. </Field>
  7059. </Category>
  7060. <Category>
  7061. <Name>PCROP Protection</Name>
  7062. <Field>
  7063. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7064. <AssignedBits>
  7065. <Bit reference="SPRMode">
  7066. <Name>SPRMOD</Name>
  7067. <Description>Selection of protection mode for nWPRi bits.</Description>
  7068. <BitOffset>0x1F</BitOffset>
  7069. <BitWidth>0x1</BitWidth>
  7070. <Access>RW</Access>
  7071. <Values>
  7072. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  7073. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  7074. </Values>
  7075. </Bit>
  7076. </AssignedBits>
  7077. </Field>
  7078. </Category>
  7079. <Category>
  7080. <Name>BOR Level</Name>
  7081. <Field>
  7082. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7083. <AssignedBits>
  7084. <Bit>
  7085. <Name>BOR_LEV</Name>
  7086. <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>
  7087. <BitOffset>0x2</BitOffset>
  7088. <BitWidth>0x2</BitWidth>
  7089. <Access>RW</Access>
  7090. <Values>
  7091. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  7092. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  7093. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  7094. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  7095. </Values>
  7096. </Bit>
  7097. </AssignedBits>
  7098. </Field>
  7099. </Category>
  7100. <Category>
  7101. <Name>User Configuration</Name>
  7102. <Field>
  7103. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7104. <AssignedBits>
  7105. <Bit>
  7106. <Name>WDG_SW</Name>
  7107. <Description/>
  7108. <BitOffset>0x5</BitOffset>
  7109. <BitWidth>0x1</BitWidth>
  7110. <Access>RW</Access>
  7111. <Values>
  7112. <Val value="0x0">Hardware watchdog</Val>
  7113. <Val value="0x1">Software watchdog</Val>
  7114. </Values>
  7115. </Bit>
  7116. <Bit>
  7117. <Name>nRST_STOP</Name>
  7118. <Description/>
  7119. <BitOffset>0x6</BitOffset>
  7120. <BitWidth>0x1</BitWidth>
  7121. <Access>RW</Access>
  7122. <Values>
  7123. <Val value="0x0">Reset generated when entering Stop mode</Val>
  7124. <Val value="0x1">No reset generated</Val>
  7125. </Values>
  7126. </Bit>
  7127. <Bit>
  7128. <Name>nRST_STDBY</Name>
  7129. <Description/>
  7130. <BitOffset>0x7</BitOffset>
  7131. <BitWidth>0x1</BitWidth>
  7132. <Access>RW</Access>
  7133. <Values>
  7134. <Val value="0x0">Reset generated when entering Standby mode</Val>
  7135. <Val value="0x1">No reset generated</Val>
  7136. </Values>
  7137. </Bit>
  7138. </AssignedBits>
  7139. </Field>
  7140. </Category>
  7141. <Category>
  7142. <Name>Write Protection</Name>
  7143. <Field>
  7144. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7145. <AssignedBits>
  7146. <Bit config="0">
  7147. <Name>WRP0</Name>
  7148. <Description/>
  7149. <BitOffset>0x10</BitOffset>
  7150. <BitWidth>0x8</BitWidth>
  7151. <Access>RW</Access>
  7152. <Values ByBit="true">
  7153. <Val value="0x0">Write protection active</Val>
  7154. <Val value="0x1">Write protection not active</Val>
  7155. </Values>
  7156. </Bit>
  7157. <Bit config="1">
  7158. <Name>WRP0</Name>
  7159. <Description/>
  7160. <BitOffset>0x10</BitOffset>
  7161. <BitWidth>0x8</BitWidth>
  7162. <Access>RW</Access>
  7163. <Values ByBit="true">
  7164. <Val value="0x0">PCROP protection not active on sector i</Val>
  7165. <Val value="0x1">PCROP protection active on sector i</Val>
  7166. </Values>
  7167. </Bit>
  7168. </AssignedBits>
  7169. </Field>
  7170. </Category>
  7171. </Bank>
  7172. <Bank interface="Bootloader">
  7173. <Parameters name="Bank 1" size="0x10" address="0x1FFFC000"/>
  7174. <Category>
  7175. <Name>Read Out Protection</Name>
  7176. <Field>
  7177. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  7178. <AssignedBits>
  7179. <Bit>
  7180. <Name>RDP</Name>
  7181. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  7182. <BitOffset>0x8</BitOffset>
  7183. <BitWidth>0x8</BitWidth>
  7184. <Access>RW</Access>
  7185. <Values>
  7186. <Val value="0xAA">Level 0, no protection</Val>
  7187. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  7188. <Val value="0xCC">Level 2, chip protection</Val>
  7189. </Values>
  7190. </Bit>
  7191. </AssignedBits>
  7192. </Field>
  7193. </Category>
  7194. <Category>
  7195. <Name>PCROP Protection</Name>
  7196. <Field>
  7197. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFFC008"/>
  7198. <AssignedBits>
  7199. <Bit reference="SPRMode">
  7200. <Name>SPRMOD</Name>
  7201. <Description>Selection of protection mode for nWPRi bits.</Description>
  7202. <BitOffset>0xF</BitOffset>
  7203. <BitWidth>0x1</BitWidth>
  7204. <Access>RW</Access>
  7205. <Values>
  7206. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  7207. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  7208. </Values>
  7209. </Bit>
  7210. </AssignedBits>
  7211. </Field>
  7212. </Category>
  7213. <Category>
  7214. <Name>BOR Level</Name>
  7215. <Field>
  7216. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  7217. <AssignedBits>
  7218. <Bit>
  7219. <Name>BOR_LEV</Name>
  7220. <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>
  7221. <BitOffset>0x2</BitOffset>
  7222. <BitWidth>0x2</BitWidth>
  7223. <Access>RW</Access>
  7224. <Values>
  7225. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  7226. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  7227. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  7228. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  7229. </Values>
  7230. </Bit>
  7231. </AssignedBits>
  7232. </Field>
  7233. </Category>
  7234. <Category>
  7235. <Name>User Configuration</Name>
  7236. <Field>
  7237. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  7238. <AssignedBits>
  7239. <Bit>
  7240. <Name>WDG_SW</Name>
  7241. <Description/>
  7242. <BitOffset>0x5</BitOffset>
  7243. <BitWidth>0x1</BitWidth>
  7244. <Access>RW</Access>
  7245. <Values>
  7246. <Val value="0x0">Hardware watchdog</Val>
  7247. <Val value="0x1">Software watchdog</Val>
  7248. </Values>
  7249. </Bit>
  7250. <Bit>
  7251. <Name>nRST_STOP</Name>
  7252. <Description/>
  7253. <BitOffset>0x6</BitOffset>
  7254. <BitWidth>0x1</BitWidth>
  7255. <Access>RW</Access>
  7256. <Values>
  7257. <Val value="0x0">Reset generated when entering Stop mode</Val>
  7258. <Val value="0x1">No reset generated</Val>
  7259. </Values>
  7260. </Bit>
  7261. <Bit>
  7262. <Name>nRST_STDBY</Name>
  7263. <Description/>
  7264. <BitOffset>0x7</BitOffset>
  7265. <BitWidth>0x1</BitWidth>
  7266. <Access>RW</Access>
  7267. <Values>
  7268. <Val value="0x0">Reset generated when entering Standby mode</Val>
  7269. <Val value="0x1">No reset generated</Val>
  7270. </Values>
  7271. </Bit>
  7272. </AssignedBits>
  7273. </Field>
  7274. </Category>
  7275. <Category>
  7276. <Name>Write Protection</Name>
  7277. <Field>
  7278. <Parameters name="WRP1" size="0x4" address="0x1FFFC008"/>
  7279. <AssignedBits>
  7280. <Bit config="0">
  7281. <Name>WRP0</Name>
  7282. <Description/>
  7283. <BitOffset>0x0</BitOffset>
  7284. <BitWidth>0x8</BitWidth>
  7285. <Access>RW</Access>
  7286. <Values ByBit="true">
  7287. <Val value="0x0">Write protection active</Val>
  7288. <Val value="0x1">Write protection not active</Val>
  7289. </Values>
  7290. </Bit>
  7291. <Bit config="1">
  7292. <Name>WRP0</Name>
  7293. <Description/>
  7294. <BitOffset>0x0</BitOffset>
  7295. <BitWidth>0x8</BitWidth>
  7296. <Access>RW</Access>
  7297. <Values ByBit="true">
  7298. <Val value="0x0">PCROP protection not active on sector i</Val>
  7299. <Val value="0x1">PCROP protection active on sector i</Val>
  7300. </Values>
  7301. </Bit>
  7302. </AssignedBits>
  7303. </Field>
  7304. </Category>
  7305. </Bank>
  7306. </Peripheral>
  7307. </Peripherals>
  7308. </Device>
  7309. <!-- Device: 0x431 -->
  7310. <Device>
  7311. <DeviceID>0x431</DeviceID>
  7312. <Vendor>STMicroelectronics</Vendor>
  7313. <Type>MCU</Type>
  7314. <CPU>Cortex-M4</CPU>
  7315. <Name>STM32F411xC/E</Name>
  7316. <Series>STM32F4</Series>
  7317. <Description>ARM 32-bit Cortex-M4 based device</Description>
  7318. <Configurations>
  7319. <!-- JTAG_SWD Interface -->
  7320. <Interface name="JTAG_SWD">
  7321. <Configuration number="0x0">
  7322. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  7323. </Configuration>
  7324. <Configuration number="0x1">
  7325. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  7326. </Configuration>
  7327. </Interface>
  7328. <!-- Bootloader Interface -->
  7329. <Interface name="Bootloader">
  7330. <Configuration number="0x0">
  7331. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  7332. </Configuration>
  7333. <Configuration number="0x1">
  7334. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  7335. </Configuration>
  7336. </Interface>
  7337. </Configurations>
  7338. <!-- Peripherals -->
  7339. <Peripherals>
  7340. <!-- Embedded SRAM -->
  7341. <Peripheral>
  7342. <Name>Embedded SRAM</Name>
  7343. <Type>Storage</Type>
  7344. <Description/>
  7345. <ErasedValue>0x00</ErasedValue>
  7346. <Access>RWE</Access>
  7347. <!-- 128 KB 0x20000-->
  7348. <Configuration>
  7349. <Parameters name="SRAM" size="0x10000" address="0x20000000"/>
  7350. <Description/>
  7351. <Organization>Single</Organization>
  7352. <Bank name="Bank 1">
  7353. <Field>
  7354. <Parameters name="SRAM" size="0x10000" address="0x20000000" occurence="0x1"/>
  7355. </Field>
  7356. </Bank>
  7357. </Configuration>
  7358. </Peripheral>
  7359. <!-- Embedded Flash -->
  7360. <Peripheral>
  7361. <Name>Embedded Flash</Name>
  7362. <Type>Storage</Type>
  7363. <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>
  7364. <ErasedValue>0xFF</ErasedValue>
  7365. <Access>RWE</Access>
  7366. <FlashSize address="0x1FFF7A22" default="0x80000"/>
  7367. <!-- 512KB Single Bank -->
  7368. <Configuration>
  7369. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  7370. <Description/>
  7371. <Organization>Single</Organization>
  7372. <Allignement>0x4</Allignement>
  7373. <Bank name="Bank 1">
  7374. <Field>
  7375. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  7376. </Field>
  7377. <Field>
  7378. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  7379. </Field>
  7380. <Field>
  7381. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x3"/>
  7382. </Field>
  7383. </Bank>
  7384. </Configuration>
  7385. </Peripheral>
  7386. <!-- OTP -->
  7387. <Peripheral>
  7388. <Name>OTP</Name>
  7389. <Type>Storage</Type>
  7390. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  7391. <ErasedValue>0xFF</ErasedValue>
  7392. <Access>RW</Access>
  7393. <!-- 512 Bytes single bank -->
  7394. <Configuration>
  7395. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  7396. <Description/>
  7397. <Organization>Single</Organization>
  7398. <Allignement>0x4</Allignement>
  7399. <Bank name="OTP">
  7400. <Field>
  7401. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  7402. </Field>
  7403. </Bank>
  7404. </Configuration>
  7405. </Peripheral>
  7406. <!-- Mirror Option Bytes -->
  7407. <Peripheral>
  7408. <Name>MirrorOptionBytes</Name>
  7409. <Type>Storage</Type>
  7410. <Description>Mirror Option Bytes contains the extra area.</Description>
  7411. <ErasedValue>0xFF</ErasedValue>
  7412. <Access>RW</Access>
  7413. <!-- 16 Bytes single bank -->
  7414. <Configuration>
  7415. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFC000"/>
  7416. <Description/>
  7417. <Organization>Single</Organization>
  7418. <Allignement>0x4</Allignement>
  7419. <Bank name="MirrorOptionBytes">
  7420. <Field>
  7421. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFC000" occurence="0x1"/>
  7422. </Field>
  7423. </Bank>
  7424. </Configuration>
  7425. </Peripheral>
  7426. <!-- Option Bytes -->
  7427. <Peripheral>
  7428. <Name>Option Bytes</Name>
  7429. <Type>Configuration</Type>
  7430. <Description/>
  7431. <Access>RW</Access>
  7432. <Bank interface="JTAG_SWD">
  7433. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  7434. <Category>
  7435. <Name>Read Out Protection</Name>
  7436. <Field>
  7437. <Parameters name="RDP" size="0x4" address="0x40023C14"/>
  7438. <AssignedBits>
  7439. <Bit>
  7440. <Name>RDP</Name>
  7441. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  7442. <BitOffset>0x8</BitOffset>
  7443. <BitWidth>0x8</BitWidth>
  7444. <Access>RW</Access>
  7445. <Values>
  7446. <Val value="0xAA">Level 0, no protection</Val>
  7447. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  7448. <Val value="0xCC">Level 2, chip protection</Val>
  7449. </Values>
  7450. </Bit>
  7451. </AssignedBits>
  7452. </Field>
  7453. </Category>
  7454. <Category>
  7455. <Name>PCROP Protection</Name>
  7456. <Field>
  7457. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7458. <AssignedBits>
  7459. <Bit reference="SPRMode">
  7460. <Name>SPRMOD</Name>
  7461. <Description>Selection of protection mode for nWPRi bits.</Description>
  7462. <BitOffset>0x1F</BitOffset>
  7463. <BitWidth>0x1</BitWidth>
  7464. <Access>RW</Access>
  7465. <Values>
  7466. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  7467. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  7468. </Values>
  7469. </Bit>
  7470. </AssignedBits>
  7471. </Field>
  7472. </Category>
  7473. <Category>
  7474. <Name>BOR Level</Name>
  7475. <Field>
  7476. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7477. <AssignedBits>
  7478. <Bit>
  7479. <Name>BOR_LEV</Name>
  7480. <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>
  7481. <BitOffset>0x2</BitOffset>
  7482. <BitWidth>0x2</BitWidth>
  7483. <Access>RW</Access>
  7484. <Values>
  7485. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  7486. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  7487. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  7488. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  7489. </Values>
  7490. </Bit>
  7491. </AssignedBits>
  7492. </Field>
  7493. </Category>
  7494. <Category>
  7495. <Name>User Configuration</Name>
  7496. <Field>
  7497. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7498. <AssignedBits>
  7499. <Bit>
  7500. <Name>WDG_SW</Name>
  7501. <Description/>
  7502. <BitOffset>0x5</BitOffset>
  7503. <BitWidth>0x1</BitWidth>
  7504. <Access>RW</Access>
  7505. <Values>
  7506. <Val value="0x0">Hardware watchdog</Val>
  7507. <Val value="0x1">Software watchdog</Val>
  7508. </Values>
  7509. </Bit>
  7510. <Bit>
  7511. <Name>nRST_STOP</Name>
  7512. <Description/>
  7513. <BitOffset>0x6</BitOffset>
  7514. <BitWidth>0x1</BitWidth>
  7515. <Access>RW</Access>
  7516. <Values>
  7517. <Val value="0x0">Reset generated when entering Stop mode</Val>
  7518. <Val value="0x1">No reset generated</Val>
  7519. </Values>
  7520. </Bit>
  7521. <Bit>
  7522. <Name>nRST_STDBY</Name>
  7523. <Description/>
  7524. <BitOffset>0x7</BitOffset>
  7525. <BitWidth>0x1</BitWidth>
  7526. <Access>RW</Access>
  7527. <Values>
  7528. <Val value="0x0">Reset generated when entering Standby mode</Val>
  7529. <Val value="0x1">No reset generated</Val>
  7530. </Values>
  7531. </Bit>
  7532. </AssignedBits>
  7533. </Field>
  7534. </Category>
  7535. <Category>
  7536. <Name>Write Protection</Name>
  7537. <Field>
  7538. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7539. <AssignedBits>
  7540. <Bit config="0">
  7541. <Name>WRP0</Name>
  7542. <Description/>
  7543. <BitOffset>0x10</BitOffset>
  7544. <BitWidth>0x8</BitWidth>
  7545. <Access>RW</Access>
  7546. <Values ByBit="true">
  7547. <Val value="0x0">Write protection active</Val>
  7548. <Val value="0x1">Write protection not active</Val>
  7549. </Values>
  7550. </Bit>
  7551. <Bit config="1">
  7552. <Name>WRP0</Name>
  7553. <Description/>
  7554. <BitOffset>0x10</BitOffset>
  7555. <BitWidth>0x8</BitWidth>
  7556. <Access>RW</Access>
  7557. <Values ByBit="true">
  7558. <Val value="0x0">PCROP protection not active on sector i</Val>
  7559. <Val value="0x1">PCROP protection active on sector i</Val>
  7560. </Values>
  7561. </Bit>
  7562. </AssignedBits>
  7563. </Field>
  7564. </Category>
  7565. </Bank>
  7566. <Bank interface="Bootloader">
  7567. <Parameters name="Bank 1" size="0x10" address="0x1FFFC000"/>
  7568. <Category>
  7569. <Name>Read Out Protection</Name>
  7570. <Field>
  7571. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  7572. <AssignedBits>
  7573. <Bit>
  7574. <Name>RDP</Name>
  7575. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  7576. <BitOffset>0x8</BitOffset>
  7577. <BitWidth>0x8</BitWidth>
  7578. <Access>RW</Access>
  7579. <Values>
  7580. <Val value="0xAA">Level 0, no protection</Val>
  7581. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  7582. <Val value="0xCC">Level 2, chip protection</Val>
  7583. </Values>
  7584. </Bit>
  7585. </AssignedBits>
  7586. </Field>
  7587. </Category>
  7588. <Category>
  7589. <Name>PCROP Protection</Name>
  7590. <Field>
  7591. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFFC008"/>
  7592. <AssignedBits>
  7593. <Bit reference="SPRMode">
  7594. <Name>SPRMOD</Name>
  7595. <Description>Selection of protection mode for nWPRi bits.</Description>
  7596. <BitOffset>0xF</BitOffset>
  7597. <BitWidth>0x1</BitWidth>
  7598. <Access>RW</Access>
  7599. <Values>
  7600. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  7601. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  7602. </Values>
  7603. </Bit>
  7604. </AssignedBits>
  7605. </Field>
  7606. </Category>
  7607. <Category>
  7608. <Name>BOR Level</Name>
  7609. <Field>
  7610. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  7611. <AssignedBits>
  7612. <Bit>
  7613. <Name>BOR_LEV</Name>
  7614. <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>
  7615. <BitOffset>0x2</BitOffset>
  7616. <BitWidth>0x2</BitWidth>
  7617. <Access>RW</Access>
  7618. <Values>
  7619. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  7620. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  7621. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  7622. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  7623. </Values>
  7624. </Bit>
  7625. </AssignedBits>
  7626. </Field>
  7627. </Category>
  7628. <Category>
  7629. <Name>User Configuration</Name>
  7630. <Field>
  7631. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  7632. <AssignedBits>
  7633. <Bit>
  7634. <Name>WDG_SW</Name>
  7635. <Description/>
  7636. <BitOffset>0x5</BitOffset>
  7637. <BitWidth>0x1</BitWidth>
  7638. <Access>RW</Access>
  7639. <Values>
  7640. <Val value="0x0">Hardware watchdog</Val>
  7641. <Val value="0x1">Software watchdog</Val>
  7642. </Values>
  7643. </Bit>
  7644. <Bit>
  7645. <Name>nRST_STOP</Name>
  7646. <Description/>
  7647. <BitOffset>0x6</BitOffset>
  7648. <BitWidth>0x1</BitWidth>
  7649. <Access>RW</Access>
  7650. <Values>
  7651. <Val value="0x0">Reset generated when entering Stop mode</Val>
  7652. <Val value="0x1">No reset generated</Val>
  7653. </Values>
  7654. </Bit>
  7655. <Bit>
  7656. <Name>nRST_STDBY</Name>
  7657. <Description/>
  7658. <BitOffset>0x7</BitOffset>
  7659. <BitWidth>0x1</BitWidth>
  7660. <Access>RW</Access>
  7661. <Values>
  7662. <Val value="0x0">Reset generated when entering Standby mode</Val>
  7663. <Val value="0x1">No reset generated</Val>
  7664. </Values>
  7665. </Bit>
  7666. </AssignedBits>
  7667. </Field>
  7668. </Category>
  7669. <Category>
  7670. <Name>Write Protection</Name>
  7671. <Field>
  7672. <Parameters name="WRP1" size="0x4" address="0x1FFFC008"/>
  7673. <AssignedBits>
  7674. <Bit config="0">
  7675. <Name>WRP0</Name>
  7676. <Description/>
  7677. <BitOffset>0x0</BitOffset>
  7678. <BitWidth>0x8</BitWidth>
  7679. <Access>RW</Access>
  7680. <Values ByBit="true">
  7681. <Val value="0x0">Write protection active</Val>
  7682. <Val value="0x1">Write protection not active</Val>
  7683. </Values>
  7684. </Bit>
  7685. <Bit config="1">
  7686. <Name>WRP0</Name>
  7687. <Description/>
  7688. <BitOffset>0x0</BitOffset>
  7689. <BitWidth>0x8</BitWidth>
  7690. <Access>RW</Access>
  7691. <Values ByBit="true">
  7692. <Val value="0x0">PCROP protection not active on sector i</Val>
  7693. <Val value="0x1">PCROP protection active on sector i</Val>
  7694. </Values>
  7695. </Bit>
  7696. </AssignedBits>
  7697. </Field>
  7698. </Category>
  7699. </Bank>
  7700. </Peripheral>
  7701. </Peripherals>
  7702. </Device>
  7703. <!-- Device: 0x421 -->
  7704. <Device>
  7705. <DeviceID>0x421</DeviceID>
  7706. <Vendor>STMicroelectronics</Vendor>
  7707. <Type>MCU</Type>
  7708. <CPU>Cortex-M4</CPU>
  7709. <Name>STM32F446xx</Name>
  7710. <Series>STM32F4</Series>
  7711. <Description>ARM 32-bit Cortex-M4 based device</Description>
  7712. <Configurations>
  7713. <!-- JTAG_SWD Interface -->
  7714. <Interface name="JTAG_SWD">
  7715. <Configuration number="0x0">
  7716. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  7717. </Configuration>
  7718. <Configuration number="0x1">
  7719. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  7720. </Configuration>
  7721. </Interface>
  7722. <!-- Bootloader Interface -->
  7723. <Interface name="Bootloader">
  7724. <Configuration number="0x0">
  7725. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  7726. </Configuration>
  7727. <Configuration number="0x1">
  7728. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  7729. </Configuration>
  7730. </Interface>
  7731. </Configurations>
  7732. <!-- Peripherals -->
  7733. <Peripherals>
  7734. <!-- Embedded SRAM -->
  7735. <Peripheral>
  7736. <Name>Embedded SRAM</Name>
  7737. <Type>Storage</Type>
  7738. <Description/>
  7739. <ErasedValue>0x00</ErasedValue>
  7740. <Access>RWE</Access>
  7741. <!-- 128 KB 0x20000-->
  7742. <Configuration>
  7743. <Parameters name="SRAM" size="0x20000" address="0x20000000"/>
  7744. <Description/>
  7745. <Organization>Single</Organization>
  7746. <Bank name="Bank 1">
  7747. <Field>
  7748. <Parameters name="SRAM" size="0x20000" address="0x20000000" occurence="0x1"/>
  7749. </Field>
  7750. </Bank>
  7751. </Configuration>
  7752. </Peripheral>
  7753. <!-- Embedded Flash -->
  7754. <Peripheral>
  7755. <Name>Embedded Flash</Name>
  7756. <Type>Storage</Type>
  7757. <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>
  7758. <ErasedValue>0xFF</ErasedValue>
  7759. <Access>RWE</Access>
  7760. <FlashSize address="0x1FFF7A22" default="0x80000"/>
  7761. <!-- 512KB Single Bank -->
  7762. <Configuration>
  7763. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  7764. <Description/>
  7765. <Organization>Single</Organization>
  7766. <Allignement>0x4</Allignement>
  7767. <Bank name="Bank 1">
  7768. <Field>
  7769. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  7770. </Field>
  7771. <Field>
  7772. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  7773. </Field>
  7774. <Field>
  7775. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x3"/>
  7776. </Field>
  7777. </Bank>
  7778. </Configuration>
  7779. </Peripheral>
  7780. <!-- OTP -->
  7781. <Peripheral>
  7782. <Name>OTP</Name>
  7783. <Type>Storage</Type>
  7784. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  7785. <ErasedValue>0xFF</ErasedValue>
  7786. <Access>RW</Access>
  7787. <!-- 512 Bytes single bank -->
  7788. <Configuration>
  7789. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  7790. <Description/>
  7791. <Organization>Single</Organization>
  7792. <Allignement>0x4</Allignement>
  7793. <Bank name="OTP">
  7794. <Field>
  7795. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  7796. </Field>
  7797. </Bank>
  7798. </Configuration>
  7799. </Peripheral>
  7800. <!-- Mirror Option Bytes -->
  7801. <Peripheral>
  7802. <Name>MirrorOptionBytes</Name>
  7803. <Type>Storage</Type>
  7804. <Description>Mirror Option Bytes contains the extra area.</Description>
  7805. <ErasedValue>0xFF</ErasedValue>
  7806. <Access>RW</Access>
  7807. <!-- 16 Bytes single bank -->
  7808. <Configuration>
  7809. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFC000"/>
  7810. <Description/>
  7811. <Organization>Single</Organization>
  7812. <Allignement>0x4</Allignement>
  7813. <Bank name="MirrorOptionBytes">
  7814. <Field>
  7815. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFC000" occurence="0x1"/>
  7816. </Field>
  7817. </Bank>
  7818. </Configuration>
  7819. </Peripheral>
  7820. <!-- Option Bytes -->
  7821. <Peripheral>
  7822. <Name>Option Bytes</Name>
  7823. <Type>Configuration</Type>
  7824. <Description/>
  7825. <Access>RW</Access>
  7826. <Bank interface="JTAG_SWD">
  7827. <Parameters name="Bank 1" size="0x4" address="0x40023C14"/>
  7828. <Category>
  7829. <Name>Read Out Protection</Name>
  7830. <Field>
  7831. <Parameters name="RDP" size="0x4" address="0x40023C14"/>
  7832. <AssignedBits>
  7833. <Bit>
  7834. <Name>RDP</Name>
  7835. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  7836. <BitOffset>0x8</BitOffset>
  7837. <BitWidth>0x8</BitWidth>
  7838. <Access>RW</Access>
  7839. <Values>
  7840. <Val value="0xAA">Level 0, no protection</Val>
  7841. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  7842. <Val value="0xCC">Level 2, chip protection</Val>
  7843. </Values>
  7844. </Bit>
  7845. </AssignedBits>
  7846. </Field>
  7847. </Category>
  7848. <Category>
  7849. <Name>PCROP Protection</Name>
  7850. <Field>
  7851. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7852. <AssignedBits>
  7853. <Bit reference="SPRMode">
  7854. <Name>SPRMOD</Name>
  7855. <Description>Selection of protection mode for nWPRi bits.</Description>
  7856. <BitOffset>0x1F</BitOffset>
  7857. <BitWidth>0x1</BitWidth>
  7858. <Access>RW</Access>
  7859. <Values>
  7860. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  7861. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  7862. </Values>
  7863. </Bit>
  7864. </AssignedBits>
  7865. </Field>
  7866. </Category>
  7867. <Category>
  7868. <Name>BOR Level</Name>
  7869. <Field>
  7870. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7871. <AssignedBits>
  7872. <Bit>
  7873. <Name>BOR_LEV</Name>
  7874. <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>
  7875. <BitOffset>0x2</BitOffset>
  7876. <BitWidth>0x2</BitWidth>
  7877. <Access>RW</Access>
  7878. <Values>
  7879. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  7880. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  7881. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  7882. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  7883. </Values>
  7884. </Bit>
  7885. </AssignedBits>
  7886. </Field>
  7887. </Category>
  7888. <Category>
  7889. <Name>User Configuration</Name>
  7890. <Field>
  7891. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7892. <AssignedBits>
  7893. <Bit>
  7894. <Name>WDG_SW</Name>
  7895. <Description/>
  7896. <BitOffset>0x5</BitOffset>
  7897. <BitWidth>0x1</BitWidth>
  7898. <Access>RW</Access>
  7899. <Values>
  7900. <Val value="0x0">Hardware watchdog</Val>
  7901. <Val value="0x1">Software watchdog</Val>
  7902. </Values>
  7903. </Bit>
  7904. <Bit>
  7905. <Name>nRST_STOP</Name>
  7906. <Description/>
  7907. <BitOffset>0x6</BitOffset>
  7908. <BitWidth>0x1</BitWidth>
  7909. <Access>RW</Access>
  7910. <Values>
  7911. <Val value="0x0">Reset generated when entering Stop mode</Val>
  7912. <Val value="0x1">No reset generated</Val>
  7913. </Values>
  7914. </Bit>
  7915. <Bit>
  7916. <Name>nRST_STDBY</Name>
  7917. <Description/>
  7918. <BitOffset>0x7</BitOffset>
  7919. <BitWidth>0x1</BitWidth>
  7920. <Access>RW</Access>
  7921. <Values>
  7922. <Val value="0x0">Reset generated when entering Standby mode</Val>
  7923. <Val value="0x1">No reset generated</Val>
  7924. </Values>
  7925. </Bit>
  7926. </AssignedBits>
  7927. </Field>
  7928. </Category>
  7929. <Category>
  7930. <Name>Write Protection</Name>
  7931. <Field>
  7932. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  7933. <AssignedBits>
  7934. <Bit config="0">
  7935. <Name>WRP0</Name>
  7936. <Description/>
  7937. <BitOffset>0x10</BitOffset>
  7938. <BitWidth>0x8</BitWidth>
  7939. <Access>RW</Access>
  7940. <Values ByBit="true">
  7941. <Val value="0x0">Write protection active</Val>
  7942. <Val value="0x1">Write protection not active</Val>
  7943. </Values>
  7944. </Bit>
  7945. <Bit config="1">
  7946. <Name>WRP0</Name>
  7947. <Description/>
  7948. <BitOffset>0x10</BitOffset>
  7949. <BitWidth>0x8</BitWidth>
  7950. <Access>RW</Access>
  7951. <Values ByBit="true">
  7952. <Val value="0x0">PCROP protection not active on sector i</Val>
  7953. <Val value="0x1">PCROP protection active on sector i</Val>
  7954. </Values>
  7955. </Bit>
  7956. </AssignedBits>
  7957. </Field>
  7958. </Category>
  7959. </Bank>
  7960. <Bank interface="Bootloader">
  7961. <Parameters name="Bank 1" size="0x10" address="0x1FFFC000"/>
  7962. <Category>
  7963. <Name>Read Out Protection</Name>
  7964. <Field>
  7965. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  7966. <AssignedBits>
  7967. <Bit>
  7968. <Name>RDP</Name>
  7969. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  7970. <BitOffset>0x8</BitOffset>
  7971. <BitWidth>0x8</BitWidth>
  7972. <Access>RW</Access>
  7973. <Values>
  7974. <Val value="0xAA">Level 0, no protection</Val>
  7975. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  7976. <Val value="0xCC">Level 2, chip protection</Val>
  7977. </Values>
  7978. </Bit>
  7979. </AssignedBits>
  7980. </Field>
  7981. </Category>
  7982. <Category>
  7983. <Name>PCROP Protection</Name>
  7984. <Field>
  7985. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFFC008"/>
  7986. <AssignedBits>
  7987. <Bit reference="SPRMode">
  7988. <Name>SPRMOD</Name>
  7989. <Description>Selection of protection mode for nWPRi bits.</Description>
  7990. <BitOffset>0xF</BitOffset>
  7991. <BitWidth>0x1</BitWidth>
  7992. <Access>RW</Access>
  7993. <Values>
  7994. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  7995. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  7996. </Values>
  7997. </Bit>
  7998. </AssignedBits>
  7999. </Field>
  8000. </Category>
  8001. <Category>
  8002. <Name>BOR Level</Name>
  8003. <Field>
  8004. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  8005. <AssignedBits>
  8006. <Bit>
  8007. <Name>BOR_LEV</Name>
  8008. <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>
  8009. <BitOffset>0x2</BitOffset>
  8010. <BitWidth>0x2</BitWidth>
  8011. <Access>RW</Access>
  8012. <Values>
  8013. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  8014. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  8015. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  8016. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  8017. </Values>
  8018. </Bit>
  8019. </AssignedBits>
  8020. </Field>
  8021. </Category>
  8022. <Category>
  8023. <Name>User Configuration</Name>
  8024. <Field>
  8025. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  8026. <AssignedBits>
  8027. <Bit>
  8028. <Name>WDG_SW</Name>
  8029. <Description/>
  8030. <BitOffset>0x5</BitOffset>
  8031. <BitWidth>0x1</BitWidth>
  8032. <Access>RW</Access>
  8033. <Values>
  8034. <Val value="0x0">Hardware watchdog</Val>
  8035. <Val value="0x1">Software watchdog</Val>
  8036. </Values>
  8037. </Bit>
  8038. <Bit>
  8039. <Name>nRST_STOP</Name>
  8040. <Description/>
  8041. <BitOffset>0x6</BitOffset>
  8042. <BitWidth>0x1</BitWidth>
  8043. <Access>RW</Access>
  8044. <Values>
  8045. <Val value="0x0">Reset generated when entering Stop mode</Val>
  8046. <Val value="0x1">No reset generated</Val>
  8047. </Values>
  8048. </Bit>
  8049. <Bit>
  8050. <Name>nRST_STDBY</Name>
  8051. <Description/>
  8052. <BitOffset>0x7</BitOffset>
  8053. <BitWidth>0x1</BitWidth>
  8054. <Access>RW</Access>
  8055. <Values>
  8056. <Val value="0x0">Reset generated when entering Standby mode</Val>
  8057. <Val value="0x1">No reset generated</Val>
  8058. </Values>
  8059. </Bit>
  8060. </AssignedBits>
  8061. </Field>
  8062. </Category>
  8063. <Category>
  8064. <Name>Write Protection</Name>
  8065. <Field>
  8066. <Parameters name="WRP1" size="0x4" address="0x1FFFC008"/>
  8067. <AssignedBits>
  8068. <Bit config="0">
  8069. <Name>WRP0</Name>
  8070. <Description/>
  8071. <BitOffset>0x0</BitOffset>
  8072. <BitWidth>0x8</BitWidth>
  8073. <Access>RW</Access>
  8074. <Values ByBit="true">
  8075. <Val value="0x0">Write protection active</Val>
  8076. <Val value="0x1">Write protection not active</Val>
  8077. </Values>
  8078. </Bit>
  8079. <Bit config="1">
  8080. <Name>WRP0</Name>
  8081. <Description/>
  8082. <BitOffset>0x0</BitOffset>
  8083. <BitWidth>0x8</BitWidth>
  8084. <Access>RW</Access>
  8085. <Values ByBit="true">
  8086. <Val value="0x0">PCROP protection not active on sector i</Val>
  8087. <Val value="0x1">PCROP protection active on sector i</Val>
  8088. </Values>
  8089. </Bit>
  8090. </AssignedBits>
  8091. </Field>
  8092. </Category>
  8093. </Bank>
  8094. </Peripheral>
  8095. </Peripherals>
  8096. </Device>
  8097. <!-- Device: 0x441 -->
  8098. <Device>
  8099. <DeviceID>0x441</DeviceID>
  8100. <Vendor>STMicroelectronics</Vendor>
  8101. <Type>MCU</Type>
  8102. <CPU>Cortex-M4</CPU>
  8103. <Name>STM32F412</Name>
  8104. <Series>STM32F4</Series>
  8105. <Description>ARM 32-bit Cortex-M4 based device</Description>
  8106. <Configurations>
  8107. <!-- JTAG_SWD Interface -->
  8108. <Interface name="JTAG_SWD">
  8109. <Configuration number="0x0">
  8110. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  8111. </Configuration>
  8112. <Configuration number="0x1">
  8113. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  8114. </Configuration>
  8115. </Interface>
  8116. <!-- Bootloader Interface -->
  8117. <Interface name="Bootloader">
  8118. <Configuration number="0x0">
  8119. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  8120. </Configuration>
  8121. <Configuration number="0x1">
  8122. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  8123. </Configuration>
  8124. </Interface>
  8125. </Configurations>
  8126. <!-- Peripherals -->
  8127. <Peripherals>
  8128. <!-- Embedded SRAM -->
  8129. <Peripheral>
  8130. <Name>Embedded SRAM</Name>
  8131. <Type>Storage</Type>
  8132. <Description/>
  8133. <ErasedValue>0x00</ErasedValue>
  8134. <Access>RWE</Access>
  8135. <!-- 256 KB 0x40000-->
  8136. <Configuration>
  8137. <Parameters name="SRAM" size="0x40000" address="0x20000000"/>
  8138. <Description/>
  8139. <Organization>Single</Organization>
  8140. <Bank name="Bank 1">
  8141. <Field>
  8142. <Parameters name="SRAM" size="0x40000" address="0x20000000" occurence="0x1"/>
  8143. </Field>
  8144. </Bank>
  8145. </Configuration>
  8146. </Peripheral>
  8147. <!-- Embedded Flash -->
  8148. <Peripheral>
  8149. <Name>Embedded Flash</Name>
  8150. <Type>Storage</Type>
  8151. <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>
  8152. <ErasedValue>0xFF</ErasedValue>
  8153. <Access>RWE</Access>
  8154. <FlashSize address=" 0x1FFF7A22" default="0x100000"/>
  8155. <!-- 512KB Single Bank -->
  8156. <Configuration>
  8157. <Parameters name=" 1 Mbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  8158. <Description/>
  8159. <Organization>Single</Organization>
  8160. <Allignement>0x4</Allignement>
  8161. <Bank name="Bank 1">
  8162. <Field>
  8163. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  8164. </Field>
  8165. <Field>
  8166. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  8167. </Field>
  8168. <Field>
  8169. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x7"/>
  8170. </Field>
  8171. </Bank>
  8172. </Configuration>
  8173. </Peripheral>
  8174. <!-- OTP -->
  8175. <Peripheral>
  8176. <Name>OTP</Name>
  8177. <Type>Storage</Type>
  8178. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  8179. <ErasedValue>0xFF</ErasedValue>
  8180. <Access>RW</Access>
  8181. <!-- 512 Bytes single bank -->
  8182. <Configuration>
  8183. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  8184. <Description/>
  8185. <Organization>Single</Organization>
  8186. <Allignement>0x4</Allignement>
  8187. <Bank name="OTP">
  8188. <Field>
  8189. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  8190. </Field>
  8191. </Bank>
  8192. </Configuration>
  8193. </Peripheral>
  8194. <!-- Mirror Option Bytes -->
  8195. <Peripheral>
  8196. <Name>MirrorOptionBytes</Name>
  8197. <Type>Storage</Type>
  8198. <Description>Mirror Option Bytes contains the extra area.</Description>
  8199. <ErasedValue>0xFF</ErasedValue>
  8200. <Access>RW</Access>
  8201. <!-- 16 Bytes single bank -->
  8202. <Configuration>
  8203. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFC000"/>
  8204. <Description/>
  8205. <Organization>Single</Organization>
  8206. <Allignement>0x4</Allignement>
  8207. <Bank name="MirrorOptionBytes">
  8208. <Field>
  8209. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFC000" occurence="0x1"/>
  8210. </Field>
  8211. </Bank>
  8212. </Configuration>
  8213. </Peripheral>
  8214. <!-- Option Bytes -->
  8215. <Peripheral>
  8216. <Name>Option Bytes</Name>
  8217. <Type>Configuration</Type>
  8218. <Description/>
  8219. <Access>RW</Access>
  8220. <Bank interface="JTAG_SWD">
  8221. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  8222. <Category>
  8223. <Name>Read Out Protection</Name>
  8224. <Field>
  8225. <Parameters name="RDP" size="0x4" address="0x40023C14"/>
  8226. <AssignedBits>
  8227. <Bit>
  8228. <Name>RDP</Name>
  8229. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  8230. <BitOffset>0x8</BitOffset>
  8231. <BitWidth>0x8</BitWidth>
  8232. <Access>RW</Access>
  8233. <Values>
  8234. <Val value="0xAA">Level 0, no protection</Val>
  8235. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  8236. <Val value="0xCC">Level 2, chip protection</Val>
  8237. </Values>
  8238. </Bit>
  8239. </AssignedBits>
  8240. </Field>
  8241. </Category>
  8242. <Category>
  8243. <Name>PCROP Protection</Name>
  8244. <Field>
  8245. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  8246. <AssignedBits>
  8247. <Bit reference="SPRMode">
  8248. <Name>SPRMOD</Name>
  8249. <Description>Selection of protection mode for nWPRi bits.</Description>
  8250. <BitOffset>0x1F</BitOffset>
  8251. <BitWidth>0x1</BitWidth>
  8252. <Access>RW</Access>
  8253. <Values>
  8254. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  8255. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  8256. </Values>
  8257. </Bit>
  8258. </AssignedBits>
  8259. </Field>
  8260. </Category>
  8261. <Category>
  8262. <Name>BOR Level</Name>
  8263. <Field>
  8264. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  8265. <AssignedBits>
  8266. <Bit>
  8267. <Name>BOR_LEV</Name>
  8268. <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>
  8269. <BitOffset>0x2</BitOffset>
  8270. <BitWidth>0x2</BitWidth>
  8271. <Access>RW</Access>
  8272. <Values>
  8273. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  8274. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  8275. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  8276. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  8277. </Values>
  8278. </Bit>
  8279. </AssignedBits>
  8280. </Field>
  8281. </Category>
  8282. <Category>
  8283. <Name>User Configuration</Name>
  8284. <Field>
  8285. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  8286. <AssignedBits>
  8287. <Bit>
  8288. <Name>WDG_SW</Name>
  8289. <Description/>
  8290. <BitOffset>0x5</BitOffset>
  8291. <BitWidth>0x1</BitWidth>
  8292. <Access>RW</Access>
  8293. <Values>
  8294. <Val value="0x0">Hardware watchdog</Val>
  8295. <Val value="0x1">Software watchdog</Val>
  8296. </Values>
  8297. </Bit>
  8298. <Bit>
  8299. <Name>nRST_STOP</Name>
  8300. <Description/>
  8301. <BitOffset>0x6</BitOffset>
  8302. <BitWidth>0x1</BitWidth>
  8303. <Access>RW</Access>
  8304. <Values>
  8305. <Val value="0x0">Reset generated when entering Stop mode</Val>
  8306. <Val value="0x1">No reset generated</Val>
  8307. </Values>
  8308. </Bit>
  8309. <Bit>
  8310. <Name>nRST_STDBY</Name>
  8311. <Description/>
  8312. <BitOffset>0x7</BitOffset>
  8313. <BitWidth>0x1</BitWidth>
  8314. <Access>RW</Access>
  8315. <Values>
  8316. <Val value="0x0">Reset generated when entering Standby mode</Val>
  8317. <Val value="0x1">No reset generated</Val>
  8318. </Values>
  8319. </Bit>
  8320. </AssignedBits>
  8321. </Field>
  8322. </Category>
  8323. <Category>
  8324. <Name>Write Protection</Name>
  8325. <Field>
  8326. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  8327. <AssignedBits>
  8328. <Bit config="0">
  8329. <Name>WRP0</Name>
  8330. <Description/>
  8331. <BitOffset>0x10</BitOffset>
  8332. <BitWidth>0xC</BitWidth>
  8333. <Access>RW</Access>
  8334. <Values ByBit="true">
  8335. <Val value="0x0">Write protection active</Val>
  8336. <Val value="0x1">Write protection not active</Val>
  8337. </Values>
  8338. </Bit>
  8339. <Bit config="1">
  8340. <Name>WRP0</Name>
  8341. <Description/>
  8342. <BitOffset>0x10</BitOffset>
  8343. <BitWidth>0xC</BitWidth>
  8344. <Access>RW</Access>
  8345. <Values ByBit="true">
  8346. <Val value="0x0">PCROP protection not active on sector i</Val>
  8347. <Val value="0x1">PCROP protection active on sector i</Val>
  8348. </Values>
  8349. </Bit>
  8350. </AssignedBits>
  8351. </Field>
  8352. </Category>
  8353. </Bank>
  8354. <Bank interface="Bootloader">
  8355. <Parameters name="Bank 1" size="0x10" address="0x1FFFC000"/>
  8356. <Category>
  8357. <Name>Read Out Protection</Name>
  8358. <Field>
  8359. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  8360. <AssignedBits>
  8361. <Bit>
  8362. <Name>RDP</Name>
  8363. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  8364. <BitOffset>0x8</BitOffset>
  8365. <BitWidth>0x8</BitWidth>
  8366. <Access>RW</Access>
  8367. <Values>
  8368. <Val value="0xAA">Level 0, no protection</Val>
  8369. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  8370. <Val value="0xCC">Level 2, chip protection</Val>
  8371. </Values>
  8372. </Bit>
  8373. </AssignedBits>
  8374. </Field>
  8375. </Category>
  8376. <Category>
  8377. <Name>PCROP Protection</Name>
  8378. <Field>
  8379. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFFC008"/>
  8380. <AssignedBits>
  8381. <Bit reference="SPRMode">
  8382. <Name>SPRMOD</Name>
  8383. <Description>Selection of protection mode for nWPRi bits.</Description>
  8384. <BitOffset>0xF</BitOffset>
  8385. <BitWidth>0x1</BitWidth>
  8386. <Access>RW</Access>
  8387. <Values>
  8388. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  8389. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  8390. </Values>
  8391. </Bit>
  8392. </AssignedBits>
  8393. </Field>
  8394. </Category>
  8395. <Category>
  8396. <Name>BOR Level</Name>
  8397. <Field>
  8398. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  8399. <AssignedBits>
  8400. <Bit>
  8401. <Name>BOR_LEV</Name>
  8402. <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>
  8403. <BitOffset>0x2</BitOffset>
  8404. <BitWidth>0x2</BitWidth>
  8405. <Access>RW</Access>
  8406. <Values>
  8407. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  8408. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  8409. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  8410. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  8411. </Values>
  8412. </Bit>
  8413. </AssignedBits>
  8414. </Field>
  8415. </Category>
  8416. <Category>
  8417. <Name>User Configuration</Name>
  8418. <Field>
  8419. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  8420. <AssignedBits>
  8421. <Bit>
  8422. <Name>WDG_SW</Name>
  8423. <Description/>
  8424. <BitOffset>0x5</BitOffset>
  8425. <BitWidth>0x1</BitWidth>
  8426. <Access>RW</Access>
  8427. <Values>
  8428. <Val value="0x0">Hardware watchdog</Val>
  8429. <Val value="0x1">Software watchdog</Val>
  8430. </Values>
  8431. </Bit>
  8432. <Bit>
  8433. <Name>nRST_STOP</Name>
  8434. <Description/>
  8435. <BitOffset>0x6</BitOffset>
  8436. <BitWidth>0x1</BitWidth>
  8437. <Access>RW</Access>
  8438. <Values>
  8439. <Val value="0x0">Reset generated when entering Stop mode</Val>
  8440. <Val value="0x1">No reset generated</Val>
  8441. </Values>
  8442. </Bit>
  8443. <Bit>
  8444. <Name>nRST_STDBY</Name>
  8445. <Description/>
  8446. <BitOffset>0x7</BitOffset>
  8447. <BitWidth>0x1</BitWidth>
  8448. <Access>RW</Access>
  8449. <Values>
  8450. <Val value="0x0">Reset generated when entering Standby mode</Val>
  8451. <Val value="0x1">No reset generated</Val>
  8452. </Values>
  8453. </Bit>
  8454. </AssignedBits>
  8455. </Field>
  8456. </Category>
  8457. <Category>
  8458. <Name>Write Protection</Name>
  8459. <Field>
  8460. <Parameters name="WRP1" size="0x4" address="0x1FFFC008"/>
  8461. <AssignedBits>
  8462. <Bit config="0">
  8463. <Name>WRP0</Name>
  8464. <Description/>
  8465. <BitOffset>0x0</BitOffset>
  8466. <BitWidth>0xC</BitWidth>
  8467. <Access>RW</Access>
  8468. <Values ByBit="true">
  8469. <Val value="0x0">Write protection active</Val>
  8470. <Val value="0x1">Write protection not active</Val>
  8471. </Values>
  8472. </Bit>
  8473. <Bit config="1">
  8474. <Name>WRP0</Name>
  8475. <Description/>
  8476. <BitOffset>0x0</BitOffset>
  8477. <BitWidth>0xC</BitWidth>
  8478. <Access>RW</Access>
  8479. <Values ByBit="true">
  8480. <Val value="0x0">PCROP protection not active on sector i</Val>
  8481. <Val value="0x1">PCROP protection active on sector i</Val>
  8482. </Values>
  8483. </Bit>
  8484. </AssignedBits>
  8485. </Field>
  8486. </Category>
  8487. </Bank>
  8488. </Peripheral>
  8489. </Peripherals>
  8490. </Device>
  8491. <!-- Device: 0x458 -->
  8492. <Device>
  8493. <DeviceID>0x458</DeviceID>
  8494. <Vendor>STMicroelectronics</Vendor>
  8495. <Type>MCU</Type>
  8496. <CPU>Cortex-M4</CPU>
  8497. <Name>STM32F410</Name>
  8498. <Series>STM32F4</Series>
  8499. <Description>ARM 32-bit Cortex-M4 based device</Description>
  8500. <Configurations>
  8501. <!-- JTAG_SWD Interface -->
  8502. <Interface name="JTAG_SWD">
  8503. <Configuration number="0x0">
  8504. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  8505. </Configuration>
  8506. <Configuration number="0x1">
  8507. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  8508. </Configuration>
  8509. </Interface>
  8510. <!-- Bootloader Interface -->
  8511. <Interface name="Bootloader">
  8512. <Configuration number="0x0">
  8513. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  8514. </Configuration>
  8515. <Configuration number="0x1">
  8516. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  8517. </Configuration>
  8518. </Interface>
  8519. </Configurations>
  8520. <!-- Peripherals -->
  8521. <Peripherals>
  8522. <!-- Embedded SRAM -->
  8523. <Peripheral>
  8524. <Name>Embedded SRAM</Name>
  8525. <Type>Storage</Type>
  8526. <Description/>
  8527. <ErasedValue>0x00</ErasedValue>
  8528. <Access>RWE</Access>
  8529. <!-- 32 KB 0x8000-->
  8530. <Configuration>
  8531. <Parameters name="SRAM" size="0x8000" address="0x20000000"/>
  8532. <Description/>
  8533. <Organization>Single</Organization>
  8534. <Bank name="Bank 1">
  8535. <Field>
  8536. <Parameters name="SRAM" size="0x8000" address="0x20000000" occurence="0x1"/>
  8537. </Field>
  8538. </Bank>
  8539. </Configuration>
  8540. </Peripheral>
  8541. <!-- Embedded Flash -->
  8542. <Peripheral>
  8543. <Name>Embedded Flash</Name>
  8544. <Type>Storage</Type>
  8545. <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>
  8546. <ErasedValue>0xFF</ErasedValue>
  8547. <Access>RWE</Access>
  8548. <FlashSize address="0x1FFF7A22" default="0x20000"/>
  8549. <!-- 128K Single Bank -->
  8550. <Configuration>
  8551. <Parameters name=" 128 Kbytes Embedded Flash" size="0x20000" address="0x08000000"/>
  8552. <Description/>
  8553. <Organization>Single</Organization>
  8554. <Allignement>0x4</Allignement>
  8555. <Bank name="Bank 1">
  8556. <Field>
  8557. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  8558. </Field>
  8559. <Field>
  8560. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  8561. </Field>
  8562. </Bank>
  8563. </Configuration>
  8564. </Peripheral>
  8565. <!-- OTP -->
  8566. <Peripheral>
  8567. <Name>OTP</Name>
  8568. <Type>Storage</Type>
  8569. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  8570. <ErasedValue>0xFF</ErasedValue>
  8571. <Access>RW</Access>
  8572. <!-- 512 Bytes single bank -->
  8573. <Configuration>
  8574. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  8575. <Description/>
  8576. <Organization>Single</Organization>
  8577. <Allignement>0x4</Allignement>
  8578. <Bank name="OTP">
  8579. <Field>
  8580. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  8581. </Field>
  8582. </Bank>
  8583. </Configuration>
  8584. </Peripheral>
  8585. <!-- Mirror Option Bytes -->
  8586. <Peripheral>
  8587. <Name>MirrorOptionBytes</Name>
  8588. <Type>Storage</Type>
  8589. <Description>Mirror Option Bytes contains the extra area.</Description>
  8590. <ErasedValue>0xFF</ErasedValue>
  8591. <Access>RW</Access>
  8592. <!-- 16 Bytes single bank -->
  8593. <Configuration>
  8594. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFC000"/>
  8595. <Description/>
  8596. <Organization>Single</Organization>
  8597. <Allignement>0x4</Allignement>
  8598. <Bank name="MirrorOptionBytes">
  8599. <Field>
  8600. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFC000" occurence="0x1"/>
  8601. </Field>
  8602. </Bank>
  8603. </Configuration>
  8604. </Peripheral>
  8605. <!-- Option Bytes -->
  8606. <Peripheral>
  8607. <Name>Option Bytes</Name>
  8608. <Type>Configuration</Type>
  8609. <Description/>
  8610. <Access>RW</Access>
  8611. <Bank interface="JTAG_SWD">
  8612. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  8613. <Category>
  8614. <Name>Read Out Protection</Name>
  8615. <Field>
  8616. <Parameters name="RDP" size="0x4" address="0x40023C14"/>
  8617. <AssignedBits>
  8618. <Bit>
  8619. <Name>RDP</Name>
  8620. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  8621. <BitOffset>0x8</BitOffset>
  8622. <BitWidth>0x8</BitWidth>
  8623. <Access>RW</Access>
  8624. <Values>
  8625. <Val value="0xAA">Level 0, no protection</Val>
  8626. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  8627. <Val value="0xCC">Level 2, chip protection</Val>
  8628. </Values>
  8629. </Bit>
  8630. </AssignedBits>
  8631. </Field>
  8632. </Category>
  8633. <Category>
  8634. <Name>PCROP Protection</Name>
  8635. <Field>
  8636. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  8637. <AssignedBits>
  8638. <Bit reference="SPRMode">
  8639. <Name>SPRMOD</Name>
  8640. <Description>Selection of protection mode for nWPRi bits.</Description>
  8641. <BitOffset>0x1F</BitOffset>
  8642. <BitWidth>0x1</BitWidth>
  8643. <Access>RW</Access>
  8644. <Values>
  8645. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  8646. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  8647. </Values>
  8648. </Bit>
  8649. </AssignedBits>
  8650. </Field>
  8651. </Category>
  8652. <Category>
  8653. <Name>BOR Level</Name>
  8654. <Field>
  8655. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  8656. <AssignedBits>
  8657. <Bit>
  8658. <Name>BOR_LEV</Name>
  8659. <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>
  8660. <BitOffset>0x2</BitOffset>
  8661. <BitWidth>0x2</BitWidth>
  8662. <Access>RW</Access>
  8663. <Values>
  8664. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  8665. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  8666. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  8667. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  8668. </Values>
  8669. </Bit>
  8670. </AssignedBits>
  8671. </Field>
  8672. </Category>
  8673. <Category>
  8674. <Name>User Configuration</Name>
  8675. <Field>
  8676. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  8677. <AssignedBits>
  8678. <Bit>
  8679. <Name>WDG_SW</Name>
  8680. <Description/>
  8681. <BitOffset>0x5</BitOffset>
  8682. <BitWidth>0x1</BitWidth>
  8683. <Access>RW</Access>
  8684. <Values>
  8685. <Val value="0x0">Hardware watchdog</Val>
  8686. <Val value="0x1">Software watchdog</Val>
  8687. </Values>
  8688. </Bit>
  8689. <Bit>
  8690. <Name>nRST_STOP</Name>
  8691. <Description/>
  8692. <BitOffset>0x6</BitOffset>
  8693. <BitWidth>0x1</BitWidth>
  8694. <Access>RW</Access>
  8695. <Values>
  8696. <Val value="0x0">Reset generated when entering Stop mode</Val>
  8697. <Val value="0x1">No reset generated</Val>
  8698. </Values>
  8699. </Bit>
  8700. <Bit>
  8701. <Name>nRST_STDBY</Name>
  8702. <Description/>
  8703. <BitOffset>0x7</BitOffset>
  8704. <BitWidth>0x1</BitWidth>
  8705. <Access>RW</Access>
  8706. <Values>
  8707. <Val value="0x0">Reset generated when entering Standby mode</Val>
  8708. <Val value="0x1">No reset generated</Val>
  8709. </Values>
  8710. </Bit>
  8711. </AssignedBits>
  8712. </Field>
  8713. </Category>
  8714. <Category>
  8715. <Name>Write Protection</Name>
  8716. <Field>
  8717. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  8718. <AssignedBits>
  8719. <Bit config="0">
  8720. <Name>WRP0</Name>
  8721. <Description/>
  8722. <BitOffset>0x10</BitOffset>
  8723. <BitWidth>0x5</BitWidth>
  8724. <Access>RW</Access>
  8725. <Values ByBit="true">
  8726. <Val value="0x0">Write protection active</Val>
  8727. <Val value="0x1">Write protection not active</Val>
  8728. </Values>
  8729. </Bit>
  8730. <Bit config="1">
  8731. <Name>WRP0</Name>
  8732. <Description/>
  8733. <BitOffset>0x10</BitOffset>
  8734. <BitWidth>0x5</BitWidth>
  8735. <Access>RW</Access>
  8736. <Values ByBit="true">
  8737. <Val value="0x0">PCROP protection not active on sector i</Val>
  8738. <Val value="0x1">PCROP protection active on sector i</Val>
  8739. </Values>
  8740. </Bit>
  8741. </AssignedBits>
  8742. </Field>
  8743. </Category>
  8744. </Bank>
  8745. <Bank interface="Bootloader">
  8746. <Parameters name="Bank 1" size="0x10" address="0x1FFFC000"/>
  8747. <Category>
  8748. <Name>Read Out Protection</Name>
  8749. <Field>
  8750. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  8751. <AssignedBits>
  8752. <Bit>
  8753. <Name>RDP</Name>
  8754. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  8755. <BitOffset>0x8</BitOffset>
  8756. <BitWidth>0x8</BitWidth>
  8757. <Access>RW</Access>
  8758. <Values>
  8759. <Val value="0xAA">Level 0, no protection</Val>
  8760. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  8761. <Val value="0xCC">Level 2, chip protection</Val>
  8762. </Values>
  8763. </Bit>
  8764. </AssignedBits>
  8765. </Field>
  8766. </Category>
  8767. <Category>
  8768. <Name>PCROP Protection</Name>
  8769. <Field>
  8770. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFFC008"/>
  8771. <AssignedBits>
  8772. <Bit reference="SPRMode">
  8773. <Name>SPRMOD</Name>
  8774. <Description>Selection of protection mode for nWPRi bits.</Description>
  8775. <BitOffset>0xF</BitOffset>
  8776. <BitWidth>0x1</BitWidth>
  8777. <Access>RW</Access>
  8778. <Values>
  8779. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  8780. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  8781. </Values>
  8782. </Bit>
  8783. </AssignedBits>
  8784. </Field>
  8785. </Category>
  8786. <Category>
  8787. <Name>BOR Level</Name>
  8788. <Field>
  8789. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  8790. <AssignedBits>
  8791. <Bit>
  8792. <Name>BOR_LEV</Name>
  8793. <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>
  8794. <BitOffset>0x2</BitOffset>
  8795. <BitWidth>0x2</BitWidth>
  8796. <Access>RW</Access>
  8797. <Values>
  8798. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  8799. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  8800. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  8801. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  8802. </Values>
  8803. </Bit>
  8804. </AssignedBits>
  8805. </Field>
  8806. </Category>
  8807. <Category>
  8808. <Name>User Configuration</Name>
  8809. <Field>
  8810. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  8811. <AssignedBits>
  8812. <Bit>
  8813. <Name>WDG_SW</Name>
  8814. <Description/>
  8815. <BitOffset>0x5</BitOffset>
  8816. <BitWidth>0x1</BitWidth>
  8817. <Access>RW</Access>
  8818. <Values>
  8819. <Val value="0x0">Hardware watchdog</Val>
  8820. <Val value="0x1">Software watchdog</Val>
  8821. </Values>
  8822. </Bit>
  8823. <Bit>
  8824. <Name>nRST_STOP</Name>
  8825. <Description/>
  8826. <BitOffset>0x6</BitOffset>
  8827. <BitWidth>0x1</BitWidth>
  8828. <Access>RW</Access>
  8829. <Values>
  8830. <Val value="0x0">Reset generated when entering Stop mode</Val>
  8831. <Val value="0x1">No reset generated</Val>
  8832. </Values>
  8833. </Bit>
  8834. <Bit>
  8835. <Name>nRST_STDBY</Name>
  8836. <Description/>
  8837. <BitOffset>0x7</BitOffset>
  8838. <BitWidth>0x1</BitWidth>
  8839. <Access>RW</Access>
  8840. <Values>
  8841. <Val value="0x0">Reset generated when entering Standby mode</Val>
  8842. <Val value="0x1">No reset generated</Val>
  8843. </Values>
  8844. </Bit>
  8845. </AssignedBits>
  8846. </Field>
  8847. </Category>
  8848. <Category>
  8849. <Name>Write Protection</Name>
  8850. <Field>
  8851. <Parameters name="WRP1" size="0x4" address="0x1FFFC008"/>
  8852. <AssignedBits>
  8853. <Bit config="0">
  8854. <Name>WRP0</Name>
  8855. <Description/>
  8856. <BitOffset>0x0</BitOffset>
  8857. <BitWidth>0x5</BitWidth>
  8858. <Access>RW</Access>
  8859. <Values ByBit="true">
  8860. <Val value="0x0">Write protection active</Val>
  8861. <Val value="0x1">Write protection not active</Val>
  8862. </Values>
  8863. </Bit>
  8864. <Bit config="1">
  8865. <Name>WRP0</Name>
  8866. <Description/>
  8867. <BitOffset>0x0</BitOffset>
  8868. <BitWidth>0x5</BitWidth>
  8869. <Access>RW</Access>
  8870. <Values ByBit="true">
  8871. <Val value="0x0">PCROP protection not active on sector i</Val>
  8872. <Val value="0x1">PCROP protection active on sector i</Val>
  8873. </Values>
  8874. </Bit>
  8875. </AssignedBits>
  8876. </Field>
  8877. </Category>
  8878. </Bank>
  8879. </Peripheral>
  8880. </Peripherals>
  8881. </Device>
  8882. <!-- Device: 0x463 -->
  8883. <Device>
  8884. <DeviceID>0x463</DeviceID>
  8885. <Vendor>STMicroelectronics</Vendor>
  8886. <Type>MCU</Type>
  8887. <CPU>Cortex-M4</CPU>
  8888. <Name>STM32F413/F423</Name>
  8889. <Series>STM32F4</Series>
  8890. <Description>ARM 32-bit Cortex-M4 based device</Description>
  8891. <Configurations>
  8892. <!-- JTAG_SWD Interface -->
  8893. <Interface name="JTAG_SWD">
  8894. <Configuration number="0x0">
  8895. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  8896. </Configuration>
  8897. <Configuration number="0x1">
  8898. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x80000000"/> </SPRMode>
  8899. </Configuration>
  8900. </Interface>
  8901. <!-- Bootloader Interface -->
  8902. <Interface name="Bootloader">
  8903. <Configuration number="0x0">
  8904. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  8905. </Configuration>
  8906. <Configuration number="0x1">
  8907. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  8908. </Configuration>
  8909. </Interface>
  8910. </Configurations>
  8911. <!-- Peripherals -->
  8912. <Peripherals>
  8913. <!-- Embedded SRAM -->
  8914. <Peripheral>
  8915. <Name>Embedded SRAM</Name>
  8916. <Type>Storage</Type>
  8917. <Description/>
  8918. <ErasedValue>0x00</ErasedValue>
  8919. <Access>RWE</Access>
  8920. <!-- 320 KB 0x50000-->
  8921. <Configuration>
  8922. <Parameters name="SRAM" size="0x50000" address="0x20000000"/>
  8923. <Description/>
  8924. <Organization>Single</Organization>
  8925. <Bank name="Bank 1">
  8926. <Field>
  8927. <Parameters name="SRAM" size="0x50000" address="0x20000000" occurence="0x1"/>
  8928. </Field>
  8929. </Bank>
  8930. </Configuration>
  8931. </Peripheral>
  8932. <!-- Embedded Flash -->
  8933. <Peripheral>
  8934. <Name>Embedded Flash</Name>
  8935. <Type>Storage</Type>
  8936. <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>
  8937. <ErasedValue>0xFF</ErasedValue>
  8938. <Access>RWE</Access>
  8939. <FlashSize address="0x1FFF7A22" default="0x180000"/>
  8940. <!-- 512KB Single Bank -->
  8941. <Configuration>
  8942. <Parameters name=" 1.5 Mbytes Embedded Flash" size="0x180000" address="0x08000000"/>
  8943. <Description/>
  8944. <Organization>Single</Organization>
  8945. <Allignement>0x4</Allignement>
  8946. <Bank name="Bank 1">
  8947. <Field>
  8948. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  8949. </Field>
  8950. <Field>
  8951. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  8952. </Field>
  8953. <Field>
  8954. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0xB"/>
  8955. </Field>
  8956. </Bank>
  8957. </Configuration>
  8958. </Peripheral>
  8959. <!-- OTP -->
  8960. <Peripheral>
  8961. <Name>OTP</Name>
  8962. <Type>Storage</Type>
  8963. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  8964. <ErasedValue>0xFF</ErasedValue>
  8965. <Access>RW</Access>
  8966. <!-- 512 Bytes single bank -->
  8967. <Configuration>
  8968. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  8969. <Description/>
  8970. <Organization>Single</Organization>
  8971. <Allignement>0x4</Allignement>
  8972. <Bank name="OTP">
  8973. <Field>
  8974. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  8975. </Field>
  8976. </Bank>
  8977. </Configuration>
  8978. </Peripheral>
  8979. <!-- Mirror Option Bytes -->
  8980. <Peripheral>
  8981. <Name>MirrorOptionBytes</Name>
  8982. <Type>Storage</Type>
  8983. <Description>Mirror Option Bytes contains the extra area.</Description>
  8984. <ErasedValue>0xFF</ErasedValue>
  8985. <Access>RW</Access>
  8986. <!-- 16 Bytes single bank -->
  8987. <Configuration>
  8988. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFC000"/>
  8989. <Description/>
  8990. <Organization>Single</Organization>
  8991. <Allignement>0x4</Allignement>
  8992. <Bank name="MirrorOptionBytes">
  8993. <Field>
  8994. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFC000" occurence="0x1"/>
  8995. </Field>
  8996. </Bank>
  8997. </Configuration>
  8998. </Peripheral>
  8999. <!-- Option Bytes -->
  9000. <Peripheral>
  9001. <Name>Option Bytes</Name>
  9002. <Type>Configuration</Type>
  9003. <Description/>
  9004. <Access>RW</Access>
  9005. <Bank interface="JTAG_SWD">
  9006. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  9007. <Category>
  9008. <Name>Read Out Protection</Name>
  9009. <Field>
  9010. <Parameters name="RDP" size="0x4" address="0x40023C14"/>
  9011. <AssignedBits>
  9012. <Bit>
  9013. <Name>RDP</Name>
  9014. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  9015. <BitOffset>0x8</BitOffset>
  9016. <BitWidth>0x8</BitWidth>
  9017. <Access>RW</Access>
  9018. <Values>
  9019. <Val value="0xAA">Level 0, no protection</Val>
  9020. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  9021. <Val value="0xCC">Level 2, chip protection</Val>
  9022. </Values>
  9023. </Bit>
  9024. </AssignedBits>
  9025. </Field>
  9026. </Category>
  9027. <Category>
  9028. <Name>PCROP Protection</Name>
  9029. <Field>
  9030. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  9031. <AssignedBits>
  9032. <Bit reference="SPRMode">
  9033. <Name>SPRMOD</Name>
  9034. <Description>Selection of protection mode for nWPRi bits.</Description>
  9035. <BitOffset>0x1F</BitOffset>
  9036. <BitWidth>0x1</BitWidth>
  9037. <Access>RW</Access>
  9038. <Values>
  9039. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  9040. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  9041. </Values>
  9042. </Bit>
  9043. </AssignedBits>
  9044. </Field>
  9045. </Category>
  9046. <Category>
  9047. <Name>BOR Level</Name>
  9048. <Field>
  9049. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  9050. <AssignedBits>
  9051. <Bit>
  9052. <Name>BOR_LEV</Name>
  9053. <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>
  9054. <BitOffset>0x2</BitOffset>
  9055. <BitWidth>0x2</BitWidth>
  9056. <Access>RW</Access>
  9057. <Values>
  9058. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  9059. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  9060. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  9061. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  9062. </Values>
  9063. </Bit>
  9064. </AssignedBits>
  9065. </Field>
  9066. </Category>
  9067. <Category>
  9068. <Name>User Configuration</Name>
  9069. <Field>
  9070. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  9071. <AssignedBits>
  9072. <Bit>
  9073. <Name>WDG_SW</Name>
  9074. <Description/>
  9075. <BitOffset>0x5</BitOffset>
  9076. <BitWidth>0x1</BitWidth>
  9077. <Access>RW</Access>
  9078. <Values>
  9079. <Val value="0x0">Hardware watchdog</Val>
  9080. <Val value="0x1">Software watchdog</Val>
  9081. </Values>
  9082. </Bit>
  9083. <Bit>
  9084. <Name>nRST_STOP</Name>
  9085. <Description/>
  9086. <BitOffset>0x6</BitOffset>
  9087. <BitWidth>0x1</BitWidth>
  9088. <Access>RW</Access>
  9089. <Values>
  9090. <Val value="0x0">Reset generated when entering Stop mode</Val>
  9091. <Val value="0x1">No reset generated</Val>
  9092. </Values>
  9093. </Bit>
  9094. <Bit>
  9095. <Name>nRST_STDBY</Name>
  9096. <Description/>
  9097. <BitOffset>0x7</BitOffset>
  9098. <BitWidth>0x1</BitWidth>
  9099. <Access>RW</Access>
  9100. <Values>
  9101. <Val value="0x0">Reset generated when entering Standby mode</Val>
  9102. <Val value="0x1">No reset generated</Val>
  9103. </Values>
  9104. </Bit>
  9105. </AssignedBits>
  9106. </Field>
  9107. </Category>
  9108. <Category>
  9109. <Name>Write Protection</Name>
  9110. <Field>
  9111. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  9112. <AssignedBits>
  9113. <Bit config="0">
  9114. <Name>WRP0</Name>
  9115. <Description/>
  9116. <BitOffset>0x10</BitOffset>
  9117. <BitWidth>0xF</BitWidth>
  9118. <Access>RW</Access>
  9119. <Values ByBit="true">
  9120. <Val value="0x0">Write protection active</Val>
  9121. <Val value="0x1">Write protection not active</Val>
  9122. </Values>
  9123. </Bit>
  9124. <Bit config="1">
  9125. <Name>WRP0</Name>
  9126. <Description/>
  9127. <BitOffset>0x10</BitOffset>
  9128. <BitWidth>0xF</BitWidth>
  9129. <Access>RW</Access>
  9130. <Values ByBit="true">
  9131. <Val value="0x0">PCROP protection not active on sector i</Val>
  9132. <Val value="0x1">PCROP protection active on sector i</Val>
  9133. </Values>
  9134. </Bit>
  9135. </AssignedBits>
  9136. </Field>
  9137. </Category>
  9138. </Bank>
  9139. <Bank interface="Bootloader">
  9140. <Parameters name="Bank 1" size="0x10" address="0x1FFFC000"/>
  9141. <Category>
  9142. <Name>Read Out Protection</Name>
  9143. <Field>
  9144. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  9145. <AssignedBits>
  9146. <Bit>
  9147. <Name>RDP</Name>
  9148. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  9149. <BitOffset>0x8</BitOffset>
  9150. <BitWidth>0x8</BitWidth>
  9151. <Access>RW</Access>
  9152. <Values>
  9153. <Val value="0xAA">Level 0, no protection</Val>
  9154. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  9155. <Val value="0xCC">Level 2, chip protection</Val>
  9156. </Values>
  9157. </Bit>
  9158. </AssignedBits>
  9159. </Field>
  9160. </Category>
  9161. <Category>
  9162. <Name>PCROP Protection</Name>
  9163. <Field>
  9164. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFFC008"/>
  9165. <AssignedBits>
  9166. <Bit reference="SPRMode">
  9167. <Name>SPRMOD</Name>
  9168. <Description>Selection of protection mode for nWPRi bits.</Description>
  9169. <BitOffset>0xF</BitOffset>
  9170. <BitWidth>0x1</BitWidth>
  9171. <Access>RW</Access>
  9172. <Values>
  9173. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  9174. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  9175. </Values>
  9176. </Bit>
  9177. </AssignedBits>
  9178. </Field>
  9179. </Category>
  9180. <Category>
  9181. <Name>BOR Level</Name>
  9182. <Field>
  9183. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  9184. <AssignedBits>
  9185. <Bit>
  9186. <Name>BOR_LEV</Name>
  9187. <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>
  9188. <BitOffset>0x2</BitOffset>
  9189. <BitWidth>0x2</BitWidth>
  9190. <Access>RW</Access>
  9191. <Values>
  9192. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  9193. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  9194. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  9195. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  9196. </Values>
  9197. </Bit>
  9198. </AssignedBits>
  9199. </Field>
  9200. </Category>
  9201. <Category>
  9202. <Name>User Configuration</Name>
  9203. <Field>
  9204. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  9205. <AssignedBits>
  9206. <Bit>
  9207. <Name>WDG_SW</Name>
  9208. <Description/>
  9209. <BitOffset>0x5</BitOffset>
  9210. <BitWidth>0x1</BitWidth>
  9211. <Access>RW</Access>
  9212. <Values>
  9213. <Val value="0x0">Hardware watchdog</Val>
  9214. <Val value="0x1">Software watchdog</Val>
  9215. </Values>
  9216. </Bit>
  9217. <Bit>
  9218. <Name>nRST_STOP</Name>
  9219. <Description/>
  9220. <BitOffset>0x6</BitOffset>
  9221. <BitWidth>0x1</BitWidth>
  9222. <Access>RW</Access>
  9223. <Values>
  9224. <Val value="0x0">Reset generated when entering Stop mode</Val>
  9225. <Val value="0x1">No reset generated</Val>
  9226. </Values>
  9227. </Bit>
  9228. <Bit>
  9229. <Name>nRST_STDBY</Name>
  9230. <Description/>
  9231. <BitOffset>0x7</BitOffset>
  9232. <BitWidth>0x1</BitWidth>
  9233. <Access>RW</Access>
  9234. <Values>
  9235. <Val value="0x0">Reset generated when entering Standby mode</Val>
  9236. <Val value="0x1">No reset generated</Val>
  9237. </Values>
  9238. </Bit>
  9239. </AssignedBits>
  9240. </Field>
  9241. </Category>
  9242. <Category>
  9243. <Name>Write Protection</Name>
  9244. <Field>
  9245. <Parameters name="WRP1" size="0x4" address="0x1FFFC008"/>
  9246. <AssignedBits>
  9247. <Bit config="0">
  9248. <Name>WRP0</Name>
  9249. <Description/>
  9250. <BitOffset>0x0</BitOffset>
  9251. <BitWidth>0xF</BitWidth>
  9252. <Access>RW</Access>
  9253. <Values ByBit="true">
  9254. <Val value="0x0">Write protection active</Val>
  9255. <Val value="0x1">Write protection not active</Val>
  9256. </Values>
  9257. </Bit>
  9258. <Bit config="1">
  9259. <Name>WRP0</Name>
  9260. <Description/>
  9261. <BitOffset>0x0</BitOffset>
  9262. <BitWidth>0xF</BitWidth>
  9263. <Access>RW</Access>
  9264. <Values ByBit="true">
  9265. <Val value="0x0">PCROP protection not active on sector i</Val>
  9266. <Val value="0x1">PCROP protection active on sector i</Val>
  9267. </Values>
  9268. </Bit>
  9269. </AssignedBits>
  9270. </Field>
  9271. </Category>
  9272. </Bank>
  9273. </Peripheral>
  9274. </Peripherals>
  9275. </Device>
  9276. <!-- Device: 0x434 -->
  9277. <Device>
  9278. <DeviceID>0x434</DeviceID>
  9279. <Vendor>STMicroelectronics</Vendor>
  9280. <Type>MCU</Type>
  9281. <CPU>Cortex-M4</CPU>
  9282. <Name>STM32F469xx/F467xx</Name>
  9283. <Series>STM32F4</Series>
  9284. <Description>ARM 32-bit Cortex-M4 based device</Description>
  9285. <Configurations>
  9286. <!-- JTAG_SWD Interface -->
  9287. <Interface name="JTAG_SWD">
  9288. <Configuration number="0x0">
  9289. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  9290. <flashSize> <!-- 2M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x800"/> </flashSize>
  9291. </Configuration>
  9292. <Configuration number="0x1">
  9293. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  9294. <flashSize> <!-- 2M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x800"/> </flashSize>
  9295. </Configuration>
  9296. <Configuration number="0x2">
  9297. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  9298. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x400"/> </flashSize>
  9299. <DB1M reference="0x0"> <ReadRegister address="0x40023C14" mask="0x40000000" value="0x0"/> </DB1M>
  9300. </Configuration>
  9301. <Configuration number="0x3">
  9302. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  9303. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x400"/> </flashSize>
  9304. <DB1M reference="0x0"> <ReadRegister address="0x40023C14" mask="0x40000000" value="0x0"/> </DB1M>
  9305. </Configuration>
  9306. <Configuration number="0x4">
  9307. <SPRMode reference="0x0"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  9308. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x400"/> </flashSize>
  9309. <DB1M reference="0x1"> <ReadRegister address="0x40023C14" mask="0x40000000" value="0x40000000"/> </DB1M>
  9310. </Configuration>
  9311. <Configuration number="0x5">
  9312. <SPRMode reference="0x1"> <ReadRegister address="0x40023C14" mask="0x80000000" value="0x0"/> </SPRMode>
  9313. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF7A22" mask="0xFFFF" value="0x400"/> </flashSize>
  9314. <DB1M reference="0x1"> <ReadRegister address="0x40023C14" mask="0x40000000" value="0x40000000"/> </DB1M>
  9315. </Configuration>
  9316. <Configuration number="0x6">
  9317. <dummy> <ReadRegister address="0x20000000" mask="0" value="0"/> </dummy>
  9318. </Configuration>
  9319. </Interface>
  9320. <!-- Bootloader Interface -->
  9321. <Interface name="Bootloader">
  9322. <Configuration number="0x0">
  9323. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  9324. </Configuration>
  9325. <Configuration number="0x1">
  9326. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  9327. </Configuration>
  9328. <Configuration number="0x2">
  9329. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  9330. <DB1M reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x4000" value="0x0"/> </DB1M>
  9331. </Configuration>
  9332. <Configuration number="0x3">
  9333. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  9334. <DB1M reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x4000" value="0x0"/> </DB1M>
  9335. </Configuration>
  9336. <Configuration number="0x4">
  9337. <SPRMode reference="0x0"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x0"/> </SPRMode>
  9338. <DB1M reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x4000" value="0x4000"/> </DB1M>
  9339. </Configuration>
  9340. <Configuration number="0x5">
  9341. <SPRMode reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x8000" value="0x8000"/> </SPRMode>
  9342. <DB1M reference="0x1"> <ReadRegister address="0x1FFFC008" mask="0x4000" value="0x4000"/> </DB1M>
  9343. </Configuration>
  9344. <Configuration number="0x6">
  9345. <dummy> <ReadRegister address="0x20000000" mask="0" value="0"/> </dummy>
  9346. </Configuration>
  9347. </Interface>
  9348. </Configurations>
  9349. <!-- Peripherals -->
  9350. <Peripherals>
  9351. <!-- Embedded SRAM -->
  9352. <Peripheral>
  9353. <Name>Embedded SRAM</Name>
  9354. <Type>Storage</Type>
  9355. <Description/>
  9356. <ErasedValue>0x00</ErasedValue>
  9357. <Access>RWE</Access>
  9358. <!-- 320 KB 0x50000-->
  9359. <Configuration>
  9360. <Parameters name="SRAM" size="0x50000" address="0x20000000"/>
  9361. <Description/>
  9362. <Organization>Single</Organization>
  9363. <Bank name="Bank 1">
  9364. <Field>
  9365. <Parameters name="SRAM" size="0x50000" address="0x20000000" occurence="0x1"/>
  9366. </Field>
  9367. </Bank>
  9368. </Configuration>
  9369. </Peripheral>
  9370. <!-- Embedded Flash -->
  9371. <Peripheral>
  9372. <Name>Embedded Flash</Name>
  9373. <Type>Storage</Type>
  9374. <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>
  9375. <ErasedValue>0xFF</ErasedValue>
  9376. <Access>RWE</Access>
  9377. <FlashSize address="0x1FFF7A22" default="0x200000"/>
  9378. <!-- 1024KB Single Bank -->
  9379. <Configuration config="0,1,6">
  9380. <Parameters name=" 2048 Kbytes Embedded Flash" size="0x200000" address="0x08000000"/>
  9381. <Description/>
  9382. <Organization>Dual</Organization>
  9383. <Allignement>0x4</Allignement>
  9384. <Bank name="Bank 1">
  9385. <Field>
  9386. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  9387. </Field>
  9388. <Field>
  9389. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  9390. </Field>
  9391. <Field>
  9392. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x7"/>
  9393. </Field>
  9394. </Bank>
  9395. <Bank name="Bank 2">
  9396. <Field>
  9397. <Parameters name="sector12" size="0x4000" address="0x08100000" occurence="0x4"/>
  9398. </Field>
  9399. <Field>
  9400. <Parameters name="sector16" size="0x10000" address="0x08110000" occurence="0x1"/>
  9401. </Field>
  9402. <Field>
  9403. <Parameters name="sector17" size="0x20000" address="0x08120000" occurence="0x7"/>
  9404. </Field>
  9405. </Bank>
  9406. </Configuration>
  9407. <Configuration config="4,5">
  9408. <Parameters name=" 1024 Kbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  9409. <Description/>
  9410. <Organization>Dual</Organization>
  9411. <Allignement>0x4</Allignement>
  9412. <Bank name="Bank 1">
  9413. <Field>
  9414. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  9415. </Field>
  9416. <Field>
  9417. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  9418. </Field>
  9419. <Field>
  9420. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x3"/>
  9421. </Field>
  9422. </Bank>
  9423. <Bank name="Bank 2">
  9424. <Field>
  9425. <Parameters name="sector8" size="0x20000" address="0x08080000" occurence="0x4"/>
  9426. </Field>
  9427. </Bank>
  9428. </Configuration>
  9429. <Configuration config="2,3">
  9430. <Parameters name=" 1024 Kbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  9431. <Description/>
  9432. <Organization>Single</Organization>
  9433. <Allignement>0x4</Allignement>
  9434. <Bank name="Bank 1">
  9435. <Field>
  9436. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  9437. </Field>
  9438. <Field>
  9439. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  9440. </Field>
  9441. <Field>
  9442. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x7"/>
  9443. </Field>
  9444. </Bank>
  9445. </Configuration>
  9446. </Peripheral>
  9447. <!-- OTP -->
  9448. <Peripheral>
  9449. <Name>OTP</Name>
  9450. <Type>Storage</Type>
  9451. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  9452. <ErasedValue>0xFF</ErasedValue>
  9453. <Access>RW</Access>
  9454. <!-- 512 Bytes single bank -->
  9455. <Configuration>
  9456. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  9457. <Description/>
  9458. <Organization>Single</Organization>
  9459. <Allignement>0x4</Allignement>
  9460. <Bank name="OTP">
  9461. <Field>
  9462. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  9463. </Field>
  9464. </Bank>
  9465. </Configuration>
  9466. </Peripheral>
  9467. <!-- Mirror Option Bytes -->
  9468. <Peripheral>
  9469. <Name>MirrorOptionBytes</Name>
  9470. <Type>Storage</Type>
  9471. <Description>Mirror Option Bytes contains the extra area.</Description>
  9472. <ErasedValue>0xFF</ErasedValue>
  9473. <Access>RW</Access>
  9474. <!-- 20 Bytes Dual bank -->
  9475. <Configuration>
  9476. <Parameters name=" 20 Bytes Data MirrorOptionBytes" size="0x14" address="0x1FFEC008"/>
  9477. <Description/>
  9478. <Organization>Dual</Organization>
  9479. <Allignement>0x4</Allignement>
  9480. <Bank name="Bank 1">
  9481. <Field>
  9482. <Parameters name="Bank1" size="0x4" address="0x1FFEC008" occurence="0x1"/>
  9483. </Field>
  9484. </Bank>
  9485. <Bank name="Bank 2">
  9486. <Field>
  9487. <Parameters name="Bank2" size="0x10" address="0x1FFFC000" occurence="0x1"/>
  9488. </Field>
  9489. </Bank>
  9490. </Configuration>
  9491. </Peripheral>
  9492. <!-- Option Bytes -->
  9493. <Peripheral>
  9494. <Name>Option Bytes</Name>
  9495. <Type>Configuration</Type>
  9496. <Description/>
  9497. <Access>RW</Access>
  9498. <Bank interface="JTAG_SWD">
  9499. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  9500. <Category>
  9501. <Name>Read Out Protection</Name>
  9502. <Field>
  9503. <Parameters name="RDP" size="0x4" address="0x40023C14"/>
  9504. <AssignedBits>
  9505. <Bit>
  9506. <Name>RDP</Name>
  9507. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  9508. <BitOffset>0x8</BitOffset>
  9509. <BitWidth>0x8</BitWidth>
  9510. <Access>RW</Access>
  9511. <Values>
  9512. <Val value="0xAA">Level 0, no protection</Val>
  9513. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  9514. <Val value="0xCC">Level 2, chip protection</Val>
  9515. </Values>
  9516. </Bit>
  9517. </AssignedBits>
  9518. </Field>
  9519. </Category>
  9520. <Category>
  9521. <Name>PCROP Protection</Name>
  9522. <Field>
  9523. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  9524. <AssignedBits>
  9525. <Bit reference="SPRMode">
  9526. <Name>SPRMOD</Name>
  9527. <Description>Selection of protection mode for nWPRi bits.</Description>
  9528. <BitOffset>0x1F</BitOffset>
  9529. <BitWidth>0x1</BitWidth>
  9530. <Access>RW</Access>
  9531. <Values>
  9532. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  9533. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  9534. </Values>
  9535. </Bit>
  9536. </AssignedBits>
  9537. </Field>
  9538. </Category>
  9539. <Category>
  9540. <Name>BOR Level</Name>
  9541. <Field>
  9542. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  9543. <AssignedBits>
  9544. <Bit>
  9545. <Name>BOR_LEV</Name>
  9546. <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>
  9547. <BitOffset>0x2</BitOffset>
  9548. <BitWidth>0x2</BitWidth>
  9549. <Access>RW</Access>
  9550. <Values>
  9551. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  9552. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  9553. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  9554. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  9555. </Values>
  9556. </Bit>
  9557. </AssignedBits>
  9558. </Field>
  9559. </Category>
  9560. <Category>
  9561. <Name>User Configuration</Name>
  9562. <Field>
  9563. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  9564. <AssignedBits>
  9565. <Bit>
  9566. <Name>BFB2</Name>
  9567. <Description/>
  9568. <BitOffset>0x4</BitOffset>
  9569. <BitWidth>0x1</BitWidth>
  9570. <Access>RW</Access>
  9571. <Values>
  9572. <Val value="0x0">Dual-bank boot disabled. Boot can be performed either from Flash memory bank 1 or from system memory depending on boot pin state (default)</Val>
  9573. <Val value="0x1">Dual-bank boot enabled. Boot is always performed from system memory.</Val>
  9574. </Values>
  9575. </Bit>
  9576. <Bit>
  9577. <Name>WDG_SW</Name>
  9578. <Description/>
  9579. <BitOffset>0x5</BitOffset>
  9580. <BitWidth>0x1</BitWidth>
  9581. <Access>RW</Access>
  9582. <Values>
  9583. <Val value="0x0">Hardware watchdog</Val>
  9584. <Val value="0x1">Software watchdog</Val>
  9585. </Values>
  9586. </Bit>
  9587. <Bit>
  9588. <Name>nRST_STOP</Name>
  9589. <Description/>
  9590. <BitOffset>0x6</BitOffset>
  9591. <BitWidth>0x1</BitWidth>
  9592. <Access>RW</Access>
  9593. <Values>
  9594. <Val value="0x0">Reset generated when entering Stop mode</Val>
  9595. <Val value="0x1">No reset generated</Val>
  9596. </Values>
  9597. </Bit>
  9598. <Bit>
  9599. <Name>nRST_STDBY</Name>
  9600. <Description/>
  9601. <BitOffset>0x7</BitOffset>
  9602. <BitWidth>0x1</BitWidth>
  9603. <Access>RW</Access>
  9604. <Values>
  9605. <Val value="0x0">Reset generated when entering Standby mode</Val>
  9606. <Val value="0x1">No reset generated</Val>
  9607. </Values>
  9608. </Bit>
  9609. <Bit config="2,3,4,5">
  9610. <Name>DB1M</Name>
  9611. <Description>Dual-bank on 1 Mbyte Flash memory devices</Description>
  9612. <BitOffset>0x1E</BitOffset>
  9613. <BitWidth>0x1</BitWidth>
  9614. <Access>RW</Access>
  9615. <Values>
  9616. <Val value="0x0">1 Mbyte single bank Flash memory (contiguous addresses in bank1)</Val>
  9617. <Val value="0x1">1 Mbyte dual bank Flash memory. The Flash memory is organized as two banks of 512 Kbytes each</Val>
  9618. </Values>
  9619. </Bit>
  9620. </AssignedBits>
  9621. </Field>
  9622. </Category>
  9623. <Category>
  9624. <Name>Write Protection</Name>
  9625. <Field>
  9626. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  9627. <AssignedBits>
  9628. <Bit config="0,2,4">
  9629. <Name>nWRP0</Name>
  9630. <Description/>
  9631. <BitOffset>0x10</BitOffset>
  9632. <BitWidth>0xC</BitWidth>
  9633. <Access>RW</Access>
  9634. <Values ByBit="true">
  9635. <Val value="0x0">Write protection active</Val>
  9636. <Val value="0x1">Write protection not active</Val>
  9637. </Values>
  9638. </Bit>
  9639. <Bit config="1,3,5,6">
  9640. <Name>nWRP0</Name>
  9641. <Description/>
  9642. <BitOffset>0x10</BitOffset>
  9643. <BitWidth>0xC</BitWidth>
  9644. <Access>RW</Access>
  9645. <Values ByBit="true">
  9646. <Val value="0x0">PCROP protection not active on sector i</Val>
  9647. <Val value="0x1">PCROP protection active on sector i</Val>
  9648. </Values>
  9649. </Bit>
  9650. </AssignedBits>
  9651. </Field>
  9652. <Field>
  9653. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x40023C18"/>
  9654. <AssignedBits>
  9655. <Bit config="0,2,4">
  9656. <Name>nWRP12</Name>
  9657. <Description/>
  9658. <BitOffset>0x10</BitOffset>
  9659. <BitWidth>0xC</BitWidth>
  9660. <Access>RW</Access>
  9661. <Values ByBit="true">
  9662. <Val value="0x0">Write protection active</Val>
  9663. <Val value="0x1">Write protection not active</Val>
  9664. </Values>
  9665. </Bit>
  9666. <Bit config="1,3,5,6">
  9667. <Name>nWRP12</Name>
  9668. <Description/>
  9669. <BitOffset>0x10</BitOffset>
  9670. <BitWidth>0xC</BitWidth>
  9671. <Access>RW</Access>
  9672. <Values ByBit="true">
  9673. <Val value="0x0">PCROP protection not active on sector i</Val>
  9674. <Val value="0x1">PCROP protection active on sector i</Val>
  9675. </Values>
  9676. </Bit>
  9677. </AssignedBits>
  9678. </Field>
  9679. </Category>
  9680. </Bank>
  9681. <Bank interface="Bootloader">
  9682. <Parameters name="Bank 1" size="0x10" address="0x1FFFC000"/>
  9683. <Category>
  9684. <Name>Read Out Protection</Name>
  9685. <Field>
  9686. <Parameters name="RDP" size="0x4" address="0x1FFFC000"/>
  9687. <AssignedBits>
  9688. <Bit>
  9689. <Name>RDP</Name>
  9690. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  9691. <BitOffset>0x8</BitOffset>
  9692. <BitWidth>0x8</BitWidth>
  9693. <Access>RW</Access>
  9694. <Values>
  9695. <Val value="0xAA">Level 0, no protection</Val>
  9696. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  9697. <Val value="0xCC">Level 2, chip protection</Val>
  9698. </Values>
  9699. </Bit>
  9700. </AssignedBits>
  9701. </Field>
  9702. </Category>
  9703. <Category>
  9704. <Name>PCROP Protection</Name>
  9705. <Field>
  9706. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFFC008"/>
  9707. <AssignedBits>
  9708. <Bit reference="SPRMode">
  9709. <Name>SPRMOD</Name>
  9710. <Description>Selection of protection mode for nWPRi bits.</Description>
  9711. <BitOffset>0xF</BitOffset>
  9712. <BitWidth>0x1</BitWidth>
  9713. <Access>RW</Access>
  9714. <Values>
  9715. <Val value="0x0">PCROP disabled. nWPRi bits used for Write protection on sector i</Val>
  9716. <Val value="0x1">PCROP enabled. nWPRi bits used for PCROP protection on sector i</Val>
  9717. </Values>
  9718. </Bit>
  9719. </AssignedBits>
  9720. </Field>
  9721. </Category>
  9722. <Category>
  9723. <Name>BOR Level</Name>
  9724. <Field>
  9725. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  9726. <AssignedBits>
  9727. <Bit>
  9728. <Name>BOR_LEV</Name>
  9729. <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>
  9730. <BitOffset>0x2</BitOffset>
  9731. <BitWidth>0x2</BitWidth>
  9732. <Access>RW</Access>
  9733. <Values>
  9734. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  9735. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  9736. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  9737. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  9738. </Values>
  9739. </Bit>
  9740. </AssignedBits>
  9741. </Field>
  9742. </Category>
  9743. <Category>
  9744. <Name>User Configuration</Name>
  9745. <Field>
  9746. <Parameters name="USER" size="0x4" address="0x1FFFC000"/>
  9747. <AssignedBits>
  9748. <Bit>
  9749. <Name>BFB2</Name>
  9750. <Description/>
  9751. <BitOffset>0x4</BitOffset>
  9752. <BitWidth>0x1</BitWidth>
  9753. <Access>RW</Access>
  9754. <Values>
  9755. <Val value="0x0">Dual-bank boot disabled. Boot can be performed either from Flash memory bank 1 or from system memory depending on boot pin state (default)</Val>
  9756. <Val value="0x1">Dual-bank boot enabled. Boot is always performed from system memory.</Val>
  9757. </Values>
  9758. </Bit>
  9759. <Bit>
  9760. <Name>WDG_SW</Name>
  9761. <Description/>
  9762. <BitOffset>0x5</BitOffset>
  9763. <BitWidth>0x1</BitWidth>
  9764. <Access>RW</Access>
  9765. <Values>
  9766. <Val value="0x0">Hardware watchdog</Val>
  9767. <Val value="0x1">Software watchdog</Val>
  9768. </Values>
  9769. </Bit>
  9770. <Bit>
  9771. <Name>nRST_STOP</Name>
  9772. <Description/>
  9773. <BitOffset>0x6</BitOffset>
  9774. <BitWidth>0x1</BitWidth>
  9775. <Access>RW</Access>
  9776. <Values>
  9777. <Val value="0x0">Reset generated when entering Stop mode</Val>
  9778. <Val value="0x1">No reset generated</Val>
  9779. </Values>
  9780. </Bit>
  9781. <Bit>
  9782. <Name>nRST_STDBY</Name>
  9783. <Description/>
  9784. <BitOffset>0x7</BitOffset>
  9785. <BitWidth>0x1</BitWidth>
  9786. <Access>RW</Access>
  9787. <Values>
  9788. <Val value="0x0">Reset generated when entering Standby mode</Val>
  9789. <Val value="0x1">No reset generated</Val>
  9790. </Values>
  9791. </Bit>
  9792. <Bit config="2,3,4,5">
  9793. <Name>DB1M</Name>
  9794. <Description>Dual-bank on 1 Mbyte Flash memory devices</Description>
  9795. <BitOffset>0x1E</BitOffset>
  9796. <BitWidth>0x1</BitWidth>
  9797. <Access>RW</Access>
  9798. <Values>
  9799. <Val value="0x0">1 Mbyte single bank Flash memory (contiguous addresses in bank1)</Val>
  9800. <Val value="0x1">1 Mbyte dual bank Flash memory. The Flash memory is organized as two banks of 512 Kbytes each</Val>
  9801. </Values>
  9802. </Bit>
  9803. </AssignedBits>
  9804. </Field>
  9805. </Category>
  9806. <Category>
  9807. <Name>Write Protection</Name>
  9808. <Field>
  9809. <Parameters name="WRP0" size="0x4" address="0x1FFFC008"/>
  9810. <AssignedBits>
  9811. <Bit config="0,2,4">
  9812. <Name>nWRP0</Name>
  9813. <Description/>
  9814. <BitOffset>0x0</BitOffset>
  9815. <BitWidth>0xC</BitWidth>
  9816. <Access>RW</Access>
  9817. <Values ByBit="true">
  9818. <Val value="0x0">Write protection active</Val>
  9819. <Val value="0x1">Write protection not active</Val>
  9820. </Values>
  9821. </Bit>
  9822. <Bit config="1,3,5,6">
  9823. <Name>nWRP0</Name>
  9824. <Description/>
  9825. <BitOffset>0x0</BitOffset>
  9826. <BitWidth>0xC</BitWidth>
  9827. <Access>RW</Access>
  9828. <Values ByBit="true">
  9829. <Val value="0x0">PCROP protection not active on sector i</Val>
  9830. <Val value="0x1">PCROP protection active on sector i</Val>
  9831. </Values>
  9832. </Bit>
  9833. </AssignedBits>
  9834. </Field>
  9835. </Category>
  9836. </Bank>
  9837. <Bank interface="Bootloader">
  9838. <Parameters name="Bank 2" size="0x4" address="0x1FFEC008"/>
  9839. <Category>
  9840. <Name>Write Protection</Name>
  9841. <Field>
  9842. <Parameters name="WRP1" size="0x4" address="0x1FFEC008"/>
  9843. <AssignedBits>
  9844. <Bit config="0,2,4">
  9845. <Name>nWRP12</Name>
  9846. <Description/>
  9847. <BitOffset>0x0</BitOffset>
  9848. <BitWidth>0xC</BitWidth>
  9849. <Access>RW</Access>
  9850. <Values ByBit="true">
  9851. <Val value="0x0">Write protection active</Val>
  9852. <Val value="0x1">Write protection not active</Val>
  9853. </Values>
  9854. </Bit>
  9855. <Bit config="1,3,5,6">
  9856. <Name>nWRP12</Name>
  9857. <Description/>
  9858. <BitOffset>0x0</BitOffset>
  9859. <BitWidth>0xC</BitWidth>
  9860. <Access>RW</Access>
  9861. <Values ByBit="true">
  9862. <Val value="0x0">PCROP protection not active on sector i</Val>
  9863. <Val value="0x1">PCROP protection active on sector i</Val>
  9864. </Values>
  9865. </Bit>
  9866. </AssignedBits>
  9867. </Field>
  9868. </Category>
  9869. </Bank>
  9870. </Peripheral>
  9871. </Peripherals>
  9872. </Device>
  9873. <!-- Device: 0x411 -->
  9874. <Device>
  9875. <DeviceID>0x411</DeviceID>
  9876. <Vendor>STMicroelectronics</Vendor>
  9877. <Type>MCU</Type>
  9878. <CPU>Cortex-M3</CPU>
  9879. <Name>STM32F2xx</Name>
  9880. <Series>STM32F2</Series>
  9881. <Description>ARM 32-bit Cortex-M3 based device</Description>
  9882. <Configurations>
  9883. <!-- JTAG_SWD Interface -->
  9884. <Interface name="JTAG_SWD"/>
  9885. <!-- Bootloader Interface -->
  9886. <Interface name="Bootloader"/>
  9887. </Configurations>
  9888. <!-- Peripherals -->
  9889. <Peripherals>
  9890. <!-- Embedded SRAM -->
  9891. <Peripheral>
  9892. <Name>Embedded SRAM</Name>
  9893. <Type>Storage</Type>
  9894. <Description/>
  9895. <ErasedValue>0x00</ErasedValue>
  9896. <Access>RWE</Access>
  9897. <!-- 128 KB -->
  9898. <Configuration>
  9899. <Parameters name="SRAM" size="0x20000" address="0x20000000"/>
  9900. <Description/>
  9901. <Organization>Single</Organization>
  9902. <Bank name="Bank 1">
  9903. <Field>
  9904. <Parameters name="SRAM" size="0x20000" address="0x20000000" occurence="0x1"/>
  9905. </Field>
  9906. </Bank>
  9907. </Configuration>
  9908. </Peripheral>
  9909. <!-- Embedded Flash -->
  9910. <Peripheral>
  9911. <Name>Embedded Flash</Name>
  9912. <Type>Storage</Type>
  9913. <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>
  9914. <ErasedValue>0x00</ErasedValue>
  9915. <Access>RWE</Access>
  9916. <FlashSize address="0x1FFF7A22" default="0x100000"/>
  9917. <!-- 1024KB Single Bank -->
  9918. <Configuration>
  9919. <Parameters name=" 1024 Kbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  9920. <Description/>
  9921. <Organization>Single</Organization>
  9922. <Allignement>0x4</Allignement>
  9923. <Bank name="Bank 1">
  9924. <Field>
  9925. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  9926. </Field>
  9927. <Field>
  9928. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  9929. </Field>
  9930. <Field>
  9931. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x7"/>
  9932. </Field>
  9933. </Bank>
  9934. </Configuration>
  9935. </Peripheral>
  9936. <!-- OTP -->
  9937. <Peripheral>
  9938. <Name>OTP</Name>
  9939. <Type>Storage</Type>
  9940. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  9941. <ErasedValue>0xFF</ErasedValue>
  9942. <Access>RW</Access>
  9943. <!-- 512 Bytes single bank -->
  9944. <Configuration>
  9945. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FFF7800"/>
  9946. <Description/>
  9947. <Organization>Single</Organization>
  9948. <Allignement>0x4</Allignement>
  9949. <Bank name="OTP">
  9950. <Field>
  9951. <Parameters name="OTP" size="0x200" address="0x1FFF7800" occurence="0x1"/>
  9952. </Field>
  9953. </Bank>
  9954. </Configuration>
  9955. </Peripheral>
  9956. <!-- Option Bytes -->
  9957. <Peripheral>
  9958. <Name>Option Bytes</Name>
  9959. <Type>Configuration</Type>
  9960. <Description/>
  9961. <Access>RW</Access>
  9962. <Bank interface="JTAG_SWD">
  9963. <Parameters name="Bank 1" size="0xC" address="0x40023c14"/>
  9964. <Category>
  9965. <Name>Read Out Protection</Name>
  9966. <Field>
  9967. <Parameters name="RDP" size="0x1" address="0x40023c14"/>
  9968. <AssignedBits>
  9969. <Bit>
  9970. <Name>RDP</Name>
  9971. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  9972. <BitOffset>0x8</BitOffset>
  9973. <BitWidth>0x8</BitWidth>
  9974. <Access>RW</Access>
  9975. <Values>
  9976. <Val value="0xAA">Level 0, no protection</Val>
  9977. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  9978. <Val value="0xCC">Level 2, chip protection</Val>
  9979. </Values>
  9980. </Bit>
  9981. </AssignedBits>
  9982. </Field>
  9983. </Category>
  9984. <Category>
  9985. <Name>BOR Level</Name>
  9986. <Field>
  9987. <Parameters name="USER" size="0x1" address="0x40023c14"/>
  9988. <AssignedBits>
  9989. <Bit>
  9990. <Name>BOR_LEV</Name>
  9991. <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>
  9992. <BitOffset>0x2</BitOffset>
  9993. <BitWidth>0x2</BitWidth>
  9994. <Access>RW</Access>
  9995. <Values>
  9996. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  9997. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  9998. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  9999. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  10000. </Values>
  10001. </Bit>
  10002. </AssignedBits>
  10003. </Field>
  10004. </Category>
  10005. <Category>
  10006. <Name>User Configuration</Name>
  10007. <Field>
  10008. <Parameters name="USER" size="0x1" address="0x40023c14"/>
  10009. <AssignedBits>
  10010. <Bit>
  10011. <Name>WDG_SW</Name>
  10012. <Description/>
  10013. <BitOffset>0x5</BitOffset>
  10014. <BitWidth>0x1</BitWidth>
  10015. <Access>RW</Access>
  10016. <Values>
  10017. <Val value="0x0">Hardware watchdog</Val>
  10018. <Val value="0x1">Software watchdog</Val>
  10019. </Values>
  10020. </Bit>
  10021. <Bit>
  10022. <Name>nRST_STOP</Name>
  10023. <Description/>
  10024. <BitOffset>0x6</BitOffset>
  10025. <BitWidth>0x1</BitWidth>
  10026. <Access>RW</Access>
  10027. <Values>
  10028. <Val value="0x0">Reset generated when entering Stop mode</Val>
  10029. <Val value="0x1">No reset generated</Val>
  10030. </Values>
  10031. </Bit>
  10032. <Bit>
  10033. <Name>nRST_STDBY</Name>
  10034. <Description/>
  10035. <BitOffset>0x7</BitOffset>
  10036. <BitWidth>0x1</BitWidth>
  10037. <Access>RW</Access>
  10038. <Values>
  10039. <Val value="0x0">Reset generated when entering Standby mode</Val>
  10040. <Val value="0x1">No reset generated</Val>
  10041. </Values>
  10042. </Bit>
  10043. </AssignedBits>
  10044. </Field>
  10045. </Category>
  10046. <Category>
  10047. <Name>Write Protection</Name>
  10048. <Field>
  10049. <Parameters name="WRP1" size="0x2" address="0x40023c14"/>
  10050. <AssignedBits>
  10051. <Bit>
  10052. <Name>WRP0</Name>
  10053. <Description/>
  10054. <BitOffset>0x10</BitOffset>
  10055. <BitWidth>0xC</BitWidth>
  10056. <Access>RW</Access>
  10057. <Values ByBit="true">
  10058. <Val value="0x0">Write protection active</Val>
  10059. <Val value="0x1">Write protection not active</Val>
  10060. </Values>
  10061. </Bit>
  10062. </AssignedBits>
  10063. </Field>
  10064. </Category>
  10065. </Bank>
  10066. <!--<Bank interface="JTAG_SWD">
  10067. <Parameters name="Bank 1" size="0xC" address="0x1FFFC000"/>
  10068. <Category>
  10069. <Name>Read Out Protection</Name>
  10070. <Field>
  10071. <Parameters name="RDP" size="0x1" address="0x1FFFC000"/>
  10072. <AssignedBits>
  10073. <Bit>
  10074. <Name>RDP</Name>
  10075. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  10076. <BitOffset>0x8</BitOffset>
  10077. <BitWidth>0x8</BitWidth>
  10078. <Access>W</Access>
  10079. <Values>
  10080. <Val value="0xAA">Level 0, no protection</Val>
  10081. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  10082. <Val value="0xCC">Level 2, chip protection</Val>
  10083. </Values>
  10084. </Bit>
  10085. </AssignedBits>
  10086. </Field>
  10087. </Category>
  10088. <Category>
  10089. <Name>BOR Level</Name>
  10090. <Field>
  10091. <Parameters name="USER" size="0x1" address="0x1FFFC000"/>
  10092. <AssignedBits>
  10093. <Bit>
  10094. <Name>BOR_LEV</Name>
  10095. <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>
  10096. <BitOffset>0x2</BitOffset>
  10097. <BitWidth>0x2</BitWidth>
  10098. <Access>W</Access>
  10099. <Values>
  10100. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  10101. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  10102. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  10103. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  10104. </Values>
  10105. </Bit>
  10106. </AssignedBits>
  10107. </Field>
  10108. </Category>
  10109. <Category>
  10110. <Name>User Configuration</Name>
  10111. <Field>
  10112. <Parameters name="USER" size="0x1" address="0x1FFFC000"/>
  10113. <AssignedBits>
  10114. <Bit>
  10115. <Name>WDG_SW</Name>
  10116. <Description/>
  10117. <BitOffset>0x5</BitOffset>
  10118. <BitWidth>0x1</BitWidth>
  10119. <Access>W</Access>
  10120. <Values>
  10121. <Val value="0x0">Hardware watchdog</Val>
  10122. <Val value="0x1">Software watchdog</Val>
  10123. </Values>
  10124. </Bit>
  10125. <Bit>
  10126. <Name>nRST_STOP</Name>
  10127. <Description/>
  10128. <BitOffset>0x6</BitOffset>
  10129. <BitWidth>0x1</BitWidth>
  10130. <Access>W</Access>
  10131. <Values>
  10132. <Val value="0x0">Reset generated when entering Stop mode</Val>
  10133. <Val value="0x1">No reset generated</Val>
  10134. </Values>
  10135. </Bit>
  10136. <Bit>
  10137. <Name>nRST_STDBY</Name>
  10138. <Description/>
  10139. <BitOffset>0x7</BitOffset>
  10140. <BitWidth>0x1</BitWidth>
  10141. <Access>W</Access>
  10142. <Values>
  10143. <Val value="0x0">Reset generated when entering Standby mode</Val>
  10144. <Val value="0x1">No reset generated</Val>
  10145. </Values>
  10146. </Bit>
  10147. </AssignedBits>
  10148. </Field>
  10149. </Category>
  10150. <Category>
  10151. <Name>Write Protection</Name>
  10152. <Field>
  10153. <Parameters name="WRP1" size="0x2" address="0x1FFFC008"/>
  10154. <AssignedBits>
  10155. <Bit>
  10156. <Name>WRP0</Name>
  10157. <Description/>
  10158. <BitOffset>0x0</BitOffset>
  10159. <BitWidth>0xC</BitWidth>
  10160. <Access>W</Access>
  10161. <Values ByBit="true">
  10162. <Val value="0x0">Write protection active</Val>
  10163. <Val value="0x1">Write protection not active</Val>
  10164. </Values>
  10165. </Bit>
  10166. </AssignedBits>
  10167. </Field>
  10168. </Category>
  10169. </Bank>-->
  10170. <Bank interface="Bootloader">
  10171. <Parameters name="Bank 1" size="0xC" address="0x1FFFC000"/>
  10172. <Category>
  10173. <Name>Read Out Protection</Name>
  10174. <Field>
  10175. <Parameters name="RDP" size="0x1" address="0x1FFFC000"/>
  10176. <AssignedBits>
  10177. <Bit>
  10178. <Name>RDP</Name>
  10179. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  10180. <BitOffset>0x8</BitOffset>
  10181. <BitWidth>0x8</BitWidth>
  10182. <Access>RW</Access>
  10183. <Values>
  10184. <Val value="0xAA">Level 0, no protection</Val>
  10185. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  10186. <Val value="0xCC">Level 2, chip protection</Val>
  10187. </Values>
  10188. </Bit>
  10189. </AssignedBits>
  10190. </Field>
  10191. </Category>
  10192. <Category>
  10193. <Name>BOR Level</Name>
  10194. <Field>
  10195. <Parameters name="USER" size="0x1" address="0x1FFFC000"/>
  10196. <AssignedBits>
  10197. <Bit>
  10198. <Name>BOR_LEV</Name>
  10199. <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>
  10200. <BitOffset>0x2</BitOffset>
  10201. <BitWidth>0x2</BitWidth>
  10202. <Access>RW</Access>
  10203. <Values>
  10204. <Val value="0x0">BOR Level 3 reset threshold level from 2.70 to 3.60 V</Val>
  10205. <Val value="0x1">BOR Level 2 reset threshold level from 2.40 to 2.70 V</Val>
  10206. <Val value="0x2">BOR Level 1 reset threshold level from 2.10 to 2.40 V</Val>
  10207. <Val value="0x3">BOR OFF reset threshold level from 1.80 to 2.10 V</Val>
  10208. </Values>
  10209. </Bit>
  10210. </AssignedBits>
  10211. </Field>
  10212. </Category>
  10213. <Category>
  10214. <Name>User Configuration</Name>
  10215. <Field>
  10216. <Parameters name="USER" size="0x1" address="0x1FFFC000"/>
  10217. <AssignedBits>
  10218. <Bit>
  10219. <Name>WDG_SW</Name>
  10220. <Description/>
  10221. <BitOffset>0x5</BitOffset>
  10222. <BitWidth>0x1</BitWidth>
  10223. <Access>RW</Access>
  10224. <Values>
  10225. <Val value="0x0">Hardware watchdog</Val>
  10226. <Val value="0x1">Software watchdog</Val>
  10227. </Values>
  10228. </Bit>
  10229. <Bit>
  10230. <Name>nRST_STOP</Name>
  10231. <Description/>
  10232. <BitOffset>0x6</BitOffset>
  10233. <BitWidth>0x1</BitWidth>
  10234. <Access>RW</Access>
  10235. <Values>
  10236. <Val value="0x0">Reset generated when entering Stop mode</Val>
  10237. <Val value="0x1">No reset generated</Val>
  10238. </Values>
  10239. </Bit>
  10240. <Bit>
  10241. <Name>nRST_STDBY</Name>
  10242. <Description/>
  10243. <BitOffset>0x7</BitOffset>
  10244. <BitWidth>0x1</BitWidth>
  10245. <Access>RW</Access>
  10246. <Values>
  10247. <Val value="0x0">Reset generated when entering Standby mode</Val>
  10248. <Val value="0x1">No reset generated</Val>
  10249. </Values>
  10250. </Bit>
  10251. </AssignedBits>
  10252. </Field>
  10253. </Category>
  10254. <Category>
  10255. <Name>Write Protection</Name>
  10256. <Field>
  10257. <Parameters name="WRP1" size="0x2" address="0x1FFFC008"/>
  10258. <AssignedBits>
  10259. <Bit>
  10260. <Name>WRP0</Name>
  10261. <Description/>
  10262. <BitOffset>0x0</BitOffset>
  10263. <BitWidth>0xC</BitWidth>
  10264. <Access>RW</Access>
  10265. <Values ByBit="true">
  10266. <Val value="0x0">Write protection active</Val>
  10267. <Val value="0x1">Write protection not active</Val>
  10268. </Values>
  10269. </Bit>
  10270. </AssignedBits>
  10271. </Field>
  10272. </Category>
  10273. </Bank>
  10274. </Peripheral>
  10275. </Peripherals>
  10276. </Device>
  10277. <!-- Device: 0x437 -->
  10278. <Device>
  10279. <DeviceID>0x437</DeviceID>
  10280. <Vendor>STMicroelectronics</Vendor>
  10281. <Type>MCU</Type>
  10282. <CPU>Cortex-M3</CPU>
  10283. <Name>STM32L15xxE/STM32L162xE</Name>
  10284. <Series>STM32L1</Series>
  10285. <Description>ARM 32-bit Cortex-M3 based device</Description>
  10286. <Configurations>
  10287. <!-- JTAG_SWD Interface -->
  10288. <Interface name="JTAG_SWD"/>
  10289. <!-- Bootloader Interface -->
  10290. <Interface name="Bootloader"/>
  10291. </Configurations>
  10292. <!-- Peripherals -->
  10293. <Peripherals>
  10294. <!-- Embedded SRAM -->
  10295. <Peripheral>
  10296. <Name>Embedded SRAM</Name>
  10297. <Type>Storage</Type>
  10298. <Description/>
  10299. <ErasedValue>0x00</ErasedValue>
  10300. <Access>RWE</Access>
  10301. <!-- 80 KB -->
  10302. <Configuration>
  10303. <Parameters name="SRAM" size="0x14000" address="0x20000000"/>
  10304. <Description/>
  10305. <Organization>Single</Organization>
  10306. <Bank name="Bank 1">
  10307. <Field>
  10308. <Parameters name="SRAM" size="0x14000" address="0x20000000" occurence="0x1"/>
  10309. </Field>
  10310. </Bank>
  10311. </Configuration>
  10312. </Peripheral>
  10313. <!-- Embedded Flash -->
  10314. <Peripheral>
  10315. <Name>Embedded Flash</Name>
  10316. <Type>Storage</Type>
  10317. <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>
  10318. <ErasedValue>0x00</ErasedValue>
  10319. <Access>RWE</Access>
  10320. <FlashSize address="0x1FF800CC" default="0x80000"/>
  10321. <!-- 512KB dual Bank -->
  10322. <Configuration>
  10323. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  10324. <Description/>
  10325. <Organization>Dual</Organization>
  10326. <Allignement>0x4</Allignement>
  10327. <Bank name="Bank 1">
  10328. <Field>
  10329. <Parameters name="sector0" size="0x100" address="0x08000000" occurence="0x400"/>
  10330. </Field>
  10331. </Bank>
  10332. <Bank name="Bank 2">
  10333. <Field>
  10334. <Parameters name="sector1024" size="0x100" address="0x08040000" occurence="0x400"/>
  10335. </Field>
  10336. </Bank>
  10337. </Configuration>
  10338. </Peripheral>
  10339. <!-- Data EEPROM -->
  10340. <Peripheral>
  10341. <Name>Data EEPROM</Name>
  10342. <Type>Storage</Type>
  10343. <Description>The Data EEPROM memory block. It contains user data.</Description>
  10344. <ErasedValue>0x00</ErasedValue>
  10345. <Access>RWE</Access>
  10346. <!-- 16KB dual Bank -->
  10347. <Configuration>
  10348. <Parameters name=" 16 Kbytes Data EEPROM" size="0x4000" address="0x08080000"/>
  10349. <Description/>
  10350. <Organization>Dual</Organization>
  10351. <Allignement>0x4</Allignement>
  10352. <Bank name="Bank 1">
  10353. <Field>
  10354. <Parameters name="EEPROM1" size="0x2000" address="0x08080000" occurence="0x1"/>
  10355. </Field>
  10356. </Bank>
  10357. <Bank name="Bank 2">
  10358. <Field>
  10359. <Parameters name="EEPROM2" size="0x2000" address="0x08082000" occurence="0x1"/>
  10360. </Field>
  10361. </Bank>
  10362. </Configuration>
  10363. </Peripheral>
  10364. <!-- Mirror Option Bytes -->
  10365. <Peripheral>
  10366. <Name>MirrorOptionBytes</Name>
  10367. <Type>Storage</Type>
  10368. <Description>Mirror Option Bytes contains the extra area.</Description>
  10369. <ErasedValue>0xFF</ErasedValue>
  10370. <Access>RW</Access>
  10371. <!-- 136 Bytes single bank -->
  10372. <Configuration>
  10373. <Parameters name=" 136 Bytes Data MirrorOptionBytes" size="0x88" address="0x1FF80000"/>
  10374. <Description/>
  10375. <Organization>Single</Organization>
  10376. <Allignement>0x4</Allignement>
  10377. <Bank name="MirrorOptionBytes">
  10378. <Field>
  10379. <Parameters name="MirrorOptionBytes" size="0x88" address="0x1FF80000" occurence="0x1"/>
  10380. </Field>
  10381. </Bank>
  10382. </Configuration>
  10383. </Peripheral>
  10384. <!-- Option Bytes -->
  10385. <Peripheral>
  10386. <Name>Option Bytes</Name>
  10387. <Type>Configuration</Type>
  10388. <Description/>
  10389. <Access>RW</Access>
  10390. <Bank interface="JTAG_SWD">
  10391. <Parameters name="Bank 1" size="0x88" address="0x40023C1C"/>
  10392. <Category>
  10393. <Name>Read Out Protection</Name>
  10394. <Field>
  10395. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  10396. <AssignedBits>
  10397. <Bit>
  10398. <Name>RDP</Name>
  10399. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  10400. <BitOffset>0x0</BitOffset>
  10401. <BitWidth>0x8</BitWidth>
  10402. <Access>R</Access>
  10403. <Values>
  10404. <Val value="0xAA">Level 0, no protection</Val>
  10405. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  10406. <Val value="0xCC">Level 2, chip protection</Val>
  10407. </Values>
  10408. </Bit>
  10409. </AssignedBits>
  10410. </Field>
  10411. </Category>
  10412. <Category>
  10413. <Name>BOR Level</Name>
  10414. <Field>
  10415. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  10416. <AssignedBits>
  10417. <Bit>
  10418. <Name>BOR_LEV</Name>
  10419. <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>
  10420. <BitOffset>0x10</BitOffset>
  10421. <BitWidth>0x4</BitWidth>
  10422. <Access>R</Access>
  10423. <Values>
  10424. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10425. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10426. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10427. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10428. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10429. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10430. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  10431. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  10432. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  10433. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  10434. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  10435. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  10436. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  10437. </Values>
  10438. </Bit>
  10439. </AssignedBits>
  10440. </Field>
  10441. </Category>
  10442. <Category>
  10443. <Name>User Configuration</Name>
  10444. <Field>
  10445. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  10446. <AssignedBits>
  10447. <Bit>
  10448. <Name>IWDG_SW</Name>
  10449. <Description/>
  10450. <BitOffset>0x14</BitOffset>
  10451. <BitWidth>0x1</BitWidth>
  10452. <Access>R</Access>
  10453. <Values>
  10454. <Val value="0x0">Hardware independant watchdog</Val>
  10455. <Val value="0x1">Software independant watchdog</Val>
  10456. </Values>
  10457. </Bit>
  10458. <Bit>
  10459. <Name>nRST_STOP</Name>
  10460. <Description/>
  10461. <BitOffset>0x15</BitOffset>
  10462. <BitWidth>0x1</BitWidth>
  10463. <Access>R</Access>
  10464. <Values>
  10465. <Val value="0x0">Reset generated when entering Stop mode</Val>
  10466. <Val value="0x1">No reset generated</Val>
  10467. </Values>
  10468. </Bit>
  10469. <Bit>
  10470. <Name>nRST_STDBY</Name>
  10471. <Description/>
  10472. <BitOffset>0x16</BitOffset>
  10473. <BitWidth>0x1</BitWidth>
  10474. <Access>R</Access>
  10475. <Values>
  10476. <Val value="0x0">Reset generated when entering Standby mode</Val>
  10477. <Val value="0x1">No reset generated</Val>
  10478. </Values>
  10479. </Bit>
  10480. <Bit>
  10481. <Name>nBFB2</Name>
  10482. <Description/>
  10483. <BitOffset>0x17</BitOffset>
  10484. <BitWidth>0x1</BitWidth>
  10485. <Access>R</Access>
  10486. <Values>
  10487. <Val value="0x0">If boot from Flash then boot from bank 2</Val>
  10488. <Val value="0x1">If boot from Flash then boot from bank 1</Val>
  10489. </Values>
  10490. </Bit>
  10491. </AssignedBits>
  10492. </Field>
  10493. </Category>
  10494. <Category>
  10495. <Name>Write Protection</Name>
  10496. <Field>
  10497. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40023C20"/>
  10498. <AssignedBits>
  10499. <Bit>
  10500. <Name>WRP0</Name>
  10501. <Description/>
  10502. <BitOffset>0x0</BitOffset>
  10503. <BitWidth>0x20</BitWidth>
  10504. <Access>R</Access>
  10505. <Values ByBit="true">
  10506. <Val value="0x0">Write protection not active</Val>
  10507. <Val value="0x1">Write protection active</Val>
  10508. </Values>
  10509. </Bit>
  10510. </AssignedBits>
  10511. </Field>
  10512. <Field>
  10513. <Parameters name="FLASH_WRPR2" size="0x4" address="0x40023C80"/>
  10514. <AssignedBits>
  10515. <Bit>
  10516. <Name>WRP32</Name>
  10517. <Description/>
  10518. <BitOffset>0x0</BitOffset>
  10519. <BitWidth>0x20</BitWidth>
  10520. <Access>R</Access>
  10521. <Values ByBit="true">
  10522. <Val value="0x0">Write protection not active</Val>
  10523. <Val value="0x1">Write protection active</Val>
  10524. </Values>
  10525. </Bit>
  10526. </AssignedBits>
  10527. </Field>
  10528. <Field>
  10529. <Parameters name="FLASH_WRPR3" size="0x4" address="0x40023C84"/>
  10530. <AssignedBits>
  10531. <Bit>
  10532. <Name>WRP64</Name>
  10533. <Description/>
  10534. <BitOffset>0x0</BitOffset>
  10535. <BitWidth>0x20</BitWidth>
  10536. <Access>R</Access>
  10537. <Values ByBit="true">
  10538. <Val value="0x0">Write protection not active</Val>
  10539. <Val value="0x1">Write protection active</Val>
  10540. </Values>
  10541. </Bit>
  10542. </AssignedBits>
  10543. </Field>
  10544. <Field>
  10545. <Parameters name="FLASH_WRPR4" size="0x4" address="0x40023C88"/>
  10546. <AssignedBits>
  10547. <Bit>
  10548. <Name>WRP64</Name>
  10549. <Description/>
  10550. <BitOffset>0x0</BitOffset>
  10551. <BitWidth>0x20</BitWidth>
  10552. <Access>R</Access>
  10553. <Values ByBit="true">
  10554. <Val value="0x0">Write protection not active</Val>
  10555. <Val value="0x1">Write protection active</Val>
  10556. </Values>
  10557. </Bit>
  10558. </AssignedBits>
  10559. </Field>
  10560. </Category>
  10561. </Bank>
  10562. <Bank interface="JTAG_SWD">
  10563. <Parameters name="Bank 2" size="0x88" address="0x1FF80000"/>
  10564. <Category>
  10565. <Name>Read Out Protection</Name>
  10566. <Field>
  10567. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  10568. <AssignedBits>
  10569. <Bit>
  10570. <Name>RDP</Name>
  10571. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  10572. <BitOffset>0x0</BitOffset>
  10573. <BitWidth>0x8</BitWidth>
  10574. <Access>W</Access>
  10575. <Values>
  10576. <Val value="0xAA">Level 0, no protection</Val>
  10577. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  10578. <Val value="0xCC">Level 2, chip protection</Val>
  10579. </Values>
  10580. </Bit>
  10581. </AssignedBits>
  10582. </Field>
  10583. </Category>
  10584. <Category>
  10585. <Name>BOR Level</Name>
  10586. <Field>
  10587. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  10588. <AssignedBits>
  10589. <Bit>
  10590. <Name>BOR_LEV</Name>
  10591. <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>
  10592. <BitOffset>0x0</BitOffset>
  10593. <BitWidth>0x4</BitWidth>
  10594. <Access>W</Access>
  10595. <Values>
  10596. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10597. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10598. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10599. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10600. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10601. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10602. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  10603. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  10604. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  10605. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  10606. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  10607. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  10608. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  10609. </Values>
  10610. </Bit>
  10611. </AssignedBits>
  10612. </Field>
  10613. </Category>
  10614. <Category>
  10615. <Name>User Configuration</Name>
  10616. <Field>
  10617. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  10618. <AssignedBits>
  10619. <Bit>
  10620. <Name>IWDG_SW</Name>
  10621. <Description/>
  10622. <BitOffset>0x4</BitOffset>
  10623. <BitWidth>0x1</BitWidth>
  10624. <Access>W</Access>
  10625. <Values>
  10626. <Val value="0x0">Hardware independant watchdog</Val>
  10627. <Val value="0x1">Software independant watchdog</Val>
  10628. </Values>
  10629. </Bit>
  10630. <Bit>
  10631. <Name>nRST_STOP</Name>
  10632. <Description/>
  10633. <BitOffset>0x5</BitOffset>
  10634. <BitWidth>0x1</BitWidth>
  10635. <Access>W</Access>
  10636. <Values>
  10637. <Val value="0x0">Reset generated when entering Stop mode</Val>
  10638. <Val value="0x1">No reset generated</Val>
  10639. </Values>
  10640. </Bit>
  10641. <Bit>
  10642. <Name>nRST_STDBY</Name>
  10643. <Description/>
  10644. <BitOffset>0x6</BitOffset>
  10645. <BitWidth>0x1</BitWidth>
  10646. <Access>W</Access>
  10647. <Values>
  10648. <Val value="0x0">Reset generated when entering Standby mode</Val>
  10649. <Val value="0x1">No reset generated</Val>
  10650. </Values>
  10651. </Bit>
  10652. <Bit>
  10653. <Name>nBFB2</Name>
  10654. <Description/>
  10655. <BitOffset>0x7</BitOffset>
  10656. <BitWidth>0x1</BitWidth>
  10657. <Access>W</Access>
  10658. <Values>
  10659. <Val value="0x0">If boot from Flash then boot from bank 2</Val>
  10660. <Val value="0x1">If boot from Flash then boot from bank 1</Val>
  10661. </Values>
  10662. </Bit>
  10663. </AssignedBits>
  10664. </Field>
  10665. </Category>
  10666. <Category>
  10667. <Name>Write Protection</Name>
  10668. <Field>
  10669. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  10670. <AssignedBits>
  10671. <Bit>
  10672. <Name>WRP0</Name>
  10673. <Description/>
  10674. <BitOffset>0x0</BitOffset>
  10675. <BitWidth>0x10</BitWidth>
  10676. <Access>W</Access>
  10677. <Values ByBit="true">
  10678. <Val value="0x0">Write protection not active</Val>
  10679. <Val value="0x1">Write protection active</Val>
  10680. </Values>
  10681. </Bit>
  10682. </AssignedBits>
  10683. </Field>
  10684. <Field>
  10685. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  10686. <AssignedBits>
  10687. <Bit>
  10688. <Name>WRP16</Name>
  10689. <Description/>
  10690. <BitOffset>0x0</BitOffset>
  10691. <BitWidth>0x10</BitWidth>
  10692. <Access>W</Access>
  10693. <Values ByBit="true">
  10694. <Val value="0x0">Write protection not active</Val>
  10695. <Val value="0x1">Write protection active</Val>
  10696. </Values>
  10697. </Bit>
  10698. </AssignedBits>
  10699. </Field>
  10700. <Field>
  10701. <Parameters name="WRP2" size="0x8" address="0x1FF80010"/>
  10702. <AssignedBits>
  10703. <Bit>
  10704. <Name>WRP32</Name>
  10705. <Description/>
  10706. <BitOffset>0x0</BitOffset>
  10707. <BitWidth>0x10</BitWidth>
  10708. <Access>W</Access>
  10709. <Values ByBit="true">
  10710. <Val value="0x0">Write protection not active</Val>
  10711. <Val value="0x1">Write protection active</Val>
  10712. </Values>
  10713. </Bit>
  10714. </AssignedBits>
  10715. </Field>
  10716. <Field>
  10717. <Parameters name="WRP2" size="0x8" address="0x1FF80014"/>
  10718. <AssignedBits>
  10719. <Bit>
  10720. <Name>WRP48</Name>
  10721. <Description/>
  10722. <BitOffset>0x0</BitOffset>
  10723. <BitWidth>0x10</BitWidth>
  10724. <Access>W</Access>
  10725. <Values ByBit="true">
  10726. <Val value="0x0">Write protection not active</Val>
  10727. <Val value="0x1">Write protection active</Val>
  10728. </Values>
  10729. </Bit>
  10730. </AssignedBits>
  10731. </Field>
  10732. <Field>
  10733. <Parameters name="WRP3" size="0x8" address="0x1FF80018"/>
  10734. <AssignedBits>
  10735. <Bit>
  10736. <Name>WRP64</Name>
  10737. <Description/>
  10738. <BitOffset>0x0</BitOffset>
  10739. <BitWidth>0x10</BitWidth>
  10740. <Access>W</Access>
  10741. <Values ByBit="true">
  10742. <Val value="0x0">Write protection not active</Val>
  10743. <Val value="0x1">Write protection active</Val>
  10744. </Values>
  10745. </Bit>
  10746. </AssignedBits>
  10747. </Field>
  10748. <Field>
  10749. <Parameters name="WRP3" size="0x8" address="0x1FF8001C"/>
  10750. <AssignedBits>
  10751. <Bit>
  10752. <Name>WRP80</Name>
  10753. <Description/>
  10754. <BitOffset>0x0</BitOffset>
  10755. <BitWidth>0x10</BitWidth>
  10756. <Access>W</Access>
  10757. <Values ByBit="true">
  10758. <Val value="0x0">Write protection not active</Val>
  10759. <Val value="0x1">Write protection active</Val>
  10760. </Values>
  10761. </Bit>
  10762. </AssignedBits>
  10763. </Field>
  10764. <Field>
  10765. <Parameters name="WRP4" size="0x8" address="0x1FF80080"/>
  10766. <AssignedBits>
  10767. <Bit>
  10768. <Name>WRP96</Name>
  10769. <Description/>
  10770. <BitOffset>0x0</BitOffset>
  10771. <BitWidth>0x10</BitWidth>
  10772. <Access>W</Access>
  10773. <Values ByBit="true">
  10774. <Val value="0x0">Write protection not active</Val>
  10775. <Val value="0x1">Write protection active</Val>
  10776. </Values>
  10777. </Bit>
  10778. </AssignedBits>
  10779. </Field>
  10780. <Field>
  10781. <Parameters name="WRP4" size="0x8" address="0x1FF80084"/>
  10782. <AssignedBits>
  10783. <Bit>
  10784. <Name>WRP112</Name>
  10785. <Description/>
  10786. <BitOffset>0x0</BitOffset>
  10787. <BitWidth>0x10</BitWidth>
  10788. <Access>W</Access>
  10789. <Values ByBit="true">
  10790. <Val value="0x0">Write protection not active</Val>
  10791. <Val value="0x1">Write protection active</Val>
  10792. </Values>
  10793. </Bit>
  10794. </AssignedBits>
  10795. </Field>
  10796. </Category>
  10797. </Bank>
  10798. <Bank interface="Bootloader">
  10799. <Parameters name="Bank 1" size="0x88" address="0x1FF80000"/>
  10800. <Category>
  10801. <Name>Read Out Protection</Name>
  10802. <Field>
  10803. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  10804. <AssignedBits>
  10805. <Bit>
  10806. <Name>RDP</Name>
  10807. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  10808. <BitOffset>0x0</BitOffset>
  10809. <BitWidth>0x8</BitWidth>
  10810. <Access>RW</Access>
  10811. <Values>
  10812. <Val value="0xAA">Level 0, no protection</Val>
  10813. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  10814. <Val value="0xCC">Level 2, chip protection</Val>
  10815. </Values>
  10816. </Bit>
  10817. </AssignedBits>
  10818. </Field>
  10819. </Category>
  10820. <Category>
  10821. <Name>BOR Level</Name>
  10822. <Field>
  10823. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  10824. <AssignedBits>
  10825. <Bit>
  10826. <Name>BOR_LEV</Name>
  10827. <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>
  10828. <BitOffset>0x0</BitOffset>
  10829. <BitWidth>0x4</BitWidth>
  10830. <Access>RW</Access>
  10831. <Values>
  10832. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10833. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10834. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10835. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10836. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10837. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  10838. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  10839. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  10840. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  10841. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  10842. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  10843. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  10844. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  10845. </Values>
  10846. </Bit>
  10847. </AssignedBits>
  10848. </Field>
  10849. </Category>
  10850. <Category>
  10851. <Name>User Configuration</Name>
  10852. <Field>
  10853. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  10854. <AssignedBits>
  10855. <Bit>
  10856. <Name>IWDG_SW</Name>
  10857. <Description/>
  10858. <BitOffset>0x4</BitOffset>
  10859. <BitWidth>0x1</BitWidth>
  10860. <Access>RW</Access>
  10861. <Values>
  10862. <Val value="0x0">Hardware independant watchdog</Val>
  10863. <Val value="0x1">Software independant watchdog</Val>
  10864. </Values>
  10865. </Bit>
  10866. <Bit>
  10867. <Name>nRST_STOP</Name>
  10868. <Description/>
  10869. <BitOffset>0x5</BitOffset>
  10870. <BitWidth>0x1</BitWidth>
  10871. <Access>RW</Access>
  10872. <Values>
  10873. <Val value="0x0">Reset generated when entering Stop mode</Val>
  10874. <Val value="0x1">No reset generated</Val>
  10875. </Values>
  10876. </Bit>
  10877. <Bit>
  10878. <Name>nRST_STDBY</Name>
  10879. <Description/>
  10880. <BitOffset>0x6</BitOffset>
  10881. <BitWidth>0x1</BitWidth>
  10882. <Access>RW</Access>
  10883. <Values>
  10884. <Val value="0x0">Reset generated when entering Standby mode</Val>
  10885. <Val value="0x1">No reset generated</Val>
  10886. </Values>
  10887. </Bit>
  10888. <Bit>
  10889. <Name>nBFB2</Name>
  10890. <Description/>
  10891. <BitOffset>0x7</BitOffset>
  10892. <BitWidth>0x1</BitWidth>
  10893. <Access>RW</Access>
  10894. <Values>
  10895. <Val value="0x0">If boot from Flash then boot from bank 2</Val>
  10896. <Val value="0x1">If boot from Flash then boot from bank 1</Val>
  10897. </Values>
  10898. </Bit>
  10899. </AssignedBits>
  10900. </Field>
  10901. </Category>
  10902. <Category>
  10903. <Name>Write Protection</Name>
  10904. <Field>
  10905. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  10906. <AssignedBits>
  10907. <Bit>
  10908. <Name>WRP0</Name>
  10909. <Description/>
  10910. <BitOffset>0x0</BitOffset>
  10911. <BitWidth>0x10</BitWidth>
  10912. <Access>RW</Access>
  10913. <Values ByBit="true">
  10914. <Val value="0x0">Write protection not active</Val>
  10915. <Val value="0x1">Write protection active</Val>
  10916. </Values>
  10917. </Bit>
  10918. </AssignedBits>
  10919. </Field>
  10920. <Field>
  10921. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  10922. <AssignedBits>
  10923. <Bit>
  10924. <Name>WRP16</Name>
  10925. <Description/>
  10926. <BitOffset>0x0</BitOffset>
  10927. <BitWidth>0x10</BitWidth>
  10928. <Access>RW</Access>
  10929. <Values ByBit="true">
  10930. <Val value="0x0">Write protection not active</Val>
  10931. <Val value="0x1">Write protection active</Val>
  10932. </Values>
  10933. </Bit>
  10934. </AssignedBits>
  10935. </Field>
  10936. <Field>
  10937. <Parameters name="WRP2" size="0x8" address="0x1FF80010"/>
  10938. <AssignedBits>
  10939. <Bit>
  10940. <Name>WRP32</Name>
  10941. <Description/>
  10942. <BitOffset>0x0</BitOffset>
  10943. <BitWidth>0x10</BitWidth>
  10944. <Access>RW</Access>
  10945. <Values ByBit="true">
  10946. <Val value="0x0">Write protection not active</Val>
  10947. <Val value="0x1">Write protection active</Val>
  10948. </Values>
  10949. </Bit>
  10950. </AssignedBits>
  10951. </Field>
  10952. <Field>
  10953. <Parameters name="WRP2" size="0x8" address="0x1FF80014"/>
  10954. <AssignedBits>
  10955. <Bit>
  10956. <Name>WRP48</Name>
  10957. <Description/>
  10958. <BitOffset>0x0</BitOffset>
  10959. <BitWidth>0x10</BitWidth>
  10960. <Access>RW</Access>
  10961. <Values ByBit="true">
  10962. <Val value="0x0">Write protection not active</Val>
  10963. <Val value="0x1">Write protection active</Val>
  10964. </Values>
  10965. </Bit>
  10966. </AssignedBits>
  10967. </Field>
  10968. <Field>
  10969. <Parameters name="WRP3" size="0x8" address="0x1FF80018"/>
  10970. <AssignedBits>
  10971. <Bit>
  10972. <Name>WRP64</Name>
  10973. <Description/>
  10974. <BitOffset>0x0</BitOffset>
  10975. <BitWidth>0x10</BitWidth>
  10976. <Access>RW</Access>
  10977. <Values ByBit="true">
  10978. <Val value="0x0">Write protection not active</Val>
  10979. <Val value="0x1">Write protection active</Val>
  10980. </Values>
  10981. </Bit>
  10982. </AssignedBits>
  10983. </Field>
  10984. <Field>
  10985. <Parameters name="WRP3" size="0x8" address="0x1FF8001C"/>
  10986. <AssignedBits>
  10987. <Bit>
  10988. <Name>WRP80</Name>
  10989. <Description/>
  10990. <BitOffset>0x0</BitOffset>
  10991. <BitWidth>0x10</BitWidth>
  10992. <Access>RW</Access>
  10993. <Values ByBit="true">
  10994. <Val value="0x0">Write protection not active</Val>
  10995. <Val value="0x1">Write protection active</Val>
  10996. </Values>
  10997. </Bit>
  10998. </AssignedBits>
  10999. </Field>
  11000. <Field>
  11001. <Parameters name="WRP4" size="0x8" address="0x1FF80080"/>
  11002. <AssignedBits>
  11003. <Bit>
  11004. <Name>WRP96</Name>
  11005. <Description/>
  11006. <BitOffset>0x0</BitOffset>
  11007. <BitWidth>0x10</BitWidth>
  11008. <Access>RW</Access>
  11009. <Values ByBit="true">
  11010. <Val value="0x0">Write protection not active</Val>
  11011. <Val value="0x1">Write protection active</Val>
  11012. </Values>
  11013. </Bit>
  11014. </AssignedBits>
  11015. </Field>
  11016. <Field>
  11017. <Parameters name="WRP4" size="0x8" address="0x1FF80084"/>
  11018. <AssignedBits>
  11019. <Bit>
  11020. <Name>WRP112</Name>
  11021. <Description/>
  11022. <BitOffset>0x0</BitOffset>
  11023. <BitWidth>0x10</BitWidth>
  11024. <Access>RW</Access>
  11025. <Values ByBit="true">
  11026. <Val value="0x0">Write protection not active</Val>
  11027. <Val value="0x1">Write protection active</Val>
  11028. </Values>
  11029. </Bit>
  11030. </AssignedBits>
  11031. </Field>
  11032. </Category>
  11033. </Bank>
  11034. </Peripheral>
  11035. </Peripherals>
  11036. </Device>
  11037. <!-- Device: 0x436 -->
  11038. <Device>
  11039. <DeviceID>0x436</DeviceID>
  11040. <Vendor>STMicroelectronics</Vendor>
  11041. <Type>MCU</Type>
  11042. <CPU>Cortex-M3</CPU>
  11043. <Name>STM32L15xxD/STM32L162xD</Name>
  11044. <Series>STM32L1</Series>
  11045. <Description>ARM 32-bit Cortex-M3 based device</Description>
  11046. <Configurations>
  11047. <!-- JTAG_SWD Interface -->
  11048. <Interface name="JTAG_SWD"/>
  11049. <!-- Bootloader Interface -->
  11050. <Interface name="Bootloader"/>
  11051. </Configurations>
  11052. <!-- Peripherals -->
  11053. <Peripherals>
  11054. <!-- Embedded SRAM -->
  11055. <Peripheral>
  11056. <Name>Embedded SRAM</Name>
  11057. <Type>Storage</Type>
  11058. <Description/>
  11059. <ErasedValue>0x00</ErasedValue>
  11060. <Access>RWE</Access>
  11061. <!-- 48 KB -->
  11062. <Configuration>
  11063. <Parameters name="SRAM" size="0xC000" address="0x20000000"/>
  11064. <Description/>
  11065. <Organization>Single</Organization>
  11066. <Bank name="Bank 1">
  11067. <Field>
  11068. <Parameters name="SRAM" size="0xC000" address="0x20000000" occurence="0x1"/>
  11069. </Field>
  11070. </Bank>
  11071. </Configuration>
  11072. </Peripheral>
  11073. <!-- Embedded Flash -->
  11074. <Peripheral>
  11075. <Name>Embedded Flash</Name>
  11076. <Type>Storage</Type>
  11077. <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>
  11078. <ErasedValue>0x00</ErasedValue>
  11079. <Access>RWE</Access>
  11080. <FlashSize address="0x1FF800CC" default="0x20000"/>
  11081. <!-- 384KB dual Bank -->
  11082. <Configuration>
  11083. <Parameters name=" 384 Kbytes Embedded Flash" size="0x20000" address="0x08000000"/>
  11084. <Description/>
  11085. <Organization>Dual</Organization>
  11086. <Allignement>0x4</Allignement>
  11087. <Bank name="Bank 1">
  11088. <Field>
  11089. <Parameters name="sector0" size="0x100" address="0x08000000" occurence="0x300"/>
  11090. </Field>
  11091. </Bank>
  11092. <Bank name="Bank 2">
  11093. <Field>
  11094. <Parameters name="sector768" size="0x100" address="0x08030000" occurence="0x300"/>
  11095. </Field>
  11096. </Bank>
  11097. </Configuration>
  11098. </Peripheral>
  11099. <!-- Data EEPROM -->
  11100. <Peripheral>
  11101. <Name>Data EEPROM</Name>
  11102. <Type>Storage</Type>
  11103. <Description>The Data EEPROM memory block. It contains user data.</Description>
  11104. <ErasedValue>0x00</ErasedValue>
  11105. <Access>RWE</Access>
  11106. <!-- 12KB dual Bank -->
  11107. <Configuration>
  11108. <Parameters name=" 12 Kbytes Data EEPROM" size="0x3000" address="0x08080000"/>
  11109. <Description/>
  11110. <Organization>Dual</Organization>
  11111. <Allignement>0x4</Allignement>
  11112. <Bank name="Bank 1">
  11113. <Field>
  11114. <Parameters name="EEPROM1" size="0x1800" address="0x08080000" occurence="0x1"/>
  11115. </Field>
  11116. </Bank>
  11117. <Bank name="Bank 2">
  11118. <Field>
  11119. <Parameters name="EEPROM2" size="0x1800" address="0x08081800" occurence="0x1"/>
  11120. </Field>
  11121. </Bank>
  11122. </Configuration>
  11123. </Peripheral>
  11124. <!-- Mirror Option Bytes -->
  11125. <Peripheral>
  11126. <Name>MirrorOptionBytes</Name>
  11127. <Type>Storage</Type>
  11128. <Description>Mirror Option Bytes contains the extra area.</Description>
  11129. <ErasedValue>0xFF</ErasedValue>
  11130. <Access>RW</Access>
  11131. <!-- 32 Bytes single bank -->
  11132. <Configuration>
  11133. <Parameters name=" 32 Bytes Data MirrorOptionBytes" size="0x20" address="0x1FF80000"/>
  11134. <Description/>
  11135. <Organization>Single</Organization>
  11136. <Allignement>0x4</Allignement>
  11137. <Bank name="MirrorOptionBytes">
  11138. <Field>
  11139. <Parameters name="MirrorOptionBytes" size="0x20" address="0x1FF80000" occurence="0x1"/>
  11140. </Field>
  11141. </Bank>
  11142. </Configuration>
  11143. </Peripheral>
  11144. <!-- Option Bytes -->
  11145. <Peripheral>
  11146. <Name>Option Bytes</Name>
  11147. <Type>Configuration</Type>
  11148. <Description/>
  11149. <Access>RW</Access>
  11150. <Bank interface="JTAG_SWD">
  11151. <Parameters name="Bank 1" size="0x88" address="0x40023C1C"/>
  11152. <Category>
  11153. <Name>Read Out Protection</Name>
  11154. <Field>
  11155. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  11156. <AssignedBits>
  11157. <Bit>
  11158. <Name>RDP</Name>
  11159. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  11160. <BitOffset>0x0</BitOffset>
  11161. <BitWidth>0x8</BitWidth>
  11162. <Access>R</Access>
  11163. <Values>
  11164. <Val value="0xAA">Level 0, no protection</Val>
  11165. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  11166. <Val value="0xCC">Level 2, chip protection</Val>
  11167. </Values>
  11168. </Bit>
  11169. </AssignedBits>
  11170. </Field>
  11171. </Category>
  11172. <Category>
  11173. <Name>BOR Level</Name>
  11174. <Field>
  11175. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  11176. <AssignedBits>
  11177. <Bit>
  11178. <Name>BOR_LEV</Name>
  11179. <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>
  11180. <BitOffset>0x10</BitOffset>
  11181. <BitWidth>0x4</BitWidth>
  11182. <Access>R</Access>
  11183. <Values>
  11184. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11185. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11186. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11187. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11188. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11189. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11190. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  11191. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  11192. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  11193. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  11194. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  11195. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  11196. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  11197. </Values>
  11198. </Bit>
  11199. </AssignedBits>
  11200. </Field>
  11201. </Category>
  11202. <Category>
  11203. <Name>User Configuration</Name>
  11204. <Field>
  11205. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  11206. <AssignedBits>
  11207. <Bit>
  11208. <Name>IWDG_SW</Name>
  11209. <Description/>
  11210. <BitOffset>0x14</BitOffset>
  11211. <BitWidth>0x1</BitWidth>
  11212. <Access>R</Access>
  11213. <Values>
  11214. <Val value="0x0">Hardware independant watchdog</Val>
  11215. <Val value="0x1">Software independant watchdog</Val>
  11216. </Values>
  11217. </Bit>
  11218. <Bit>
  11219. <Name>nRST_STOP</Name>
  11220. <Description/>
  11221. <BitOffset>0x15</BitOffset>
  11222. <BitWidth>0x1</BitWidth>
  11223. <Access>R</Access>
  11224. <Values>
  11225. <Val value="0x0">Reset generated when entering Stop mode</Val>
  11226. <Val value="0x1">No reset generated</Val>
  11227. </Values>
  11228. </Bit>
  11229. <Bit>
  11230. <Name>nRST_STDBY</Name>
  11231. <Description/>
  11232. <BitOffset>0x16</BitOffset>
  11233. <BitWidth>0x1</BitWidth>
  11234. <Access>R</Access>
  11235. <Values>
  11236. <Val value="0x0">Reset generated when entering Standby mode</Val>
  11237. <Val value="0x1">No reset generated</Val>
  11238. </Values>
  11239. </Bit>
  11240. <Bit>
  11241. <Name>nBFB2</Name>
  11242. <Description/>
  11243. <BitOffset>0x17</BitOffset>
  11244. <BitWidth>0x1</BitWidth>
  11245. <Access>R</Access>
  11246. <Values>
  11247. <Val value="0x0">If boot from Flash then boot from bank 2</Val>
  11248. <Val value="0x1">If boot from Flash then boot from bank 1</Val>
  11249. </Values>
  11250. </Bit>
  11251. </AssignedBits>
  11252. </Field>
  11253. </Category>
  11254. <Category>
  11255. <Name>Write Protection</Name>
  11256. <Field>
  11257. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40023C20"/>
  11258. <AssignedBits>
  11259. <Bit>
  11260. <Name>WRP0</Name>
  11261. <Description/>
  11262. <BitOffset>0x0</BitOffset>
  11263. <BitWidth>0x20</BitWidth>
  11264. <Access>R</Access>
  11265. <Values ByBit="true">
  11266. <Val value="0x0">Write protection not active</Val>
  11267. <Val value="0x1">Write protection active</Val>
  11268. </Values>
  11269. </Bit>
  11270. </AssignedBits>
  11271. </Field>
  11272. <Field>
  11273. <Parameters name="FLASH_WRPR2" size="0x4" address="0x40023C80"/>
  11274. <AssignedBits>
  11275. <Bit>
  11276. <Name>WRP32</Name>
  11277. <Description/>
  11278. <BitOffset>0x0</BitOffset>
  11279. <BitWidth>0x20</BitWidth>
  11280. <Access>R</Access>
  11281. <Values ByBit="true">
  11282. <Val value="0x0">Write protection not active</Val>
  11283. <Val value="0x1">Write protection active</Val>
  11284. </Values>
  11285. </Bit>
  11286. </AssignedBits>
  11287. </Field>
  11288. <Field>
  11289. <Parameters name="FLASH_WRPR3" size="0x4" address="0x40023C84"/>
  11290. <AssignedBits>
  11291. <Bit>
  11292. <Name>WRP64</Name>
  11293. <Description/>
  11294. <BitOffset>0x0</BitOffset>
  11295. <BitWidth>0x20</BitWidth>
  11296. <Access>R</Access>
  11297. <Values ByBit="true">
  11298. <Val value="0x0">Write protection not active</Val>
  11299. <Val value="0x1">Write protection active</Val>
  11300. </Values>
  11301. </Bit>
  11302. </AssignedBits>
  11303. </Field>
  11304. </Category>
  11305. </Bank>
  11306. <Bank interface="JTAG_SWD">
  11307. <Parameters name="Bank 2" size="0x20" address="0x1FF80000"/>
  11308. <Category>
  11309. <Name>Read Out Protection</Name>
  11310. <Field>
  11311. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  11312. <AssignedBits>
  11313. <Bit>
  11314. <Name>RDP</Name>
  11315. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  11316. <BitOffset>0x0</BitOffset>
  11317. <BitWidth>0x8</BitWidth>
  11318. <Access>W</Access>
  11319. <Values>
  11320. <Val value="0xAA">Level 0, no protection</Val>
  11321. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  11322. <Val value="0xCC">Level 2, chip protection</Val>
  11323. </Values>
  11324. </Bit>
  11325. </AssignedBits>
  11326. </Field>
  11327. </Category>
  11328. <Category>
  11329. <Name>BOR Level</Name>
  11330. <Field>
  11331. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  11332. <AssignedBits>
  11333. <Bit>
  11334. <Name>BOR_LEV</Name>
  11335. <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>
  11336. <BitOffset>0x0</BitOffset>
  11337. <BitWidth>0x4</BitWidth>
  11338. <Access>W</Access>
  11339. <Values>
  11340. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11341. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11342. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11343. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11344. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11345. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11346. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  11347. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  11348. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  11349. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  11350. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  11351. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  11352. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  11353. </Values>
  11354. </Bit>
  11355. </AssignedBits>
  11356. </Field>
  11357. </Category>
  11358. <Category>
  11359. <Name>User Configuration</Name>
  11360. <Field>
  11361. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  11362. <AssignedBits>
  11363. <Bit>
  11364. <Name>IWDG_SW</Name>
  11365. <Description/>
  11366. <BitOffset>0x4</BitOffset>
  11367. <BitWidth>0x1</BitWidth>
  11368. <Access>W</Access>
  11369. <Values>
  11370. <Val value="0x0">Hardware independant watchdog</Val>
  11371. <Val value="0x1">Software independant watchdog</Val>
  11372. </Values>
  11373. </Bit>
  11374. <Bit>
  11375. <Name>nRST_STOP</Name>
  11376. <Description/>
  11377. <BitOffset>0x5</BitOffset>
  11378. <BitWidth>0x1</BitWidth>
  11379. <Access>W</Access>
  11380. <Values>
  11381. <Val value="0x0">Reset generated when entering Stop mode</Val>
  11382. <Val value="0x1">No reset generated</Val>
  11383. </Values>
  11384. </Bit>
  11385. <Bit>
  11386. <Name>nRST_STDBY</Name>
  11387. <Description/>
  11388. <BitOffset>0x6</BitOffset>
  11389. <BitWidth>0x1</BitWidth>
  11390. <Access>W</Access>
  11391. <Values>
  11392. <Val value="0x0">Reset generated when entering Standby mode</Val>
  11393. <Val value="0x1">No reset generated</Val>
  11394. </Values>
  11395. </Bit>
  11396. <Bit>
  11397. <Name>nBFB2</Name>
  11398. <Description/>
  11399. <BitOffset>0x7</BitOffset>
  11400. <BitWidth>0x1</BitWidth>
  11401. <Access>W</Access>
  11402. <Values>
  11403. <Val value="0x0">If boot from Flash then boot from bank 2</Val>
  11404. <Val value="0x1">If boot from Flash then boot from bank 1</Val>
  11405. </Values>
  11406. </Bit>
  11407. </AssignedBits>
  11408. </Field>
  11409. </Category>
  11410. <Category>
  11411. <Name>Write Protection</Name>
  11412. <Field>
  11413. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  11414. <AssignedBits>
  11415. <Bit>
  11416. <Name>WRP0</Name>
  11417. <Description/>
  11418. <BitOffset>0x0</BitOffset>
  11419. <BitWidth>0x10</BitWidth>
  11420. <Access>W</Access>
  11421. <Values ByBit="true">
  11422. <Val value="0x0">Write protection not active</Val>
  11423. <Val value="0x1">Write protection active</Val>
  11424. </Values>
  11425. </Bit>
  11426. </AssignedBits>
  11427. </Field>
  11428. <Field>
  11429. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  11430. <AssignedBits>
  11431. <Bit>
  11432. <Name>WRP16</Name>
  11433. <Description/>
  11434. <BitOffset>0x0</BitOffset>
  11435. <BitWidth>0x10</BitWidth>
  11436. <Access>W</Access>
  11437. <Values ByBit="true">
  11438. <Val value="0x0">Write protection not active</Val>
  11439. <Val value="0x1">Write protection active</Val>
  11440. </Values>
  11441. </Bit>
  11442. </AssignedBits>
  11443. </Field>
  11444. <Field>
  11445. <Parameters name="WRP2" size="0x8" address="0x1FF80010"/>
  11446. <AssignedBits>
  11447. <Bit>
  11448. <Name>WRP32</Name>
  11449. <Description/>
  11450. <BitOffset>0x0</BitOffset>
  11451. <BitWidth>0x10</BitWidth>
  11452. <Access>W</Access>
  11453. <Values ByBit="true">
  11454. <Val value="0x0">Write protection not active</Val>
  11455. <Val value="0x1">Write protection active</Val>
  11456. </Values>
  11457. </Bit>
  11458. </AssignedBits>
  11459. </Field>
  11460. <Field>
  11461. <Parameters name="WRP2" size="0x8" address="0x1FF80014"/>
  11462. <AssignedBits>
  11463. <Bit>
  11464. <Name>WRP48</Name>
  11465. <Description/>
  11466. <BitOffset>0x0</BitOffset>
  11467. <BitWidth>0x10</BitWidth>
  11468. <Access>W</Access>
  11469. <Values ByBit="true">
  11470. <Val value="0x0">Write protection not active</Val>
  11471. <Val value="0x1">Write protection active</Val>
  11472. </Values>
  11473. </Bit>
  11474. </AssignedBits>
  11475. </Field>
  11476. <Field>
  11477. <Parameters name="WRP3" size="0x8" address="0x1FF80018"/>
  11478. <AssignedBits>
  11479. <Bit>
  11480. <Name>WRP64</Name>
  11481. <Description/>
  11482. <BitOffset>0x0</BitOffset>
  11483. <BitWidth>0x10</BitWidth>
  11484. <Access>W</Access>
  11485. <Values ByBit="true">
  11486. <Val value="0x0">Write protection not active</Val>
  11487. <Val value="0x1">Write protection active</Val>
  11488. </Values>
  11489. </Bit>
  11490. </AssignedBits>
  11491. </Field>
  11492. <Field>
  11493. <Parameters name="WRP3" size="0x8" address="0x1FF8001C"/>
  11494. <AssignedBits>
  11495. <Bit>
  11496. <Name>WRP80</Name>
  11497. <Description/>
  11498. <BitOffset>0x0</BitOffset>
  11499. <BitWidth>0x10</BitWidth>
  11500. <Access>W</Access>
  11501. <Values ByBit="true">
  11502. <Val value="0x0">Write protection not active</Val>
  11503. <Val value="0x1">Write protection active</Val>
  11504. </Values>
  11505. </Bit>
  11506. </AssignedBits>
  11507. </Field>
  11508. </Category>
  11509. </Bank>
  11510. <Bank interface="Bootloader">
  11511. <Parameters name="Bank 1" size="0x20" address="0x1FF80000"/>
  11512. <Category>
  11513. <Name>Read Out Protection</Name>
  11514. <Field>
  11515. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  11516. <AssignedBits>
  11517. <Bit>
  11518. <Name>RDP</Name>
  11519. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  11520. <BitOffset>0x0</BitOffset>
  11521. <BitWidth>0x8</BitWidth>
  11522. <Access>RW</Access>
  11523. <Values>
  11524. <Val value="0xAA">Level 0, no protection</Val>
  11525. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  11526. <Val value="0xCC">Level 2, chip protection</Val>
  11527. </Values>
  11528. </Bit>
  11529. </AssignedBits>
  11530. </Field>
  11531. </Category>
  11532. <Category>
  11533. <Name>BOR Level</Name>
  11534. <Field>
  11535. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  11536. <AssignedBits>
  11537. <Bit>
  11538. <Name>BOR_LEV</Name>
  11539. <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>
  11540. <BitOffset>0x0</BitOffset>
  11541. <BitWidth>0x4</BitWidth>
  11542. <Access>RW</Access>
  11543. <Values>
  11544. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11545. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11546. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11547. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11548. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11549. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11550. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  11551. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  11552. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  11553. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  11554. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  11555. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  11556. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  11557. </Values>
  11558. </Bit>
  11559. </AssignedBits>
  11560. </Field>
  11561. </Category>
  11562. <Category>
  11563. <Name>User Configuration</Name>
  11564. <Field>
  11565. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  11566. <AssignedBits>
  11567. <Bit>
  11568. <Name>IWDG_SW</Name>
  11569. <Description/>
  11570. <BitOffset>0x4</BitOffset>
  11571. <BitWidth>0x1</BitWidth>
  11572. <Access>RW</Access>
  11573. <Values>
  11574. <Val value="0x0">Hardware independant watchdog</Val>
  11575. <Val value="0x1">Software independant watchdog</Val>
  11576. </Values>
  11577. </Bit>
  11578. <Bit>
  11579. <Name>nRST_STOP</Name>
  11580. <Description/>
  11581. <BitOffset>0x5</BitOffset>
  11582. <BitWidth>0x1</BitWidth>
  11583. <Access>RW</Access>
  11584. <Values>
  11585. <Val value="0x0">Reset generated when entering Stop mode</Val>
  11586. <Val value="0x1">No reset generated</Val>
  11587. </Values>
  11588. </Bit>
  11589. <Bit>
  11590. <Name>nRST_STDBY</Name>
  11591. <Description/>
  11592. <BitOffset>0x6</BitOffset>
  11593. <BitWidth>0x1</BitWidth>
  11594. <Access>RW</Access>
  11595. <Values>
  11596. <Val value="0x0">Reset generated when entering Standby mode</Val>
  11597. <Val value="0x1">No reset generated</Val>
  11598. </Values>
  11599. </Bit>
  11600. <Bit>
  11601. <Name>nBFB2</Name>
  11602. <Description/>
  11603. <BitOffset>0x7</BitOffset>
  11604. <BitWidth>0x1</BitWidth>
  11605. <Access>RW</Access>
  11606. <Values>
  11607. <Val value="0x0">If boot from Flash then boot from bank 2</Val>
  11608. <Val value="0x1">If boot from Flash then boot from bank 1</Val>
  11609. </Values>
  11610. </Bit>
  11611. </AssignedBits>
  11612. </Field>
  11613. </Category>
  11614. <Category>
  11615. <Name>Write Protection</Name>
  11616. <Field>
  11617. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  11618. <AssignedBits>
  11619. <Bit>
  11620. <Name>WRP0</Name>
  11621. <Description/>
  11622. <BitOffset>0x0</BitOffset>
  11623. <BitWidth>0x10</BitWidth>
  11624. <Access>RW</Access>
  11625. <Values ByBit="true">
  11626. <Val value="0x0">Write protection not active</Val>
  11627. <Val value="0x1">Write protection active</Val>
  11628. </Values>
  11629. </Bit>
  11630. </AssignedBits>
  11631. </Field>
  11632. <Field>
  11633. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  11634. <AssignedBits>
  11635. <Bit>
  11636. <Name>WRP16</Name>
  11637. <Description/>
  11638. <BitOffset>0x0</BitOffset>
  11639. <BitWidth>0x10</BitWidth>
  11640. <Access>RW</Access>
  11641. <Values ByBit="true">
  11642. <Val value="0x0">Write protection not active</Val>
  11643. <Val value="0x1">Write protection active</Val>
  11644. </Values>
  11645. </Bit>
  11646. </AssignedBits>
  11647. </Field>
  11648. <Field>
  11649. <Parameters name="WRP2" size="0x8" address="0x1FF80010"/>
  11650. <AssignedBits>
  11651. <Bit>
  11652. <Name>WRP32</Name>
  11653. <Description/>
  11654. <BitOffset>0x0</BitOffset>
  11655. <BitWidth>0x10</BitWidth>
  11656. <Access>RW</Access>
  11657. <Values ByBit="true">
  11658. <Val value="0x0">Write protection not active</Val>
  11659. <Val value="0x1">Write protection active</Val>
  11660. </Values>
  11661. </Bit>
  11662. </AssignedBits>
  11663. </Field>
  11664. <Field>
  11665. <Parameters name="WRP2" size="0x8" address="0x1FF80014"/>
  11666. <AssignedBits>
  11667. <Bit>
  11668. <Name>WRP48</Name>
  11669. <Description/>
  11670. <BitOffset>0x0</BitOffset>
  11671. <BitWidth>0x10</BitWidth>
  11672. <Access>RW</Access>
  11673. <Values ByBit="true">
  11674. <Val value="0x0">Write protection not active</Val>
  11675. <Val value="0x1">Write protection active</Val>
  11676. </Values>
  11677. </Bit>
  11678. </AssignedBits>
  11679. </Field>
  11680. <Field>
  11681. <Parameters name="WRP3" size="0x8" address="0x1FF80018"/>
  11682. <AssignedBits>
  11683. <Bit>
  11684. <Name>WRP64</Name>
  11685. <Description/>
  11686. <BitOffset>0x0</BitOffset>
  11687. <BitWidth>0x10</BitWidth>
  11688. <Access>RW</Access>
  11689. <Values ByBit="true">
  11690. <Val value="0x0">Write protection not active</Val>
  11691. <Val value="0x1">Write protection active</Val>
  11692. </Values>
  11693. </Bit>
  11694. </AssignedBits>
  11695. </Field>
  11696. <Field>
  11697. <Parameters name="WRP3" size="0x8" address="0x1FF8001C"/>
  11698. <AssignedBits>
  11699. <Bit>
  11700. <Name>WRP80</Name>
  11701. <Description/>
  11702. <BitOffset>0x0</BitOffset>
  11703. <BitWidth>0x10</BitWidth>
  11704. <Access>RW</Access>
  11705. <Values ByBit="true">
  11706. <Val value="0x0">Write protection not active</Val>
  11707. <Val value="0x1">Write protection active</Val>
  11708. </Values>
  11709. </Bit>
  11710. </AssignedBits>
  11711. </Field>
  11712. </Category>
  11713. </Bank>
  11714. </Peripheral>
  11715. </Peripherals>
  11716. </Device>
  11717. <!-- Device: 0x429 -->
  11718. <Device>
  11719. <DeviceID>0x429</DeviceID>
  11720. <Vendor>STMicroelectronics</Vendor>
  11721. <Type>MCU</Type>
  11722. <CPU>Cortex-M3</CPU>
  11723. <Name>STM32L100x6xxA/STM32L100x8xxA/STM32L100xBxxA/STM32L15xx6xxA/STM32L15xx8xxA/STM32L15xxBxxA</Name>
  11724. <Series>STM32L1</Series>
  11725. <Description>ARM 32-bit Cortex-M3 based device</Description>
  11726. <Configurations>
  11727. <!-- JTAG_SWD Interface -->
  11728. <Interface name="JTAG_SWD">
  11729. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  11730. <SPRMode reference="0x1">
  11731. <ReadRegister address="0x40023C1C" mask="0x000000100" value="0x0"/>
  11732. </SPRMode>
  11733. </Configuration>
  11734. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  11735. <SPRMode reference="0x0">
  11736. <ReadRegister address="0x40023C1C" mask="0x000000100" value="0x100"/>
  11737. </SPRMode>
  11738. </Configuration>
  11739. </Interface>
  11740. <!-- Bootloader Interface -->
  11741. <Interface name="Bootloader">
  11742. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  11743. <SPRMode reference="0x1">
  11744. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x0"/>
  11745. </SPRMode>
  11746. </Configuration>
  11747. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  11748. <SPRMode reference="0x0">
  11749. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x100"/>
  11750. </SPRMode>
  11751. </Configuration>
  11752. </Interface>
  11753. </Configurations>
  11754. <!-- Peripherals -->
  11755. <Peripherals>
  11756. <!-- Embedded SRAM -->
  11757. <Peripheral>
  11758. <Name>Embedded SRAM</Name>
  11759. <Type>Storage</Type>
  11760. <Description/>
  11761. <ErasedValue>0x00</ErasedValue>
  11762. <Access>RWE</Access>
  11763. <!-- 16 KB -->
  11764. <Configuration>
  11765. <Parameters name="SRAM" size="0x4000" address="0x20000000"/>
  11766. <Description/>
  11767. <Organization>Single</Organization>
  11768. <Bank name="Bank 1">
  11769. <Field>
  11770. <Parameters name="SRAM" size="0x4000" address="0x20000000" occurence="0x1"/>
  11771. </Field>
  11772. </Bank>
  11773. </Configuration>
  11774. </Peripheral>
  11775. <!-- Embedded Flash -->
  11776. <Peripheral>
  11777. <Name>Embedded Flash</Name>
  11778. <Type>Storage</Type>
  11779. <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>
  11780. <ErasedValue>0x00</ErasedValue>
  11781. <Access>RWE</Access>
  11782. <FlashSize address="0x1FF8004C" default="0x20000"/>
  11783. <!-- 128KB single Bank -->
  11784. <Configuration>
  11785. <Parameters name=" 128 Kbytes Embedded Flash" size="0x20000" address="0x08000000"/>
  11786. <Description/>
  11787. <Organization>Single</Organization>
  11788. <Allignement>0x4</Allignement>
  11789. <Bank name="Bank 1">
  11790. <Field>
  11791. <Parameters name="sector0" size="0x100" address="0x08000000" occurence="0x200"/>
  11792. </Field>
  11793. </Bank>
  11794. </Configuration>
  11795. </Peripheral>
  11796. <!-- Data EEPROM -->
  11797. <Peripheral>
  11798. <Name>Data EEPROM</Name>
  11799. <Type>Storage</Type>
  11800. <Description>The Data EEPROM memory block. It contains user data.</Description>
  11801. <ErasedValue>0x00</ErasedValue>
  11802. <Access>RWE</Access>
  11803. <!-- 1KB single Bank -->
  11804. <Configuration>
  11805. <Parameters name=" 4096 bytes Data EEPROM" size="0x1000" address="0x08080000"/>
  11806. <Description/>
  11807. <Organization>Single</Organization>
  11808. <Allignement>0x4</Allignement>
  11809. <Bank name="Bank 1">
  11810. <Field>
  11811. <Parameters name="EEPROM1" size="0x1000" address="0x08080000" occurence="0x1"/>
  11812. </Field>
  11813. </Bank>
  11814. </Configuration>
  11815. </Peripheral>
  11816. <!-- Mirror Option Bytes -->
  11817. <Peripheral>
  11818. <Name>MirrorOptionBytes</Name>
  11819. <Type>Storage</Type>
  11820. <Description>Mirror Option Bytes contains the extra area.</Description>
  11821. <ErasedValue>0xFF</ErasedValue>
  11822. <Access>RW</Access>
  11823. <!-- 24 Bytes single bank -->
  11824. <Configuration>
  11825. <Parameters name=" 24 Bytes Data MirrorOptionBytes" size="0x18" address="0x1FF80000"/>
  11826. <Description/>
  11827. <Organization>Single</Organization>
  11828. <Allignement>0x4</Allignement>
  11829. <Bank name="MirrorOptionBytes">
  11830. <Field>
  11831. <Parameters name="MirrorOptionBytes" size="0x18" address="0x1FF80000" occurence="0x1"/>
  11832. </Field>
  11833. </Bank>
  11834. </Configuration>
  11835. </Peripheral>
  11836. <!-- Option Bytes -->
  11837. <Peripheral>
  11838. <Name>Option Bytes</Name>
  11839. <Type>Configuration</Type>
  11840. <Description/>
  11841. <Access>RW</Access>
  11842. <Bank interface="JTAG_SWD">
  11843. <Parameters name="Bank 1" size="0x88" address="0x40023C1C"/>
  11844. <Category>
  11845. <Name>Read Out Protection</Name>
  11846. <Field>
  11847. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  11848. <AssignedBits>
  11849. <Bit>
  11850. <Name>RDP</Name>
  11851. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  11852. <BitOffset>0x0</BitOffset>
  11853. <BitWidth>0x8</BitWidth>
  11854. <Access>R</Access>
  11855. <Values>
  11856. <Val value="0xAA">Level 0, no protection</Val>
  11857. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  11858. <Val value="0xCC">Level 2, chip protection</Val>
  11859. </Values>
  11860. </Bit>
  11861. </AssignedBits>
  11862. </Field>
  11863. </Category>
  11864. <Category>
  11865. <Name>PCROP Protection</Name>
  11866. <Field>
  11867. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  11868. <AssignedBits>
  11869. <Bit reference="SPRMode">
  11870. <Name>SPRMOD</Name>
  11871. <Description>Sector protection mode selection option byte.</Description>
  11872. <BitOffset>0x8</BitOffset>
  11873. <BitWidth>0x1</BitWidth>
  11874. <Access>R</Access>
  11875. <Values>
  11876. <Val value="0x0">WRPx bit defines sector write protection</Val>
  11877. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  11878. </Values>
  11879. </Bit>
  11880. </AssignedBits>
  11881. </Field>
  11882. </Category>
  11883. <Category>
  11884. <Name>BOR Level</Name>
  11885. <Field>
  11886. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  11887. <AssignedBits>
  11888. <Bit>
  11889. <Name>BOR_LEV</Name>
  11890. <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>
  11891. <BitOffset>0x10</BitOffset>
  11892. <BitWidth>0x4</BitWidth>
  11893. <Access>R</Access>
  11894. <Values>
  11895. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11896. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11897. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11898. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11899. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11900. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  11901. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  11902. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  11903. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  11904. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  11905. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  11906. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  11907. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  11908. </Values>
  11909. </Bit>
  11910. </AssignedBits>
  11911. </Field>
  11912. </Category>
  11913. <Category>
  11914. <Name>User Configuration</Name>
  11915. <Field>
  11916. <Parameters nname="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  11917. <AssignedBits>
  11918. <Bit>
  11919. <Name>IWDG_SW</Name>
  11920. <Description/>
  11921. <BitOffset>0x14</BitOffset>
  11922. <BitWidth>0x1</BitWidth>
  11923. <Access>R</Access>
  11924. <Values>
  11925. <Val value="0x0">Hardware independant watchdog</Val>
  11926. <Val value="0x1">Software independant watchdog</Val>
  11927. </Values>
  11928. </Bit>
  11929. <Bit>
  11930. <Name>nRST_STOP</Name>
  11931. <Description/>
  11932. <BitOffset>0x15</BitOffset>
  11933. <BitWidth>0x1</BitWidth>
  11934. <Access>R</Access>
  11935. <Values>
  11936. <Val value="0x0">Reset generated when entering Stop mode</Val>
  11937. <Val value="0x1">No reset generated</Val>
  11938. </Values>
  11939. </Bit>
  11940. <Bit>
  11941. <Name>nRST_STDBY</Name>
  11942. <Description/>
  11943. <BitOffset>0x16</BitOffset>
  11944. <BitWidth>0x1</BitWidth>
  11945. <Access>R</Access>
  11946. <Values>
  11947. <Val value="0x0">Reset generated when entering Standby mode</Val>
  11948. <Val value="0x1">No reset generated</Val>
  11949. </Values>
  11950. </Bit>
  11951. </AssignedBits>
  11952. </Field>
  11953. </Category>
  11954. <Category>
  11955. <Name>Write Protection</Name>
  11956. <Field>
  11957. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40023C20"/>
  11958. <AssignedBits>
  11959. <Bit config="0">
  11960. <Name>WRP0</Name>
  11961. <Description/>
  11962. <BitOffset>0x0</BitOffset>
  11963. <BitWidth>0x20</BitWidth>
  11964. <Access>R</Access>
  11965. <Values ByBit="true">
  11966. <Val value="0x0">Write protection not active</Val>
  11967. <Val value="0x1">Write protection active</Val>
  11968. </Values>
  11969. </Bit>
  11970. <Bit config="1">
  11971. <Name>WRP0</Name>
  11972. <Description/>
  11973. <BitOffset>0x0</BitOffset>
  11974. <BitWidth>0x20</BitWidth>
  11975. <Access>R</Access>
  11976. <Values ByBit="true">
  11977. <Val value="0x0">read/Write protection active</Val>
  11978. <Val value="0x1">read/Write protection not active</Val>
  11979. </Values>
  11980. </Bit>
  11981. </AssignedBits>
  11982. </Field>
  11983. </Category>
  11984. </Bank>
  11985. <Bank interface="JTAG_SWD">
  11986. <Parameters name="Bank 2" size="0x88" address="0x1FF80000"/>
  11987. <Category>
  11988. <Name>Read Out Protection</Name>
  11989. <Field>
  11990. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  11991. <AssignedBits>
  11992. <Bit>
  11993. <Name>RDP</Name>
  11994. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  11995. <BitOffset>0x0</BitOffset>
  11996. <BitWidth>0x8</BitWidth>
  11997. <Access>W</Access>
  11998. <Values>
  11999. <Val value="0xAA">Level 0, no protection</Val>
  12000. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  12001. <Val value="0xCC">Level 2, chip protection</Val>
  12002. </Values>
  12003. </Bit>
  12004. </AssignedBits>
  12005. </Field>
  12006. </Category>
  12007. <Category>
  12008. <Name>PCROP Protection</Name>
  12009. <Field>
  12010. <Parameters name="SPRMOD" size="0x4" address="0x1FF80000"/>
  12011. <AssignedBits>
  12012. <Bit reference="SPRMode">
  12013. <Name>SPRMOD</Name>
  12014. <Description>Sector protection mode selection option byte.</Description>
  12015. <BitOffset>0x8</BitOffset>
  12016. <BitWidth>0x1</BitWidth>
  12017. <Access>W</Access>
  12018. <Values>
  12019. <Val value="0x0">WRPx bit defines sector write protection</Val>
  12020. <Val value="0x1">WRPx bit defines sector write/read (PCROP) protection</Val>
  12021. </Values>
  12022. </Bit>
  12023. </AssignedBits>
  12024. </Field>
  12025. </Category>
  12026. <Category>
  12027. <Name>BOR Level</Name>
  12028. <Field>
  12029. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  12030. <AssignedBits>
  12031. <Bit>
  12032. <Name>BOR_LEV</Name>
  12033. <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>
  12034. <BitOffset>0x0</BitOffset>
  12035. <BitWidth>0x4</BitWidth>
  12036. <Access>W</Access>
  12037. <Values>
  12038. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12039. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12040. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12041. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12042. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12043. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12044. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12045. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12046. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  12047. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  12048. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  12049. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  12050. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  12051. </Values>
  12052. </Bit>
  12053. </AssignedBits>
  12054. </Field>
  12055. </Category>
  12056. <Category>
  12057. <Name>User Configuration</Name>
  12058. <Field>
  12059. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  12060. <AssignedBits>
  12061. <Bit>
  12062. <Name>IWDG_SW</Name>
  12063. <Description/>
  12064. <BitOffset>0x4</BitOffset>
  12065. <BitWidth>0x1</BitWidth>
  12066. <Access>W</Access>
  12067. <Values>
  12068. <Val value="0x0">Hardware independant watchdog</Val>
  12069. <Val value="0x1">Software independant watchdog</Val>
  12070. </Values>
  12071. </Bit>
  12072. <Bit>
  12073. <Name>nRST_STOP</Name>
  12074. <Description/>
  12075. <BitOffset>0x5</BitOffset>
  12076. <BitWidth>0x1</BitWidth>
  12077. <Access>W</Access>
  12078. <Values>
  12079. <Val value="0x0">Reset generated when entering Stop mode</Val>
  12080. <Val value="0x1">No reset generated</Val>
  12081. </Values>
  12082. </Bit>
  12083. <Bit>
  12084. <Name>nRST_STDBY</Name>
  12085. <Description/>
  12086. <BitOffset>0x6</BitOffset>
  12087. <BitWidth>0x1</BitWidth>
  12088. <Access>W</Access>
  12089. <Values>
  12090. <Val value="0x0">Reset generated when entering Standby mode</Val>
  12091. <Val value="0x1">No reset generated</Val>
  12092. </Values>
  12093. </Bit>
  12094. </AssignedBits>
  12095. </Field>
  12096. </Category>
  12097. <Category>
  12098. <Name>Write Protection</Name>
  12099. <Field>
  12100. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  12101. <AssignedBits>
  12102. <Bit config="0">
  12103. <Name>WRP0</Name>
  12104. <Description/>
  12105. <BitOffset>0x0</BitOffset>
  12106. <BitWidth>0x10</BitWidth>
  12107. <Access>W</Access>
  12108. <Values ByBit="true">
  12109. <Val value="0x0">Write protection not active</Val>
  12110. <Val value="0x1">Write protection active</Val>
  12111. </Values>
  12112. </Bit>
  12113. <Bit config="1">
  12114. <Name>WRP0</Name>
  12115. <Description/>
  12116. <BitOffset>0x0</BitOffset>
  12117. <BitWidth>0x10</BitWidth>
  12118. <Access>W</Access>
  12119. <Values ByBit="true">
  12120. <Val value="0x0">read/Write protection active</Val>
  12121. <Val value="0x1">read/Write protection active</Val>
  12122. </Values>
  12123. </Bit>
  12124. </AssignedBits>
  12125. </Field>
  12126. <Field>
  12127. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  12128. <AssignedBits>
  12129. <Bit config="0">
  12130. <Name>WRP16</Name>
  12131. <Description/>
  12132. <BitOffset>0x0</BitOffset>
  12133. <BitWidth>0x10</BitWidth>
  12134. <Access>W</Access>
  12135. <Values ByBit="true">
  12136. <Val value="0x0">Write protection not active</Val>
  12137. <Val value="0x1">Write protection active</Val>
  12138. </Values>
  12139. </Bit>
  12140. <Bit config="1">
  12141. <Name>WRP16</Name>
  12142. <Description/>
  12143. <BitOffset>0x0</BitOffset>
  12144. <BitWidth>0x10</BitWidth>
  12145. <Access>W</Access>
  12146. <Values ByBit="true">
  12147. <Val value="0x0">read/Write protection active</Val>
  12148. <Val value="0x1">read/Write protection active</Val>
  12149. </Values>
  12150. </Bit>
  12151. </AssignedBits>
  12152. </Field>
  12153. </Category>
  12154. </Bank>
  12155. <Bank interface="Bootloader">
  12156. <Parameters name="Bank 1" size="0x18" address="0x1FF80000"/>
  12157. <Category>
  12158. <Name>Read Out Protection</Name>
  12159. <Field>
  12160. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  12161. <AssignedBits>
  12162. <Bit>
  12163. <Name>RDP</Name>
  12164. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  12165. <BitOffset>0x0</BitOffset>
  12166. <BitWidth>0x8</BitWidth>
  12167. <Access>RW</Access>
  12168. <Values>
  12169. <Val value="0xAA">Level 0, no protection</Val>
  12170. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  12171. <Val value="0xCC">Level 2, chip protection</Val>
  12172. </Values>
  12173. </Bit>
  12174. </AssignedBits>
  12175. </Field>
  12176. </Category>
  12177. <Category>
  12178. <Name>PCROP Protection</Name>
  12179. <Field>
  12180. <Parameters name="SPRMOD" size="0x4" address="0x1FF80000"/>
  12181. <AssignedBits>
  12182. <Bit reference="SPRMode">
  12183. <Name>SPRMOD</Name>
  12184. <Description>Sector protection mode selection option byte.</Description>
  12185. <BitOffset>0x8</BitOffset>
  12186. <BitWidth>0x1</BitWidth>
  12187. <Access>RW</Access>
  12188. <Values>
  12189. <Val value="0x0">WRPx bit defines sector write protection</Val>
  12190. <Val value="0x1">WRPx bit defines sector write/read (PCROP) protection</Val>
  12191. </Values>
  12192. </Bit>
  12193. </AssignedBits>
  12194. </Field>
  12195. </Category>
  12196. <Category>
  12197. <Name>BOR Level</Name>
  12198. <Field>
  12199. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  12200. <AssignedBits>
  12201. <Bit>
  12202. <Name>BOR_LEV</Name>
  12203. <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>
  12204. <BitOffset>0x0</BitOffset>
  12205. <BitWidth>0x4</BitWidth>
  12206. <Access>RW</Access>
  12207. <Values>
  12208. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12209. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12210. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12211. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12212. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12213. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12214. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12215. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12216. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  12217. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  12218. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  12219. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  12220. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  12221. </Values>
  12222. </Bit>
  12223. </AssignedBits>
  12224. </Field>
  12225. </Category>
  12226. <Category>
  12227. <Name>User Configuration</Name>
  12228. <Field>
  12229. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  12230. <AssignedBits>
  12231. <Bit>
  12232. <Name>IWDG_SW</Name>
  12233. <Description/>
  12234. <BitOffset>0x4</BitOffset>
  12235. <BitWidth>0x1</BitWidth>
  12236. <Access>RW</Access>
  12237. <Values>
  12238. <Val value="0x0">Hardware independant watchdog</Val>
  12239. <Val value="0x1">Software independant watchdog</Val>
  12240. </Values>
  12241. </Bit>
  12242. <Bit>
  12243. <Name>nRST_STOP</Name>
  12244. <Description/>
  12245. <BitOffset>0x5</BitOffset>
  12246. <BitWidth>0x1</BitWidth>
  12247. <Access>RW</Access>
  12248. <Values>
  12249. <Val value="0x0">Reset generated when entering Stop mode</Val>
  12250. <Val value="0x1">No reset generated</Val>
  12251. </Values>
  12252. </Bit>
  12253. <Bit>
  12254. <Name>nRST_STDBY</Name>
  12255. <Description/>
  12256. <BitOffset>0x6</BitOffset>
  12257. <BitWidth>0x1</BitWidth>
  12258. <Access>RW</Access>
  12259. <Values>
  12260. <Val value="0x0">Reset generated when entering Standby mode</Val>
  12261. <Val value="0x1">No reset generated</Val>
  12262. </Values>
  12263. </Bit>
  12264. </AssignedBits>
  12265. </Field>
  12266. </Category>
  12267. <Category>
  12268. <Name>Write Protection</Name>
  12269. <Field>
  12270. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  12271. <AssignedBits>
  12272. <Bit config="0">
  12273. <Name>WRP0</Name>
  12274. <Description/>
  12275. <BitOffset>0x0</BitOffset>
  12276. <BitWidth>0x10</BitWidth>
  12277. <Access>RW</Access>
  12278. <Values ByBit="true">
  12279. <Val value="0x0">Write protection not active</Val>
  12280. <Val value="0x1">Write protection active</Val>
  12281. </Values>
  12282. </Bit>
  12283. <Bit config="1">
  12284. <Name>WRP0</Name>
  12285. <Description/>
  12286. <BitOffset>0x0</BitOffset>
  12287. <BitWidth>0x10</BitWidth>
  12288. <Access>RW</Access>
  12289. <Values ByBit="true">
  12290. <Val value="0x0">read/Write protection active</Val>
  12291. <Val value="0x1">read/Write protection active</Val>
  12292. </Values>
  12293. </Bit>
  12294. </AssignedBits>
  12295. </Field>
  12296. <Field>
  12297. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  12298. <AssignedBits>
  12299. <Bit config="0">
  12300. <Name>WRP16</Name>
  12301. <Description/>
  12302. <BitOffset>0x0</BitOffset>
  12303. <BitWidth>0x10</BitWidth>
  12304. <Access>RW</Access>
  12305. <Values ByBit="true">
  12306. <Val value="0x0">Write protection not active</Val>
  12307. <Val value="0x1">Write protection active</Val>
  12308. </Values>
  12309. </Bit>
  12310. <Bit config="1">
  12311. <Name>WRP16</Name>
  12312. <Description/>
  12313. <BitOffset>0x0</BitOffset>
  12314. <BitWidth>0x10</BitWidth>
  12315. <Access>RW</Access>
  12316. <Values ByBit="true">
  12317. <Val value="0x0">read/Write protection active</Val>
  12318. <Val value="0x1">read/Write protection active</Val>
  12319. </Values>
  12320. </Bit>
  12321. </AssignedBits>
  12322. </Field>
  12323. </Category>
  12324. </Bank>
  12325. </Peripheral>
  12326. </Peripherals>
  12327. </Device>
  12328. <!-- Device: 0x427 -->
  12329. <Device>
  12330. <DeviceID>0x427</DeviceID>
  12331. <Vendor>STMicroelectronics</Vendor>
  12332. <Type>MCU</Type>
  12333. <CPU>Cortex-M3</CPU>
  12334. <Name>STM32L100xC/STM32L15xxC/STM32L162xC</Name>
  12335. <Series>STM32L1</Series>
  12336. <Description>ARM 32-bit Cortex-M3 based device</Description>
  12337. <Configurations>
  12338. <!-- JTAG_SWD Interface -->
  12339. <Interface name="JTAG_SWD">
  12340. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  12341. <SPRMode reference="0x1">
  12342. <ReadRegister address="0x40023C1C" mask="0x000000100" value="0x0"/>
  12343. </SPRMode>
  12344. </Configuration>
  12345. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  12346. <SPRMode reference="0x0">
  12347. <ReadRegister address="0x40023C1C" mask="0x000000100" value="0x100"/>
  12348. </SPRMode>
  12349. </Configuration>
  12350. </Interface>
  12351. <!-- Bootloader Interface -->
  12352. <Interface name="Bootloader">
  12353. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  12354. <SPRMode reference="0x1">
  12355. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x0"/>
  12356. </SPRMode>
  12357. </Configuration>
  12358. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  12359. <SPRMode reference="0x0">
  12360. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x100"/>
  12361. </SPRMode>
  12362. </Configuration>
  12363. </Interface>
  12364. </Configurations>
  12365. <!-- Peripherals -->
  12366. <Peripherals>
  12367. <!-- Embedded SRAM -->
  12368. <Peripheral>
  12369. <Name>Embedded SRAM</Name>
  12370. <Type>Storage</Type>
  12371. <Description/>
  12372. <ErasedValue>0x00</ErasedValue>
  12373. <Access>RWE</Access>
  12374. <!-- 32 KB -->
  12375. <Configuration>
  12376. <Parameters name="SRAM" size="0x8000" address="0x20000000"/>
  12377. <Description/>
  12378. <Organization>Single</Organization>
  12379. <Bank name="Bank 1">
  12380. <Field>
  12381. <Parameters name="SRAM" size="0x8000" address="0x20000000" occurence="0x1"/>
  12382. </Field>
  12383. </Bank>
  12384. </Configuration>
  12385. </Peripheral>
  12386. <!-- Embedded Flash -->
  12387. <Peripheral>
  12388. <Name>Embedded Flash</Name>
  12389. <Type>Storage</Type>
  12390. <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>
  12391. <ErasedValue>0x00</ErasedValue>
  12392. <Access>RWE</Access>
  12393. <FlashSize address="0x1FF800CC" default="0x40000"/>
  12394. <!-- 256KB single Bank -->
  12395. <Configuration>
  12396. <Parameters name=" 256 Kbytes Embedded Flash" size="0x40000" address="0x08000000"/>
  12397. <Description/>
  12398. <Organization>Single</Organization>
  12399. <Allignement>0x4</Allignement>
  12400. <Bank name="Bank 1">
  12401. <Field>
  12402. <Parameters name="sector0" size="0x100" address="0x08000000" occurence="0x400"/>
  12403. </Field>
  12404. </Bank>
  12405. </Configuration>
  12406. </Peripheral>
  12407. <!-- Data EEPROM -->
  12408. <Peripheral>
  12409. <Name>Data EEPROM</Name>
  12410. <Type>Storage</Type>
  12411. <Description>The Data EEPROM memory block. It contains user data.</Description>
  12412. <ErasedValue>0x00</ErasedValue>
  12413. <Access>RWE</Access>
  12414. <!-- 8KB single Bank -->
  12415. <Configuration>
  12416. <Parameters name=" 8 Kbytes Data EEPROM" size="0x2000" address="0x08080000"/>
  12417. <Description/>
  12418. <Organization>Single</Organization>
  12419. <Allignement>0x4</Allignement>
  12420. <Bank name="Bank 1">
  12421. <Field>
  12422. <Parameters name="EEPROM1" size="0x2000" address="0x08080000" occurence="0x1"/>
  12423. </Field>
  12424. </Bank>
  12425. </Configuration>
  12426. </Peripheral>
  12427. <!-- Mirror Option Bytes -->
  12428. <Peripheral>
  12429. <Name>MirrorOptionBytes</Name>
  12430. <Type>Storage</Type>
  12431. <Description>Mirror Option Bytes contains the extra area.</Description>
  12432. <ErasedValue>0xFF</ErasedValue>
  12433. <Access>RW</Access>
  12434. <!-- 24 Bytes single bank -->
  12435. <Configuration>
  12436. <Parameters name=" 24 Bytes Data MirrorOptionBytes" size="0x18" address="0x1FF80000"/>
  12437. <Description/>
  12438. <Organization>Single</Organization>
  12439. <Allignement>0x4</Allignement>
  12440. <Bank name="MirrorOptionBytes">
  12441. <Field>
  12442. <Parameters name="MirrorOptionBytes" size="0x18" address="0x1FF80000" occurence="0x1"/>
  12443. </Field>
  12444. </Bank>
  12445. </Configuration>
  12446. </Peripheral>
  12447. <!-- Option Bytes -->
  12448. <Peripheral>
  12449. <Name>Option Bytes</Name>
  12450. <Type>Configuration</Type>
  12451. <Description/>
  12452. <Access>RW</Access>
  12453. <Bank interface="JTAG_SWD">
  12454. <Parameters name="Bank 1" size="0x88" address="0x40023C1C"/>
  12455. <Category>
  12456. <Name>Read Out Protection</Name>
  12457. <Field>
  12458. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  12459. <AssignedBits>
  12460. <Bit>
  12461. <Name>RDP</Name>
  12462. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  12463. <BitOffset>0x0</BitOffset>
  12464. <BitWidth>0x8</BitWidth>
  12465. <Access>R</Access>
  12466. <Values>
  12467. <Val value="0xAA">Level 0, no protection</Val>
  12468. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  12469. <Val value="0xCC">Level 2, chip protection</Val>
  12470. </Values>
  12471. </Bit>
  12472. </AssignedBits>
  12473. </Field>
  12474. </Category>
  12475. <Category>
  12476. <Name>PCROP Protection</Name>
  12477. <Field>
  12478. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  12479. <AssignedBits>
  12480. <Bit reference="SPRMode">
  12481. <Name>SPRMOD</Name>
  12482. <Description>Sector protection mode selection option byte.</Description>
  12483. <BitOffset>0x8</BitOffset>
  12484. <BitWidth>0x1</BitWidth>
  12485. <Access>R</Access>
  12486. <Values>
  12487. <Val value="0x0">WRPx bit defines sector write protection</Val>
  12488. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  12489. </Values>
  12490. </Bit>
  12491. </AssignedBits>
  12492. </Field>
  12493. </Category>
  12494. <Category>
  12495. <Name>BOR Level</Name>
  12496. <Field>
  12497. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  12498. <AssignedBits>
  12499. <Bit>
  12500. <Name>BOR_LEV</Name>
  12501. <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>
  12502. <BitOffset>0x10</BitOffset>
  12503. <BitWidth>0x4</BitWidth>
  12504. <Access>R</Access>
  12505. <Values>
  12506. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12507. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12508. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12509. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12510. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12511. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12512. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12513. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12514. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  12515. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  12516. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  12517. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  12518. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  12519. </Values>
  12520. </Bit>
  12521. </AssignedBits>
  12522. </Field>
  12523. </Category>
  12524. <Category>
  12525. <Name>User Configuration</Name>
  12526. <Field>
  12527. <Parameters nname="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  12528. <AssignedBits>
  12529. <Bit>
  12530. <Name>IWDG_SW</Name>
  12531. <Description/>
  12532. <BitOffset>0x14</BitOffset>
  12533. <BitWidth>0x1</BitWidth>
  12534. <Access>R</Access>
  12535. <Values>
  12536. <Val value="0x0">Hardware independant watchdog</Val>
  12537. <Val value="0x1">Software independant watchdog</Val>
  12538. </Values>
  12539. </Bit>
  12540. <Bit>
  12541. <Name>nRST_STOP</Name>
  12542. <Description/>
  12543. <BitOffset>0x15</BitOffset>
  12544. <BitWidth>0x1</BitWidth>
  12545. <Access>R</Access>
  12546. <Values>
  12547. <Val value="0x0">Reset generated when entering Stop mode</Val>
  12548. <Val value="0x1">No reset generated</Val>
  12549. </Values>
  12550. </Bit>
  12551. <Bit>
  12552. <Name>nRST_STDBY</Name>
  12553. <Description/>
  12554. <BitOffset>0x16</BitOffset>
  12555. <BitWidth>0x1</BitWidth>
  12556. <Access>R</Access>
  12557. <Values>
  12558. <Val value="0x0">Reset generated when entering Standby mode</Val>
  12559. <Val value="0x1">No reset generated</Val>
  12560. </Values>
  12561. </Bit>
  12562. </AssignedBits>
  12563. </Field>
  12564. </Category>
  12565. <Category>
  12566. <Name>Write Protection</Name>
  12567. <Field>
  12568. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40023C20"/>
  12569. <AssignedBits>
  12570. <Bit config="0">
  12571. <Name>WRP0</Name>
  12572. <Description/>
  12573. <BitOffset>0x0</BitOffset>
  12574. <BitWidth>0x20</BitWidth>
  12575. <Access>R</Access>
  12576. <Values ByBit="true">
  12577. <Val value="0x0">Write protection not active</Val>
  12578. <Val value="0x1">Write protection active</Val>
  12579. </Values>
  12580. </Bit>
  12581. <Bit config="1">
  12582. <Name>WRP0</Name>
  12583. <Description/>
  12584. <BitOffset>0x0</BitOffset>
  12585. <BitWidth>0x20</BitWidth>
  12586. <Access>R</Access>
  12587. <Values ByBit="true">
  12588. <Val value="0x0">read/Write protection active</Val>
  12589. <Val value="0x1">read/Write protection not active</Val>
  12590. </Values>
  12591. </Bit>
  12592. </AssignedBits>
  12593. </Field>
  12594. <Field>
  12595. <Parameters name="FLASH_WRPR2" size="0x4" address="0x40023C80"/>
  12596. <AssignedBits>
  12597. <Bit config="0">
  12598. <Name>WRP32</Name>
  12599. <Description/>
  12600. <BitOffset>0x0</BitOffset>
  12601. <BitWidth>0x20</BitWidth>
  12602. <Access>R</Access>
  12603. <Values ByBit="true">
  12604. <Val value="0x0">Write protection not active</Val>
  12605. <Val value="0x1">Write protection active</Val>
  12606. </Values>
  12607. </Bit>
  12608. <Bit config="1">
  12609. <Name>WRP32</Name>
  12610. <Description/>
  12611. <BitOffset>0x0</BitOffset>
  12612. <BitWidth>0x20</BitWidth>
  12613. <Access>R</Access>
  12614. <Values ByBit="true">
  12615. <Val value="0x0">read/Write protection active</Val>
  12616. <Val value="0x1">read/Write protection not active</Val>
  12617. </Values>
  12618. </Bit>
  12619. </AssignedBits>
  12620. </Field>
  12621. </Category>
  12622. </Bank>
  12623. <Bank interface="JTAG_SWD">
  12624. <Parameters name="Bank 2" size="0x88" address="0x1FF80000"/>
  12625. <Category>
  12626. <Name>Read Out Protection</Name>
  12627. <Field>
  12628. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  12629. <AssignedBits>
  12630. <Bit>
  12631. <Name>RDP</Name>
  12632. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  12633. <BitOffset>0x0</BitOffset>
  12634. <BitWidth>0x8</BitWidth>
  12635. <Access>W</Access>
  12636. <Values>
  12637. <Val value="0xAA">Level 0, no protection</Val>
  12638. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  12639. <Val value="0xCC">Level 2, chip protection</Val>
  12640. </Values>
  12641. </Bit>
  12642. </AssignedBits>
  12643. </Field>
  12644. </Category>
  12645. <Category>
  12646. <Name>PCROP Protection</Name>
  12647. <Field>
  12648. <Parameters name="SPRMOD" size="0x4" address="0x1FF80000"/>
  12649. <AssignedBits>
  12650. <Bit reference="SPRMode">
  12651. <Name>SPRMOD</Name>
  12652. <Description>Sector protection mode selection option byte.</Description>
  12653. <BitOffset>0x8</BitOffset>
  12654. <BitWidth>0x1</BitWidth>
  12655. <Access>W</Access>
  12656. <Values>
  12657. <Val value="0x0">WRPx bit defines sector write protection</Val>
  12658. <Val value="0x1">WRPx bit defines sector write/read (PCROP) protection</Val>
  12659. </Values>
  12660. </Bit>
  12661. </AssignedBits>
  12662. </Field>
  12663. </Category>
  12664. <Category>
  12665. <Name>BOR Level</Name>
  12666. <Field>
  12667. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  12668. <AssignedBits>
  12669. <Bit>
  12670. <Name>BOR_LEV</Name>
  12671. <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>
  12672. <BitOffset>0x0</BitOffset>
  12673. <BitWidth>0x4</BitWidth>
  12674. <Access>W</Access>
  12675. <Values>
  12676. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12677. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12678. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12679. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12680. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12681. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12682. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12683. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12684. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  12685. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  12686. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  12687. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  12688. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  12689. </Values>
  12690. </Bit>
  12691. </AssignedBits>
  12692. </Field>
  12693. </Category>
  12694. <Category>
  12695. <Name>User Configuration</Name>
  12696. <Field>
  12697. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  12698. <AssignedBits>
  12699. <Bit>
  12700. <Name>IWDG_SW</Name>
  12701. <Description/>
  12702. <BitOffset>0x4</BitOffset>
  12703. <BitWidth>0x1</BitWidth>
  12704. <Access>W</Access>
  12705. <Values>
  12706. <Val value="0x0">Hardware independant watchdog</Val>
  12707. <Val value="0x1">Software independant watchdog</Val>
  12708. </Values>
  12709. </Bit>
  12710. <Bit>
  12711. <Name>nRST_STOP</Name>
  12712. <Description/>
  12713. <BitOffset>0x5</BitOffset>
  12714. <BitWidth>0x1</BitWidth>
  12715. <Access>W</Access>
  12716. <Values>
  12717. <Val value="0x0">Reset generated when entering Stop mode</Val>
  12718. <Val value="0x1">No reset generated</Val>
  12719. </Values>
  12720. </Bit>
  12721. <Bit>
  12722. <Name>nRST_STDBY</Name>
  12723. <Description/>
  12724. <BitOffset>0x6</BitOffset>
  12725. <BitWidth>0x1</BitWidth>
  12726. <Access>W</Access>
  12727. <Values>
  12728. <Val value="0x0">Reset generated when entering Standby mode</Val>
  12729. <Val value="0x1">No reset generated</Val>
  12730. </Values>
  12731. </Bit>
  12732. </AssignedBits>
  12733. </Field>
  12734. </Category>
  12735. <Category>
  12736. <Name>Write Protection</Name>
  12737. <Field>
  12738. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  12739. <AssignedBits>
  12740. <Bit config="0">
  12741. <Name>WRP0</Name>
  12742. <Description/>
  12743. <BitOffset>0x0</BitOffset>
  12744. <BitWidth>0x10</BitWidth>
  12745. <Access>W</Access>
  12746. <Values ByBit="true">
  12747. <Val value="0x0">Write protection not active</Val>
  12748. <Val value="0x1">Write protection active</Val>
  12749. </Values>
  12750. </Bit>
  12751. <Bit config="1">
  12752. <Name>WRP0</Name>
  12753. <Description/>
  12754. <BitOffset>0x0</BitOffset>
  12755. <BitWidth>0x10</BitWidth>
  12756. <Access>W</Access>
  12757. <Values ByBit="true">
  12758. <Val value="0x0">read/Write protection active</Val>
  12759. <Val value="0x1">read/Write protection active</Val>
  12760. </Values>
  12761. </Bit>
  12762. </AssignedBits>
  12763. </Field>
  12764. <Field>
  12765. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  12766. <AssignedBits>
  12767. <Bit config="0">
  12768. <Name>WRP16</Name>
  12769. <Description/>
  12770. <BitOffset>0x0</BitOffset>
  12771. <BitWidth>0x10</BitWidth>
  12772. <Access>W</Access>
  12773. <Values ByBit="true">
  12774. <Val value="0x0">Write protection not active</Val>
  12775. <Val value="0x1">Write protection active</Val>
  12776. </Values>
  12777. </Bit>
  12778. <Bit config="1">
  12779. <Name>WRP16</Name>
  12780. <Description/>
  12781. <BitOffset>0x0</BitOffset>
  12782. <BitWidth>0x10</BitWidth>
  12783. <Access>W</Access>
  12784. <Values ByBit="true">
  12785. <Val value="0x0">read/Write protection active</Val>
  12786. <Val value="0x1">read/Write protection active</Val>
  12787. </Values>
  12788. </Bit>
  12789. </AssignedBits>
  12790. </Field>
  12791. <Field>
  12792. <Parameters name="WRP2" size="0x8" address="0x1FF80010"/>
  12793. <AssignedBits>
  12794. <Bit config="0">
  12795. <Name>WRP32</Name>
  12796. <Description/>
  12797. <BitOffset>0x0</BitOffset>
  12798. <BitWidth>0x10</BitWidth>
  12799. <Access>W</Access>
  12800. <Values ByBit="true">
  12801. <Val value="0x0">Write protection not active</Val>
  12802. <Val value="0x1">Write protection active</Val>
  12803. </Values>
  12804. </Bit>
  12805. <Bit config="1">
  12806. <Name>WRP32</Name>
  12807. <Description/>
  12808. <BitOffset>0x0</BitOffset>
  12809. <BitWidth>0x10</BitWidth>
  12810. <Access>W</Access>
  12811. <Values ByBit="true">
  12812. <Val value="0x0">read/Write protection active</Val>
  12813. <Val value="0x1">read/Write protection not active</Val>
  12814. </Values>
  12815. </Bit>
  12816. </AssignedBits>
  12817. </Field>
  12818. <Field>
  12819. <Parameters name="WRP2" size="0x8" address="0x1FF80014"/>
  12820. <AssignedBits>
  12821. <Bit config="0">
  12822. <Name>WRP48</Name>
  12823. <Description/>
  12824. <BitOffset>0x0</BitOffset>
  12825. <BitWidth>0x10</BitWidth>
  12826. <Access>W</Access>
  12827. <Values ByBit="true">
  12828. <Val value="0x0">Write protection not active</Val>
  12829. <Val value="0x1">Write protection active</Val>
  12830. </Values>
  12831. </Bit>
  12832. <Bit config="1">
  12833. <Name>WRP48</Name>
  12834. <Description/>
  12835. <BitOffset>0x0</BitOffset>
  12836. <BitWidth>0x10</BitWidth>
  12837. <Access>W</Access>
  12838. <Values ByBit="true">
  12839. <Val value="0x0">read/Write protection active</Val>
  12840. <Val value="0x1">read/Write protection not active</Val>
  12841. </Values>
  12842. </Bit>
  12843. </AssignedBits>
  12844. </Field>
  12845. </Category>
  12846. </Bank>
  12847. <Bank interface="Bootloader">
  12848. <Parameters name="Bank 1" size="0x18" address="0x1FF80000"/>
  12849. <Category>
  12850. <Name>Read Out Protection</Name>
  12851. <Field>
  12852. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  12853. <AssignedBits>
  12854. <Bit>
  12855. <Name>RDP</Name>
  12856. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  12857. <BitOffset>0x0</BitOffset>
  12858. <BitWidth>0x8</BitWidth>
  12859. <Access>RW</Access>
  12860. <Values>
  12861. <Val value="0xAA">Level 0, no protection</Val>
  12862. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  12863. <Val value="0xCC">Level 2, chip protection</Val>
  12864. </Values>
  12865. </Bit>
  12866. </AssignedBits>
  12867. </Field>
  12868. </Category>
  12869. <Category>
  12870. <Name>PCROP Protection</Name>
  12871. <Field>
  12872. <Parameters name="SPRMOD" size="0x4" address="0x1FF80000"/>
  12873. <AssignedBits>
  12874. <Bit reference="SPRMode">
  12875. <Name>SPRMOD</Name>
  12876. <Description>Sector protection mode selection option byte.</Description>
  12877. <BitOffset>0x8</BitOffset>
  12878. <BitWidth>0x1</BitWidth>
  12879. <Access>RW</Access>
  12880. <Values>
  12881. <Val value="0x0">WRPx bit defines sector write protection</Val>
  12882. <Val value="0x1">WRPx bit defines sector write/read (PCROP) protection</Val>
  12883. </Values>
  12884. </Bit>
  12885. </AssignedBits>
  12886. </Field>
  12887. </Category>
  12888. <Category>
  12889. <Name>BOR Level</Name>
  12890. <Field>
  12891. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  12892. <AssignedBits>
  12893. <Bit>
  12894. <Name>BOR_LEV</Name>
  12895. <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>
  12896. <BitOffset>0x0</BitOffset>
  12897. <BitWidth>0x4</BitWidth>
  12898. <Access>RW</Access>
  12899. <Values>
  12900. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12901. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12902. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12903. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12904. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12905. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  12906. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12907. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  12908. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  12909. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  12910. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  12911. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  12912. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  12913. </Values>
  12914. </Bit>
  12915. </AssignedBits>
  12916. </Field>
  12917. </Category>
  12918. <Category>
  12919. <Name>User Configuration</Name>
  12920. <Field>
  12921. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  12922. <AssignedBits>
  12923. <Bit>
  12924. <Name>IWDG_SW</Name>
  12925. <Description/>
  12926. <BitOffset>0x4</BitOffset>
  12927. <BitWidth>0x1</BitWidth>
  12928. <Access>RW</Access>
  12929. <Values>
  12930. <Val value="0x0">Hardware independant watchdog</Val>
  12931. <Val value="0x1">Software independant watchdog</Val>
  12932. </Values>
  12933. </Bit>
  12934. <Bit>
  12935. <Name>nRST_STOP</Name>
  12936. <Description/>
  12937. <BitOffset>0x5</BitOffset>
  12938. <BitWidth>0x1</BitWidth>
  12939. <Access>RW</Access>
  12940. <Values>
  12941. <Val value="0x0">Reset generated when entering Stop mode</Val>
  12942. <Val value="0x1">No reset generated</Val>
  12943. </Values>
  12944. </Bit>
  12945. <Bit>
  12946. <Name>nRST_STDBY</Name>
  12947. <Description/>
  12948. <BitOffset>0x6</BitOffset>
  12949. <BitWidth>0x1</BitWidth>
  12950. <Access>RW</Access>
  12951. <Values>
  12952. <Val value="0x0">Reset generated when entering Standby mode</Val>
  12953. <Val value="0x1">No reset generated</Val>
  12954. </Values>
  12955. </Bit>
  12956. </AssignedBits>
  12957. </Field>
  12958. </Category>
  12959. <Category>
  12960. <Name>Write Protection</Name>
  12961. <Field>
  12962. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  12963. <AssignedBits>
  12964. <Bit config="0">
  12965. <Name>WRP0</Name>
  12966. <Description/>
  12967. <BitOffset>0x0</BitOffset>
  12968. <BitWidth>0x10</BitWidth>
  12969. <Access>RW</Access>
  12970. <Values ByBit="true">
  12971. <Val value="0x0">Write protection not active</Val>
  12972. <Val value="0x1">Write protection active</Val>
  12973. </Values>
  12974. </Bit>
  12975. <Bit config="1">
  12976. <Name>WRP0</Name>
  12977. <Description/>
  12978. <BitOffset>0x0</BitOffset>
  12979. <BitWidth>0x10</BitWidth>
  12980. <Access>RW</Access>
  12981. <Values ByBit="true">
  12982. <Val value="0x0">read/Write protection active</Val>
  12983. <Val value="0x1">read/Write protection active</Val>
  12984. </Values>
  12985. </Bit>
  12986. </AssignedBits>
  12987. </Field>
  12988. <Field>
  12989. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  12990. <AssignedBits>
  12991. <Bit config="0">
  12992. <Name>WRP16</Name>
  12993. <Description/>
  12994. <BitOffset>0x0</BitOffset>
  12995. <BitWidth>0x10</BitWidth>
  12996. <Access>RW</Access>
  12997. <Values ByBit="true">
  12998. <Val value="0x0">Write protection not active</Val>
  12999. <Val value="0x1">Write protection active</Val>
  13000. </Values>
  13001. </Bit>
  13002. <Bit config="1">
  13003. <Name>WRP16</Name>
  13004. <Description/>
  13005. <BitOffset>0x0</BitOffset>
  13006. <BitWidth>0x10</BitWidth>
  13007. <Access>RW</Access>
  13008. <Values ByBit="true">
  13009. <Val value="0x0">read/Write protection active</Val>
  13010. <Val value="0x1">read/Write protection active</Val>
  13011. </Values>
  13012. </Bit>
  13013. </AssignedBits>
  13014. </Field>
  13015. <Field>
  13016. <Parameters name="WRP2" size="0x8" address="0x1FF80010"/>
  13017. <AssignedBits>
  13018. <Bit config="0">
  13019. <Name>WRP32</Name>
  13020. <Description/>
  13021. <BitOffset>0x0</BitOffset>
  13022. <BitWidth>0x10</BitWidth>
  13023. <Access>RW</Access>
  13024. <Values ByBit="true">
  13025. <Val value="0x0">Write protection not active</Val>
  13026. <Val value="0x1">Write protection active</Val>
  13027. </Values>
  13028. </Bit>
  13029. <Bit config="1">
  13030. <Name>WRP32</Name>
  13031. <Description/>
  13032. <BitOffset>0x0</BitOffset>
  13033. <BitWidth>0x10</BitWidth>
  13034. <Access>RW</Access>
  13035. <Values ByBit="true">
  13036. <Val value="0x0">read/Write protection active</Val>
  13037. <Val value="0x1">read/Write protection not active</Val>
  13038. </Values>
  13039. </Bit>
  13040. </AssignedBits>
  13041. </Field>
  13042. <Field>
  13043. <Parameters name="WRP2" size="0x8" address="0x1FF80014"/>
  13044. <AssignedBits>
  13045. <Bit config="0">
  13046. <Name>WRP48</Name>
  13047. <Description/>
  13048. <BitOffset>0x0</BitOffset>
  13049. <BitWidth>0x10</BitWidth>
  13050. <Access>RW</Access>
  13051. <Values ByBit="true">
  13052. <Val value="0x0">Write protection not active</Val>
  13053. <Val value="0x1">Write protection active</Val>
  13054. </Values>
  13055. </Bit>
  13056. <Bit config="1">
  13057. <Name>WRP48</Name>
  13058. <Description/>
  13059. <BitOffset>0x0</BitOffset>
  13060. <BitWidth>0x10</BitWidth>
  13061. <Access>RW</Access>
  13062. <Values ByBit="true">
  13063. <Val value="0x0">read/Write protection active</Val>
  13064. <Val value="0x1">read/Write protection not active</Val>
  13065. </Values>
  13066. </Bit>
  13067. </AssignedBits>
  13068. </Field>
  13069. </Category>
  13070. </Bank>
  13071. </Peripheral>
  13072. </Peripherals>
  13073. </Device>
  13074. <!-- Device: 0x416 -->
  13075. <Device>
  13076. <DeviceID>0x416</DeviceID>
  13077. <Vendor>STMicroelectronics</Vendor>
  13078. <Type>MCU</Type>
  13079. <CPU>Cortex-M3</CPU>
  13080. <Name>STM32L100x8/STM32L100xB/STM32L15xx6/STM32L15xx8/STM32L15xxB</Name>
  13081. <Series>STM32L1</Series>
  13082. <Description>ARM 32-bit Cortex-M3 based device</Description>
  13083. <Configurations>
  13084. <!-- JTAG_SWD Interface -->
  13085. <Interface name="JTAG_SWD"/>
  13086. <!-- Bootloader Interface -->
  13087. <Interface name="Bootloader"/>
  13088. </Configurations>
  13089. <!-- Peripherals -->
  13090. <Peripherals>
  13091. <!-- Embedded SRAM -->
  13092. <Peripheral>
  13093. <Name>Embedded SRAM</Name>
  13094. <Type>Storage</Type>
  13095. <Description/>
  13096. <ErasedValue>0x00</ErasedValue>
  13097. <Access>RWE</Access>
  13098. <!-- 10-16 KB -->
  13099. <Configuration>
  13100. <Parameters name="SRAM" size="0x2800" address="0x20000000"/>
  13101. <Description/>
  13102. <Organization>Single</Organization>
  13103. <Bank name="Bank 1">
  13104. <Field>
  13105. <Parameters name="SRAM" size="0x2800" address="0x20000000" occurence="0x1"/>
  13106. </Field>
  13107. </Bank>
  13108. </Configuration>
  13109. </Peripheral>
  13110. <!-- Embedded Flash -->
  13111. <Peripheral>
  13112. <Name>Embedded Flash</Name>
  13113. <Type>Storage</Type>
  13114. <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>
  13115. <ErasedValue>0x00</ErasedValue>
  13116. <Access>RWE</Access>
  13117. <FlashSize address="0x1FF8004C" default="0x20000"/>
  13118. <!-- 128KB single Bank -->
  13119. <Configuration>
  13120. <Parameters name=" 128 Kbytes Embedded Flash" size="0x20000" address="0x08000000"/>
  13121. <Description/>
  13122. <Organization>Single</Organization>
  13123. <Allignement>0x4</Allignement>
  13124. <Bank name="Bank 1">
  13125. <Field>
  13126. <Parameters name="sector0" size="0x100" address="0x08000000" occurence="0x200"/>
  13127. </Field>
  13128. </Bank>
  13129. </Configuration>
  13130. </Peripheral>
  13131. <!-- Data EEPROM -->
  13132. <Peripheral>
  13133. <Name>Data EEPROM</Name>
  13134. <Type>Storage</Type>
  13135. <Description>The Data EEPROM memory block. It contains user data.</Description>
  13136. <ErasedValue>0x00</ErasedValue>
  13137. <Access>RWE</Access>
  13138. <!-- 1KB single Bank -->
  13139. <Configuration>
  13140. <Parameters name=" 4096 bytes Data EEPROM" size="0x1000" address="0x08080000"/>
  13141. <Description/>
  13142. <Organization>Single</Organization>
  13143. <Allignement>0x4</Allignement>
  13144. <Bank name="Bank 1">
  13145. <Field>
  13146. <Parameters name="EEPROM1" size="0x1000" address="0x08080000" occurence="0x1"/>
  13147. </Field>
  13148. </Bank>
  13149. </Configuration>
  13150. </Peripheral>
  13151. <!-- Mirror Option Bytes -->
  13152. <Peripheral>
  13153. <Name>MirrorOptionBytes</Name>
  13154. <Type>Storage</Type>
  13155. <Description>Mirror Option Bytes contains the extra area.</Description>
  13156. <ErasedValue>0xFF</ErasedValue>
  13157. <Access>RW</Access>
  13158. <!-- 16 Bytes single bank -->
  13159. <Configuration>
  13160. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FF80000"/>
  13161. <Description/>
  13162. <Organization>Single</Organization>
  13163. <Allignement>0x4</Allignement>
  13164. <Bank name="MirrorOptionBytes">
  13165. <Field>
  13166. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FF80000" occurence="0x1"/>
  13167. </Field>
  13168. </Bank>
  13169. </Configuration>
  13170. </Peripheral>
  13171. <!-- Option Bytes -->
  13172. <Peripheral>
  13173. <Name>Option Bytes</Name>
  13174. <Type>Configuration</Type>
  13175. <Description/>
  13176. <Access>RW</Access>
  13177. <Bank interface="JTAG_SWD">
  13178. <Parameters name="Bank 1" size="0x88" address="0x40023C1C"/>
  13179. <Category>
  13180. <Name>Read Out Protection</Name>
  13181. <Field>
  13182. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  13183. <AssignedBits>
  13184. <Bit>
  13185. <Name>RDP</Name>
  13186. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  13187. <BitOffset>0x0</BitOffset>
  13188. <BitWidth>0x8</BitWidth>
  13189. <Access>R</Access>
  13190. <Values>
  13191. <Val value="0xAA">Level 0, no protection</Val>
  13192. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  13193. <Val value="0xCC">Level 2, chip protection</Val>
  13194. </Values>
  13195. </Bit>
  13196. </AssignedBits>
  13197. </Field>
  13198. </Category>
  13199. <Category>
  13200. <Name>BOR Level</Name>
  13201. <Field>
  13202. <Parameters name="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  13203. <AssignedBits>
  13204. <Bit>
  13205. <Name>BOR_LEV</Name>
  13206. <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>
  13207. <BitOffset>0x10</BitOffset>
  13208. <BitWidth>0x4</BitWidth>
  13209. <Access>R</Access>
  13210. <Values>
  13211. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13212. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13213. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13214. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13215. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13216. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13217. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  13218. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  13219. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  13220. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  13221. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  13222. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  13223. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  13224. </Values>
  13225. </Bit>
  13226. </AssignedBits>
  13227. </Field>
  13228. </Category>
  13229. <Category>
  13230. <Name>User Configuration</Name>
  13231. <Field>
  13232. <Parameters nname="FLASH_OBR" size="0x4" address="0x40023C1C"/>
  13233. <AssignedBits>
  13234. <Bit>
  13235. <Name>IWDG_SW</Name>
  13236. <Description/>
  13237. <BitOffset>0x14</BitOffset>
  13238. <BitWidth>0x1</BitWidth>
  13239. <Access>R</Access>
  13240. <Values>
  13241. <Val value="0x0">Hardware independant watchdog</Val>
  13242. <Val value="0x1">Software independant watchdog</Val>
  13243. </Values>
  13244. </Bit>
  13245. <Bit>
  13246. <Name>nRST_STOP</Name>
  13247. <Description/>
  13248. <BitOffset>0x15</BitOffset>
  13249. <BitWidth>0x1</BitWidth>
  13250. <Access>R</Access>
  13251. <Values>
  13252. <Val value="0x0">Reset generated when entering Stop mode</Val>
  13253. <Val value="0x1">No reset generated</Val>
  13254. </Values>
  13255. </Bit>
  13256. <Bit>
  13257. <Name>nRST_STDBY</Name>
  13258. <Description/>
  13259. <BitOffset>0x16</BitOffset>
  13260. <BitWidth>0x1</BitWidth>
  13261. <Access>R</Access>
  13262. <Values>
  13263. <Val value="0x0">Reset generated when entering Standby mode</Val>
  13264. <Val value="0x1">No reset generated</Val>
  13265. </Values>
  13266. </Bit>
  13267. </AssignedBits>
  13268. </Field>
  13269. </Category>
  13270. <Category>
  13271. <Name>Write Protection</Name>
  13272. <Field>
  13273. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40023C20"/>
  13274. <AssignedBits>
  13275. <Bit>
  13276. <Name>WRP0</Name>
  13277. <Description/>
  13278. <BitOffset>0x0</BitOffset>
  13279. <BitWidth>0x20</BitWidth>
  13280. <Access>R</Access>
  13281. <Values ByBit="true">
  13282. <Val value="0x0">Write protection not active</Val>
  13283. <Val value="0x1">Write protection active</Val>
  13284. </Values>
  13285. </Bit>
  13286. </AssignedBits>
  13287. </Field>
  13288. </Category>
  13289. </Bank>
  13290. <Bank interface="JTAG_SWD">
  13291. <Parameters name="Bank 2" size="0x10" address="0x1FF80000"/>
  13292. <Category>
  13293. <Name>Read Out Protection</Name>
  13294. <Field>
  13295. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  13296. <AssignedBits>
  13297. <Bit>
  13298. <Name>RDP</Name>
  13299. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  13300. <BitOffset>0x0</BitOffset>
  13301. <BitWidth>0x8</BitWidth>
  13302. <Access>W</Access>
  13303. <Values>
  13304. <Val value="0xAA">Level 0, no protection</Val>
  13305. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  13306. <Val value="0xCC">Level 2, chip protection</Val>
  13307. </Values>
  13308. </Bit>
  13309. </AssignedBits>
  13310. </Field>
  13311. </Category>
  13312. <Category>
  13313. <Name>BOR Level</Name>
  13314. <Field>
  13315. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  13316. <AssignedBits>
  13317. <Bit>
  13318. <Name>BOR_LEV</Name>
  13319. <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>
  13320. <BitOffset>0x0</BitOffset>
  13321. <BitWidth>0x4</BitWidth>
  13322. <Access>W</Access>
  13323. <Values>
  13324. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13325. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13326. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13327. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13328. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13329. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13330. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  13331. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  13332. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  13333. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  13334. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  13335. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  13336. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  13337. </Values>
  13338. </Bit>
  13339. </AssignedBits>
  13340. </Field>
  13341. </Category>
  13342. <Category>
  13343. <Name>User Configuration</Name>
  13344. <Field>
  13345. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  13346. <AssignedBits>
  13347. <Bit>
  13348. <Name>IWDG_SW</Name>
  13349. <Description/>
  13350. <BitOffset>0x4</BitOffset>
  13351. <BitWidth>0x1</BitWidth>
  13352. <Access>W</Access>
  13353. <Values>
  13354. <Val value="0x0">Hardware independant watchdog</Val>
  13355. <Val value="0x1">Software independant watchdog</Val>
  13356. </Values>
  13357. </Bit>
  13358. <Bit>
  13359. <Name>nRST_STOP</Name>
  13360. <Description/>
  13361. <BitOffset>0x5</BitOffset>
  13362. <BitWidth>0x1</BitWidth>
  13363. <Access>W</Access>
  13364. <Values>
  13365. <Val value="0x0">Reset generated when entering Stop mode</Val>
  13366. <Val value="0x1">No reset generated</Val>
  13367. </Values>
  13368. </Bit>
  13369. <Bit>
  13370. <Name>nRST_STDBY</Name>
  13371. <Description/>
  13372. <BitOffset>0x6</BitOffset>
  13373. <BitWidth>0x1</BitWidth>
  13374. <Access>W</Access>
  13375. <Values>
  13376. <Val value="0x0">Reset generated when entering Standby mode</Val>
  13377. <Val value="0x1">No reset generated</Val>
  13378. </Values>
  13379. </Bit>
  13380. </AssignedBits>
  13381. </Field>
  13382. </Category>
  13383. <Category>
  13384. <Name>Write Protection</Name>
  13385. <Field>
  13386. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  13387. <AssignedBits>
  13388. <Bit>
  13389. <Name>WRP0</Name>
  13390. <Description/>
  13391. <BitOffset>0x0</BitOffset>
  13392. <BitWidth>0x10</BitWidth>
  13393. <Access>W</Access>
  13394. <Values ByBit="true">
  13395. <Val value="0x0">Write protection not active</Val>
  13396. <Val value="0x1">Write protection active</Val>
  13397. </Values>
  13398. </Bit>
  13399. </AssignedBits>
  13400. </Field>
  13401. <Field>
  13402. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  13403. <AssignedBits>
  13404. <Bit>
  13405. <Name>WRP16</Name>
  13406. <Description/>
  13407. <BitOffset>0x0</BitOffset>
  13408. <BitWidth>0x10</BitWidth>
  13409. <Access>W</Access>
  13410. <Values ByBit="true">
  13411. <Val value="0x0">Write protection not active</Val>
  13412. <Val value="0x1">Write protection active</Val>
  13413. </Values>
  13414. </Bit>
  13415. </AssignedBits>
  13416. </Field>
  13417. </Category>
  13418. </Bank>
  13419. <Bank interface="Bootloader">
  13420. <Parameters name="Bank 1" size="0x10" address="0x1FF80000"/>
  13421. <Category>
  13422. <Name>Read Out Protection</Name>
  13423. <Field>
  13424. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  13425. <AssignedBits>
  13426. <Bit>
  13427. <Name>RDP</Name>
  13428. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  13429. <BitOffset>0x0</BitOffset>
  13430. <BitWidth>0x8</BitWidth>
  13431. <Access>RW</Access>
  13432. <Values>
  13433. <Val value="0xAA">Level 0, no protection</Val>
  13434. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  13435. <Val value="0xCC">Level 2, chip protection</Val>
  13436. </Values>
  13437. </Bit>
  13438. </AssignedBits>
  13439. </Field>
  13440. </Category>
  13441. <Category>
  13442. <Name>BOR Level</Name>
  13443. <Field>
  13444. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  13445. <AssignedBits>
  13446. <Bit>
  13447. <Name>BOR_LEV</Name>
  13448. <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>
  13449. <BitOffset>0x0</BitOffset>
  13450. <BitWidth>0x4</BitWidth>
  13451. <Access>RW</Access>
  13452. <Values>
  13453. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13454. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13455. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13456. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13457. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13458. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  13459. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  13460. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  13461. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  13462. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  13463. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  13464. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  13465. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  13466. </Values>
  13467. </Bit>
  13468. </AssignedBits>
  13469. </Field>
  13470. </Category>
  13471. <Category>
  13472. <Name>User Configuration</Name>
  13473. <Field>
  13474. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  13475. <AssignedBits>
  13476. <Bit>
  13477. <Name>IWDG_SW</Name>
  13478. <Description/>
  13479. <BitOffset>0x4</BitOffset>
  13480. <BitWidth>0x1</BitWidth>
  13481. <Access>RW</Access>
  13482. <Values>
  13483. <Val value="0x0">Hardware independant watchdog</Val>
  13484. <Val value="0x1">Software independant watchdog</Val>
  13485. </Values>
  13486. </Bit>
  13487. <Bit>
  13488. <Name>nRST_STOP</Name>
  13489. <Description/>
  13490. <BitOffset>0x5</BitOffset>
  13491. <BitWidth>0x1</BitWidth>
  13492. <Access>RW</Access>
  13493. <Values>
  13494. <Val value="0x0">Reset generated when entering Stop mode</Val>
  13495. <Val value="0x1">No reset generated</Val>
  13496. </Values>
  13497. </Bit>
  13498. <Bit>
  13499. <Name>nRST_STDBY</Name>
  13500. <Description/>
  13501. <BitOffset>0x6</BitOffset>
  13502. <BitWidth>0x1</BitWidth>
  13503. <Access>RW</Access>
  13504. <Values>
  13505. <Val value="0x0">Reset generated when entering Standby mode</Val>
  13506. <Val value="0x1">No reset generated</Val>
  13507. </Values>
  13508. </Bit>
  13509. </AssignedBits>
  13510. </Field>
  13511. </Category>
  13512. <Category>
  13513. <Name>Write Protection</Name>
  13514. <Field>
  13515. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  13516. <AssignedBits>
  13517. <Bit>
  13518. <Name>WRP0</Name>
  13519. <Description/>
  13520. <BitOffset>0x0</BitOffset>
  13521. <BitWidth>0x10</BitWidth>
  13522. <Access>RW</Access>
  13523. <Values ByBit="true">
  13524. <Val value="0x0">Write protection not active</Val>
  13525. <Val value="0x1">Write protection active</Val>
  13526. </Values>
  13527. </Bit>
  13528. </AssignedBits>
  13529. </Field>
  13530. <Field>
  13531. <Parameters name="WRP1" size="0x8" address="0x1FF8000C"/>
  13532. <AssignedBits>
  13533. <Bit>
  13534. <Name>WRP16</Name>
  13535. <Description/>
  13536. <BitOffset>0x0</BitOffset>
  13537. <BitWidth>0x10</BitWidth>
  13538. <Access>RW</Access>
  13539. <Values ByBit="true">
  13540. <Val value="0x0">Write protection not active</Val>
  13541. <Val value="0x1">Write protection active</Val>
  13542. </Values>
  13543. </Bit>
  13544. </AssignedBits>
  13545. </Field>
  13546. </Category>
  13547. </Bank>
  13548. </Peripheral>
  13549. </Peripherals>
  13550. </Device>
  13551. <!-- Device: 0x435 -->
  13552. <Device>
  13553. <DeviceID>0x435</DeviceID>
  13554. <Vendor>STMicroelectronics</Vendor>
  13555. <Type>MCU</Type>
  13556. <CPU>Cortex-M4</CPU>
  13557. <Name>STM32L43xxx/STM32L44xxx</Name>
  13558. <Series>STM32L4</Series>
  13559. <Description>ARM 32-bit Cortex-M4 based device</Description>
  13560. <Configurations>
  13561. <!-- JTAG_SWD Interface -->
  13562. <Interface name="JTAG_SWD"/>
  13563. <!-- Bootloader Interface -->
  13564. <Interface name="Bootloader"/>
  13565. </Configurations>
  13566. <!-- Peripherals -->
  13567. <Peripherals>
  13568. <!-- Embedded SRAM -->
  13569. <Peripheral>
  13570. <Name>Embedded SRAM</Name>
  13571. <Type>Storage</Type>
  13572. <Description/>
  13573. <ErasedValue>0x00</ErasedValue>
  13574. <Access>RWE</Access>
  13575. <!-- 128 KB -->
  13576. <Configuration>
  13577. <Parameters name="SRAM" size="0xC000" address="0x20000000"/>
  13578. <Description/>
  13579. <Organization>Single</Organization>
  13580. <Bank name="Bank 1">
  13581. <Field>
  13582. <Parameters name="SRAM" size="0xC000" address="0x20000000" occurence="0x1"/>
  13583. </Field>
  13584. </Bank>
  13585. </Configuration>
  13586. </Peripheral>
  13587. <!-- Embedded Flash -->
  13588. <Peripheral>
  13589. <Name>Embedded Flash</Name>
  13590. <Type>Storage</Type>
  13591. <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>
  13592. <ErasedValue>0xFF</ErasedValue>
  13593. <Access>RWE</Access>
  13594. <FlashSize address="0x1FFF75E0" default="0x80000"/>
  13595. <!-- 512KB single Bank -->
  13596. <Configuration>
  13597. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  13598. <Description/>
  13599. <Organization>Single</Organization>
  13600. <Allignement>0x8</Allignement>
  13601. <Bank name="Bank 1">
  13602. <Field>
  13603. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x100"/>
  13604. </Field>
  13605. </Bank>
  13606. </Configuration>
  13607. </Peripheral>
  13608. <!-- OTP -->
  13609. <Peripheral>
  13610. <Name>OTP</Name>
  13611. <Type>Storage</Type>
  13612. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  13613. <ErasedValue>0xFF</ErasedValue>
  13614. <Access>RW</Access>
  13615. <!-- 1 KBytes single bank -->
  13616. <Configuration>
  13617. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  13618. <Description/>
  13619. <Organization>Single</Organization>
  13620. <Allignement>0x4</Allignement>
  13621. <Bank name="OTP">
  13622. <Field>
  13623. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  13624. </Field>
  13625. </Bank>
  13626. </Configuration>
  13627. </Peripheral>
  13628. <!-- Mirror Option Bytes -->
  13629. <Peripheral>
  13630. <Name>MirrorOptionBytes</Name>
  13631. <Type>Storage</Type>
  13632. <Description>Mirror Option Bytes contains the extra area.</Description>
  13633. <ErasedValue>0xFF</ErasedValue>
  13634. <Access>RW</Access>
  13635. <!-- 36 Bytes single bank -->
  13636. <Configuration>
  13637. <Parameters name=" 36 Bytes Data MirrorOptionBytes" size="0x24" address="0x1FFF7800"/>
  13638. <Description/>
  13639. <Organization>Single</Organization>
  13640. <Allignement>0x4</Allignement>
  13641. <Bank name="MirrorOptionBytes">
  13642. <Field>
  13643. <Parameters name="MirrorOptionBytes" size="0x24" address="0x1FFF7800" occurence="0x1"/>
  13644. </Field>
  13645. </Bank>
  13646. </Configuration>
  13647. </Peripheral>
  13648. <!-- Option Bytes -->
  13649. <Peripheral>
  13650. <Name>Option Bytes</Name>
  13651. <Type>Configuration</Type>
  13652. <Description/>
  13653. <Access>RW</Access>
  13654. <Bank interface="JTAG_SWD">
  13655. <Parameters name="Bank 1" size="0x14" address="0x40022020"/>
  13656. <Category>
  13657. <Name>Read Out Protection</Name>
  13658. <Field>
  13659. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  13660. <AssignedBits>
  13661. <Bit>
  13662. <Name>RDP</Name>
  13663. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  13664. <BitOffset>0x0</BitOffset>
  13665. <BitWidth>0x8</BitWidth>
  13666. <Access>RW</Access>
  13667. <Values>
  13668. <Val value="0xAA">Level 0, no protection</Val>
  13669. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  13670. <Val value="0xCC">Level 2, chip protection</Val>
  13671. </Values>
  13672. </Bit>
  13673. </AssignedBits>
  13674. </Field>
  13675. </Category>
  13676. <Category>
  13677. <Name>BOR Level</Name>
  13678. <Field>
  13679. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  13680. <AssignedBits>
  13681. <Bit>
  13682. <Name>BOR_LEV</Name>
  13683. <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>
  13684. <BitOffset>0x8</BitOffset>
  13685. <BitWidth>0x3</BitWidth>
  13686. <Access>RW</Access>
  13687. <Values>
  13688. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  13689. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  13690. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  13691. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  13692. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  13693. </Values>
  13694. </Bit>
  13695. </AssignedBits>
  13696. </Field>
  13697. </Category>
  13698. <Category>
  13699. <Name>User Configuration</Name>
  13700. <Field>
  13701. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  13702. <AssignedBits>
  13703. <Bit>
  13704. <Name>nRST_STOP</Name>
  13705. <Description/>
  13706. <BitOffset>0xC</BitOffset>
  13707. <BitWidth>0x1</BitWidth>
  13708. <Access>RW</Access>
  13709. <Values>
  13710. <Val value="0x0">Reset generated when entering Stop mode</Val>
  13711. <Val value="0x1">No reset generated when entering Stop mode</Val>
  13712. </Values>
  13713. </Bit>
  13714. <Bit>
  13715. <Name>nRST_STDBY</Name>
  13716. <Description/>
  13717. <BitOffset>0xD</BitOffset>
  13718. <BitWidth>0x1</BitWidth>
  13719. <Access>RW</Access>
  13720. <Values>
  13721. <Val value="0x0">Reset generated when entering Standby mode</Val>
  13722. <Val value="0x1">No reset generated when entering Standby mode</Val>
  13723. </Values>
  13724. </Bit>
  13725. <Bit>
  13726. <Name>nRST_SHDW</Name>
  13727. <Description/>
  13728. <BitOffset>0xE</BitOffset>
  13729. <BitWidth>0x1</BitWidth>
  13730. <Access>RW</Access>
  13731. <Values>
  13732. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  13733. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  13734. </Values>
  13735. </Bit>
  13736. <Bit>
  13737. <Name>IWDG_SW</Name>
  13738. <Description/>
  13739. <BitOffset>0x10</BitOffset>
  13740. <BitWidth>0x1</BitWidth>
  13741. <Access>RW</Access>
  13742. <Values>
  13743. <Val value="0x0">Hardware independant watchdog</Val>
  13744. <Val value="0x1">Software independant watchdog</Val>
  13745. </Values>
  13746. </Bit>
  13747. <Bit>
  13748. <Name>IWDG_STOP</Name>
  13749. <Description/>
  13750. <BitOffset>0x11</BitOffset>
  13751. <BitWidth>0x1</BitWidth>
  13752. <Access>RW</Access>
  13753. <Values>
  13754. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  13755. <Val value="0x1">IWDG counter active in stop mode</Val>
  13756. </Values>
  13757. </Bit>
  13758. <Bit>
  13759. <Name>IWDG_STDBY</Name>
  13760. <Description/>
  13761. <BitOffset>0x12</BitOffset>
  13762. <BitWidth>0x1</BitWidth>
  13763. <Access>RW</Access>
  13764. <Values>
  13765. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  13766. <Val value="0x1">IWDG counter active in standby mode</Val>
  13767. </Values>
  13768. </Bit>
  13769. <Bit>
  13770. <Name>WWDG_SW</Name>
  13771. <Description/>
  13772. <BitOffset>0x13</BitOffset>
  13773. <BitWidth>0x1</BitWidth>
  13774. <Access>RW</Access>
  13775. <Values>
  13776. <Val value="0x0">Hardware window watchdog</Val>
  13777. <Val value="0x1">Software window watchdog</Val>
  13778. </Values>
  13779. </Bit>
  13780. <Bit>
  13781. <Name>nBOOT1</Name>
  13782. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory. </Description>
  13783. <BitOffset>0x17</BitOffset>
  13784. <BitWidth>0x1</BitWidth>
  13785. <Access>RW</Access>
  13786. <Values>
  13787. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  13788. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  13789. </Values>
  13790. </Bit>
  13791. <Bit>
  13792. <Name>SRAM2_PE</Name>
  13793. <Description/>
  13794. <BitOffset>0x18</BitOffset>
  13795. <BitWidth>0x1</BitWidth>
  13796. <Access>RW</Access>
  13797. <Values>
  13798. <Val value="0x0">SRAM2 parity check enable</Val>
  13799. <Val value="0x1">SRAM2 parity check disable</Val>
  13800. </Values>
  13801. </Bit>
  13802. <Bit>
  13803. <Name>SRAM2_RST</Name>
  13804. <Description/>
  13805. <BitOffset>0x19</BitOffset>
  13806. <BitWidth>0x1</BitWidth>
  13807. <Access>RW</Access>
  13808. <Values>
  13809. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  13810. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  13811. </Values>
  13812. </Bit>
  13813. <Bit>
  13814. <Name>nSWBOOT0</Name>
  13815. <Description/>
  13816. <BitOffset>0x1A</BitOffset>
  13817. <BitWidth>0x1</BitWidth>
  13818. <Access>RW</Access>
  13819. <Values>
  13820. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  13821. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  13822. </Values>
  13823. </Bit>
  13824. <Bit>
  13825. <Name>nBOOT0</Name>
  13826. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  13827. <BitOffset>0x1B</BitOffset>
  13828. <BitWidth>0x1</BitWidth>
  13829. <Access>RW</Access>
  13830. <Values>
  13831. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  13832. <Val value="0x1">BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory</Val>
  13833. </Values>
  13834. </Bit>
  13835. </AssignedBits>
  13836. </Field>
  13837. </Category>
  13838. <Category>
  13839. <Name>PCROP Protection</Name>
  13840. <Field>
  13841. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  13842. <AssignedBits>
  13843. <Bit>
  13844. <Name>PCROP1_STRT</Name>
  13845. <Description>Flash Bank 1 PCROP start address</Description>
  13846. <BitOffset>0x0</BitOffset>
  13847. <BitWidth>0x10</BitWidth>
  13848. <Access>RW</Access>
  13849. <Equation multiplier="0x8" offset="0x08000000"/>
  13850. </Bit>
  13851. </AssignedBits>
  13852. </Field>
  13853. <Field>
  13854. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  13855. <AssignedBits>
  13856. <Bit>
  13857. <Name>PCROP1_END</Name>
  13858. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  13859. <BitOffset>0x0</BitOffset>
  13860. <BitWidth>0x10</BitWidth>
  13861. <Access>RW</Access>
  13862. <Equation multiplier="0x8" offset="0x08000000"/>
  13863. </Bit>
  13864. <Bit>
  13865. <Name>PCROP_RDP</Name>
  13866. <Description/>
  13867. <BitOffset>0x1F</BitOffset>
  13868. <BitWidth>0x1</BitWidth>
  13869. <Access>RW</Access>
  13870. <Values>
  13871. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  13872. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  13873. </Values>
  13874. </Bit>
  13875. </AssignedBits>
  13876. </Field>
  13877. </Category>
  13878. <Category>
  13879. <Name>Write Protection</Name>
  13880. <Field>
  13881. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  13882. <AssignedBits>
  13883. <Bit>
  13884. <Name>WRP1A_STRT</Name>
  13885. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  13886. <BitOffset>0x0</BitOffset>
  13887. <BitWidth>0x8</BitWidth>
  13888. <Access>RW</Access>
  13889. <Equation multiplier="0x800" offset="0x08000000"/>
  13890. </Bit>
  13891. <Bit>
  13892. <Name>WRP1A_END</Name>
  13893. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  13894. <BitOffset>0x10</BitOffset>
  13895. <BitWidth>0x8</BitWidth>
  13896. <Access>RW</Access>
  13897. <Equation multiplier="0x800" offset="0x08000000"/>
  13898. </Bit>
  13899. </AssignedBits>
  13900. </Field>
  13901. <Field>
  13902. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  13903. <AssignedBits>
  13904. <Bit>
  13905. <Name>WRP1B_STRT</Name>
  13906. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  13907. <BitOffset>0x0</BitOffset>
  13908. <BitWidth>0x8</BitWidth>
  13909. <Access>RW</Access>
  13910. <Equation multiplier="0x800" offset="0x08000000"/>
  13911. </Bit>
  13912. <Bit>
  13913. <Name>WRP1B_END</Name>
  13914. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  13915. <BitOffset>0x10</BitOffset>
  13916. <BitWidth>0x8</BitWidth>
  13917. <Access>RW</Access>
  13918. <Equation multiplier="0x800" offset="0x08000000"/>
  13919. </Bit>
  13920. </AssignedBits>
  13921. </Field>
  13922. </Category>
  13923. </Bank>
  13924. <Bank interface="Bootloader">
  13925. <Parameters name="Bank 1" size="0x24" address="0x1FFF7800"/>
  13926. <Category>
  13927. <Name>Read Out Protection</Name>
  13928. <Field>
  13929. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  13930. <AssignedBits>
  13931. <Bit>
  13932. <Name>RDP</Name>
  13933. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  13934. <BitOffset>0x0</BitOffset>
  13935. <BitWidth>0x8</BitWidth>
  13936. <Access>RW</Access>
  13937. <Values>
  13938. <Val value="0xAA">Level 0, no protection</Val>
  13939. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  13940. <Val value="0xCC">Level 2, chip protection</Val>
  13941. </Values>
  13942. </Bit>
  13943. </AssignedBits>
  13944. </Field>
  13945. </Category>
  13946. <Category>
  13947. <Name>BOR Level</Name>
  13948. <Field>
  13949. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  13950. <AssignedBits>
  13951. <Bit>
  13952. <Name>BOR_LEV</Name>
  13953. <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>
  13954. <BitOffset>0x8</BitOffset>
  13955. <BitWidth>0x3</BitWidth>
  13956. <Access>RW</Access>
  13957. <Values>
  13958. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  13959. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  13960. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  13961. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  13962. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  13963. </Values>
  13964. </Bit>
  13965. </AssignedBits>
  13966. </Field>
  13967. </Category>
  13968. <Category>
  13969. <Name>User Configuration</Name>
  13970. <Field>
  13971. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  13972. <AssignedBits>
  13973. <Bit>
  13974. <Name>IWDG_STOP</Name>
  13975. <Description/>
  13976. <BitOffset>0x11</BitOffset>
  13977. <BitWidth>0x1</BitWidth>
  13978. <Access>RW</Access>
  13979. <Values>
  13980. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  13981. <Val value="0x1">IWDG counter active in stop mode</Val>
  13982. </Values>
  13983. </Bit>
  13984. <Bit>
  13985. <Name>IWDG_STDBY</Name>
  13986. <Description/>
  13987. <BitOffset>0x12</BitOffset>
  13988. <BitWidth>0x1</BitWidth>
  13989. <Access>RW</Access>
  13990. <Values>
  13991. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  13992. <Val value="0x1">IWDG counter active in standby mode</Val>
  13993. </Values>
  13994. </Bit>
  13995. </AssignedBits>
  13996. </Field>
  13997. <Field>
  13998. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  13999. <AssignedBits>
  14000. <Bit>
  14001. <Name>WWDG_SW</Name>
  14002. <Description/>
  14003. <BitOffset>0x13</BitOffset>
  14004. <BitWidth>0x1</BitWidth>
  14005. <Access>RW</Access>
  14006. <Values>
  14007. <Val value="0x0">Hardware window watchdog</Val>
  14008. <Val value="0x1">Software window watchdog</Val>
  14009. </Values>
  14010. </Bit>
  14011. <Bit>
  14012. <Name>IWDG_SW</Name>
  14013. <Description/>
  14014. <BitOffset>0x10</BitOffset>
  14015. <BitWidth>0x1</BitWidth>
  14016. <Access>RW</Access>
  14017. <Values>
  14018. <Val value="0x0">Hardware independant watchdog</Val>
  14019. <Val value="0x1">Software independant watchdog</Val>
  14020. </Values>
  14021. </Bit>
  14022. <Bit>
  14023. <Name>nRST_STOP</Name>
  14024. <Description/>
  14025. <BitOffset>0xC</BitOffset>
  14026. <BitWidth>0x1</BitWidth>
  14027. <Access>RW</Access>
  14028. <Values>
  14029. <Val value="0x0">Reset generated when entering Stop mode</Val>
  14030. <Val value="0x1">No reset generated</Val>
  14031. </Values>
  14032. </Bit>
  14033. <Bit>
  14034. <Name>nRST_STDBY</Name>
  14035. <Description/>
  14036. <BitOffset>0xD</BitOffset>
  14037. <BitWidth>0x1</BitWidth>
  14038. <Access>RW</Access>
  14039. <Values>
  14040. <Val value="0x0">Reset generated when entering Standby mode</Val>
  14041. <Val value="0x1">No reset generated</Val>
  14042. </Values>
  14043. </Bit>
  14044. <Bit>
  14045. <Name>nRST_SHDW</Name>
  14046. <Description/>
  14047. <BitOffset>0xE</BitOffset>
  14048. <BitWidth>0x1</BitWidth>
  14049. <Access>RW</Access>
  14050. <Values>
  14051. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  14052. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  14053. </Values>
  14054. </Bit>
  14055. <Bit>
  14056. <Name>nBOOT1</Name>
  14057. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory. </Description>
  14058. <BitOffset>0x17</BitOffset>
  14059. <BitWidth>0x1</BitWidth>
  14060. <Access>RW</Access>
  14061. <Values>
  14062. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  14063. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  14064. </Values>
  14065. </Bit>
  14066. <Bit>
  14067. <Name>SRAM2_PE</Name>
  14068. <Description/>
  14069. <BitOffset>0x18</BitOffset>
  14070. <BitWidth>0x1</BitWidth>
  14071. <Access>RW</Access>
  14072. <Values>
  14073. <Val value="0x0">SRAM2 parity check enable</Val>
  14074. <Val value="0x1">SRAM2 parity check disable</Val>
  14075. </Values>
  14076. </Bit>
  14077. <Bit>
  14078. <Name>SRAM2_RST</Name>
  14079. <Description/>
  14080. <BitOffset>0x19</BitOffset>
  14081. <BitWidth>0x1</BitWidth>
  14082. <Access>RW</Access>
  14083. <Values>
  14084. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  14085. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  14086. </Values>
  14087. </Bit>
  14088. <Bit>
  14089. <Name>nSWBOOT0</Name>
  14090. <Description/>
  14091. <BitOffset>0x1A</BitOffset>
  14092. <BitWidth>0x1</BitWidth>
  14093. <Access>RW</Access>
  14094. <Values>
  14095. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  14096. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  14097. </Values>
  14098. </Bit>
  14099. <Bit>
  14100. <Name>nBOOT0</Name>
  14101. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  14102. <BitOffset>0x1B</BitOffset>
  14103. <BitWidth>0x1</BitWidth>
  14104. <Access>RW</Access>
  14105. <Values>
  14106. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  14107. <Val value="0x1">BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory</Val>
  14108. </Values>
  14109. </Bit>
  14110. </AssignedBits>
  14111. </Field>
  14112. </Category>
  14113. <Category>
  14114. <Name>PCROP Protection</Name>
  14115. <Field>
  14116. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FFF7808"/>
  14117. <AssignedBits>
  14118. <Bit>
  14119. <Description>Flash Bank 1 PCROP start address</Description>
  14120. <Description/>
  14121. <BitOffset>0x0</BitOffset>
  14122. <BitWidth>0x10</BitWidth>
  14123. <Access>RW</Access>
  14124. <Equation multiplier="0x8" offset="0x08000000"/>
  14125. </Bit>
  14126. </AssignedBits>
  14127. </Field>
  14128. <Field>
  14129. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FFF7810"/>
  14130. <AssignedBits>
  14131. <Bit>
  14132. <Name>PCROP1_END</Name>
  14133. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  14134. <BitOffset>0x0</BitOffset>
  14135. <BitWidth>0x10</BitWidth>
  14136. <Access>RW</Access>
  14137. <Equation multiplier="0x8" offset="0x08000000"/>
  14138. </Bit>
  14139. <Bit>
  14140. <Name>PCROP_RDP</Name>
  14141. <Description/>
  14142. <BitOffset>0x1F</BitOffset>
  14143. <BitWidth>0x1</BitWidth>
  14144. <Access>RW</Access>
  14145. <Values>
  14146. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  14147. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  14148. </Values>
  14149. </Bit>
  14150. </AssignedBits>
  14151. </Field>
  14152. </Category>
  14153. <Category>
  14154. <Name>Write Protection</Name>
  14155. <Field>
  14156. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  14157. <AssignedBits>
  14158. <Bit>
  14159. <Name>WRP1A_STRT</Name>
  14160. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  14161. <BitOffset>0x0</BitOffset>
  14162. <BitWidth>0x8</BitWidth>
  14163. <Access>RW</Access>
  14164. <Equation multiplier="0x800" offset="0x08000000"/>
  14165. </Bit>
  14166. <Bit>
  14167. <Name>WRP1A_END</Name>
  14168. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  14169. <BitOffset>0x10</BitOffset>
  14170. <BitWidth>0x8</BitWidth>
  14171. <Access>RW</Access>
  14172. <Equation multiplier="0x800" offset="0x08000000"/>
  14173. </Bit>
  14174. </AssignedBits>
  14175. </Field>
  14176. <Field>
  14177. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  14178. <AssignedBits>
  14179. <Bit>
  14180. <Name>WRP1B_STRT</Name>
  14181. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  14182. <BitOffset>0x0</BitOffset>
  14183. <BitWidth>0x8</BitWidth>
  14184. <Access>RW</Access>
  14185. <Equation multiplier="0x800" offset="0x08000000"/>
  14186. </Bit>
  14187. <Bit>
  14188. <Name>WRP1B_END</Name>
  14189. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  14190. <BitOffset>0x10</BitOffset>
  14191. <BitWidth>0x8</BitWidth>
  14192. <Access>RW</Access>
  14193. <Equation multiplier="0x800" offset="0x08000000"/>
  14194. </Bit>
  14195. </AssignedBits>
  14196. </Field>
  14197. </Category>
  14198. </Bank>
  14199. </Peripheral>
  14200. </Peripherals>
  14201. </Device>
  14202. <!-- Device: 0x464 -->
  14203. <Device>
  14204. <DeviceID>0x464</DeviceID>
  14205. <Vendor>STMicroelectronics</Vendor>
  14206. <Type>MCU</Type>
  14207. <CPU>Cortex-M4</CPU>
  14208. <Name>STM32L41x</Name>
  14209. <Series>STM32L4</Series>
  14210. <Description>ARM 32-bit Cortex-M4 based device</Description>
  14211. <Configurations>
  14212. <!-- JTAG_SWD Interface -->
  14213. <Interface name="JTAG_SWD"/>
  14214. <!-- Bootloader Interface -->
  14215. <Interface name="Bootloader"/>
  14216. </Configurations>
  14217. <!-- Peripherals -->
  14218. <Peripherals>
  14219. <!-- Embedded SRAM -->
  14220. <Peripheral>
  14221. <Name>Embedded SRAM</Name>
  14222. <Type>Storage</Type>
  14223. <Description/>
  14224. <ErasedValue>0x00</ErasedValue>
  14225. <Access>RWE</Access>
  14226. <!-- 128 KB -->
  14227. <Configuration>
  14228. <Parameters name="SRAM" size="0xA000" address="0x20000000"/>
  14229. <Description/>
  14230. <Organization>Single</Organization>
  14231. <Bank name="Bank 1">
  14232. <Field>
  14233. <Parameters name="SRAM" size="0xA000" address="0x20000000" occurence="0x1"/>
  14234. </Field>
  14235. </Bank>
  14236. </Configuration>
  14237. </Peripheral>
  14238. <!-- Embedded Flash -->
  14239. <Peripheral>
  14240. <Name>Embedded Flash</Name>
  14241. <Type>Storage</Type>
  14242. <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>
  14243. <ErasedValue>0xFF</ErasedValue>
  14244. <Access>RWE</Access>
  14245. <FlashSize address="0x1FFF75E0" default="0x80000"/>
  14246. <!-- 512KB single Bank -->
  14247. <Configuration>
  14248. <Parameters name=" 128 Kbytes Embedded Flash" size="0x20000" address="0x08000000"/>
  14249. <Description/>
  14250. <Organization>Single</Organization>
  14251. <Allignement>0x8</Allignement>
  14252. <Bank name="Bank 1">
  14253. <Field>
  14254. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x40"/>
  14255. </Field>
  14256. </Bank>
  14257. </Configuration>
  14258. </Peripheral>
  14259. <!-- OTP -->
  14260. <Peripheral>
  14261. <Name>OTP</Name>
  14262. <Type>Storage</Type>
  14263. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  14264. <ErasedValue>0xFF</ErasedValue>
  14265. <Access>RW</Access>
  14266. <!-- 1 KBytes single bank -->
  14267. <Configuration>
  14268. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  14269. <Description/>
  14270. <Organization>Single</Organization>
  14271. <Allignement>0x4</Allignement>
  14272. <Bank name="OTP">
  14273. <Field>
  14274. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  14275. </Field>
  14276. </Bank>
  14277. </Configuration>
  14278. </Peripheral>
  14279. <!-- Mirror Option Bytes -->
  14280. <Peripheral>
  14281. <Name>MirrorOptionBytes</Name>
  14282. <Type>Storage</Type>
  14283. <Description>Mirror Option Bytes contains the extra area.</Description>
  14284. <ErasedValue>0xFF</ErasedValue>
  14285. <Access>RW</Access>
  14286. <!-- 36 Bytes single bank -->
  14287. <Configuration>
  14288. <Parameters name=" 36 Bytes Data MirrorOptionBytes" size="0x24" address="0x1FFF7800"/>
  14289. <Description/>
  14290. <Organization>Single</Organization>
  14291. <Allignement>0x4</Allignement>
  14292. <Bank name="MirrorOptionBytes">
  14293. <Field>
  14294. <Parameters name="MirrorOptionBytes" size="0x24" address="0x1FFF7800" occurence="0x1"/>
  14295. </Field>
  14296. </Bank>
  14297. </Configuration>
  14298. </Peripheral>
  14299. <!-- Option Bytes -->
  14300. <Peripheral>
  14301. <Name>Option Bytes</Name>
  14302. <Type>Configuration</Type>
  14303. <Description/>
  14304. <Access>RW</Access>
  14305. <Bank interface="JTAG_SWD">
  14306. <Parameters name="Bank 1" size="0x14" address="0x40022020"/>
  14307. <Category>
  14308. <Name>Read Out Protection</Name>
  14309. <Field>
  14310. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  14311. <AssignedBits>
  14312. <Bit>
  14313. <Name>RDP</Name>
  14314. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  14315. <BitOffset>0x0</BitOffset>
  14316. <BitWidth>0x8</BitWidth>
  14317. <Access>RW</Access>
  14318. <Values>
  14319. <Val value="0xAA">Level 0, no protection</Val>
  14320. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  14321. <Val value="0xCC">Level 2, chip protection</Val>
  14322. </Values>
  14323. </Bit>
  14324. </AssignedBits>
  14325. </Field>
  14326. </Category>
  14327. <Category>
  14328. <Name>BOR Level</Name>
  14329. <Field>
  14330. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  14331. <AssignedBits>
  14332. <Bit>
  14333. <Name>BOR_LEV</Name>
  14334. <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>
  14335. <BitOffset>0x8</BitOffset>
  14336. <BitWidth>0x3</BitWidth>
  14337. <Access>RW</Access>
  14338. <Values>
  14339. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  14340. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  14341. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  14342. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  14343. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  14344. </Values>
  14345. </Bit>
  14346. </AssignedBits>
  14347. </Field>
  14348. </Category>
  14349. <Category>
  14350. <Name>User Configuration</Name>
  14351. <Field>
  14352. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  14353. <AssignedBits>
  14354. <Bit>
  14355. <Name>nRST_STOP</Name>
  14356. <Description/>
  14357. <BitOffset>0xC</BitOffset>
  14358. <BitWidth>0x1</BitWidth>
  14359. <Access>RW</Access>
  14360. <Values>
  14361. <Val value="0x0">Reset generated when entering Stop mode</Val>
  14362. <Val value="0x1">No reset generated when entering Stop mode</Val>
  14363. </Values>
  14364. </Bit>
  14365. <Bit>
  14366. <Name>nRST_STDBY</Name>
  14367. <Description/>
  14368. <BitOffset>0xD</BitOffset>
  14369. <BitWidth>0x1</BitWidth>
  14370. <Access>RW</Access>
  14371. <Values>
  14372. <Val value="0x0">Reset generated when entering Standby mode</Val>
  14373. <Val value="0x1">No reset generated when entering Standby mode</Val>
  14374. </Values>
  14375. </Bit>
  14376. <Bit>
  14377. <Name>nRST_SHDW</Name>
  14378. <Description/>
  14379. <BitOffset>0xE</BitOffset>
  14380. <BitWidth>0x1</BitWidth>
  14381. <Access>RW</Access>
  14382. <Values>
  14383. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  14384. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  14385. </Values>
  14386. </Bit>
  14387. <Bit>
  14388. <Name>IWDG_SW</Name>
  14389. <Description/>
  14390. <BitOffset>0x10</BitOffset>
  14391. <BitWidth>0x1</BitWidth>
  14392. <Access>RW</Access>
  14393. <Values>
  14394. <Val value="0x0">Hardware independant watchdog</Val>
  14395. <Val value="0x1">Software independant watchdog</Val>
  14396. </Values>
  14397. </Bit>
  14398. <Bit>
  14399. <Name>IWDG_STOP</Name>
  14400. <Description/>
  14401. <BitOffset>0x11</BitOffset>
  14402. <BitWidth>0x1</BitWidth>
  14403. <Access>RW</Access>
  14404. <Values>
  14405. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  14406. <Val value="0x1">IWDG counter active in stop mode</Val>
  14407. </Values>
  14408. </Bit>
  14409. <Bit>
  14410. <Name>IWDG_STDBY</Name>
  14411. <Description/>
  14412. <BitOffset>0x12</BitOffset>
  14413. <BitWidth>0x1</BitWidth>
  14414. <Access>RW</Access>
  14415. <Values>
  14416. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  14417. <Val value="0x1">IWDG counter active in standby mode</Val>
  14418. </Values>
  14419. </Bit>
  14420. <Bit>
  14421. <Name>WWDG_SW</Name>
  14422. <Description/>
  14423. <BitOffset>0x13</BitOffset>
  14424. <BitWidth>0x1</BitWidth>
  14425. <Access>RW</Access>
  14426. <Values>
  14427. <Val value="0x0">Hardware window watchdog</Val>
  14428. <Val value="0x1">Software window watchdog</Val>
  14429. </Values>
  14430. </Bit>
  14431. <Bit>
  14432. <Name>nBOOT1</Name>
  14433. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory. </Description>
  14434. <BitOffset>0x17</BitOffset>
  14435. <BitWidth>0x1</BitWidth>
  14436. <Access>RW</Access>
  14437. <Values>
  14438. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  14439. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  14440. </Values>
  14441. </Bit>
  14442. <Bit>
  14443. <Name>SRAM2_PE</Name>
  14444. <Description/>
  14445. <BitOffset>0x18</BitOffset>
  14446. <BitWidth>0x1</BitWidth>
  14447. <Access>RW</Access>
  14448. <Values>
  14449. <Val value="0x0">SRAM2 parity check enable</Val>
  14450. <Val value="0x1">SRAM2 parity check disable</Val>
  14451. </Values>
  14452. </Bit>
  14453. <Bit>
  14454. <Name>SRAM2_RST</Name>
  14455. <Description/>
  14456. <BitOffset>0x19</BitOffset>
  14457. <BitWidth>0x1</BitWidth>
  14458. <Access>RW</Access>
  14459. <Values>
  14460. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  14461. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  14462. </Values>
  14463. </Bit>
  14464. <Bit>
  14465. <Name>nSWBOOT0</Name>
  14466. <Description/>
  14467. <BitOffset>0x1A</BitOffset>
  14468. <BitWidth>0x1</BitWidth>
  14469. <Access>RW</Access>
  14470. <Values>
  14471. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  14472. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  14473. </Values>
  14474. </Bit>
  14475. <Bit>
  14476. <Name>nBOOT0</Name>
  14477. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  14478. <BitOffset>0x1B</BitOffset>
  14479. <BitWidth>0x1</BitWidth>
  14480. <Access>RW</Access>
  14481. <Values>
  14482. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  14483. <Val value="0x1">BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory</Val>
  14484. </Values>
  14485. </Bit>
  14486. </AssignedBits>
  14487. </Field>
  14488. </Category>
  14489. <Category>
  14490. <Name>PCROP Protection</Name>
  14491. <Field>
  14492. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  14493. <AssignedBits>
  14494. <Bit>
  14495. <Name>PCROP1_STRT</Name>
  14496. <Description>Flash Bank 1 PCROP start address</Description>
  14497. <BitOffset>0x0</BitOffset>
  14498. <BitWidth>0x10</BitWidth>
  14499. <Access>RW</Access>
  14500. <Equation multiplier="0x8" offset="0x08000000"/>
  14501. </Bit>
  14502. </AssignedBits>
  14503. </Field>
  14504. <Field>
  14505. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  14506. <AssignedBits>
  14507. <Bit>
  14508. <Name>PCROP1_END</Name>
  14509. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  14510. <BitOffset>0x0</BitOffset>
  14511. <BitWidth>0x10</BitWidth>
  14512. <Access>RW</Access>
  14513. <Equation multiplier="0x8" offset="0x08000000"/>
  14514. </Bit>
  14515. <Bit>
  14516. <Name>PCROP_RDP</Name>
  14517. <Description/>
  14518. <BitOffset>0x1F</BitOffset>
  14519. <BitWidth>0x1</BitWidth>
  14520. <Access>RW</Access>
  14521. <Values>
  14522. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  14523. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  14524. </Values>
  14525. </Bit>
  14526. </AssignedBits>
  14527. </Field>
  14528. </Category>
  14529. <Category>
  14530. <Name>Write Protection</Name>
  14531. <Field>
  14532. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  14533. <AssignedBits>
  14534. <Bit>
  14535. <Name>WRP1A_STRT</Name>
  14536. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  14537. <BitOffset>0x0</BitOffset>
  14538. <BitWidth>0x6</BitWidth>
  14539. <Access>RW</Access>
  14540. <Equation multiplier="0x800" offset="0x08000000"/>
  14541. </Bit>
  14542. <Bit>
  14543. <Name>WRP1A_END</Name>
  14544. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  14545. <BitOffset>0x10</BitOffset>
  14546. <BitWidth>0x6</BitWidth>
  14547. <Access>RW</Access>
  14548. <Equation multiplier="0x800" offset="0x08000000"/>
  14549. </Bit>
  14550. </AssignedBits>
  14551. </Field>
  14552. <Field>
  14553. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  14554. <AssignedBits>
  14555. <Bit>
  14556. <Name>WRP1B_STRT</Name>
  14557. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  14558. <BitOffset>0x0</BitOffset>
  14559. <BitWidth>0x6</BitWidth>
  14560. <Access>RW</Access>
  14561. <Equation multiplier="0x800" offset="0x08000000"/>
  14562. </Bit>
  14563. <Bit>
  14564. <Name>WRP1B_END</Name>
  14565. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  14566. <BitOffset>0x10</BitOffset>
  14567. <BitWidth>0x6</BitWidth>
  14568. <Access>RW</Access>
  14569. <Equation multiplier="0x800" offset="0x08000000"/>
  14570. </Bit>
  14571. </AssignedBits>
  14572. </Field>
  14573. </Category>
  14574. </Bank>
  14575. <Bank interface="Bootloader">
  14576. <Parameters name="Bank 1" size="0x24" address="0x1FFF7800"/>
  14577. <Category>
  14578. <Name>Read Out Protection</Name>
  14579. <Field>
  14580. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  14581. <AssignedBits>
  14582. <Bit>
  14583. <Name>RDP</Name>
  14584. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  14585. <BitOffset>0x0</BitOffset>
  14586. <BitWidth>0x8</BitWidth>
  14587. <Access>RW</Access>
  14588. <Values>
  14589. <Val value="0xAA">Level 0, no protection</Val>
  14590. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  14591. <Val value="0xCC">Level 2, chip protection</Val>
  14592. </Values>
  14593. </Bit>
  14594. </AssignedBits>
  14595. </Field>
  14596. </Category>
  14597. <Category>
  14598. <Name>BOR Level</Name>
  14599. <Field>
  14600. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  14601. <AssignedBits>
  14602. <Bit>
  14603. <Name>BOR_LEV</Name>
  14604. <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>
  14605. <BitOffset>0x8</BitOffset>
  14606. <BitWidth>0x3</BitWidth>
  14607. <Access>RW</Access>
  14608. <Values>
  14609. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  14610. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  14611. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  14612. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  14613. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  14614. </Values>
  14615. </Bit>
  14616. </AssignedBits>
  14617. </Field>
  14618. </Category>
  14619. <Category>
  14620. <Name>User Configuration</Name>
  14621. <Field>
  14622. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  14623. <AssignedBits>
  14624. <Bit>
  14625. <Name>IWDG_STOP</Name>
  14626. <Description/>
  14627. <BitOffset>0x11</BitOffset>
  14628. <BitWidth>0x1</BitWidth>
  14629. <Access>RW</Access>
  14630. <Values>
  14631. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  14632. <Val value="0x1">IWDG counter active in stop mode</Val>
  14633. </Values>
  14634. </Bit>
  14635. <Bit>
  14636. <Name>IWDG_STDBY</Name>
  14637. <Description/>
  14638. <BitOffset>0x12</BitOffset>
  14639. <BitWidth>0x1</BitWidth>
  14640. <Access>RW</Access>
  14641. <Values>
  14642. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  14643. <Val value="0x1">IWDG counter active in standby mode</Val>
  14644. </Values>
  14645. </Bit>
  14646. </AssignedBits>
  14647. </Field>
  14648. <Field>
  14649. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  14650. <AssignedBits>
  14651. <Bit>
  14652. <Name>WWDG_SW</Name>
  14653. <Description/>
  14654. <BitOffset>0x13</BitOffset>
  14655. <BitWidth>0x1</BitWidth>
  14656. <Access>RW</Access>
  14657. <Values>
  14658. <Val value="0x0">Hardware window watchdog</Val>
  14659. <Val value="0x1">Software window watchdog</Val>
  14660. </Values>
  14661. </Bit>
  14662. <Bit>
  14663. <Name>IWDG_SW</Name>
  14664. <Description/>
  14665. <BitOffset>0x10</BitOffset>
  14666. <BitWidth>0x1</BitWidth>
  14667. <Access>RW</Access>
  14668. <Values>
  14669. <Val value="0x0">Hardware independant watchdog</Val>
  14670. <Val value="0x1">Software independant watchdog</Val>
  14671. </Values>
  14672. </Bit>
  14673. <Bit>
  14674. <Name>nRST_STOP</Name>
  14675. <Description/>
  14676. <BitOffset>0xC</BitOffset>
  14677. <BitWidth>0x1</BitWidth>
  14678. <Access>RW</Access>
  14679. <Values>
  14680. <Val value="0x0">Reset generated when entering Stop mode</Val>
  14681. <Val value="0x1">No reset generated</Val>
  14682. </Values>
  14683. </Bit>
  14684. <Bit>
  14685. <Name>nRST_STDBY</Name>
  14686. <Description/>
  14687. <BitOffset>0xD</BitOffset>
  14688. <BitWidth>0x1</BitWidth>
  14689. <Access>RW</Access>
  14690. <Values>
  14691. <Val value="0x0">Reset generated when entering Standby mode</Val>
  14692. <Val value="0x1">No reset generated</Val>
  14693. </Values>
  14694. </Bit>
  14695. <Bit>
  14696. <Name>nRST_SHDW</Name>
  14697. <Description/>
  14698. <BitOffset>0xE</BitOffset>
  14699. <BitWidth>0x1</BitWidth>
  14700. <Access>RW</Access>
  14701. <Values>
  14702. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  14703. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  14704. </Values>
  14705. </Bit>
  14706. <Bit>
  14707. <Name>nBOOT1</Name>
  14708. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory. </Description>
  14709. <BitOffset>0x17</BitOffset>
  14710. <BitWidth>0x1</BitWidth>
  14711. <Access>RW</Access>
  14712. <Values>
  14713. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  14714. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  14715. </Values>
  14716. </Bit>
  14717. <Bit>
  14718. <Name>SRAM2_PE</Name>
  14719. <Description/>
  14720. <BitOffset>0x18</BitOffset>
  14721. <BitWidth>0x1</BitWidth>
  14722. <Access>RW</Access>
  14723. <Values>
  14724. <Val value="0x0">SRAM2 parity check enable</Val>
  14725. <Val value="0x1">SRAM2 parity check disable</Val>
  14726. </Values>
  14727. </Bit>
  14728. <Bit>
  14729. <Name>SRAM2_RST</Name>
  14730. <Description/>
  14731. <BitOffset>0x19</BitOffset>
  14732. <BitWidth>0x1</BitWidth>
  14733. <Access>RW</Access>
  14734. <Values>
  14735. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  14736. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  14737. </Values>
  14738. </Bit>
  14739. <Bit>
  14740. <Name>nSWBOOT0</Name>
  14741. <Description/>
  14742. <BitOffset>0x1A</BitOffset>
  14743. <BitWidth>0x1</BitWidth>
  14744. <Access>RW</Access>
  14745. <Values>
  14746. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  14747. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  14748. </Values>
  14749. </Bit>
  14750. <Bit>
  14751. <Name>nBOOT0</Name>
  14752. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  14753. <BitOffset>0x1B</BitOffset>
  14754. <BitWidth>0x1</BitWidth>
  14755. <Access>RW</Access>
  14756. <Values>
  14757. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  14758. <Val value="0x1">BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory</Val>
  14759. </Values>
  14760. </Bit>
  14761. </AssignedBits>
  14762. </Field>
  14763. </Category>
  14764. <Category>
  14765. <Name>PCROP Protection</Name>
  14766. <Field>
  14767. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FFF7808"/>
  14768. <AssignedBits>
  14769. <Bit>
  14770. <Name>PCROP1_STRT</Name>
  14771. <Description>Flash Bank 1 PCROP start address</Description>
  14772. <BitOffset>0x0</BitOffset>
  14773. <BitWidth>0x10</BitWidth>
  14774. <Access>RW</Access>
  14775. <Equation multiplier="0x8" offset="0x08000000"/>
  14776. </Bit>
  14777. </AssignedBits>
  14778. </Field>
  14779. <Field>
  14780. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FFF7810"/>
  14781. <AssignedBits>
  14782. <Bit>
  14783. <Name>PCROP1_END</Name>
  14784. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  14785. <BitOffset>0x0</BitOffset>
  14786. <BitWidth>0x10</BitWidth>
  14787. <Access>RW</Access>
  14788. <Equation multiplier="0x8" offset="0x08000000"/>
  14789. </Bit>
  14790. <Bit>
  14791. <Name>PCROP_RDP</Name>
  14792. <Description/>
  14793. <BitOffset>0x1F</BitOffset>
  14794. <BitWidth>0x1</BitWidth>
  14795. <Access>RW</Access>
  14796. <Values>
  14797. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  14798. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  14799. </Values>
  14800. </Bit>
  14801. </AssignedBits>
  14802. </Field>
  14803. </Category>
  14804. <Category>
  14805. <Name>Write Protection</Name>
  14806. <Field>
  14807. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  14808. <AssignedBits>
  14809. <Bit>
  14810. <Name>WRP1A_STRT</Name>
  14811. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  14812. <BitOffset>0x0</BitOffset>
  14813. <BitWidth>0x6</BitWidth>
  14814. <Access>RW</Access>
  14815. <Equation multiplier="0x800" offset="0x08000000"/>
  14816. </Bit>
  14817. <Bit>
  14818. <Name>WRP1A_END</Name>
  14819. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  14820. <BitOffset>0x10</BitOffset>
  14821. <BitWidth>0x6</BitWidth>
  14822. <Access>RW</Access>
  14823. <Equation multiplier="0x800" offset="0x08000000"/>
  14824. </Bit>
  14825. </AssignedBits>
  14826. </Field>
  14827. <Field>
  14828. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  14829. <AssignedBits>
  14830. <Bit>
  14831. <Name>WRP1B_STRT</Name>
  14832. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  14833. <BitOffset>0x0</BitOffset>
  14834. <BitWidth>0x6</BitWidth>
  14835. <Access>RW</Access>
  14836. <Equation multiplier="0x800" offset="0x08000000"/>
  14837. </Bit>
  14838. <Bit>
  14839. <Name>WRP1B_END</Name>
  14840. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  14841. <BitOffset>0x10</BitOffset>
  14842. <BitWidth>0x6</BitWidth>
  14843. <Access>RW</Access>
  14844. <Equation multiplier="0x800" offset="0x08000000"/>
  14845. </Bit>
  14846. </AssignedBits>
  14847. </Field>
  14848. </Category>
  14849. </Bank>
  14850. </Peripheral>
  14851. </Peripherals>
  14852. </Device>
  14853. <!-- Device: 0x462 -->
  14854. <Device>
  14855. <DeviceID>0x462</DeviceID>
  14856. <Vendor>STMicroelectronics</Vendor>
  14857. <Type>MCU</Type>
  14858. <CPU>Cortex-M4</CPU>
  14859. <Name>STM32L45x/L46x</Name>
  14860. <Series>STM32L4</Series>
  14861. <Description>ARM 32-bit Cortex-M4 based device</Description>
  14862. <Configurations>
  14863. <!-- JTAG_SWD Interface -->
  14864. <Interface name="JTAG_SWD"/>
  14865. <!-- Bootloader Interface -->
  14866. <Interface name="Bootloader"/>
  14867. </Configurations>
  14868. <!-- Peripherals -->
  14869. <Peripherals>
  14870. <!-- Embedded SRAM -->
  14871. <Peripheral>
  14872. <Name>Embedded SRAM</Name>
  14873. <Type>Storage</Type>
  14874. <Description/>
  14875. <ErasedValue>0x00</ErasedValue>
  14876. <Access>RWE</Access>
  14877. <!-- 128 KB -->
  14878. <Configuration>
  14879. <Parameters name="SRAM" size="0x20000" address="0x20000000"/>
  14880. <Description/>
  14881. <Organization>Single</Organization>
  14882. <Bank name="Bank 1">
  14883. <Field>
  14884. <Parameters name="SRAM" size="0x20000" address="0x20000000" occurence="0x1"/>
  14885. </Field>
  14886. </Bank>
  14887. </Configuration>
  14888. </Peripheral>
  14889. <!-- Embedded Flash -->
  14890. <Peripheral>
  14891. <Name>Embedded Flash</Name>
  14892. <Type>Storage</Type>
  14893. <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>
  14894. <ErasedValue>0xFF</ErasedValue>
  14895. <Access>RWE</Access>
  14896. <FlashSize address="0x1FFF75E0" default="0x80000"/>
  14897. <!-- 512KB single Bank -->
  14898. <Configuration>
  14899. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  14900. <Description/>
  14901. <Organization>Single</Organization>
  14902. <Allignement>0x8</Allignement>
  14903. <Bank name="Bank 1">
  14904. <Field>
  14905. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x100"/>
  14906. </Field>
  14907. </Bank>
  14908. </Configuration>
  14909. </Peripheral>
  14910. <!-- OTP -->
  14911. <Peripheral>
  14912. <Name>OTP</Name>
  14913. <Type>Storage</Type>
  14914. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  14915. <ErasedValue>0xFF</ErasedValue>
  14916. <Access>RW</Access>
  14917. <!-- 1 KBytes single bank -->
  14918. <Configuration>
  14919. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  14920. <Description/>
  14921. <Organization>Single</Organization>
  14922. <Allignement>0x4</Allignement>
  14923. <Bank name="OTP">
  14924. <Field>
  14925. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  14926. </Field>
  14927. </Bank>
  14928. </Configuration>
  14929. </Peripheral>
  14930. <!-- Mirror Option Bytes -->
  14931. <Peripheral>
  14932. <Name>MirrorOptionBytes</Name>
  14933. <Type>Storage</Type>
  14934. <Description>Mirror Option Bytes contains the extra area.</Description>
  14935. <ErasedValue>0xFF</ErasedValue>
  14936. <Access>RW</Access>
  14937. <!-- 36 Bytes single bank -->
  14938. <Configuration>
  14939. <Parameters name=" 36 Bytes Data MirrorOptionBytes" size="0x24" address="0x1FFF7800"/>
  14940. <Description/>
  14941. <Organization>Single</Organization>
  14942. <Allignement>0x4</Allignement>
  14943. <Bank name="MirrorOptionBytes">
  14944. <Field>
  14945. <Parameters name="MirrorOptionBytes" size="0x24" address="0x1FFF7800" occurence="0x1"/>
  14946. </Field>
  14947. </Bank>
  14948. </Configuration>
  14949. </Peripheral>
  14950. <!-- Option Bytes -->
  14951. <Peripheral>
  14952. <Name>Option Bytes</Name>
  14953. <Type>Configuration</Type>
  14954. <Description/>
  14955. <Access>RW</Access>
  14956. <Bank interface="JTAG_SWD">
  14957. <Parameters name="Bank 1" size="0x14" address="0x40022020"/>
  14958. <Category>
  14959. <Name>Read Out Protection</Name>
  14960. <Field>
  14961. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  14962. <AssignedBits>
  14963. <Bit>
  14964. <Name>RDP</Name>
  14965. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  14966. <BitOffset>0x0</BitOffset>
  14967. <BitWidth>0x8</BitWidth>
  14968. <Access>RW</Access>
  14969. <Values>
  14970. <Val value="0xAA">Level 0, no protection</Val>
  14971. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  14972. <Val value="0xCC">Level 2, chip protection</Val>
  14973. </Values>
  14974. </Bit>
  14975. </AssignedBits>
  14976. </Field>
  14977. </Category>
  14978. <Category>
  14979. <Name>BOR Level</Name>
  14980. <Field>
  14981. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  14982. <AssignedBits>
  14983. <Bit>
  14984. <Name>BOR_LEV</Name>
  14985. <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>
  14986. <BitOffset>0x8</BitOffset>
  14987. <BitWidth>0x3</BitWidth>
  14988. <Access>RW</Access>
  14989. <Values>
  14990. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  14991. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  14992. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  14993. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  14994. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  14995. </Values>
  14996. </Bit>
  14997. </AssignedBits>
  14998. </Field>
  14999. </Category>
  15000. <Category>
  15001. <Name>User Configuration</Name>
  15002. <Field>
  15003. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  15004. <AssignedBits>
  15005. <Bit>
  15006. <Name>nRST_STOP</Name>
  15007. <Description/>
  15008. <BitOffset>0xC</BitOffset>
  15009. <BitWidth>0x1</BitWidth>
  15010. <Access>RW</Access>
  15011. <Values>
  15012. <Val value="0x0">Reset generated when entering Stop mode</Val>
  15013. <Val value="0x1">No reset generated when entering Stop mode</Val>
  15014. </Values>
  15015. </Bit>
  15016. <Bit>
  15017. <Name>nRST_STDBY</Name>
  15018. <Description/>
  15019. <BitOffset>0xD</BitOffset>
  15020. <BitWidth>0x1</BitWidth>
  15021. <Access>RW</Access>
  15022. <Values>
  15023. <Val value="0x0">Reset generated when entering Standby mode</Val>
  15024. <Val value="0x1">No reset generated when entering Standby mode</Val>
  15025. </Values>
  15026. </Bit>
  15027. <Bit>
  15028. <Name>nRST_SHDW</Name>
  15029. <Description/>
  15030. <BitOffset>0xE</BitOffset>
  15031. <BitWidth>0x1</BitWidth>
  15032. <Access>RW</Access>
  15033. <Values>
  15034. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  15035. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  15036. </Values>
  15037. </Bit>
  15038. <Bit>
  15039. <Name>IWDG_SW</Name>
  15040. <Description/>
  15041. <BitOffset>0x10</BitOffset>
  15042. <BitWidth>0x1</BitWidth>
  15043. <Access>RW</Access>
  15044. <Values>
  15045. <Val value="0x0">Hardware independant watchdog</Val>
  15046. <Val value="0x1">Software independant watchdog</Val>
  15047. </Values>
  15048. </Bit>
  15049. <Bit>
  15050. <Name>IWDG_STOP</Name>
  15051. <Description/>
  15052. <BitOffset>0x11</BitOffset>
  15053. <BitWidth>0x1</BitWidth>
  15054. <Access>RW</Access>
  15055. <Values>
  15056. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  15057. <Val value="0x1">IWDG counter active in stop mode</Val>
  15058. </Values>
  15059. </Bit>
  15060. <Bit>
  15061. <Name>IWDG_STDBY</Name>
  15062. <Description/>
  15063. <BitOffset>0x12</BitOffset>
  15064. <BitWidth>0x1</BitWidth>
  15065. <Access>RW</Access>
  15066. <Values>
  15067. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  15068. <Val value="0x1">IWDG counter active in standby mode</Val>
  15069. </Values>
  15070. </Bit>
  15071. <Bit>
  15072. <Name>WWDG_SW</Name>
  15073. <Description/>
  15074. <BitOffset>0x13</BitOffset>
  15075. <BitWidth>0x1</BitWidth>
  15076. <Access>RW</Access>
  15077. <Values>
  15078. <Val value="0x0">Hardware window watchdog</Val>
  15079. <Val value="0x1">Software window watchdog</Val>
  15080. </Values>
  15081. </Bit>
  15082. <Bit>
  15083. <Name>nBOOT1</Name>
  15084. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory. </Description>
  15085. <BitOffset>0x17</BitOffset>
  15086. <BitWidth>0x1</BitWidth>
  15087. <Access>RW</Access>
  15088. <Values>
  15089. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  15090. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  15091. </Values>
  15092. </Bit>
  15093. <Bit>
  15094. <Name>SRAM2_PE</Name>
  15095. <Description/>
  15096. <BitOffset>0x18</BitOffset>
  15097. <BitWidth>0x1</BitWidth>
  15098. <Access>RW</Access>
  15099. <Values>
  15100. <Val value="0x0">SRAM2 parity check enable</Val>
  15101. <Val value="0x1">SRAM2 parity check disable</Val>
  15102. </Values>
  15103. </Bit>
  15104. <Bit>
  15105. <Name>SRAM2_RST</Name>
  15106. <Description/>
  15107. <BitOffset>0x19</BitOffset>
  15108. <BitWidth>0x1</BitWidth>
  15109. <Access>RW</Access>
  15110. <Values>
  15111. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  15112. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  15113. </Values>
  15114. </Bit>
  15115. <Bit>
  15116. <Name>nSWBOOT0</Name>
  15117. <Description/>
  15118. <BitOffset>0x1A</BitOffset>
  15119. <BitWidth>0x1</BitWidth>
  15120. <Access>RW</Access>
  15121. <Values>
  15122. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  15123. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  15124. </Values>
  15125. </Bit>
  15126. <Bit>
  15127. <Name>nBOOT0</Name>
  15128. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  15129. <BitOffset>0x1B</BitOffset>
  15130. <BitWidth>0x1</BitWidth>
  15131. <Access>RW</Access>
  15132. <Values>
  15133. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  15134. <Val value="0x1">BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory</Val>
  15135. </Values>
  15136. </Bit>
  15137. </AssignedBits>
  15138. </Field>
  15139. </Category>
  15140. <Category>
  15141. <Name>PCROP Protection</Name>
  15142. <Field>
  15143. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  15144. <AssignedBits>
  15145. <Bit>
  15146. <Name>PCROP1_STRT</Name>
  15147. <Description>Flash Bank 1 PCROP start address</Description>
  15148. <BitOffset>0x0</BitOffset>
  15149. <BitWidth>0x10</BitWidth>
  15150. <Access>RW</Access>
  15151. <Equation multiplier="0x8" offset="0x08000000"/>
  15152. </Bit>
  15153. </AssignedBits>
  15154. </Field>
  15155. <Field>
  15156. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  15157. <AssignedBits>
  15158. <Bit>
  15159. <Name>PCROP1_END</Name>
  15160. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  15161. <BitOffset>0x0</BitOffset>
  15162. <BitWidth>0x10</BitWidth>
  15163. <Access>RW</Access>
  15164. <Equation multiplier="0x8" offset="0x08000000"/>
  15165. </Bit>
  15166. <Bit>
  15167. <Name>PCROP_RDP</Name>
  15168. <Description/>
  15169. <BitOffset>0x1F</BitOffset>
  15170. <BitWidth>0x1</BitWidth>
  15171. <Access>RW</Access>
  15172. <Values>
  15173. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  15174. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  15175. </Values>
  15176. </Bit>
  15177. </AssignedBits>
  15178. </Field>
  15179. </Category>
  15180. <Category>
  15181. <Name>Write Protection</Name>
  15182. <Field>
  15183. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  15184. <AssignedBits>
  15185. <Bit>
  15186. <Name>WRP1A_STRT</Name>
  15187. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  15188. <BitOffset>0x0</BitOffset>
  15189. <BitWidth>0x8</BitWidth>
  15190. <Access>RW</Access>
  15191. <Equation multiplier="0x800" offset="0x08000000"/>
  15192. </Bit>
  15193. <Bit>
  15194. <Name>WRP1A_END</Name>
  15195. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  15196. <BitOffset>0x10</BitOffset>
  15197. <BitWidth>0x8</BitWidth>
  15198. <Access>RW</Access>
  15199. <Equation multiplier="0x800" offset="0x08000000"/>
  15200. </Bit>
  15201. </AssignedBits>
  15202. </Field>
  15203. <Field>
  15204. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  15205. <AssignedBits>
  15206. <Bit>
  15207. <Name>WRP1B_STRT</Name>
  15208. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  15209. <BitOffset>0x0</BitOffset>
  15210. <BitWidth>0x8</BitWidth>
  15211. <Access>RW</Access>
  15212. <Equation multiplier="0x800" offset="0x08000000"/>
  15213. </Bit>
  15214. <Bit>
  15215. <Name>WRP1B_END</Name>
  15216. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  15217. <BitOffset>0x10</BitOffset>
  15218. <BitWidth>0x8</BitWidth>
  15219. <Access>RW</Access>
  15220. <Equation multiplier="0x800" offset="0x08000000"/>
  15221. </Bit>
  15222. </AssignedBits>
  15223. </Field>
  15224. </Category>
  15225. </Bank>
  15226. <Bank interface="Bootloader">
  15227. <Parameters name="Bank 1" size="0x24" address="0x1FFF7800"/>
  15228. <Category>
  15229. <Name>Read Out Protection</Name>
  15230. <Field>
  15231. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  15232. <AssignedBits>
  15233. <Bit>
  15234. <Name>RDP</Name>
  15235. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  15236. <BitOffset>0x0</BitOffset>
  15237. <BitWidth>0x8</BitWidth>
  15238. <Access>RW</Access>
  15239. <Values>
  15240. <Val value="0xAA">Level 0, no protection</Val>
  15241. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  15242. <Val value="0xCC">Level 2, chip protection</Val>
  15243. </Values>
  15244. </Bit>
  15245. </AssignedBits>
  15246. </Field>
  15247. </Category>
  15248. <Category>
  15249. <Name>BOR Level</Name>
  15250. <Field>
  15251. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  15252. <AssignedBits>
  15253. <Bit>
  15254. <Name>BOR_LEV</Name>
  15255. <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>
  15256. <BitOffset>0x8</BitOffset>
  15257. <BitWidth>0x3</BitWidth>
  15258. <Access>RW</Access>
  15259. <Values>
  15260. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  15261. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  15262. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  15263. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  15264. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  15265. </Values>
  15266. </Bit>
  15267. </AssignedBits>
  15268. </Field>
  15269. </Category>
  15270. <Category>
  15271. <Name>User Configuration</Name>
  15272. <Field>
  15273. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  15274. <AssignedBits>
  15275. <Bit>
  15276. <Name>IWDG_STOP</Name>
  15277. <Description/>
  15278. <BitOffset>0x11</BitOffset>
  15279. <BitWidth>0x1</BitWidth>
  15280. <Access>RW</Access>
  15281. <Values>
  15282. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  15283. <Val value="0x1">IWDG counter active in stop mode</Val>
  15284. </Values>
  15285. </Bit>
  15286. <Bit>
  15287. <Name>IWDG_STDBY</Name>
  15288. <Description/>
  15289. <BitOffset>0x12</BitOffset>
  15290. <BitWidth>0x1</BitWidth>
  15291. <Access>RW</Access>
  15292. <Values>
  15293. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  15294. <Val value="0x1">IWDG counter active in standby mode</Val>
  15295. </Values>
  15296. </Bit>
  15297. </AssignedBits>
  15298. </Field>
  15299. <Field>
  15300. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  15301. <AssignedBits>
  15302. <Bit>
  15303. <Name>WWDG_SW</Name>
  15304. <Description/>
  15305. <BitOffset>0x13</BitOffset>
  15306. <BitWidth>0x1</BitWidth>
  15307. <Access>RW</Access>
  15308. <Values>
  15309. <Val value="0x0">Hardware window watchdog</Val>
  15310. <Val value="0x1">Software window watchdog</Val>
  15311. </Values>
  15312. </Bit>
  15313. <Bit>
  15314. <Name>IWDG_SW</Name>
  15315. <Description/>
  15316. <BitOffset>0x10</BitOffset>
  15317. <BitWidth>0x1</BitWidth>
  15318. <Access>RW</Access>
  15319. <Values>
  15320. <Val value="0x0">Hardware independant watchdog</Val>
  15321. <Val value="0x1">Software independant watchdog</Val>
  15322. </Values>
  15323. </Bit>
  15324. <Bit>
  15325. <Name>nRST_STOP</Name>
  15326. <Description/>
  15327. <BitOffset>0xC</BitOffset>
  15328. <BitWidth>0x1</BitWidth>
  15329. <Access>RW</Access>
  15330. <Values>
  15331. <Val value="0x0">Reset generated when entering Stop mode</Val>
  15332. <Val value="0x1">No reset generated</Val>
  15333. </Values>
  15334. </Bit>
  15335. <Bit>
  15336. <Name>nRST_STDBY</Name>
  15337. <Description/>
  15338. <BitOffset>0xD</BitOffset>
  15339. <BitWidth>0x1</BitWidth>
  15340. <Access>RW</Access>
  15341. <Values>
  15342. <Val value="0x0">Reset generated when entering Standby mode</Val>
  15343. <Val value="0x1">No reset generated</Val>
  15344. </Values>
  15345. </Bit>
  15346. <Bit>
  15347. <Name>nRST_SHDW</Name>
  15348. <Description/>
  15349. <BitOffset>0xE</BitOffset>
  15350. <BitWidth>0x1</BitWidth>
  15351. <Access>RW</Access>
  15352. <Values>
  15353. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  15354. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  15355. </Values>
  15356. </Bit>
  15357. <Bit>
  15358. <Name>nBOOT1</Name>
  15359. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory. </Description>
  15360. <BitOffset>0x17</BitOffset>
  15361. <BitWidth>0x1</BitWidth>
  15362. <Access>RW</Access>
  15363. <Values>
  15364. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  15365. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  15366. </Values>
  15367. </Bit>
  15368. <Bit>
  15369. <Name>SRAM2_PE</Name>
  15370. <Description/>
  15371. <BitOffset>0x18</BitOffset>
  15372. <BitWidth>0x1</BitWidth>
  15373. <Access>RW</Access>
  15374. <Values>
  15375. <Val value="0x0">SRAM2 parity check enable</Val>
  15376. <Val value="0x1">SRAM2 parity check disable</Val>
  15377. </Values>
  15378. </Bit>
  15379. <Bit>
  15380. <Name>SRAM2_RST</Name>
  15381. <Description/>
  15382. <BitOffset>0x19</BitOffset>
  15383. <BitWidth>0x1</BitWidth>
  15384. <Access>RW</Access>
  15385. <Values>
  15386. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  15387. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  15388. </Values>
  15389. </Bit>
  15390. <Bit>
  15391. <Name>nSWBOOT0</Name>
  15392. <Description/>
  15393. <BitOffset>0x1A</BitOffset>
  15394. <BitWidth>0x1</BitWidth>
  15395. <Access>RW</Access>
  15396. <Values>
  15397. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  15398. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  15399. </Values>
  15400. </Bit>
  15401. <Bit>
  15402. <Name>nBOOT0</Name>
  15403. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  15404. <BitOffset>0x1B</BitOffset>
  15405. <BitWidth>0x1</BitWidth>
  15406. <Access>RW</Access>
  15407. <Values>
  15408. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  15409. <Val value="0x1">BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory</Val>
  15410. </Values>
  15411. </Bit>
  15412. </AssignedBits>
  15413. </Field>
  15414. </Category>
  15415. <Category>
  15416. <Name>PCROP Protection</Name>
  15417. <Field>
  15418. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FFF7808"/>
  15419. <AssignedBits>
  15420. <Bit>
  15421. <Name>PCROP1_STRT</Name>
  15422. <Description>Flash Bank 1 PCROP start address</Description>
  15423. <BitOffset>0x0</BitOffset>
  15424. <BitWidth>0x10</BitWidth>
  15425. <Access>RW</Access>
  15426. <Equation multiplier="0x8" offset="0x08000000"/>
  15427. </Bit>
  15428. </AssignedBits>
  15429. </Field>
  15430. <Field>
  15431. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FFF7810"/>
  15432. <AssignedBits>
  15433. <Bit>
  15434. <Name>PCROP1_END</Name>
  15435. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  15436. <BitOffset>0x0</BitOffset>
  15437. <BitWidth>0x10</BitWidth>
  15438. <Access>RW</Access>
  15439. <Equation multiplier="0x8" offset="0x08000000"/>
  15440. </Bit>
  15441. <Bit>
  15442. <Name>PCROP_RDP</Name>
  15443. <Description/>
  15444. <BitOffset>0x1F</BitOffset>
  15445. <BitWidth>0x1</BitWidth>
  15446. <Access>RW</Access>
  15447. <Values>
  15448. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  15449. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  15450. </Values>
  15451. </Bit>
  15452. </AssignedBits>
  15453. </Field>
  15454. </Category>
  15455. <Category>
  15456. <Name>Write Protection</Name>
  15457. <Field>
  15458. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  15459. <AssignedBits>
  15460. <Bit>
  15461. <Name>WRP1A_STRT</Name>
  15462. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  15463. <BitOffset>0x0</BitOffset>
  15464. <BitWidth>0x8</BitWidth>
  15465. <Access>RW</Access>
  15466. <Equation multiplier="0x800" offset="0x08000000"/>
  15467. </Bit>
  15468. <Bit>
  15469. <Name>WRP1A_END</Name>
  15470. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  15471. <BitOffset>0x10</BitOffset>
  15472. <BitWidth>0x8</BitWidth>
  15473. <Access>RW</Access>
  15474. <Equation multiplier="0x800" offset="0x08000000"/>
  15475. </Bit>
  15476. </AssignedBits>
  15477. </Field>
  15478. <Field>
  15479. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  15480. <AssignedBits>
  15481. <Bit>
  15482. <Name>WRP1B_STRT</Name>
  15483. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  15484. <BitOffset>0x0</BitOffset>
  15485. <BitWidth>0x8</BitWidth>
  15486. <Access>RW</Access>
  15487. <Equation multiplier="0x800" offset="0x08000000"/>
  15488. </Bit>
  15489. <Bit>
  15490. <Name>WRP1B_END</Name>
  15491. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  15492. <BitOffset>0x10</BitOffset>
  15493. <BitWidth>0x8</BitWidth>
  15494. <Access>RW</Access>
  15495. <Equation multiplier="0x800" offset="0x08000000"/>
  15496. </Bit>
  15497. </AssignedBits>
  15498. </Field>
  15499. </Category>
  15500. </Bank>
  15501. </Peripheral>
  15502. </Peripherals>
  15503. </Device>
  15504. <!-- Device: 0x422 -->
  15505. <Device>
  15506. <DeviceID>0x422</DeviceID>
  15507. <Vendor>STMicroelectronics</Vendor>
  15508. <Type>MCU</Type>
  15509. <CPU>Cortex-M4</CPU>
  15510. <Name>STM32F302xB-xC/STM32F303xB-xC/F358xx</Name>
  15511. <Series>STM32F3</Series>
  15512. <Description>ARM 32-bit Cortex-M4 based device</Description>
  15513. <Configurations>
  15514. <!-- JTAG_SWD Interface -->
  15515. <Interface name="JTAG_SWD"/>
  15516. <!-- Bootloader Interface -->
  15517. <Interface name="Bootloader"/>
  15518. </Configurations>
  15519. <!-- Peripherals -->
  15520. <Peripherals>
  15521. <!-- Embedded SRAM -->
  15522. <Peripheral>
  15523. <Name>Embedded SRAM</Name>
  15524. <Type>Storage</Type>
  15525. <Description/>
  15526. <ErasedValue>0x00</ErasedValue>
  15527. <Access>RWE</Access>
  15528. <!-- 40 KB -->
  15529. <Configuration>
  15530. <Parameters name="SRAM" size="0xA000" address="0x20000000"/>
  15531. <Description/>
  15532. <Organization>Single</Organization>
  15533. <Bank name="Bank 1">
  15534. <Field>
  15535. <Parameters name="SRAM" size="0xA000" address="0x20000000" occurence="0x1"/>
  15536. </Field>
  15537. </Bank>
  15538. </Configuration>
  15539. </Peripheral>
  15540. <!-- Embedded Flash -->
  15541. <Peripheral>
  15542. <Name>Embedded Flash</Name>
  15543. <Type>Storage</Type>
  15544. <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>
  15545. <ErasedValue>0xFF</ErasedValue>
  15546. <Access>RWE</Access>
  15547. <FlashSize address="0x1FFFF7CC" default="0x40000"/>
  15548. <!-- 256 KB single Bank -->
  15549. <Configuration>
  15550. <Parameters name=" 256 Kbytes Embedded Flash" size="0x40000" address="0x08000000"/>
  15551. <Description/>
  15552. <Organization>Single</Organization>
  15553. <Allignement>0x8</Allignement>
  15554. <Bank name="Bank 1">
  15555. <Field>
  15556. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x80"/>
  15557. </Field>
  15558. </Bank>
  15559. </Configuration>
  15560. </Peripheral>
  15561. <!-- Option Bytes -->
  15562. <Peripheral>
  15563. <Name>Option Bytes</Name>
  15564. <Type>Configuration</Type>
  15565. <Description/>
  15566. <Access>RW</Access>
  15567. <Bank>
  15568. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  15569. <Category>
  15570. <Name>Read Out Protection</Name>
  15571. <Field>
  15572. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  15573. <AssignedBits>
  15574. <Bit>
  15575. <Name>RDP</Name>
  15576. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  15577. <BitOffset>0x0</BitOffset>
  15578. <BitWidth>0x8</BitWidth>
  15579. <Access>RW</Access>
  15580. <Values>
  15581. <Val value="0xAA">Level 0, no protection</Val>
  15582. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  15583. <Val value="0xCC">Level 2, chip protection</Val>
  15584. </Values>
  15585. </Bit>
  15586. </AssignedBits>
  15587. </Field>
  15588. </Category>
  15589. <Category>
  15590. <Name>User Configuration</Name>
  15591. <Field>
  15592. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  15593. <AssignedBits>
  15594. <Bit>
  15595. <Name>WDG_SW</Name>
  15596. <Description/>
  15597. <BitOffset>0x10</BitOffset>
  15598. <BitWidth>0x1</BitWidth>
  15599. <Access>RW</Access>
  15600. <Values>
  15601. <Val value="0x0">Hardware watchdog</Val>
  15602. <Val value="0x1">Software watchdog</Val>
  15603. </Values>
  15604. </Bit>
  15605. <Bit>
  15606. <Name>nRST_STOP</Name>
  15607. <Description/>
  15608. <BitOffset>0x11</BitOffset>
  15609. <BitWidth>0x1</BitWidth>
  15610. <Access>RW</Access>
  15611. <Values>
  15612. <Val value="0x0">Reset generated when entering Stop mode</Val>
  15613. <Val value="0x1">No reset generated</Val>
  15614. </Values>
  15615. </Bit>
  15616. <Bit>
  15617. <Name>nRST_STDBY</Name>
  15618. <Description/>
  15619. <BitOffset>0x12</BitOffset>
  15620. <BitWidth>0x1</BitWidth>
  15621. <Access>RW</Access>
  15622. <Values>
  15623. <Val value="0x0">Reset generated when entering Standby mode</Val>
  15624. <Val value="0x1">No reset generated</Val>
  15625. </Values>
  15626. </Bit>
  15627. <Bit>
  15628. <Name>nBOOT1</Name>
  15629. <Description>Together with the input pad BOOT0, selects the Boot mode. If BOOT0=0, always boot from main flash memory regardless of nBoot1 value. </Description>
  15630. <BitOffset>0x14</BitOffset>
  15631. <BitWidth>0x1</BitWidth>
  15632. <Access>RW</Access>
  15633. <Values>
  15634. <Val value="0x0">Boot from embedded SRAM when BOOT0=1</Val>
  15635. <Val value="0x1">Boot from system flash when BOOT0=1</Val>
  15636. </Values>
  15637. </Bit>
  15638. <Bit>
  15639. <Name>VDDA_MONITOR</Name>
  15640. <Description/>
  15641. <BitOffset>0x15</BitOffset>
  15642. <BitWidth>0x1</BitWidth>
  15643. <Access>RW</Access>
  15644. <Values>
  15645. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  15646. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  15647. </Values>
  15648. </Bit>
  15649. <Bit>
  15650. <Name>SRAM_PE</Name>
  15651. <Description/>
  15652. <BitOffset>0x16</BitOffset>
  15653. <BitWidth>0x1</BitWidth>
  15654. <Access>RW</Access>
  15655. <Values>
  15656. <Val value="0x0">RAM parity check enabled</Val>
  15657. <Val value="0x1">RAM parity check disabled</Val>
  15658. </Values>
  15659. </Bit>
  15660. </AssignedBits>
  15661. </Field>
  15662. </Category>
  15663. <Category>
  15664. <Name>User Data</Name>
  15665. <Field>
  15666. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  15667. <AssignedBits>
  15668. <Bit>
  15669. <Name>Data0</Name>
  15670. <Description>User data 0 (8-bit)</Description>
  15671. <BitOffset>0x0</BitOffset>
  15672. <BitWidth>0x8</BitWidth>
  15673. <Access>RW</Access>
  15674. </Bit>
  15675. <Bit>
  15676. <Name>Data1</Name>
  15677. <Description>User data 1 (8-bit)</Description>
  15678. <BitOffset>0x10</BitOffset>
  15679. <BitWidth>0x8</BitWidth>
  15680. <Access>RW</Access>
  15681. </Bit>
  15682. </AssignedBits>
  15683. </Field>
  15684. </Category>
  15685. <Category>
  15686. <Name>Write Protection</Name>
  15687. <Field>
  15688. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  15689. <AssignedBits>
  15690. <Bit>
  15691. <Name>nWRP0</Name>
  15692. <Description/>
  15693. <BitOffset>0x0</BitOffset>
  15694. <BitWidth>0x8</BitWidth>
  15695. <Access>RW</Access>
  15696. <Values ByBit="true">
  15697. <Val value="0x0">Write protection active on this sector</Val>
  15698. <Val value="0x1">Write protection not active on this sector</Val>
  15699. </Values>
  15700. </Bit>
  15701. <Bit>
  15702. <Name>nWRP8</Name>
  15703. <Description/>
  15704. <BitOffset>0x10</BitOffset>
  15705. <BitWidth>0x8</BitWidth>
  15706. <Access>RW</Access>
  15707. <Values ByBit="true">
  15708. <Val value="0x0">Write protection active on this sector</Val>
  15709. <Val value="0x1">Write protection not active on this sector</Val>
  15710. </Values>
  15711. </Bit>
  15712. </AssignedBits>
  15713. </Field>
  15714. <Field>
  15715. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  15716. <AssignedBits>
  15717. <Bit>
  15718. <Name>nWRP16</Name>
  15719. <Description/>
  15720. <BitOffset>0x0</BitOffset>
  15721. <BitWidth>0x8</BitWidth>
  15722. <Access>RW</Access>
  15723. <Values ByBit="true">
  15724. <Val value="0x0">Write protection active on this sector</Val>
  15725. <Val value="0x1">Write protection not active on this sector</Val>
  15726. </Values>
  15727. </Bit>
  15728. <Bit>
  15729. <Name>nWRP24</Name>
  15730. <Description/>
  15731. <BitOffset>0x10</BitOffset>
  15732. <BitWidth>0x8</BitWidth>
  15733. <Access>RW</Access>
  15734. <Values ByBit="true">
  15735. <Val value="0x0">Write protection active on this sector</Val>
  15736. <Val value="0x1">Write protection not active on this sector</Val>
  15737. </Values>
  15738. </Bit>
  15739. </AssignedBits>
  15740. </Field>
  15741. </Category>
  15742. </Bank>
  15743. </Peripheral>
  15744. </Peripherals>
  15745. </Device>
  15746. <!-- Device: 0x439 -->
  15747. <Device>
  15748. <DeviceID>0x439</DeviceID>
  15749. <Vendor>STMicroelectronics</Vendor>
  15750. <Type>MCU</Type>
  15751. <CPU>Cortex-M4</CPU>
  15752. <Name>STM32F301x4-x6-x8/STM32F302x4-x6-x8/F318xx</Name>
  15753. <Series>STM32F3</Series>
  15754. <Description>ARM 32-bit Cortex-M4 based device</Description>
  15755. <Configurations>
  15756. <!-- JTAG_SWD Interface -->
  15757. <Interface name="JTAG_SWD"/>
  15758. <!-- Bootloader Interface -->
  15759. <Interface name="Bootloader"/>
  15760. </Configurations>
  15761. <!-- Peripherals -->
  15762. <Peripherals>
  15763. <!-- Embedded SRAM -->
  15764. <Peripheral>
  15765. <Name>Embedded SRAM</Name>
  15766. <Type>Storage</Type>
  15767. <Description/>
  15768. <ErasedValue>0x00</ErasedValue>
  15769. <Access>RWE</Access>
  15770. <!-- 16 KB, 12KB accessible -->
  15771. <Configuration>
  15772. <Parameters name="SRAM" size="0x4000" address="0x20000000"/>
  15773. <Description/>
  15774. <Organization>Single</Organization>
  15775. <Bank name="Bank 1">
  15776. <Field>
  15777. <Parameters name="SRAM" size="0x4000" address="0x20000000" occurence="0x1"/>
  15778. </Field>
  15779. </Bank>
  15780. </Configuration>
  15781. </Peripheral>
  15782. <!-- Embedded Flash -->
  15783. <Peripheral>
  15784. <Name>Embedded Flash</Name>
  15785. <Type>Storage</Type>
  15786. <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>
  15787. <ErasedValue>0xFF</ErasedValue>
  15788. <Access>RWE</Access>
  15789. <FlashSize address="0x1FFFF7CC" default="0x10000"/>
  15790. <!-- 64 KB single Bank -->
  15791. <Configuration>
  15792. <Parameters name=" 64 Kbytes Embedded Flash" size="0x10000" address="0x08000000"/>
  15793. <Description/>
  15794. <Organization>Single</Organization>
  15795. <Allignement>0x8</Allignement>
  15796. <Bank name="Bank 1">
  15797. <Field>
  15798. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x20"/>
  15799. </Field>
  15800. </Bank>
  15801. </Configuration>
  15802. </Peripheral>
  15803. <!-- Option Bytes -->
  15804. <Peripheral>
  15805. <Name>Option Bytes</Name>
  15806. <Type>Configuration</Type>
  15807. <Description/>
  15808. <Access>RW</Access>
  15809. <Bank>
  15810. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  15811. <Category>
  15812. <Name>Read Out Protection</Name>
  15813. <Field>
  15814. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  15815. <AssignedBits>
  15816. <Bit>
  15817. <Name>RDP</Name>
  15818. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  15819. <BitOffset>0x0</BitOffset>
  15820. <BitWidth>0x8</BitWidth>
  15821. <Access>RW</Access>
  15822. <Values>
  15823. <Val value="0xAA">Level 0, no protection</Val>
  15824. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  15825. <Val value="0xCC">Level 2, chip protection</Val>
  15826. </Values>
  15827. </Bit>
  15828. </AssignedBits>
  15829. </Field>
  15830. </Category>
  15831. <Category>
  15832. <Name>User Configuration</Name>
  15833. <Field>
  15834. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  15835. <AssignedBits>
  15836. <Bit>
  15837. <Name>WDG_SW</Name>
  15838. <Description/>
  15839. <BitOffset>0x10</BitOffset>
  15840. <BitWidth>0x1</BitWidth>
  15841. <Access>RW</Access>
  15842. <Values>
  15843. <Val value="0x0">Hardware watchdog</Val>
  15844. <Val value="0x1">Software watchdog</Val>
  15845. </Values>
  15846. </Bit>
  15847. <Bit>
  15848. <Name>nRST_STOP</Name>
  15849. <Description/>
  15850. <BitOffset>0x11</BitOffset>
  15851. <BitWidth>0x1</BitWidth>
  15852. <Access>RW</Access>
  15853. <Values>
  15854. <Val value="0x0">Reset generated when entering Stop mode</Val>
  15855. <Val value="0x1">No reset generated</Val>
  15856. </Values>
  15857. </Bit>
  15858. <Bit>
  15859. <Name>nRST_STDBY</Name>
  15860. <Description/>
  15861. <BitOffset>0x12</BitOffset>
  15862. <BitWidth>0x1</BitWidth>
  15863. <Access>RW</Access>
  15864. <Values>
  15865. <Val value="0x0">Reset generated when entering Standby mode</Val>
  15866. <Val value="0x1">No reset generated</Val>
  15867. </Values>
  15868. </Bit>
  15869. <Bit>
  15870. <Name>nBOOT1</Name>
  15871. <Description>Together with the input pad BOOT0, selects the Boot mode. If BOOT0=0, always boot from main flash memory regardless of nBoot1 value. </Description>
  15872. <BitOffset>0x14</BitOffset>
  15873. <BitWidth>0x1</BitWidth>
  15874. <Access>RW</Access>
  15875. <Values>
  15876. <Val value="0x0">Boot from embedded SRAM when BOOT0=1</Val>
  15877. <Val value="0x1">Boot from system flash when BOOT0=1</Val>
  15878. </Values>
  15879. </Bit>
  15880. <Bit>
  15881. <Name>VDDA_MONITOR</Name>
  15882. <Description/>
  15883. <BitOffset>0x15</BitOffset>
  15884. <BitWidth>0x1</BitWidth>
  15885. <Access>RW</Access>
  15886. <Values>
  15887. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  15888. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  15889. </Values>
  15890. </Bit>
  15891. <Bit>
  15892. <Name>SRAM_PE</Name>
  15893. <Description/>
  15894. <BitOffset>0x16</BitOffset>
  15895. <BitWidth>0x1</BitWidth>
  15896. <Access>RW</Access>
  15897. <Values>
  15898. <Val value="0x0">RAM parity check enabled</Val>
  15899. <Val value="0x1">RAM parity check disabled</Val>
  15900. </Values>
  15901. </Bit>
  15902. </AssignedBits>
  15903. </Field>
  15904. </Category>
  15905. <Category>
  15906. <Name>User Data</Name>
  15907. <Field>
  15908. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  15909. <AssignedBits>
  15910. <Bit>
  15911. <Name>Data0</Name>
  15912. <Description>User data 0 (8-bit)</Description>
  15913. <BitOffset>0x0</BitOffset>
  15914. <BitWidth>0x8</BitWidth>
  15915. <Access>RW</Access>
  15916. </Bit>
  15917. <Bit>
  15918. <Name>Data1</Name>
  15919. <Description>User data 1 (8-bit)</Description>
  15920. <BitOffset>0x10</BitOffset>
  15921. <BitWidth>0x8</BitWidth>
  15922. <Access>RW</Access>
  15923. </Bit>
  15924. </AssignedBits>
  15925. </Field>
  15926. </Category>
  15927. <Category>
  15928. <Name>Write Protection</Name>
  15929. <Field>
  15930. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  15931. <AssignedBits>
  15932. <Bit>
  15933. <Name>nWRP0</Name>
  15934. <Description/>
  15935. <BitOffset>0x0</BitOffset>
  15936. <BitWidth>0x8</BitWidth>
  15937. <Access>RW</Access>
  15938. <Values ByBit="true">
  15939. <Val value="0x0">Write protection active on this sector</Val>
  15940. <Val value="0x1">Write protection not active on this sector</Val>
  15941. </Values>
  15942. </Bit>
  15943. <Bit>
  15944. <Name>nWRP8</Name>
  15945. <Description/>
  15946. <BitOffset>0x10</BitOffset>
  15947. <BitWidth>0x8</BitWidth>
  15948. <Access>RW</Access>
  15949. <Values ByBit="true">
  15950. <Val value="0x0">Write protection active on this sector</Val>
  15951. <Val value="0x1">Write protection not active on this sector</Val>
  15952. </Values>
  15953. </Bit>
  15954. </AssignedBits>
  15955. </Field>
  15956. </Category>
  15957. </Bank>
  15958. </Peripheral>
  15959. </Peripherals>
  15960. </Device>
  15961. <!-- Device: 0x461 -->
  15962. <Device>
  15963. <DeviceID>0x461</DeviceID>
  15964. <Vendor>STMicroelectronics</Vendor>
  15965. <Type>MCU</Type>
  15966. <CPU>Cortex-M4</CPU>
  15967. <Name>STM32L496xx/STM32L4A6xx</Name>
  15968. <Series>STM32L4</Series>
  15969. <Description>ARM 32-bit Cortex-M4 based device</Description>
  15970. <Configurations>
  15971. <!-- JTAG_SWD Interface -->
  15972. <Interface name="JTAG_SWD"/>
  15973. <!-- Bootloader Interface -->
  15974. <Interface name="Bootloader"/>
  15975. </Configurations>
  15976. <!-- Peripherals -->
  15977. <Peripherals>
  15978. <!-- Embedded SRAM -->
  15979. <Peripheral>
  15980. <Name>Embedded SRAM</Name>
  15981. <Type>Storage</Type>
  15982. <Description/>
  15983. <ErasedValue>0x00</ErasedValue>
  15984. <Access>RWE</Access>
  15985. <!-- 256 KB -->
  15986. <Configuration>
  15987. <Parameters name="SRAM" size="0x40000" address="0x20000000"/>
  15988. <Description/>
  15989. <Organization>Single</Organization>
  15990. <Bank name="Bank 1">
  15991. <Field>
  15992. <Parameters name="SRAM" size="0x50000" address="0x20000000" occurence="0x1"/>
  15993. </Field>
  15994. </Bank>
  15995. </Configuration>
  15996. </Peripheral>
  15997. <!-- Embedded Flash -->
  15998. <Peripheral>
  15999. <Name>Embedded Flash</Name>
  16000. <Type>Storage</Type>
  16001. <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>
  16002. <ErasedValue>0xFF</ErasedValue>
  16003. <Access>RWE</Access>
  16004. <FlashSize address="0x1FFF75E0" default="0x100000"/>
  16005. <!-- 1MB dual Bank -->
  16006. <Configuration>
  16007. <Parameters name=" 1 Mbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  16008. <Description/>
  16009. <Organization>Dual</Organization>
  16010. <Allignement>0x8</Allignement>
  16011. <Bank name="Bank 1">
  16012. <Field>
  16013. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x100"/>
  16014. </Field>
  16015. </Bank>
  16016. <Bank name="Bank 2">
  16017. <Field>
  16018. <Parameters name="sector256" size="0x800" address="0x08080000" occurence="0x100"/>
  16019. </Field>
  16020. </Bank>
  16021. </Configuration>
  16022. </Peripheral>
  16023. <!-- OTP -->
  16024. <Peripheral>
  16025. <Name>OTP</Name>
  16026. <Type>Storage</Type>
  16027. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  16028. <ErasedValue>0xFF</ErasedValue>
  16029. <Access>RW</Access>
  16030. <!-- 1 KBytes single bank -->
  16031. <Configuration>
  16032. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  16033. <Description/>
  16034. <Organization>Single</Organization>
  16035. <Allignement>0x4</Allignement>
  16036. <Bank name="OTP">
  16037. <Field>
  16038. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  16039. </Field>
  16040. </Bank>
  16041. </Configuration>
  16042. </Peripheral>
  16043. <!-- Mirror Option Bytes -->
  16044. <Peripheral>
  16045. <Name>MirrorOptionBytes</Name>
  16046. <Type>Storage</Type>
  16047. <Description>Mirror Option Bytes contains the extra area.</Description>
  16048. <ErasedValue>0xFF</ErasedValue>
  16049. <Access>RW</Access>
  16050. <!-- 64 Bytes Dual bank -->
  16051. <Configuration>
  16052. <Parameters name=" 64 Bytes Data MirrorOptionBytes" size="0x40" address="0x1FFF7800"/>
  16053. <Description/>
  16054. <Organization>Dual</Organization>
  16055. <Allignement>0x4</Allignement>
  16056. <Bank name="Bank 1">
  16057. <Field>
  16058. <Parameters name="Bank1" size="0x24" address="0x1FFF7800" occurence="0x1"/>
  16059. </Field>
  16060. </Bank>
  16061. <Bank name="Bank 2">
  16062. <Field>
  16063. <Parameters name="Bank2" size="0x1C" address="0x1FFFF808" occurence="0x1"/>
  16064. </Field>
  16065. </Bank>
  16066. </Configuration>
  16067. </Peripheral>
  16068. <!-- Option Bytes -->
  16069. <Peripheral>
  16070. <Name>Option Bytes</Name>
  16071. <Type>Configuration</Type>
  16072. <Description/>
  16073. <Access>RW</Access>
  16074. <Bank interface="JTAG_SWD">
  16075. <Parameters name="Bank 1" size="0x14" address="0x40022020"/>
  16076. <Category>
  16077. <Name>Read Out Protection</Name>
  16078. <Field>
  16079. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  16080. <AssignedBits>
  16081. <Bit>
  16082. <Name>RDP</Name>
  16083. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  16084. <BitOffset>0x0</BitOffset>
  16085. <BitWidth>0x8</BitWidth>
  16086. <Access>RW</Access>
  16087. <Values>
  16088. <Val value="0xAA">Level 0, no protection</Val>
  16089. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  16090. <Val value="0xCC">Level 2, chip protection</Val>
  16091. </Values>
  16092. </Bit>
  16093. </AssignedBits>
  16094. </Field>
  16095. </Category>
  16096. <Category>
  16097. <Name>BOR Level</Name>
  16098. <Field>
  16099. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  16100. <AssignedBits>
  16101. <Bit>
  16102. <Name>BOR_LEV</Name>
  16103. <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>
  16104. <BitOffset>0x8</BitOffset>
  16105. <BitWidth>0x3</BitWidth>
  16106. <Access>RW</Access>
  16107. <Values>
  16108. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  16109. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  16110. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  16111. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  16112. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  16113. </Values>
  16114. </Bit>
  16115. </AssignedBits>
  16116. </Field>
  16117. </Category>
  16118. <Category>
  16119. <Name>User Configuration</Name>
  16120. <Field>
  16121. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  16122. <AssignedBits>
  16123. <Bit>
  16124. <Name>nRST_STOP</Name>
  16125. <Description/>
  16126. <BitOffset>0xC</BitOffset>
  16127. <BitWidth>0x1</BitWidth>
  16128. <Access>RW</Access>
  16129. <Values>
  16130. <Val value="0x0">Reset generated when entering Stop mode</Val>
  16131. <Val value="0x1">No reset generated when entering Stop mode</Val>
  16132. </Values>
  16133. </Bit>
  16134. <Bit>
  16135. <Name>nRST_STDBY</Name>
  16136. <Description/>
  16137. <BitOffset>0xD</BitOffset>
  16138. <BitWidth>0x1</BitWidth>
  16139. <Access>RW</Access>
  16140. <Values>
  16141. <Val value="0x0">Reset generated when entering Standby mode</Val>
  16142. <Val value="0x1">No reset generated when entering Standby mode</Val>
  16143. </Values>
  16144. </Bit>
  16145. <Bit>
  16146. <Name>nRST_SHDW</Name>
  16147. <Description/>
  16148. <BitOffset>0xE</BitOffset>
  16149. <BitWidth>0x1</BitWidth>
  16150. <Access>RW</Access>
  16151. <Values>
  16152. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  16153. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  16154. </Values>
  16155. </Bit>
  16156. <Bit>
  16157. <Name>IWDG_SW</Name>
  16158. <Description/>
  16159. <BitOffset>0x10</BitOffset>
  16160. <BitWidth>0x1</BitWidth>
  16161. <Access>RW</Access>
  16162. <Values>
  16163. <Val value="0x0">Hardware independant watchdog</Val>
  16164. <Val value="0x1">Software independant watchdog</Val>
  16165. </Values>
  16166. </Bit>
  16167. <Bit>
  16168. <Name>IWDG_STOP</Name>
  16169. <Description/>
  16170. <BitOffset>0x11</BitOffset>
  16171. <BitWidth>0x1</BitWidth>
  16172. <Access>RW</Access>
  16173. <Values>
  16174. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  16175. <Val value="0x1">IWDG counter active in stop mode</Val>
  16176. </Values>
  16177. </Bit>
  16178. <Bit>
  16179. <Name>IWDG_STDBY</Name>
  16180. <Description/>
  16181. <BitOffset>0x12</BitOffset>
  16182. <BitWidth>0x1</BitWidth>
  16183. <Access>RW</Access>
  16184. <Values>
  16185. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  16186. <Val value="0x1">IWDG counter active in standby mode</Val>
  16187. </Values>
  16188. </Bit>
  16189. <Bit>
  16190. <Name>WWDG_SW</Name>
  16191. <Description/>
  16192. <BitOffset>0x13</BitOffset>
  16193. <BitWidth>0x1</BitWidth>
  16194. <Access>RW</Access>
  16195. <Values>
  16196. <Val value="0x0">Hardware window watchdog</Val>
  16197. <Val value="0x1">Software window watchdog</Val>
  16198. </Values>
  16199. </Bit>
  16200. <Bit>
  16201. <Name>BFB2</Name>
  16202. <Description/>
  16203. <BitOffset>0x14</BitOffset>
  16204. <BitWidth>0x1</BitWidth>
  16205. <Access>RW</Access>
  16206. <Values>
  16207. <Val value="0x0">Dual-bank boot disable</Val>
  16208. <Val value="0x1">Dual-bank boot enable</Val>
  16209. </Values>
  16210. </Bit>
  16211. <Bit>
  16212. <Name>nBOOT1</Name>
  16213. <Description/>
  16214. <BitOffset>0x17</BitOffset>
  16215. <BitWidth>0x1</BitWidth>
  16216. <Access>RW</Access>
  16217. <Values>
  16218. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  16219. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  16220. </Values>
  16221. </Bit>
  16222. <Bit>
  16223. <Name>SRAM2_PE</Name>
  16224. <Description/>
  16225. <BitOffset>0x18</BitOffset>
  16226. <BitWidth>0x1</BitWidth>
  16227. <Access>RW</Access>
  16228. <Values>
  16229. <Val value="0x0">SRAM2 parity check enable</Val>
  16230. <Val value="0x1">SRAM2 parity check disable</Val>
  16231. </Values>
  16232. </Bit>
  16233. <Bit>
  16234. <Name>SRAM2_RST</Name>
  16235. <Description/>
  16236. <BitOffset>0x19</BitOffset>
  16237. <BitWidth>0x1</BitWidth>
  16238. <Access>RW</Access>
  16239. <Values>
  16240. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  16241. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  16242. </Values>
  16243. </Bit>
  16244. <Bit>
  16245. <Name>nSWBOOT0</Name>
  16246. <Description/>
  16247. <BitOffset>0x1A</BitOffset>
  16248. <BitWidth>0x1</BitWidth>
  16249. <Access>RW</Access>
  16250. <Values>
  16251. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  16252. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  16253. </Values>
  16254. </Bit>
  16255. <Bit>
  16256. <Name>nBOOT0</Name>
  16257. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  16258. <BitOffset>0x1B</BitOffset>
  16259. <BitWidth>0x1</BitWidth>
  16260. <Access>RW</Access>
  16261. <Values>
  16262. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  16263. <Val value="0x1">BOOT0 = 0, boot from main flash memory</Val>
  16264. </Values>
  16265. </Bit>
  16266. </AssignedBits>
  16267. </Field>
  16268. </Category>
  16269. <Category>
  16270. <Name>PCROP Protection (Bank 1)</Name>
  16271. <Field>
  16272. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  16273. <AssignedBits>
  16274. <Bit>
  16275. <Name>PCROP1_STRT</Name>
  16276. <Description>Flash Bank 1 PCROP start address</Description>
  16277. <BitOffset>0x0</BitOffset>
  16278. <BitWidth>0x10</BitWidth>
  16279. <Access>RW</Access>
  16280. <Equation multiplier="0x8" offset="0x08000000"/>
  16281. </Bit>
  16282. </AssignedBits>
  16283. </Field>
  16284. <Field>
  16285. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  16286. <AssignedBits>
  16287. <Bit>
  16288. <Name>PCROP1_END</Name>
  16289. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  16290. <BitOffset>0x0</BitOffset>
  16291. <BitWidth>0x10</BitWidth>
  16292. <Access>RW</Access>
  16293. <Equation multiplier="0x8" offset="0x08000000"/>
  16294. </Bit>
  16295. <Bit>
  16296. <Name>PCROP_RDP</Name>
  16297. <Description/>
  16298. <BitOffset>0x1F</BitOffset>
  16299. <BitWidth>0x1</BitWidth>
  16300. <Access>RW</Access>
  16301. <Values>
  16302. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  16303. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  16304. </Values>
  16305. </Bit>
  16306. </AssignedBits>
  16307. </Field>
  16308. </Category>
  16309. <Category>
  16310. <Name>Write Protection (Bank 1)</Name>
  16311. <Field>
  16312. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  16313. <AssignedBits>
  16314. <Bit>
  16315. <Name>WRP1A_STRT</Name>
  16316. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  16317. <BitOffset>0x0</BitOffset>
  16318. <BitWidth>0x8</BitWidth>
  16319. <Access>RW</Access>
  16320. <Equation multiplier="0x800" offset="0x08000000"/>
  16321. </Bit>
  16322. <Bit>
  16323. <Name>WRP1A_END</Name>
  16324. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  16325. <BitOffset>0x10</BitOffset>
  16326. <BitWidth>0x8</BitWidth>
  16327. <Access>RW</Access>
  16328. <Equation multiplier="0x800" offset="0x08000000"/>
  16329. </Bit>
  16330. </AssignedBits>
  16331. </Field>
  16332. <Field>
  16333. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  16334. <AssignedBits>
  16335. <Bit>
  16336. <Name>WRP1B_STRT</Name>
  16337. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  16338. <BitOffset>0x0</BitOffset>
  16339. <BitWidth>0x8</BitWidth>
  16340. <Access>RW</Access>
  16341. <Equation multiplier="0x800" offset="0x08000000"/>
  16342. </Bit>
  16343. <Bit>
  16344. <Name>WRP1B_END</Name>
  16345. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  16346. <BitOffset>0x10</BitOffset>
  16347. <BitWidth>0x8</BitWidth>
  16348. <Access>RW</Access>
  16349. <Equation multiplier="0x800" offset="0x08000000"/>
  16350. </Bit>
  16351. </AssignedBits>
  16352. </Field>
  16353. </Category>
  16354. </Bank>
  16355. <Bank interface="JTAG_SWD">
  16356. <Parameters name="Bank 2" size="0x10" address="0x40022044"/>
  16357. <Category>
  16358. <Name>PCROP Protection (Bank 2)</Name>
  16359. <Field>
  16360. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x40022044"/>
  16361. <AssignedBits>
  16362. <Bit>
  16363. <Name>PCROP2_STRT</Name>
  16364. <Description>Flash Bank 2 PCROP start address</Description>
  16365. <BitOffset>0x0</BitOffset>
  16366. <BitWidth>0x10</BitWidth>
  16367. <Access>RW</Access>
  16368. <Equation multiplier="0x8" offset="0x08080000"/>
  16369. </Bit>
  16370. </AssignedBits>
  16371. </Field>
  16372. <Field>
  16373. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x40022048"/>
  16374. <AssignedBits>
  16375. <Bit>
  16376. <Name>PCROP2_END</Name>
  16377. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  16378. <BitOffset>0x0</BitOffset>
  16379. <BitWidth>0x10</BitWidth>
  16380. <Access>RW</Access>
  16381. <Equation multiplier="0x8" offset="0x08080000"/>
  16382. </Bit>
  16383. </AssignedBits>
  16384. </Field>
  16385. </Category>
  16386. <Category>
  16387. <Name>Write Protection (Bank 2)</Name>
  16388. <Field>
  16389. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x4002204C"/>
  16390. <AssignedBits>
  16391. <Bit>
  16392. <Name>WRP2A_STRT</Name>
  16393. <Description>The address of first page of the Bank 2 WRP first area</Description>
  16394. <BitOffset>0x0</BitOffset>
  16395. <BitWidth>0x8</BitWidth>
  16396. <Access>RW</Access>
  16397. <Equation multiplier="0x800" offset="0x08080000"/>
  16398. </Bit>
  16399. <Bit>
  16400. <Name>WRP2A_END</Name>
  16401. <Description>The address of last page of the Bank 2 WRP first area</Description>
  16402. <BitOffset>0x10</BitOffset>
  16403. <BitWidth>0x8</BitWidth>
  16404. <Access>RW</Access>
  16405. <Equation multiplier="0x800" offset="0x08080000"/>
  16406. </Bit>
  16407. </AssignedBits>
  16408. </Field>
  16409. <Field>
  16410. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x40022050"/>
  16411. <AssignedBits>
  16412. <Bit>
  16413. <Name>WRP2B_STRT</Name>
  16414. <Description>The address of first page of the Bank 2 WRP second area</Description>
  16415. <BitOffset>0x0</BitOffset>
  16416. <BitWidth>0x8</BitWidth>
  16417. <Access>RW</Access>
  16418. <Equation multiplier="0x800" offset="0x08080000"/>
  16419. </Bit>
  16420. <Bit>
  16421. <Name>WRP2B_END</Name>
  16422. <Description>The address of last page of the Bank 2 WRP second area</Description>
  16423. <BitOffset>0x10</BitOffset>
  16424. <BitWidth>0x8</BitWidth>
  16425. <Access>RW</Access>
  16426. <Equation multiplier="0x800" offset="0x08080000"/>
  16427. </Bit>
  16428. </AssignedBits>
  16429. </Field>
  16430. </Category>
  16431. </Bank>
  16432. <Bank interface="Bootloader">
  16433. <Parameters name="Bank 1" size="0x24" address="0x1FFF7800"/>
  16434. <Category>
  16435. <Name>Read Out Protection</Name>
  16436. <Field>
  16437. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  16438. <AssignedBits>
  16439. <Bit>
  16440. <Name>RDP</Name>
  16441. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  16442. <BitOffset>0x0</BitOffset>
  16443. <BitWidth>0x8</BitWidth>
  16444. <Access>RW</Access>
  16445. <Values>
  16446. <Val value="0xAA">Level 0, no protection</Val>
  16447. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  16448. <Val value="0xCC">Level 2, chip protection</Val>
  16449. </Values>
  16450. </Bit>
  16451. </AssignedBits>
  16452. </Field>
  16453. </Category>
  16454. <Category>
  16455. <Name>BOR Level</Name>
  16456. <Field>
  16457. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  16458. <AssignedBits>
  16459. <Bit>
  16460. <Name>BOR_LEV</Name>
  16461. <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>
  16462. <BitOffset>0x8</BitOffset>
  16463. <BitWidth>0x3</BitWidth>
  16464. <Access>RW</Access>
  16465. <Values>
  16466. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  16467. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  16468. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  16469. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  16470. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  16471. </Values>
  16472. </Bit>
  16473. </AssignedBits>
  16474. </Field>
  16475. </Category>
  16476. <Category>
  16477. <Name>User Configuration</Name>
  16478. <Field>
  16479. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  16480. <AssignedBits>
  16481. <Bit>
  16482. <Name>IWDG_STOP</Name>
  16483. <Description/>
  16484. <BitOffset>0x11</BitOffset>
  16485. <BitWidth>0x1</BitWidth>
  16486. <Access>RW</Access>
  16487. <Values>
  16488. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  16489. <Val value="0x1">IWDG counter active in stop mode</Val>
  16490. </Values>
  16491. </Bit>
  16492. <Bit>
  16493. <Name>IWDG_STDBY</Name>
  16494. <Description/>
  16495. <BitOffset>0x12</BitOffset>
  16496. <BitWidth>0x1</BitWidth>
  16497. <Access>RW</Access>
  16498. <Values>
  16499. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  16500. <Val value="0x1">IWDG counter active in standby mode</Val>
  16501. </Values>
  16502. </Bit>
  16503. </AssignedBits>
  16504. </Field>
  16505. <Field>
  16506. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  16507. <AssignedBits>
  16508. <Bit>
  16509. <Name>WWDG_SW</Name>
  16510. <Description/>
  16511. <BitOffset>0x13</BitOffset>
  16512. <BitWidth>0x1</BitWidth>
  16513. <Access>RW</Access>
  16514. <Values>
  16515. <Val value="0x0">Hardware window watchdog</Val>
  16516. <Val value="0x1">Software window watchdog</Val>
  16517. </Values>
  16518. </Bit>
  16519. <Bit>
  16520. <Name>IWDG_SW</Name>
  16521. <Description/>
  16522. <BitOffset>0x10</BitOffset>
  16523. <BitWidth>0x1</BitWidth>
  16524. <Access>RW</Access>
  16525. <Values>
  16526. <Val value="0x0">Hardware independant watchdog</Val>
  16527. <Val value="0x1">Software independant watchdog</Val>
  16528. </Values>
  16529. </Bit>
  16530. <Bit>
  16531. <Name>nRST_STOP</Name>
  16532. <Description/>
  16533. <BitOffset>0xC</BitOffset>
  16534. <BitWidth>0x1</BitWidth>
  16535. <Access>RW</Access>
  16536. <Values>
  16537. <Val value="0x0">Reset generated when entering Stop mode</Val>
  16538. <Val value="0x1">No reset generated</Val>
  16539. </Values>
  16540. </Bit>
  16541. <Bit>
  16542. <Name>nRST_STDBY</Name>
  16543. <Description/>
  16544. <BitOffset>0xD</BitOffset>
  16545. <BitWidth>0x1</BitWidth>
  16546. <Access>RW</Access>
  16547. <Values>
  16548. <Val value="0x0">Reset generated when entering Standby mode</Val>
  16549. <Val value="0x1">No reset generated</Val>
  16550. </Values>
  16551. </Bit>
  16552. <Bit>
  16553. <Name>nRST_SHDW</Name>
  16554. <Description/>
  16555. <BitOffset>0xE</BitOffset>
  16556. <BitWidth>0x1</BitWidth>
  16557. <Access>RW</Access>
  16558. <Values>
  16559. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  16560. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  16561. </Values>
  16562. </Bit>
  16563. <Bit>
  16564. <Name>BFB2</Name>
  16565. <Description/>
  16566. <BitOffset>0x14</BitOffset>
  16567. <BitWidth>0x1</BitWidth>
  16568. <Access>RW</Access>
  16569. <Values>
  16570. <Val value="0x0">Dual-bank boot disable</Val>
  16571. <Val value="0x1">Dual-bank boot enable</Val>
  16572. </Values>
  16573. </Bit>
  16574. <Bit>
  16575. <Name>nBOOT1</Name>
  16576. <Description/>
  16577. <BitOffset>0x17</BitOffset>
  16578. <BitWidth>0x1</BitWidth>
  16579. <Access>RW</Access>
  16580. <Values>
  16581. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  16582. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  16583. </Values>
  16584. </Bit>
  16585. <Bit>
  16586. <Name>SRAM2_PE</Name>
  16587. <Description/>
  16588. <BitOffset>0x18</BitOffset>
  16589. <BitWidth>0x1</BitWidth>
  16590. <Access>RW</Access>
  16591. <Values>
  16592. <Val value="0x0">SRAM2 parity check enable</Val>
  16593. <Val value="0x1">SRAM2 parity check disable</Val>
  16594. </Values>
  16595. </Bit>
  16596. <Bit>
  16597. <Name>SRAM2_RST</Name>
  16598. <Description/>
  16599. <BitOffset>0x19</BitOffset>
  16600. <BitWidth>0x1</BitWidth>
  16601. <Access>RW</Access>
  16602. <Values>
  16603. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  16604. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  16605. </Values>
  16606. </Bit>
  16607. <Bit>
  16608. <Name>nSWBOOT0</Name>
  16609. <Description/>
  16610. <BitOffset>0x1A</BitOffset>
  16611. <BitWidth>0x1</BitWidth>
  16612. <Access>RW</Access>
  16613. <Values>
  16614. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  16615. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  16616. </Values>
  16617. </Bit>
  16618. <Bit>
  16619. <Name>nBOOT0</Name>
  16620. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  16621. <BitOffset>0x1B</BitOffset>
  16622. <BitWidth>0x1</BitWidth>
  16623. <Access>RW</Access>
  16624. <Values>
  16625. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  16626. <Val value="0x1">BOOT0 = 0, boot from main flash memory</Val>
  16627. </Values>
  16628. </Bit>
  16629. </AssignedBits>
  16630. </Field>
  16631. </Category>
  16632. <Category>
  16633. <Name>PCROP Protection (Bank 1)</Name>
  16634. <Field>
  16635. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FFF7808"/>
  16636. <AssignedBits>
  16637. <Bit>
  16638. <Name>PCROP1_STRT</Name>
  16639. <Description>Flash Bank 1 PCROP start address</Description>
  16640. <BitOffset>0x0</BitOffset>
  16641. <BitWidth>0x10</BitWidth>
  16642. <Access>RW</Access>
  16643. <Equation multiplier="0x8" offset="0x08000000"/>
  16644. </Bit>
  16645. </AssignedBits>
  16646. </Field>
  16647. <Field>
  16648. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FFF7810"/>
  16649. <AssignedBits>
  16650. <Bit>
  16651. <Name>PCROP1_END</Name>
  16652. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  16653. <BitOffset>0x0</BitOffset>
  16654. <BitWidth>0x10</BitWidth>
  16655. <Access>RW</Access>
  16656. <Equation multiplier="0x8" offset="0x08000000"/>
  16657. </Bit>
  16658. <Bit>
  16659. <Name>PCROP_RDP</Name>
  16660. <Description/>
  16661. <BitOffset>0x1F</BitOffset>
  16662. <BitWidth>0x1</BitWidth>
  16663. <Access>RW</Access>
  16664. <Values>
  16665. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  16666. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  16667. </Values>
  16668. </Bit>
  16669. </AssignedBits>
  16670. </Field>
  16671. </Category>
  16672. <Category>
  16673. <Name>Write Protection (Bank 1)</Name>
  16674. <Field>
  16675. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  16676. <AssignedBits>
  16677. <Bit>
  16678. <Name>WRP1A_STRT</Name>
  16679. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  16680. <BitOffset>0x0</BitOffset>
  16681. <BitWidth>0x8</BitWidth>
  16682. <Access>RW</Access>
  16683. <Equation multiplier="0x800" offset="0x08000000"/>
  16684. </Bit>
  16685. <Bit>
  16686. <Name>WRP1A_END</Name>
  16687. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  16688. <BitOffset>0x10</BitOffset>
  16689. <BitWidth>0x8</BitWidth>
  16690. <Access>RW</Access>
  16691. <Equation multiplier="0x800" offset="0x08000000"/>
  16692. </Bit>
  16693. </AssignedBits>
  16694. </Field>
  16695. <Field>
  16696. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  16697. <AssignedBits>
  16698. <Bit>
  16699. <Name>WRP1B_STRT</Name>
  16700. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  16701. <BitOffset>0x0</BitOffset>
  16702. <BitWidth>0x8</BitWidth>
  16703. <Access>RW</Access>
  16704. <Equation multiplier="0x800" offset="0x08000000"/>
  16705. </Bit>
  16706. <Bit>
  16707. <Name>WRP1B_END</Name>
  16708. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  16709. <BitOffset>0x10</BitOffset>
  16710. <BitWidth>0x8</BitWidth>
  16711. <Access>RW</Access>
  16712. <Equation multiplier="0x800" offset="0x08000000"/>
  16713. </Bit>
  16714. </AssignedBits>
  16715. </Field>
  16716. </Category>
  16717. </Bank>
  16718. <Bank interface="Bootloader">
  16719. <Parameters name="Bank 2" size="0x1C" address="0x1FFFF808"/>
  16720. <Category>
  16721. <Name>PCROP Protection (Bank 2)</Name>
  16722. <Field>
  16723. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x1FFFF808"/>
  16724. <AssignedBits>
  16725. <Bit>
  16726. <Name>PCROP2_STRT</Name>
  16727. <Description>Flash Bank 2 PCROP start address</Description>
  16728. <BitOffset>0x0</BitOffset>
  16729. <BitWidth>0x10</BitWidth>
  16730. <Access>RW</Access>
  16731. <Equation multiplier="0x8" offset="0x08080000"/>
  16732. </Bit>
  16733. </AssignedBits>
  16734. </Field>
  16735. <Field>
  16736. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x1FFFF810"/>
  16737. <AssignedBits>
  16738. <Bit>
  16739. <Name>PCROP2_END</Name>
  16740. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  16741. <BitOffset>0x0</BitOffset>
  16742. <BitWidth>0x10</BitWidth>
  16743. <Access>RW</Access>
  16744. <Equation multiplier="0x8" offset="0x08080000"/>
  16745. </Bit>
  16746. </AssignedBits>
  16747. </Field>
  16748. </Category>
  16749. <Category>
  16750. <Name>Write Protection (Bank 2)</Name>
  16751. <Field>
  16752. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x1FFFF818"/>
  16753. <AssignedBits>
  16754. <Bit>
  16755. <Name>WRP2A_STRT</Name>
  16756. <Description>The address of first page of the Bank 2 WRP first area</Description>
  16757. <BitOffset>0x0</BitOffset>
  16758. <BitWidth>0x8</BitWidth>
  16759. <Access>RW</Access>
  16760. <Equation multiplier="0x800" offset="0x08080000"/>
  16761. </Bit>
  16762. <Bit>
  16763. <Name>WRP2A_END</Name>
  16764. <Description>The address of last page of the Bank 2 WRP first area</Description>
  16765. <BitOffset>0x10</BitOffset>
  16766. <BitWidth>0x8</BitWidth>
  16767. <Access>RW</Access>
  16768. <Equation multiplier="0x800" offset="0x08080000"/>
  16769. </Bit>
  16770. </AssignedBits>
  16771. </Field>
  16772. <Field>
  16773. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x1FFFF820"/>
  16774. <AssignedBits>
  16775. <Bit>
  16776. <Name>WRP2B_STRT</Name>
  16777. <Description>The address of first page of the Bank 2 WRP second area</Description>
  16778. <BitOffset>0x0</BitOffset>
  16779. <BitWidth>0x8</BitWidth>
  16780. <Access>RW</Access>
  16781. <Equation multiplier="0x800" offset="0x08080000"/>
  16782. </Bit>
  16783. <Bit>
  16784. <Name>WRP2B_END</Name>
  16785. <Description>The address of last page of the Bank 2 WRP second area</Description>
  16786. <BitOffset>0x10</BitOffset>
  16787. <BitWidth>0x8</BitWidth>
  16788. <Access>RW</Access>
  16789. <Equation multiplier="0x800" offset="0x08080000"/>
  16790. </Bit>
  16791. </AssignedBits>
  16792. </Field>
  16793. </Category>
  16794. </Bank>
  16795. </Peripheral>
  16796. </Peripherals>
  16797. </Device>
  16798. <!-- Device: 0x438 -->
  16799. <Device>
  16800. <DeviceID>0x438</DeviceID>
  16801. <Vendor>STMicroelectronics</Vendor>
  16802. <Type>MCU</Type>
  16803. <CPU>Cortex-M4</CPU>
  16804. <Name>STM32F303x4-x6-x8/F328xx/F334xx</Name>
  16805. <Series>STM32F3</Series>
  16806. <Description>ARM 32-bit Cortex-M4 based device</Description>
  16807. <Configurations>
  16808. <!-- JTAG_SWD Interface -->
  16809. <Interface name="JTAG_SWD"/>
  16810. <!-- Bootloader Interface -->
  16811. <Interface name="Bootloader"/>
  16812. </Configurations>
  16813. <!-- Peripherals -->
  16814. <Peripherals>
  16815. <!-- Embedded SRAM -->
  16816. <Peripheral>
  16817. <Name>Embedded SRAM</Name>
  16818. <Type>Storage</Type>
  16819. <Description/>
  16820. <ErasedValue>0x00</ErasedValue>
  16821. <Access>RWE</Access>
  16822. <!-- 16 KB, 12KB accessible -->
  16823. <Configuration>
  16824. <Parameters name="SRAM" size="0x3000" address="0x20000000"/>
  16825. <Description/>
  16826. <Organization>Single</Organization>
  16827. <Bank name="Bank 1">
  16828. <Field>
  16829. <Parameters name="SRAM" size="0x3000" address="0x20000000" occurence="0x1"/>
  16830. </Field>
  16831. </Bank>
  16832. </Configuration>
  16833. </Peripheral>
  16834. <!-- Embedded Flash -->
  16835. <Peripheral>
  16836. <Name>Embedded Flash</Name>
  16837. <Type>Storage</Type>
  16838. <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>
  16839. <ErasedValue>0xFF</ErasedValue>
  16840. <Access>RWE</Access>
  16841. <FlashSize address="0x1FFFF7CC" default="0x10000"/>
  16842. <!-- 64 KB single Bank -->
  16843. <Configuration>
  16844. <Parameters name=" 64 Kbytes Embedded Flash" size="0x10000" address="0x08000000"/>
  16845. <Description/>
  16846. <Organization>Single</Organization>
  16847. <Allignement>0x8</Allignement>
  16848. <Bank name="Bank 1">
  16849. <Field>
  16850. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x20"/>
  16851. </Field>
  16852. </Bank>
  16853. </Configuration>
  16854. </Peripheral>
  16855. <!-- Option Bytes -->
  16856. <Peripheral>
  16857. <Name>Option Bytes</Name>
  16858. <Type>Configuration</Type>
  16859. <Description/>
  16860. <Access>RW</Access>
  16861. <Bank>
  16862. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  16863. <Category>
  16864. <Name>Read Out Protection</Name>
  16865. <Field>
  16866. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  16867. <AssignedBits>
  16868. <Bit>
  16869. <Name>RDP</Name>
  16870. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  16871. <BitOffset>0x0</BitOffset>
  16872. <BitWidth>0x8</BitWidth>
  16873. <Access>RW</Access>
  16874. <Values>
  16875. <Val value="0xAA">Level 0, no protection</Val>
  16876. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  16877. <Val value="0xCC">Level 2, chip protection</Val>
  16878. </Values>
  16879. </Bit>
  16880. </AssignedBits>
  16881. </Field>
  16882. </Category>
  16883. <Category>
  16884. <Name>User Configuration</Name>
  16885. <Field>
  16886. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  16887. <AssignedBits>
  16888. <Bit>
  16889. <Name>WDG_SW</Name>
  16890. <Description/>
  16891. <BitOffset>0x10</BitOffset>
  16892. <BitWidth>0x1</BitWidth>
  16893. <Access>RW</Access>
  16894. <Values>
  16895. <Val value="0x0">Hardware watchdog</Val>
  16896. <Val value="0x1">Software watchdog</Val>
  16897. </Values>
  16898. </Bit>
  16899. <Bit>
  16900. <Name>nRST_STOP</Name>
  16901. <Description/>
  16902. <BitOffset>0x11</BitOffset>
  16903. <BitWidth>0x1</BitWidth>
  16904. <Access>RW</Access>
  16905. <Values>
  16906. <Val value="0x0">Reset generated when entering Stop mode</Val>
  16907. <Val value="0x1">No reset generated</Val>
  16908. </Values>
  16909. </Bit>
  16910. <Bit>
  16911. <Name>nRST_STDBY</Name>
  16912. <Description/>
  16913. <BitOffset>0x12</BitOffset>
  16914. <BitWidth>0x1</BitWidth>
  16915. <Access>RW</Access>
  16916. <Values>
  16917. <Val value="0x0">Reset generated when entering Standby mode</Val>
  16918. <Val value="0x1">No reset generated</Val>
  16919. </Values>
  16920. </Bit>
  16921. <Bit>
  16922. <Name>nBOOT1</Name>
  16923. <Description>Together with the input pad BOOT0, selects the Boot mode. If BOOT0=0, always boot from main flash memory regardless of nBoot1 value. </Description>
  16924. <BitOffset>0x14</BitOffset>
  16925. <BitWidth>0x1</BitWidth>
  16926. <Access>RW</Access>
  16927. <Values>
  16928. <Val value="0x0">Boot from embedded SRAM when BOOT0=1</Val>
  16929. <Val value="0x1">Boot from system flash when BOOT0=1</Val>
  16930. </Values>
  16931. </Bit>
  16932. <Bit>
  16933. <Name>VDDA_MONITOR</Name>
  16934. <Description/>
  16935. <BitOffset>0x15</BitOffset>
  16936. <BitWidth>0x1</BitWidth>
  16937. <Access>RW</Access>
  16938. <Values>
  16939. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  16940. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  16941. </Values>
  16942. </Bit>
  16943. <Bit>
  16944. <Name>SRAM_PE</Name>
  16945. <Description/>
  16946. <BitOffset>0x16</BitOffset>
  16947. <BitWidth>0x1</BitWidth>
  16948. <Access>RW</Access>
  16949. <Values>
  16950. <Val value="0x0">RAM parity check enabled</Val>
  16951. <Val value="0x1">RAM parity check disabled</Val>
  16952. </Values>
  16953. </Bit>
  16954. </AssignedBits>
  16955. </Field>
  16956. </Category>
  16957. <Category>
  16958. <Name>User Data</Name>
  16959. <Field>
  16960. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  16961. <AssignedBits>
  16962. <Bit>
  16963. <Name>Data0</Name>
  16964. <Description>User data 0 (8-bit)</Description>
  16965. <BitOffset>0x0</BitOffset>
  16966. <BitWidth>0x8</BitWidth>
  16967. <Access>RW</Access>
  16968. </Bit>
  16969. <Bit>
  16970. <Name>Data1</Name>
  16971. <Description>User data 1 (8-bit)</Description>
  16972. <BitOffset>0x10</BitOffset>
  16973. <BitWidth>0x8</BitWidth>
  16974. <Access>RW</Access>
  16975. </Bit>
  16976. </AssignedBits>
  16977. </Field>
  16978. </Category>
  16979. <Category>
  16980. <Name>Write Protection</Name>
  16981. <Field>
  16982. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  16983. <AssignedBits>
  16984. <Bit>
  16985. <Name>nWRP0</Name>
  16986. <Description/>
  16987. <BitOffset>0x0</BitOffset>
  16988. <BitWidth>0x8</BitWidth>
  16989. <Access>RW</Access>
  16990. <Values ByBit="true">
  16991. <Val value="0x0">Write protection active on this sector</Val>
  16992. <Val value="0x1">Write protection not active on this sector</Val>
  16993. </Values>
  16994. </Bit>
  16995. <Bit>
  16996. <Name>nWRP8</Name>
  16997. <Description/>
  16998. <BitOffset>0x10</BitOffset>
  16999. <BitWidth>0x8</BitWidth>
  17000. <Access>RW</Access>
  17001. <Values ByBit="true">
  17002. <Val value="0x0">Write protection active on this sector</Val>
  17003. <Val value="0x1">Write protection not active on this sector</Val>
  17004. </Values>
  17005. </Bit>
  17006. </AssignedBits>
  17007. </Field>
  17008. </Category>
  17009. </Bank>
  17010. </Peripheral>
  17011. </Peripherals>
  17012. </Device>
  17013. <!-- Device: 0x432 -->
  17014. <Device>
  17015. <DeviceID>0x432</DeviceID>
  17016. <Vendor>STMicroelectronics</Vendor>
  17017. <Type>MCU</Type>
  17018. <CPU>Cortex-M4</CPU>
  17019. <Name>STM32F37xx</Name>
  17020. <Series>STM32F3</Series>
  17021. <Description>ARM 32-bit Cortex-M4 based device</Description>
  17022. <Configurations>
  17023. <!-- JTAG_SWD Interface -->
  17024. <Interface name="JTAG_SWD"/>
  17025. <!-- Bootloader Interface -->
  17026. <Interface name="Bootloader"/>
  17027. </Configurations>
  17028. <!-- Peripherals -->
  17029. <Peripherals>
  17030. <!-- Embedded SRAM -->
  17031. <Peripheral>
  17032. <Name>Embedded SRAM</Name>
  17033. <Type>Storage</Type>
  17034. <Description/>
  17035. <ErasedValue>0x00</ErasedValue>
  17036. <Access>RWE</Access>
  17037. <!-- 32 KB -->
  17038. <Configuration>
  17039. <Parameters name="SRAM" size="0x8000" address="0x20000000"/>
  17040. <Description/>
  17041. <Organization>Single</Organization>
  17042. <Bank name="Bank 1">
  17043. <Field>
  17044. <Parameters name="SRAM" size="0x8000" address="0x20000000" occurence="0x1"/>
  17045. </Field>
  17046. </Bank>
  17047. </Configuration>
  17048. </Peripheral>
  17049. <!-- Embedded Flash -->
  17050. <Peripheral>
  17051. <Name>Embedded Flash</Name>
  17052. <Type>Storage</Type>
  17053. <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>
  17054. <ErasedValue>0xFF</ErasedValue>
  17055. <Access>RWE</Access>
  17056. <FlashSize address="0x1FFFF7CC" default="0x40000"/>
  17057. <!-- 256KB single Bank -->
  17058. <Configuration>
  17059. <Parameters name=" 256 Kbytes Embedded Flash" size="0x40000" address="0x08000000"/>
  17060. <Description/>
  17061. <Organization>Single</Organization>
  17062. <Allignement>0x8</Allignement>
  17063. <Bank name="Bank 1">
  17064. <Field>
  17065. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x80"/>
  17066. </Field>
  17067. </Bank>
  17068. </Configuration>
  17069. </Peripheral>
  17070. <!-- Option Bytes -->
  17071. <Peripheral>
  17072. <Name>Option Bytes</Name>
  17073. <Type>Configuration</Type>
  17074. <Description/>
  17075. <Access>RW</Access>
  17076. <Bank>
  17077. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  17078. <Category>
  17079. <Name>Read Out Protection</Name>
  17080. <Field>
  17081. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  17082. <AssignedBits>
  17083. <Bit>
  17084. <Name>RDP</Name>
  17085. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  17086. <BitOffset>0x0</BitOffset>
  17087. <BitWidth>0x8</BitWidth>
  17088. <Access>RW</Access>
  17089. <Values>
  17090. <Val value="0xAA">Level 0, no protection</Val>
  17091. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  17092. <Val value="0xCC">Level 2, chip protection</Val>
  17093. </Values>
  17094. </Bit>
  17095. </AssignedBits>
  17096. </Field>
  17097. </Category>
  17098. <Category>
  17099. <Name>User Configuration</Name>
  17100. <Field>
  17101. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  17102. <AssignedBits>
  17103. <Bit>
  17104. <Name>WDG_SW</Name>
  17105. <Description/>
  17106. <BitOffset>0x10</BitOffset>
  17107. <BitWidth>0x1</BitWidth>
  17108. <Access>RW</Access>
  17109. <Values>
  17110. <Val value="0x0">Hardware watchdog</Val>
  17111. <Val value="0x1">Software watchdog</Val>
  17112. </Values>
  17113. </Bit>
  17114. <Bit>
  17115. <Name>nRST_STOP</Name>
  17116. <Description/>
  17117. <BitOffset>0x11</BitOffset>
  17118. <BitWidth>0x1</BitWidth>
  17119. <Access>RW</Access>
  17120. <Values>
  17121. <Val value="0x0">Reset generated when entering Stop mode</Val>
  17122. <Val value="0x1">No reset generated</Val>
  17123. </Values>
  17124. </Bit>
  17125. <Bit>
  17126. <Name>nRST_STDBY</Name>
  17127. <Description/>
  17128. <BitOffset>0x12</BitOffset>
  17129. <BitWidth>0x1</BitWidth>
  17130. <Access>RW</Access>
  17131. <Values>
  17132. <Val value="0x0">Reset generated when entering Standby mode</Val>
  17133. <Val value="0x1">No reset generated</Val>
  17134. </Values>
  17135. </Bit>
  17136. <Bit>
  17137. <Name>nBOOT1</Name>
  17138. <Description>Together with the input pad BOOT0, selects the Boot mode. If BOOT0=0, always boot from main flash memory regardless of nBoot1 value. </Description>
  17139. <BitOffset>0x14</BitOffset>
  17140. <BitWidth>0x1</BitWidth>
  17141. <Access>RW</Access>
  17142. <Values>
  17143. <Val value="0x0">Boot from embedded SRAM when BOOT0=1</Val>
  17144. <Val value="0x1">Boot from system flash when BOOT0=1</Val>
  17145. </Values>
  17146. </Bit>
  17147. <Bit>
  17148. <Name>VDDA_MONITOR</Name>
  17149. <Description/>
  17150. <BitOffset>0x15</BitOffset>
  17151. <BitWidth>0x1</BitWidth>
  17152. <Access>RW</Access>
  17153. <Values>
  17154. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  17155. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  17156. </Values>
  17157. </Bit>
  17158. <Bit>
  17159. <Name>RAM_PARITY</Name>
  17160. <Description/>
  17161. <BitOffset>0x16</BitOffset>
  17162. <BitWidth>0x1</BitWidth>
  17163. <Access>RW</Access>
  17164. <Values>
  17165. <Val value="0x0">RAM parity check enabled</Val>
  17166. <Val value="0x1">RAM parity check disabled</Val>
  17167. </Values>
  17168. </Bit>
  17169. <Bit>
  17170. <Name>SDADC12_VDD</Name>
  17171. <Description/>
  17172. <BitOffset>0x17</BitOffset>
  17173. <BitWidth>0x1</BitWidth>
  17174. <Access>RW</Access>
  17175. <Values>
  17176. <Val value="0x0">SDADC12_VDD power supply supervisor disabled.</Val>
  17177. <Val value="0x1">SDADC12_VDD power supply supervisor enabled</Val>
  17178. </Values>
  17179. </Bit>
  17180. </AssignedBits>
  17181. </Field>
  17182. </Category>
  17183. <Category>
  17184. <Name>User Data</Name>
  17185. <Field>
  17186. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  17187. <AssignedBits>
  17188. <Bit>
  17189. <Name>Data0</Name>
  17190. <Description>User data 0 (8-bit)</Description>
  17191. <BitOffset>0x0</BitOffset>
  17192. <BitWidth>0x8</BitWidth>
  17193. <Access>RW</Access>
  17194. </Bit>
  17195. <Bit>
  17196. <Name>Data1</Name>
  17197. <Description>User data 1 (8-bit)</Description>
  17198. <BitOffset>0x10</BitOffset>
  17199. <BitWidth>0x8</BitWidth>
  17200. <Access>RW</Access>
  17201. </Bit>
  17202. </AssignedBits>
  17203. </Field>
  17204. </Category>
  17205. <Category>
  17206. <Name>Write Protection</Name>
  17207. <Field>
  17208. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  17209. <AssignedBits>
  17210. <Bit>
  17211. <Name>nWRP0</Name>
  17212. <Description/>
  17213. <BitOffset>0x0</BitOffset>
  17214. <BitWidth>0x8</BitWidth>
  17215. <Access>RW</Access>
  17216. <Values ByBit="true">
  17217. <Val value="0x0">Write protection active on this sector</Val>
  17218. <Val value="0x1">Write protection not active on this sector</Val>
  17219. </Values>
  17220. </Bit>
  17221. <Bit>
  17222. <Name>nWRP8</Name>
  17223. <Description/>
  17224. <BitOffset>0x10</BitOffset>
  17225. <BitWidth>0x8</BitWidth>
  17226. <Access>RW</Access>
  17227. <Values ByBit="true">
  17228. <Val value="0x0">Write protection active on this sector</Val>
  17229. <Val value="0x1">Write protection not active on this sector</Val>
  17230. </Values>
  17231. </Bit>
  17232. </AssignedBits>
  17233. </Field>
  17234. <Field>
  17235. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  17236. <AssignedBits>
  17237. <Bit>
  17238. <Name>nWRP16</Name>
  17239. <Description/>
  17240. <BitOffset>0x0</BitOffset>
  17241. <BitWidth>0x8</BitWidth>
  17242. <Access>RW</Access>
  17243. <Values ByBit="true">
  17244. <Val value="0x0">Write protection active on this sector</Val>
  17245. <Val value="0x1">Write protection not active on this sector</Val>
  17246. </Values>
  17247. </Bit>
  17248. <Bit>
  17249. <Name>nWRP24</Name>
  17250. <Description/>
  17251. <BitOffset>0x10</BitOffset>
  17252. <BitWidth>0x8</BitWidth>
  17253. <Access>RW</Access>
  17254. <Values ByBit="true">
  17255. <Val value="0x0">Write protection active on this sector</Val>
  17256. <Val value="0x1">Write protection not active on this sector</Val>
  17257. </Values>
  17258. </Bit>
  17259. </AssignedBits>
  17260. </Field>
  17261. </Category>
  17262. </Bank>
  17263. </Peripheral>
  17264. </Peripherals>
  17265. </Device>
  17266. <!-- Device: 0x415 -->
  17267. <Device>
  17268. <DeviceID>0x415</DeviceID>
  17269. <Vendor>STMicroelectronics</Vendor>
  17270. <Type>MCU</Type>
  17271. <CPU>Cortex-M4</CPU>
  17272. <Name>STM32L4x1/STM32L475xx/STM32L476xx/STM32L486xx</Name>
  17273. <Series>STM32L4</Series>
  17274. <Description>ARM 32-bit Cortex-M4 based device</Description>
  17275. <Configurations>
  17276. <!-- JTAG_SWD Interface -->
  17277. <Interface name="JTAG_SWD"/>
  17278. <!-- Bootloader Interface -->
  17279. <Interface name="Bootloader"/>
  17280. </Configurations>
  17281. <!-- Peripherals -->
  17282. <Peripherals>
  17283. <!-- Embedded SRAM -->
  17284. <Peripheral>
  17285. <Name>Embedded SRAM</Name>
  17286. <Type>Storage</Type>
  17287. <Description/>
  17288. <ErasedValue>0x00</ErasedValue>
  17289. <Access>RWE</Access>
  17290. <!-- 96 KB -->
  17291. <Configuration>
  17292. <Parameters name="SRAM" size="0x18000" address="0x20000000"/>
  17293. <Description/>
  17294. <Organization>Single</Organization>
  17295. <Bank name="Bank 1">
  17296. <Field>
  17297. <Parameters name="SRAM" size="0x18000" address="0x20000000" occurence="0x1"/>
  17298. </Field>
  17299. </Bank>
  17300. </Configuration>
  17301. </Peripheral>
  17302. <!-- Embedded Flash -->
  17303. <Peripheral>
  17304. <Name>Embedded Flash</Name>
  17305. <Type>Storage</Type>
  17306. <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>
  17307. <ErasedValue>0xFF</ErasedValue>
  17308. <Access>RWE</Access>
  17309. <FlashSize address="0x1FFF75E0" default="0x100000"/>
  17310. <!-- 1MB dual Bank -->
  17311. <Configuration>
  17312. <Parameters name=" 1 Mbyte Embedded Flash" size="0x100000" address="0x08000000"/>
  17313. <Description/>
  17314. <Organization>Dual</Organization>
  17315. <Allignement>0x8</Allignement>
  17316. <Bank name="Bank 1">
  17317. <Field>
  17318. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x100"/>
  17319. </Field>
  17320. </Bank>
  17321. <Bank name="Bank 2">
  17322. <Field>
  17323. <Parameters name="sector256" size="0x800" address="0x08080000" occurence="0x100"/>
  17324. </Field>
  17325. </Bank>
  17326. </Configuration>
  17327. </Peripheral>
  17328. <!-- OTP -->
  17329. <Peripheral>
  17330. <Name>OTP</Name>
  17331. <Type>Storage</Type>
  17332. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  17333. <ErasedValue>0xFF</ErasedValue>
  17334. <Access>RW</Access>
  17335. <!-- 1 KBytes single bank -->
  17336. <Configuration>
  17337. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  17338. <Description/>
  17339. <Organization>Single</Organization>
  17340. <Allignement>0x4</Allignement>
  17341. <Bank name="OTP">
  17342. <Field>
  17343. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  17344. </Field>
  17345. </Bank>
  17346. </Configuration>
  17347. </Peripheral>
  17348. <!-- Mirror Option Bytes -->
  17349. <Peripheral>
  17350. <Name>MirrorOptionBytes</Name>
  17351. <Type>Storage</Type>
  17352. <Description>Mirror Option Bytes contains the extra area.</Description>
  17353. <ErasedValue>0xFF</ErasedValue>
  17354. <Access>RW</Access>
  17355. <!-- 64 Bytes Dual bank -->
  17356. <Configuration>
  17357. <Parameters name=" 64 Bytes Data MirrorOptionBytes" size="0x40" address="0x1FFF7800"/>
  17358. <Description/>
  17359. <Organization>Dual</Organization>
  17360. <Allignement>0x4</Allignement>
  17361. <Bank name="Bank 1">
  17362. <Field>
  17363. <Parameters name="Bank1" size="0x24" address="0x1FFF7800" occurence="0x1"/>
  17364. </Field>
  17365. </Bank>
  17366. <Bank name="Bank 2">
  17367. <Field>
  17368. <Parameters name="Bank2" size="0x1C" address="0x1FFFF808" occurence="0x1"/>
  17369. </Field>
  17370. </Bank>
  17371. </Configuration>
  17372. </Peripheral>
  17373. <!-- Option Bytes -->
  17374. <Peripheral>
  17375. <Name>Option Bytes</Name>
  17376. <Type>Configuration</Type>
  17377. <Description/>
  17378. <Access>RW</Access>
  17379. <Bank interface="JTAG_SWD">
  17380. <Parameters name="Bank 1" size="0x14" address="0x40022020"/>
  17381. <Category>
  17382. <Name>Read Out Protection</Name>
  17383. <Field>
  17384. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  17385. <AssignedBits>
  17386. <Bit>
  17387. <Name>RDP</Name>
  17388. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  17389. <BitOffset>0x0</BitOffset>
  17390. <BitWidth>0x8</BitWidth>
  17391. <Access>RW</Access>
  17392. <Values>
  17393. <Val value="0xAA">Level 0, no protection</Val>
  17394. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  17395. <Val value="0xCC">Level 2, chip protection</Val>
  17396. </Values>
  17397. </Bit>
  17398. </AssignedBits>
  17399. </Field>
  17400. </Category>
  17401. <Category>
  17402. <Name>BOR Level</Name>
  17403. <Field>
  17404. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  17405. <AssignedBits>
  17406. <Bit>
  17407. <Name>BOR_LEV</Name>
  17408. <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>
  17409. <BitOffset>0x8</BitOffset>
  17410. <BitWidth>0x3</BitWidth>
  17411. <Access>RW</Access>
  17412. <Values>
  17413. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  17414. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  17415. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  17416. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  17417. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  17418. </Values>
  17419. </Bit>
  17420. </AssignedBits>
  17421. </Field>
  17422. </Category>
  17423. <Category>
  17424. <Name>User Configuration</Name>
  17425. <Field>
  17426. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  17427. <AssignedBits>
  17428. <Bit>
  17429. <Name>nRST_STOP</Name>
  17430. <Description/>
  17431. <BitOffset>0xC</BitOffset>
  17432. <BitWidth>0x1</BitWidth>
  17433. <Access>RW</Access>
  17434. <Values>
  17435. <Val value="0x0">Reset generated when entering Stop mode</Val>
  17436. <Val value="0x1">No reset generated when entering Stop mode</Val>
  17437. </Values>
  17438. </Bit>
  17439. <Bit>
  17440. <Name>nRST_STDBY</Name>
  17441. <Description/>
  17442. <BitOffset>0xD</BitOffset>
  17443. <BitWidth>0x1</BitWidth>
  17444. <Access>RW</Access>
  17445. <Values>
  17446. <Val value="0x0">Reset generated when entering Standby mode</Val>
  17447. <Val value="0x1">No reset generated when entering Standby mode</Val>
  17448. </Values>
  17449. </Bit>
  17450. <Bit>
  17451. <Name>nRST_SHDW</Name>
  17452. <Description/>
  17453. <BitOffset>0xE</BitOffset>
  17454. <BitWidth>0x1</BitWidth>
  17455. <Access>RW</Access>
  17456. <Values>
  17457. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  17458. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  17459. </Values>
  17460. </Bit>
  17461. <Bit>
  17462. <Name>IWDG_SW</Name>
  17463. <Description/>
  17464. <BitOffset>0x10</BitOffset>
  17465. <BitWidth>0x1</BitWidth>
  17466. <Access>RW</Access>
  17467. <Values>
  17468. <Val value="0x0">Hardware independant watchdog</Val>
  17469. <Val value="0x1">Software independant watchdog</Val>
  17470. </Values>
  17471. </Bit>
  17472. <Bit>
  17473. <Name>IWDG_STOP</Name>
  17474. <Description/>
  17475. <BitOffset>0x11</BitOffset>
  17476. <BitWidth>0x1</BitWidth>
  17477. <Access>RW</Access>
  17478. <Values>
  17479. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  17480. <Val value="0x1">IWDG counter active in stop mode</Val>
  17481. </Values>
  17482. </Bit>
  17483. <Bit>
  17484. <Name>IWDG_STDBY</Name>
  17485. <Description/>
  17486. <BitOffset>0x12</BitOffset>
  17487. <BitWidth>0x1</BitWidth>
  17488. <Access>RW</Access>
  17489. <Values>
  17490. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  17491. <Val value="0x1">IWDG counter active in standby mode</Val>
  17492. </Values>
  17493. </Bit>
  17494. <Bit>
  17495. <Name>WWDG_SW</Name>
  17496. <Description/>
  17497. <BitOffset>0x13</BitOffset>
  17498. <BitWidth>0x1</BitWidth>
  17499. <Access>RW</Access>
  17500. <Values>
  17501. <Val value="0x0">Hardware window watchdog</Val>
  17502. <Val value="0x1">Software window watchdog</Val>
  17503. </Values>
  17504. </Bit>
  17505. <Bit>
  17506. <Name>BFB2</Name>
  17507. <Description/>
  17508. <BitOffset>0x14</BitOffset>
  17509. <BitWidth>0x1</BitWidth>
  17510. <Access>RW</Access>
  17511. <Values>
  17512. <Val value="0x0">Dual-bank boot disable</Val>
  17513. <Val value="0x1">Dual-bank boot enable</Val>
  17514. </Values>
  17515. </Bit>
  17516. <Bit>
  17517. <Name>nBOOT1</Name>
  17518. <Description/>
  17519. <BitOffset>0x17</BitOffset>
  17520. <BitWidth>0x1</BitWidth>
  17521. <Access>RW</Access>
  17522. <Values>
  17523. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  17524. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  17525. </Values>
  17526. </Bit>
  17527. <Bit>
  17528. <Name>SRAM2_PE</Name>
  17529. <Description/>
  17530. <BitOffset>0x18</BitOffset>
  17531. <BitWidth>0x1</BitWidth>
  17532. <Access>RW</Access>
  17533. <Values>
  17534. <Val value="0x0">SRAM2 parity check enable</Val>
  17535. <Val value="0x1">SRAM2 parity check disable</Val>
  17536. </Values>
  17537. </Bit>
  17538. <Bit>
  17539. <Name>SRAM2_RST</Name>
  17540. <Description/>
  17541. <BitOffset>0x19</BitOffset>
  17542. <BitWidth>0x1</BitWidth>
  17543. <Access>RW</Access>
  17544. <Values>
  17545. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  17546. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  17547. </Values>
  17548. </Bit>
  17549. </AssignedBits>
  17550. </Field>
  17551. </Category>
  17552. <Category>
  17553. <Name>PCROP Protection (Bank 1)</Name>
  17554. <Field>
  17555. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  17556. <AssignedBits>
  17557. <Bit>
  17558. <Name>PCROP1_STRT</Name>
  17559. <Description>Flash Bank 1 PCROP start address</Description>
  17560. <BitOffset>0x0</BitOffset>
  17561. <BitWidth>0x10</BitWidth>
  17562. <Access>RW</Access>
  17563. <Equation multiplier="0x8" offset="0x08000000"/>
  17564. </Bit>
  17565. </AssignedBits>
  17566. </Field>
  17567. <Field>
  17568. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  17569. <AssignedBits>
  17570. <Bit>
  17571. <Name>PCROP1_END</Name>
  17572. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  17573. <BitOffset>0x0</BitOffset>
  17574. <BitWidth>0x10</BitWidth>
  17575. <Access>RW</Access>
  17576. <Equation multiplier="0x8" offset="0x08000000"/>
  17577. </Bit>
  17578. <Bit>
  17579. <Name>PCROP_RDP</Name>
  17580. <Description/>
  17581. <BitOffset>0x1F</BitOffset>
  17582. <BitWidth>0x1</BitWidth>
  17583. <Access>RW</Access>
  17584. <Values>
  17585. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  17586. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  17587. </Values>
  17588. </Bit>
  17589. </AssignedBits>
  17590. </Field>
  17591. </Category>
  17592. <Category>
  17593. <Name>Write Protection (Bank 1)</Name>
  17594. <Field>
  17595. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  17596. <AssignedBits>
  17597. <Bit>
  17598. <Name>WRP1A_STRT</Name>
  17599. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  17600. <BitOffset>0x0</BitOffset>
  17601. <BitWidth>0x8</BitWidth>
  17602. <Access>RW</Access>
  17603. <Equation multiplier="0x800" offset="0x08000000"/>
  17604. </Bit>
  17605. <Bit>
  17606. <Name>WRP1A_END</Name>
  17607. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  17608. <BitOffset>0x10</BitOffset>
  17609. <BitWidth>0x8</BitWidth>
  17610. <Access>RW</Access>
  17611. <Equation multiplier="0x800" offset="0x08000000"/>
  17612. </Bit>
  17613. </AssignedBits>
  17614. </Field>
  17615. <Field>
  17616. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  17617. <AssignedBits>
  17618. <Bit>
  17619. <Name>WRP1B_STRT</Name>
  17620. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  17621. <BitOffset>0x0</BitOffset>
  17622. <BitWidth>0x8</BitWidth>
  17623. <Access>RW</Access>
  17624. <Equation multiplier="0x800" offset="0x08000000"/>
  17625. </Bit>
  17626. <Bit>
  17627. <Name>WRP1B_END</Name>
  17628. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  17629. <BitOffset>0x10</BitOffset>
  17630. <BitWidth>0x8</BitWidth>
  17631. <Access>RW</Access>
  17632. <Equation multiplier="0x800" offset="0x08000000"/>
  17633. </Bit>
  17634. </AssignedBits>
  17635. </Field>
  17636. </Category>
  17637. </Bank>
  17638. <Bank interface="JTAG_SWD">
  17639. <Parameters name="Bank 2" size="0x10" address="0x40022044"/>
  17640. <Category>
  17641. <Name>PCROP Protection (Bank 2)</Name>
  17642. <Field>
  17643. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x40022044"/>
  17644. <AssignedBits>
  17645. <Bit>
  17646. <Name>PCROP2_STRT</Name>
  17647. <Description>Flash Bank 2 PCROP start address</Description>
  17648. <BitOffset>0x0</BitOffset>
  17649. <BitWidth>0x10</BitWidth>
  17650. <Access>RW</Access>
  17651. <Equation multiplier="0x8" offset="0x08080000"/>
  17652. </Bit>
  17653. </AssignedBits>
  17654. </Field>
  17655. <Field>
  17656. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x40022048"/>
  17657. <AssignedBits>
  17658. <Bit>
  17659. <Name>PCROP2_END</Name>
  17660. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  17661. <BitOffset>0x0</BitOffset>
  17662. <BitWidth>0x10</BitWidth>
  17663. <Access>RW</Access>
  17664. <Equation multiplier="0x8" offset="0x08080000"/>
  17665. </Bit>
  17666. </AssignedBits>
  17667. </Field>
  17668. </Category>
  17669. <Category>
  17670. <Name>Write Protection (Bank 2)</Name>
  17671. <Field>
  17672. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x4002204C"/>
  17673. <AssignedBits>
  17674. <Bit>
  17675. <Name>WRP2A_STRT</Name>
  17676. <Description>The address of first page of the Bank 2 WRP first area</Description>
  17677. <BitOffset>0x0</BitOffset>
  17678. <BitWidth>0x8</BitWidth>
  17679. <Access>RW</Access>
  17680. <Equation multiplier="0x800" offset="0x08080000"/>
  17681. </Bit>
  17682. <Bit>
  17683. <Name>WRP2A_END</Name>
  17684. <Description>The address of last page of the Bank 2 WRP first area</Description>
  17685. <BitOffset>0x10</BitOffset>
  17686. <BitWidth>0x8</BitWidth>
  17687. <Access>RW</Access>
  17688. <Equation multiplier="0x800" offset="0x08080000"/>
  17689. </Bit>
  17690. </AssignedBits>
  17691. </Field>
  17692. <Field>
  17693. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x40022050"/>
  17694. <AssignedBits>
  17695. <Bit>
  17696. <Name>WRP2B_STRT</Name>
  17697. <Description>The address of first page of the Bank 2 WRP second area</Description>
  17698. <BitOffset>0x0</BitOffset>
  17699. <BitWidth>0x8</BitWidth>
  17700. <Access>RW</Access>
  17701. <Equation multiplier="0x800" offset="0x08080000"/>
  17702. </Bit>
  17703. <Bit>
  17704. <Name>WRP2B_END</Name>
  17705. <Description>The address of last page of the Bank 2 WRP second area</Description>
  17706. <BitOffset>0x10</BitOffset>
  17707. <BitWidth>0x8</BitWidth>
  17708. <Access>RW</Access>
  17709. <Equation multiplier="0x800" offset="0x08080000"/>
  17710. </Bit>
  17711. </AssignedBits>
  17712. </Field>
  17713. </Category>
  17714. </Bank>
  17715. <Bank interface="Bootloader">
  17716. <Parameters name="Bank 1" size="0x24" address="0x1FFF7800"/>
  17717. <Category>
  17718. <Name>Read Out Protection</Name>
  17719. <Field>
  17720. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  17721. <AssignedBits>
  17722. <Bit>
  17723. <Name>RDP</Name>
  17724. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  17725. <BitOffset>0x0</BitOffset>
  17726. <BitWidth>0x8</BitWidth>
  17727. <Access>RW</Access>
  17728. <Values>
  17729. <Val value="0xAA">Level 0, no protection</Val>
  17730. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  17731. <Val value="0xCC">Level 2, chip protection</Val>
  17732. </Values>
  17733. </Bit>
  17734. </AssignedBits>
  17735. </Field>
  17736. </Category>
  17737. <Category>
  17738. <Name>BOR Level</Name>
  17739. <Field>
  17740. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  17741. <AssignedBits>
  17742. <Bit>
  17743. <Name>BOR_LEV</Name>
  17744. <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>
  17745. <BitOffset>0x8</BitOffset>
  17746. <BitWidth>0x3</BitWidth>
  17747. <Access>RW</Access>
  17748. <Values>
  17749. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  17750. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  17751. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  17752. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  17753. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  17754. </Values>
  17755. </Bit>
  17756. </AssignedBits>
  17757. </Field>
  17758. </Category>
  17759. <Category>
  17760. <Name>User Configuration</Name>
  17761. <Field>
  17762. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  17763. <AssignedBits>
  17764. <Bit>
  17765. <Name>IWDG_STOP</Name>
  17766. <Description/>
  17767. <BitOffset>0x11</BitOffset>
  17768. <BitWidth>0x1</BitWidth>
  17769. <Access>RW</Access>
  17770. <Values>
  17771. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  17772. <Val value="0x1">IWDG counter active in stop mode</Val>
  17773. </Values>
  17774. </Bit>
  17775. <Bit>
  17776. <Name>IWDG_STDBY</Name>
  17777. <Description/>
  17778. <BitOffset>0x12</BitOffset>
  17779. <BitWidth>0x1</BitWidth>
  17780. <Access>RW</Access>
  17781. <Values>
  17782. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  17783. <Val value="0x1">IWDG counter active in standby mode</Val>
  17784. </Values>
  17785. </Bit>
  17786. </AssignedBits>
  17787. </Field>
  17788. <Field>
  17789. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  17790. <AssignedBits>
  17791. <Bit>
  17792. <Name>WWDG_SW</Name>
  17793. <Description/>
  17794. <BitOffset>0x13</BitOffset>
  17795. <BitWidth>0x1</BitWidth>
  17796. <Access>RW</Access>
  17797. <Values>
  17798. <Val value="0x0">Hardware window watchdog</Val>
  17799. <Val value="0x1">Software window watchdog</Val>
  17800. </Values>
  17801. </Bit>
  17802. <Bit>
  17803. <Name>IWDG_SW</Name>
  17804. <Description/>
  17805. <BitOffset>0x10</BitOffset>
  17806. <BitWidth>0x1</BitWidth>
  17807. <Access>RW</Access>
  17808. <Values>
  17809. <Val value="0x0">Hardware independant watchdog</Val>
  17810. <Val value="0x1">Software independant watchdog</Val>
  17811. </Values>
  17812. </Bit>
  17813. <Bit>
  17814. <Name>nRST_STOP</Name>
  17815. <Description/>
  17816. <BitOffset>0xC</BitOffset>
  17817. <BitWidth>0x1</BitWidth>
  17818. <Access>RW</Access>
  17819. <Values>
  17820. <Val value="0x0">Reset generated when entering Stop mode</Val>
  17821. <Val value="0x1">No reset generated</Val>
  17822. </Values>
  17823. </Bit>
  17824. <Bit>
  17825. <Name>nRST_STDBY</Name>
  17826. <Description/>
  17827. <BitOffset>0xD</BitOffset>
  17828. <BitWidth>0x1</BitWidth>
  17829. <Access>RW</Access>
  17830. <Values>
  17831. <Val value="0x0">Reset generated when entering Standby mode</Val>
  17832. <Val value="0x1">No reset generated</Val>
  17833. </Values>
  17834. </Bit>
  17835. <Bit>
  17836. <Name>nRST_SHDW</Name>
  17837. <Description/>
  17838. <BitOffset>0xE</BitOffset>
  17839. <BitWidth>0x1</BitWidth>
  17840. <Access>RW</Access>
  17841. <Values>
  17842. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  17843. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  17844. </Values>
  17845. </Bit>
  17846. <Bit>
  17847. <Name>BFB2</Name>
  17848. <Description/>
  17849. <BitOffset>0x14</BitOffset>
  17850. <BitWidth>0x1</BitWidth>
  17851. <Access>RW</Access>
  17852. <Values>
  17853. <Val value="0x0">Dual-bank boot disable</Val>
  17854. <Val value="0x1">Dual-bank boot enable</Val>
  17855. </Values>
  17856. </Bit>
  17857. <Bit>
  17858. <Name>nBOOT1</Name>
  17859. <Description/>
  17860. <BitOffset>0x17</BitOffset>
  17861. <BitWidth>0x1</BitWidth>
  17862. <Access>RW</Access>
  17863. <Values>
  17864. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  17865. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  17866. </Values>
  17867. </Bit>
  17868. <Bit>
  17869. <Name>SRAM2_PE</Name>
  17870. <Description/>
  17871. <BitOffset>0x18</BitOffset>
  17872. <BitWidth>0x1</BitWidth>
  17873. <Access>RW</Access>
  17874. <Values>
  17875. <Val value="0x0">SRAM2 parity check enable</Val>
  17876. <Val value="0x1">SRAM2 parity check disable</Val>
  17877. </Values>
  17878. </Bit>
  17879. <Bit>
  17880. <Name>SRAM2_RST</Name>
  17881. <Description/>
  17882. <BitOffset>0x19</BitOffset>
  17883. <BitWidth>0x1</BitWidth>
  17884. <Access>RW</Access>
  17885. <Values>
  17886. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  17887. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  17888. </Values>
  17889. </Bit>
  17890. </AssignedBits>
  17891. </Field>
  17892. </Category>
  17893. <Category>
  17894. <Name>PCROP Protection (Bank 1)</Name>
  17895. <Field>
  17896. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FFF7808"/>
  17897. <AssignedBits>
  17898. <Bit>
  17899. <Name>PCROP1_STRT</Name>
  17900. <Description>Flash Bank 1 PCROP start address</Description>
  17901. <BitOffset>0x0</BitOffset>
  17902. <BitWidth>0x10</BitWidth>
  17903. <Access>RW</Access>
  17904. <Equation multiplier="0x8" offset="0x08000000"/>
  17905. </Bit>
  17906. </AssignedBits>
  17907. </Field>
  17908. <Field>
  17909. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FFF7810"/>
  17910. <AssignedBits>
  17911. <Bit>
  17912. <Name>PCROP1_END</Name>
  17913. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  17914. <BitOffset>0x0</BitOffset>
  17915. <BitWidth>0x10</BitWidth>
  17916. <Access>RW</Access>
  17917. <Equation multiplier="0x8" offset="0x08000000"/>
  17918. </Bit>
  17919. <Bit>
  17920. <Name>PCROP_RDP</Name>
  17921. <Description/>
  17922. <BitOffset>0x1F</BitOffset>
  17923. <BitWidth>0x1</BitWidth>
  17924. <Access>RW</Access>
  17925. <Values>
  17926. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  17927. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  17928. </Values>
  17929. </Bit>
  17930. </AssignedBits>
  17931. </Field>
  17932. </Category>
  17933. <Category>
  17934. <Name>Write Protection (Bank 1)</Name>
  17935. <Field>
  17936. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  17937. <AssignedBits>
  17938. <Bit>
  17939. <Name>WRP1A_STRT</Name>
  17940. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  17941. <BitOffset>0x0</BitOffset>
  17942. <BitWidth>0x8</BitWidth>
  17943. <Access>RW</Access>
  17944. <Equation multiplier="0x800" offset="0x08000000"/>
  17945. </Bit>
  17946. <Bit>
  17947. <Name>WRP1A_END</Name>
  17948. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  17949. <BitOffset>0x10</BitOffset>
  17950. <BitWidth>0x8</BitWidth>
  17951. <Access>RW</Access>
  17952. <Equation multiplier="0x800" offset="0x08000000"/>
  17953. </Bit>
  17954. </AssignedBits>
  17955. </Field>
  17956. <Field>
  17957. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  17958. <AssignedBits>
  17959. <Bit>
  17960. <Name>WRP1B_STRT</Name>
  17961. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  17962. <BitOffset>0x0</BitOffset>
  17963. <BitWidth>0x8</BitWidth>
  17964. <Access>RW</Access>
  17965. <Equation multiplier="0x800" offset="0x08000000"/>
  17966. </Bit>
  17967. <Bit>
  17968. <Name>WRP1B_END</Name>
  17969. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  17970. <BitOffset>0x10</BitOffset>
  17971. <BitWidth>0x8</BitWidth>
  17972. <Access>RW</Access>
  17973. <Equation multiplier="0x800" offset="0x08000000"/>
  17974. </Bit>
  17975. </AssignedBits>
  17976. </Field>
  17977. </Category>
  17978. </Bank>
  17979. <Bank interface="Bootloader">
  17980. <Parameters name="Bank 2" size="0x1C" address="0x1FFFF808"/>
  17981. <Category>
  17982. <Name>PCROP Protection (Bank 2)</Name>
  17983. <Field>
  17984. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x1FFFF808"/>
  17985. <AssignedBits>
  17986. <Bit>
  17987. <Name>PCROP2_STRT</Name>
  17988. <Description>Flash Bank 2 PCROP start address</Description>
  17989. <BitOffset>0x0</BitOffset>
  17990. <BitWidth>0x10</BitWidth>
  17991. <Access>RW</Access>
  17992. <Equation multiplier="0x8" offset="0x08080000"/>
  17993. </Bit>
  17994. </AssignedBits>
  17995. </Field>
  17996. <Field>
  17997. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x1FFFF810"/>
  17998. <AssignedBits>
  17999. <Bit>
  18000. <Name>PCROP2_END</Name>
  18001. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  18002. <BitOffset>0x0</BitOffset>
  18003. <BitWidth>0x10</BitWidth>
  18004. <Access>RW</Access>
  18005. <Equation multiplier="0x8" offset="0x08080000"/>
  18006. </Bit>
  18007. </AssignedBits>
  18008. </Field>
  18009. </Category>
  18010. <Category>
  18011. <Name>Write Protection (Bank 2)</Name>
  18012. <Field>
  18013. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x1FFFF818"/>
  18014. <AssignedBits>
  18015. <Bit>
  18016. <Name>WRP2A_STRT</Name>
  18017. <Description>The address of first page of the Bank 2 WRP first area</Description>
  18018. <BitOffset>0x0</BitOffset>
  18019. <BitWidth>0x8</BitWidth>
  18020. <Access>RW</Access>
  18021. <Equation multiplier="0x800" offset="0x08080000"/>
  18022. </Bit>
  18023. <Bit>
  18024. <Name>WRP2A_END</Name>
  18025. <Description>The address of last page of the Bank 2 WRP first area</Description>
  18026. <BitOffset>0x10</BitOffset>
  18027. <BitWidth>0x8</BitWidth>
  18028. <Access>RW</Access>
  18029. <Equation multiplier="0x800" offset="0x08080000"/>
  18030. </Bit>
  18031. </AssignedBits>
  18032. </Field>
  18033. <Field>
  18034. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x1FFFF820"/>
  18035. <AssignedBits>
  18036. <Bit>
  18037. <Name>WRP2B_STRT</Name>
  18038. <Description>The address of first page of the Bank 2 WRP second area</Description>
  18039. <BitOffset>0x0</BitOffset>
  18040. <BitWidth>0x8</BitWidth>
  18041. <Access>RW</Access>
  18042. <Equation multiplier="0x20" offset="0x08080000"/>
  18043. </Bit>
  18044. <Bit>
  18045. <Name>WRP2B_END</Name>
  18046. <Description>The address of last page of the Bank 2 WRP second area</Description>
  18047. <BitOffset>0x10</BitOffset>
  18048. <BitWidth>0x8</BitWidth>
  18049. <Access>RW</Access>
  18050. <Equation multiplier="0x800" offset="0x08080000"/>
  18051. </Bit>
  18052. </AssignedBits>
  18053. </Field>
  18054. </Category>
  18055. </Bank>
  18056. </Peripheral>
  18057. </Peripherals>
  18058. </Device>
  18059. <!-- Device: 0x446 -->
  18060. <Device>
  18061. <DeviceID>0x446</DeviceID>
  18062. <Vendor>STMicroelectronics</Vendor>
  18063. <Type>MCU</Type>
  18064. <CPU>Cortex-M4</CPU>
  18065. <Name>STM32F302xE/F303xE/F398xx</Name>
  18066. <Series>STM32F3</Series>
  18067. <Description>ARM 32-bit Cortex-M4 based device</Description>
  18068. <Configurations>
  18069. <!-- JTAG_SWD Interface -->
  18070. <Interface name="JTAG_SWD"/>
  18071. <!-- Bootloader Interface -->
  18072. <Interface name="Bootloader"/>
  18073. </Configurations>
  18074. <!-- Peripherals -->
  18075. <Peripherals>
  18076. <!-- Embedded SRAM -->
  18077. <Peripheral>
  18078. <Name>Embedded SRAM</Name>
  18079. <Type>Storage</Type>
  18080. <Description/>
  18081. <ErasedValue>0x00</ErasedValue>
  18082. <Access>RWE</Access>
  18083. <!-- 80 KB !!!! Only 64 KB accessible by debug If -->
  18084. <Configuration>
  18085. <Parameters name="SRAM" size="0x10000" address="0x20000000"/>
  18086. <Description/>
  18087. <Organization>Single</Organization>
  18088. <Bank name="Bank 1">
  18089. <Field>
  18090. <Parameters name="SRAM" size="0x14000" address="0x20000000" occurence="0x1"/>
  18091. </Field>
  18092. </Bank>
  18093. </Configuration>
  18094. </Peripheral>
  18095. <!-- Embedded Flash -->
  18096. <Peripheral>
  18097. <Name>Embedded Flash</Name>
  18098. <Type>Storage</Type>
  18099. <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>
  18100. <ErasedValue>0xFF</ErasedValue>
  18101. <Access>RWE</Access>
  18102. <FlashSize address="0x1FFFF7CC" default="0x80000"/>
  18103. <!-- 512KB single Bank -->
  18104. <Configuration>
  18105. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  18106. <Description/>
  18107. <Organization>Single</Organization>
  18108. <Allignement>0x8</Allignement>
  18109. <Bank name="Bank 1">
  18110. <Field>
  18111. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x100"/>
  18112. </Field>
  18113. </Bank>
  18114. </Configuration>
  18115. </Peripheral>
  18116. <!-- Option Bytes -->
  18117. <Peripheral>
  18118. <Name>Option Bytes</Name>
  18119. <Type>Configuration</Type>
  18120. <Description/>
  18121. <Access>RW</Access>
  18122. <Bank>
  18123. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  18124. <Category>
  18125. <Name>Read Out Protection</Name>
  18126. <Field>
  18127. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  18128. <AssignedBits>
  18129. <Bit>
  18130. <Name>RDP</Name>
  18131. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  18132. <BitOffset>0x0</BitOffset>
  18133. <BitWidth>0x8</BitWidth>
  18134. <Access>RW</Access>
  18135. <Values>
  18136. <Val value="0xAA">Level 0, no protection</Val>
  18137. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  18138. <Val value="0xCC">Level 2, chip protection</Val>
  18139. </Values>
  18140. </Bit>
  18141. </AssignedBits>
  18142. </Field>
  18143. </Category>
  18144. <Category>
  18145. <Name>User Configuration</Name>
  18146. <Field>
  18147. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  18148. <AssignedBits>
  18149. <Bit>
  18150. <Name>WDG_SW</Name>
  18151. <Description/>
  18152. <BitOffset>0x10</BitOffset>
  18153. <BitWidth>0x1</BitWidth>
  18154. <Access>RW</Access>
  18155. <Values>
  18156. <Val value="0x0">Hardware watchdog</Val>
  18157. <Val value="0x1">Software watchdog</Val>
  18158. </Values>
  18159. </Bit>
  18160. <Bit>
  18161. <Name>nRST_STOP</Name>
  18162. <Description/>
  18163. <BitOffset>0x11</BitOffset>
  18164. <BitWidth>0x1</BitWidth>
  18165. <Access>RW</Access>
  18166. <Values>
  18167. <Val value="0x0">Reset generated when entering Stop mode</Val>
  18168. <Val value="0x1">No reset generated</Val>
  18169. </Values>
  18170. </Bit>
  18171. <Bit>
  18172. <Name>nRST_STDBY</Name>
  18173. <Description/>
  18174. <BitOffset>0x12</BitOffset>
  18175. <BitWidth>0x1</BitWidth>
  18176. <Access>RW</Access>
  18177. <Values>
  18178. <Val value="0x0">Reset generated when entering Standby mode</Val>
  18179. <Val value="0x1">No reset generated</Val>
  18180. </Values>
  18181. </Bit>
  18182. <Bit>
  18183. <Name>nBOOT0</Name>
  18184. <Description/>
  18185. <BitOffset>0x13</BitOffset>
  18186. <BitWidth>0x1</BitWidth>
  18187. <Access>RW</Access>
  18188. <Values>
  18189. <Val value="0x0">Main Flash memory is selected as boot area</Val>
  18190. <Val value="0x1">nBOOT1=1 SysMem/nBOOT1=0 SRAM as boot area</Val>
  18191. </Values>
  18192. </Bit>
  18193. <Bit>
  18194. <Name>nBOOT1</Name>
  18195. <Description>Together with the input pad BOOT0, selects the Boot mode. If BOOT0=0, always boot from main flash memory regardless of nBoot1 value. </Description>
  18196. <BitOffset>0x14</BitOffset>
  18197. <BitWidth>0x1</BitWidth>
  18198. <Access>RW</Access>
  18199. <Values>
  18200. <Val value="0x0">Boot from Embedded SRAM when BOOT0=1</Val>
  18201. <Val value="0x1">Boot from System flash when BOOT0=1</Val>
  18202. </Values>
  18203. </Bit>
  18204. <Bit>
  18205. <Name>VDDA_MONITOR</Name>
  18206. <Description/>
  18207. <BitOffset>0x15</BitOffset>
  18208. <BitWidth>0x1</BitWidth>
  18209. <Access>RW</Access>
  18210. <Values>
  18211. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  18212. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  18213. </Values>
  18214. </Bit>
  18215. <Bit>
  18216. <Name>RAM_PARITY</Name>
  18217. <Description/>
  18218. <BitOffset>0x16</BitOffset>
  18219. <BitWidth>0x1</BitWidth>
  18220. <Access>RW</Access>
  18221. <Values>
  18222. <Val value="0x0">RAM parity check enabled</Val>
  18223. <Val value="0x1">RAM parity check disabled</Val>
  18224. </Values>
  18225. </Bit>
  18226. <Bit>
  18227. <Name>BOOT_SEL</Name>
  18228. <Description/>
  18229. <BitOffset>0x17</BitOffset>
  18230. <BitWidth>0x1</BitWidth>
  18231. <Access>RW</Access>
  18232. <Values>
  18233. <Val value="0x0">BOOT0 signal is defined by nBOOT0 option bit</Val>
  18234. <Val value="0x1">BOOT0 signal is defined by BOOT0 pin value</Val>
  18235. </Values>
  18236. </Bit>
  18237. </AssignedBits>
  18238. </Field>
  18239. </Category>
  18240. <Category>
  18241. <Name>User Data</Name>
  18242. <Field>
  18243. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  18244. <AssignedBits>
  18245. <Bit>
  18246. <Name>Data0</Name>
  18247. <Description>User data 0 (8-bit)</Description>
  18248. <BitOffset>0x0</BitOffset>
  18249. <BitWidth>0x8</BitWidth>
  18250. <Access>RW</Access>
  18251. </Bit>
  18252. <Bit>
  18253. <Name>Data1</Name>
  18254. <Description>User data 1 (8-bit)</Description>
  18255. <BitOffset>0x10</BitOffset>
  18256. <BitWidth>0x8</BitWidth>
  18257. <Access>RW</Access>
  18258. </Bit>
  18259. </AssignedBits>
  18260. </Field>
  18261. </Category>
  18262. <Category>
  18263. <Name>Write Protection</Name>
  18264. <Field>
  18265. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  18266. <AssignedBits>
  18267. <Bit>
  18268. <Name>nWRP0</Name>
  18269. <Description/>
  18270. <BitOffset>0x0</BitOffset>
  18271. <BitWidth>0x8</BitWidth>
  18272. <Access>RW</Access>
  18273. <Values ByBit="true">
  18274. <Val value="0x0">Write protection active on this sector</Val>
  18275. <Val value="0x1">Write protection not active on this sector</Val>
  18276. </Values>
  18277. </Bit>
  18278. <Bit>
  18279. <Name>nWRP8</Name>
  18280. <Description/>
  18281. <BitOffset>0x10</BitOffset>
  18282. <BitWidth>0x8</BitWidth>
  18283. <Access>RW</Access>
  18284. <Values ByBit="true">
  18285. <Val value="0x0">Write protection active on this sector</Val>
  18286. <Val value="0x1">Write protection not active on this sector</Val>
  18287. </Values>
  18288. </Bit>
  18289. </AssignedBits>
  18290. </Field>
  18291. <Field>
  18292. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  18293. <AssignedBits>
  18294. <Bit>
  18295. <Name>nWRP16</Name>
  18296. <Description/>
  18297. <BitOffset>0x0</BitOffset>
  18298. <BitWidth>0x8</BitWidth>
  18299. <Access>RW</Access>
  18300. <Values ByBit="true">
  18301. <Val value="0x0">Write protection active on this sector</Val>
  18302. <Val value="0x1">Write protection not active on this sector</Val>
  18303. </Values>
  18304. </Bit>
  18305. <Bit>
  18306. <Name>nWRP24</Name>
  18307. <Description/>
  18308. <BitOffset>0x10</BitOffset>
  18309. <BitWidth>0x8</BitWidth>
  18310. <Access>RW</Access>
  18311. <Values ByBit="true">
  18312. <Val value="0x0">Write protection active on this sector</Val>
  18313. <Val value="0x1">Write protection not active on this sector</Val>
  18314. </Values>
  18315. </Bit>
  18316. </AssignedBits>
  18317. </Field>
  18318. </Category>
  18319. </Bank>
  18320. </Peripheral>
  18321. </Peripherals>
  18322. </Device>
  18323. <!-- Device: 0x445 -->
  18324. <Device>
  18325. <DeviceID>0x445</DeviceID>
  18326. <Vendor>STMicroelectronics</Vendor>
  18327. <Type>MCU</Type>
  18328. <CPU>Cortex-M0</CPU>
  18329. <Name>STM32F04x/F070x6</Name>
  18330. <Series>STM32F0</Series>
  18331. <Description>ARM 32-bit Cortex-M0 based device</Description>
  18332. <Configurations>
  18333. <!-- JTAG_SWD Interface -->
  18334. <Interface name="JTAG_SWD"/>
  18335. <!-- Bootloader Interface -->
  18336. <Interface name="Bootloader"/>
  18337. </Configurations>
  18338. <!-- Peripherals -->
  18339. <Peripherals>
  18340. <!-- Embedded SRAM -->
  18341. <Peripheral>
  18342. <Name>Embedded SRAM</Name>
  18343. <Type>Storage</Type>
  18344. <Description/>
  18345. <ErasedValue>0x00</ErasedValue>
  18346. <Access>RWE</Access>
  18347. <!-- 6 KB -->
  18348. <Configuration>
  18349. <Parameters name="SRAM" size="0x1800" address="0x20000000"/>
  18350. <Description/>
  18351. <Organization>Single</Organization>
  18352. <Bank name="Bank 1">
  18353. <Field>
  18354. <Parameters name="SRAM" size="0x1800" address="0x20000000" occurence="0x1"/>
  18355. </Field>
  18356. </Bank>
  18357. </Configuration>
  18358. </Peripheral>
  18359. <!-- Embedded Flash -->
  18360. <Peripheral>
  18361. <Name>Embedded Flash</Name>
  18362. <Type>Storage</Type>
  18363. <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>
  18364. <ErasedValue>0xFF</ErasedValue>
  18365. <Access>RWE</Access>
  18366. <FlashSize address="0x1FFFF7CC" default="0x8000"/>
  18367. <!-- 32KB single Bank -->
  18368. <Configuration>
  18369. <Parameters name=" 32 Kbytes Embedded Flash" size="0x8000" address="0x08000000"/>
  18370. <Description/>
  18371. <Organization>Single</Organization>
  18372. <Allignement>0x4</Allignement>
  18373. <Bank name="Bank 1">
  18374. <Field>
  18375. <Parameters name="sector0" size="0x400" address="0x08000000" occurence="0x20"/>
  18376. </Field>
  18377. </Bank>
  18378. </Configuration>
  18379. </Peripheral>
  18380. <!-- Option Bytes -->
  18381. <Peripheral>
  18382. <Name>Option Bytes</Name>
  18383. <Type>Configuration</Type>
  18384. <Description/>
  18385. <Access>RW</Access>
  18386. <Bank>
  18387. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  18388. <Category>
  18389. <Name>Read Out Protection</Name>
  18390. <Field>
  18391. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  18392. <AssignedBits>
  18393. <Bit>
  18394. <Name>RDP</Name>
  18395. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  18396. <BitOffset>0x0</BitOffset>
  18397. <BitWidth>0x8</BitWidth>
  18398. <Access>RW</Access>
  18399. <Values>
  18400. <Val value="0xAA">Level 0, no protection</Val>
  18401. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  18402. <Val value="0xCC">Level 2, chip protection</Val>
  18403. </Values>
  18404. </Bit>
  18405. </AssignedBits>
  18406. </Field>
  18407. </Category>
  18408. <Category>
  18409. <Name>User Configuration</Name>
  18410. <Field>
  18411. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  18412. <AssignedBits>
  18413. <Bit>
  18414. <Name>WDG_SW</Name>
  18415. <Description/>
  18416. <BitOffset>0x10</BitOffset>
  18417. <BitWidth>0x1</BitWidth>
  18418. <Access>RW</Access>
  18419. <Values>
  18420. <Val value="0x0">Hardware watchdog</Val>
  18421. <Val value="0x1">Software watchdog</Val>
  18422. </Values>
  18423. </Bit>
  18424. <Bit>
  18425. <Name>nRST_STOP</Name>
  18426. <Description/>
  18427. <BitOffset>0x11</BitOffset>
  18428. <BitWidth>0x1</BitWidth>
  18429. <Access>RW</Access>
  18430. <Values>
  18431. <Val value="0x0">Reset generated when entering Stop mode</Val>
  18432. <Val value="0x1">No reset generated</Val>
  18433. </Values>
  18434. </Bit>
  18435. <Bit>
  18436. <Name>nRST_STDBY</Name>
  18437. <Description/>
  18438. <BitOffset>0x12</BitOffset>
  18439. <BitWidth>0x1</BitWidth>
  18440. <Access>RW</Access>
  18441. <Values>
  18442. <Val value="0x0">Reset generated when entering Standby mode</Val>
  18443. <Val value="0x1">No reset generated</Val>
  18444. </Values>
  18445. </Bit>
  18446. <Bit>
  18447. <Name>nBOOT0</Name>
  18448. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  18449. <BitOffset>0x13</BitOffset>
  18450. <BitWidth>0x1</BitWidth>
  18451. <Access>RW</Access>
  18452. <Values>
  18453. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  18454. <Val value="0x1">BOOT0 = 0, boot from main flash memory</Val>
  18455. </Values>
  18456. </Bit>
  18457. <Bit>
  18458. <Name>nBOOT1</Name>
  18459. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from main flash memory. </Description>
  18460. <BitOffset>0x14</BitOffset>
  18461. <BitWidth>0x1</BitWidth>
  18462. <Access>RW</Access>
  18463. <Values>
  18464. <Val value="0x0">Boot from embedded SRAM when BOOT0=1</Val>
  18465. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  18466. </Values>
  18467. </Bit>
  18468. <Bit>
  18469. <Name>VDDA_MONITOR</Name>
  18470. <Description/>
  18471. <BitOffset>0x15</BitOffset>
  18472. <BitWidth>0x1</BitWidth>
  18473. <Access>RW</Access>
  18474. <Values>
  18475. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  18476. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  18477. </Values>
  18478. </Bit>
  18479. <Bit>
  18480. <Name>RAM_PARITY</Name>
  18481. <Description/>
  18482. <BitOffset>0x16</BitOffset>
  18483. <BitWidth>0x1</BitWidth>
  18484. <Access>RW</Access>
  18485. <Values>
  18486. <Val value="0x0">RAM parity check enabled</Val>
  18487. <Val value="0x1">RAM parity check disabled</Val>
  18488. </Values>
  18489. </Bit>
  18490. <Bit>
  18491. <Name>BOOT_SEL</Name>
  18492. <Description/>
  18493. <BitOffset>0x17</BitOffset>
  18494. <BitWidth>0x1</BitWidth>
  18495. <Access>RW</Access>
  18496. <Values>
  18497. <Val value="0x0">BOOT0 signal is defined by nBOOT0 option bit</Val>
  18498. <Val value="0x1">BOOT0 signal is defined by BOOT0 pin value</Val>
  18499. </Values>
  18500. </Bit>
  18501. </AssignedBits>
  18502. </Field>
  18503. </Category>
  18504. <Category>
  18505. <Name>User Data</Name>
  18506. <Field>
  18507. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  18508. <AssignedBits>
  18509. <Bit>
  18510. <Name>Data0</Name>
  18511. <Description>User data 0 (8-bit)</Description>
  18512. <BitOffset>0x0</BitOffset>
  18513. <BitWidth>0x8</BitWidth>
  18514. <Access>RW</Access>
  18515. </Bit>
  18516. <Bit>
  18517. <Name>Data1</Name>
  18518. <Description>User data 1 (8-bit)</Description>
  18519. <BitOffset>0x10</BitOffset>
  18520. <BitWidth>0x8</BitWidth>
  18521. <Access>RW</Access>
  18522. </Bit>
  18523. </AssignedBits>
  18524. </Field>
  18525. </Category>
  18526. <Category>
  18527. <Name>Write Protection</Name>
  18528. <Field>
  18529. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  18530. <AssignedBits>
  18531. <Bit>
  18532. <Name>nWRP0</Name>
  18533. <Description/>
  18534. <BitOffset>0x0</BitOffset>
  18535. <BitWidth>0x8</BitWidth>
  18536. <Access>RW</Access>
  18537. <Values ByBit="true">
  18538. <Val value="0x0">Write protection active on this sector</Val>
  18539. <Val value="0x1">Write protection not active on this sector</Val>
  18540. </Values>
  18541. </Bit>
  18542. </AssignedBits>
  18543. </Field>
  18544. </Category>
  18545. </Bank>
  18546. </Peripheral>
  18547. </Peripherals>
  18548. </Device>
  18549. <!-- Device: 0x444 -->
  18550. <Device>
  18551. <DeviceID>0x444</DeviceID>
  18552. <Vendor>STMicroelectronics</Vendor>
  18553. <Type>MCU</Type>
  18554. <CPU>Cortex-M0</CPU>
  18555. <Name>STM32F03x</Name>
  18556. <Series>STM32F0</Series>
  18557. <Description>ARM 32-bit Cortex-M0 based device</Description>
  18558. <Configurations>
  18559. <!-- JTAG_SWD Interface -->
  18560. <Interface name="JTAG_SWD"/>
  18561. <!-- Bootloader Interface -->
  18562. <Interface name="Bootloader"/>
  18563. </Configurations>
  18564. <!-- Peripherals -->
  18565. <Peripherals>
  18566. <!-- Embedded SRAM -->
  18567. <Peripheral>
  18568. <Name>Embedded SRAM</Name>
  18569. <Type>Storage</Type>
  18570. <Description/>
  18571. <ErasedValue>0x00</ErasedValue>
  18572. <Access>RWE</Access>
  18573. <!-- 4 KB -->
  18574. <Configuration>
  18575. <Parameters name="SRAM" size="0x1000" address="0x20000000"/>
  18576. <Description/>
  18577. <Organization>Single</Organization>
  18578. <Bank name="Bank 1">
  18579. <Field>
  18580. <Parameters name="SRAM" size="0x1000" address="0x20000000" occurence="0x1"/>
  18581. </Field>
  18582. </Bank>
  18583. </Configuration>
  18584. </Peripheral>
  18585. <!-- Embedded Flash -->
  18586. <Peripheral>
  18587. <Name>Embedded Flash</Name>
  18588. <Type>Storage</Type>
  18589. <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>
  18590. <ErasedValue>0xFF</ErasedValue>
  18591. <Access>RWE</Access>
  18592. <FlashSize address="0x1FFFF7CC" default="0x8000"/>
  18593. <!-- 32KB single Bank -->
  18594. <Configuration>
  18595. <Parameters name=" 32 Kbytes Embedded Flash" size="0x8000" address="0x08000000"/>
  18596. <Description/>
  18597. <Organization>Single</Organization>
  18598. <Allignement>0x4</Allignement>
  18599. <Bank name="Bank 1">
  18600. <Field>
  18601. <Parameters name="sector0" size="0x400" address="0x08000000" occurence="0x20"/>
  18602. </Field>
  18603. </Bank>
  18604. </Configuration>
  18605. </Peripheral>
  18606. <!-- Option Bytes -->
  18607. <Peripheral>
  18608. <Name>Option Bytes</Name>
  18609. <Type>Configuration</Type>
  18610. <Description/>
  18611. <Access>RW</Access>
  18612. <Bank>
  18613. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  18614. <Category>
  18615. <Name>Read Out Protection</Name>
  18616. <Field>
  18617. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  18618. <AssignedBits>
  18619. <Bit>
  18620. <Name>RDP</Name>
  18621. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  18622. <BitOffset>0x0</BitOffset>
  18623. <BitWidth>0x8</BitWidth>
  18624. <Access>RW</Access>
  18625. <Values>
  18626. <Val value="0xAA">Level 0, no protection</Val>
  18627. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  18628. <Val value="0xCC">Level 2, chip protection</Val>
  18629. </Values>
  18630. </Bit>
  18631. </AssignedBits>
  18632. </Field>
  18633. </Category>
  18634. <Category>
  18635. <Name>User Configuration</Name>
  18636. <Field>
  18637. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  18638. <AssignedBits>
  18639. <Bit>
  18640. <Name>WDG_SW</Name>
  18641. <Description/>
  18642. <BitOffset>0x10</BitOffset>
  18643. <BitWidth>0x1</BitWidth>
  18644. <Access>RW</Access>
  18645. <Values>
  18646. <Val value="0x0">Hardware watchdog</Val>
  18647. <Val value="0x1">Software watchdog</Val>
  18648. </Values>
  18649. </Bit>
  18650. <Bit>
  18651. <Name>nRST_STOP</Name>
  18652. <Description/>
  18653. <BitOffset>0x11</BitOffset>
  18654. <BitWidth>0x1</BitWidth>
  18655. <Access>RW</Access>
  18656. <Values>
  18657. <Val value="0x0">Reset generated when entering Stop mode</Val>
  18658. <Val value="0x1">No reset generated</Val>
  18659. </Values>
  18660. </Bit>
  18661. <Bit>
  18662. <Name>nRST_STDBY</Name>
  18663. <Description/>
  18664. <BitOffset>0x12</BitOffset>
  18665. <BitWidth>0x1</BitWidth>
  18666. <Access>RW</Access>
  18667. <Values>
  18668. <Val value="0x0">Reset generated when entering Standby mode</Val>
  18669. <Val value="0x1">No reset generated</Val>
  18670. </Values>
  18671. </Bit>
  18672. <Bit>
  18673. <Name>nBOOT1</Name>
  18674. <Description>Together with the input pad BOOT0, selects the Boot mode. If BOOT0=0, always boot from main flash memory regardless of nBoot1 value. </Description>
  18675. <BitOffset>0x14</BitOffset>
  18676. <BitWidth>0x1</BitWidth>
  18677. <Access>RW</Access>
  18678. <Values>
  18679. <Val value="0x0">Boot from embedded SRAM when BOOT0=1</Val>
  18680. <Val value="0x1">Boot from system flash when BOOT0=1</Val>
  18681. </Values>
  18682. </Bit>
  18683. <Bit>
  18684. <Name>VDDA_MONITOR</Name>
  18685. <Description/>
  18686. <BitOffset>0x15</BitOffset>
  18687. <BitWidth>0x1</BitWidth>
  18688. <Access>RW</Access>
  18689. <Values>
  18690. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  18691. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  18692. </Values>
  18693. </Bit>
  18694. <Bit>
  18695. <Name>RAM_PARITY</Name>
  18696. <Description/>
  18697. <BitOffset>0x16</BitOffset>
  18698. <BitWidth>0x1</BitWidth>
  18699. <Access>RW</Access>
  18700. <Values>
  18701. <Val value="0x0">RAM parity check enabled</Val>
  18702. <Val value="0x1">RAM parity check disabled</Val>
  18703. </Values>
  18704. </Bit>
  18705. </AssignedBits>
  18706. </Field>
  18707. </Category>
  18708. <Category>
  18709. <Name>User Data</Name>
  18710. <Field>
  18711. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  18712. <AssignedBits>
  18713. <Bit>
  18714. <Name>Data0</Name>
  18715. <Description>User data 0 (8-bit)</Description>
  18716. <BitOffset>0x0</BitOffset>
  18717. <BitWidth>0x8</BitWidth>
  18718. <Access>RW</Access>
  18719. </Bit>
  18720. <Bit>
  18721. <Name>Data1</Name>
  18722. <Description>User data 1 (8-bit)</Description>
  18723. <BitOffset>0x10</BitOffset>
  18724. <BitWidth>0x8</BitWidth>
  18725. <Access>RW</Access>
  18726. </Bit>
  18727. </AssignedBits>
  18728. </Field>
  18729. </Category>
  18730. <Category>
  18731. <Name>Write Protection</Name>
  18732. <Field>
  18733. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  18734. <AssignedBits>
  18735. <Bit>
  18736. <Name>nWRP0</Name>
  18737. <Description/>
  18738. <BitOffset>0x0</BitOffset>
  18739. <BitWidth>0x8</BitWidth>
  18740. <Access>RW</Access>
  18741. <Values ByBit="true">
  18742. <Val value="0x0">Write protection active on this sector</Val>
  18743. <Val value="0x1">Write protection not active on this sector</Val>
  18744. </Values>
  18745. </Bit>
  18746. </AssignedBits>
  18747. </Field>
  18748. </Category>
  18749. </Bank>
  18750. </Peripheral>
  18751. </Peripherals>
  18752. </Device>
  18753. <!-- Device: 0x442 -->
  18754. <Device>
  18755. <DeviceID>0x442</DeviceID>
  18756. <Vendor>STMicroelectronics</Vendor>
  18757. <Type>MCU</Type>
  18758. <CPU>Cortex-M0</CPU>
  18759. <Name>STM32F09x/F030xC</Name>
  18760. <Series>STM32F0</Series>
  18761. <Description>ARM 32-bit Cortex-M0 based device</Description>
  18762. <Configurations>
  18763. <!-- JTAG_SWD Interface -->
  18764. <Interface name="JTAG_SWD"/>
  18765. <!-- Bootloader Interface -->
  18766. <Interface name="Bootloader"/>
  18767. </Configurations>
  18768. <!-- Peripherals -->
  18769. <Peripherals>
  18770. <!-- Embedded SRAM -->
  18771. <Peripheral>
  18772. <Name>Embedded SRAM</Name>
  18773. <Type>Storage</Type>
  18774. <Description/>
  18775. <ErasedValue>0x00</ErasedValue>
  18776. <Access>RWE</Access>
  18777. <!-- 32 KB -->
  18778. <Configuration>
  18779. <Parameters name="SRAM" size="0x8000" address="0x20000000"/>
  18780. <Description/>
  18781. <Organization>Single</Organization>
  18782. <Bank name="Bank 1">
  18783. <Field>
  18784. <Parameters name="SRAM" size="0x8000" address="0x20000000" occurence="0x1"/>
  18785. </Field>
  18786. </Bank>
  18787. </Configuration>
  18788. </Peripheral>
  18789. <!-- Embedded Flash -->
  18790. <Peripheral>
  18791. <Name>Embedded Flash</Name>
  18792. <Type>Storage</Type>
  18793. <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>
  18794. <ErasedValue>0xFF</ErasedValue>
  18795. <Access>RWE</Access>
  18796. <FlashSize address="0x1FFFF7CC" default="0x40000"/>
  18797. <!-- 256KB single Bank -->
  18798. <Configuration>
  18799. <Parameters name=" 256 Kbytes Embedded Flash" size="0x40000" address="0x08000000"/>
  18800. <Description/>
  18801. <Organization>Single</Organization>
  18802. <Allignement>0x4</Allignement>
  18803. <Bank name="Bank 1">
  18804. <Field>
  18805. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x80"/>
  18806. </Field>
  18807. </Bank>
  18808. </Configuration>
  18809. </Peripheral>
  18810. <!-- Option Bytes -->
  18811. <Peripheral>
  18812. <Name>Option Bytes</Name>
  18813. <Type>Configuration</Type>
  18814. <Description/>
  18815. <Access>RW</Access>
  18816. <Bank>
  18817. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  18818. <Category>
  18819. <Name>Read Out Protection</Name>
  18820. <Field>
  18821. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  18822. <AssignedBits>
  18823. <Bit>
  18824. <Name>RDP</Name>
  18825. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  18826. <BitOffset>0x0</BitOffset>
  18827. <BitWidth>0x8</BitWidth>
  18828. <Access>RW</Access>
  18829. <Values>
  18830. <Val value="0xAA">Level 0, no protection</Val>
  18831. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  18832. <Val value="0xCC">Level 2, chip protection</Val>
  18833. </Values>
  18834. </Bit>
  18835. </AssignedBits>
  18836. </Field>
  18837. </Category>
  18838. <Category>
  18839. <Name>User Configuration</Name>
  18840. <Field>
  18841. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  18842. <AssignedBits>
  18843. <Bit>
  18844. <Name>WDG_SW</Name>
  18845. <Description/>
  18846. <BitOffset>0x10</BitOffset>
  18847. <BitWidth>0x1</BitWidth>
  18848. <Access>RW</Access>
  18849. <Values>
  18850. <Val value="0x0">Hardware watchdog</Val>
  18851. <Val value="0x1">Software watchdog</Val>
  18852. </Values>
  18853. </Bit>
  18854. <Bit>
  18855. <Name>nRST_STOP</Name>
  18856. <Description/>
  18857. <BitOffset>0x11</BitOffset>
  18858. <BitWidth>0x1</BitWidth>
  18859. <Access>RW</Access>
  18860. <Values>
  18861. <Val value="0x0">Reset generated when entering Stop mode</Val>
  18862. <Val value="0x1">No reset generated</Val>
  18863. </Values>
  18864. </Bit>
  18865. <Bit>
  18866. <Name>nRST_STDBY</Name>
  18867. <Description/>
  18868. <BitOffset>0x12</BitOffset>
  18869. <BitWidth>0x1</BitWidth>
  18870. <Access>RW</Access>
  18871. <Values>
  18872. <Val value="0x0">Reset generated when entering Standby mode</Val>
  18873. <Val value="0x1">No reset generated</Val>
  18874. </Values>
  18875. </Bit>
  18876. <Bit>
  18877. <Name>nBOOT0</Name>
  18878. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  18879. <BitOffset>0x13</BitOffset>
  18880. <BitWidth>0x1</BitWidth>
  18881. <Access>RW</Access>
  18882. <Values>
  18883. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  18884. <Val value="0x1">BOOT0 = 0, boot from main flash memory</Val>
  18885. </Values>
  18886. </Bit>
  18887. <Bit>
  18888. <Name>nBOOT1</Name>
  18889. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from main flash memory.</Description>
  18890. <BitOffset>0x14</BitOffset>
  18891. <BitWidth>0x1</BitWidth>
  18892. <Access>RW</Access>
  18893. <Values>
  18894. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  18895. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  18896. </Values>
  18897. </Bit>
  18898. <Bit>
  18899. <Name>VDDA_MONITOR</Name>
  18900. <Description/>
  18901. <BitOffset>0x15</BitOffset>
  18902. <BitWidth>0x1</BitWidth>
  18903. <Access>RW</Access>
  18904. <Values>
  18905. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  18906. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  18907. </Values>
  18908. </Bit>
  18909. <Bit>
  18910. <Name>RAM_PARITY</Name>
  18911. <Description/>
  18912. <BitOffset>0x16</BitOffset>
  18913. <BitWidth>0x1</BitWidth>
  18914. <Access>RW</Access>
  18915. <Values>
  18916. <Val value="0x0">RAM parity check enabled</Val>
  18917. <Val value="0x1">RAM parity check disabled</Val>
  18918. </Values>
  18919. </Bit>
  18920. <Bit>
  18921. <Name>BOOT_SEL</Name>
  18922. <Description/>
  18923. <BitOffset>0x17</BitOffset>
  18924. <BitWidth>0x1</BitWidth>
  18925. <Access>RW</Access>
  18926. <Values>
  18927. <Val value="0x0">BOOT0 signal is defined by nBOOT0 option bit</Val>
  18928. <Val value="0x1">BOOT0 signal is defined by BOOT0 pin value</Val>
  18929. </Values>
  18930. </Bit>
  18931. </AssignedBits>
  18932. </Field>
  18933. </Category>
  18934. <Category>
  18935. <Name>User Data</Name>
  18936. <Field>
  18937. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  18938. <AssignedBits>
  18939. <Bit>
  18940. <Name>Data0</Name>
  18941. <Description>User data 0 (8-bit)</Description>
  18942. <BitOffset>0x0</BitOffset>
  18943. <BitWidth>0x8</BitWidth>
  18944. <Access>RW</Access>
  18945. </Bit>
  18946. <Bit>
  18947. <Name>Data1</Name>
  18948. <Description>User data 1 (8-bit)</Description>
  18949. <BitOffset>0x10</BitOffset>
  18950. <BitWidth>0x8</BitWidth>
  18951. <Access>RW</Access>
  18952. </Bit>
  18953. </AssignedBits>
  18954. </Field>
  18955. </Category>
  18956. <Category>
  18957. <Name>Write Protection</Name>
  18958. <Field>
  18959. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  18960. <AssignedBits>
  18961. <Bit>
  18962. <Name>nWRP0</Name>
  18963. <Description/>
  18964. <BitOffset>0x0</BitOffset>
  18965. <BitWidth>0x8</BitWidth>
  18966. <Access>RW</Access>
  18967. <Values ByBit="true">
  18968. <Val value="0x0">Write protection active on this sector</Val>
  18969. <Val value="0x1">Write protection not active on this sector</Val>
  18970. </Values>
  18971. </Bit>
  18972. <Bit>
  18973. <Name>nWRP8</Name>
  18974. <Description/>
  18975. <BitOffset>0x10</BitOffset>
  18976. <BitWidth>0x8</BitWidth>
  18977. <Access>RW</Access>
  18978. <Values ByBit="true">
  18979. <Val value="0x0">Write protection active on this sector</Val>
  18980. <Val value="0x1">Write protection not active on this sector</Val>
  18981. </Values>
  18982. </Bit>
  18983. </AssignedBits>
  18984. </Field>
  18985. <Field>
  18986. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  18987. <AssignedBits>
  18988. <Bit>
  18989. <Name>nWRP16</Name>
  18990. <Description/>
  18991. <BitOffset>0x0</BitOffset>
  18992. <BitWidth>0x8</BitWidth>
  18993. <Access>RW</Access>
  18994. <Values ByBit="true">
  18995. <Val value="0x0">Write protection active on this sector</Val>
  18996. <Val value="0x1">Write protection not active on this sector</Val>
  18997. </Values>
  18998. </Bit>
  18999. <Bit>
  19000. <Name>nWRP24</Name>
  19001. <Description/>
  19002. <BitOffset>0x10</BitOffset>
  19003. <BitWidth>0x8</BitWidth>
  19004. <Access>RW</Access>
  19005. <Values ByBit="true">
  19006. <Val value="0x0">Write protection active on this sector</Val>
  19007. <Val value="0x1">Write protection not active on this sector</Val>
  19008. </Values>
  19009. </Bit>
  19010. </AssignedBits>
  19011. </Field>
  19012. </Category>
  19013. </Bank>
  19014. </Peripheral>
  19015. </Peripherals>
  19016. </Device>
  19017. <!-- Device: 0x451 -->
  19018. <Device>
  19019. <DeviceID>0x451</DeviceID>
  19020. <Vendor>STMicroelectronics</Vendor>
  19021. <Type>MCU</Type>
  19022. <CPU>Cortex-M7</CPU>
  19023. <Name>STM32F76x/STM32F77x</Name>
  19024. <Series>STM32F7</Series>
  19025. <Description>ARM 32-bit Cortex-M7 based device</Description>
  19026. <Configurations>
  19027. <!-- JTAG_SWD Interface -->
  19028. <Interface name="JTAG_SWD">
  19029. <Configuration number="0x0"> <!-- 2MB Single Bank-->
  19030. <DualBank reference="0x1">
  19031. <ReadRegister address="0x40023C14" mask="0x20000000" value="0x20000000"/>
  19032. </DualBank>
  19033. </Configuration>
  19034. <Configuration number="0x1"> <!-- 2MB Dual Bank-->
  19035. <DualBank reference="0x0">
  19036. <ReadRegister address="0x40023C14" mask="0x20000000" value="0x0"/>
  19037. </DualBank>
  19038. </Configuration>
  19039. </Interface>
  19040. <!-- Bootloader Interface -->
  19041. <Interface name="Bootloader">
  19042. <Configuration number="0x0"> <!-- 2MB Single Bank-->
  19043. <DualBank reference="0x1">
  19044. <ReadRegister address="0x1FFF0008" mask="0x2000" value="0x2000"/>
  19045. </DualBank>
  19046. </Configuration>
  19047. <Configuration number="0x1"> <!-- 2MB Dual Bank-->
  19048. <DualBank reference="0x0">
  19049. <ReadRegister address="0x1FFF0008" mask="0x2000" value="0x0"/>
  19050. </DualBank>
  19051. </Configuration>
  19052. </Interface>
  19053. </Configurations>
  19054. <!-- Peripherals -->
  19055. <Peripherals>
  19056. <!-- Embedded SRAM -->
  19057. <Peripheral>
  19058. <Name>Embedded SRAM</Name>
  19059. <Type>Storage</Type>
  19060. <Description/>
  19061. <ErasedValue>0x00</ErasedValue>
  19062. <Access>RWE</Access>
  19063. <!-- 512 KB -->
  19064. <Configuration>
  19065. <Parameters name="SRAM" size="0x80000" address="0x20000000"/>
  19066. <Description/>
  19067. <Organization>Single</Organization>
  19068. <Bank name="Bank 1">
  19069. <Field>
  19070. <Parameters name="SRAM1" size="0x80000" address="0x20000000" occurence="0x1"/>
  19071. </Field>
  19072. </Bank>
  19073. </Configuration>
  19074. </Peripheral>
  19075. <!-- Embedded Flash -->
  19076. <Peripheral>
  19077. <Name>Embedded Flash</Name>
  19078. <Type>Storage</Type>
  19079. <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>
  19080. <ErasedValue>0xFF</ErasedValue>
  19081. <Access>RWE</Access>
  19082. <FlashSize address="0x1FF0F442" default="0x200000"/>
  19083. <!-- 2MB Single Bank -->
  19084. <Configuration config="0">
  19085. <Parameters name=" 2 Mbytes single bank Embedded Flash" size="0x200000" address="0x08000000"/>
  19086. <Description/>
  19087. <Organization>Single</Organization>
  19088. <Allignement>0x20</Allignement>
  19089. <Bank name="Bank 1">
  19090. <Field>
  19091. <Parameters name="sector0" size="0x8000" address="0x08000000" occurence="0x4"/>
  19092. </Field>
  19093. <Field>
  19094. <Parameters name="sector4" size="0x20000" address="0x08020000" occurence="0x1"/>
  19095. </Field>
  19096. <Field>
  19097. <Parameters name="sector5" size="0x40000" address="0x08040000" occurence="0x7"/>
  19098. </Field>
  19099. </Bank>
  19100. </Configuration>
  19101. <!-- 2MB Dual Bank -->
  19102. <Configuration config="1">
  19103. <Parameters name=" 2 Mbytes dual bank Embedded Flash" size="0x200000" address="0x08000000"/>
  19104. <Description/>
  19105. <Organization>Dual</Organization>
  19106. <Allignement>0x10</Allignement>
  19107. <Bank name="Bank 1">
  19108. <Field>
  19109. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  19110. </Field>
  19111. <Field>
  19112. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  19113. </Field>
  19114. <Field>
  19115. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x7"/>
  19116. </Field>
  19117. </Bank>
  19118. <Bank name="Bank 2">
  19119. <Field>
  19120. <Parameters name="sector12" size="0x4000" address="0x08100000" occurence="0x4"/>
  19121. </Field>
  19122. <Field>
  19123. <Parameters name="sector16" size="0x10000" address="0x08110000" occurence="0x1"/>
  19124. </Field>
  19125. <Field>
  19126. <Parameters name="sector17" size="0x20000" address="0x08120000" occurence="0x7"/>
  19127. </Field>
  19128. </Bank>
  19129. </Configuration>
  19130. </Peripheral>
  19131. <!-- ITCM FLASH -->
  19132. <Peripheral>
  19133. <Name>ITCM Flash</Name>
  19134. <Type>Storage</Type>
  19135. <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>
  19136. <ErasedValue>0xFF</ErasedValue>
  19137. <Access>RWE</Access>
  19138. <!-- 2MB Single Bank -->
  19139. <Configuration config="0">
  19140. <Parameters name=" 2 Mbytes single bank Embedded Flash" size="0x200000" address="0x00200000"/>
  19141. <Description/>
  19142. <Organization>Single</Organization>
  19143. <Allignement>0x20</Allignement>
  19144. <Bank name="Bank 1">
  19145. <Field>
  19146. <Parameters name="sector0" size="0x8000" address="0x00200000" occurence="0x4"/>
  19147. </Field>
  19148. <Field>
  19149. <Parameters name="sector4" size="0x20000" address="0x00220000" occurence="0x1"/>
  19150. </Field>
  19151. <Field>
  19152. <Parameters name="sector5" size="0x40000" address="0x00240000" occurence="0x7"/>
  19153. </Field>
  19154. </Bank>
  19155. </Configuration>
  19156. <!-- 2MB Dual Bank -->
  19157. <Configuration config="1">
  19158. <Parameters name=" 2 Mbytes dual bank Embedded Flash" size="0x200000" address="0x00200000"/>
  19159. <Description/>
  19160. <Organization>Dual</Organization>
  19161. <Allignement>0x10</Allignement>
  19162. <Bank name="Bank 1">
  19163. <Field>
  19164. <Parameters name="sector0" size="0x4000" address="0x00200000" occurence="0x4"/>
  19165. </Field>
  19166. <Field>
  19167. <Parameters name="sector4" size="0x10000" address="0x00210000" occurence="0x1"/>
  19168. </Field>
  19169. <Field>
  19170. <Parameters name="sector5" size="0x20000" address="0x00220000" occurence="0x7"/>
  19171. </Field>
  19172. </Bank>
  19173. <Bank name="Bank 2">
  19174. <Field>
  19175. <Parameters name="sector12" size="0x4000" address="0x00300000" occurence="0x4"/>
  19176. </Field>
  19177. <Field>
  19178. <Parameters name="sector16" size="0x10000" address="0x00310000" occurence="0x1"/>
  19179. </Field>
  19180. <Field>
  19181. <Parameters name="sector17" size="0x20000" address="0x00320000" occurence="0x7"/>
  19182. </Field>
  19183. </Bank>
  19184. </Configuration>
  19185. </Peripheral>
  19186. <!-- OTP -->
  19187. <Peripheral>
  19188. <Name>OTP</Name>
  19189. <Type>Storage</Type>
  19190. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  19191. <ErasedValue>0xFF</ErasedValue>
  19192. <Access>RW</Access>
  19193. <!-- 1 KBytes single bank -->
  19194. <Configuration>
  19195. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FF0F000"/>
  19196. <Description/>
  19197. <Organization>Single</Organization>
  19198. <Allignement>0x4</Allignement>
  19199. <Bank name="OTP">
  19200. <Field>
  19201. <Parameters name="OTP" size="0x400" address="0x1FF0F000" occurence="0x1"/>
  19202. </Field>
  19203. </Bank>
  19204. </Configuration>
  19205. </Peripheral>
  19206. <!-- Mirror Option Bytes -->
  19207. <Peripheral>
  19208. <Name>MirrorOptionBytes</Name>
  19209. <Type>Storage</Type>
  19210. <Description>Mirror Option Bytes contains the extra area.</Description>
  19211. <ErasedValue>0xFF</ErasedValue>
  19212. <Access>RW</Access>
  19213. <!-- 44 Bytes single bank -->
  19214. <Configuration>
  19215. <Parameters name=" 44 Bytes Data MirrorOptionBytes" size="0x2C" address="0x1FFF0000"/>
  19216. <Description/>
  19217. <Organization>Single</Organization>
  19218. <Allignement>0x4</Allignement>
  19219. <Bank name="MirrorOptionBytes">
  19220. <Field>
  19221. <Parameters name="MirrorOptionBytes" size="0x2C" address="0x1FFF0000" occurence="0x1"/>
  19222. </Field>
  19223. </Bank>
  19224. </Configuration>
  19225. </Peripheral>
  19226. <!-- Option Bytes -->
  19227. <Peripheral>
  19228. <Name>Option Bytes</Name>
  19229. <Type>Configuration</Type>
  19230. <Description/>
  19231. <Access>RW</Access>
  19232. <Bank interface="JTAG_SWD">
  19233. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  19234. <Category>
  19235. <Name>Read Out Protection</Name>
  19236. <Field>
  19237. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  19238. <AssignedBits>
  19239. <Bit>
  19240. <Name>RDP</Name>
  19241. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  19242. <BitOffset>0x8</BitOffset>
  19243. <BitWidth>0x8</BitWidth>
  19244. <Access>RW</Access>
  19245. <Values>
  19246. <Val value="0xAA">Level 0, no protection</Val>
  19247. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  19248. <Val value="0xCC">Level 2, chip protection</Val>
  19249. </Values>
  19250. </Bit>
  19251. </AssignedBits>
  19252. </Field>
  19253. </Category>
  19254. <Category>
  19255. <Name>BOR Level</Name>
  19256. <Field>
  19257. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  19258. <AssignedBits>
  19259. <Bit>
  19260. <Name>BOR_LEV</Name>
  19261. <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>
  19262. <BitOffset>0x2</BitOffset>
  19263. <BitWidth>0x2</BitWidth>
  19264. <Access>RW</Access>
  19265. <Values>
  19266. <Val value="0x0">BOR Level 3 (VBOR3), brownout threshold level 3</Val>
  19267. <Val value="0x1">BOR Level 2 (VBOR2), brownout threshold level 2</Val>
  19268. <Val value="0x2">BOR Level 1 (VBOR1), brownout threshold level 1</Val>
  19269. <Val value="0x3">BOR off, POR/PDR reset threshold level is applied</Val>
  19270. </Values>
  19271. </Bit>
  19272. </AssignedBits>
  19273. </Field>
  19274. </Category>
  19275. <Category>
  19276. <Name>User Configuration</Name>
  19277. <Field>
  19278. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  19279. <AssignedBits>
  19280. <Bit>
  19281. <Name>IWDG_STOP</Name>
  19282. <Description/>
  19283. <BitOffset>0x1F</BitOffset>
  19284. <BitWidth>0x1</BitWidth>
  19285. <Access>RW</Access>
  19286. <Values>
  19287. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  19288. <Val value="0x1">IWDG counter active in stop mode</Val>
  19289. </Values>
  19290. </Bit>
  19291. <Bit>
  19292. <Name>IWDG_STDBY</Name>
  19293. <Description/>
  19294. <BitOffset>0x1E</BitOffset>
  19295. <BitWidth>0x1</BitWidth>
  19296. <Access>RW</Access>
  19297. <Values>
  19298. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  19299. <Val value="0x1">IWDG counter active in standby mode</Val>
  19300. </Values>
  19301. </Bit>
  19302. <Bit reference="DualBank">
  19303. <Name>nDBANK</Name>
  19304. <Description/>
  19305. <BitOffset>0x1D</BitOffset>
  19306. <BitWidth>0x1</BitWidth>
  19307. <Access>RW</Access>
  19308. <Values>
  19309. <Val value="0x0">Flash in dual bank with 128 bits read access</Val>
  19310. <Val value="0x1">Flash in single bank with 256 bits read access</Val>
  19311. </Values>
  19312. </Bit>
  19313. <Bit config="1">
  19314. <Name>nDBOOT</Name>
  19315. <Description/>
  19316. <BitOffset>0x1C</BitOffset>
  19317. <BitWidth>0x1</BitWidth>
  19318. <Access>RW</Access>
  19319. <Values>
  19320. <Val value="0x0">Dual Boot enabled</Val>
  19321. <Val value="0x1">Dual Boot disabled</Val>
  19322. </Values>
  19323. </Bit>
  19324. <Bit>
  19325. <Name>WWDG_SW</Name>
  19326. <Description/>
  19327. <BitOffset>0x4</BitOffset>
  19328. <BitWidth>0x1</BitWidth>
  19329. <Access>RW</Access>
  19330. <Values>
  19331. <Val value="0x0">Hardware window watchdog</Val>
  19332. <Val value="0x1">Software window watchdog</Val>
  19333. </Values>
  19334. </Bit>
  19335. <Bit>
  19336. <Name>IWDG_SW</Name>
  19337. <Description/>
  19338. <BitOffset>0x5</BitOffset>
  19339. <BitWidth>0x1</BitWidth>
  19340. <Access>RW</Access>
  19341. <Values>
  19342. <Val value="0x0">Hardware independant watchdog</Val>
  19343. <Val value="0x1">Software independant watchdog</Val>
  19344. </Values>
  19345. </Bit>
  19346. <Bit>
  19347. <Name>nRST_STOP</Name>
  19348. <Description/>
  19349. <BitOffset>0x6</BitOffset>
  19350. <BitWidth>0x1</BitWidth>
  19351. <Access>RW</Access>
  19352. <Values>
  19353. <Val value="0x0">Reset generated when entering Stop mode</Val>
  19354. <Val value="0x1">No reset generated</Val>
  19355. </Values>
  19356. </Bit>
  19357. <Bit>
  19358. <Name>nRST_STDBY</Name>
  19359. <Description/>
  19360. <BitOffset>0x7</BitOffset>
  19361. <BitWidth>0x1</BitWidth>
  19362. <Access>RW</Access>
  19363. <Values>
  19364. <Val value="0x0">Reset generated when entering Standby mode</Val>
  19365. <Val value="0x1">No reset generated</Val>
  19366. </Values>
  19367. </Bit>
  19368. </AssignedBits>
  19369. </Field>
  19370. </Category>
  19371. <Category>
  19372. <Name>Boot address Option Bytes</Name>
  19373. <Field>
  19374. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x40023C18"/>
  19375. <AssignedBits>
  19376. <Bit>
  19377. <Name>BOOT_ADD0</Name>
  19378. <Description>Define the boot address when BOOT0=0</Description>
  19379. <BitOffset>0x0</BitOffset>
  19380. <BitWidth>0x10</BitWidth>
  19381. <Access>RW</Access>
  19382. <Equation multiplier="0x4000" offset="0x0"/>
  19383. </Bit>
  19384. <Bit>
  19385. <Name>BOOT_ADD1</Name>
  19386. <Description>Define the boot address when BOOT0=1</Description>
  19387. <BitOffset>0x10</BitOffset>
  19388. <BitWidth>0x10</BitWidth>
  19389. <Access>RW</Access>
  19390. <Equation multiplier="0x4000" offset="0x0"/>
  19391. </Bit>
  19392. </AssignedBits>
  19393. </Field>
  19394. </Category>
  19395. <Category>
  19396. <Name>Write Protection</Name>
  19397. <Field>
  19398. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  19399. <AssignedBits>
  19400. <Bit config="0">
  19401. <Name>nWRP0</Name>
  19402. <Description/>
  19403. <BitOffset>0x10</BitOffset>
  19404. <BitWidth>0xC</BitWidth>
  19405. <Access>RW</Access>
  19406. <Values ByBit="true">
  19407. <Val value="0x0">Write protection active on this sector</Val>
  19408. <Val value="0x1">Write protection not active on this sector</Val>
  19409. </Values>
  19410. </Bit>
  19411. <Bit config="1">
  19412. <Name>nWRP0</Name>
  19413. <Description/>
  19414. <BitOffset>0x10</BitOffset>
  19415. <BitWidth>0x6</BitWidth>
  19416. <Access>RW</Access>
  19417. <Values ByBit="true">
  19418. <Val value="0x0">Write protection active on bank1 sector 2i and 2i+1</Val>
  19419. <Val value="0x1">Write protection not active on bank1 sector 2i, 2i+1</Val>
  19420. </Values>
  19421. </Bit>
  19422. <Bit config="1">
  19423. <Name>nWRP6</Name>
  19424. <Description/>
  19425. <BitOffset>0x16</BitOffset>
  19426. <BitWidth>0x6</BitWidth>
  19427. <Access>RW</Access>
  19428. <Values ByBit="true">
  19429. <Val value="0x0">Write protection active on bank2 sector 2i and 2i+1</Val>
  19430. <Val value="0x1">Write protection not active on bank2 sector 2i, 2i+1</Val>
  19431. </Values>
  19432. </Bit>
  19433. </AssignedBits>
  19434. </Field>
  19435. </Category>
  19436. </Bank>
  19437. <Bank interface="Bootloader">
  19438. <Parameters name="Bank 1" size="0x2C" address="0x1FFF0000"/>
  19439. <Category>
  19440. <Name>Read Out Protection</Name>
  19441. <Field>
  19442. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0000"/>
  19443. <AssignedBits>
  19444. <Bit>
  19445. <Name>RDP</Name>
  19446. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  19447. <BitOffset>0x8</BitOffset>
  19448. <BitWidth>0x8</BitWidth>
  19449. <Access>RW</Access>
  19450. <Values>
  19451. <Val value="0xAA">Level 0, no protection</Val>
  19452. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  19453. <Val value="0xCC">Level 2, chip protection</Val>
  19454. </Values>
  19455. </Bit>
  19456. </AssignedBits>
  19457. </Field>
  19458. </Category>
  19459. <Category>
  19460. <Name>BOR Level</Name>
  19461. <Field>
  19462. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0000"/>
  19463. <AssignedBits>
  19464. <Bit>
  19465. <Name>BOR_LEV</Name>
  19466. <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>
  19467. <BitOffset>0x2</BitOffset>
  19468. <BitWidth>0x2</BitWidth>
  19469. <Access>RW</Access>
  19470. <Values>
  19471. <Val value="0x0">BOR Level 3 (VBOR3), brownout threshold level 3</Val>
  19472. <Val value="0x1">BOR Level 2 (VBOR2), brownout threshold level 2</Val>
  19473. <Val value="0x2">BOR Level 1 (VBOR1), brownout threshold level 1</Val>
  19474. <Val value="0x3">BOR off, POR/PDR reset threshold level is applied</Val>
  19475. </Values>
  19476. </Bit>
  19477. </AssignedBits>
  19478. </Field>
  19479. </Category>
  19480. <Category>
  19481. <Name>User Configuration</Name>
  19482. <Field>
  19483. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0008"/>
  19484. <AssignedBits>
  19485. <Bit>
  19486. <Name>IWDG_STOP</Name>
  19487. <Description/>
  19488. <BitOffset>0xF</BitOffset>
  19489. <BitWidth>0x1</BitWidth>
  19490. <Access>RW</Access>
  19491. <Values>
  19492. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  19493. <Val value="0x1">IWDG counter active in stop mode</Val>
  19494. </Values>
  19495. </Bit>
  19496. <Bit>
  19497. <Name>IWDG_STDBY</Name>
  19498. <Description/>
  19499. <BitOffset>0xE</BitOffset>
  19500. <BitWidth>0x1</BitWidth>
  19501. <Access>RW</Access>
  19502. <Values>
  19503. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  19504. <Val value="0x1">IWDG counter active in standby mode</Val>
  19505. </Values>
  19506. </Bit>
  19507. <Bit reference="DualBank">
  19508. <Name>nDBANK</Name>
  19509. <Description/>
  19510. <BitOffset>0xD</BitOffset>
  19511. <BitWidth>0x1</BitWidth>
  19512. <Access>RW</Access>
  19513. <Values>
  19514. <Val value="0x0">Flash in dual bank with 128 bits read access</Val>
  19515. <Val value="0x1">Flash in single bank with 256 bits read access</Val>
  19516. </Values>
  19517. </Bit>
  19518. <Bit config="1">
  19519. <Name>nDBOOT</Name>
  19520. <Description/>
  19521. <BitOffset>0xC</BitOffset>
  19522. <BitWidth>0x1</BitWidth>
  19523. <Access>RW</Access>
  19524. <Values>
  19525. <Val value="0x0">Dual Boot enabled</Val>
  19526. <Val value="0x1">Dual Boot disabled</Val>
  19527. </Values>
  19528. </Bit>
  19529. </AssignedBits>
  19530. </Field>
  19531. <Field>
  19532. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0000"/>
  19533. <AssignedBits>
  19534. <Bit>
  19535. <Name>WWDG_SW</Name>
  19536. <Description/>
  19537. <BitOffset>0x4</BitOffset>
  19538. <BitWidth>0x1</BitWidth>
  19539. <Access>RW</Access>
  19540. <Values>
  19541. <Val value="0x0">Hardware window watchdog</Val>
  19542. <Val value="0x1">Software window watchdog</Val>
  19543. </Values>
  19544. </Bit>
  19545. <Bit>
  19546. <Name>IWDG_SW</Name>
  19547. <Description/>
  19548. <BitOffset>0x5</BitOffset>
  19549. <BitWidth>0x1</BitWidth>
  19550. <Access>RW</Access>
  19551. <Values>
  19552. <Val value="0x0">Hardware independant watchdog</Val>
  19553. <Val value="0x1">Software independant watchdog</Val>
  19554. </Values>
  19555. </Bit>
  19556. <Bit>
  19557. <Name>nRST_STOP</Name>
  19558. <Description/>
  19559. <BitOffset>0x6</BitOffset>
  19560. <BitWidth>0x1</BitWidth>
  19561. <Access>RW</Access>
  19562. <Values>
  19563. <Val value="0x0">Reset generated when entering Stop mode</Val>
  19564. <Val value="0x1">No reset generated</Val>
  19565. </Values>
  19566. </Bit>
  19567. <Bit>
  19568. <Name>nRST_STDBY</Name>
  19569. <Description/>
  19570. <BitOffset>0x7</BitOffset>
  19571. <BitWidth>0x1</BitWidth>
  19572. <Access>RW</Access>
  19573. <Values>
  19574. <Val value="0x0">Reset generated when entering Standby mode</Val>
  19575. <Val value="0x1">No reset generated</Val>
  19576. </Values>
  19577. </Bit>
  19578. </AssignedBits>
  19579. </Field>
  19580. </Category>
  19581. <Category>
  19582. <Name>Boot address Option Bytes</Name>
  19583. <Field>
  19584. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x1FFF0010"/>
  19585. <AssignedBits>
  19586. <Bit>
  19587. <Name>BOOT_ADD0</Name>
  19588. <Description>Define the boot address when BOOT0=0</Description>
  19589. <BitOffset>0x0</BitOffset>
  19590. <BitWidth>0x10</BitWidth>
  19591. <Access>RW</Access>
  19592. <Equation multiplier="0x4000" offset="0x0"/>
  19593. </Bit>
  19594. </AssignedBits>
  19595. </Field>
  19596. <Field>
  19597. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x1FFF0018"/>
  19598. <AssignedBits>
  19599. <Bit>
  19600. <Name>BOOT_ADD1</Name>
  19601. <Description>Define the boot address when BOOT0=1</Description>
  19602. <BitOffset>0x0</BitOffset>
  19603. <BitWidth>0x10</BitWidth>
  19604. <Access>RW</Access>
  19605. <Equation multiplier="0x4000" offset="0x0"/>
  19606. </Bit>
  19607. </AssignedBits>
  19608. </Field>
  19609. </Category>
  19610. <Category>
  19611. <Name>Write Protection</Name>
  19612. <Field>
  19613. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x1FFF0008"/>
  19614. <AssignedBits>
  19615. <Bit config="0">
  19616. <Name>nWRP0</Name>
  19617. <Description/>
  19618. <BitOffset>0x0</BitOffset>
  19619. <BitWidth>0xC</BitWidth>
  19620. <Access>RW</Access>
  19621. <Values ByBit="true">
  19622. <Val value="0x0">Write protection active on this sector</Val>
  19623. <Val value="0x1">Write protection not active on this sector</Val>
  19624. </Values>
  19625. </Bit>
  19626. <Bit config="1">
  19627. <Name>nWRP0</Name>
  19628. <Description/>
  19629. <BitOffset>0x0</BitOffset>
  19630. <BitWidth>0x6</BitWidth>
  19631. <Access>RW</Access>
  19632. <Values ByBit="true">
  19633. <Val value="0x0">Write protection active on bank1 sector 2i and 2i+1</Val>
  19634. <Val value="0x1">Write protection not active on bank1 sector 2i, 2i+1</Val>
  19635. </Values>
  19636. </Bit>
  19637. <Bit config="1">
  19638. <Name>nWRP6</Name>
  19639. <Description/>
  19640. <BitOffset>0x6</BitOffset>
  19641. <BitWidth>0x6</BitWidth>
  19642. <Access>RW</Access>
  19643. <Values ByBit="true">
  19644. <Val value="0x0">Write protection active on bank2 sector 2i and 2i+1</Val>
  19645. <Val value="0x1">Write protection not active on bank2 sector 2i, 2i+1</Val>
  19646. </Values>
  19647. </Bit>
  19648. </AssignedBits>
  19649. </Field>
  19650. </Category>
  19651. </Bank>
  19652. </Peripheral>
  19653. </Peripherals>
  19654. </Device>
  19655. <!-- Device: 0x449 -->
  19656. <Device>
  19657. <DeviceID>0x449</DeviceID>
  19658. <Vendor>STMicroelectronics</Vendor>
  19659. <Type>MCU</Type>
  19660. <CPU>Cortex-M7</CPU>
  19661. <Name>STM32F74x/STM32F75x</Name>
  19662. <Series>STM32F7</Series>
  19663. <Description>ARM 32-bit Cortex-M7 based device</Description>
  19664. <Configurations>
  19665. <!-- JTAG_SWD Interface -->
  19666. <Interface name="JTAG_SWD">
  19667. <Configuration number="0x0"> <!-- ROM Die -->
  19668. <RomLess>
  19669. <ReadRegister address="0x1FF0F442" mask="0x40" value="0x00"/>
  19670. </RomLess>
  19671. </Configuration>
  19672. <Configuration number="0x1"> <!-- RomLess Die -->
  19673. <RomLess>
  19674. <ReadRegister address="0x1FF0F442" mask="0x40" value="0x40"/>
  19675. </RomLess>
  19676. </Configuration>
  19677. </Interface>
  19678. <!-- Bootloader Interface -->
  19679. <Interface name="Bootloader">
  19680. <Configuration number="0x0"> <!-- ROM Die -->
  19681. <RomLess>
  19682. <ReadRegister address="0x0x08000000" mask="0x00" value="0x00"/>
  19683. </RomLess>
  19684. </Configuration>
  19685. </Interface>
  19686. </Configurations>
  19687. <!-- Peripherals -->
  19688. <Peripherals>
  19689. <!-- Embedded SRAM -->
  19690. <Peripheral>
  19691. <Name>Embedded SRAM</Name>
  19692. <Type>Storage</Type>
  19693. <Description/>
  19694. <ErasedValue>0x00</ErasedValue>
  19695. <Access>RWE</Access>
  19696. <!-- 320 KB -->
  19697. <Configuration>
  19698. <Parameters name="SRAM" size="0x50000" address="0x20000000"/>
  19699. <Description/>
  19700. <Organization>Single</Organization>
  19701. <Bank name="Bank 1">
  19702. <Field>
  19703. <Parameters name="SRAM1" size="0x50000" address="0x20000000" occurence="0x1"/>
  19704. </Field>
  19705. </Bank>
  19706. </Configuration>
  19707. </Peripheral>
  19708. <!-- Embedded Flash -->
  19709. <Peripheral>
  19710. <Name>Embedded Flash</Name>
  19711. <Type>Storage</Type>
  19712. <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>
  19713. <ErasedValue>0xFF</ErasedValue>
  19714. <Access>RWE</Access>
  19715. <FlashSize address="0x1FF0F442" default="0x100000"/>
  19716. <!-- 1MB single Bank -->
  19717. <Configuration config="0">
  19718. <Parameters name=" 1 Mbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  19719. <Description/>
  19720. <Organization>Single</Organization>
  19721. <Allignement>0x10</Allignement>
  19722. <Bank name="Bank 1">
  19723. <Field>
  19724. <Parameters name="sector0" size="0x8000" address="0x08000000" occurence="0x4"/>
  19725. </Field>
  19726. <Field>
  19727. <Parameters name="sector4" size="0x20000" address="0x08020000" occurence="0x1"/>
  19728. </Field>
  19729. <Field>
  19730. <Parameters name="sector5" size="0x40000" address="0x08040000" occurence="0x3"/>
  19731. </Field>
  19732. </Bank>
  19733. </Configuration>
  19734. <Configuration config="1">
  19735. <Parameters name=" 64 KByte Embedded Flash" size="0x10000" address="0x08000000"/>
  19736. <Description/>
  19737. <Organization>Single</Organization>
  19738. <Allignement>0x10</Allignement>
  19739. <Bank name="Bank 1">
  19740. <Field>
  19741. <Parameters name="sector0" size="0x8000" address="0x08000000" occurence="0x2"/>
  19742. </Field>
  19743. </Bank>
  19744. </Configuration>
  19745. </Peripheral>
  19746. <!-- ITCM Flash-->
  19747. <Peripheral>
  19748. <Name>ITCM Flash</Name>
  19749. <Type>Storage</Type>
  19750. <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>
  19751. <ErasedValue>0xFF</ErasedValue>
  19752. <Access>RWE</Access>
  19753. <!-- 1MB single Bank -->
  19754. <Configuration config="0">
  19755. <Parameters name=" 1 Mbytes Embedded Flash" size="0x100000" address="0x00200000"/>
  19756. <Description/>
  19757. <Organization>Single</Organization>
  19758. <Allignement>0x10</Allignement>
  19759. <Bank name="Bank 1">
  19760. <Field>
  19761. <Parameters name="sector0" size="0x8000" address="0x00200000" occurence="0x4"/>
  19762. </Field>
  19763. <Field>
  19764. <Parameters name="sector4" size="0x20000" address="0x00220000" occurence="0x1"/>
  19765. </Field>
  19766. <Field>
  19767. <Parameters name="sector5" size="0x40000" address="0x00240000" occurence="0x3"/>
  19768. </Field>
  19769. </Bank>
  19770. </Configuration>
  19771. <Configuration config="1">
  19772. <Parameters name=" 64 KByte Embedded Flash" size="0x10000" address="0x00200000"/>
  19773. <Description/>
  19774. <Organization>Single</Organization>
  19775. <Allignement>0x10</Allignement>
  19776. <Bank name="Bank 1">
  19777. <Field>
  19778. <Parameters name="sector0" size="0x8000" address="0x00200000" occurence="0x2"/>
  19779. </Field>
  19780. </Bank>
  19781. </Configuration>
  19782. </Peripheral>
  19783. <!-- OTP -->
  19784. <Peripheral>
  19785. <Name>OTP</Name>
  19786. <Type>Storage</Type>
  19787. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  19788. <ErasedValue>0xFF</ErasedValue>
  19789. <Access>RW</Access>
  19790. <!-- 1 KBytes single bank -->
  19791. <Configuration>
  19792. <Parameters name=" 1 KBytes Data OTP" size="0x200" address="0x1FF0F000"/>
  19793. <Description/>
  19794. <Organization>Single</Organization>
  19795. <Allignement>0x4</Allignement>
  19796. <Bank name="OTP">
  19797. <Field>
  19798. <Parameters name="OTP" size="0x200" address="0x1FF0F000" occurence="0x1"/>
  19799. </Field>
  19800. </Bank>
  19801. </Configuration>
  19802. </Peripheral>
  19803. <!-- Mirror Option Bytes -->
  19804. <Peripheral>
  19805. <Name>MirrorOptionBytes</Name>
  19806. <Type>Storage</Type>
  19807. <Description>Mirror Option Bytes contains the extra area.</Description>
  19808. <ErasedValue>0xFF</ErasedValue>
  19809. <Access>RW</Access>
  19810. <!-- 44 Bytes single bank -->
  19811. <Configuration>
  19812. <Parameters name=" 44 Bytes Data MirrorOptionBytes" size="0x2C" address="0x1FFF0000"/>
  19813. <Description/>
  19814. <Organization>Single</Organization>
  19815. <Allignement>0x4</Allignement>
  19816. <Bank name="MirrorOptionBytes">
  19817. <Field>
  19818. <Parameters name="MirrorOptionBytes" size="0x2C" address="0x1FFF0000" occurence="0x1"/>
  19819. </Field>
  19820. </Bank>
  19821. </Configuration>
  19822. </Peripheral>
  19823. <!-- Option Bytes -->
  19824. <Peripheral>
  19825. <Name>Option Bytes</Name>
  19826. <Type>Configuration</Type>
  19827. <Description/>
  19828. <Access>RW</Access>
  19829. <Bank interface="JTAG_SWD">
  19830. <Parameters name="Bank 1" size="0x8" address="0x40023C14"/>
  19831. <Category>
  19832. <Name>Read Out Protection</Name>
  19833. <Field>
  19834. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  19835. <AssignedBits>
  19836. <Bit>
  19837. <Name>RDP</Name>
  19838. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  19839. <BitOffset>0x8</BitOffset>
  19840. <BitWidth>0x8</BitWidth>
  19841. <Access>RW</Access>
  19842. <Values>
  19843. <Val value="0xAA">Level 0, no protection</Val>
  19844. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  19845. <Val value="0xCC">Level 2, chip protection</Val>
  19846. </Values>
  19847. </Bit>
  19848. </AssignedBits>
  19849. </Field>
  19850. </Category>
  19851. <Category>
  19852. <Name>BOR Level</Name>
  19853. <Field>
  19854. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  19855. <AssignedBits>
  19856. <Bit>
  19857. <Name>BOR_LEV</Name>
  19858. <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>
  19859. <BitOffset>0x2</BitOffset>
  19860. <BitWidth>0x2</BitWidth>
  19861. <Access>RW</Access>
  19862. <Values>
  19863. <Val value="0x0">BOR Level 3 (VBOR3), brownout threshold level 3</Val>
  19864. <Val value="0x1">BOR Level 2 (VBOR2), brownout threshold level 2</Val>
  19865. <Val value="0x2">BOR Level 1 (VBOR1), brownout threshold level 1</Val>
  19866. <Val value="0x3">BOR off, POR/PDR reset threshold level is applied</Val>
  19867. </Values>
  19868. </Bit>
  19869. </AssignedBits>
  19870. </Field>
  19871. </Category>
  19872. <Category>
  19873. <Name>User Configuration</Name>
  19874. <Field>
  19875. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  19876. <AssignedBits>
  19877. <Bit>
  19878. <Name>IWDG_STOP</Name>
  19879. <Description/>
  19880. <BitOffset>0x1F</BitOffset>
  19881. <BitWidth>0x1</BitWidth>
  19882. <Access>RW</Access>
  19883. <Values>
  19884. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  19885. <Val value="0x1">IWDG counter active in stop mode</Val>
  19886. </Values>
  19887. </Bit>
  19888. <Bit>
  19889. <Name>IWDG_STDBY</Name>
  19890. <Description/>
  19891. <BitOffset>0x1E</BitOffset>
  19892. <BitWidth>0x1</BitWidth>
  19893. <Access>RW</Access>
  19894. <Values>
  19895. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  19896. <Val value="0x1">IWDG counter active in standby mode</Val>
  19897. </Values>
  19898. </Bit>
  19899. <Bit>
  19900. <Name>WWDG_SW</Name>
  19901. <Description/>
  19902. <BitOffset>0x4</BitOffset>
  19903. <BitWidth>0x1</BitWidth>
  19904. <Access>RW</Access>
  19905. <Values>
  19906. <Val value="0x0">Hardware window watchdog</Val>
  19907. <Val value="0x1">Software window watchdog</Val>
  19908. </Values>
  19909. </Bit>
  19910. <Bit>
  19911. <Name>IWDG_SW</Name>
  19912. <Description/>
  19913. <BitOffset>0x5</BitOffset>
  19914. <BitWidth>0x1</BitWidth>
  19915. <Access>RW</Access>
  19916. <Values>
  19917. <Val value="0x0">Hardware independant watchdog</Val>
  19918. <Val value="0x1">Software independant watchdog</Val>
  19919. </Values>
  19920. </Bit>
  19921. <Bit>
  19922. <Name>nRST_STOP</Name>
  19923. <Description/>
  19924. <BitOffset>0x6</BitOffset>
  19925. <BitWidth>0x1</BitWidth>
  19926. <Access>RW</Access>
  19927. <Values>
  19928. <Val value="0x0">Reset generated when entering Stop mode</Val>
  19929. <Val value="0x1">No reset generated</Val>
  19930. </Values>
  19931. </Bit>
  19932. <Bit>
  19933. <Name>nRST_STDBY</Name>
  19934. <Description/>
  19935. <BitOffset>0x7</BitOffset>
  19936. <BitWidth>0x1</BitWidth>
  19937. <Access>RW</Access>
  19938. <Values>
  19939. <Val value="0x0">Reset generated when entering Standby mode</Val>
  19940. <Val value="0x1">No reset generated</Val>
  19941. </Values>
  19942. </Bit>
  19943. </AssignedBits>
  19944. </Field>
  19945. </Category>
  19946. <Category>
  19947. <Name>Boot address Option Bytes</Name>
  19948. <Field>
  19949. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x40023C18"/>
  19950. <AssignedBits>
  19951. <Bit>
  19952. <Name>BOOT_ADD0</Name>
  19953. <Description>Define the boot address when BOOT0=0</Description>
  19954. <BitOffset>0x0</BitOffset>
  19955. <BitWidth>0x10</BitWidth>
  19956. <Access>RW</Access>
  19957. <Equation multiplier="0x4000" offset="0x0"/>
  19958. </Bit>
  19959. <Bit>
  19960. <Name>BOOT_ADD1</Name>
  19961. <Description>Define the boot address when BOOT0=1</Description>
  19962. <BitOffset>0x10</BitOffset>
  19963. <BitWidth>0x10</BitWidth>
  19964. <Access>RW</Access>
  19965. <Equation multiplier="0x4000" offset="0x0"/>
  19966. </Bit>
  19967. </AssignedBits>
  19968. </Field>
  19969. </Category>
  19970. <Category>
  19971. <Name>Write Protection</Name>
  19972. <Field>
  19973. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  19974. <AssignedBits>
  19975. <Bit config="0">
  19976. <Name>nWRP0</Name>
  19977. <Description/>
  19978. <BitOffset>0x10</BitOffset>
  19979. <BitWidth>0x8</BitWidth>
  19980. <Access>RW</Access>
  19981. <Values ByBit="true">
  19982. <Val value="0x0">Write protection active on this sector</Val>
  19983. <Val value="0x1">Write protection not active on this sector</Val>
  19984. </Values>
  19985. </Bit>
  19986. <Bit config="1">
  19987. <Name>nWRP0</Name>
  19988. <Description/>
  19989. <BitOffset>0x10</BitOffset>
  19990. <BitWidth>0x2</BitWidth>
  19991. <Access>RW</Access>
  19992. <Values ByBit="true">
  19993. <Val value="0x0">Write protection active on this sector</Val>
  19994. <Val value="0x1">Write protection not active on this sector</Val>
  19995. </Values>
  19996. </Bit>
  19997. </AssignedBits>
  19998. </Field>
  19999. </Category>
  20000. </Bank>
  20001. <Bank interface="Bootloader">
  20002. <Parameters name="Bank 1" size="0x2C" address="0x1FFF0000"/>
  20003. <Category>
  20004. <Name>Read Out Protection</Name>
  20005. <Field>
  20006. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0000"/>
  20007. <AssignedBits>
  20008. <Bit>
  20009. <Name>RDP</Name>
  20010. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  20011. <BitOffset>0x8</BitOffset>
  20012. <BitWidth>0x8</BitWidth>
  20013. <Access>RW</Access>
  20014. <Values>
  20015. <Val value="0xAA">Level 0, no protection</Val>
  20016. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  20017. <Val value="0xCC">Level 2, chip protection</Val>
  20018. </Values>
  20019. </Bit>
  20020. </AssignedBits>
  20021. </Field>
  20022. </Category>
  20023. <Category>
  20024. <Name>BOR Level</Name>
  20025. <Field>
  20026. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0000"/>
  20027. <AssignedBits>
  20028. <Bit>
  20029. <Name>BOR_LEV</Name>
  20030. <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>
  20031. <BitOffset>0x2</BitOffset>
  20032. <BitWidth>0x2</BitWidth>
  20033. <Access>RW</Access>
  20034. <Values>
  20035. <Val value="0x0">BOR Level 3 (VBOR3), brownout threshold level 3</Val>
  20036. <Val value="0x1">BOR Level 2 (VBOR2), brownout threshold level 2</Val>
  20037. <Val value="0x2">BOR Level 1 (VBOR1), brownout threshold level 1</Val>
  20038. <Val value="0x3">BOR off, POR/PDR reset threshold level is applied</Val>
  20039. </Values>
  20040. </Bit>
  20041. </AssignedBits>
  20042. </Field>
  20043. </Category>
  20044. <Category>
  20045. <Name>User Configuration</Name>
  20046. <Field>
  20047. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0008"/>
  20048. <AssignedBits>
  20049. <Bit>
  20050. <Name>IWDG_STOP</Name>
  20051. <Description/>
  20052. <BitOffset>0xF</BitOffset>
  20053. <BitWidth>0x1</BitWidth>
  20054. <Access>RW</Access>
  20055. <Values>
  20056. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  20057. <Val value="0x1">IWDG counter active in stop mode</Val>
  20058. </Values>
  20059. </Bit>
  20060. <Bit>
  20061. <Name>IWDG_STDBY</Name>
  20062. <Description/>
  20063. <BitOffset>0xE</BitOffset>
  20064. <BitWidth>0x1</BitWidth>
  20065. <Access>RW</Access>
  20066. <Values>
  20067. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  20068. <Val value="0x1">IWDG counter active in standby mode</Val>
  20069. </Values>
  20070. </Bit>
  20071. </AssignedBits>
  20072. </Field>
  20073. <Field>
  20074. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0000"/>
  20075. <AssignedBits>
  20076. <Bit>
  20077. <Name>WWDG_SW</Name>
  20078. <Description/>
  20079. <BitOffset>0x4</BitOffset>
  20080. <BitWidth>0x1</BitWidth>
  20081. <Access>RW</Access>
  20082. <Values>
  20083. <Val value="0x0">Hardware window watchdog</Val>
  20084. <Val value="0x1">Software window watchdog</Val>
  20085. </Values>
  20086. </Bit>
  20087. <Bit>
  20088. <Name>IWDG_SW</Name>
  20089. <Description/>
  20090. <BitOffset>0x5</BitOffset>
  20091. <BitWidth>0x1</BitWidth>
  20092. <Access>RW</Access>
  20093. <Values>
  20094. <Val value="0x0">Hardware independant watchdog</Val>
  20095. <Val value="0x1">Software independant watchdog</Val>
  20096. </Values>
  20097. </Bit>
  20098. <Bit>
  20099. <Name>nRST_STOP</Name>
  20100. <Description/>
  20101. <BitOffset>0x6</BitOffset>
  20102. <BitWidth>0x1</BitWidth>
  20103. <Access>RW</Access>
  20104. <Values>
  20105. <Val value="0x0">Reset generated when entering Stop mode</Val>
  20106. <Val value="0x1">No reset generated</Val>
  20107. </Values>
  20108. </Bit>
  20109. <Bit>
  20110. <Name>nRST_STDBY</Name>
  20111. <Description/>
  20112. <BitOffset>0x7</BitOffset>
  20113. <BitWidth>0x1</BitWidth>
  20114. <Access>RW</Access>
  20115. <Values>
  20116. <Val value="0x0">Reset generated when entering Standby mode</Val>
  20117. <Val value="0x1">No reset generated</Val>
  20118. </Values>
  20119. </Bit>
  20120. </AssignedBits>
  20121. </Field>
  20122. </Category>
  20123. <Category>
  20124. <Name>Boot address Option Bytes</Name>
  20125. <Field>
  20126. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x1FFF0010"/>
  20127. <AssignedBits>
  20128. <Bit>
  20129. <Name>BOOT_ADD0</Name>
  20130. <Description>Define the boot address when BOOT0=0</Description>
  20131. <BitOffset>0x0</BitOffset>
  20132. <BitWidth>0x10</BitWidth>
  20133. <Access>RW</Access>
  20134. <Equation multiplier="0x4000" offset="0x0"/>
  20135. </Bit>
  20136. </AssignedBits>
  20137. </Field>
  20138. <Field>
  20139. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x1FFF0018"/>
  20140. <AssignedBits>
  20141. <Bit>
  20142. <Name>BOOT_ADD1</Name>
  20143. <Description>Define the boot address when BOOT0=1</Description>
  20144. <BitOffset>0x0</BitOffset>
  20145. <BitWidth>0x10</BitWidth>
  20146. <Access>RW</Access>
  20147. <Equation multiplier="0x4000" offset="0x0"/>
  20148. </Bit>
  20149. </AssignedBits>
  20150. </Field>
  20151. </Category>
  20152. <Category>
  20153. <Name>Write Protection</Name>
  20154. <Field>
  20155. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x1FFF0008"/>
  20156. <AssignedBits>
  20157. <Bit>
  20158. <Name>nWRP0</Name>
  20159. <Description/>
  20160. <BitOffset>0x0</BitOffset>
  20161. <BitWidth>0x8</BitWidth>
  20162. <Access>RW</Access>
  20163. <Values ByBit="true">
  20164. <Val value="0x0">Write protection active on this sector</Val>
  20165. <Val value="0x1">Write protection not active on this sector</Val>
  20166. </Values>
  20167. </Bit>
  20168. </AssignedBits>
  20169. </Field>
  20170. </Category>
  20171. </Bank>
  20172. </Peripheral>
  20173. </Peripherals>
  20174. </Device>
  20175. <!-- Device: 0x440 -->
  20176. <Device>
  20177. <DeviceID>0x440</DeviceID>
  20178. <Vendor>STMicroelectronics</Vendor>
  20179. <Type>MCU</Type>
  20180. <CPU>Cortex-M0</CPU>
  20181. <Name>STM32F05x/F030x8</Name>
  20182. <Series>STM32F0</Series>
  20183. <Description>ARM 32-bit Cortex-M0 based device</Description>
  20184. <Configurations>
  20185. <!-- JTAG_SWD Interface -->
  20186. <Interface name="JTAG_SWD"/>
  20187. <!-- Bootloader Interface -->
  20188. <Interface name="Bootloader"/>
  20189. </Configurations>
  20190. <!-- Peripherals -->
  20191. <Peripherals>
  20192. <!-- Embedded SRAM -->
  20193. <Peripheral>
  20194. <Name>Embedded SRAM</Name>
  20195. <Type>Storage</Type>
  20196. <Description/>
  20197. <ErasedValue>0x00</ErasedValue>
  20198. <Access>RWE</Access>
  20199. <!-- 8 KB -->
  20200. <Configuration>
  20201. <Parameters name="SRAM" size="0x1FF8" address="0x20000000"/>
  20202. <Description/>
  20203. <Organization>Single</Organization>
  20204. <Bank name="Bank 1">
  20205. <Field>
  20206. <Parameters name="SRAM" size="0x1FF8" address="0x20000000" occurence="0x1"/>
  20207. </Field>
  20208. </Bank>
  20209. </Configuration>
  20210. </Peripheral>
  20211. <!-- Embedded Flash -->
  20212. <Peripheral>
  20213. <Name>Embedded Flash</Name>
  20214. <Type>Storage</Type>
  20215. <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>
  20216. <ErasedValue>0xFF</ErasedValue>
  20217. <Access>RWE</Access>
  20218. <FlashSize address="0x1FFFF7CC" default="0x10000"/>
  20219. <!-- 64KB single Bank -->
  20220. <Configuration>
  20221. <Parameters name=" 64 Kbytes Embedded Flash" size="0x10000" address="0x08000000"/>
  20222. <Description/>
  20223. <Organization>Single</Organization>
  20224. <Allignement>0x4</Allignement>
  20225. <Bank name="Bank 1">
  20226. <Field>
  20227. <Parameters name="sector0" size="0x400" address="0x08000000" occurence="0x40"/>
  20228. </Field>
  20229. </Bank>
  20230. </Configuration>
  20231. </Peripheral>
  20232. <!-- Option Bytes -->
  20233. <Peripheral>
  20234. <Name>Option Bytes</Name>
  20235. <Type>Configuration</Type>
  20236. <Description/>
  20237. <Access>RW</Access>
  20238. <Bank>
  20239. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  20240. <Category>
  20241. <Name>Read Out Protection</Name>
  20242. <Field>
  20243. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  20244. <AssignedBits>
  20245. <Bit>
  20246. <Name>RDP</Name>
  20247. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  20248. <BitOffset>0x0</BitOffset>
  20249. <BitWidth>0x8</BitWidth>
  20250. <Access>RW</Access>
  20251. <Values>
  20252. <Val value="0xAA">Level 0, no protection</Val>
  20253. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  20254. <Val value="0xCC">Level 2, chip protection</Val>
  20255. </Values>
  20256. </Bit>
  20257. </AssignedBits>
  20258. </Field>
  20259. </Category>
  20260. <Category>
  20261. <Name>User Configuration</Name>
  20262. <Field>
  20263. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  20264. <AssignedBits>
  20265. <Bit>
  20266. <Name>WDG_SW</Name>
  20267. <Description/>
  20268. <BitOffset>0x10</BitOffset>
  20269. <BitWidth>0x1</BitWidth>
  20270. <Access>RW</Access>
  20271. <Values>
  20272. <Val value="0x0">Hardware watchdog</Val>
  20273. <Val value="0x1">Software watchdog</Val>
  20274. </Values>
  20275. </Bit>
  20276. <Bit>
  20277. <Name>nRST_STOP</Name>
  20278. <Description/>
  20279. <BitOffset>0x11</BitOffset>
  20280. <BitWidth>0x1</BitWidth>
  20281. <Access>RW</Access>
  20282. <Values>
  20283. <Val value="0x0">Reset generated when entering Stop mode</Val>
  20284. <Val value="0x1">No reset generated</Val>
  20285. </Values>
  20286. </Bit>
  20287. <Bit>
  20288. <Name>nRST_STDBY</Name>
  20289. <Description/>
  20290. <BitOffset>0x12</BitOffset>
  20291. <BitWidth>0x1</BitWidth>
  20292. <Access>RW</Access>
  20293. <Values>
  20294. <Val value="0x0">Reset generated when entering Standby mode</Val>
  20295. <Val value="0x1">No reset generated</Val>
  20296. </Values>
  20297. </Bit>
  20298. <Bit>
  20299. <Name>nBOOT1</Name>
  20300. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from main flash memory. </Description>
  20301. <BitOffset>0x14</BitOffset>
  20302. <BitWidth>0x1</BitWidth>
  20303. <Access>RW</Access>
  20304. <Values>
  20305. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  20306. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  20307. </Values>
  20308. </Bit>
  20309. <Bit>
  20310. <Name>VDDA_MONITOR</Name>
  20311. <Description/>
  20312. <BitOffset>0x15</BitOffset>
  20313. <BitWidth>0x1</BitWidth>
  20314. <Access>RW</Access>
  20315. <Values>
  20316. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  20317. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  20318. </Values>
  20319. </Bit>
  20320. <Bit>
  20321. <Name>RAM_PARITY</Name>
  20322. <Description/>
  20323. <BitOffset>0x16</BitOffset>
  20324. <BitWidth>0x1</BitWidth>
  20325. <Access>RW</Access>
  20326. <Values>
  20327. <Val value="0x0">RAM parity check enabled</Val>
  20328. <Val value="0x1">RAM parity check disabled</Val>
  20329. </Values>
  20330. </Bit>
  20331. </AssignedBits>
  20332. </Field>
  20333. </Category>
  20334. <Category>
  20335. <Name>User Data</Name>
  20336. <Field>
  20337. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  20338. <AssignedBits>
  20339. <Bit>
  20340. <Name>Data0</Name>
  20341. <Description>User data 0 (8-bit)</Description>
  20342. <BitOffset>0x0</BitOffset>
  20343. <BitWidth>0x8</BitWidth>
  20344. <Access>RW</Access>
  20345. </Bit>
  20346. <Bit>
  20347. <Name>Data1</Name>
  20348. <Description>User data 1 (8-bit)</Description>
  20349. <BitOffset>0x10</BitOffset>
  20350. <BitWidth>0x8</BitWidth>
  20351. <Access>RW</Access>
  20352. </Bit>
  20353. </AssignedBits>
  20354. </Field>
  20355. </Category>
  20356. <Category>
  20357. <Name>Write Protection</Name>
  20358. <Field>
  20359. <Parameters name="WRP" size="0x4" address="0x1FFFF808"/>
  20360. <AssignedBits>
  20361. <Bit>
  20362. <Name>nWRP0</Name>
  20363. <Description/>
  20364. <BitOffset>0x0</BitOffset>
  20365. <BitWidth>0x8</BitWidth>
  20366. <Access>RW</Access>
  20367. <Values ByBit="true">
  20368. <Val value="0x0">Write protection active on this sector</Val>
  20369. <Val value="0x1">Write protection not active on this sector</Val>
  20370. </Values>
  20371. </Bit>
  20372. <Bit>
  20373. <Name>nWRP8</Name>
  20374. <Description/>
  20375. <BitOffset>0x10</BitOffset>
  20376. <BitWidth>0x8</BitWidth>
  20377. <Access>RW</Access>
  20378. <Values ByBit="true">
  20379. <Val value="0x0">Write protection active on this sector</Val>
  20380. <Val value="0x1">Write protection not active on this sector</Val>
  20381. </Values>
  20382. </Bit>
  20383. </AssignedBits>
  20384. </Field>
  20385. </Category>
  20386. </Bank>
  20387. </Peripheral>
  20388. </Peripherals>
  20389. </Device>
  20390. <!-- Device: 0x448 -->
  20391. <Device>
  20392. <DeviceID>0x448</DeviceID>
  20393. <Vendor>STMicroelectronics</Vendor>
  20394. <Type>MCU</Type>
  20395. <CPU>Cortex-M0</CPU>
  20396. <Name>STM32F07x</Name>
  20397. <Series>STM32F0</Series>
  20398. <Description>ARM 32-bit Cortex-M0 based device</Description>
  20399. <Configurations>
  20400. <!-- JTAG_SWD Interface -->
  20401. <Interface name="JTAG_SWD"/>
  20402. <!-- Bootloader Interface -->
  20403. <Interface name="Bootloader"/>
  20404. </Configurations>
  20405. <!-- Peripherals -->
  20406. <Peripherals>
  20407. <!-- Embedded SRAM -->
  20408. <Peripheral>
  20409. <Name>Embedded SRAM</Name>
  20410. <Type>Storage</Type>
  20411. <Description/>
  20412. <ErasedValue>0x00</ErasedValue>
  20413. <Access>RWE</Access>
  20414. <!-- 16 KB -->
  20415. <Configuration>
  20416. <Parameters name="SRAM" size="0x4000" address="0x20000000"/>
  20417. <Description/>
  20418. <Organization>Single</Organization>
  20419. <Bank name="Bank 1">
  20420. <Field>
  20421. <Parameters name="SRAM" size="0x4000" address="0x20000000" occurence="0x1"/>
  20422. </Field>
  20423. </Bank>
  20424. </Configuration>
  20425. </Peripheral>
  20426. <!-- Embedded Flash -->
  20427. <Peripheral>
  20428. <Name>Embedded Flash</Name>
  20429. <Type>Storage</Type>
  20430. <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>
  20431. <ErasedValue>0xFF</ErasedValue>
  20432. <Access>RWE</Access>
  20433. <FlashSize address="0x1FFFF7CC" default="0x20000"/>
  20434. <!-- 128KB single Bank -->
  20435. <Configuration>
  20436. <Parameters name=" 128 Kbytes Embedded Flash" size="0x20000" address="0x08000000"/>
  20437. <Description/>
  20438. <Organization>Single</Organization>
  20439. <Allignement>0x4</Allignement>
  20440. <Bank name="Bank 1">
  20441. <Field>
  20442. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x40"/>
  20443. </Field>
  20444. </Bank>
  20445. </Configuration>
  20446. </Peripheral>
  20447. <!-- Option Bytes -->
  20448. <Peripheral>
  20449. <Name>Option Bytes</Name>
  20450. <Type>Configuration</Type>
  20451. <Description/>
  20452. <Access>RW</Access>
  20453. <Bank>
  20454. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  20455. <Category>
  20456. <Name>Read Out Protection</Name>
  20457. <Field>
  20458. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  20459. <AssignedBits>
  20460. <Bit>
  20461. <Name>RDP</Name>
  20462. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  20463. <BitOffset>0x0</BitOffset>
  20464. <BitWidth>0x8</BitWidth>
  20465. <Access>RW</Access>
  20466. <Values>
  20467. <Val value="0xAA">Level 0, no protection</Val>
  20468. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  20469. <Val value="0xCC">Level 2, chip protection</Val>
  20470. </Values>
  20471. </Bit>
  20472. </AssignedBits>
  20473. </Field>
  20474. </Category>
  20475. <Category>
  20476. <Name>User Configuration</Name>
  20477. <Field>
  20478. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  20479. <AssignedBits>
  20480. <Bit>
  20481. <Name>WDG_SW</Name>
  20482. <Description/>
  20483. <BitOffset>0x10</BitOffset>
  20484. <BitWidth>0x1</BitWidth>
  20485. <Access>RW</Access>
  20486. <Values>
  20487. <Val value="0x0">Hardware watchdog</Val>
  20488. <Val value="0x1">Software watchdog</Val>
  20489. </Values>
  20490. </Bit>
  20491. <Bit>
  20492. <Name>nRST_STOP</Name>
  20493. <Description/>
  20494. <BitOffset>0x11</BitOffset>
  20495. <BitWidth>0x1</BitWidth>
  20496. <Access>RW</Access>
  20497. <Values>
  20498. <Val value="0x0">Reset generated when entering Stop mode</Val>
  20499. <Val value="0x1">No reset generated</Val>
  20500. </Values>
  20501. </Bit>
  20502. <Bit>
  20503. <Name>nRST_STDBY</Name>
  20504. <Description/>
  20505. <BitOffset>0x12</BitOffset>
  20506. <BitWidth>0x1</BitWidth>
  20507. <Access>RW</Access>
  20508. <Values>
  20509. <Val value="0x0">Reset generated when entering Standby mode</Val>
  20510. <Val value="0x1">No reset generated</Val>
  20511. </Values>
  20512. </Bit>
  20513. <Bit>
  20514. <Name>nBOOT1</Name>
  20515. <Description>Together with the input pad BOOT0, selects the Boot mode. If BOOT0=0, always boot from main flash memory regardless of nBoot1 value. </Description>
  20516. <BitOffset>0x14</BitOffset>
  20517. <BitWidth>0x1</BitWidth>
  20518. <Access>RW</Access>
  20519. <Values>
  20520. <Val value="0x0">Boot from embedded SRAM when BOOT0=1</Val>
  20521. <Val value="0x1">Boot from system flash when BOOT0=1</Val>
  20522. </Values>
  20523. </Bit>
  20524. <Bit>
  20525. <Name>VDDA_MONITOR</Name>
  20526. <Description/>
  20527. <BitOffset>0x15</BitOffset>
  20528. <BitWidth>0x1</BitWidth>
  20529. <Access>RW</Access>
  20530. <Values>
  20531. <Val value="0x0">VDDA power supply supervisor disabled</Val>
  20532. <Val value="0x1">VDDA power supply supervisor enabled</Val>
  20533. </Values>
  20534. </Bit>
  20535. <Bit>
  20536. <Name>RAM_PARITY</Name>
  20537. <Description/>
  20538. <BitOffset>0x16</BitOffset>
  20539. <BitWidth>0x1</BitWidth>
  20540. <Access>RW</Access>
  20541. <Values>
  20542. <Val value="0x0">RAM parity check enabled</Val>
  20543. <Val value="0x1">RAM parity check disabled</Val>
  20544. </Values>
  20545. </Bit>
  20546. </AssignedBits>
  20547. </Field>
  20548. </Category>
  20549. <Category>
  20550. <Name>User Data</Name>
  20551. <Field>
  20552. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  20553. <AssignedBits>
  20554. <Bit>
  20555. <Name>Data0</Name>
  20556. <Description>User data 0 (8-bit)</Description>
  20557. <BitOffset>0x0</BitOffset>
  20558. <BitWidth>0x8</BitWidth>
  20559. <Access>RW</Access>
  20560. </Bit>
  20561. <Bit>
  20562. <Name>Data1</Name>
  20563. <Description>User data 1 (8-bit)</Description>
  20564. <BitOffset>0x10</BitOffset>
  20565. <BitWidth>0x8</BitWidth>
  20566. <Access>RW</Access>
  20567. </Bit>
  20568. </AssignedBits>
  20569. </Field>
  20570. </Category>
  20571. <Category>
  20572. <Name>Write Protection</Name>
  20573. <Field>
  20574. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  20575. <AssignedBits>
  20576. <Bit>
  20577. <Name>nWRP0</Name>
  20578. <Description/>
  20579. <BitOffset>0x0</BitOffset>
  20580. <BitWidth>0x8</BitWidth>
  20581. <Access>RW</Access>
  20582. <Values ByBit="true">
  20583. <Val value="0x0">Write protection active on this sector</Val>
  20584. <Val value="0x1">Write protection not active on this sector</Val>
  20585. </Values>
  20586. </Bit>
  20587. <Bit>
  20588. <Name>nWRP8</Name>
  20589. <Description/>
  20590. <BitOffset>0x10</BitOffset>
  20591. <BitWidth>0x8</BitWidth>
  20592. <Access>RW</Access>
  20593. <Values ByBit="true">
  20594. <Val value="0x0">Write protection active on this sector</Val>
  20595. <Val value="0x1">Write protection not active on this sector</Val>
  20596. </Values>
  20597. </Bit>
  20598. </AssignedBits>
  20599. </Field>
  20600. <Field>
  20601. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  20602. <AssignedBits>
  20603. <Bit>
  20604. <Name>nWRP16</Name>
  20605. <Description/>
  20606. <BitOffset>0x0</BitOffset>
  20607. <BitWidth>0x8</BitWidth>
  20608. <Access>RW</Access>
  20609. <Values ByBit="true">
  20610. <Val value="0x0">Write protection active on this sector</Val>
  20611. <Val value="0x1">Write protection not active on this sector</Val>
  20612. </Values>
  20613. </Bit>
  20614. <Bit>
  20615. <Name>nWRP24</Name>
  20616. <Description/>
  20617. <BitOffset>0x10</BitOffset>
  20618. <BitWidth>0x8</BitWidth>
  20619. <Access>RW</Access>
  20620. <Values ByBit="true">
  20621. <Val value="0x0">Write protection active on this sector</Val>
  20622. <Val value="0x1">Write protection not active on this sector</Val>
  20623. </Values>
  20624. </Bit>
  20625. </AssignedBits>
  20626. </Field>
  20627. </Category>
  20628. </Bank>
  20629. </Peripheral>
  20630. </Peripherals>
  20631. </Device>
  20632. <!-- Device: 0x452 -->
  20633. <Device>
  20634. <DeviceID>0x452</DeviceID>
  20635. <Vendor>STMicroelectronics</Vendor>
  20636. <Type>MCU</Type>
  20637. <CPU>Cortex-M7</CPU>
  20638. <Name>STM32F72x/STM32F73x</Name>
  20639. <Series>STM32F7</Series>
  20640. <Description>ARM 32-bit Cortex-M7 based device</Description>
  20641. <Configurations>
  20642. <!-- JTAG_SWD Interface -->
  20643. <Interface name="JTAG_SWD">
  20644. <Configuration number="0x0"> <!-- ROM Die -->
  20645. <RomLess>
  20646. <ReadRegister address="0x1FF07A22" mask="0x40" value="0x00"/>
  20647. </RomLess>
  20648. </Configuration>
  20649. <Configuration number="0x1"> <!-- RomLess Die -->
  20650. <RomLess>
  20651. <ReadRegister address="0x1FF07A22" mask="0x40" value="0x40"/>
  20652. </RomLess>
  20653. </Configuration>
  20654. </Interface>
  20655. <!-- Bootloader Interface -->
  20656. <Interface name="Bootloader">
  20657. <Configuration number="0x0"> <!-- ROM Die -->
  20658. <RomLess>
  20659. <ReadRegister address="0x0x08000000" mask="0x00" value="0x00"/>
  20660. </RomLess>
  20661. </Configuration>
  20662. </Interface>
  20663. </Configurations>
  20664. <!-- Peripherals -->
  20665. <Peripherals>
  20666. <!-- Embedded SRAM -->
  20667. <Peripheral>
  20668. <Name>Embedded SRAM</Name>
  20669. <Type>Storage</Type>
  20670. <Description/>
  20671. <ErasedValue>0x00</ErasedValue>
  20672. <Access>RWE</Access>
  20673. <!-- 512 KB -->
  20674. <Configuration>
  20675. <Parameters name="SRAM" size="0x40000" address="0x20000000"/>
  20676. <Description/>
  20677. <Organization>Single</Organization>
  20678. <Bank name="Bank 1">
  20679. <Field>
  20680. <Parameters name="SRAM" size="0x40000" address="0x20000000" occurence="0x1"/>
  20681. </Field>
  20682. </Bank>
  20683. </Configuration>
  20684. </Peripheral>
  20685. <!-- Embedded Flash -->
  20686. <Peripheral>
  20687. <Name>Embedded Flash</Name>
  20688. <Type>Storage</Type>
  20689. <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>
  20690. <ErasedValue>0xFF</ErasedValue>
  20691. <Access>RWE</Access>
  20692. <FlashSize address="0x1FF07A22" default="0x80000"/>
  20693. <!-- 512KB single Bank -->
  20694. <Configuration config="0">
  20695. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  20696. <Description/>
  20697. <Organization>Single</Organization>
  20698. <Allignement>0x10</Allignement>
  20699. <Bank name="Bank 1">
  20700. <Field>
  20701. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  20702. </Field>
  20703. <Field>
  20704. <Parameters name="sector4" size="0x10000" address="0x08010000" occurence="0x1"/>
  20705. </Field>
  20706. <Field>
  20707. <Parameters name="sector5" size="0x20000" address="0x08020000" occurence="0x3"/>
  20708. </Field>
  20709. </Bank>
  20710. </Configuration>
  20711. <!-- 64KB RomLess -->
  20712. <Configuration config="1">
  20713. <Parameters name=" 64 Kbytes Embedded Flash" size="0x10000" address="0x08000000"/>
  20714. <Description/>
  20715. <Organization>Single</Organization>
  20716. <Allignement>0x10</Allignement>
  20717. <Bank name="Bank 1">
  20718. <Field>
  20719. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x4"/>
  20720. </Field>
  20721. </Bank>
  20722. </Configuration>
  20723. </Peripheral>
  20724. <!-- ITCM Bytes -->
  20725. <Peripheral>
  20726. <Name>ITCM Flash</Name>
  20727. <Type>Storage</Type>
  20728. <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>
  20729. <ErasedValue>0xFF</ErasedValue>
  20730. <Access>RWE</Access>
  20731. <!-- 512KB single Bank -->
  20732. <Configuration config="0">
  20733. <Parameters name=" 512 Kbytes ITCM Flash" size="0x80000" address="0x00200000"/>
  20734. <Description/>
  20735. <Organization>Single</Organization>
  20736. <Allignement>0x10</Allignement>
  20737. <Bank name="Bank 1">
  20738. <Field>
  20739. <Parameters name="sector0" size="0x4000" address="0x00200000" occurence="0x4"/>
  20740. </Field>
  20741. <Field>
  20742. <Parameters name="sector4" size="0x10000" address="0x00210000" occurence="0x1"/>
  20743. </Field>
  20744. <Field>
  20745. <Parameters name="sector5" size="0x20000" address="0x00220000" occurence="0x3"/>
  20746. </Field>
  20747. </Bank>
  20748. </Configuration>
  20749. <!-- 64KB RomLess -->
  20750. <Configuration config="1">
  20751. <Parameters name=" 64 Kbytes ITCM Flash" size="0x10000" address="0x00200000"/>
  20752. <Description/>
  20753. <Organization>Single</Organization>
  20754. <Allignement>0x10</Allignement>
  20755. <Bank name="Bank 1">
  20756. <Field>
  20757. <Parameters name="sector0" size="0x4000" address="0x00200000" occurence="0x4"/>
  20758. </Field>
  20759. </Bank>
  20760. </Configuration>
  20761. </Peripheral>
  20762. <!-- OTP -->
  20763. <Peripheral>
  20764. <Name>OTP</Name>
  20765. <Type>Storage</Type>
  20766. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  20767. <ErasedValue>0xFF</ErasedValue>
  20768. <Access>RW</Access>
  20769. <!-- 512 Bytes single bank -->
  20770. <Configuration>
  20771. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x1FF07800"/>
  20772. <Description/>
  20773. <Organization>Single</Organization>
  20774. <Allignement>0x4</Allignement>
  20775. <Bank name="OTP">
  20776. <Field>
  20777. <Parameters name="OTP" size="0x200" address="0x1FF07800" occurence="0x1"/>
  20778. </Field>
  20779. </Bank>
  20780. </Configuration>
  20781. </Peripheral>
  20782. <!-- Mirror Option Bytes -->
  20783. <Peripheral>
  20784. <Name>MirrorOptionBytes</Name>
  20785. <Type>Storage</Type>
  20786. <Description>Mirror Option Bytes contains the extra area.</Description>
  20787. <ErasedValue>0xFF</ErasedValue>
  20788. <Access>RW</Access>
  20789. <!-- 44 Bytes single bank -->
  20790. <Configuration>
  20791. <Parameters name=" 44 Bytes Data MirrorOptionBytes" size="0x2C" address="0x1FFF0000"/>
  20792. <Description/>
  20793. <Organization>Single</Organization>
  20794. <Allignement>0x4</Allignement>
  20795. <Bank name="MirrorOptionBytes">
  20796. <Field>
  20797. <Parameters name="MirrorOptionBytes" size="0x2C" address="0x1FFF0000" occurence="0x1"/>
  20798. </Field>
  20799. </Bank>
  20800. </Configuration>
  20801. </Peripheral>
  20802. <!-- Option Bytes -->
  20803. <Peripheral>
  20804. <Name>Option Bytes</Name>
  20805. <Type>Configuration</Type>
  20806. <Description/>
  20807. <Access>RW</Access>
  20808. <Bank interface="JTAG_SWD">
  20809. <Parameters name="Bank 1" size="0xC" address="0x40023C14"/>
  20810. <Category>
  20811. <Name>Read Out Protection</Name>
  20812. <Field>
  20813. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  20814. <AssignedBits>
  20815. <Bit>
  20816. <Name>RDP</Name>
  20817. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  20818. <BitOffset>0x8</BitOffset>
  20819. <BitWidth>0x8</BitWidth>
  20820. <Access>RW</Access>
  20821. <Values>
  20822. <Val value="0xAA">Level 0, no protection</Val>
  20823. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  20824. <Val value="0xCC">Level 2, chip protection</Val>
  20825. </Values>
  20826. </Bit>
  20827. </AssignedBits>
  20828. </Field>
  20829. </Category>
  20830. <Category>
  20831. <Name>BOR Level</Name>
  20832. <Field>
  20833. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  20834. <AssignedBits>
  20835. <Bit>
  20836. <Name>BOR_LEV</Name>
  20837. <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>
  20838. <BitOffset>0x2</BitOffset>
  20839. <BitWidth>0x2</BitWidth>
  20840. <Access>RW</Access>
  20841. <Values>
  20842. <Val value="0x0">BOR Level 3 (VBOR3), brownout threshold level 3</Val>
  20843. <Val value="0x1">BOR Level 2 (VBOR2), brownout threshold level 2</Val>
  20844. <Val value="0x2">BOR Level 1 (VBOR1), brownout threshold level 1</Val>
  20845. <Val value="0x3">BOR off, POR/PDR reset threshold level is applied</Val>
  20846. </Values>
  20847. </Bit>
  20848. </AssignedBits>
  20849. </Field>
  20850. </Category>
  20851. <Category>
  20852. <Name>User Configuration</Name>
  20853. <Field>
  20854. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  20855. <AssignedBits>
  20856. <Bit>
  20857. <Name>IWDG_STOP</Name>
  20858. <Description/>
  20859. <BitOffset>0x1F</BitOffset>
  20860. <BitWidth>0x1</BitWidth>
  20861. <Access>RW</Access>
  20862. <Values>
  20863. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  20864. <Val value="0x1">IWDG counter active in stop mode</Val>
  20865. </Values>
  20866. </Bit>
  20867. <Bit>
  20868. <Name>IWDG_STDBY</Name>
  20869. <Description/>
  20870. <BitOffset>0x1E</BitOffset>
  20871. <BitWidth>0x1</BitWidth>
  20872. <Access>RW</Access>
  20873. <Values>
  20874. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  20875. <Val value="0x1">IWDG counter active in standby mode</Val>
  20876. </Values>
  20877. </Bit>
  20878. <Bit>
  20879. <Name>WWDG_SW</Name>
  20880. <Description/>
  20881. <BitOffset>0x4</BitOffset>
  20882. <BitWidth>0x1</BitWidth>
  20883. <Access>RW</Access>
  20884. <Values>
  20885. <Val value="0x0">Hardware window watchdog</Val>
  20886. <Val value="0x1">Software window watchdog</Val>
  20887. </Values>
  20888. </Bit>
  20889. <Bit>
  20890. <Name>IWDG_SW</Name>
  20891. <Description/>
  20892. <BitOffset>0x5</BitOffset>
  20893. <BitWidth>0x1</BitWidth>
  20894. <Access>RW</Access>
  20895. <Values>
  20896. <Val value="0x0">Hardware independant watchdog</Val>
  20897. <Val value="0x1">Software independant watchdog</Val>
  20898. </Values>
  20899. </Bit>
  20900. <Bit>
  20901. <Name>nRST_STOP</Name>
  20902. <Description/>
  20903. <BitOffset>0x6</BitOffset>
  20904. <BitWidth>0x1</BitWidth>
  20905. <Access>RW</Access>
  20906. <Values>
  20907. <Val value="0x0">Reset generated when entering Stop mode</Val>
  20908. <Val value="0x1">No reset generated</Val>
  20909. </Values>
  20910. </Bit>
  20911. <Bit>
  20912. <Name>nRST_STDBY</Name>
  20913. <Description/>
  20914. <BitOffset>0x7</BitOffset>
  20915. <BitWidth>0x1</BitWidth>
  20916. <Access>RW</Access>
  20917. <Values>
  20918. <Val value="0x0">Reset generated when entering Standby mode</Val>
  20919. <Val value="0x1">No reset generated</Val>
  20920. </Values>
  20921. </Bit>
  20922. </AssignedBits>
  20923. </Field>
  20924. <Field>
  20925. <Parameters name="FLASH_OPTCR2" size="0x4" address="0x40023C1C"/>
  20926. <AssignedBits>
  20927. <Bit>
  20928. <Name>PCROP_RDP</Name>
  20929. <Description/>
  20930. <BitOffset>0x1F</BitOffset>
  20931. <BitWidth>0x1</BitWidth>
  20932. <Access>RW</Access>
  20933. <Values>
  20934. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  20935. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  20936. </Values>
  20937. </Bit>
  20938. </AssignedBits>
  20939. </Field>
  20940. </Category>
  20941. <Category>
  20942. <Name>Boot address Option Bytes</Name>
  20943. <Field>
  20944. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x40023C18"/>
  20945. <AssignedBits>
  20946. <Bit>
  20947. <Name>BOOT_ADD0</Name>
  20948. <Description>Define the boot address when BOOT0=0</Description>
  20949. <BitOffset>0x0</BitOffset>
  20950. <BitWidth>0x10</BitWidth>
  20951. <Access>RW</Access>
  20952. <Equation multiplier="0x4000" offset="0x0"/>
  20953. </Bit>
  20954. <Bit>
  20955. <Name>BOOT_ADD1</Name>
  20956. <Description>Define the boot address when BOOT0=1</Description>
  20957. <BitOffset>0x10</BitOffset>
  20958. <BitWidth>0x10</BitWidth>
  20959. <Access>RW</Access>
  20960. <Equation multiplier="0x4000" offset="0x0"/>
  20961. </Bit>
  20962. </AssignedBits>
  20963. </Field>
  20964. </Category>
  20965. <Category>
  20966. <Name>Write Protection</Name>
  20967. <Field>
  20968. <Parameters name="FLASH_OPTCR" size="0x4" address="0x40023C14"/>
  20969. <AssignedBits>
  20970. <Bit config="0">
  20971. <Name>nWRP0</Name>
  20972. <Description/>
  20973. <BitOffset>0x10</BitOffset>
  20974. <BitWidth>0x8</BitWidth>
  20975. <Access>RW</Access>
  20976. <Values ByBit="true">
  20977. <Val value="0x0">Write protection active on this sector</Val>
  20978. <Val value="0x1">Write protection not active on this sector</Val>
  20979. </Values>
  20980. </Bit>
  20981. <Bit config="1">
  20982. <Name>nWRP0</Name>
  20983. <Description/>
  20984. <BitOffset>0x10</BitOffset>
  20985. <BitWidth>0x4</BitWidth>
  20986. <Access>RW</Access>
  20987. <Values ByBit="true">
  20988. <Val value="0x0">Write protection active on this sector</Val>
  20989. <Val value="0x1">Write protection not active on this sector</Val>
  20990. </Values>
  20991. </Bit>
  20992. </AssignedBits>
  20993. </Field>
  20994. </Category>
  20995. <Category>
  20996. <Name>Read/Write Protection</Name>
  20997. <Field>
  20998. <Parameters name="FLASH_OPTCR2" size="0x4" address="0x40023C1C"/>
  20999. <AssignedBits>
  21000. <Bit config="0">
  21001. <Name>PCROP0</Name>
  21002. <Description/>
  21003. <BitOffset>0x0</BitOffset>
  21004. <BitWidth>0x8</BitWidth>
  21005. <Access>RW</Access>
  21006. <Values ByBit="true">
  21007. <Val value="0x0">PCROP protection not active on this sector</Val>
  21008. <Val value="0x1">PCROP protection active on this sector</Val>
  21009. </Values>
  21010. </Bit>
  21011. <Bit config="1">
  21012. <Name>PCROP0</Name>
  21013. <Description/>
  21014. <BitOffset>0x0</BitOffset>
  21015. <BitWidth>0x4</BitWidth>
  21016. <Access>RW</Access>
  21017. <Values ByBit="true">
  21018. <Val value="0x0">PCROP protection not active on this sector</Val>
  21019. <Val value="0x1">PCROP protection active on this sector</Val>
  21020. </Values>
  21021. </Bit>
  21022. </AssignedBits>
  21023. </Field>
  21024. </Category>
  21025. </Bank>
  21026. <Bank interface="Bootloader">
  21027. <Parameters name="Bank 1" size="0x2C" address="0x1FFF0000"/>
  21028. <Category>
  21029. <Name>Read Out Protection</Name>
  21030. <Field>
  21031. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0000"/>
  21032. <AssignedBits>
  21033. <Bit>
  21034. <Name>RDP</Name>
  21035. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  21036. <BitOffset>0x8</BitOffset>
  21037. <BitWidth>0x8</BitWidth>
  21038. <Access>RW</Access>
  21039. <Values>
  21040. <Val value="0xAA">Level 0, no protection</Val>
  21041. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  21042. <Val value="0xCC">Level 2, chip protection</Val>
  21043. </Values>
  21044. </Bit>
  21045. </AssignedBits>
  21046. </Field>
  21047. </Category>
  21048. <Category>
  21049. <Name>BOR Level</Name>
  21050. <Field>
  21051. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0000"/>
  21052. <AssignedBits>
  21053. <Bit>
  21054. <Name>BOR_LEV</Name>
  21055. <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>
  21056. <BitOffset>0x2</BitOffset>
  21057. <BitWidth>0x2</BitWidth>
  21058. <Access>RW</Access>
  21059. <Values>
  21060. <Val value="0x0">BOR Level 3 (VBOR3), brownout threshold level 3</Val>
  21061. <Val value="0x1">BOR Level 2 (VBOR2), brownout threshold level 2</Val>
  21062. <Val value="0x2">BOR Level 1 (VBOR1), brownout threshold level 1</Val>
  21063. <Val value="0x3">BOR off, POR/PDR reset threshold level is applied</Val>
  21064. </Values>
  21065. </Bit>
  21066. </AssignedBits>
  21067. </Field>
  21068. </Category>
  21069. <Category>
  21070. <Name>User Configuration</Name>
  21071. <Field>
  21072. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0008"/>
  21073. <AssignedBits>
  21074. <Bit>
  21075. <Name>IWDG_STOP</Name>
  21076. <Description/>
  21077. <BitOffset>0xF</BitOffset>
  21078. <BitWidth>0x1</BitWidth>
  21079. <Access>RW</Access>
  21080. <Values>
  21081. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  21082. <Val value="0x1">IWDG counter active in stop mode</Val>
  21083. </Values>
  21084. </Bit>
  21085. <Bit>
  21086. <Name>IWDG_STDBY</Name>
  21087. <Description/>
  21088. <BitOffset>0xE</BitOffset>
  21089. <BitWidth>0x1</BitWidth>
  21090. <Access>RW</Access>
  21091. <Values>
  21092. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  21093. <Val value="0x1">IWDG counter active in standby mode</Val>
  21094. </Values>
  21095. </Bit>
  21096. </AssignedBits>
  21097. </Field>
  21098. <Field>
  21099. <Parameters name="FLASH_OPTCR" size="0x4" address="0x1FFF0000"/>
  21100. <AssignedBits>
  21101. <Bit>
  21102. <Name>WWDG_SW</Name>
  21103. <Description/>
  21104. <BitOffset>0x4</BitOffset>
  21105. <BitWidth>0x1</BitWidth>
  21106. <Access>RW</Access>
  21107. <Values>
  21108. <Val value="0x0">Hardware window watchdog</Val>
  21109. <Val value="0x1">Software window watchdog</Val>
  21110. </Values>
  21111. </Bit>
  21112. <Bit>
  21113. <Name>IWDG_SW</Name>
  21114. <Description/>
  21115. <BitOffset>0x5</BitOffset>
  21116. <BitWidth>0x1</BitWidth>
  21117. <Access>RW</Access>
  21118. <Values>
  21119. <Val value="0x0">Hardware independant watchdog</Val>
  21120. <Val value="0x1">Software independant watchdog</Val>
  21121. </Values>
  21122. </Bit>
  21123. <Bit>
  21124. <Name>nRST_STOP</Name>
  21125. <Description/>
  21126. <BitOffset>0x6</BitOffset>
  21127. <BitWidth>0x1</BitWidth>
  21128. <Access>RW</Access>
  21129. <Values>
  21130. <Val value="0x0">Reset generated when entering Stop mode</Val>
  21131. <Val value="0x1">No reset generated</Val>
  21132. </Values>
  21133. </Bit>
  21134. <Bit>
  21135. <Name>nRST_STDBY</Name>
  21136. <Description/>
  21137. <BitOffset>0x7</BitOffset>
  21138. <BitWidth>0x1</BitWidth>
  21139. <Access>RW</Access>
  21140. <Values>
  21141. <Val value="0x0">Reset generated when entering Standby mode</Val>
  21142. <Val value="0x1">No reset generated</Val>
  21143. </Values>
  21144. </Bit>
  21145. </AssignedBits>
  21146. </Field>
  21147. <Field>
  21148. <Parameters name="FLASH_OPTCR2" size="0x4" address="0x1FFF0028"/>
  21149. <AssignedBits>
  21150. <Bit>
  21151. <Name>PCROP_RDP</Name>
  21152. <Description/>
  21153. <BitOffset>0xF</BitOffset>
  21154. <BitWidth>0x1</BitWidth>
  21155. <Access>RW</Access>
  21156. <Values>
  21157. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  21158. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  21159. </Values>
  21160. </Bit>
  21161. </AssignedBits>
  21162. </Field>
  21163. </Category>
  21164. <Category>
  21165. <Name>Boot address Option Bytes</Name>
  21166. <Field>
  21167. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x1FFF0010"/>
  21168. <AssignedBits>
  21169. <Bit>
  21170. <Name>BOOT_ADD0</Name>
  21171. <Description>Define the boot address when BOOT0=0</Description>
  21172. <BitOffset>0x0</BitOffset>
  21173. <BitWidth>0x10</BitWidth>
  21174. <Access>RW</Access>
  21175. <Equation multiplier="0x4000" offset="0x0"/>
  21176. </Bit>
  21177. </AssignedBits>
  21178. </Field>
  21179. <Field>
  21180. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x1FFF0018"/>
  21181. <AssignedBits>
  21182. <Bit>
  21183. <Name>BOOT_ADD1</Name>
  21184. <Description>Define the boot address when BOOT0=1</Description>
  21185. <BitOffset>0x0</BitOffset>
  21186. <BitWidth>0x10</BitWidth>
  21187. <Access>RW</Access>
  21188. <Equation multiplier="0x4000" offset="0x0"/>
  21189. </Bit>
  21190. </AssignedBits>
  21191. </Field>
  21192. </Category>
  21193. <Category>
  21194. <Name>Write Protection</Name>
  21195. <Field>
  21196. <Parameters name="FLASH_OPTCR1" size="0x4" address="0x1FFF0008"/>
  21197. <AssignedBits>
  21198. <Bit>
  21199. <Name>nWRP0</Name>
  21200. <Description/>
  21201. <BitOffset>0x0</BitOffset>
  21202. <BitWidth>0x8</BitWidth>
  21203. <Access>RW</Access>
  21204. <Values ByBit="true">
  21205. <Val value="0x0">Write protection active on this sector</Val>
  21206. <Val value="0x1">Write protection not active on this sector</Val>
  21207. </Values>
  21208. </Bit>
  21209. </AssignedBits>
  21210. </Field>
  21211. </Category>
  21212. <Category>
  21213. <Name>Read/Write Protection</Name>
  21214. <Field>
  21215. <Parameters name="FLASH_OPTCR2" size="0x4" address="0x1FFF0020"/>
  21216. <AssignedBits>
  21217. <Bit>
  21218. <Name>PCROP0</Name>
  21219. <Description/>
  21220. <BitOffset>0x0</BitOffset>
  21221. <BitWidth>0x8</BitWidth>
  21222. <Access>RW</Access>
  21223. <Values ByBit="true">
  21224. <Val value="0x0">PCROP protection not active on this sector</Val>
  21225. <Val value="0x1">PCROP protection active on this sector</Val>
  21226. </Values>
  21227. </Bit>
  21228. </AssignedBits>
  21229. </Field>
  21230. </Category>
  21231. </Bank>
  21232. </Peripheral>
  21233. </Peripherals>
  21234. </Device>
  21235. <!-- Device: 0x450 -->
  21236. <Device>
  21237. <DeviceID>0x450</DeviceID>
  21238. <Vendor>STMicroelectronics</Vendor>
  21239. <Type>MCU</Type>
  21240. <CPU>Cortex-M7</CPU>
  21241. <Name>STM32H7xx</Name>
  21242. <Series>STM32H7</Series>
  21243. <Description>ARM 32-bit Cortex-M7 and ARM 32-bit Cortex-M4 dual core based device</Description>
  21244. <Configurations>
  21245. <!-- JTAG_SWD Interface -->
  21246. <Interface name="JTAG_SWD">
  21247. <Configuration number="0x0"> <!-- Security extension available && multi-core-->
  21248. <SecurityEx>
  21249. <WriteRegister address="0x580244F4" value="0x2"/>
  21250. <ReadRegister address="0x58000528" mask="0x1" value="0x0"/>
  21251. </SecurityEx>
  21252. <MultiCore>
  21253. <ReadRegister address="0x0" mask="0x0" value="0x4"/>
  21254. </MultiCore>
  21255. <!--<RomLess>
  21256. <ReadRegister address="0x1FF1E880" mask="0x80" value="0x00"/>
  21257. </RomLess>-->
  21258. </Configuration>
  21259. <Configuration number="0x1"> <!-- Security extension not available && multi-core -->
  21260. <SecurityEx>
  21261. <WriteRegister address="0x580244F4" value="0x2"/>
  21262. <ReadRegister address="0x58000528" mask="0x1" value="0x1"/>
  21263. </SecurityEx>
  21264. <MultiCore>
  21265. <ReadRegister address="0x0" mask="0x0" value="0x4"/>
  21266. </MultiCore>
  21267. <!-- <RomLess>
  21268. <ReadRegister address="0x1FF1E880" mask="0x80" value="0x00"/>
  21269. </RomLess> -->
  21270. </Configuration>
  21271. <Configuration number="0x2"> <!-- Security extension available && single core -->
  21272. <SecurityEx>
  21273. <WriteRegister address="0x580244F4" value="0x2"/>
  21274. <ReadRegister address="0x58000528" mask="0x1" value="0x0"/>
  21275. </SecurityEx>
  21276. <MultiCore>
  21277. <ReadRegister address="0x0" mask="0x0" value="0x3"/>
  21278. </MultiCore>
  21279. <RomLess>
  21280. <ReadRegister address="0x1FF1E880" mask="0x80" value="0x00"/>
  21281. </RomLess>
  21282. </Configuration>
  21283. <Configuration number="0x3"> <!-- Security extension not available && single core -->
  21284. <SecurityEx>
  21285. <WriteRegister address="0x580244F4" value="0x2"/>
  21286. <ReadRegister address="0x58000528" mask="0x1" value="0x1"/>
  21287. </SecurityEx>
  21288. <MultiCore>
  21289. <ReadRegister address="0x0" mask="0x0" value="0x3"/>
  21290. </MultiCore>
  21291. <RomLess>
  21292. <ReadRegister address="0x1FF1E880" mask="0x80" value="0x00"/>
  21293. </RomLess>
  21294. </Configuration>
  21295. <!-- ROMLESS Configurations -->
  21296. <Configuration number="0x4"> <!-- Security extension available && multi-core-->
  21297. <SecurityEx>
  21298. <WriteRegister address="0x580244F4" value="0x2"/>
  21299. <ReadRegister address="0x58000528" mask="0x1" value="0x0"/>
  21300. </SecurityEx>
  21301. <MultiCore>
  21302. <ReadRegister address="0x0" mask="0x0" value="0x4"/>
  21303. </MultiCore>
  21304. <RomLess>
  21305. <ReadRegister address="0x1FF1E880" mask="0x80" value="0x80"/>
  21306. </RomLess>
  21307. </Configuration>
  21308. <Configuration number="0x5"> <!-- Security extension not available && multi-core -->
  21309. <SecurityEx>
  21310. <WriteRegister address="0x580244F4" value="0x2"/>
  21311. <ReadRegister address="0x58000528" mask="0x1" value="0x1"/>
  21312. </SecurityEx>
  21313. <MultiCore>
  21314. <ReadRegister address="0x0" mask="0x0" value="0x4"/>
  21315. </MultiCore>
  21316. <RomLess>
  21317. <ReadRegister address="0x1FF1E880" mask="0x80" value="0x80"/>
  21318. </RomLess>
  21319. </Configuration>
  21320. <Configuration number="0x6"> <!-- Security extension available && single core -->
  21321. <SecurityEx>
  21322. <WriteRegister address="0x580244F4" value="0x2"/>
  21323. <ReadRegister address="0x58000528" mask="0x1" value="0x0"/>
  21324. </SecurityEx>
  21325. <MultiCore>
  21326. <ReadRegister address="0x0" mask="0x0" value="0x3"/>
  21327. </MultiCore>
  21328. <RomLess>
  21329. <ReadRegister address="0x1FF1E880" mask="0x80" value="0x80"/>
  21330. </RomLess>
  21331. </Configuration>
  21332. <Configuration number="0x7"> <!-- Security extension not available && single core -->
  21333. <RomLess>
  21334. <ReadRegister address="0x1FF1E880" mask="0x80" value="0x80"/>
  21335. </RomLess>
  21336. <SecurityEx>
  21337. <WriteRegister address="0x580244F4" value="0x2"/>
  21338. <ReadRegister address="0x58000528" mask="0x1" value="0x1"/>
  21339. </SecurityEx>
  21340. <MultiCore>
  21341. <ReadRegister address="0x0" mask="0x0" value="0x3"/>
  21342. </MultiCore>
  21343. </Configuration>
  21344. </Interface>
  21345. <!-- Bootloader Interface -->
  21346. <Interface name="Bootloader">
  21347. <Configuration number="0x0"> <!-- Security extension availabe && multicore--> <!-- dummy always true -->
  21348. <Dummy>
  21349. <ReadRegister address="0x08000000" mask="0x0" value="0x0"/>
  21350. </Dummy>
  21351. </Configuration>
  21352. </Interface>
  21353. </Configurations>
  21354. <!-- Peripherals -->
  21355. <Peripherals>
  21356. <!-- Embedded SRAM -->
  21357. <Peripheral>
  21358. <Name>Embedded SRAM</Name>
  21359. <Type>Storage</Type>
  21360. <Description/>
  21361. <ErasedValue>0x00</ErasedValue>
  21362. <Access>RWE</Access>
  21363. <!-- 512 KB -->
  21364. <Configuration>
  21365. <Parameters name="SRAM" size="0x80000" address="0x24000000"/>
  21366. <Description/>
  21367. <Organization>Single</Organization>
  21368. <Bank name="Bank 1">
  21369. <Field>
  21370. <Parameters name="SRAM" size="0x80000" address="0x24000000" occurence="0x1"/>
  21371. </Field>
  21372. </Bank>
  21373. </Configuration>
  21374. </Peripheral>
  21375. <!-- Embedded Flash -->
  21376. <Peripheral>
  21377. <Name>Embedded Flash</Name>
  21378. <Type>Storage</Type>
  21379. <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>
  21380. <ErasedValue>0xFF</ErasedValue>
  21381. <Access>RWE</Access>
  21382. <FlashSize address="0x1FF1E880" default="0x200000"/>
  21383. <!-- 2MB Dual Bank -->
  21384. <Configuration config="0,1,2,3">
  21385. <Parameters name="2 MBytes Dual Bank Embedded Flash" size="0x200000" address="0x08000000"/>
  21386. <Description/>
  21387. <Organization>Dual</Organization>
  21388. <Allignement>0x20</Allignement>
  21389. <Bank name="Bank 1">
  21390. <Field>
  21391. <Parameters name="sector0" size="0x20000" address="0x08000000" occurence="0x8"/>
  21392. </Field>
  21393. </Bank>
  21394. <Bank name="Bank 2">
  21395. <Field>
  21396. <Parameters name="sector8" size="0x20000" address="0x08100000" occurence="0x8"/>
  21397. </Field>
  21398. </Bank>
  21399. </Configuration>
  21400. <!-- RomLess 128KB -->
  21401. <Configuration config="4,5,6,7">
  21402. <Parameters name="RomLess 128 KB Embedded Flash" size="0x20000" address="0x08000000"/>
  21403. <Description/>
  21404. <Organization>Single</Organization>
  21405. <Allignement>0x20</Allignement>
  21406. <Bank name="Bank 1">
  21407. <Field>
  21408. <Parameters name="sector0" size="0x20000" address="0x08000000" occurence="0x1"/>
  21409. </Field>
  21410. </Bank>
  21411. </Configuration>
  21412. </Peripheral>
  21413. <!-- ITCM Flash -->
  21414. <Peripheral>
  21415. <Name>ITCM Flash</Name>
  21416. <Type>Storage</Type>
  21417. <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>
  21418. <ErasedValue>0xFF</ErasedValue>
  21419. <Access>RWE</Access>
  21420. <!-- 2MB Dual Bank -->
  21421. <Configuration config="0,1,2,3">
  21422. <Parameters name="2 MBytes Dual Bank Embedded Flash" size="0x200000" address="0x00200000"/>
  21423. <Description/>
  21424. <Organization>Dual</Organization>
  21425. <Allignement>0x20</Allignement>
  21426. <Bank name="Bank 1">
  21427. <Field>
  21428. <Parameters name="sector0" size="0x20000" address="0x00200000" occurence="0x8"/>
  21429. </Field>
  21430. </Bank>
  21431. <Bank name="Bank 2">
  21432. <Field>
  21433. <Parameters name="sector8" size="0x20000" address="0x00300000" occurence="0x8"/>
  21434. </Field>
  21435. </Bank>
  21436. </Configuration>
  21437. <!-- RomLess 128KB -->
  21438. <Configuration config="4,5,6,7">
  21439. <Parameters name="RomLess 128 KB Embedded Flash" size="0x20000" address="0x00200000"/>
  21440. <Description/>
  21441. <Organization>Single</Organization>
  21442. <Allignement>0x20</Allignement>
  21443. <Bank name="Bank 1">
  21444. <Field>
  21445. <Parameters name="sector0" size="0x20000" address="0x00200000" occurence="0x1"/>
  21446. </Field>
  21447. </Bank>
  21448. </Configuration>
  21449. </Peripheral>
  21450. <!-- Option Bytes -->
  21451. <Peripheral>
  21452. <Name>Option Bytes</Name>
  21453. <Type>Configuration</Type>
  21454. <Description/>
  21455. <Access>RW</Access>
  21456. <Bank>
  21457. <Parameters name="Bank 1" size="0x134" address="0x5200201C"/>
  21458. <Category>
  21459. <Name>Read Out Protection</Name>
  21460. <Field>
  21461. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  21462. <AssignedBits>
  21463. <Bit>
  21464. <Name>RDP</Name>
  21465. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  21466. <BitOffset>0x8</BitOffset>
  21467. <BitWidth>0x8</BitWidth>
  21468. <Access>R</Access>
  21469. <Values>
  21470. <Val value="0xAA">Level 0, no protection</Val>
  21471. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  21472. <Val value="0xCC">Level 2, chip protection</Val>
  21473. </Values>
  21474. </Bit>
  21475. </AssignedBits>
  21476. </Field>
  21477. <Field>
  21478. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  21479. <AssignedBits>
  21480. <Bit>
  21481. <Name>RDP</Name>
  21482. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  21483. <BitOffset>0x8</BitOffset>
  21484. <BitWidth>0x8</BitWidth>
  21485. <Access>W</Access>
  21486. <Values>
  21487. <Val value="0xAA">Level 0, no protection</Val>
  21488. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  21489. <Val value="0xCC">Level 2, chip protection</Val>
  21490. </Values>
  21491. </Bit>
  21492. </AssignedBits>
  21493. </Field>
  21494. </Category>
  21495. <Category>
  21496. <Name>RSS</Name>
  21497. <Field>
  21498. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  21499. <AssignedBits>
  21500. <Bit>
  21501. <Name>RSS1</Name>
  21502. <Description/>
  21503. <BitOffset>0x1A</BitOffset>
  21504. <BitWidth>0x1</BitWidth>
  21505. <Access>R</Access>
  21506. <Values>
  21507. <Val value="0x0">No SFI process on going</Val>
  21508. <Val value="0x1">SFI process started</Val>
  21509. </Values>
  21510. </Bit>
  21511. </AssignedBits>
  21512. </Field>
  21513. <Field>
  21514. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  21515. <AssignedBits>
  21516. <Bit>
  21517. <Name>RSS1</Name>
  21518. <Description/>
  21519. <BitOffset>0x1A</BitOffset>
  21520. <BitWidth>0x1</BitWidth>
  21521. <Access>W</Access>
  21522. <Values>
  21523. <Val value="0x0">No SFI process on going</Val>
  21524. <Val value="0x1">SFI process started</Val>
  21525. </Values>
  21526. </Bit>
  21527. </AssignedBits>
  21528. </Field>
  21529. </Category>
  21530. <Category>
  21531. <Name>BOR Level</Name>
  21532. <Field>
  21533. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  21534. <AssignedBits>
  21535. <Bit>
  21536. <Name>BOR_LEV</Name>
  21537. <Description>These bits reflects the power level that generates a system reset. Refer to device datasheet for the values of VBORx VDD reset thresholds.</Description>
  21538. <BitOffset>0x2</BitOffset>
  21539. <BitWidth>0x2</BitWidth>
  21540. <Access>R</Access>
  21541. <Values>
  21542. <Val value="0x0">reset level is set to VBOR0</Val>
  21543. <Val value="0x1">reset level is set to VBOR1</Val>
  21544. <Val value="0x2">reset level is set to VBOR2</Val>
  21545. <Val value="0x3">reset level is set to VBOR3</Val>
  21546. </Values>
  21547. </Bit>
  21548. </AssignedBits>
  21549. </Field>
  21550. <Field>
  21551. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  21552. <AssignedBits>
  21553. <Bit>
  21554. <Name>BOR_LEV</Name>
  21555. <Description>These bits reflects the power level that generates a system reset. Refer to device datasheet for the values of VBORx VDD reset thresholds.</Description>
  21556. <BitOffset>0x2</BitOffset>
  21557. <BitWidth>0x2</BitWidth>
  21558. <Access>W</Access>
  21559. <Values>
  21560. <Val value="0x0">reset level is set to VBOR0</Val>
  21561. <Val value="0x1">reset level is set to VBOR1</Val>
  21562. <Val value="0x2">reset level is set to VBOR2</Val>
  21563. <Val value="0x3">reset level is set to VBOR3</Val>
  21564. </Values>
  21565. </Bit>
  21566. </AssignedBits>
  21567. </Field>
  21568. </Category>
  21569. <Category>
  21570. <Name>User Configuration</Name>
  21571. <Field>
  21572. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  21573. <AssignedBits>
  21574. <Bit>
  21575. <Name>IWDG1_SW</Name>
  21576. <Description/>
  21577. <BitOffset>0x4</BitOffset>
  21578. <BitWidth>0x1</BitWidth>
  21579. <Access>R</Access>
  21580. <Values>
  21581. <Val value="0x0">Independent watchdog is controlled by hardware</Val>
  21582. <Val value="0x1">Independent watchdog is controlled by software</Val>
  21583. </Values>
  21584. </Bit>
  21585. <Bit config="0,1,4,5">
  21586. <Name>IWDG2_SW</Name>
  21587. <Description/>
  21588. <BitOffset>0x5</BitOffset>
  21589. <BitWidth>0x1</BitWidth>
  21590. <Access>R</Access>
  21591. <Values>
  21592. <Val value="0x0">Independent watchdog is controlled by hardware</Val>
  21593. <Val value="0x1">Independent watchdog is controlled by software</Val>
  21594. </Values>
  21595. </Bit>
  21596. <Bit>
  21597. <Name>NRST_STOP_D1</Name>
  21598. <Description/>
  21599. <BitOffset>0x6</BitOffset>
  21600. <BitWidth>0x1</BitWidth>
  21601. <Access>R</Access>
  21602. <Values>
  21603. <Val value="0x0">STOP mode on Domain 1 is entering with reset</Val>
  21604. <Val value="0x1">STOP mode on Domain 1 is entering without reset</Val>
  21605. </Values>
  21606. </Bit>
  21607. <Bit>
  21608. <Name>NRST_STBY_D1</Name>
  21609. <Description/>
  21610. <BitOffset>0x7</BitOffset>
  21611. <BitWidth>0x1</BitWidth>
  21612. <Access>R</Access>
  21613. <Values>
  21614. <Val value="0x0">STANDBY mode on Domain 1 is entering with reset</Val>
  21615. <Val value="0x1">STANDBY mode on Domain 1 is entering without reset</Val>
  21616. </Values>
  21617. </Bit>
  21618. <Bit>
  21619. <Name>FZ_IWDG_STOP</Name>
  21620. <Description/>
  21621. <BitOffset>0x11</BitOffset>
  21622. <BitWidth>0x1</BitWidth>
  21623. <Access>R</Access>
  21624. <Values>
  21625. <Val value="0x0">Independent watchdog is freezed in STOP mode</Val>
  21626. <Val value="0x1">Independent watchdog is running in STOP mode</Val>
  21627. </Values>
  21628. </Bit>
  21629. <Bit>
  21630. <Name>FZ_IWDG_SDBY</Name>
  21631. <Description/>
  21632. <BitOffset>0x12</BitOffset>
  21633. <BitWidth>0x1</BitWidth>
  21634. <Access>R</Access>
  21635. <Values>
  21636. <Val value="0x0">Independent watchdog is freezed in STANDBY mode</Val>
  21637. <Val value="0x1">Independent watchdog is running in STANDBY mode</Val>
  21638. </Values>
  21639. </Bit>
  21640. <Bit config="0,2">
  21641. <Name>SECURITY</Name>
  21642. <Description/>
  21643. <BitOffset>0x15</BitOffset>
  21644. <BitWidth>0x1</BitWidth>
  21645. <Access>R</Access>
  21646. <Values>
  21647. <Val value="0x0">Security feature disabled</Val>
  21648. <Val value="0x1">Security feature enabled</Val>
  21649. </Values>
  21650. </Bit>
  21651. <Bit config="0,1">
  21652. <Name>BCM4</Name>
  21653. <Description/>
  21654. <BitOffset>0x16</BitOffset>
  21655. <BitWidth>0x1</BitWidth>
  21656. <Access>R</Access>
  21657. <Values>
  21658. <Val value="0x0">CM4 boot disabled</Val>
  21659. <Val value="0x1">CM4 boot enabled</Val>
  21660. </Values>
  21661. </Bit>
  21662. <Bit>
  21663. <Name>BCM7</Name>
  21664. <Description/>
  21665. <BitOffset>0x17</BitOffset>
  21666. <BitWidth>0x1</BitWidth>
  21667. <Access>R</Access>
  21668. <Values>
  21669. <Val value="0x0">CM7 boot disabled</Val>
  21670. <Val value="0x1">CM7 boot enabled</Val>
  21671. </Values>
  21672. </Bit>
  21673. <Bit>
  21674. <Name>NRST_STOP_D2</Name>
  21675. <Description/>
  21676. <BitOffset>0x18</BitOffset>
  21677. <BitWidth>0x1</BitWidth>
  21678. <Access>R</Access>
  21679. <Values>
  21680. <Val value="0x0">STOP mode on Domain 2 is entering with reset</Val>
  21681. <Val value="0x1">STOP mode on Domain 2 is entering without reset</Val>
  21682. </Values>
  21683. </Bit>
  21684. <Bit>
  21685. <Name>NRST_STBY_D2</Name>
  21686. <Description/>
  21687. <BitOffset>0x19</BitOffset>
  21688. <BitWidth>0x1</BitWidth>
  21689. <Access>R</Access>
  21690. <Values>
  21691. <Val value="0x0">STANDBY mode on Domain 2 is entering with reset</Val>
  21692. <Val value="0x1">STANDBY mode on Domain 2 is entering without reset</Val>
  21693. </Values>
  21694. </Bit>
  21695. <Bit config="0,1,2,3">
  21696. <Name>SWAP_BANK</Name>
  21697. <Description/>
  21698. <BitOffset>0x1F</BitOffset>
  21699. <BitWidth>0x1</BitWidth>
  21700. <Access>R</Access>
  21701. <Values>
  21702. <Val value="0x0">after boot loading, no swap for user sectors</Val>
  21703. <Val value="0x1">after boot loading, user sectors swapped</Val>
  21704. </Values>
  21705. </Bit>
  21706. </AssignedBits>
  21707. </Field>
  21708. <Field>
  21709. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  21710. <AssignedBits>
  21711. <Bit>
  21712. <Name>IWDG1_SW</Name>
  21713. <Description/>
  21714. <BitOffset>0x4</BitOffset>
  21715. <BitWidth>0x1</BitWidth>
  21716. <Access>W</Access>
  21717. <Values>
  21718. <Val value="0x0">Independent watchdog is controlled by hardware</Val>
  21719. <Val value="0x1">Independent watchdog is controlled by software</Val>
  21720. </Values>
  21721. </Bit>
  21722. <Bit config="0,1,4,5">
  21723. <Name>IWDG2_SW</Name>
  21724. <Description/>
  21725. <BitOffset>0x5</BitOffset>
  21726. <BitWidth>0x1</BitWidth>
  21727. <Access>W</Access>
  21728. <Values>
  21729. <Val value="0x0">Independent watchdog is controlled by hardware</Val>
  21730. <Val value="0x1">Independent watchdog is controlled by software</Val>
  21731. </Values>
  21732. </Bit>
  21733. <Bit>
  21734. <Name>NRST_STOP_D1</Name>
  21735. <Description/>
  21736. <BitOffset>0x6</BitOffset>
  21737. <BitWidth>0x1</BitWidth>
  21738. <Access>W</Access>
  21739. <Values>
  21740. <Val value="0x0">STOP mode on Domain 1 is entering with reset</Val>
  21741. <Val value="0x1">STOP mode on Domain 1 is entering without reset</Val>
  21742. </Values>
  21743. </Bit>
  21744. <Bit>
  21745. <Name>NRST_STBY_D1</Name>
  21746. <Description/>
  21747. <BitOffset>0x7</BitOffset>
  21748. <BitWidth>0x1</BitWidth>
  21749. <Access>W</Access>
  21750. <Values>
  21751. <Val value="0x0">STANDBY mode on Domain 1 is entering with reset</Val>
  21752. <Val value="0x1">STANDBY mode on Domain 1 is entering without reset</Val>
  21753. </Values>
  21754. </Bit>
  21755. <Bit>
  21756. <Name>FZ_IWDG_STOP</Name>
  21757. <Description/>
  21758. <BitOffset>0x11</BitOffset>
  21759. <BitWidth>0x1</BitWidth>
  21760. <Access>W</Access>
  21761. <Values>
  21762. <Val value="0x0">Independent watchdog is freezed in STOP mode</Val>
  21763. <Val value="0x1">Independent watchdog is running in STOP mode</Val>
  21764. </Values>
  21765. </Bit>
  21766. <Bit>
  21767. <Name>FZ_IWDG_SDBY</Name>
  21768. <Description/>
  21769. <BitOffset>0x12</BitOffset>
  21770. <BitWidth>0x1</BitWidth>
  21771. <Access>W</Access>
  21772. <Values>
  21773. <Val value="0x0">Independent watchdog is freezed in STANDBY mode</Val>
  21774. <Val value="0x1">Independent watchdog is running in STANDBY mode</Val>
  21775. </Values>
  21776. </Bit>
  21777. <Bit config="0,2,4,6">
  21778. <Name>SECURITY</Name>
  21779. <Description/>
  21780. <BitOffset>0x15</BitOffset>
  21781. <BitWidth>0x1</BitWidth>
  21782. <Access>W</Access>
  21783. <Values>
  21784. <Val value="0x0">Security feature disabled</Val>
  21785. <Val value="0x1">Security feature enabled</Val>
  21786. </Values>
  21787. </Bit>
  21788. <Bit config="0,1,4,5">
  21789. <Name>BCM4</Name>
  21790. <Description/>
  21791. <BitOffset>0x16</BitOffset>
  21792. <BitWidth>0x1</BitWidth>
  21793. <Access>W</Access>
  21794. <Values>
  21795. <Val value="0x0">CM4 boot disabled</Val>
  21796. <Val value="0x1">CM4 boot enabled</Val>
  21797. </Values>
  21798. </Bit>
  21799. <Bit>
  21800. <Name>BCM7</Name>
  21801. <Description/>
  21802. <BitOffset>0x17</BitOffset>
  21803. <BitWidth>0x1</BitWidth>
  21804. <Access>W</Access>
  21805. <Values>
  21806. <Val value="0x0">CM7 boot disabled</Val>
  21807. <Val value="0x1">CM7 boot enabled</Val>
  21808. </Values>
  21809. </Bit>
  21810. <Bit>
  21811. <Name>NRST_STOP_D2</Name>
  21812. <Description/>
  21813. <BitOffset>0x18</BitOffset>
  21814. <BitWidth>0x1</BitWidth>
  21815. <Access>W</Access>
  21816. <Values>
  21817. <Val value="0x0">STOP mode on Domain 2 is entering with reset</Val>
  21818. <Val value="0x1">STOP mode on Domain 2 is entering without reset</Val>
  21819. </Values>
  21820. </Bit>
  21821. <Bit>
  21822. <Name>NRST_STBY_D2</Name>
  21823. <Description/>
  21824. <BitOffset>0x19</BitOffset>
  21825. <BitWidth>0x1</BitWidth>
  21826. <Access>W</Access>
  21827. <Values>
  21828. <Val value="0x0">STANDBY mode on Domain 2 is entering with reset</Val>
  21829. <Val value="0x1">STANDBY mode on Domain 2 is entering without reset</Val>
  21830. </Values>
  21831. </Bit>
  21832. <Bit config="0,1,2,3">
  21833. <Name>SWAP_BANK</Name>
  21834. <Description/>
  21835. <BitOffset>0x1F</BitOffset>
  21836. <BitWidth>0x1</BitWidth>
  21837. <Access>W</Access>
  21838. <Values>
  21839. <Val value="0x0">after boot loading, no swap for user sectors</Val>
  21840. <Val value="0x1">after boot loading, user sectors swapped</Val>
  21841. </Values>
  21842. </Bit>
  21843. </AssignedBits>
  21844. </Field>
  21845. </Category>
  21846. <Category>
  21847. <Name>Boot address Option Bytes</Name>
  21848. <Field>
  21849. <Parameters name="FBOOT7_CUR" size="0x4" address="0x52002040"/>
  21850. <AssignedBits>
  21851. <Bit>
  21852. <Name>BOOT_CM7_ADD0</Name>
  21853. <Description>Define the boot address for Cortex-M7 when BOOT0=0</Description>
  21854. <BitOffset>0x0</BitOffset>
  21855. <BitWidth>0x10</BitWidth>
  21856. <Access>R</Access>
  21857. <Equation multiplier="0x10000" offset="0x0"/>
  21858. </Bit>
  21859. <Bit>
  21860. <Name>BOOT_CM7_ADD1</Name>
  21861. <Description>Define the boot address for Cortex-M7 when BOOT0=1</Description>
  21862. <BitOffset>0x10</BitOffset>
  21863. <BitWidth>0x10</BitWidth>
  21864. <Access>R</Access>
  21865. <Equation multiplier="0x10000" offset="0x0"/>
  21866. </Bit>
  21867. </AssignedBits>
  21868. </Field>
  21869. <Field>
  21870. <Parameters name="FBOOT4_CUR" size="0x4" address="0x52002048"/>
  21871. <AssignedBits>
  21872. <Bit config="0,1,4,5">
  21873. <Name>BOOT_CM4_ADD0</Name>
  21874. <Description>Define the boot address for Cortex-M4 when BOOT0=0</Description>
  21875. <BitOffset>0x0</BitOffset>
  21876. <BitWidth>0x10</BitWidth>
  21877. <Access>R</Access>
  21878. <Equation multiplier="0x10000" offset="0x0"/>
  21879. </Bit>
  21880. <Bit config="0,1,4,5">
  21881. <Name>BOOT_CM4_ADD1</Name>
  21882. <Description>Define the boot address for Cortex-M4 when BOOT0=1</Description>
  21883. <BitOffset>0x10</BitOffset>
  21884. <BitWidth>0x10</BitWidth>
  21885. <Access>R</Access>
  21886. <Equation multiplier="0x10000" offset="0x0"/>
  21887. </Bit>
  21888. </AssignedBits>
  21889. </Field>
  21890. <Field>
  21891. <Parameters name="FBOOT7_PRG" size="0x4" address="0x52002044"/>
  21892. <AssignedBits>
  21893. <Bit>
  21894. <Name>BOOT_CM7_ADD0</Name>
  21895. <Description/>
  21896. <BitOffset>0x0</BitOffset>
  21897. <BitWidth>0x10</BitWidth>
  21898. <Access>W</Access>
  21899. <Equation multiplier="0x10000" offset="0x0"/>
  21900. </Bit>
  21901. <Bit>
  21902. <Name>BOOT_CM7_ADD1</Name>
  21903. <Description/>
  21904. <BitOffset>0x10</BitOffset>
  21905. <BitWidth>0x10</BitWidth>
  21906. <Access>W</Access>
  21907. <Equation multiplier="0x10000" offset="0x0"/>
  21908. </Bit>
  21909. </AssignedBits>
  21910. </Field>
  21911. <Field>
  21912. <Parameters name="FBOOT4_PRG" size="0x4" address="0x5200204C"/>
  21913. <AssignedBits>
  21914. <Bit config="0,1,4,5">
  21915. <Name>BOOT_CM4_ADD0</Name>
  21916. <Description/>
  21917. <BitOffset>0x0</BitOffset>
  21918. <BitWidth>0x10</BitWidth>
  21919. <Access>W</Access>
  21920. <Equation multiplier="0x10000" offset="0x0"/>
  21921. </Bit>
  21922. <Bit config="0,1,4,5">
  21923. <Name>BOOT_CM4_ADD1</Name>
  21924. <Description/>
  21925. <BitOffset>0x10</BitOffset>
  21926. <BitWidth>0x10</BitWidth>
  21927. <Access>W</Access>
  21928. <Equation multiplier="0x10000" offset="0x0"/>
  21929. </Bit>
  21930. </AssignedBits>
  21931. </Field>
  21932. </Category>
  21933. <Category>
  21934. <Name>PCROP Protection</Name>
  21935. <Field>
  21936. <Parameters name="FPRAR_CUR_A" size="0x4" address="0x52002028"/>
  21937. <AssignedBits>
  21938. <Bit>
  21939. <Name>PROT_AREA_START1</Name>
  21940. <Description>Flash Bank 1 PCROP start address</Description>
  21941. <BitOffset>0x0</BitOffset>
  21942. <BitWidth>0xC</BitWidth>
  21943. <Access>R</Access>
  21944. <Equation multiplier="0x100" offset="0x08000000"/>
  21945. </Bit>
  21946. <Bit>
  21947. <Name>PROT_AREA_END1</Name>
  21948. <Description>Flash Bank 1 PCROP End address (excluded). Deactivation of PCROP can be done by enbaling DMEP1 bit and changing RDP from level 1 to level 0 while putting end address greater than start address.</Description>
  21949. <BitOffset>0x10</BitOffset>
  21950. <BitWidth>0xC</BitWidth>
  21951. <Access>R</Access>
  21952. <Equation multiplier="0x100" offset="0x080000FF"/>
  21953. </Bit>
  21954. <Bit>
  21955. <Name>DMEP1</Name>
  21956. <Description/>
  21957. <BitOffset>0x1F</BitOffset>
  21958. <BitWidth>0x1</BitWidth>
  21959. <Access>R</Access>
  21960. <Values>
  21961. <Val value="0x0">Flash Bank 1 PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  21962. <Val value="0x1">Flash Bank 1 PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  21963. </Values>
  21964. </Bit>
  21965. </AssignedBits>
  21966. </Field>
  21967. <Field>
  21968. <Parameters name="FPRAR_PRG_A" size="0x4" address="0x5200202C"/>
  21969. <AssignedBits>
  21970. <Bit>
  21971. <Name>PROT_AREA_START1</Name>
  21972. <Description>Flash Bank 1 PCROP start address</Description>
  21973. <BitOffset>0x0</BitOffset>
  21974. <BitWidth>0xC</BitWidth>
  21975. <Access>W</Access>
  21976. <Equation multiplier="0x100" offset="0x08000000"/>
  21977. </Bit>
  21978. <Bit>
  21979. <Name>PROT_AREA_END1</Name>
  21980. <Description>Flash Bank 1 PCROP End address (excluded). Deactivation of PCROP can be done by enbaling DMEP1 bit and changing RDP from level 1 to level 0 while putting end address greater than start address</Description>
  21981. <BitOffset>0x10</BitOffset>
  21982. <BitWidth>0xC</BitWidth>
  21983. <Access>W</Access>
  21984. <Equation multiplier="0x100" offset="0x080000FF"/>
  21985. </Bit>
  21986. <Bit>
  21987. <Name>DMEP1</Name>
  21988. <Description/>
  21989. <BitOffset>0x1F</BitOffset>
  21990. <BitWidth>0x1</BitWidth>
  21991. <Access>W</Access>
  21992. <Values>
  21993. <Val value="0x0">Flash Bank 1 PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  21994. <Val value="0x1">Flash Bank 1 PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  21995. </Values>
  21996. </Bit>
  21997. </AssignedBits>
  21998. </Field>
  21999. <Field>
  22000. <Parameters name="FPRAR_CUR_B" size="0x4" address="0x52002128"/>
  22001. <AssignedBits>
  22002. <Bit config="0,1,2,3">
  22003. <Name>PROT_AREA_START2</Name>
  22004. <Description>Flash Bank 2 PCROP start address</Description>
  22005. <BitOffset>0x0</BitOffset>
  22006. <BitWidth>0xC</BitWidth>
  22007. <Access>R</Access>
  22008. <Equation multiplier="0x100" offset="0x08100000"/>
  22009. </Bit>
  22010. <Bit config="0,1,2,3">
  22011. <Name>PROT_AREA_END2</Name>
  22012. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enbaling DMEP2 bit and changing RDP from level 1 to level 0 while putting end address greater than start address</Description>
  22013. <BitOffset>0x10</BitOffset>
  22014. <BitWidth>0xC</BitWidth>
  22015. <Access>R</Access>
  22016. <Equation multiplier="0x100" offset="0x081000FF"/>
  22017. </Bit>
  22018. <Bit config="0,1,2,3">
  22019. <Name>DMEP2</Name>
  22020. <Description/>
  22021. <BitOffset>0x1F</BitOffset>
  22022. <BitWidth>0x1</BitWidth>
  22023. <Access>R</Access>
  22024. <Values>
  22025. <Val value="0x0">Flash Bank 2 PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22026. <Val value="0x1">Flash Bank 2 PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22027. </Values>
  22028. </Bit>
  22029. </AssignedBits>
  22030. </Field>
  22031. <Field>
  22032. <Parameters name="FPRAR_PRG_B" size="0x4" address="0x5200212C"/>
  22033. <AssignedBits>
  22034. <Bit config="0,1,2,3">
  22035. <Name>PROT_AREA_START2</Name>
  22036. <Description>Flash Bank 2 PCROP start address</Description>
  22037. <BitOffset>0x0</BitOffset>
  22038. <BitWidth>0xC</BitWidth>
  22039. <Access>W</Access>
  22040. <Equation multiplier="0x100" offset="0x08100000"/>
  22041. </Bit>
  22042. <Bit config="0,1,2,3">
  22043. <Name>PROT_AREA_END2</Name>
  22044. <Description>Flash Bank 2 PCROP End address (excluded). Deactivation of PCROP can be done by enbaling DMEP2 bit and changing RDP from level 1 to level 0 while putting end address greater than start address</Description>
  22045. <BitOffset>0x10</BitOffset>
  22046. <BitWidth>0xC</BitWidth>
  22047. <Access>W</Access>
  22048. <Equation multiplier="0x100" offset="0x081000FF"/>
  22049. </Bit>
  22050. <Bit config="0,1,2,3">
  22051. <Name>DMEP2</Name>
  22052. <Description/>
  22053. <BitOffset>0x1F</BitOffset>
  22054. <BitWidth>0x1</BitWidth>
  22055. <Access>W</Access>
  22056. <Values>
  22057. <Val value="0x0">Flash Bank 2 PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22058. <Val value="0x1">Flash Bank 2 PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22059. </Values>
  22060. </Bit>
  22061. </AssignedBits>
  22062. </Field>
  22063. </Category>
  22064. <Category>
  22065. <Name>Secure Protection</Name>
  22066. <Field>
  22067. <Parameters name="FSCAR_CUR_A" size="0x4" address="0x52002030"/>
  22068. <AssignedBits>
  22069. <Bit config="0,2,4,6">
  22070. <Name>SEC_AREA_START1</Name>
  22071. <Description>Flash Bank 1 secure area start address</Description>
  22072. <BitOffset>0x0</BitOffset>
  22073. <BitWidth>0xC</BitWidth>
  22074. <Access>R</Access>
  22075. <Equation multiplier="0x100" offset="0x08000000"/>
  22076. </Bit>
  22077. <Bit config="0,2,4,6">
  22078. <Name>SEC_AREA_END1</Name>
  22079. <Description>Flash Bank 1 secure area end address. If this address is equal to SEC_AREA_START1, the whole bank 1 is secure protected.If this address is lower than SEC_AREA_START1, no protection is set on bank 1.</Description>
  22080. <BitOffset>0x10</BitOffset>
  22081. <BitWidth>0xC</BitWidth>
  22082. <Access>R</Access>
  22083. <Equation multiplier="0x100" offset="0x080000FF"/>
  22084. </Bit>
  22085. <Bit config="0,2,4,6">
  22086. <Name>DMES1</Name>
  22087. <Description/>
  22088. <BitOffset>0x1F</BitOffset>
  22089. <BitWidth>0x1</BitWidth>
  22090. <Access>R</Access>
  22091. <Values>
  22092. <Val value="0x0">Flash Bank 1 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22093. <Val value="0x1">Flash Bank 1 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22094. </Values>
  22095. </Bit>
  22096. </AssignedBits>
  22097. </Field>
  22098. <Field>
  22099. <Parameters name="FSCAR_PRG_A" size="0x4" address="0x52002034"/>
  22100. <AssignedBits>
  22101. <Bit config="0,2,4,6">
  22102. <Name>SEC_AREA_START1</Name>
  22103. <Description>Flash Bank 1 secure area start address</Description>
  22104. <BitOffset>0x0</BitOffset>
  22105. <BitWidth>0xC</BitWidth>
  22106. <Access>W</Access>
  22107. <Equation multiplier="0x100" offset="0x08000000"/>
  22108. </Bit>
  22109. <Bit config="0,2,4,6">
  22110. <Name>SEC_AREA_END1</Name>
  22111. <Description>Flash Bank 1 secure area end address. If this address is equal to SEC_AREA_START1, the whole bank 1 is secure protected.If this address is lower than SEC_AREA_START1, no protection is set on bank 1.</Description>
  22112. <BitOffset>0x10</BitOffset>
  22113. <BitWidth>0xC</BitWidth>
  22114. <Access>W</Access>
  22115. <Equation multiplier="0x100" offset="0x080000FF"/>
  22116. </Bit>
  22117. <Bit config="0,2,4,6">
  22118. <Name>DMES1</Name>
  22119. <Description/>
  22120. <BitOffset>0x1F</BitOffset>
  22121. <BitWidth>0x1</BitWidth>
  22122. <Access>W</Access>
  22123. <Values>
  22124. <Val value="0x0">Flash Bank 1 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22125. <Val value="0x1">Flash Bank 1 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22126. </Values>
  22127. </Bit>
  22128. </AssignedBits>
  22129. </Field>
  22130. <Field>
  22131. <Parameters name="FSCAR_CUR_B" size="0x4" address="0x52002130"/>
  22132. <AssignedBits>
  22133. <Bit config="0,2">
  22134. <Name>SEC_AREA_START2</Name>
  22135. <Description>Flash Bank 2 secure area start address</Description>
  22136. <BitOffset>0x0</BitOffset>
  22137. <BitWidth>0xC</BitWidth>
  22138. <Access>R</Access>
  22139. <Equation multiplier="0x100" offset="0x08100000"/>
  22140. </Bit>
  22141. <Bit config="0,2">
  22142. <Name>SEC_AREA_END2</Name>
  22143. <Description>Flash Bank 2 secure area end address. If this address is equal to SEC_AREA_START2, the whole bank 2 is secure protected.If this address is lower than SEC_AREA_START2, no protection is set on bank 2.</Description>
  22144. <BitOffset>0x10</BitOffset>
  22145. <BitWidth>0xC</BitWidth>
  22146. <Access>R</Access>
  22147. <Equation multiplier="0x100" offset="0x081000FF"/>
  22148. </Bit>
  22149. <Bit config="0,2">
  22150. <Name>DMES2</Name>
  22151. <Description/>
  22152. <BitOffset>0x1F</BitOffset>
  22153. <BitWidth>0x1</BitWidth>
  22154. <Access>R</Access>
  22155. <Values>
  22156. <Val value="0x0">Flash Bank 2 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22157. <Val value="0x1">Flash Bank 2 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22158. </Values>
  22159. </Bit>
  22160. </AssignedBits>
  22161. </Field>
  22162. <Field>
  22163. <Parameters name="FSCAR_PRG_B" size="0x4" address="0x52002134"/>
  22164. <AssignedBits>
  22165. <Bit config="0,2">
  22166. <Name>SEC_AREA_START2</Name>
  22167. <Description>Flash Bank 2 secure area start address</Description>
  22168. <BitOffset>0x0</BitOffset>
  22169. <BitWidth>0xC</BitWidth>
  22170. <Access>W</Access>
  22171. <Equation multiplier="0x100" offset="0x08100000"/>
  22172. </Bit>
  22173. <Bit config="0,2">
  22174. <Name>SEC_AREA_END2</Name>
  22175. <Description>Flash Bank 2 secure area end address. If this address is equal to SEC_AREA_START2, the whole bank 2 is secure protected.If this address is lower than SEC_AREA_START2, no protection is set on bank 2.</Description>
  22176. <BitOffset>0x10</BitOffset>
  22177. <BitWidth>0xC</BitWidth>
  22178. <Access>W</Access>
  22179. <Equation multiplier="0x100" offset="0x081000FF"/>
  22180. </Bit>
  22181. <Bit config="0,2">
  22182. <Name>DMES2</Name>
  22183. <Description/>
  22184. <BitOffset>0x1F</BitOffset>
  22185. <BitWidth>0x1</BitWidth>
  22186. <Access>W</Access>
  22187. <Values>
  22188. <Val value="0x0">Flash Bank 2 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22189. <Val value="0x1">Flash Bank 2 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22190. </Values>
  22191. </Bit>
  22192. </AssignedBits>
  22193. </Field>
  22194. </Category>
  22195. <Category>
  22196. <Name>DTCM RAM Protection</Name>
  22197. <Field>
  22198. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  22199. <AssignedBits>
  22200. <Bit>
  22201. <Name>ST_RAM_SIZE</Name>
  22202. <Description/>
  22203. <BitOffset>0x13</BitOffset>
  22204. <BitWidth>0x2</BitWidth>
  22205. <Access>R</Access>
  22206. <Values>
  22207. <Val value="0x0">2 KB</Val>
  22208. <Val value="0x1">4 KB</Val>
  22209. <Val value="0x2">8 KB</Val>
  22210. <Val value="0x3">16 KB</Val>
  22211. </Values>
  22212. </Bit>
  22213. </AssignedBits>
  22214. </Field>
  22215. <Field>
  22216. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  22217. <AssignedBits>
  22218. <Bit>
  22219. <Name>ST_RAM_SIZE</Name>
  22220. <Description/>
  22221. <BitOffset>0x13</BitOffset>
  22222. <BitWidth>0x2</BitWidth>
  22223. <Access>W</Access>
  22224. <Values>
  22225. <Val value="0x0">2 KB</Val>
  22226. <Val value="0x1">4 KB</Val>
  22227. <Val value="0x2">8 KB</Val>
  22228. <Val value="0x3">16 KB</Val>
  22229. </Values>
  22230. </Bit>
  22231. </AssignedBits>
  22232. </Field>
  22233. </Category>
  22234. <Category>
  22235. <Name>Write Protection</Name>
  22236. <Field>
  22237. <Parameters name="FWPSN_CUR_A" size="0x4" address="0x52002038"/>
  22238. <AssignedBits>
  22239. <Bit config="0,1,2,3">
  22240. <Name>nWRP0</Name>
  22241. <Description/>
  22242. <BitOffset>0x0</BitOffset>
  22243. <BitWidth>0x8</BitWidth>
  22244. <Access>R</Access>
  22245. <Values ByBit="true">
  22246. <Val value="0x0">Write protection active on this sector</Val>
  22247. <Val value="0x1">Write protection not active on this sector</Val>
  22248. </Values>
  22249. </Bit>
  22250. <Bit config="4,5,6,7">
  22251. <Name>nWRP0</Name>
  22252. <Description/>
  22253. <BitOffset>0x0</BitOffset>
  22254. <BitWidth>0x1</BitWidth>
  22255. <Access>R</Access>
  22256. <Values ByBit="true">
  22257. <Val value="0x0">Write protection active on this sector</Val>
  22258. <Val value="0x1">Write protection not active on this sector</Val>
  22259. </Values>
  22260. </Bit>
  22261. </AssignedBits>
  22262. </Field>
  22263. <Field>
  22264. <Parameters name="FWPSN_PRG_A" size="0x4" address="0x5200203C"/>
  22265. <AssignedBits>
  22266. <Bit config="0,1,2,3">
  22267. <Name>nWRP0</Name>
  22268. <Description/>
  22269. <BitOffset>0x0</BitOffset>
  22270. <BitWidth>0x8</BitWidth>
  22271. <Access>W</Access>
  22272. <Values ByBit="true">
  22273. <Val value="0x0">Write protection active on this sector</Val>
  22274. <Val value="0x1">Write protection not active on this sector</Val>
  22275. </Values>
  22276. </Bit>
  22277. <Bit config="4,5,6,7">
  22278. <Name>nWRP0</Name>
  22279. <Description/>
  22280. <BitOffset>0x0</BitOffset>
  22281. <BitWidth>0x1</BitWidth>
  22282. <Access>W</Access>
  22283. <Values ByBit="true">
  22284. <Val value="0x0">Write protection active on this sector</Val>
  22285. <Val value="0x1">Write protection not active on this sector</Val>
  22286. </Values>
  22287. </Bit>
  22288. </AssignedBits>
  22289. </Field>
  22290. <Field>
  22291. <Parameters name="FWPSN_CUR_B" size="0x4" address="0x52002138"/>
  22292. <AssignedBits>
  22293. <Bit config="0,1,2,3">
  22294. <Name>nWRP8</Name>
  22295. <Description/>
  22296. <BitOffset>0x0</BitOffset>
  22297. <BitWidth>0x8</BitWidth>
  22298. <Access>R</Access>
  22299. <Values ByBit="true">
  22300. <Val value="0x0">Write protection active on this sector</Val>
  22301. <Val value="0x1">Write protection not active on this sector</Val>
  22302. </Values>
  22303. </Bit>
  22304. </AssignedBits>
  22305. </Field>
  22306. <Field>
  22307. <Parameters name="FWPSN_PRG_B" size="0x4" address="0x5200213C"/>
  22308. <AssignedBits>
  22309. <Bit config="0,1,2,3">
  22310. <Name>nWRP8</Name>
  22311. <Description/>
  22312. <BitOffset>0x0</BitOffset>
  22313. <BitWidth>0x8</BitWidth>
  22314. <Access>W</Access>
  22315. <Values ByBit="true">
  22316. <Val value="0x0">Write protection active on this sector</Val>
  22317. <Val value="0x1">Write protection not active on this sector</Val>
  22318. </Values>
  22319. </Bit>
  22320. </AssignedBits>
  22321. </Field>
  22322. </Category>
  22323. </Bank>
  22324. </Peripheral>
  22325. </Peripherals>
  22326. </Device>
  22327. <!-- Device: 0x480 -->
  22328. <Device>
  22329. <DeviceID>0x480</DeviceID>
  22330. <Vendor>STMicroelectronics</Vendor>
  22331. <Type>MCU</Type>
  22332. <CPU>Cortex-M7</CPU>
  22333. <Name>STM32H7A/B</Name>
  22334. <Series>STM32H7</Series>
  22335. <Description>ARM 32-bit Cortex-M7 based device</Description>
  22336. <Configurations>
  22337. <!-- JTAG_SWD Interface -->
  22338. <Interface name="JTAG_SWD">
  22339. <Configuration number="0xA">
  22340. <SecurityEx>
  22341. <WriteRegister address="0x580244F4" value="0x2"/>
  22342. <ReadRegister address="0x58000528" mask="0x1" value="0x0"/>
  22343. <ReadRegister address="0x08fff80c" mask="0x00000FFF" value="0x400"/>
  22344. </SecurityEx>
  22345. </Configuration>
  22346. <Configuration number="0xB">
  22347. <SecurityEx>
  22348. <WriteRegister address="0x580244F4" value="0x2"/>
  22349. <ReadRegister address="0x58000528" mask="0x1" value="0x1"/>
  22350. <ReadRegister address="0x08fff80c" mask="0x00000FFF" value="0x400"/>
  22351. </SecurityEx>
  22352. </Configuration>
  22353. <Configuration number="0x0"> <!-- Security extension available -->
  22354. <SecurityEx>
  22355. <WriteRegister address="0x580244F4" value="0x2"/>
  22356. <ReadRegister address="0x58000528" mask="0x1" value="0x0"/>
  22357. </SecurityEx>
  22358. </Configuration>
  22359. <Configuration number="0x1"> <!-- Security extension not available -->
  22360. <SecurityEx>
  22361. <WriteRegister address="0x580244F4" value="0x2"/>
  22362. <ReadRegister address="0x58000528" mask="0x1" value="0x1"/>
  22363. </SecurityEx>
  22364. </Configuration>
  22365. </Interface>
  22366. <!-- Bootloader Interface -->
  22367. <Interface name="Bootloader">
  22368. <Configuration number="0x0"> <!-- dummy always true, security extension is checked using dedicated cmd -->
  22369. <Dummy>
  22370. <ReadRegister address="0x08000000" mask="0x0" value="0x0"/>
  22371. </Dummy>
  22372. </Configuration>
  22373. </Interface>
  22374. </Configurations>
  22375. <!-- Peripherals -->
  22376. <Peripherals>
  22377. <!-- Embedded SRAM -->
  22378. <Peripheral>
  22379. <Name>Embedded SRAM</Name>
  22380. <Type>Storage</Type>
  22381. <Description/>
  22382. <ErasedValue>0x00</ErasedValue>
  22383. <Access>RWE</Access>
  22384. <!-- 1024 KB -->
  22385. <Configuration>
  22386. <Parameters name="SRAM" size="0x100000" address="0x24000000"/>
  22387. <Description/>
  22388. <Organization>Single</Organization>
  22389. <Bank name="Bank 1">
  22390. <Field>
  22391. <Parameters name="SRAM" size="0x100000" address="0x24000000" occurence="0x1"/>
  22392. </Field>
  22393. </Bank>
  22394. </Configuration>
  22395. </Peripheral>
  22396. <!-- Embedded Flash -->
  22397. <Peripheral>
  22398. <Name>Embedded Flash</Name>
  22399. <Type>Storage</Type>
  22400. <Description>The Flash memory interface manages AXI accesses to the Flash memory. It implements the erase and program Flash memory operations and the read and write protection mechanisms</Description>
  22401. <ErasedValue>0xFF</ErasedValue>
  22402. <Access>RWE</Access>
  22403. <FlashSize address="0x08fff80c" default="0x200000"/>
  22404. <!-- 2MB Dual Bank -->
  22405. <Configuration config="0,1">
  22406. <Parameters name="2 MBytes Dual Bank Embedded Flash" size="0x200000" address="0x08000000"/>
  22407. <Description/>
  22408. <Organization>Dual</Organization>
  22409. <Allignement>0x20</Allignement>
  22410. <Bank name="Bank 1">
  22411. <Field>
  22412. <Parameters name="sector0" size="0x2000" address="0x08000000" occurence="0x80"/>
  22413. </Field>
  22414. </Bank>
  22415. <Bank name="Bank 2">
  22416. <Field>
  22417. <Parameters name="sector128" size="0x2000" address="0x08100000" occurence="0x80"/>
  22418. </Field>
  22419. </Bank>
  22420. </Configuration>
  22421. <!-- 1MB Dual Bank -->
  22422. <Configuration config="10,11">
  22423. <Parameters name="1 MBytes Dual Bank Embedded Flash" size="0x200000" address="0x08000000"/>
  22424. <Description/>
  22425. <Organization>Dual</Organization>
  22426. <Allignement>0x20</Allignement>
  22427. <Bank name="Bank 1">
  22428. <Field>
  22429. <Parameters name="sector0" size="0x2000" address="0x08000000" occurence="0x80"/>
  22430. </Field>
  22431. </Bank>
  22432. <Bank name="Bank 2">
  22433. <Field>
  22434. <Parameters name="sector64" size="0x2000" address="0x08080000" occurence="0x80"/>
  22435. </Field>
  22436. </Bank>
  22437. </Configuration>
  22438. </Peripheral>
  22439. <!-- OTP -->
  22440. <Peripheral>
  22441. <Name>OTP</Name>
  22442. <Type>Storage</Type>
  22443. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  22444. <ErasedValue>0xFF</ErasedValue>
  22445. <Access>RW</Access>
  22446. <!-- 1 KBytes single bank -->
  22447. <Configuration>
  22448. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x08FFF000"/>
  22449. <Description/>
  22450. <Organization>Single</Organization>
  22451. <Allignement>0x20</Allignement>
  22452. <Bank name="OTP">
  22453. <Field>
  22454. <Parameters name="OTP" size="0x400" address="0x08FFF000" occurence="0x1"/>
  22455. </Field>
  22456. </Bank>
  22457. </Configuration>
  22458. </Peripheral>
  22459. <!-- Option Bytes -->
  22460. <Peripheral>
  22461. <Name>Option Bytes</Name>
  22462. <Type>Configuration</Type>
  22463. <Description/>
  22464. <Access>RW</Access>
  22465. <Bank>
  22466. <Parameters name="Bank 1" size="0x134" address="0x5200201C"/>
  22467. <Category>
  22468. <Name>Read Out Protection</Name>
  22469. <Field>
  22470. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  22471. <AssignedBits>
  22472. <Bit>
  22473. <Name>RDP</Name>
  22474. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  22475. <BitOffset>0x8</BitOffset>
  22476. <BitWidth>0x8</BitWidth>
  22477. <Access>R</Access>
  22478. <Values>
  22479. <Val value="0xAA">Level 0, no protection</Val>
  22480. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  22481. <Val value="0xCC">Level 2, chip protection</Val>
  22482. </Values>
  22483. </Bit>
  22484. </AssignedBits>
  22485. </Field>
  22486. <Field>
  22487. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  22488. <AssignedBits>
  22489. <Bit>
  22490. <Name>RDP</Name>
  22491. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  22492. <BitOffset>0x8</BitOffset>
  22493. <BitWidth>0x8</BitWidth>
  22494. <Access>W</Access>
  22495. <Values>
  22496. <Val value="0xAA">Level 0, no protection</Val>
  22497. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  22498. <Val value="0xCC">Level 2, chip protection</Val>
  22499. </Values>
  22500. </Bit>
  22501. </AssignedBits>
  22502. </Field>
  22503. </Category>
  22504. <Category>
  22505. <Name>BOR Level</Name>
  22506. <Field>
  22507. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  22508. <AssignedBits>
  22509. <Bit>
  22510. <Name>BOR_LEV</Name>
  22511. <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>
  22512. <BitOffset>0x2</BitOffset>
  22513. <BitWidth>0x2</BitWidth>
  22514. <Access>R</Access>
  22515. <Values>
  22516. <Val value="0x0">reset level OFF</Val>
  22517. <Val value="0x1">reset level is set to 2.1 V</Val>
  22518. <Val value="0x2">reset level is set to 2.4 V</Val>
  22519. <Val value="0x3">reset level is set to 2.7 V</Val>
  22520. </Values>
  22521. </Bit>
  22522. </AssignedBits>
  22523. </Field>
  22524. <Field>
  22525. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  22526. <AssignedBits>
  22527. <Bit>
  22528. <Name>BOR_LEV</Name>
  22529. <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>
  22530. <BitOffset>0x2</BitOffset>
  22531. <BitWidth>0x2</BitWidth>
  22532. <Access>W</Access>
  22533. <Values>
  22534. <Val value="0x0">reset level OFF</Val>
  22535. <Val value="0x1">reset level is set to 2.1 V</Val>
  22536. <Val value="0x2">reset level is set to 2.4 V</Val>
  22537. <Val value="0x3">reset level is set to 2.7 V</Val>
  22538. </Values>
  22539. </Bit>
  22540. </AssignedBits>
  22541. </Field>
  22542. </Category>
  22543. <Category>
  22544. <Name>User Configuration</Name>
  22545. <Field>
  22546. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  22547. <AssignedBits>
  22548. <Bit>
  22549. <Name>IWDG1_SW</Name>
  22550. <Description/>
  22551. <BitOffset>0x4</BitOffset>
  22552. <BitWidth>0x1</BitWidth>
  22553. <Access>R</Access>
  22554. <Values>
  22555. <Val value="0x0">Independent watchdog is controlled by hardware</Val>
  22556. <Val value="0x1">Independent watchdog is controlled by software</Val>
  22557. </Values>
  22558. </Bit>
  22559. <Bit>
  22560. <Name>NRST_STOP</Name>
  22561. <Description/>
  22562. <BitOffset>0x6</BitOffset>
  22563. <BitWidth>0x1</BitWidth>
  22564. <Access>R</Access>
  22565. <Values>
  22566. <Val value="0x0">STOP mode on Domain 1 is entering with reset</Val>
  22567. <Val value="0x1">STOP mode on Domain 1 is entering without reset</Val>
  22568. </Values>
  22569. </Bit>
  22570. <Bit>
  22571. <Name>NRST_STBY</Name>
  22572. <Description/>
  22573. <BitOffset>0x7</BitOffset>
  22574. <BitWidth>0x1</BitWidth>
  22575. <Access>R</Access>
  22576. <Values>
  22577. <Val value="0x0">STANDBY mode on Domain 1 is entering with reset</Val>
  22578. <Val value="0x1">STANDBY mode on Domain 1 is entering without reset</Val>
  22579. </Values>
  22580. </Bit>
  22581. <Bit>
  22582. <Name>VDDMMC_HSLV</Name>
  22583. <Description/>
  22584. <BitOffset>0x10</BitOffset>
  22585. <BitWidth>0x1</BitWidth>
  22586. <Access>R</Access>
  22587. <Values>
  22588. <Val value="0x0">I/O speed optimization at low-voltage disabled</Val>
  22589. <Val value="0x1">VDDMMC power rail operating below 2.5 V, I/O speed optimization at low-voltage feature allowed</Val>
  22590. </Values>
  22591. </Bit>
  22592. <Bit>
  22593. <Name>FZ_IWDG_STOP</Name>
  22594. <Description/>
  22595. <BitOffset>0x11</BitOffset>
  22596. <BitWidth>0x1</BitWidth>
  22597. <Access>R</Access>
  22598. <Values>
  22599. <Val value="0x0">Independent watchdog is freezed in STOP mode</Val>
  22600. <Val value="0x1">Independent watchdog is running in STOP mode</Val>
  22601. </Values>
  22602. </Bit>
  22603. <Bit>
  22604. <Name>FZ_IWDG_SDBY</Name>
  22605. <Description/>
  22606. <BitOffset>0x12</BitOffset>
  22607. <BitWidth>0x1</BitWidth>
  22608. <Access>R</Access>
  22609. <Values>
  22610. <Val value="0x0">Independent watchdog is freezed in STANDBY mode</Val>
  22611. <Val value="0x1">Independent watchdog is running in STANDBY mode</Val>
  22612. </Values>
  22613. </Bit>
  22614. <Bit config="0,10">
  22615. <Name>SECURITY</Name>
  22616. <Description/>
  22617. <BitOffset>0x15</BitOffset>
  22618. <BitWidth>0x1</BitWidth>
  22619. <Access>R</Access>
  22620. <Values>
  22621. <Val value="0x0">Security feature disabled</Val>
  22622. <Val value="0x1">Security feature enabled</Val>
  22623. </Values>
  22624. </Bit>
  22625. <Bit>
  22626. <Name>SWAP_BANK_OPT</Name>
  22627. <Description/>
  22628. <BitOffset>0x1F</BitOffset>
  22629. <BitWidth>0x1</BitWidth>
  22630. <Access>R</Access>
  22631. <Values>
  22632. <Val value="0x0">after boot loading, no swap for user sectors</Val>
  22633. <Val value="0x1">after boot loading, user sectors swapped</Val>
  22634. </Values>
  22635. </Bit>
  22636. </AssignedBits>
  22637. </Field>
  22638. <Field>
  22639. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  22640. <AssignedBits>
  22641. <Bit>
  22642. <Name>IWDG1_SW</Name>
  22643. <Description/>
  22644. <BitOffset>0x4</BitOffset>
  22645. <BitWidth>0x1</BitWidth>
  22646. <Access>W</Access>
  22647. <Values>
  22648. <Val value="0x0">Independent watchdog is controlled by hardware</Val>
  22649. <Val value="0x1">Independent watchdog is controlled by software</Val>
  22650. </Values>
  22651. </Bit>
  22652. <Bit>
  22653. <Name>NRST_STOP</Name>
  22654. <Description/>
  22655. <BitOffset>0x6</BitOffset>
  22656. <BitWidth>0x1</BitWidth>
  22657. <Access>W</Access>
  22658. <Values>
  22659. <Val value="0x0">STOP mode on Domain 1 is entering with reset</Val>
  22660. <Val value="0x1">STOP mode on Domain 1 is entering without reset</Val>
  22661. </Values>
  22662. </Bit>
  22663. <Bit>
  22664. <Name>NRST_STBY</Name>
  22665. <Description/>
  22666. <BitOffset>0x7</BitOffset>
  22667. <BitWidth>0x1</BitWidth>
  22668. <Access>W</Access>
  22669. <Values>
  22670. <Val value="0x0">STANDBY mode on Domain 1 is entering with reset</Val>
  22671. <Val value="0x1">STANDBY mode on Domain 1 is entering without reset</Val>
  22672. </Values>
  22673. </Bit>
  22674. <Bit>
  22675. <Name>VDDMMC_HSLV</Name>
  22676. <Description/>
  22677. <BitOffset>0x10</BitOffset>
  22678. <BitWidth>0x1</BitWidth>
  22679. <Access>W</Access>
  22680. <Values>
  22681. <Val value="0x0">I/O speed optimization at low-voltage disabled</Val>
  22682. <Val value="0x1">VDDMMC power rail operating below 2.5 V, I/O speed optimization at low-voltage feature allowed</Val>
  22683. </Values>
  22684. </Bit>
  22685. <Bit>
  22686. <Name>FZ_IWDG_STOP</Name>
  22687. <Description/>
  22688. <BitOffset>0x11</BitOffset>
  22689. <BitWidth>0x1</BitWidth>
  22690. <Access>W</Access>
  22691. <Values>
  22692. <Val value="0x0">Independent watchdog is freezed in STOP mode</Val>
  22693. <Val value="0x1">Independent watchdog is running in STOP mode</Val>
  22694. </Values>
  22695. </Bit>
  22696. <Bit>
  22697. <Name>FZ_IWDG_SDBY</Name>
  22698. <Description/>
  22699. <BitOffset>0x12</BitOffset>
  22700. <BitWidth>0x1</BitWidth>
  22701. <Access>W</Access>
  22702. <Values>
  22703. <Val value="0x0">Independent watchdog is freezed in STANDBY mode</Val>
  22704. <Val value="0x1">Independent watchdog is running in STANDBY mode</Val>
  22705. </Values>
  22706. </Bit>
  22707. <Bit config="0,10">
  22708. <Name>SECURITY</Name>
  22709. <Description/>
  22710. <BitOffset>0x15</BitOffset>
  22711. <BitWidth>0x1</BitWidth>
  22712. <Access>W</Access>
  22713. <Values>
  22714. <Val value="0x0">Security feature disabled</Val>
  22715. <Val value="0x1">Security feature enabled</Val>
  22716. </Values>
  22717. </Bit>
  22718. <Bit>
  22719. <Name>SWAP_BANK_OPT</Name>
  22720. <Description/>
  22721. <BitOffset>0x1F</BitOffset>
  22722. <BitWidth>0x1</BitWidth>
  22723. <Access>W</Access>
  22724. <Values>
  22725. <Val value="0x0">after boot loading, no swap for user sectors</Val>
  22726. <Val value="0x1">after boot loading, user sectors swapped</Val>
  22727. </Values>
  22728. </Bit>
  22729. </AssignedBits>
  22730. </Field>
  22731. </Category>
  22732. <Category>
  22733. <Name>Boot address Option Bytes</Name>
  22734. <Field>
  22735. <Parameters name="FBOOT7_CUR" size="0x4" address="0x52002040"/>
  22736. <AssignedBits>
  22737. <Bit>
  22738. <Name>BOOT_CM7_ADD0</Name>
  22739. <Description>Define the boot address for Cortex-M7 when BOOT0=0</Description>
  22740. <BitOffset>0x0</BitOffset>
  22741. <BitWidth>0x10</BitWidth>
  22742. <Access>R</Access>
  22743. <Equation multiplier="0x10000" offset="0x0"/>
  22744. </Bit>
  22745. <Bit>
  22746. <Name>BOOT_CM7_ADD1</Name>
  22747. <Description>Define the boot address for Cortex-M7 when BOOT0=1</Description>
  22748. <BitOffset>0x10</BitOffset>
  22749. <BitWidth>0x10</BitWidth>
  22750. <Access>R</Access>
  22751. <Equation multiplier="0x10000" offset="0x0"/>
  22752. </Bit>
  22753. </AssignedBits>
  22754. </Field>
  22755. <Field>
  22756. <Parameters name="FBOOT7_PRG" size="0x4" address="0x52002044"/>
  22757. <AssignedBits>
  22758. <Bit>
  22759. <Name>BOOT_CM7_ADD0</Name>
  22760. <Description/>
  22761. <BitOffset>0x0</BitOffset>
  22762. <BitWidth>0x10</BitWidth>
  22763. <Access>W</Access>
  22764. <Equation multiplier="0x10000" offset="0x0"/>
  22765. </Bit>
  22766. <Bit>
  22767. <Name>BOOT_CM7_ADD1</Name>
  22768. <Description/>
  22769. <BitOffset>0x10</BitOffset>
  22770. <BitWidth>0x10</BitWidth>
  22771. <Access>W</Access>
  22772. <Equation multiplier="0x10000" offset="0x0"/>
  22773. </Bit>
  22774. </AssignedBits>
  22775. </Field>
  22776. </Category>
  22777. <Category>
  22778. <Name>PCROP Protection</Name>
  22779. <Field>
  22780. <Parameters name="FPRAR_CUR_A" size="0x4" address="0x52002028"/>
  22781. <AssignedBits>
  22782. <Bit>
  22783. <Name>PROT_AREA_START1</Name>
  22784. <Description>Flash Bank 1 PCROP start address</Description>
  22785. <BitOffset>0x0</BitOffset>
  22786. <BitWidth>0xC</BitWidth>
  22787. <Access>R</Access>
  22788. <Equation multiplier="0x100" offset="0x08000000"/>
  22789. </Bit>
  22790. <Bit>
  22791. <Name>PROT_AREA_END1</Name>
  22792. <Description>Flash Bank 1 PCROP End address (excluded). Deactivation of PCROP can be done by enbaling DMEP1 bit and changing RDP from level 1 to level 0 while putting end address greater than start address.</Description>
  22793. <BitOffset>0x10</BitOffset>
  22794. <BitWidth>0xC</BitWidth>
  22795. <Access>R</Access>
  22796. <Equation multiplier="0x100" offset="0x080000FF"/>
  22797. </Bit>
  22798. <Bit>
  22799. <Name>DMEP1</Name>
  22800. <Description/>
  22801. <BitOffset>0x1F</BitOffset>
  22802. <BitWidth>0x1</BitWidth>
  22803. <Access>R</Access>
  22804. <Values>
  22805. <Val value="0x0">Flash Bank 1 PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22806. <Val value="0x1">Flash Bank 1 PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22807. </Values>
  22808. </Bit>
  22809. </AssignedBits>
  22810. </Field>
  22811. <Field>
  22812. <Parameters name="FPRAR_PRG_A" size="0x4" address="0x5200202C"/>
  22813. <AssignedBits>
  22814. <Bit>
  22815. <Name>PROT_AREA_START1</Name>
  22816. <Description>Flash Bank 1 PCROP start address</Description>
  22817. <BitOffset>0x0</BitOffset>
  22818. <BitWidth>0xC</BitWidth>
  22819. <Access>W</Access>
  22820. <Equation multiplier="0x100" offset="0x08000000"/>
  22821. </Bit>
  22822. <Bit>
  22823. <Name>PROT_AREA_END1</Name>
  22824. <Description>Flash Bank 1 PCROP End address (excluded). Deactivation of PCROP can be done by enbaling DMEP1 bit and changing RDP from level 1 to level 0 while putting end address greater than start address</Description>
  22825. <BitOffset>0x10</BitOffset>
  22826. <BitWidth>0xC</BitWidth>
  22827. <Access>W</Access>
  22828. <Equation multiplier="0x100" offset="0x080000FF"/>
  22829. </Bit>
  22830. <Bit>
  22831. <Name>DMEP1</Name>
  22832. <Description/>
  22833. <BitOffset>0x1F</BitOffset>
  22834. <BitWidth>0x1</BitWidth>
  22835. <Access>W</Access>
  22836. <Values>
  22837. <Val value="0x0">Flash Bank 1 PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22838. <Val value="0x1">Flash Bank 1 PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22839. </Values>
  22840. </Bit>
  22841. </AssignedBits>
  22842. </Field>
  22843. <Field>
  22844. <Parameters name="FPRAR_CUR_B" size="0x4" address="0x52002128"/>
  22845. <AssignedBits>
  22846. <Bit>
  22847. <Name>PROT_AREA_START2</Name>
  22848. <Description>Flash Bank 2 PCROP start address</Description>
  22849. <BitOffset>0x0</BitOffset>
  22850. <BitWidth>0xC</BitWidth>
  22851. <Access>R</Access>
  22852. <Equation multiplier="0x100" offset="0x08100000"/>
  22853. </Bit>
  22854. <Bit>
  22855. <Name>PROT_AREA_END2</Name>
  22856. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enbaling DMEP2 bit and changing RDP from level 1 to level 0 while putting end address greater than start address</Description>
  22857. <BitOffset>0x10</BitOffset>
  22858. <BitWidth>0xC</BitWidth>
  22859. <Access>R</Access>
  22860. <Equation multiplier="0x100" offset="0x081000FF"/>
  22861. </Bit>
  22862. <Bit>
  22863. <Name>DMEP2</Name>
  22864. <Description/>
  22865. <BitOffset>0x1F</BitOffset>
  22866. <BitWidth>0x1</BitWidth>
  22867. <Access>R</Access>
  22868. <Values>
  22869. <Val value="0x0">Flash Bank 2 PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22870. <Val value="0x1">Flash Bank 2 PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22871. </Values>
  22872. </Bit>
  22873. </AssignedBits>
  22874. </Field>
  22875. <Field>
  22876. <Parameters name="FPRAR_PRG_B" size="0x4" address="0x5200212C"/>
  22877. <AssignedBits>
  22878. <Bit>
  22879. <Name>PROT_AREA_START2</Name>
  22880. <Description>Flash Bank 2 PCROP start address</Description>
  22881. <BitOffset>0x0</BitOffset>
  22882. <BitWidth>0xC</BitWidth>
  22883. <Access>W</Access>
  22884. <Equation multiplier="0x100" offset="0x08100000"/>
  22885. </Bit>
  22886. <Bit>
  22887. <Name>PROT_AREA_END2</Name>
  22888. <Description>Flash Bank 2 PCROP End address (excluded). Deactivation of PCROP can be done by enbaling DMEP2 bit and changing RDP from level 1 to level 0 while putting end address greater than start address</Description>
  22889. <BitOffset>0x10</BitOffset>
  22890. <BitWidth>0xC</BitWidth>
  22891. <Access>W</Access>
  22892. <Equation multiplier="0x100" offset="0x081000FF"/>
  22893. </Bit>
  22894. <Bit>
  22895. <Name>DMEP2</Name>
  22896. <Description/>
  22897. <BitOffset>0x1F</BitOffset>
  22898. <BitWidth>0x1</BitWidth>
  22899. <Access>W</Access>
  22900. <Values>
  22901. <Val value="0x0">Flash Bank 2 PCROP zone is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22902. <Val value="0x1">Flash Bank 2 PCROP zone is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22903. </Values>
  22904. </Bit>
  22905. </AssignedBits>
  22906. </Field>
  22907. </Category>
  22908. <Category>
  22909. <Name>Secure Protection</Name>
  22910. <Field>
  22911. <Parameters name="FSCAR_CUR_A" size="0x4" address="0x52002030"/>
  22912. <AssignedBits>
  22913. <Bit config="0,10">
  22914. <Name>SEC_AREA_START1</Name>
  22915. <Description>Flash Bank 1 secure area start address</Description>
  22916. <BitOffset>0x0</BitOffset>
  22917. <BitWidth>0xC</BitWidth>
  22918. <Access>R</Access>
  22919. <Equation multiplier="0x100" offset="0x08000000"/>
  22920. </Bit>
  22921. <Bit config="0,10">
  22922. <Name>SEC_AREA_END1</Name>
  22923. <Description>Flash Bank 1 secure area end address. If this address is equal to SEC_AREA_START1, the whole bank 1 is secure protected.If this address is lower than SEC_AREA_START1, no protection is set on bank 1.</Description>
  22924. <BitOffset>0x10</BitOffset>
  22925. <BitWidth>0xC</BitWidth>
  22926. <Access>R</Access>
  22927. <Equation multiplier="0x100" offset="0x080000FF"/>
  22928. </Bit>
  22929. <Bit config="0,10">
  22930. <Name>DMES1</Name>
  22931. <Description/>
  22932. <BitOffset>0x1F</BitOffset>
  22933. <BitWidth>0x1</BitWidth>
  22934. <Access>R</Access>
  22935. <Values>
  22936. <Val value="0x0">Flash Bank 1 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22937. <Val value="0x1">Flash Bank 1 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22938. </Values>
  22939. </Bit>
  22940. </AssignedBits>
  22941. </Field>
  22942. <Field>
  22943. <Parameters name="FSCAR_PRG_A" size="0x4" address="0x52002034"/>
  22944. <AssignedBits>
  22945. <Bit config="0,10">
  22946. <Name>SEC_AREA_START1</Name>
  22947. <Description>Flash Bank 1 secure area start address</Description>
  22948. <BitOffset>0x0</BitOffset>
  22949. <BitWidth>0xC</BitWidth>
  22950. <Access>W</Access>
  22951. <Equation multiplier="0x100" offset="0x08000000"/>
  22952. </Bit>
  22953. <Bit config="0,10">
  22954. <Name>SEC_AREA_END1</Name>
  22955. <Description>Flash Bank 1 secure area end address. If this address is equal to SEC_AREA_START1, the whole bank 1 is secure protected.If this address is lower than SEC_AREA_START1, no protection is set on bank 1.</Description>
  22956. <BitOffset>0x10</BitOffset>
  22957. <BitWidth>0xC</BitWidth>
  22958. <Access>W</Access>
  22959. <Equation multiplier="0x100" offset="0x080000FF"/>
  22960. </Bit>
  22961. <Bit config="0,10">
  22962. <Name>DMES1</Name>
  22963. <Description/>
  22964. <BitOffset>0x1F</BitOffset>
  22965. <BitWidth>0x1</BitWidth>
  22966. <Access>W</Access>
  22967. <Values>
  22968. <Val value="0x0">Flash Bank 1 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  22969. <Val value="0x1">Flash Bank 1 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  22970. </Values>
  22971. </Bit>
  22972. </AssignedBits>
  22973. </Field>
  22974. <Field>
  22975. <Parameters name="FSCAR_CUR_B" size="0x4" address="0x52002130"/>
  22976. <AssignedBits>
  22977. <Bit config="0,10">
  22978. <Name>SEC_AREA_START2</Name>
  22979. <Description>Flash Bank 2 secure area start address</Description>
  22980. <BitOffset>0x0</BitOffset>
  22981. <BitWidth>0xC</BitWidth>
  22982. <Access>R</Access>
  22983. <Equation multiplier="0x100" offset="0x08100000"/>
  22984. </Bit>
  22985. <Bit config="0,10">
  22986. <Name>SEC_AREA_END2</Name>
  22987. <Description>Flash Bank 2 secure area end address. If this address is equal to SEC_AREA_START2, the whole bank 2 is secure protected.If this address is lower than SEC_AREA_START2, no protection is set on bank 2.</Description>
  22988. <BitOffset>0x10</BitOffset>
  22989. <BitWidth>0xC</BitWidth>
  22990. <Access>R</Access>
  22991. <Equation multiplier="0x100" offset="0x081000FF"/>
  22992. </Bit>
  22993. <Bit config="0,10">
  22994. <Name>DMES2</Name>
  22995. <Description/>
  22996. <BitOffset>0x1F</BitOffset>
  22997. <BitWidth>0x1</BitWidth>
  22998. <Access>R</Access>
  22999. <Values>
  23000. <Val value="0x0">Flash Bank 2 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  23001. <Val value="0x1">Flash Bank 2 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  23002. </Values>
  23003. </Bit>
  23004. </AssignedBits>
  23005. </Field>
  23006. <Field>
  23007. <Parameters name="FSCAR_PRG_B" size="0x4" address="0x52002134"/>
  23008. <AssignedBits>
  23009. <Bit config="0,10">
  23010. <Name>SEC_AREA_START2</Name>
  23011. <Description>Flash Bank 2 secure area start address</Description>
  23012. <BitOffset>0x0</BitOffset>
  23013. <BitWidth>0xC</BitWidth>
  23014. <Access>W</Access>
  23015. <Equation multiplier="0x100" offset="0x08100000"/>
  23016. </Bit>
  23017. <Bit config="0,10">
  23018. <Name>SEC_AREA_END2</Name>
  23019. <Description>Flash Bank 2 secure area end address. If this address is equal to SEC_AREA_START2, the whole bank 2 is secure protected.If this address is lower than SEC_AREA_START2, no protection is set on bank 2.</Description>
  23020. <BitOffset>0x10</BitOffset>
  23021. <BitWidth>0xC</BitWidth>
  23022. <Access>W</Access>
  23023. <Equation multiplier="0x100" offset="0x081000FF"/>
  23024. </Bit>
  23025. <Bit config="0,10">
  23026. <Name>DMES2</Name>
  23027. <Description/>
  23028. <BitOffset>0x1F</BitOffset>
  23029. <BitWidth>0x1</BitWidth>
  23030. <Access>W</Access>
  23031. <Values>
  23032. <Val value="0x0">Flash Bank 2 secure area is kept when RDP level regression (change from level 1 to 0) occurs</Val>
  23033. <Val value="0x1">Flash Bank 2 secure area is erased when RDP level regression (change from level 1 to 0) occurs</Val>
  23034. </Values>
  23035. </Bit>
  23036. </AssignedBits>
  23037. </Field>
  23038. </Category>
  23039. <Category>
  23040. <Name>DTCM RAM Protection</Name>
  23041. <Field>
  23042. <Parameters name="FOPTSR_CUR" size="0x4" address="0x5200201C"/>
  23043. <AssignedBits>
  23044. <Bit>
  23045. <Name>ST_RAM_SIZE</Name>
  23046. <Description/>
  23047. <BitOffset>0x13</BitOffset>
  23048. <BitWidth>0x2</BitWidth>
  23049. <Access>R</Access>
  23050. <Values>
  23051. <Val value="0x0">2 KB</Val>
  23052. <Val value="0x1">4 KB</Val>
  23053. <Val value="0x2">8 KB</Val>
  23054. <Val value="0x3">16 KB</Val>
  23055. </Values>
  23056. </Bit>
  23057. </AssignedBits>
  23058. </Field>
  23059. <Field>
  23060. <Parameters name="FOPTSR_PRG" size="0x4" address="0x52002020"/>
  23061. <AssignedBits>
  23062. <Bit>
  23063. <Name>ST_RAM_SIZE</Name>
  23064. <Description/>
  23065. <BitOffset>0x13</BitOffset>
  23066. <BitWidth>0x2</BitWidth>
  23067. <Access>W</Access>
  23068. <Values>
  23069. <Val value="0x0">2 KB</Val>
  23070. <Val value="0x1">4 KB</Val>
  23071. <Val value="0x2">8 KB</Val>
  23072. <Val value="0x3">16 KB</Val>
  23073. </Values>
  23074. </Bit>
  23075. </AssignedBits>
  23076. </Field>
  23077. </Category>
  23078. <Category>
  23079. <Name>Write Protection</Name>
  23080. <Field>
  23081. <Parameters name="FWPSN_CUR_A" size="0x4" address="0x52002038"/>
  23082. <AssignedBits>
  23083. <Bit>
  23084. <Name>nWRP0</Name>
  23085. <Description/>
  23086. <BitOffset>0x0</BitOffset>
  23087. <BitWidth>0x20</BitWidth>
  23088. <Access>R</Access>
  23089. <Values ByBit="true">
  23090. <Val value="0x0">Write protection active</Val>
  23091. <Val value="0x1">Write protection not active</Val>
  23092. </Values>
  23093. </Bit>
  23094. </AssignedBits>
  23095. </Field>
  23096. <Field>
  23097. <Parameters name="FWPSN_PRG_A" size="0x4" address="0x5200203C"/>
  23098. <AssignedBits>
  23099. <Bit>
  23100. <Name>nWRP0</Name>
  23101. <Description/>
  23102. <BitOffset>0x0</BitOffset>
  23103. <BitWidth>0x20</BitWidth>
  23104. <Access>W</Access>
  23105. <Values ByBit="true">
  23106. <Val value="0x0">Write protection active</Val>
  23107. <Val value="0x1">Write protection not active</Val>
  23108. </Values>
  23109. </Bit>
  23110. </AssignedBits>
  23111. </Field>
  23112. <Field>
  23113. <Parameters name="FWPSN_CUR_B" size="0x4" address="0x52002138"/>
  23114. <AssignedBits>
  23115. <Bit>
  23116. <Name>nWRP32</Name>
  23117. <Description/>
  23118. <BitOffset>0x0</BitOffset>
  23119. <BitWidth>0x20</BitWidth>
  23120. <Access>R</Access>
  23121. <Values ByBit="true">
  23122. <Val value="0x0">Write protection active</Val>
  23123. <Val value="0x1">Write protection not active</Val>
  23124. </Values>
  23125. </Bit>
  23126. </AssignedBits>
  23127. </Field>
  23128. <Field>
  23129. <Parameters name="FWPSN_PRG_B" size="0x4" address="0x5200213C"/>
  23130. <AssignedBits>
  23131. <Bit>
  23132. <Name>nWRP32</Name>
  23133. <Description/>
  23134. <BitOffset>0x0</BitOffset>
  23135. <BitWidth>0x20</BitWidth>
  23136. <Access>W</Access>
  23137. <Values ByBit="true">
  23138. <Val value="0x0">Write protection active</Val>
  23139. <Val value="0x1">Write protection not active</Val>
  23140. </Values>
  23141. </Bit>
  23142. </AssignedBits>
  23143. </Field>
  23144. </Category>
  23145. </Bank>
  23146. </Peripheral>
  23147. </Peripherals>
  23148. </Device>
  23149. <!-- Device: 0x417 -->
  23150. <Device>
  23151. <DeviceID>0x417</DeviceID>
  23152. <Vendor>STMicroelectronics</Vendor>
  23153. <Type>MCU</Type>
  23154. <CPU>Cortex-M0+</CPU>
  23155. <Name>STM32L05x/L06x/L010</Name>
  23156. <Series>STM32L0</Series>
  23157. <Description>ARM 32-bit Cortex-M0+ based device</Description>
  23158. <Configurations>
  23159. <!-- JTAG_SWD Interface -->
  23160. <Interface name="JTAG_SWD">
  23161. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  23162. <WPRMOD reference="0x1">
  23163. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x0"/>
  23164. </WPRMOD>
  23165. </Configuration>
  23166. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  23167. <WPRMOD reference="0x0">
  23168. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x100"/>
  23169. </WPRMOD>
  23170. </Configuration>
  23171. </Interface>
  23172. <!-- Bootloader Interface -->
  23173. <Interface name="Bootloader">
  23174. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  23175. <WPRMOD reference="0x1">
  23176. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x0"/>
  23177. </WPRMOD>
  23178. </Configuration>
  23179. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  23180. <WPRMOD reference="0x0">
  23181. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x100"/>
  23182. </WPRMOD>
  23183. </Configuration>
  23184. </Interface>
  23185. </Configurations>
  23186. <!-- Peripherals -->
  23187. <Peripherals>
  23188. <!-- Embedded SRAM -->
  23189. <Peripheral>
  23190. <Name>Embedded SRAM</Name>
  23191. <Type>Storage</Type>
  23192. <Description/>
  23193. <ErasedValue>0x00</ErasedValue>
  23194. <Access>RWE</Access>
  23195. <!-- 16 KB -->
  23196. <Configuration>
  23197. <Parameters name="SRAM" size="0x2000" address="0x20000000"/>
  23198. <Description/>
  23199. <Organization>Single</Organization>
  23200. <Bank name="Bank 1">
  23201. <Field>
  23202. <Parameters name="SRAM" size="0x2000" address="0x20000000" occurence="0x1"/>
  23203. </Field>
  23204. </Bank>
  23205. </Configuration>
  23206. </Peripheral>
  23207. <!-- Embedded Flash -->
  23208. <Peripheral>
  23209. <Name>Embedded Flash</Name>
  23210. <Type>Storage</Type>
  23211. <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>
  23212. <ErasedValue>0x00</ErasedValue>
  23213. <Access>RWE</Access>
  23214. <FlashSize address="0x1FF8007C" default="0x10000"/>
  23215. <!-- 128KB single Bank -->
  23216. <Configuration>
  23217. <Parameters name="64 Kbytes Embedded Flash" size="0x10000" address="0x08000000"/>
  23218. <Description/>
  23219. <Organization>Single</Organization>
  23220. <Allignement>0x4</Allignement>
  23221. <Bank name="Bank 1">
  23222. <Field>
  23223. <Parameters name="sector0" size="0x80" address="0x08000000" occurence="0x200"/>
  23224. </Field>
  23225. </Bank>
  23226. </Configuration>
  23227. </Peripheral>
  23228. <!-- Data EEPROM -->
  23229. <Peripheral>
  23230. <Name>Data EEPROM</Name>
  23231. <Type>Storage</Type>
  23232. <Description>The Data EEPROM memory block. It contains user data.</Description>
  23233. <ErasedValue>0x00</ErasedValue>
  23234. <Access>RWE</Access>
  23235. <!-- 1KB single Bank -->
  23236. <Configuration>
  23237. <Parameters name=" 2 Kbytes Data EEPROM" size="0x800" address="0x08080000"/>
  23238. <Description/>
  23239. <Organization>Single</Organization>
  23240. <Allignement>0x4</Allignement>
  23241. <Bank name="Bank 1">
  23242. <Field>
  23243. <Parameters name="EEPROM1" size="0x800" address="0x08080000" occurence="0x1"/>
  23244. </Field>
  23245. </Bank>
  23246. </Configuration>
  23247. </Peripheral>
  23248. <!-- Mirror Option Bytes -->
  23249. <Peripheral>
  23250. <Name>MirrorOptionBytes</Name>
  23251. <Type>Storage</Type>
  23252. <Description>Mirror Option Bytes contains the extra area.</Description>
  23253. <ErasedValue>0xFF</ErasedValue>
  23254. <Access>RW</Access>
  23255. <!-- 20 Bytes single bank -->
  23256. <Configuration>
  23257. <Parameters name=" 20 Bytes Data MirrorOptionBytes" size="0x14" address="0x1FF80000"/>
  23258. <Description/>
  23259. <Organization>Single</Organization>
  23260. <Allignement>0x4</Allignement>
  23261. <Bank name="MirrorOptionBytes">
  23262. <Field>
  23263. <Parameters name="MirrorOptionBytes" size="0x14" address="0x1FF80000" occurence="0x1"/>
  23264. </Field>
  23265. </Bank>
  23266. </Configuration>
  23267. </Peripheral>
  23268. <!-- Option Bytes -->
  23269. <Peripheral>
  23270. <Name>Option Bytes</Name>
  23271. <Type>Configuration</Type>
  23272. <Description/>
  23273. <Access>RW</Access>
  23274. <Bank interface="JTAG_SWD">
  23275. <Parameters name="Bank 1" size="0x68" address="0x4002201C"/>
  23276. <Category>
  23277. <Name>Read Out Protection</Name>
  23278. <Field>
  23279. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  23280. <AssignedBits>
  23281. <Bit>
  23282. <Name>RDP</Name>
  23283. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  23284. <BitOffset>0x0</BitOffset>
  23285. <BitWidth>0x8</BitWidth>
  23286. <Access>R</Access>
  23287. <Values>
  23288. <Val value="0xAA">Level 0, no protection</Val>
  23289. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  23290. <Val value="0xCC">Level 2, chip protection</Val>
  23291. </Values>
  23292. </Bit>
  23293. </AssignedBits>
  23294. </Field>
  23295. </Category>
  23296. <Category>
  23297. <Name>PCROP Protection</Name>
  23298. <Field>
  23299. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  23300. <AssignedBits>
  23301. <Bit reference="SPRMode">
  23302. <Name>WPRMOD</Name>
  23303. <Description>Sector protection mode selection option byte.</Description>
  23304. <BitOffset>0x8</BitOffset>
  23305. <BitWidth>0x1</BitWidth>
  23306. <Access>R</Access>
  23307. <Values>
  23308. <Val value="0x0">WRPx bit defines sector write protection</Val>
  23309. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  23310. </Values>
  23311. </Bit>
  23312. </AssignedBits>
  23313. </Field>
  23314. </Category>
  23315. <Category>
  23316. <Name>BOR Level</Name>
  23317. <Field>
  23318. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  23319. <AssignedBits>
  23320. <Bit>
  23321. <Name>BOR_LEV</Name>
  23322. <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>
  23323. <BitOffset>0x10</BitOffset>
  23324. <BitWidth>0x4</BitWidth>
  23325. <Access>R</Access>
  23326. <Values>
  23327. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23328. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23329. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23330. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23331. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23332. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23333. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  23334. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  23335. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  23336. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  23337. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  23338. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  23339. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  23340. </Values>
  23341. </Bit>
  23342. </AssignedBits>
  23343. </Field>
  23344. </Category>
  23345. <Category>
  23346. <Name>User Configuration</Name>
  23347. <Field>
  23348. <Parameters nname="FLASH_OBR" size="0x4" address="0x4002201C"/>
  23349. <AssignedBits>
  23350. <Bit>
  23351. <Name>IWDG_SW</Name>
  23352. <Description/>
  23353. <BitOffset>0x14</BitOffset>
  23354. <BitWidth>0x1</BitWidth>
  23355. <Access>R</Access>
  23356. <Values>
  23357. <Val value="0x0">Hardware independant watchdog</Val>
  23358. <Val value="0x1">Software independant watchdog</Val>
  23359. </Values>
  23360. </Bit>
  23361. <Bit>
  23362. <Name>nRST_STOP</Name>
  23363. <Description/>
  23364. <BitOffset>0x15</BitOffset>
  23365. <BitWidth>0x1</BitWidth>
  23366. <Access>R</Access>
  23367. <Values>
  23368. <Val value="0x0">Reset generated when entering Stop mode</Val>
  23369. <Val value="0x1">No reset generated</Val>
  23370. </Values>
  23371. </Bit>
  23372. <Bit>
  23373. <Name>nRST_STDBY</Name>
  23374. <Description/>
  23375. <BitOffset>0x16</BitOffset>
  23376. <BitWidth>0x1</BitWidth>
  23377. <Access>R</Access>
  23378. <Values>
  23379. <Val value="0x0">Reset generated when entering Standby mode</Val>
  23380. <Val value="0x1">No reset generated</Val>
  23381. </Values>
  23382. </Bit>
  23383. <Bit>
  23384. <Name>nBOOT1</Name>
  23385. <Description/>
  23386. <BitOffset>0x1F</BitOffset>
  23387. <BitWidth>0x1</BitWidth>
  23388. <Access>R</Access>
  23389. <Values>
  23390. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  23391. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  23392. </Values>
  23393. </Bit>
  23394. </AssignedBits>
  23395. </Field>
  23396. </Category>
  23397. <Category>
  23398. <Name>Write Protection</Name>
  23399. <Field>
  23400. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40022020"/>
  23401. <AssignedBits>
  23402. <Bit config="0">
  23403. <Name>WRPOT1</Name>
  23404. <Description/>
  23405. <BitOffset>0x0</BitOffset>
  23406. <BitWidth>0x10</BitWidth>
  23407. <Access>R</Access>
  23408. <Values ByBit="true">
  23409. <Val value="0x0">Write protection not active</Val>
  23410. <Val value="0x1">Write protection active</Val>
  23411. </Values>
  23412. </Bit>
  23413. <Bit config="1">
  23414. <Name>WRPOT1</Name>
  23415. <Description/>
  23416. <BitOffset>0x0</BitOffset>
  23417. <BitWidth>0x10</BitWidth>
  23418. <Access>R</Access>
  23419. <Values ByBit="true">
  23420. <Val value="0x0">read/Write protection active</Val>
  23421. <Val value="0x1">read/Write protection not active</Val>
  23422. </Values>
  23423. </Bit>
  23424. </AssignedBits>
  23425. </Field>
  23426. </Category>
  23427. </Bank>
  23428. <Bank interface="JTAG_SWD">
  23429. <Parameters name="Bank 1" size="0x14" address="0x1FF80000"/>
  23430. <Category>
  23431. <Name>Read Out Protection</Name>
  23432. <Field>
  23433. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  23434. <AssignedBits>
  23435. <Bit>
  23436. <Name>RDP</Name>
  23437. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  23438. <BitOffset>0x0</BitOffset>
  23439. <BitWidth>0x8</BitWidth>
  23440. <Access>W</Access>
  23441. <Values>
  23442. <Val value="0xAA">Level 0, no protection</Val>
  23443. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  23444. <Val value="0xCC">Level 2, chip protection</Val>
  23445. </Values>
  23446. </Bit>
  23447. </AssignedBits>
  23448. </Field>
  23449. </Category>
  23450. <Category>
  23451. <Name>PCROP Protection</Name>
  23452. <Field>
  23453. <Parameters name="FLASH_OBR" size="0x4" address="0x1FF80000"/>
  23454. <AssignedBits>
  23455. <Bit reference="SPRMode">
  23456. <Name>WPRMOD</Name>
  23457. <Description>Sector protection mode selection option byte.</Description>
  23458. <BitOffset>0x8</BitOffset>
  23459. <BitWidth>0x1</BitWidth>
  23460. <Access>W</Access>
  23461. <Values>
  23462. <Val value="0x0">WRPx bit defines sector write protection</Val>
  23463. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  23464. </Values>
  23465. </Bit>
  23466. </AssignedBits>
  23467. </Field>
  23468. </Category>
  23469. <Category>
  23470. <Name>BOR Level</Name>
  23471. <Field>
  23472. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  23473. <AssignedBits>
  23474. <Bit>
  23475. <Name>BOR_LEV</Name>
  23476. <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>
  23477. <BitOffset>0x0</BitOffset>
  23478. <BitWidth>0x4</BitWidth>
  23479. <Access>W</Access>
  23480. <Values>
  23481. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23482. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23483. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23484. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23485. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23486. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23487. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  23488. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  23489. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  23490. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  23491. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  23492. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  23493. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  23494. </Values>
  23495. </Bit>
  23496. </AssignedBits>
  23497. </Field>
  23498. </Category>
  23499. <Category>
  23500. <Name>User Configuration</Name>
  23501. <Field>
  23502. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  23503. <AssignedBits>
  23504. <Bit>
  23505. <Name>IWDG_SW</Name>
  23506. <Description/>
  23507. <BitOffset>0x4</BitOffset>
  23508. <BitWidth>0x1</BitWidth>
  23509. <Access>W</Access>
  23510. <Values>
  23511. <Val value="0x0">Hardware independant watchdog</Val>
  23512. <Val value="0x1">Software independant watchdog</Val>
  23513. </Values>
  23514. </Bit>
  23515. <Bit>
  23516. <Name>nRST_STOP</Name>
  23517. <Description/>
  23518. <BitOffset>0x5</BitOffset>
  23519. <BitWidth>0x1</BitWidth>
  23520. <Access>W</Access>
  23521. <Values>
  23522. <Val value="0x0">Reset generated when entering Stop mode</Val>
  23523. <Val value="0x1">No reset generated</Val>
  23524. </Values>
  23525. </Bit>
  23526. <Bit>
  23527. <Name>nRST_STDBY</Name>
  23528. <Description/>
  23529. <BitOffset>0x6</BitOffset>
  23530. <BitWidth>0x1</BitWidth>
  23531. <Access>W</Access>
  23532. <Values>
  23533. <Val value="0x0">Reset generated when entering Standby mode</Val>
  23534. <Val value="0x1">No reset generated</Val>
  23535. </Values>
  23536. </Bit>
  23537. <Bit>
  23538. <Name>nBOOT1</Name>
  23539. <Description/>
  23540. <BitOffset>0x0F</BitOffset>
  23541. <BitWidth>0x1</BitWidth>
  23542. <Access>W</Access>
  23543. <Values>
  23544. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  23545. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  23546. </Values>
  23547. </Bit>
  23548. </AssignedBits>
  23549. </Field>
  23550. </Category>
  23551. <Category>
  23552. <Name>Write Protection</Name>
  23553. <Field>
  23554. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  23555. <AssignedBits>
  23556. <Bit>
  23557. <Name>WRPOT1</Name>
  23558. <Description/>
  23559. <BitOffset>0x0</BitOffset>
  23560. <BitWidth>0x10</BitWidth>
  23561. <Access>W</Access>
  23562. <Values ByBit="true">
  23563. <Val value="0x0">Write protection not active</Val>
  23564. <Val value="0x1">Write protection active</Val>
  23565. </Values>
  23566. </Bit>
  23567. </AssignedBits>
  23568. </Field>
  23569. </Category>
  23570. </Bank>
  23571. <Bank interface="Bootloader">
  23572. <Parameters name="Bank 2" size="0x14" address="0x1FF80000"/>
  23573. <Category>
  23574. <Name>Read Out Protection</Name>
  23575. <Field>
  23576. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  23577. <AssignedBits>
  23578. <Bit>
  23579. <Name>RDP</Name>
  23580. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  23581. <BitOffset>0x0</BitOffset>
  23582. <BitWidth>0x8</BitWidth>
  23583. <Access>RW</Access>
  23584. <Values>
  23585. <Val value="0xAA">Level 0, no protection</Val>
  23586. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  23587. <Val value="0xCC">Level 2, chip protection</Val>
  23588. </Values>
  23589. </Bit>
  23590. </AssignedBits>
  23591. </Field>
  23592. </Category>
  23593. <Category>
  23594. <Name>PCROP Protection</Name>
  23595. <Field>
  23596. <Parameters name="FLASH_OBR" size="0x4" address="0x1FF80000"/>
  23597. <AssignedBits>
  23598. <Bit reference="SPRMode">
  23599. <Name>WPRMOD</Name>
  23600. <Description>Sector protection mode selection option byte.</Description>
  23601. <BitOffset>0x8</BitOffset>
  23602. <BitWidth>0x1</BitWidth>
  23603. <Access>RW</Access>
  23604. <Values>
  23605. <Val value="0x0">WRPx bit defines sector write protection</Val>
  23606. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  23607. </Values>
  23608. </Bit>
  23609. </AssignedBits>
  23610. </Field>
  23611. </Category>
  23612. <Category>
  23613. <Name>BOR Level</Name>
  23614. <Field>
  23615. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  23616. <AssignedBits>
  23617. <Bit>
  23618. <Name>BOR_LEV</Name>
  23619. <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>
  23620. <BitOffset>0x0</BitOffset>
  23621. <BitWidth>0x4</BitWidth>
  23622. <Access>RW</Access>
  23623. <Values>
  23624. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23625. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23626. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23627. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23628. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23629. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23630. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  23631. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  23632. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  23633. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  23634. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  23635. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  23636. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  23637. </Values>
  23638. </Bit>
  23639. </AssignedBits>
  23640. </Field>
  23641. </Category>
  23642. <Category>
  23643. <Name>User Configuration</Name>
  23644. <Field>
  23645. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  23646. <AssignedBits>
  23647. <Bit>
  23648. <Name>IWDG_SW</Name>
  23649. <Description/>
  23650. <BitOffset>0x4</BitOffset>
  23651. <BitWidth>0x1</BitWidth>
  23652. <Access>RW</Access>
  23653. <Values>
  23654. <Val value="0x0">Hardware independant watchdog</Val>
  23655. <Val value="0x1">Software independant watchdog</Val>
  23656. </Values>
  23657. </Bit>
  23658. <Bit>
  23659. <Name>nRST_STOP</Name>
  23660. <Description/>
  23661. <BitOffset>0x5</BitOffset>
  23662. <BitWidth>0x1</BitWidth>
  23663. <Access>RW</Access>
  23664. <Values>
  23665. <Val value="0x0">Reset generated when entering Stop mode</Val>
  23666. <Val value="0x1">No reset generated</Val>
  23667. </Values>
  23668. </Bit>
  23669. <Bit>
  23670. <Name>nRST_STDBY</Name>
  23671. <Description/>
  23672. <BitOffset>0x6</BitOffset>
  23673. <BitWidth>0x1</BitWidth>
  23674. <Access>RW</Access>
  23675. <Values>
  23676. <Val value="0x0">Reset generated when entering Standby mode</Val>
  23677. <Val value="0x1">No reset generated</Val>
  23678. </Values>
  23679. </Bit>
  23680. <Bit>
  23681. <Name>nBOOT1</Name>
  23682. <Description/>
  23683. <BitOffset>0x0F</BitOffset>
  23684. <BitWidth>0x1</BitWidth>
  23685. <Access>RW</Access>
  23686. <Values>
  23687. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  23688. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  23689. </Values>
  23690. </Bit>
  23691. </AssignedBits>
  23692. </Field>
  23693. </Category>
  23694. <Category>
  23695. <Name>Write Protection</Name>
  23696. <Field>
  23697. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  23698. <AssignedBits>
  23699. <Bit>
  23700. <Name>WRPOT1</Name>
  23701. <Description/>
  23702. <BitOffset>0x0</BitOffset>
  23703. <BitWidth>0x10</BitWidth>
  23704. <Access>RW</Access>
  23705. <Values ByBit="true">
  23706. <Val value="0x0">Write protection not active</Val>
  23707. <Val value="0x1">Write protection active</Val>
  23708. </Values>
  23709. </Bit>
  23710. </AssignedBits>
  23711. </Field>
  23712. </Category>
  23713. </Bank>
  23714. </Peripheral>
  23715. </Peripherals>
  23716. </Device>
  23717. <!-- Device: 0x447 -->
  23718. <Device>
  23719. <DeviceID>0x447</DeviceID>
  23720. <Vendor>STMicroelectronics</Vendor>
  23721. <Type>MCU</Type>
  23722. <CPU>Cortex-M0+</CPU>
  23723. <Name>STM32L07x/L08x/L010</Name>
  23724. <Series>STM32L0</Series>
  23725. <Description>ARM 32-bit Cortex-M0+ based device</Description>
  23726. <Configurations>
  23727. <!-- JTAG_SWD Interface -->
  23728. <Interface name="JTAG_SWD">
  23729. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  23730. <WPRMOD reference="0x1">
  23731. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x0"/>
  23732. </WPRMOD>
  23733. <ValueLine>
  23734. <ReadRegister address="0x1FF8007C" mask="0x0000FFFF" value="0x0080"/>
  23735. </ValueLine>
  23736. </Configuration>
  23737. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  23738. <WPRMOD reference="0x0">
  23739. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x100"/>
  23740. </WPRMOD>
  23741. <ValueLine>
  23742. <ReadRegister address="0x1FF8007C" mask="0x0000FFFF" value="0x0080"/>
  23743. </ValueLine>
  23744. </Configuration>
  23745. <Configuration number="0x2"> <!-- WRPx control the write protection of user sector-->
  23746. <WPRMOD reference="0x1">
  23747. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x0"/>
  23748. </WPRMOD>
  23749. </Configuration>
  23750. <Configuration number="0x3"> <!-- WRPx control the read/write protection PcROP-->
  23751. <WPRMOD reference="0x0">
  23752. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x100"/>
  23753. </WPRMOD>
  23754. </Configuration>
  23755. </Interface>
  23756. <!-- Bootloader Interface -->
  23757. <Interface name="Bootloader">
  23758. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  23759. <WPRMOD reference="0x1">
  23760. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x0"/>
  23761. </WPRMOD>
  23762. <ValueLine>
  23763. <ReadRegister address="0x1FF00000" mask="0xFFFFFFFF" value="0x20001290"/>
  23764. </ValueLine>
  23765. </Configuration>
  23766. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  23767. <WPRMOD reference="0x0">
  23768. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x100"/>
  23769. </WPRMOD>
  23770. <ValueLine>
  23771. <ReadRegister address="0x1FF00000" mask="0xFFFFFFFF" value="0x20001290"/>
  23772. </ValueLine>
  23773. </Configuration>
  23774. <Configuration number="0x2"> <!-- WRPx control the write protection of user sector-->
  23775. <WPRMOD reference="0x1">
  23776. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x0"/>
  23777. </WPRMOD>
  23778. </Configuration>
  23779. <Configuration number="0x3"> <!-- WRPx control the read/write protection PcROP-->
  23780. <WPRMOD reference="0x0">
  23781. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x100"/>
  23782. </WPRMOD>
  23783. </Configuration>
  23784. </Interface>
  23785. </Configurations>
  23786. <!-- Peripherals -->
  23787. <Peripherals>
  23788. <!-- Embedded SRAM -->
  23789. <Peripheral>
  23790. <Name>Embedded SRAM</Name>
  23791. <Type>Storage</Type>
  23792. <Description/>
  23793. <ErasedValue>0x00</ErasedValue>
  23794. <Access>RWE</Access>
  23795. <!-- 20 KB -->
  23796. <Configuration>
  23797. <Parameters name="SRAM" size="0x5000" address="0x20000000"/>
  23798. <Description/>
  23799. <Organization>Single</Organization>
  23800. <Bank name="Bank 1">
  23801. <Field>
  23802. <Parameters name="SRAM" size="0x5000" address="0x20000000" occurence="0x1"/>
  23803. </Field>
  23804. </Bank>
  23805. </Configuration>
  23806. </Peripheral>
  23807. <!-- Embedded Flash -->
  23808. <Peripheral>
  23809. <Name>Embedded Flash</Name>
  23810. <Type>Storage</Type>
  23811. <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>
  23812. <ErasedValue>0x00</ErasedValue>
  23813. <Access>RWE</Access>
  23814. <FlashSize address="0x1FF8007C" default="0x30000"/>
  23815. <!-- 128KB single Bank -->
  23816. <Configuration config="0,1">
  23817. <Parameters name="128 Kbytes Embedded Flash" size="0x20000" address="0x08000000"/>
  23818. <Description/>
  23819. <Organization>Single</Organization>
  23820. <Allignement>0x4</Allignement>
  23821. <Bank name="Bank 1">
  23822. <Field>
  23823. <Parameters name="sector0" size="0x80" address="0x08000000" occurence="0x400"/>
  23824. </Field>
  23825. </Bank>
  23826. </Configuration>
  23827. <Configuration config="2,3">
  23828. <Parameters name="192 Kbytes Embedded Flash" size="0x30000" address="0x08000000"/>
  23829. <Description/>
  23830. <Organization>Single</Organization>
  23831. <Allignement>0x4</Allignement>
  23832. <Bank name="Bank 1">
  23833. <Field>
  23834. <Parameters name="sector0" size="0x80" address="0x08000000" occurence="0x600"/>
  23835. </Field>
  23836. </Bank>
  23837. </Configuration>
  23838. </Peripheral>
  23839. <!-- Data EEPROM -->
  23840. <Peripheral>
  23841. <Name>Data EEPROM</Name>
  23842. <Type>Storage</Type>
  23843. <Description>The Data EEPROM memory block. It contains user data.</Description>
  23844. <ErasedValue>0x00</ErasedValue>
  23845. <Access>RWE</Access>
  23846. <!-- 1KB single Bank -->
  23847. <Configuration>
  23848. <Parameters name=" 2 Kbytes Data EEPROM" size="0x1800" address="0x08080000"/>
  23849. <Description/>
  23850. <Organization>Single</Organization>
  23851. <Allignement>0x4</Allignement>
  23852. <Bank name="Bank 1">
  23853. <Field>
  23854. <Parameters name="EEPROM1" size="0xC00" address="0x08080000" occurence="0x1"/>
  23855. </Field>
  23856. </Bank>
  23857. <Bank name="Bank 2">
  23858. <Field>
  23859. <Parameters name="EEPROM2" size="0xC00" address="0x08080C00" occurence="0x1"/>
  23860. </Field>
  23861. </Bank>
  23862. </Configuration>
  23863. </Peripheral>
  23864. <!-- Mirror Option Bytes -->
  23865. <Peripheral>
  23866. <Name>MirrorOptionBytes</Name>
  23867. <Type>Storage</Type>
  23868. <Description>Mirror Option Bytes contains the extra area.</Description>
  23869. <ErasedValue>0xFF</ErasedValue>
  23870. <Access>RW</Access>
  23871. <!-- 20 Bytes single bank -->
  23872. <Configuration>
  23873. <Parameters name=" 20 Bytes Data MirrorOptionBytes" size="0x14" address="0x1FF80000"/>
  23874. <Description/>
  23875. <Organization>Single</Organization>
  23876. <Allignement>0x4</Allignement>
  23877. <Bank name="MirrorOptionBytes">
  23878. <Field>
  23879. <Parameters name="MirrorOptionBytes" size="0x14" address="0x1FF80000" occurence="0x1"/>
  23880. </Field>
  23881. </Bank>
  23882. </Configuration>
  23883. </Peripheral>
  23884. <!-- Option Bytes -->
  23885. <Peripheral>
  23886. <Name>Option Bytes</Name>
  23887. <Type>Configuration</Type>
  23888. <Description/>
  23889. <Access>RW</Access>
  23890. <Bank interface="JTAG_SWD">
  23891. <Parameters name="Bank 1" size="0x68" address="0x4002201C"/>
  23892. <Category>
  23893. <Name>Read Out Protection</Name>
  23894. <Field>
  23895. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  23896. <AssignedBits>
  23897. <Bit>
  23898. <Name>RDP</Name>
  23899. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  23900. <BitOffset>0x0</BitOffset>
  23901. <BitWidth>0x8</BitWidth>
  23902. <Access>R</Access>
  23903. <Values>
  23904. <Val value="0xAA">Level 0, no protection</Val>
  23905. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  23906. <Val value="0xCC">Level 2, chip protection</Val>
  23907. </Values>
  23908. </Bit>
  23909. </AssignedBits>
  23910. </Field>
  23911. </Category>
  23912. <Category>
  23913. <Name>PCROP Protection</Name>
  23914. <Field>
  23915. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  23916. <AssignedBits>
  23917. <Bit reference="SPRMode">
  23918. <Name>WPRMOD</Name>
  23919. <Description>Sector protection mode selection option byte.</Description>
  23920. <BitOffset>0x8</BitOffset>
  23921. <BitWidth>0x1</BitWidth>
  23922. <Access>R</Access>
  23923. <Values>
  23924. <Val value="0x0">WRPx bit defines sector write protection</Val>
  23925. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  23926. </Values>
  23927. </Bit>
  23928. </AssignedBits>
  23929. </Field>
  23930. </Category>
  23931. <Category>
  23932. <Name>BOR Level</Name>
  23933. <Field>
  23934. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  23935. <AssignedBits>
  23936. <Bit>
  23937. <Name>BOR_LEV</Name>
  23938. <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>
  23939. <BitOffset>0x10</BitOffset>
  23940. <BitWidth>0x4</BitWidth>
  23941. <Access>R</Access>
  23942. <Values>
  23943. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23944. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23945. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23946. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23947. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23948. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  23949. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  23950. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  23951. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  23952. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  23953. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  23954. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  23955. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  23956. </Values>
  23957. </Bit>
  23958. </AssignedBits>
  23959. </Field>
  23960. </Category>
  23961. <Category>
  23962. <Name>User Configuration</Name>
  23963. <Field>
  23964. <Parameters nname="FLASH_OBR" size="0x4" address="0x4002201C"/>
  23965. <AssignedBits>
  23966. <Bit>
  23967. <Name>IWDG_SW</Name>
  23968. <Description/>
  23969. <BitOffset>0x14</BitOffset>
  23970. <BitWidth>0x1</BitWidth>
  23971. <Access>R</Access>
  23972. <Values>
  23973. <Val value="0x0">Hardware independant watchdog</Val>
  23974. <Val value="0x1">Software independant watchdog</Val>
  23975. </Values>
  23976. </Bit>
  23977. <Bit>
  23978. <Name>nRST_STOP</Name>
  23979. <Description/>
  23980. <BitOffset>0x15</BitOffset>
  23981. <BitWidth>0x1</BitWidth>
  23982. <Access>R</Access>
  23983. <Values>
  23984. <Val value="0x0">Reset generated when entering Stop mode</Val>
  23985. <Val value="0x1">No reset generated</Val>
  23986. </Values>
  23987. </Bit>
  23988. <Bit>
  23989. <Name>nRST_STDBY</Name>
  23990. <Description/>
  23991. <BitOffset>0x16</BitOffset>
  23992. <BitWidth>0x1</BitWidth>
  23993. <Access>R</Access>
  23994. <Values>
  23995. <Val value="0x0">Reset generated when entering Standby mode</Val>
  23996. <Val value="0x1">No reset generated</Val>
  23997. </Values>
  23998. </Bit>
  23999. <Bit>
  24000. <Name>BFB2</Name>
  24001. <Description/>
  24002. <BitOffset>0x17</BitOffset>
  24003. <BitWidth>0x1</BitWidth>
  24004. <Access>R</Access>
  24005. <Values>
  24006. <Val value="0x0">Boot from flash bank 1</Val>
  24007. <Val value="0x1">boot from flash bank 2</Val>
  24008. </Values>
  24009. </Bit>
  24010. <Bit>
  24011. <Name>nBOOT1</Name>
  24012. <Description/>
  24013. <BitOffset>0x1F</BitOffset>
  24014. <BitWidth>0x1</BitWidth>
  24015. <Access>R</Access>
  24016. <Values>
  24017. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  24018. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  24019. </Values>
  24020. </Bit>
  24021. </AssignedBits>
  24022. </Field>
  24023. </Category>
  24024. <Category>
  24025. <Name>Write Protection</Name>
  24026. <Field>
  24027. <Parameters name="FLASH_WRPROT1" size="0x4" address="0x40022020"/>
  24028. <AssignedBits>
  24029. <Bit config="0,2">
  24030. <Name>WRPOT0</Name>
  24031. <Description/>
  24032. <BitOffset>0x0</BitOffset>
  24033. <BitWidth>0x20</BitWidth>
  24034. <Access>R</Access>
  24035. <Values ByBit="true">
  24036. <Val value="0x0">Write protection not active</Val>
  24037. <Val value="0x1">Write protection active</Val>
  24038. </Values>
  24039. </Bit>
  24040. <Bit config="1,3">
  24041. <Name>WRPOT0</Name>
  24042. <Description/>
  24043. <BitOffset>0x0</BitOffset>
  24044. <BitWidth>0x20</BitWidth>
  24045. <Access>R</Access>
  24046. <Values ByBit="true">
  24047. <Val value="0x0">read/Write protection active</Val>
  24048. <Val value="0x1">read/Write protection not active</Val>
  24049. </Values>
  24050. </Bit>
  24051. </AssignedBits>
  24052. </Field>
  24053. <Field>
  24054. <Parameters name="FLASH_WRPROT2" size="0x4" address="0x40022080"/>
  24055. <AssignedBits>
  24056. <Bit config="0,2">
  24057. <Name>WRPOT32</Name>
  24058. <Description/>
  24059. <BitOffset>0x0</BitOffset>
  24060. <BitWidth>0x10</BitWidth>
  24061. <Access>R</Access>
  24062. <Values ByBit="true">
  24063. <Val value="0x0">Write protection not active</Val>
  24064. <Val value="0x1">Write protection active</Val>
  24065. </Values>
  24066. </Bit>
  24067. <Bit config="1,3">
  24068. <Name>WRPOT32</Name>
  24069. <Description/>
  24070. <BitOffset>0x0</BitOffset>
  24071. <BitWidth>0x10</BitWidth>
  24072. <Access>R</Access>
  24073. <Values ByBit="true">
  24074. <Val value="0x0">read/Write protection active</Val>
  24075. <Val value="0x1">read/Write protection not active</Val>
  24076. </Values>
  24077. </Bit>
  24078. </AssignedBits>
  24079. </Field>
  24080. </Category>
  24081. </Bank>
  24082. <Bank interface="JTAG_SWD">
  24083. <Parameters name="Bank 2" size="0x14" address="0x1FF80000"/>
  24084. <Category>
  24085. <Name>Read Out Protection</Name>
  24086. <Field>
  24087. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  24088. <AssignedBits>
  24089. <Bit>
  24090. <Name>RDP</Name>
  24091. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  24092. <BitOffset>0x0</BitOffset>
  24093. <BitWidth>0x8</BitWidth>
  24094. <Access>W</Access>
  24095. <Values>
  24096. <Val value="0xAA">Level 0, no protection</Val>
  24097. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  24098. <Val value="0xCC">Level 2, chip protection</Val>
  24099. </Values>
  24100. </Bit>
  24101. </AssignedBits>
  24102. </Field>
  24103. </Category>
  24104. <Category>
  24105. <Name>PCROP Protection</Name>
  24106. <Field>
  24107. <Parameters name="FLASH_OBR" size="0x4" address="0x1FF80000"/>
  24108. <AssignedBits>
  24109. <Bit reference="SPRMode">
  24110. <Name>WPRMOD</Name>
  24111. <Description>Sector protection mode selection option byte.</Description>
  24112. <BitOffset>0x8</BitOffset>
  24113. <BitWidth>0x1</BitWidth>
  24114. <Access>W</Access>
  24115. <Values>
  24116. <Val value="0x0">WRPx bit defines sector write protection</Val>
  24117. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  24118. </Values>
  24119. </Bit>
  24120. </AssignedBits>
  24121. </Field>
  24122. </Category>
  24123. <Category>
  24124. <Name>BOR Level</Name>
  24125. <Field>
  24126. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  24127. <AssignedBits>
  24128. <Bit>
  24129. <Name>BOR_LEV</Name>
  24130. <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>
  24131. <BitOffset>0x0</BitOffset>
  24132. <BitWidth>0x4</BitWidth>
  24133. <Access>W</Access>
  24134. <Values>
  24135. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24136. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24137. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24138. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24139. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24140. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24141. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  24142. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  24143. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  24144. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  24145. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  24146. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  24147. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  24148. </Values>
  24149. </Bit>
  24150. </AssignedBits>
  24151. </Field>
  24152. </Category>
  24153. <Category>
  24154. <Name>User Configuration</Name>
  24155. <Field>
  24156. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  24157. <AssignedBits>
  24158. <Bit>
  24159. <Name>IWDG_SW</Name>
  24160. <Description/>
  24161. <BitOffset>0x4</BitOffset>
  24162. <BitWidth>0x1</BitWidth>
  24163. <Access>W</Access>
  24164. <Values>
  24165. <Val value="0x0">Hardware independant watchdog</Val>
  24166. <Val value="0x1">Software independant watchdog</Val>
  24167. </Values>
  24168. </Bit>
  24169. <Bit>
  24170. <Name>nRST_STOP</Name>
  24171. <Description/>
  24172. <BitOffset>0x5</BitOffset>
  24173. <BitWidth>0x1</BitWidth>
  24174. <Access>W</Access>
  24175. <Values>
  24176. <Val value="0x0">Reset generated when entering Stop mode</Val>
  24177. <Val value="0x1">No reset generated</Val>
  24178. </Values>
  24179. </Bit>
  24180. <Bit>
  24181. <Name>nRST_STDBY</Name>
  24182. <Description/>
  24183. <BitOffset>0x6</BitOffset>
  24184. <BitWidth>0x1</BitWidth>
  24185. <Access>W</Access>
  24186. <Values>
  24187. <Val value="0x0">Reset generated when entering Standby mode</Val>
  24188. <Val value="0x1">No reset generated</Val>
  24189. </Values>
  24190. </Bit>
  24191. <Bit>
  24192. <Name>BFB2</Name>
  24193. <Description/>
  24194. <BitOffset>0x7</BitOffset>
  24195. <BitWidth>0x1</BitWidth>
  24196. <Access>W</Access>
  24197. <Values>
  24198. <Val value="0x0">Boot from flash bank 1</Val>
  24199. <Val value="0x1">boot from flash bank 2</Val>
  24200. </Values>
  24201. </Bit>
  24202. <Bit>
  24203. <Name>nBOOT1</Name>
  24204. <Description/>
  24205. <BitOffset>0x0F</BitOffset>
  24206. <BitWidth>0x1</BitWidth>
  24207. <Access>W</Access>
  24208. <Values>
  24209. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  24210. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  24211. </Values>
  24212. </Bit>
  24213. </AssignedBits>
  24214. </Field>
  24215. </Category>
  24216. <Category>
  24217. <Name>Write Protection</Name>
  24218. <Field>
  24219. <Parameters name="FLASH_WRPROT11" size="0x4" address="0x1FF80008"/>
  24220. <AssignedBits>
  24221. <Bit config="0,2">
  24222. <Name>WRPOT0</Name>
  24223. <Description/>
  24224. <BitOffset>0x0</BitOffset>
  24225. <BitWidth>0x10</BitWidth>
  24226. <Access>W</Access>
  24227. <Values ByBit="true">
  24228. <Val value="0x0">Write protection not active</Val>
  24229. <Val value="0x1">Write protection active</Val>
  24230. </Values>
  24231. </Bit>
  24232. <Bit config="1,3">
  24233. <Name>WRPOT0</Name>
  24234. <Description/>
  24235. <BitOffset>0x0</BitOffset>
  24236. <BitWidth>0x10</BitWidth>
  24237. <Access>W</Access>
  24238. <Values ByBit="true">
  24239. <Val value="0x0">read/Write protection active</Val>
  24240. <Val value="0x1">read/Write protection not active</Val>
  24241. </Values>
  24242. </Bit>
  24243. </AssignedBits>
  24244. </Field>
  24245. <Field>
  24246. <Parameters name="FLASH_WRPROT12" size="0x4" address="0x1FF8000C"/>
  24247. <AssignedBits>
  24248. <Bit config="0,2">
  24249. <Name>WRPOT16</Name>
  24250. <Description/>
  24251. <BitOffset>0x0</BitOffset>
  24252. <BitWidth>0x10</BitWidth>
  24253. <Access>W</Access>
  24254. <Values ByBit="true">
  24255. <Val value="0x0">Write protection not active</Val>
  24256. <Val value="0x1">Write protection active</Val>
  24257. </Values>
  24258. </Bit>
  24259. <Bit config="1,3">
  24260. <Name>WRPOT16</Name>
  24261. <Description/>
  24262. <BitOffset>0x0</BitOffset>
  24263. <BitWidth>0x10</BitWidth>
  24264. <Access>W</Access>
  24265. <Values ByBit="true">
  24266. <Val value="0x0">read/Write protection active</Val>
  24267. <Val value="0x1">read/Write protection not active</Val>
  24268. </Values>
  24269. </Bit>
  24270. </AssignedBits>
  24271. </Field>
  24272. <Field>
  24273. <Parameters name="FLASH_WRPROT2" size="0x4" address="0x1FF80010"/>
  24274. <AssignedBits>
  24275. <Bit config="0,2">
  24276. <Name>WRPOT32</Name>
  24277. <Description/>
  24278. <BitOffset>0x0</BitOffset>
  24279. <BitWidth>0x10</BitWidth>
  24280. <Access>W</Access>
  24281. <Values ByBit="true">
  24282. <Val value="0x0">Write protection not active</Val>
  24283. <Val value="0x1">Write protection active</Val>
  24284. </Values>
  24285. </Bit>
  24286. <Bit config="1,3">
  24287. <Name>WRPOT32</Name>
  24288. <Description/>
  24289. <BitOffset>0x0</BitOffset>
  24290. <BitWidth>0x10</BitWidth>
  24291. <Access>W</Access>
  24292. <Values ByBit="true">
  24293. <Val value="0x0">read/Write protection active</Val>
  24294. <Val value="0x1">read/Write protection not active</Val>
  24295. </Values>
  24296. </Bit>
  24297. </AssignedBits>
  24298. </Field>
  24299. </Category>
  24300. </Bank>
  24301. <Bank interface="Bootloader">
  24302. <Parameters name="Bank 1" size="0x14" address="0x1FF80000"/>
  24303. <Category>
  24304. <Name>Read Out Protection</Name>
  24305. <Field>
  24306. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  24307. <AssignedBits>
  24308. <Bit>
  24309. <Name>RDP</Name>
  24310. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  24311. <BitOffset>0x0</BitOffset>
  24312. <BitWidth>0x8</BitWidth>
  24313. <Access>RW</Access>
  24314. <Values>
  24315. <Val value="0xAA">Level 0, no protection</Val>
  24316. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  24317. <Val value="0xCC">Level 2, chip protection</Val>
  24318. </Values>
  24319. </Bit>
  24320. </AssignedBits>
  24321. </Field>
  24322. </Category>
  24323. <Category>
  24324. <Name>PCROP Protection</Name>
  24325. <Field>
  24326. <Parameters name="FLASH_OBR" size="0x4" address="0x1FF80000"/>
  24327. <AssignedBits>
  24328. <Bit reference="SPRMode">
  24329. <Name>WPRMOD</Name>
  24330. <Description>Sector protection mode selection option byte.</Description>
  24331. <BitOffset>0x8</BitOffset>
  24332. <BitWidth>0x1</BitWidth>
  24333. <Access>RW</Access>
  24334. <Values>
  24335. <Val value="0x0">WRPx bit defines sector write protection</Val>
  24336. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  24337. </Values>
  24338. </Bit>
  24339. </AssignedBits>
  24340. </Field>
  24341. </Category>
  24342. <Category>
  24343. <Name>BOR Level</Name>
  24344. <Field>
  24345. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  24346. <AssignedBits>
  24347. <Bit>
  24348. <Name>BOR_LEV</Name>
  24349. <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>
  24350. <BitOffset>0x0</BitOffset>
  24351. <BitWidth>0x4</BitWidth>
  24352. <Access>RW</Access>
  24353. <Values>
  24354. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24355. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24356. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24357. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24358. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24359. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  24360. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  24361. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  24362. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  24363. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  24364. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  24365. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  24366. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  24367. </Values>
  24368. </Bit>
  24369. </AssignedBits>
  24370. </Field>
  24371. </Category>
  24372. <Category>
  24373. <Name>User Configuration</Name>
  24374. <Field>
  24375. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  24376. <AssignedBits>
  24377. <Bit>
  24378. <Name>IWDG_SW</Name>
  24379. <Description/>
  24380. <BitOffset>0x4</BitOffset>
  24381. <BitWidth>0x1</BitWidth>
  24382. <Access>RW</Access>
  24383. <Values>
  24384. <Val value="0x0">Hardware independant watchdog</Val>
  24385. <Val value="0x1">Software independant watchdog</Val>
  24386. </Values>
  24387. </Bit>
  24388. <Bit>
  24389. <Name>nRST_STOP</Name>
  24390. <Description/>
  24391. <BitOffset>0x5</BitOffset>
  24392. <BitWidth>0x1</BitWidth>
  24393. <Access>RW</Access>
  24394. <Values>
  24395. <Val value="0x0">Reset generated when entering Stop mode</Val>
  24396. <Val value="0x1">No reset generated</Val>
  24397. </Values>
  24398. </Bit>
  24399. <Bit>
  24400. <Name>nRST_STDBY</Name>
  24401. <Description/>
  24402. <BitOffset>0x6</BitOffset>
  24403. <BitWidth>0x1</BitWidth>
  24404. <Access>RW</Access>
  24405. <Values>
  24406. <Val value="0x0">Reset generated when entering Standby mode</Val>
  24407. <Val value="0x1">No reset generated</Val>
  24408. </Values>
  24409. </Bit>
  24410. <Bit>
  24411. <Name>BFB2</Name>
  24412. <Description/>
  24413. <BitOffset>0x7</BitOffset>
  24414. <BitWidth>0x1</BitWidth>
  24415. <Access>RW</Access>
  24416. <Values>
  24417. <Val value="0x0">Boot from flash bank 1</Val>
  24418. <Val value="0x1">boot from flash bank 2</Val>
  24419. </Values>
  24420. </Bit>
  24421. <Bit>
  24422. <Name>nBOOT1</Name>
  24423. <Description/>
  24424. <BitOffset>0x0F</BitOffset>
  24425. <BitWidth>0x1</BitWidth>
  24426. <Access>RW</Access>
  24427. <Values>
  24428. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  24429. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  24430. </Values>
  24431. </Bit>
  24432. </AssignedBits>
  24433. </Field>
  24434. </Category>
  24435. <Category>
  24436. <Name>Write Protection</Name>
  24437. <Field>
  24438. <Parameters name="FLASH_WRPROT11" size="0x4" address="0x1FF80008"/>
  24439. <AssignedBits>
  24440. <Bit config="0,2">
  24441. <Name>WRPOT0</Name>
  24442. <Description/>
  24443. <BitOffset>0x0</BitOffset>
  24444. <BitWidth>0x10</BitWidth>
  24445. <Access>RW</Access>
  24446. <Values ByBit="true">
  24447. <Val value="0x0">Write protection not active</Val>
  24448. <Val value="0x1">Write protection active</Val>
  24449. </Values>
  24450. </Bit>
  24451. <Bit config="1,3">
  24452. <Name>WRPOT0</Name>
  24453. <Description/>
  24454. <BitOffset>0x0</BitOffset>
  24455. <BitWidth>0x10</BitWidth>
  24456. <Access>RW</Access>
  24457. <Values ByBit="true">
  24458. <Val value="0x0">read/Write protection active</Val>
  24459. <Val value="0x1">read/Write protection not active</Val>
  24460. </Values>
  24461. </Bit>
  24462. </AssignedBits>
  24463. </Field>
  24464. <Field>
  24465. <Parameters name="FLASH_WRPROT12" size="0x4" address="0x1FF8000C"/>
  24466. <AssignedBits>
  24467. <Bit config="0,2">
  24468. <Name>WRPOT16</Name>
  24469. <Description/>
  24470. <BitOffset>0x0</BitOffset>
  24471. <BitWidth>0x10</BitWidth>
  24472. <Access>RW</Access>
  24473. <Values ByBit="true">
  24474. <Val value="0x0">Write protection not active</Val>
  24475. <Val value="0x1">Write protection active</Val>
  24476. </Values>
  24477. </Bit>
  24478. <Bit config="1,3">
  24479. <Name>WRPOT16</Name>
  24480. <Description/>
  24481. <BitOffset>0x0</BitOffset>
  24482. <BitWidth>0x10</BitWidth>
  24483. <Access>RW</Access>
  24484. <Values ByBit="true">
  24485. <Val value="0x0">read/Write protection active</Val>
  24486. <Val value="0x1">read/Write protection not active</Val>
  24487. </Values>
  24488. </Bit>
  24489. </AssignedBits>
  24490. </Field>
  24491. <Field>
  24492. <Parameters name="FLASH_WRPROT2" size="0x4" address="0x1FF80010"/>
  24493. <AssignedBits>
  24494. <Bit config="0,2">
  24495. <Name>WRPOT32</Name>
  24496. <Description/>
  24497. <BitOffset>0x0</BitOffset>
  24498. <BitWidth>0x10</BitWidth>
  24499. <Access>RW</Access>
  24500. <Values ByBit="true">
  24501. <Val value="0x0">Write protection not active</Val>
  24502. <Val value="0x1">Write protection active</Val>
  24503. </Values>
  24504. </Bit>
  24505. <Bit config="1,3">
  24506. <Name>WRPOT32</Name>
  24507. <Description/>
  24508. <BitOffset>0x0</BitOffset>
  24509. <BitWidth>0x10</BitWidth>
  24510. <Access>RW</Access>
  24511. <Values ByBit="true">
  24512. <Val value="0x0">read/Write protection active</Val>
  24513. <Val value="0x1">read/Write protection not active</Val>
  24514. </Values>
  24515. </Bit>
  24516. </AssignedBits>
  24517. </Field>
  24518. </Category>
  24519. </Bank>
  24520. </Peripheral>
  24521. </Peripherals>
  24522. </Device>
  24523. <!-- Device: 0x430 -->
  24524. <Device>
  24525. <DeviceID>0x430</DeviceID>
  24526. <Vendor>STMicroelectronics</Vendor>
  24527. <Type>MCU</Type>
  24528. <CPU>Cortex-M3</CPU>
  24529. <Name>STM32F101/F103 XL-density</Name>
  24530. <Series>STM32F1</Series>
  24531. <Description>ARM 32-bit Cortex-M3 based device</Description>
  24532. <Configurations>
  24533. <!-- JTAG_SWD Interface -->
  24534. <Interface name="JTAG_SWD"/>
  24535. <!-- Bootloader Interface -->
  24536. <Interface name="Bootloader"/>
  24537. </Configurations>
  24538. <!-- Peripherals -->
  24539. <Peripherals>
  24540. <!-- Embedded SRAM -->
  24541. <Peripheral>
  24542. <Name>Embedded SRAM</Name>
  24543. <Type>Storage</Type>
  24544. <Description/>
  24545. <ErasedValue>0x00</ErasedValue>
  24546. <Access>RWE</Access>
  24547. <Configuration>
  24548. <Parameters name="SRAM" size="0x18000" address="0x20000000"/>
  24549. <Description/>
  24550. <Organization>Single</Organization>
  24551. <Bank name="Bank 1">
  24552. <Field>
  24553. <Parameters name="SRAM" size="0x18000" address="0x20000000" occurence="0x1"/>
  24554. </Field>
  24555. </Bank>
  24556. </Configuration>
  24557. </Peripheral>
  24558. <!-- Embedded Flash -->
  24559. <Peripheral>
  24560. <Name>Embedded Flash</Name>
  24561. <Type>Storage</Type>
  24562. <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>
  24563. <ErasedValue>0xFF</ErasedValue>
  24564. <Access>RWE</Access>
  24565. <FlashSize address="0x1FFFF7E0" default="0x100000"/>
  24566. <!-- 512KB single Bank -->
  24567. <Configuration>
  24568. <Parameters name=" 1 Mbytes Embedded Flash" size="0x100000" address="0x08000000"/>
  24569. <Description/>
  24570. <Organization>Dual</Organization>
  24571. <Allignement>0x4</Allignement>
  24572. <Bank name="Bank 1">
  24573. <Field>
  24574. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x100"/>
  24575. </Field>
  24576. </Bank>
  24577. <Bank name="Bank 2">
  24578. <Field>
  24579. <Parameters name="sector256" size="0x800" address="0x08080000" occurence="0x100"/>
  24580. </Field>
  24581. </Bank>
  24582. </Configuration>
  24583. </Peripheral>
  24584. <!-- Mirror Option Bytes -->
  24585. <Peripheral>
  24586. <Name>MirrorOptionBytes</Name>
  24587. <Type>Storage</Type>
  24588. <Description>Mirror Option Bytes contains the extra area.</Description>
  24589. <ErasedValue>0xFF</ErasedValue>
  24590. <Access>RW</Access>
  24591. <!-- 16 Bytes single bank -->
  24592. <Configuration>
  24593. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFF800"/>
  24594. <Description/>
  24595. <Organization>Single</Organization>
  24596. <Allignement>0x4</Allignement>
  24597. <Bank name="MirrorOptionBytes">
  24598. <Field>
  24599. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFF800" occurence="0x1"/>
  24600. </Field>
  24601. </Bank>
  24602. </Configuration>
  24603. </Peripheral>
  24604. <!-- Option Bytes -->
  24605. <Peripheral>
  24606. <Name>Option Bytes</Name>
  24607. <Type>Configuration</Type>
  24608. <Description/>
  24609. <Access>RW</Access>
  24610. <Bank interface="JTAG_SWD">
  24611. <Parameters name="Bank 1" size="0x8" address="0x4002201C"/>
  24612. <Category>
  24613. <Name>Read Out Protection</Name>
  24614. <Field>
  24615. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  24616. <AssignedBits>
  24617. <Bit>
  24618. <Name>RDP</Name>
  24619. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  24620. <BitOffset>0x1</BitOffset>
  24621. <BitWidth>0x1</BitWidth>
  24622. <Access>R</Access>
  24623. <Values>
  24624. <Val value="0">Flash memory is not read-protected.</Val>
  24625. <Val value="1">Flash memory is read-protected.</Val>
  24626. </Values>
  24627. </Bit>
  24628. </AssignedBits>
  24629. </Field>
  24630. </Category>
  24631. <Category>
  24632. <Name>User Configuration</Name>
  24633. <Field>
  24634. <Parameters name="USR_RDP" size="0x4" address="0x4002201C"/>
  24635. <AssignedBits>
  24636. <Bit>
  24637. <Name>WDG_SW</Name>
  24638. <Description/>
  24639. <BitOffset>0x2</BitOffset>
  24640. <BitWidth>0x1</BitWidth>
  24641. <Access>R</Access>
  24642. <Values>
  24643. <Val value="0x0">Hardware watchdog</Val>
  24644. <Val value="0x1">Software watchdog</Val>
  24645. </Values>
  24646. </Bit>
  24647. <Bit>
  24648. <Name>nRST_STOP</Name>
  24649. <Description/>
  24650. <BitOffset>0x3</BitOffset>
  24651. <BitWidth>0x1</BitWidth>
  24652. <Access>R</Access>
  24653. <Values>
  24654. <Val value="0x0">Reset generated when entering Stop mode</Val>
  24655. <Val value="0x1">No reset generated</Val>
  24656. </Values>
  24657. </Bit>
  24658. <Bit>
  24659. <Name>nRST_STDBY</Name>
  24660. <Description/>
  24661. <BitOffset>0x4</BitOffset>
  24662. <BitWidth>0x1</BitWidth>
  24663. <Access>R</Access>
  24664. <Values>
  24665. <Val value="0x0">Reset generated when entering Standby mode</Val>
  24666. <Val value="0x1">No reset generated</Val>
  24667. </Values>
  24668. </Bit>
  24669. <Bit>
  24670. <Name>BFB2</Name>
  24671. <Description/>
  24672. <BitOffset>0x5</BitOffset>
  24673. <BitWidth>0x1</BitWidth>
  24674. <Access>R</Access>
  24675. <Values>
  24676. <Val value="0x0">The device will boot from Flash memory bank 2 when boot pins are set in user Flash position</Val>
  24677. <Val value="0x1">The device will boot from Flash memory bank 1 when boot pins are set in user Flash position (default)</Val>
  24678. </Values>
  24679. </Bit>
  24680. </AssignedBits>
  24681. </Field>
  24682. </Category>
  24683. <Category>
  24684. <Name>User Data</Name>
  24685. <Field>
  24686. <Parameters name="USR_DATA" size="0x4" address="0x4002201C"/>
  24687. <AssignedBits>
  24688. <Bit>
  24689. <Name>Data0</Name>
  24690. <Description>User data 0 (8-bit)</Description>
  24691. <BitOffset>0xA</BitOffset>
  24692. <BitWidth>0x8</BitWidth>
  24693. <Access>R</Access>
  24694. </Bit>
  24695. <Bit>
  24696. <Name>Data1</Name>
  24697. <Description>User data 1 (8-bit)</Description>
  24698. <BitOffset>0x12</BitOffset>
  24699. <BitWidth>0x8</BitWidth>
  24700. <Access>R</Access>
  24701. </Bit>
  24702. </AssignedBits>
  24703. </Field>
  24704. </Category>
  24705. <Category>
  24706. <Name>Write Protection</Name>
  24707. <Field>
  24708. <Parameters name="WRP_0_1" size="0x4" address="0x40022020"/>
  24709. <AssignedBits>
  24710. <Bit>
  24711. <Name>WRP0</Name>
  24712. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  24713. <BitOffset>0x0</BitOffset>
  24714. <BitWidth>0x20</BitWidth>
  24715. <Access>R</Access>
  24716. <Values ByBit="true">
  24717. <Val value="0x0">Write protection active on this sector</Val>
  24718. <Val value="0x1">Write protection not active on this sector</Val>
  24719. </Values>
  24720. </Bit>
  24721. </AssignedBits>
  24722. </Field>
  24723. </Category>
  24724. </Bank>
  24725. <Bank interface="JTAG_SWD">
  24726. <Parameters name="Bank 2" size="0x10" address="0x1FFFF800"/>
  24727. <Category>
  24728. <Name>Read Out Protection</Name>
  24729. <Field>
  24730. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  24731. <AssignedBits>
  24732. <Bit>
  24733. <Name>RDP</Name>
  24734. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  24735. <BitOffset>0x0</BitOffset>
  24736. <BitWidth>0x8</BitWidth>
  24737. <Access>W</Access>
  24738. <Values>
  24739. <Val value="0xA5">Level 0, no protection</Val>
  24740. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  24741. </Values>
  24742. </Bit>
  24743. </AssignedBits>
  24744. </Field>
  24745. </Category>
  24746. <Category>
  24747. <Name>User Configuration</Name>
  24748. <Field>
  24749. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  24750. <AssignedBits>
  24751. <Bit>
  24752. <Name>WDG_SW</Name>
  24753. <Description/>
  24754. <BitOffset>0x10</BitOffset>
  24755. <BitWidth>0x1</BitWidth>
  24756. <Access>W</Access>
  24757. <Values>
  24758. <Val value="0x0">Hardware watchdog</Val>
  24759. <Val value="0x1">Software watchdog</Val>
  24760. </Values>
  24761. </Bit>
  24762. <Bit>
  24763. <Name>nRST_STOP</Name>
  24764. <Description/>
  24765. <BitOffset>0x11</BitOffset>
  24766. <BitWidth>0x1</BitWidth>
  24767. <Access>W</Access>
  24768. <Values>
  24769. <Val value="0x0">Reset generated when entering Stop mode</Val>
  24770. <Val value="0x1">No reset generated</Val>
  24771. </Values>
  24772. </Bit>
  24773. <Bit>
  24774. <Name>nRST_STDBY</Name>
  24775. <Description/>
  24776. <BitOffset>0x12</BitOffset>
  24777. <BitWidth>0x1</BitWidth>
  24778. <Access>W</Access>
  24779. <Values>
  24780. <Val value="0x0">Reset generated when entering Standby mode</Val>
  24781. <Val value="0x1">No reset generated</Val>
  24782. </Values>
  24783. </Bit>
  24784. <Bit>
  24785. <Name>BFB2</Name>
  24786. <Description/>
  24787. <BitOffset>0x13</BitOffset>
  24788. <BitWidth>0x1</BitWidth>
  24789. <Access>W</Access>
  24790. <Values>
  24791. <Val value="0x0">The device will boot from Flash memory bank 2 when boot pins are set in user Flash position</Val>
  24792. <Val value="0x1">The device will boot from Flash memory bank 1 when boot pins are set in user Flash position (default)</Val>
  24793. </Values>
  24794. </Bit>
  24795. </AssignedBits>
  24796. </Field>
  24797. </Category>
  24798. <Category>
  24799. <Name>User Data</Name>
  24800. <Field>
  24801. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  24802. <AssignedBits>
  24803. <Bit>
  24804. <Name>Data0</Name>
  24805. <Description>User data 0 (8-bit)</Description>
  24806. <BitOffset>0x0</BitOffset>
  24807. <BitWidth>0x8</BitWidth>
  24808. <Access>W</Access>
  24809. </Bit>
  24810. <Bit>
  24811. <Name>Data1</Name>
  24812. <Description>User data 1 (8-bit)</Description>
  24813. <BitOffset>0x10</BitOffset>
  24814. <BitWidth>0x8</BitWidth>
  24815. <Access>W</Access>
  24816. </Bit>
  24817. </AssignedBits>
  24818. </Field>
  24819. </Category>
  24820. <Category>
  24821. <Name>Write Protection</Name>
  24822. <Field>
  24823. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  24824. <AssignedBits>
  24825. <Bit>
  24826. <Name>WRP0</Name>
  24827. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  24828. <BitOffset>0x0</BitOffset>
  24829. <BitWidth>0x8</BitWidth>
  24830. <Access>W</Access>
  24831. <Values ByBit="true">
  24832. <Val value="0x0">Write protection active on this sector</Val>
  24833. <Val value="0x1">Write protection not active on this sector</Val>
  24834. </Values>
  24835. </Bit>
  24836. <Bit>
  24837. <Name>WRP8</Name>
  24838. <Description/>
  24839. <BitOffset>0x10</BitOffset>
  24840. <BitWidth>0x8</BitWidth>
  24841. <Access>W</Access>
  24842. <Values ByBit="true">
  24843. <Val value="0x0">Write protection active on this sector</Val>
  24844. <Val value="0x1">Write protection not active on this sector</Val>
  24845. </Values>
  24846. </Bit>
  24847. </AssignedBits>
  24848. </Field>
  24849. <Field>
  24850. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  24851. <AssignedBits>
  24852. <Bit>
  24853. <Name>WRP16</Name>
  24854. <Description/>
  24855. <BitOffset>0x0</BitOffset>
  24856. <BitWidth>0x8</BitWidth>
  24857. <Access>W</Access>
  24858. <Values ByBit="true">
  24859. <Val value="0x0">Write protection active on this sector</Val>
  24860. <Val value="0x1">Write protection not active on this sector</Val>
  24861. </Values>
  24862. </Bit>
  24863. <Bit>
  24864. <Name>WRP24</Name>
  24865. <Description/>
  24866. <BitOffset>0x10</BitOffset>
  24867. <BitWidth>0x8</BitWidth>
  24868. <Access>W</Access>
  24869. <Values ByBit="true">
  24870. <Val value="0x0">Write protection active on this sector</Val>
  24871. <Val value="0x1">Write protection not active on this sector</Val>
  24872. </Values>
  24873. </Bit>
  24874. </AssignedBits>
  24875. </Field>
  24876. </Category>
  24877. </Bank>
  24878. <Bank interface="Bootloader">
  24879. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  24880. <Category>
  24881. <Name>Read Out Protection</Name>
  24882. <Field>
  24883. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  24884. <AssignedBits>
  24885. <Bit>
  24886. <Name>RDP</Name>
  24887. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  24888. <BitOffset>0x0</BitOffset>
  24889. <BitWidth>0x8</BitWidth>
  24890. <Access>RW</Access>
  24891. <Values>
  24892. <Val value="0xA5">Level 0, no protection</Val>
  24893. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  24894. </Values>
  24895. </Bit>
  24896. </AssignedBits>
  24897. </Field>
  24898. </Category>
  24899. <Category>
  24900. <Name>User Configuration</Name>
  24901. <Field>
  24902. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  24903. <AssignedBits>
  24904. <Bit>
  24905. <Name>WDG_SW</Name>
  24906. <Description/>
  24907. <BitOffset>0x10</BitOffset>
  24908. <BitWidth>0x1</BitWidth>
  24909. <Access>RW</Access>
  24910. <Values>
  24911. <Val value="0x0">Hardware watchdog</Val>
  24912. <Val value="0x1">Software watchdog</Val>
  24913. </Values>
  24914. </Bit>
  24915. <Bit>
  24916. <Name>nRST_STOP</Name>
  24917. <Description/>
  24918. <BitOffset>0x11</BitOffset>
  24919. <BitWidth>0x1</BitWidth>
  24920. <Access>RW</Access>
  24921. <Values>
  24922. <Val value="0x0">Reset generated when entering Stop mode</Val>
  24923. <Val value="0x1">No reset generated</Val>
  24924. </Values>
  24925. </Bit>
  24926. <Bit>
  24927. <Name>nRST_STDBY</Name>
  24928. <Description/>
  24929. <BitOffset>0x12</BitOffset>
  24930. <BitWidth>0x1</BitWidth>
  24931. <Access>RW</Access>
  24932. <Values>
  24933. <Val value="0x0">Reset generated when entering Standby mode</Val>
  24934. <Val value="0x1">No reset generated</Val>
  24935. </Values>
  24936. </Bit>
  24937. <Bit>
  24938. <Name>BFB2</Name>
  24939. <Description/>
  24940. <BitOffset>0x13</BitOffset>
  24941. <BitWidth>0x1</BitWidth>
  24942. <Access>RW</Access>
  24943. <Values>
  24944. <Val value="0x0">The device will boot from Flash memory bank 2 when boot pins are set in user Flash position</Val>
  24945. <Val value="0x1">The device will boot from Flash memory bank 1 when boot pins are set in user Flash position (default)</Val>
  24946. </Values>
  24947. </Bit>
  24948. </AssignedBits>
  24949. </Field>
  24950. </Category>
  24951. <Category>
  24952. <Name>User Data</Name>
  24953. <Field>
  24954. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  24955. <AssignedBits>
  24956. <Bit>
  24957. <Name>Data0</Name>
  24958. <Description>User data 0 (8-bit)</Description>
  24959. <BitOffset>0x0</BitOffset>
  24960. <BitWidth>0x8</BitWidth>
  24961. <Access>RW</Access>
  24962. </Bit>
  24963. <Bit>
  24964. <Name>Data1</Name>
  24965. <Description>User data 1 (8-bit)</Description>
  24966. <BitOffset>0x10</BitOffset>
  24967. <BitWidth>0x8</BitWidth>
  24968. <Access>RW</Access>
  24969. </Bit>
  24970. </AssignedBits>
  24971. </Field>
  24972. </Category>
  24973. <Category>
  24974. <Name>Write Protection</Name>
  24975. <Field>
  24976. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  24977. <AssignedBits>
  24978. <Bit>
  24979. <Name>WRP0</Name>
  24980. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  24981. <BitOffset>0x0</BitOffset>
  24982. <BitWidth>0x8</BitWidth>
  24983. <Access>RW</Access>
  24984. <Values ByBit="true">
  24985. <Val value="0x0">Write protection active on this sector</Val>
  24986. <Val value="0x1">Write protection not active on this sector</Val>
  24987. </Values>
  24988. </Bit>
  24989. <Bit>
  24990. <Name>WRP8</Name>
  24991. <Description/>
  24992. <BitOffset>0x10</BitOffset>
  24993. <BitWidth>0x8</BitWidth>
  24994. <Access>RW</Access>
  24995. <Values ByBit="true">
  24996. <Val value="0x0">Write protection active on this sector</Val>
  24997. <Val value="0x1">Write protection not active on this sector</Val>
  24998. </Values>
  24999. </Bit>
  25000. </AssignedBits>
  25001. </Field>
  25002. <Field>
  25003. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  25004. <AssignedBits>
  25005. <Bit>
  25006. <Name>WRP16</Name>
  25007. <Description/>
  25008. <BitOffset>0x0</BitOffset>
  25009. <BitWidth>0x8</BitWidth>
  25010. <Access>RW</Access>
  25011. <Values ByBit="true">
  25012. <Val value="0x0">Write protection active on this sector</Val>
  25013. <Val value="0x1">Write protection not active on this sector</Val>
  25014. </Values>
  25015. </Bit>
  25016. <Bit>
  25017. <Name>WRP24</Name>
  25018. <Description/>
  25019. <BitOffset>0x10</BitOffset>
  25020. <BitWidth>0x8</BitWidth>
  25021. <Access>RW</Access>
  25022. <Values ByBit="true">
  25023. <Val value="0x0">Write protection active on this sector</Val>
  25024. <Val value="0x1">Write protection not active on this sector</Val>
  25025. </Values>
  25026. </Bit>
  25027. </AssignedBits>
  25028. </Field>
  25029. </Category>
  25030. </Bank>
  25031. </Peripheral>
  25032. </Peripherals>
  25033. </Device>
  25034. <!-- Device: 0x410 -->
  25035. <Device>
  25036. <DeviceID>0x410</DeviceID>
  25037. <Vendor>STMicroelectronics</Vendor>
  25038. <Type>MCU</Type>
  25039. <CPU>Cortex-M3</CPU>
  25040. <Name>STM32F101/F102/F103 Medium-density</Name>
  25041. <Series>STM32F1</Series>
  25042. <Description>ARM 32-bit Cortex-M3 based device</Description>
  25043. <Configurations>
  25044. <!-- JTAG_SWD Interface -->
  25045. <Interface name="JTAG_SWD"/>
  25046. <!-- Bootloader Interface -->
  25047. <Interface name="Bootloader"/>
  25048. </Configurations>
  25049. <!-- Peripherals -->
  25050. <Peripherals>
  25051. <!-- Embedded SRAM -->
  25052. <Peripheral>
  25053. <Name>Embedded SRAM</Name>
  25054. <Type>Storage</Type>
  25055. <Description/>
  25056. <ErasedValue>0x00</ErasedValue>
  25057. <Access>RWE</Access>
  25058. <Configuration>
  25059. <Parameters name="SRAM" size="0x5000" address="0x20000000"/>
  25060. <Description/>
  25061. <Organization>Single</Organization>
  25062. <Bank name="Bank 1">
  25063. <Field>
  25064. <Parameters name="SRAM" size="0x5000" address="0x20000000" occurence="0x1"/>
  25065. </Field>
  25066. </Bank>
  25067. </Configuration>
  25068. </Peripheral>
  25069. <!-- Embedded Flash -->
  25070. <Peripheral>
  25071. <Name>Embedded Flash</Name>
  25072. <Type>Storage</Type>
  25073. <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>
  25074. <ErasedValue>0xFF</ErasedValue>
  25075. <Access>RWE</Access>
  25076. <FlashSize address="0x1FFFF7E0" default="0x20000"/>
  25077. <!-- 512KB single Bank -->
  25078. <Configuration>
  25079. <Parameters name=" 128 Kbytes Embedded Flash" size="0x20000" address="0x08000000"/>
  25080. <Description/>
  25081. <Organization>Single</Organization>
  25082. <Allignement>0x4</Allignement>
  25083. <Bank name="Bank 1">
  25084. <Field>
  25085. <Parameters name="sector0" size="0x400" address="0x08000000" occurence="0x80"/>
  25086. </Field>
  25087. </Bank>
  25088. </Configuration>
  25089. </Peripheral>
  25090. <!-- Mirror Option Bytes -->
  25091. <Peripheral>
  25092. <Name>MirrorOptionBytes</Name>
  25093. <Type>Storage</Type>
  25094. <Description>Mirror Option Bytes contains the extra area.</Description>
  25095. <ErasedValue>0xFF</ErasedValue>
  25096. <Access>RW</Access>
  25097. <!-- 16 Bytes single bank -->
  25098. <Configuration>
  25099. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFF800"/>
  25100. <Description/>
  25101. <Organization>Single</Organization>
  25102. <Allignement>0x4</Allignement>
  25103. <Bank name="MirrorOptionBytes">
  25104. <Field>
  25105. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFF800" occurence="0x1"/>
  25106. </Field>
  25107. </Bank>
  25108. </Configuration>
  25109. </Peripheral>
  25110. <!-- Option Bytes -->
  25111. <Peripheral>
  25112. <Name>Option Bytes</Name>
  25113. <Type>Configuration</Type>
  25114. <Description/>
  25115. <Access>RW</Access>
  25116. <Bank interface="JTAG_SWD">
  25117. <Parameters name="Bank 1" size="0x8" address="0x4002201C"/>
  25118. <Category>
  25119. <Name>Read Out Protection</Name>
  25120. <Field>
  25121. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  25122. <AssignedBits>
  25123. <Bit>
  25124. <Name>RDP</Name>
  25125. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  25126. <BitOffset>0x1</BitOffset>
  25127. <BitWidth>0x1</BitWidth>
  25128. <Access>R</Access>
  25129. <Values>
  25130. <Val value="0">Flash memory is not read-protected.</Val>
  25131. <Val value="1">Flash memory is read-protected.</Val>
  25132. </Values>
  25133. </Bit>
  25134. </AssignedBits>
  25135. </Field>
  25136. </Category>
  25137. <Category>
  25138. <Name>User Configuration</Name>
  25139. <Field>
  25140. <Parameters name="USR_RDP" size="0x4" address="0x4002201C"/>
  25141. <AssignedBits>
  25142. <Bit>
  25143. <Name>WDG_SW</Name>
  25144. <Description/>
  25145. <BitOffset>0x2</BitOffset>
  25146. <BitWidth>0x1</BitWidth>
  25147. <Access>R</Access>
  25148. <Values>
  25149. <Val value="0x0">Hardware watchdog</Val>
  25150. <Val value="0x1">Software watchdog</Val>
  25151. </Values>
  25152. </Bit>
  25153. <Bit>
  25154. <Name>nRST_STOP</Name>
  25155. <Description/>
  25156. <BitOffset>0x3</BitOffset>
  25157. <BitWidth>0x1</BitWidth>
  25158. <Access>R</Access>
  25159. <Values>
  25160. <Val value="0x0">Reset generated when entering Stop mode</Val>
  25161. <Val value="0x1">No reset generated</Val>
  25162. </Values>
  25163. </Bit>
  25164. <Bit>
  25165. <Name>nRST_STDBY</Name>
  25166. <Description/>
  25167. <BitOffset>0x4</BitOffset>
  25168. <BitWidth>0x1</BitWidth>
  25169. <Access>R</Access>
  25170. <Values>
  25171. <Val value="0x0">Reset generated when entering Standby mode</Val>
  25172. <Val value="0x1">No reset generated</Val>
  25173. </Values>
  25174. </Bit>
  25175. </AssignedBits>
  25176. </Field>
  25177. </Category>
  25178. <Category>
  25179. <Name>User Data</Name>
  25180. <Field>
  25181. <Parameters name="USR_DATA" size="0x4" address="0x4002201C"/>
  25182. <AssignedBits>
  25183. <Bit>
  25184. <Name>Data0</Name>
  25185. <Description>User data 0 (8-bit)</Description>
  25186. <BitOffset>0xA</BitOffset>
  25187. <BitWidth>0x8</BitWidth>
  25188. <Access>R</Access>
  25189. </Bit>
  25190. <Bit>
  25191. <Name>Data1</Name>
  25192. <Description>User data 1 (8-bit)</Description>
  25193. <BitOffset>0x12</BitOffset>
  25194. <BitWidth>0x8</BitWidth>
  25195. <Access>R</Access>
  25196. </Bit>
  25197. </AssignedBits>
  25198. </Field>
  25199. </Category>
  25200. <Category>
  25201. <Name>Write Protection</Name>
  25202. <Field>
  25203. <Parameters name="WRP_0_1" size="0x4" address="0x40022020"/>
  25204. <AssignedBits>
  25205. <Bit>
  25206. <Name>WRP0</Name>
  25207. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  25208. <BitOffset>0x0</BitOffset>
  25209. <BitWidth>0x20</BitWidth>
  25210. <Access>R</Access>
  25211. <Values ByBit="true">
  25212. <Val value="0x0">Write protection active on this sector</Val>
  25213. <Val value="0x1">Write protection not active on this sector</Val>
  25214. </Values>
  25215. </Bit>
  25216. </AssignedBits>
  25217. </Field>
  25218. </Category>
  25219. </Bank>
  25220. <Bank interface="JTAG_SWD">
  25221. <Parameters name="Bank 2" size="0x10" address="0x1FFFF800"/>
  25222. <Category>
  25223. <Name>Read Out Protection</Name>
  25224. <Field>
  25225. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  25226. <AssignedBits>
  25227. <Bit>
  25228. <Name>RDP</Name>
  25229. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  25230. <BitOffset>0x0</BitOffset>
  25231. <BitWidth>0x8</BitWidth>
  25232. <Access>W</Access>
  25233. <Values>
  25234. <Val value="0xA5">Level 0, no protection</Val>
  25235. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  25236. </Values>
  25237. </Bit>
  25238. </AssignedBits>
  25239. </Field>
  25240. </Category>
  25241. <Category>
  25242. <Name>User Configuration</Name>
  25243. <Field>
  25244. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  25245. <AssignedBits>
  25246. <Bit>
  25247. <Name>WDG_SW</Name>
  25248. <Description/>
  25249. <BitOffset>0x10</BitOffset>
  25250. <BitWidth>0x1</BitWidth>
  25251. <Access>W</Access>
  25252. <Values>
  25253. <Val value="0x0">Hardware watchdog</Val>
  25254. <Val value="0x1">Software watchdog</Val>
  25255. </Values>
  25256. </Bit>
  25257. <Bit>
  25258. <Name>nRST_STOP</Name>
  25259. <Description/>
  25260. <BitOffset>0x11</BitOffset>
  25261. <BitWidth>0x1</BitWidth>
  25262. <Access>W</Access>
  25263. <Values>
  25264. <Val value="0x0">Reset generated when entering Stop mode</Val>
  25265. <Val value="0x1">No reset generated</Val>
  25266. </Values>
  25267. </Bit>
  25268. <Bit>
  25269. <Name>nRST_STDBY</Name>
  25270. <Description/>
  25271. <BitOffset>0x12</BitOffset>
  25272. <BitWidth>0x1</BitWidth>
  25273. <Access>W</Access>
  25274. <Values>
  25275. <Val value="0x0">Reset generated when entering Standby mode</Val>
  25276. <Val value="0x1">No reset generated</Val>
  25277. </Values>
  25278. </Bit>
  25279. </AssignedBits>
  25280. </Field>
  25281. </Category>
  25282. <Category>
  25283. <Name>User Data</Name>
  25284. <Field>
  25285. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  25286. <AssignedBits>
  25287. <Bit>
  25288. <Name>Data0</Name>
  25289. <Description>User data 0 (8-bit)</Description>
  25290. <BitOffset>0x0</BitOffset>
  25291. <BitWidth>0x8</BitWidth>
  25292. <Access>W</Access>
  25293. </Bit>
  25294. <Bit>
  25295. <Name>Data1</Name>
  25296. <Description>User data 1 (8-bit)</Description>
  25297. <BitOffset>0x10</BitOffset>
  25298. <BitWidth>0x8</BitWidth>
  25299. <Access>W</Access>
  25300. </Bit>
  25301. </AssignedBits>
  25302. </Field>
  25303. </Category>
  25304. <Category>
  25305. <Name>Write Protection</Name>
  25306. <Field>
  25307. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  25308. <AssignedBits>
  25309. <Bit>
  25310. <Name>WRP0</Name>
  25311. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  25312. <BitOffset>0x0</BitOffset>
  25313. <BitWidth>0x8</BitWidth>
  25314. <Access>W</Access>
  25315. <Values ByBit="true">
  25316. <Val value="0x0">Write protection active on this sector</Val>
  25317. <Val value="0x1">Write protection not active on this sector</Val>
  25318. </Values>
  25319. </Bit>
  25320. <Bit>
  25321. <Name>WRP8</Name>
  25322. <Description/>
  25323. <BitOffset>0x10</BitOffset>
  25324. <BitWidth>0x8</BitWidth>
  25325. <Access>W</Access>
  25326. <Values ByBit="true">
  25327. <Val value="0x0">Write protection active on this sector</Val>
  25328. <Val value="0x1">Write protection not active on this sector</Val>
  25329. </Values>
  25330. </Bit>
  25331. </AssignedBits>
  25332. </Field>
  25333. <Field>
  25334. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  25335. <AssignedBits>
  25336. <Bit>
  25337. <Name>WRP16</Name>
  25338. <Description/>
  25339. <BitOffset>0x0</BitOffset>
  25340. <BitWidth>0x8</BitWidth>
  25341. <Access>W</Access>
  25342. <Values ByBit="true">
  25343. <Val value="0x0">Write protection active on this sector</Val>
  25344. <Val value="0x1">Write protection not active on this sector</Val>
  25345. </Values>
  25346. </Bit>
  25347. <Bit>
  25348. <Name>WRP24</Name>
  25349. <Description/>
  25350. <BitOffset>0x10</BitOffset>
  25351. <BitWidth>0x8</BitWidth>
  25352. <Access>W</Access>
  25353. <Values ByBit="true">
  25354. <Val value="0x0">Write protection active on this sector</Val>
  25355. <Val value="0x1">Write protection not active on this sector</Val>
  25356. </Values>
  25357. </Bit>
  25358. </AssignedBits>
  25359. </Field>
  25360. </Category>
  25361. </Bank>
  25362. <Bank interface="Bootloader">
  25363. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  25364. <Category>
  25365. <Name>Read Out Protection</Name>
  25366. <Field>
  25367. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  25368. <AssignedBits>
  25369. <Bit>
  25370. <Name>RDP</Name>
  25371. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  25372. <BitOffset>0x0</BitOffset>
  25373. <BitWidth>0x8</BitWidth>
  25374. <Access>RW</Access>
  25375. <Values>
  25376. <Val value="0xA5">Level 0, no protection</Val>
  25377. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  25378. </Values>
  25379. </Bit>
  25380. </AssignedBits>
  25381. </Field>
  25382. </Category>
  25383. <Category>
  25384. <Name>User Configuration</Name>
  25385. <Field>
  25386. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  25387. <AssignedBits>
  25388. <Bit>
  25389. <Name>WDG_SW</Name>
  25390. <Description/>
  25391. <BitOffset>0x10</BitOffset>
  25392. <BitWidth>0x1</BitWidth>
  25393. <Access>RW</Access>
  25394. <Values>
  25395. <Val value="0x0">Hardware watchdog</Val>
  25396. <Val value="0x1">Software watchdog</Val>
  25397. </Values>
  25398. </Bit>
  25399. <Bit>
  25400. <Name>nRST_STOP</Name>
  25401. <Description/>
  25402. <BitOffset>0x11</BitOffset>
  25403. <BitWidth>0x1</BitWidth>
  25404. <Access>RW</Access>
  25405. <Values>
  25406. <Val value="0x0">Reset generated when entering Stop mode</Val>
  25407. <Val value="0x1">No reset generated</Val>
  25408. </Values>
  25409. </Bit>
  25410. <Bit>
  25411. <Name>nRST_STDBY</Name>
  25412. <Description/>
  25413. <BitOffset>0x12</BitOffset>
  25414. <BitWidth>0x1</BitWidth>
  25415. <Access>RW</Access>
  25416. <Values>
  25417. <Val value="0x0">Reset generated when entering Standby mode</Val>
  25418. <Val value="0x1">No reset generated</Val>
  25419. </Values>
  25420. </Bit>
  25421. </AssignedBits>
  25422. </Field>
  25423. </Category>
  25424. <Category>
  25425. <Name>User Data</Name>
  25426. <Field>
  25427. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  25428. <AssignedBits>
  25429. <Bit>
  25430. <Name>Data0</Name>
  25431. <Description>User data 0 (8-bit)</Description>
  25432. <BitOffset>0x0</BitOffset>
  25433. <BitWidth>0x8</BitWidth>
  25434. <Access>RW</Access>
  25435. </Bit>
  25436. <Bit>
  25437. <Name>Data1</Name>
  25438. <Description>User data 1 (8-bit)</Description>
  25439. <BitOffset>0x10</BitOffset>
  25440. <BitWidth>0x8</BitWidth>
  25441. <Access>RW</Access>
  25442. </Bit>
  25443. </AssignedBits>
  25444. </Field>
  25445. </Category>
  25446. <Category>
  25447. <Name>Write Protection</Name>
  25448. <Field>
  25449. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  25450. <AssignedBits>
  25451. <Bit>
  25452. <Name>WRP0</Name>
  25453. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  25454. <BitOffset>0x0</BitOffset>
  25455. <BitWidth>0x8</BitWidth>
  25456. <Access>RW</Access>
  25457. <Values ByBit="true">
  25458. <Val value="0x0">Write protection active on this sector</Val>
  25459. <Val value="0x1">Write protection not active on this sector</Val>
  25460. </Values>
  25461. </Bit>
  25462. <Bit>
  25463. <Name>WRP8</Name>
  25464. <Description/>
  25465. <BitOffset>0x10</BitOffset>
  25466. <BitWidth>0x8</BitWidth>
  25467. <Access>RW</Access>
  25468. <Values ByBit="true">
  25469. <Val value="0x0">Write protection active on this sector</Val>
  25470. <Val value="0x1">Write protection not active on this sector</Val>
  25471. </Values>
  25472. </Bit>
  25473. </AssignedBits>
  25474. </Field>
  25475. <Field>
  25476. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  25477. <AssignedBits>
  25478. <Bit>
  25479. <Name>WRP16</Name>
  25480. <Description/>
  25481. <BitOffset>0x0</BitOffset>
  25482. <BitWidth>0x8</BitWidth>
  25483. <Access>RW</Access>
  25484. <Values ByBit="true">
  25485. <Val value="0x0">Write protection active on this sector</Val>
  25486. <Val value="0x1">Write protection not active on this sector</Val>
  25487. </Values>
  25488. </Bit>
  25489. <Bit>
  25490. <Name>WRP24</Name>
  25491. <Description/>
  25492. <BitOffset>0x10</BitOffset>
  25493. <BitWidth>0x8</BitWidth>
  25494. <Access>RW</Access>
  25495. <Values ByBit="true">
  25496. <Val value="0x0">Write protection active on this sector</Val>
  25497. <Val value="0x1">Write protection not active on this sector</Val>
  25498. </Values>
  25499. </Bit>
  25500. </AssignedBits>
  25501. </Field>
  25502. </Category>
  25503. </Bank>
  25504. </Peripheral>
  25505. </Peripherals>
  25506. </Device>
  25507. <!-- Device: 0x414 -->
  25508. <Device>
  25509. <DeviceID>0x414</DeviceID>
  25510. <Vendor>STMicroelectronics</Vendor>
  25511. <Type>MCU</Type>
  25512. <CPU>Cortex-M3</CPU>
  25513. <Name>STM32F101/F103 High-density</Name>
  25514. <Series>STM32F1</Series>
  25515. <Description>ARM 32-bit Cortex-M3 based device</Description>
  25516. <Configurations>
  25517. <!-- JTAG_SWD Interface -->
  25518. <Interface name="JTAG_SWD"/>
  25519. <!-- Bootloader Interface -->
  25520. <Interface name="Bootloader"/>
  25521. </Configurations>
  25522. <!-- Peripherals -->
  25523. <Peripherals>
  25524. <!-- Embedded SRAM -->
  25525. <Peripheral>
  25526. <Name>Embedded SRAM</Name>
  25527. <Type>Storage</Type>
  25528. <Description/>
  25529. <ErasedValue>0x00</ErasedValue>
  25530. <Access>RWE</Access>
  25531. <Configuration>
  25532. <Parameters name="SRAM" size="0x10000" address="0x20000000"/>
  25533. <Description/>
  25534. <Organization>Single</Organization>
  25535. <Bank name="Bank 1">
  25536. <Field>
  25537. <Parameters name="SRAM" size="0x10000" address="0x20000000" occurence="0x1"/>
  25538. </Field>
  25539. </Bank>
  25540. </Configuration>
  25541. </Peripheral>
  25542. <!-- Embedded Flash -->
  25543. <Peripheral>
  25544. <Name>Embedded Flash</Name>
  25545. <Type>Storage</Type>
  25546. <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>
  25547. <ErasedValue>0xFF</ErasedValue>
  25548. <Access>RWE</Access>
  25549. <FlashSize address="0x1FFFF7E0" default="0x80000"/>
  25550. <!-- 512KB single Bank -->
  25551. <Configuration>
  25552. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  25553. <Description/>
  25554. <Organization>Single</Organization>
  25555. <Allignement>0x4</Allignement>
  25556. <Bank name="Bank 1">
  25557. <Field>
  25558. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x100"/>
  25559. </Field>
  25560. </Bank>
  25561. </Configuration>
  25562. </Peripheral>
  25563. <!-- Mirror Option Bytes -->
  25564. <Peripheral>
  25565. <Name>MirrorOptionBytes</Name>
  25566. <Type>Storage</Type>
  25567. <Description>Mirror Option Bytes contains the extra area.</Description>
  25568. <ErasedValue>0xFF</ErasedValue>
  25569. <Access>RW</Access>
  25570. <!-- 16 Bytes single bank -->
  25571. <Configuration>
  25572. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFF800"/>
  25573. <Description/>
  25574. <Organization>Single</Organization>
  25575. <Allignement>0x4</Allignement>
  25576. <Bank name="MirrorOptionBytes">
  25577. <Field>
  25578. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFF800" occurence="0x1"/>
  25579. </Field>
  25580. </Bank>
  25581. </Configuration>
  25582. </Peripheral>
  25583. <!-- Option Bytes -->
  25584. <Peripheral>
  25585. <Name>Option Bytes</Name>
  25586. <Type>Configuration</Type>
  25587. <Description/>
  25588. <Access>RW</Access>
  25589. <Bank interface="JTAG_SWD">
  25590. <Parameters name="Bank 1" size="0x8" address="0x4002201C"/>
  25591. <Category>
  25592. <Name>Read Out Protection</Name>
  25593. <Field>
  25594. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  25595. <AssignedBits>
  25596. <Bit>
  25597. <Name>RDP</Name>
  25598. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  25599. <BitOffset>0x1</BitOffset>
  25600. <BitWidth>0x1</BitWidth>
  25601. <Access>R</Access>
  25602. <Values>
  25603. <Val value="0">Flash memory is not read-protected.</Val>
  25604. <Val value="1">Flash memory is read-protected.</Val>
  25605. </Values>
  25606. </Bit>
  25607. </AssignedBits>
  25608. </Field>
  25609. </Category>
  25610. <Category>
  25611. <Name>User Configuration</Name>
  25612. <Field>
  25613. <Parameters name="USR_RDP" size="0x4" address="0x4002201C"/>
  25614. <AssignedBits>
  25615. <Bit>
  25616. <Name>WDG_SW</Name>
  25617. <Description/>
  25618. <BitOffset>0x2</BitOffset>
  25619. <BitWidth>0x1</BitWidth>
  25620. <Access>R</Access>
  25621. <Values>
  25622. <Val value="0x0">Hardware watchdog</Val>
  25623. <Val value="0x1">Software watchdog</Val>
  25624. </Values>
  25625. </Bit>
  25626. <Bit>
  25627. <Name>nRST_STOP</Name>
  25628. <Description/>
  25629. <BitOffset>0x3</BitOffset>
  25630. <BitWidth>0x1</BitWidth>
  25631. <Access>R</Access>
  25632. <Values>
  25633. <Val value="0x0">Reset generated when entering Stop mode</Val>
  25634. <Val value="0x1">No reset generated</Val>
  25635. </Values>
  25636. </Bit>
  25637. <Bit>
  25638. <Name>nRST_STDBY</Name>
  25639. <Description/>
  25640. <BitOffset>0x4</BitOffset>
  25641. <BitWidth>0x1</BitWidth>
  25642. <Access>R</Access>
  25643. <Values>
  25644. <Val value="0x0">Reset generated when entering Standby mode</Val>
  25645. <Val value="0x1">No reset generated</Val>
  25646. </Values>
  25647. </Bit>
  25648. </AssignedBits>
  25649. </Field>
  25650. </Category>
  25651. <Category>
  25652. <Name>User Data</Name>
  25653. <Field>
  25654. <Parameters name="USR_DATA" size="0x4" address="0x4002201C"/>
  25655. <AssignedBits>
  25656. <Bit>
  25657. <Name>Data0</Name>
  25658. <Description>User data 0 (8-bit)</Description>
  25659. <BitOffset>0xA</BitOffset>
  25660. <BitWidth>0x8</BitWidth>
  25661. <Access>R</Access>
  25662. </Bit>
  25663. <Bit>
  25664. <Name>Data1</Name>
  25665. <Description>User data 1 (8-bit)</Description>
  25666. <BitOffset>0x12</BitOffset>
  25667. <BitWidth>0x8</BitWidth>
  25668. <Access>R</Access>
  25669. </Bit>
  25670. </AssignedBits>
  25671. </Field>
  25672. </Category>
  25673. <Category>
  25674. <Name>Write Protection</Name>
  25675. <Field>
  25676. <Parameters name="WRP_0_1" size="0x4" address="0x40022020"/>
  25677. <AssignedBits>
  25678. <Bit>
  25679. <Name>WRP0</Name>
  25680. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  25681. <BitOffset>0x0</BitOffset>
  25682. <BitWidth>0x20</BitWidth>
  25683. <Access>R</Access>
  25684. <Values ByBit="true">
  25685. <Val value="0x0">Write protection active on this sector</Val>
  25686. <Val value="0x1">Write protection not active on this sector</Val>
  25687. </Values>
  25688. </Bit>
  25689. </AssignedBits>
  25690. </Field>
  25691. </Category>
  25692. </Bank>
  25693. <Bank interface="JTAG_SWD">
  25694. <Parameters name="Bank 2" size="0x10" address="0x1FFFF800"/>
  25695. <Category>
  25696. <Name>Read Out Protection</Name>
  25697. <Field>
  25698. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  25699. <AssignedBits>
  25700. <Bit>
  25701. <Name>RDP</Name>
  25702. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  25703. <BitOffset>0x0</BitOffset>
  25704. <BitWidth>0x8</BitWidth>
  25705. <Access>W</Access>
  25706. <Values>
  25707. <Val value="0xA5">Level 0, no protection</Val>
  25708. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  25709. </Values>
  25710. </Bit>
  25711. </AssignedBits>
  25712. </Field>
  25713. </Category>
  25714. <Category>
  25715. <Name>User Configuration</Name>
  25716. <Field>
  25717. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  25718. <AssignedBits>
  25719. <Bit>
  25720. <Name>WDG_SW</Name>
  25721. <Description/>
  25722. <BitOffset>0x10</BitOffset>
  25723. <BitWidth>0x1</BitWidth>
  25724. <Access>W</Access>
  25725. <Values>
  25726. <Val value="0x0">Hardware watchdog</Val>
  25727. <Val value="0x1">Software watchdog</Val>
  25728. </Values>
  25729. </Bit>
  25730. <Bit>
  25731. <Name>nRST_STOP</Name>
  25732. <Description/>
  25733. <BitOffset>0x11</BitOffset>
  25734. <BitWidth>0x1</BitWidth>
  25735. <Access>W</Access>
  25736. <Values>
  25737. <Val value="0x0">Reset generated when entering Stop mode</Val>
  25738. <Val value="0x1">No reset generated</Val>
  25739. </Values>
  25740. </Bit>
  25741. <Bit>
  25742. <Name>nRST_STDBY</Name>
  25743. <Description/>
  25744. <BitOffset>0x12</BitOffset>
  25745. <BitWidth>0x1</BitWidth>
  25746. <Access>W</Access>
  25747. <Values>
  25748. <Val value="0x0">Reset generated when entering Standby mode</Val>
  25749. <Val value="0x1">No reset generated</Val>
  25750. </Values>
  25751. </Bit>
  25752. </AssignedBits>
  25753. </Field>
  25754. </Category>
  25755. <Category>
  25756. <Name>User Data</Name>
  25757. <Field>
  25758. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  25759. <AssignedBits>
  25760. <Bit>
  25761. <Name>Data0</Name>
  25762. <Description>User data 0 (8-bit)</Description>
  25763. <BitOffset>0x0</BitOffset>
  25764. <BitWidth>0x8</BitWidth>
  25765. <Access>W</Access>
  25766. </Bit>
  25767. <Bit>
  25768. <Name>Data1</Name>
  25769. <Description>User data 1 (8-bit)</Description>
  25770. <BitOffset>0x10</BitOffset>
  25771. <BitWidth>0x8</BitWidth>
  25772. <Access>W</Access>
  25773. </Bit>
  25774. </AssignedBits>
  25775. </Field>
  25776. </Category>
  25777. <Category>
  25778. <Name>Write Protection</Name>
  25779. <Field>
  25780. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  25781. <AssignedBits>
  25782. <Bit>
  25783. <Name>WRP0</Name>
  25784. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  25785. <BitOffset>0x0</BitOffset>
  25786. <BitWidth>0x8</BitWidth>
  25787. <Access>W</Access>
  25788. <Values ByBit="true">
  25789. <Val value="0x0">Write protection active on this sector</Val>
  25790. <Val value="0x1">Write protection not active on this sector</Val>
  25791. </Values>
  25792. </Bit>
  25793. <Bit>
  25794. <Name>WRP8</Name>
  25795. <Description/>
  25796. <BitOffset>0x10</BitOffset>
  25797. <BitWidth>0x8</BitWidth>
  25798. <Access>W</Access>
  25799. <Values ByBit="true">
  25800. <Val value="0x0">Write protection active on this sector</Val>
  25801. <Val value="0x1">Write protection not active on this sector</Val>
  25802. </Values>
  25803. </Bit>
  25804. </AssignedBits>
  25805. </Field>
  25806. <Field>
  25807. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  25808. <AssignedBits>
  25809. <Bit>
  25810. <Name>WRP16</Name>
  25811. <Description/>
  25812. <BitOffset>0x0</BitOffset>
  25813. <BitWidth>0x8</BitWidth>
  25814. <Access>W</Access>
  25815. <Values ByBit="true">
  25816. <Val value="0x0">Write protection active on this sector</Val>
  25817. <Val value="0x1">Write protection not active on this sector</Val>
  25818. </Values>
  25819. </Bit>
  25820. <Bit>
  25821. <Name>WRP24</Name>
  25822. <Description/>
  25823. <BitOffset>0x10</BitOffset>
  25824. <BitWidth>0x8</BitWidth>
  25825. <Access>W</Access>
  25826. <Values ByBit="true">
  25827. <Val value="0x0">Write protection active on this sector</Val>
  25828. <Val value="0x1">Write protection not active on this sector</Val>
  25829. </Values>
  25830. </Bit>
  25831. </AssignedBits>
  25832. </Field>
  25833. </Category>
  25834. </Bank>
  25835. <Bank interface="Bootloader">
  25836. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  25837. <Category>
  25838. <Name>Read Out Protection</Name>
  25839. <Field>
  25840. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  25841. <AssignedBits>
  25842. <Bit>
  25843. <Name>RDP</Name>
  25844. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  25845. <BitOffset>0x0</BitOffset>
  25846. <BitWidth>0x8</BitWidth>
  25847. <Access>RW</Access>
  25848. <Values>
  25849. <Val value="0xA5">Level 0, no protection</Val>
  25850. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  25851. </Values>
  25852. </Bit>
  25853. </AssignedBits>
  25854. </Field>
  25855. </Category>
  25856. <Category>
  25857. <Name>User Configuration</Name>
  25858. <Field>
  25859. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  25860. <AssignedBits>
  25861. <Bit>
  25862. <Name>WDG_SW</Name>
  25863. <Description/>
  25864. <BitOffset>0x10</BitOffset>
  25865. <BitWidth>0x1</BitWidth>
  25866. <Access>RW</Access>
  25867. <Values>
  25868. <Val value="0x0">Hardware watchdog</Val>
  25869. <Val value="0x1">Software watchdog</Val>
  25870. </Values>
  25871. </Bit>
  25872. <Bit>
  25873. <Name>nRST_STOP</Name>
  25874. <Description/>
  25875. <BitOffset>0x11</BitOffset>
  25876. <BitWidth>0x1</BitWidth>
  25877. <Access>RW</Access>
  25878. <Values>
  25879. <Val value="0x0">Reset generated when entering Stop mode</Val>
  25880. <Val value="0x1">No reset generated</Val>
  25881. </Values>
  25882. </Bit>
  25883. <Bit>
  25884. <Name>nRST_STDBY</Name>
  25885. <Description/>
  25886. <BitOffset>0x12</BitOffset>
  25887. <BitWidth>0x1</BitWidth>
  25888. <Access>RW</Access>
  25889. <Values>
  25890. <Val value="0x0">Reset generated when entering Standby mode</Val>
  25891. <Val value="0x1">No reset generated</Val>
  25892. </Values>
  25893. </Bit>
  25894. </AssignedBits>
  25895. </Field>
  25896. </Category>
  25897. <Category>
  25898. <Name>User Data</Name>
  25899. <Field>
  25900. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  25901. <AssignedBits>
  25902. <Bit>
  25903. <Name>Data0</Name>
  25904. <Description>User data 0 (8-bit)</Description>
  25905. <BitOffset>0x0</BitOffset>
  25906. <BitWidth>0x8</BitWidth>
  25907. <Access>RW</Access>
  25908. </Bit>
  25909. <Bit>
  25910. <Name>Data1</Name>
  25911. <Description>User data 1 (8-bit)</Description>
  25912. <BitOffset>0x10</BitOffset>
  25913. <BitWidth>0x8</BitWidth>
  25914. <Access>RW</Access>
  25915. </Bit>
  25916. </AssignedBits>
  25917. </Field>
  25918. </Category>
  25919. <Category>
  25920. <Name>Write Protection</Name>
  25921. <Field>
  25922. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  25923. <AssignedBits>
  25924. <Bit>
  25925. <Name>WRP0</Name>
  25926. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  25927. <BitOffset>0x0</BitOffset>
  25928. <BitWidth>0x8</BitWidth>
  25929. <Access>RW</Access>
  25930. <Values ByBit="true">
  25931. <Val value="0x0">Write protection active on this sector</Val>
  25932. <Val value="0x1">Write protection not active on this sector</Val>
  25933. </Values>
  25934. </Bit>
  25935. <Bit>
  25936. <Name>WRP8</Name>
  25937. <Description/>
  25938. <BitOffset>0x10</BitOffset>
  25939. <BitWidth>0x8</BitWidth>
  25940. <Access>RW</Access>
  25941. <Values ByBit="true">
  25942. <Val value="0x0">Write protection active on this sector</Val>
  25943. <Val value="0x1">Write protection not active on this sector</Val>
  25944. </Values>
  25945. </Bit>
  25946. </AssignedBits>
  25947. </Field>
  25948. <Field>
  25949. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  25950. <AssignedBits>
  25951. <Bit>
  25952. <Name>WRP16</Name>
  25953. <Description/>
  25954. <BitOffset>0x0</BitOffset>
  25955. <BitWidth>0x8</BitWidth>
  25956. <Access>RW</Access>
  25957. <Values ByBit="true">
  25958. <Val value="0x0">Write protection active on this sector</Val>
  25959. <Val value="0x1">Write protection not active on this sector</Val>
  25960. </Values>
  25961. </Bit>
  25962. <Bit>
  25963. <Name>WRP24</Name>
  25964. <Description/>
  25965. <BitOffset>0x10</BitOffset>
  25966. <BitWidth>0x8</BitWidth>
  25967. <Access>RW</Access>
  25968. <Values ByBit="true">
  25969. <Val value="0x0">Write protection active on this sector</Val>
  25970. <Val value="0x1">Write protection not active on this sector</Val>
  25971. </Values>
  25972. </Bit>
  25973. </AssignedBits>
  25974. </Field>
  25975. </Category>
  25976. </Bank>
  25977. </Peripheral>
  25978. </Peripherals>
  25979. </Device>
  25980. <!-- Device: 0x412 -->
  25981. <Device>
  25982. <DeviceID>0x412</DeviceID>
  25983. <Vendor>STMicroelectronics</Vendor>
  25984. <Type>MCU</Type>
  25985. <CPU>Cortex-M3</CPU>
  25986. <Name>STM32F101/F102/F103 Low-density</Name>
  25987. <Series>STM32F1</Series>
  25988. <Description>ARM 32-bit Cortex-M3 based device</Description>
  25989. <Configurations>
  25990. <!-- JTAG_SWD Interface -->
  25991. <Interface name="JTAG_SWD"/>
  25992. <!-- Bootloader Interface -->
  25993. <Interface name="Bootloader"/>
  25994. </Configurations>
  25995. <!-- Peripherals -->
  25996. <Peripherals>
  25997. <!-- Embedded SRAM -->
  25998. <Peripheral>
  25999. <Name>Embedded SRAM</Name>
  26000. <Type>Storage</Type>
  26001. <Description/>
  26002. <ErasedValue>0x00</ErasedValue>
  26003. <Access>RWE</Access>
  26004. <Configuration>
  26005. <Parameters name="SRAM" size="0x2800" address="0x20000000"/>
  26006. <Description/>
  26007. <Organization>Single</Organization>
  26008. <Bank name="Bank 1">
  26009. <Field>
  26010. <Parameters name="SRAM" size="0x2800" address="0x20000000" occurence="0x1"/>
  26011. </Field>
  26012. </Bank>
  26013. </Configuration>
  26014. </Peripheral>
  26015. <!-- Embedded Flash -->
  26016. <Peripheral>
  26017. <Name>Embedded Flash</Name>
  26018. <Type>Storage</Type>
  26019. <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>
  26020. <ErasedValue>0xFF</ErasedValue>
  26021. <Access>RWE</Access>
  26022. <FlashSize address="0x1FFFF7E0" default="0x8000"/>
  26023. <!-- 512KB single Bank -->
  26024. <Configuration>
  26025. <Parameters name=" 32 Kbytes Embedded Flash" size="0x8000" address="0x08000000"/>
  26026. <Description/>
  26027. <Organization>Single</Organization>
  26028. <Allignement>0x4</Allignement>
  26029. <Bank name="Bank 1">
  26030. <Field>
  26031. <Parameters name="sector0" size="0x400" address="0x08000000" occurence="0x20"/>
  26032. </Field>
  26033. </Bank>
  26034. </Configuration>
  26035. </Peripheral>
  26036. <!-- Mirror Option Bytes -->
  26037. <Peripheral>
  26038. <Name>MirrorOptionBytes</Name>
  26039. <Type>Storage</Type>
  26040. <Description>Mirror Option Bytes contains the extra area.</Description>
  26041. <ErasedValue>0xFF</ErasedValue>
  26042. <Access>RW</Access>
  26043. <!-- 16 Bytes single bank -->
  26044. <Configuration>
  26045. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFF800"/>
  26046. <Description/>
  26047. <Organization>Single</Organization>
  26048. <Allignement>0x4</Allignement>
  26049. <Bank name="MirrorOptionBytes">
  26050. <Field>
  26051. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFF800" occurence="0x1"/>
  26052. </Field>
  26053. </Bank>
  26054. </Configuration>
  26055. </Peripheral>
  26056. <!-- Option Bytes -->
  26057. <Peripheral>
  26058. <Name>Option Bytes</Name>
  26059. <Type>Configuration</Type>
  26060. <Description/>
  26061. <Access>RW</Access>
  26062. <Bank interface="JTAG_SWD">
  26063. <Parameters name="Bank 1" size="0x8" address="0x4002201C"/>
  26064. <Category>
  26065. <Name>Read Out Protection</Name>
  26066. <Field>
  26067. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  26068. <AssignedBits>
  26069. <Bit>
  26070. <Name>RDP</Name>
  26071. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  26072. <BitOffset>0x1</BitOffset>
  26073. <BitWidth>0x1</BitWidth>
  26074. <Access>R</Access>
  26075. <Values>
  26076. <Val value="0">Flash memory is not read-protected.</Val>
  26077. <Val value="1">Flash memory is read-protected.</Val>
  26078. </Values>
  26079. </Bit>
  26080. </AssignedBits>
  26081. </Field>
  26082. </Category>
  26083. <Category>
  26084. <Name>User Configuration</Name>
  26085. <Field>
  26086. <Parameters name="USR_RDP" size="0x4" address="0x4002201C"/>
  26087. <AssignedBits>
  26088. <Bit>
  26089. <Name>WDG_SW</Name>
  26090. <Description/>
  26091. <BitOffset>0x2</BitOffset>
  26092. <BitWidth>0x1</BitWidth>
  26093. <Access>R</Access>
  26094. <Values>
  26095. <Val value="0x0">Hardware watchdog</Val>
  26096. <Val value="0x1">Software watchdog</Val>
  26097. </Values>
  26098. </Bit>
  26099. <Bit>
  26100. <Name>nRST_STOP</Name>
  26101. <Description/>
  26102. <BitOffset>0x3</BitOffset>
  26103. <BitWidth>0x1</BitWidth>
  26104. <Access>R</Access>
  26105. <Values>
  26106. <Val value="0x0">Reset generated when entering Stop mode</Val>
  26107. <Val value="0x1">No reset generated</Val>
  26108. </Values>
  26109. </Bit>
  26110. <Bit>
  26111. <Name>nRST_STDBY</Name>
  26112. <Description/>
  26113. <BitOffset>0x4</BitOffset>
  26114. <BitWidth>0x1</BitWidth>
  26115. <Access>R</Access>
  26116. <Values>
  26117. <Val value="0x0">Reset generated when entering Standby mode</Val>
  26118. <Val value="0x1">No reset generated</Val>
  26119. </Values>
  26120. </Bit>
  26121. </AssignedBits>
  26122. </Field>
  26123. </Category>
  26124. <Category>
  26125. <Name>User Data</Name>
  26126. <Field>
  26127. <Parameters name="USR_DATA" size="0x4" address="0x4002201C"/>
  26128. <AssignedBits>
  26129. <Bit>
  26130. <Name>Data0</Name>
  26131. <Description>User data 0 (8-bit)</Description>
  26132. <BitOffset>0xA</BitOffset>
  26133. <BitWidth>0x8</BitWidth>
  26134. <Access>R</Access>
  26135. </Bit>
  26136. <Bit>
  26137. <Name>Data1</Name>
  26138. <Description>User data 1 (8-bit)</Description>
  26139. <BitOffset>0x12</BitOffset>
  26140. <BitWidth>0x8</BitWidth>
  26141. <Access>R</Access>
  26142. </Bit>
  26143. </AssignedBits>
  26144. </Field>
  26145. </Category>
  26146. <Category>
  26147. <Name>Write Protection</Name>
  26148. <Field>
  26149. <Parameters name="WRP_0_1" size="0x4" address="0x40022020"/>
  26150. <AssignedBits>
  26151. <Bit>
  26152. <Name>WRP0</Name>
  26153. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  26154. <BitOffset>0x0</BitOffset>
  26155. <BitWidth>0x8</BitWidth>
  26156. <Access>R</Access>
  26157. <Values ByBit="true">
  26158. <Val value="0x0">Write protection active on this sector</Val>
  26159. <Val value="0x1">Write protection not active on this sector</Val>
  26160. </Values>
  26161. </Bit>
  26162. </AssignedBits>
  26163. </Field>
  26164. </Category>
  26165. </Bank>
  26166. <Bank interface="JTAG_SWD">
  26167. <Parameters name="Bank 2" size="0x10" address="0x1FFFF800"/>
  26168. <Category>
  26169. <Name>Read Out Protection</Name>
  26170. <Field>
  26171. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  26172. <AssignedBits>
  26173. <Bit>
  26174. <Name>RDP</Name>
  26175. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  26176. <BitOffset>0x0</BitOffset>
  26177. <BitWidth>0x8</BitWidth>
  26178. <Access>W</Access>
  26179. <Values>
  26180. <Val value="0xA5">Level 0, no protection</Val>
  26181. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  26182. </Values>
  26183. </Bit>
  26184. </AssignedBits>
  26185. </Field>
  26186. </Category>
  26187. <Category>
  26188. <Name>User Configuration</Name>
  26189. <Field>
  26190. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  26191. <AssignedBits>
  26192. <Bit>
  26193. <Name>WDG_SW</Name>
  26194. <Description/>
  26195. <BitOffset>0x10</BitOffset>
  26196. <BitWidth>0x1</BitWidth>
  26197. <Access>W</Access>
  26198. <Values>
  26199. <Val value="0x0">Hardware watchdog</Val>
  26200. <Val value="0x1">Software watchdog</Val>
  26201. </Values>
  26202. </Bit>
  26203. <Bit>
  26204. <Name>nRST_STOP</Name>
  26205. <Description/>
  26206. <BitOffset>0x11</BitOffset>
  26207. <BitWidth>0x1</BitWidth>
  26208. <Access>W</Access>
  26209. <Values>
  26210. <Val value="0x0">Reset generated when entering Stop mode</Val>
  26211. <Val value="0x1">No reset generated</Val>
  26212. </Values>
  26213. </Bit>
  26214. <Bit>
  26215. <Name>nRST_STDBY</Name>
  26216. <Description/>
  26217. <BitOffset>0x12</BitOffset>
  26218. <BitWidth>0x1</BitWidth>
  26219. <Access>W</Access>
  26220. <Values>
  26221. <Val value="0x0">Reset generated when entering Standby mode</Val>
  26222. <Val value="0x1">No reset generated</Val>
  26223. </Values>
  26224. </Bit>
  26225. </AssignedBits>
  26226. </Field>
  26227. </Category>
  26228. <Category>
  26229. <Name>User Data</Name>
  26230. <Field>
  26231. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  26232. <AssignedBits>
  26233. <Bit>
  26234. <Name>Data0</Name>
  26235. <Description>User data 0 (8-bit)</Description>
  26236. <BitOffset>0x0</BitOffset>
  26237. <BitWidth>0x8</BitWidth>
  26238. <Access>W</Access>
  26239. </Bit>
  26240. <Bit>
  26241. <Name>Data1</Name>
  26242. <Description>User data 1 (8-bit)</Description>
  26243. <BitOffset>0x10</BitOffset>
  26244. <BitWidth>0x8</BitWidth>
  26245. <Access>W</Access>
  26246. </Bit>
  26247. </AssignedBits>
  26248. </Field>
  26249. </Category>
  26250. <Category>
  26251. <Name>Write Protection</Name>
  26252. <Field>
  26253. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  26254. <AssignedBits>
  26255. <Bit>
  26256. <Name>WRP0</Name>
  26257. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  26258. <BitOffset>0x0</BitOffset>
  26259. <BitWidth>0x8</BitWidth>
  26260. <Access>W</Access>
  26261. <Values ByBit="true">
  26262. <Val value="0x0">Write protection active on this sector</Val>
  26263. <Val value="0x1">Write protection not active on this sector</Val>
  26264. </Values>
  26265. </Bit>
  26266. </AssignedBits>
  26267. </Field>
  26268. </Category>
  26269. </Bank>
  26270. <Bank interface="Bootloader">
  26271. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  26272. <Category>
  26273. <Name>Read Out Protection</Name>
  26274. <Field>
  26275. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  26276. <AssignedBits>
  26277. <Bit>
  26278. <Name>RDP</Name>
  26279. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  26280. <BitOffset>0x0</BitOffset>
  26281. <BitWidth>0x8</BitWidth>
  26282. <Access>RW</Access>
  26283. <Values>
  26284. <Val value="0xA5">Level 0, no protection</Val>
  26285. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  26286. </Values>
  26287. </Bit>
  26288. </AssignedBits>
  26289. </Field>
  26290. </Category>
  26291. <Category>
  26292. <Name>User Configuration</Name>
  26293. <Field>
  26294. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  26295. <AssignedBits>
  26296. <Bit>
  26297. <Name>WDG_SW</Name>
  26298. <Description/>
  26299. <BitOffset>0x10</BitOffset>
  26300. <BitWidth>0x1</BitWidth>
  26301. <Access>RW</Access>
  26302. <Values>
  26303. <Val value="0x0">Hardware watchdog</Val>
  26304. <Val value="0x1">Software watchdog</Val>
  26305. </Values>
  26306. </Bit>
  26307. <Bit>
  26308. <Name>nRST_STOP</Name>
  26309. <Description/>
  26310. <BitOffset>0x11</BitOffset>
  26311. <BitWidth>0x1</BitWidth>
  26312. <Access>RW</Access>
  26313. <Values>
  26314. <Val value="0x0">Reset generated when entering Stop mode</Val>
  26315. <Val value="0x1">No reset generated</Val>
  26316. </Values>
  26317. </Bit>
  26318. <Bit>
  26319. <Name>nRST_STDBY</Name>
  26320. <Description/>
  26321. <BitOffset>0x12</BitOffset>
  26322. <BitWidth>0x1</BitWidth>
  26323. <Access>RW</Access>
  26324. <Values>
  26325. <Val value="0x0">Reset generated when entering Standby mode</Val>
  26326. <Val value="0x1">No reset generated</Val>
  26327. </Values>
  26328. </Bit>
  26329. </AssignedBits>
  26330. </Field>
  26331. </Category>
  26332. <Category>
  26333. <Name>User Data</Name>
  26334. <Field>
  26335. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  26336. <AssignedBits>
  26337. <Bit>
  26338. <Name>Data0</Name>
  26339. <Description>User data 0 (8-bit)</Description>
  26340. <BitOffset>0x0</BitOffset>
  26341. <BitWidth>0x8</BitWidth>
  26342. <Access>RW</Access>
  26343. </Bit>
  26344. <Bit>
  26345. <Name>Data1</Name>
  26346. <Description>User data 1 (8-bit)</Description>
  26347. <BitOffset>0x10</BitOffset>
  26348. <BitWidth>0x8</BitWidth>
  26349. <Access>RW</Access>
  26350. </Bit>
  26351. </AssignedBits>
  26352. </Field>
  26353. </Category>
  26354. <Category>
  26355. <Name>Write Protection</Name>
  26356. <Field>
  26357. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  26358. <AssignedBits>
  26359. <Bit>
  26360. <Name>WRP0</Name>
  26361. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  26362. <BitOffset>0x0</BitOffset>
  26363. <BitWidth>0x8</BitWidth>
  26364. <Access>RW</Access>
  26365. <Values ByBit="true">
  26366. <Val value="0x0">Write protection active on this sector</Val>
  26367. <Val value="0x1">Write protection not active on this sector</Val>
  26368. </Values>
  26369. </Bit>
  26370. </AssignedBits>
  26371. </Field>
  26372. </Category>
  26373. </Bank>
  26374. </Peripheral>
  26375. </Peripherals>
  26376. </Device>
  26377. <!-- Device: 0x418 -->
  26378. <Device>
  26379. <DeviceID>0x418</DeviceID>
  26380. <Vendor>STMicroelectronics</Vendor>
  26381. <Type>MCU</Type>
  26382. <CPU>Cortex-M3</CPU>
  26383. <Name>STM32F105/F107 Connectivity Line</Name>
  26384. <Series>STM32F1</Series>
  26385. <Description>ARM 32-bit Cortex-M3 based device</Description>
  26386. <Configurations>
  26387. <!-- JTAG_SWD Interface -->
  26388. <Interface name="JTAG_SWD"/>
  26389. <!-- Bootloader Interface -->
  26390. <Interface name="Bootloader"/>
  26391. </Configurations>
  26392. <!-- Peripherals -->
  26393. <Peripherals>
  26394. <!-- Embedded SRAM -->
  26395. <Peripheral>
  26396. <Name>Embedded SRAM</Name>
  26397. <Type>Storage</Type>
  26398. <Description/>
  26399. <ErasedValue>0x00</ErasedValue>
  26400. <Access>RWE</Access>
  26401. <Configuration>
  26402. <Parameters name="SRAM" size="0x10000" address="0x20000000"/>
  26403. <Description/>
  26404. <Organization>Single</Organization>
  26405. <Bank name="Bank 1">
  26406. <Field>
  26407. <Parameters name="SRAM" size="0x10000" address="0x20000000" occurence="0x1"/>
  26408. </Field>
  26409. </Bank>
  26410. </Configuration>
  26411. </Peripheral>
  26412. <!-- Embedded Flash -->
  26413. <Peripheral>
  26414. <Name>Embedded Flash</Name>
  26415. <Type>Storage</Type>
  26416. <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>
  26417. <ErasedValue>0xFF</ErasedValue>
  26418. <Access>RWE</Access>
  26419. <FlashSize address="0x1FFFF7E0" default="0x40000"/>
  26420. <!-- 512KB single Bank -->
  26421. <Configuration>
  26422. <Parameters name=" 256 Kbytes Embedded Flash" size="0x40000" address="0x08000000"/>
  26423. <Description/>
  26424. <Organization>Single</Organization>
  26425. <Allignement>0x4</Allignement>
  26426. <Bank name="Bank 1">
  26427. <Field>
  26428. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x80"/>
  26429. </Field>
  26430. </Bank>
  26431. </Configuration>
  26432. </Peripheral>
  26433. <!-- Mirror Option Bytes -->
  26434. <Peripheral>
  26435. <Name>MirrorOptionBytes</Name>
  26436. <Type>Storage</Type>
  26437. <Description>Mirror Option Bytes contains the extra area.</Description>
  26438. <ErasedValue>0xFF</ErasedValue>
  26439. <Access>RW</Access>
  26440. <!-- 16 Bytes single bank -->
  26441. <Configuration>
  26442. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFF800"/>
  26443. <Description/>
  26444. <Organization>Single</Organization>
  26445. <Allignement>0x4</Allignement>
  26446. <Bank name="MirrorOptionBytes">
  26447. <Field>
  26448. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFF800" occurence="0x1"/>
  26449. </Field>
  26450. </Bank>
  26451. </Configuration>
  26452. </Peripheral>
  26453. <!-- Option Bytes -->
  26454. <Peripheral>
  26455. <Name>Option Bytes</Name>
  26456. <Type>Configuration</Type>
  26457. <Description/>
  26458. <Access>RW</Access>
  26459. <Bank interface="JTAG_SWD">
  26460. <Parameters name="Bank 1" size="0x8" address="0x4002201C"/>
  26461. <Category>
  26462. <Name>Read Out Protection</Name>
  26463. <Field>
  26464. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  26465. <AssignedBits>
  26466. <Bit>
  26467. <Name>RDP</Name>
  26468. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  26469. <BitOffset>0x1</BitOffset>
  26470. <BitWidth>0x1</BitWidth>
  26471. <Access>R</Access>
  26472. <Values>
  26473. <Val value="0">Flash memory is not read-protected.</Val>
  26474. <Val value="1">Flash memory is read-protected.</Val>
  26475. </Values>
  26476. </Bit>
  26477. </AssignedBits>
  26478. </Field>
  26479. </Category>
  26480. <Category>
  26481. <Name>User Configuration</Name>
  26482. <Field>
  26483. <Parameters name="USR_RDP" size="0x4" address="0x4002201C"/>
  26484. <AssignedBits>
  26485. <Bit>
  26486. <Name>WDG_SW</Name>
  26487. <Description/>
  26488. <BitOffset>0x2</BitOffset>
  26489. <BitWidth>0x1</BitWidth>
  26490. <Access>R</Access>
  26491. <Values>
  26492. <Val value="0x0">Hardware watchdog</Val>
  26493. <Val value="0x1">Software watchdog</Val>
  26494. </Values>
  26495. </Bit>
  26496. <Bit>
  26497. <Name>nRST_STOP</Name>
  26498. <Description/>
  26499. <BitOffset>0x3</BitOffset>
  26500. <BitWidth>0x1</BitWidth>
  26501. <Access>R</Access>
  26502. <Values>
  26503. <Val value="0x0">Reset generated when entering Stop mode</Val>
  26504. <Val value="0x1">No reset generated</Val>
  26505. </Values>
  26506. </Bit>
  26507. <Bit>
  26508. <Name>nRST_STDBY</Name>
  26509. <Description/>
  26510. <BitOffset>0x4</BitOffset>
  26511. <BitWidth>0x1</BitWidth>
  26512. <Access>R</Access>
  26513. <Values>
  26514. <Val value="0x0">Reset generated when entering Standby mode</Val>
  26515. <Val value="0x1">No reset generated</Val>
  26516. </Values>
  26517. </Bit>
  26518. </AssignedBits>
  26519. </Field>
  26520. </Category>
  26521. <Category>
  26522. <Name>User Data</Name>
  26523. <Field>
  26524. <Parameters name="USR_DATA" size="0x4" address="0x4002201C"/>
  26525. <AssignedBits>
  26526. <Bit>
  26527. <Name>Data0</Name>
  26528. <Description>User data 0 (8-bit)</Description>
  26529. <BitOffset>0xA</BitOffset>
  26530. <BitWidth>0x8</BitWidth>
  26531. <Access>R</Access>
  26532. </Bit>
  26533. <Bit>
  26534. <Name>Data1</Name>
  26535. <Description>User data 1 (8-bit)</Description>
  26536. <BitOffset>0x12</BitOffset>
  26537. <BitWidth>0x8</BitWidth>
  26538. <Access>R</Access>
  26539. </Bit>
  26540. </AssignedBits>
  26541. </Field>
  26542. </Category>
  26543. <Category>
  26544. <Name>Write Protection</Name>
  26545. <Field>
  26546. <Parameters name="WRP_0_1" size="0x4" address="0x40022020"/>
  26547. <AssignedBits>
  26548. <Bit>
  26549. <Name>WRP0</Name>
  26550. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  26551. <BitOffset>0x0</BitOffset>
  26552. <BitWidth>0x20</BitWidth>
  26553. <Access>R</Access>
  26554. <Values ByBit="true">
  26555. <Val value="0x0">Write protection active on this sector</Val>
  26556. <Val value="0x1">Write protection not active on this sector</Val>
  26557. </Values>
  26558. </Bit>
  26559. </AssignedBits>
  26560. </Field>
  26561. </Category>
  26562. </Bank>
  26563. <Bank interface="JTAG_SWD">
  26564. <Parameters name="Bank 2" size="0x10" address="0x1FFFF800"/>
  26565. <Category>
  26566. <Name>Read Out Protection</Name>
  26567. <Field>
  26568. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  26569. <AssignedBits>
  26570. <Bit>
  26571. <Name>RDP</Name>
  26572. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  26573. <BitOffset>0x0</BitOffset>
  26574. <BitWidth>0x8</BitWidth>
  26575. <Access>W</Access>
  26576. <Values>
  26577. <Val value="0xA5">Level 0, no protection</Val>
  26578. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  26579. </Values>
  26580. </Bit>
  26581. </AssignedBits>
  26582. </Field>
  26583. </Category>
  26584. <Category>
  26585. <Name>User Configuration</Name>
  26586. <Field>
  26587. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  26588. <AssignedBits>
  26589. <Bit>
  26590. <Name>WDG_SW</Name>
  26591. <Description/>
  26592. <BitOffset>0x10</BitOffset>
  26593. <BitWidth>0x1</BitWidth>
  26594. <Access>W</Access>
  26595. <Values>
  26596. <Val value="0x0">Hardware watchdog</Val>
  26597. <Val value="0x1">Software watchdog</Val>
  26598. </Values>
  26599. </Bit>
  26600. <Bit>
  26601. <Name>nRST_STOP</Name>
  26602. <Description/>
  26603. <BitOffset>0x11</BitOffset>
  26604. <BitWidth>0x1</BitWidth>
  26605. <Access>W</Access>
  26606. <Values>
  26607. <Val value="0x0">Reset generated when entering Stop mode</Val>
  26608. <Val value="0x1">No reset generated</Val>
  26609. </Values>
  26610. </Bit>
  26611. <Bit>
  26612. <Name>nRST_STDBY</Name>
  26613. <Description/>
  26614. <BitOffset>0x12</BitOffset>
  26615. <BitWidth>0x1</BitWidth>
  26616. <Access>W</Access>
  26617. <Values>
  26618. <Val value="0x0">Reset generated when entering Standby mode</Val>
  26619. <Val value="0x1">No reset generated</Val>
  26620. </Values>
  26621. </Bit>
  26622. </AssignedBits>
  26623. </Field>
  26624. </Category>
  26625. <Category>
  26626. <Name>User Data</Name>
  26627. <Field>
  26628. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  26629. <AssignedBits>
  26630. <Bit>
  26631. <Name>Data0</Name>
  26632. <Description>User data 0 (8-bit)</Description>
  26633. <BitOffset>0x0</BitOffset>
  26634. <BitWidth>0x8</BitWidth>
  26635. <Access>W</Access>
  26636. </Bit>
  26637. <Bit>
  26638. <Name>Data1</Name>
  26639. <Description>User data 1 (8-bit)</Description>
  26640. <BitOffset>0x10</BitOffset>
  26641. <BitWidth>0x8</BitWidth>
  26642. <Access>W</Access>
  26643. </Bit>
  26644. </AssignedBits>
  26645. </Field>
  26646. </Category>
  26647. <Category>
  26648. <Name>Write Protection</Name>
  26649. <Field>
  26650. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  26651. <AssignedBits>
  26652. <Bit>
  26653. <Name>WRP0</Name>
  26654. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  26655. <BitOffset>0x0</BitOffset>
  26656. <BitWidth>0x8</BitWidth>
  26657. <Access>W</Access>
  26658. <Values ByBit="true">
  26659. <Val value="0x0">Write protection active on this sector</Val>
  26660. <Val value="0x1">Write protection not active on this sector</Val>
  26661. </Values>
  26662. </Bit>
  26663. <Bit>
  26664. <Name>WRP8</Name>
  26665. <Description/>
  26666. <BitOffset>0x10</BitOffset>
  26667. <BitWidth>0x8</BitWidth>
  26668. <Access>W</Access>
  26669. <Values ByBit="true">
  26670. <Val value="0x0">Write protection active on this sector</Val>
  26671. <Val value="0x1">Write protection not active on this sector</Val>
  26672. </Values>
  26673. </Bit>
  26674. </AssignedBits>
  26675. </Field>
  26676. <Field>
  26677. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  26678. <AssignedBits>
  26679. <Bit>
  26680. <Name>WRP16</Name>
  26681. <Description/>
  26682. <BitOffset>0x0</BitOffset>
  26683. <BitWidth>0x8</BitWidth>
  26684. <Access>W</Access>
  26685. <Values ByBit="true">
  26686. <Val value="0x0">Write protection active on this sector</Val>
  26687. <Val value="0x1">Write protection not active on this sector</Val>
  26688. </Values>
  26689. </Bit>
  26690. <Bit>
  26691. <Name>WRP24</Name>
  26692. <Description/>
  26693. <BitOffset>0x10</BitOffset>
  26694. <BitWidth>0x8</BitWidth>
  26695. <Access>W</Access>
  26696. <Values ByBit="true">
  26697. <Val value="0x0">Write protection active on this sector</Val>
  26698. <Val value="0x1">Write protection not active on this sector</Val>
  26699. </Values>
  26700. </Bit>
  26701. </AssignedBits>
  26702. </Field>
  26703. </Category>
  26704. </Bank>
  26705. <Bank interface="Bootloader">
  26706. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  26707. <Category>
  26708. <Name>Read Out Protection</Name>
  26709. <Field>
  26710. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  26711. <AssignedBits>
  26712. <Bit>
  26713. <Name>RDP</Name>
  26714. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  26715. <BitOffset>0x0</BitOffset>
  26716. <BitWidth>0x8</BitWidth>
  26717. <Access>RW</Access>
  26718. <Values>
  26719. <Val value="0xA5">Level 0, no protection</Val>
  26720. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  26721. </Values>
  26722. </Bit>
  26723. </AssignedBits>
  26724. </Field>
  26725. </Category>
  26726. <Category>
  26727. <Name>User Configuration</Name>
  26728. <Field>
  26729. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  26730. <AssignedBits>
  26731. <Bit>
  26732. <Name>WDG_SW</Name>
  26733. <Description/>
  26734. <BitOffset>0x10</BitOffset>
  26735. <BitWidth>0x1</BitWidth>
  26736. <Access>RW</Access>
  26737. <Values>
  26738. <Val value="0x0">Hardware watchdog</Val>
  26739. <Val value="0x1">Software watchdog</Val>
  26740. </Values>
  26741. </Bit>
  26742. <Bit>
  26743. <Name>nRST_STOP</Name>
  26744. <Description/>
  26745. <BitOffset>0x11</BitOffset>
  26746. <BitWidth>0x1</BitWidth>
  26747. <Access>RW</Access>
  26748. <Values>
  26749. <Val value="0x0">Reset generated when entering Stop mode</Val>
  26750. <Val value="0x1">No reset generated</Val>
  26751. </Values>
  26752. </Bit>
  26753. <Bit>
  26754. <Name>nRST_STDBY</Name>
  26755. <Description/>
  26756. <BitOffset>0x12</BitOffset>
  26757. <BitWidth>0x1</BitWidth>
  26758. <Access>RW</Access>
  26759. <Values>
  26760. <Val value="0x0">Reset generated when entering Standby mode</Val>
  26761. <Val value="0x1">No reset generated</Val>
  26762. </Values>
  26763. </Bit>
  26764. </AssignedBits>
  26765. </Field>
  26766. </Category>
  26767. <Category>
  26768. <Name>User Data</Name>
  26769. <Field>
  26770. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  26771. <AssignedBits>
  26772. <Bit>
  26773. <Name>Data0</Name>
  26774. <Description>User data 0 (8-bit)</Description>
  26775. <BitOffset>0x0</BitOffset>
  26776. <BitWidth>0x8</BitWidth>
  26777. <Access>RW</Access>
  26778. </Bit>
  26779. <Bit>
  26780. <Name>Data1</Name>
  26781. <Description>User data 1 (8-bit)</Description>
  26782. <BitOffset>0x10</BitOffset>
  26783. <BitWidth>0x8</BitWidth>
  26784. <Access>RW</Access>
  26785. </Bit>
  26786. </AssignedBits>
  26787. </Field>
  26788. </Category>
  26789. <Category>
  26790. <Name>Write Protection</Name>
  26791. <Field>
  26792. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  26793. <AssignedBits>
  26794. <Bit>
  26795. <Name>WRP0</Name>
  26796. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  26797. <BitOffset>0x0</BitOffset>
  26798. <BitWidth>0x8</BitWidth>
  26799. <Access>RW</Access>
  26800. <Values ByBit="true">
  26801. <Val value="0x0">Write protection active on this sector</Val>
  26802. <Val value="0x1">Write protection not active on this sector</Val>
  26803. </Values>
  26804. </Bit>
  26805. <Bit>
  26806. <Name>WRP8</Name>
  26807. <Description/>
  26808. <BitOffset>0x10</BitOffset>
  26809. <BitWidth>0x8</BitWidth>
  26810. <Access>RW</Access>
  26811. <Values ByBit="true">
  26812. <Val value="0x0">Write protection active on this sector</Val>
  26813. <Val value="0x1">Write protection not active on this sector</Val>
  26814. </Values>
  26815. </Bit>
  26816. </AssignedBits>
  26817. </Field>
  26818. <Field>
  26819. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  26820. <AssignedBits>
  26821. <Bit>
  26822. <Name>WRP16</Name>
  26823. <Description/>
  26824. <BitOffset>0x0</BitOffset>
  26825. <BitWidth>0x8</BitWidth>
  26826. <Access>RW</Access>
  26827. <Values ByBit="true">
  26828. <Val value="0x0">Write protection active on this sector</Val>
  26829. <Val value="0x1">Write protection not active on this sector</Val>
  26830. </Values>
  26831. </Bit>
  26832. <Bit>
  26833. <Name>WRP24</Name>
  26834. <Description/>
  26835. <BitOffset>0x10</BitOffset>
  26836. <BitWidth>0x8</BitWidth>
  26837. <Access>RW</Access>
  26838. <Values ByBit="true">
  26839. <Val value="0x0">Write protection active on this sector</Val>
  26840. <Val value="0x1">Write protection not active on this sector</Val>
  26841. </Values>
  26842. </Bit>
  26843. </AssignedBits>
  26844. </Field>
  26845. </Category>
  26846. </Bank>
  26847. </Peripheral>
  26848. </Peripherals>
  26849. </Device>
  26850. <!-- Device: 0x428 -->
  26851. <Device>
  26852. <DeviceID>0x428</DeviceID>
  26853. <Vendor>STMicroelectronics</Vendor>
  26854. <Type>MCU</Type>
  26855. <CPU>Cortex-M3</CPU>
  26856. <Name>STM32F100 High-density Value Line</Name>
  26857. <Series>STM32F1</Series>
  26858. <Description>ARM 32-bit Cortex-M3 based device</Description>
  26859. <Configurations>
  26860. <!-- JTAG_SWD Interface -->
  26861. <Interface name="JTAG_SWD"/>
  26862. <!-- Bootloader Interface -->
  26863. <Interface name="Bootloader"/>
  26864. </Configurations>
  26865. <!-- Peripherals -->
  26866. <Peripherals>
  26867. <!-- Embedded SRAM -->
  26868. <Peripheral>
  26869. <Name>Embedded SRAM</Name>
  26870. <Type>Storage</Type>
  26871. <Description/>
  26872. <ErasedValue>0x00</ErasedValue>
  26873. <Access>RWE</Access>
  26874. <Configuration>
  26875. <Parameters name="SRAM" size="0x8000" address="0x20000000"/>
  26876. <Description/>
  26877. <Organization>Single</Organization>
  26878. <Bank name="Bank 1">
  26879. <Field>
  26880. <Parameters name="SRAM" size="0x8000" address="0x20000000" occurence="0x1"/>
  26881. </Field>
  26882. </Bank>
  26883. </Configuration>
  26884. </Peripheral>
  26885. <!-- Embedded Flash -->
  26886. <Peripheral>
  26887. <Name>Embedded Flash</Name>
  26888. <Type>Storage</Type>
  26889. <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>
  26890. <ErasedValue>0xFF</ErasedValue>
  26891. <Access>RWE</Access>
  26892. <FlashSize address="0x1FFFF7E0" default="0x80000"/>
  26893. <!-- 512KB single Bank -->
  26894. <Configuration>
  26895. <Parameters name=" 512 Kbytes Embedded Flash" size="0x80000" address="0x08000000"/>
  26896. <Description/>
  26897. <Organization>Single</Organization>
  26898. <Allignement>0x4</Allignement>
  26899. <Bank name="Bank 1">
  26900. <Field>
  26901. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x100"/>
  26902. </Field>
  26903. </Bank>
  26904. </Configuration>
  26905. </Peripheral>
  26906. <!-- Mirror Option Bytes -->
  26907. <Peripheral>
  26908. <Name>MirrorOptionBytes</Name>
  26909. <Type>Storage</Type>
  26910. <Description>Mirror Option Bytes contains the extra area.</Description>
  26911. <ErasedValue>0xFF</ErasedValue>
  26912. <Access>RW</Access>
  26913. <!-- 16 Bytes single bank -->
  26914. <Configuration>
  26915. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFF800"/>
  26916. <Description/>
  26917. <Organization>Single</Organization>
  26918. <Allignement>0x4</Allignement>
  26919. <Bank name="MirrorOptionBytes">
  26920. <Field>
  26921. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFF800" occurence="0x1"/>
  26922. </Field>
  26923. </Bank>
  26924. </Configuration>
  26925. </Peripheral>
  26926. <!-- Option Bytes -->
  26927. <Peripheral>
  26928. <Name>Option Bytes</Name>
  26929. <Type>Configuration</Type>
  26930. <Description/>
  26931. <Access>RW</Access>
  26932. <Bank interface="JTAG_SWD">
  26933. <Parameters name="Bank 1" size="0x8" address="0x4002201C"/>
  26934. <Category>
  26935. <Name>Read Out Protection</Name>
  26936. <Field>
  26937. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  26938. <AssignedBits>
  26939. <Bit>
  26940. <Name>RDP</Name>
  26941. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  26942. <BitOffset>0x1</BitOffset>
  26943. <BitWidth>0x1</BitWidth>
  26944. <Access>R</Access>
  26945. <Values>
  26946. <Val value="0">Flash memory is not read-protected.</Val>
  26947. <Val value="1">Flash memory is read-protected.</Val>
  26948. </Values>
  26949. </Bit>
  26950. </AssignedBits>
  26951. </Field>
  26952. </Category>
  26953. <Category>
  26954. <Name>User Configuration</Name>
  26955. <Field>
  26956. <Parameters name="USR_RDP" size="0x4" address="0x4002201C"/>
  26957. <AssignedBits>
  26958. <Bit>
  26959. <Name>WDG_SW</Name>
  26960. <Description/>
  26961. <BitOffset>0x2</BitOffset>
  26962. <BitWidth>0x1</BitWidth>
  26963. <Access>R</Access>
  26964. <Values>
  26965. <Val value="0x0">Hardware watchdog</Val>
  26966. <Val value="0x1">Software watchdog</Val>
  26967. </Values>
  26968. </Bit>
  26969. <Bit>
  26970. <Name>nRST_STOP</Name>
  26971. <Description/>
  26972. <BitOffset>0x3</BitOffset>
  26973. <BitWidth>0x1</BitWidth>
  26974. <Access>R</Access>
  26975. <Values>
  26976. <Val value="0x0">Reset generated when entering Stop mode</Val>
  26977. <Val value="0x1">No reset generated</Val>
  26978. </Values>
  26979. </Bit>
  26980. <Bit>
  26981. <Name>nRST_STDBY</Name>
  26982. <Description/>
  26983. <BitOffset>0x4</BitOffset>
  26984. <BitWidth>0x1</BitWidth>
  26985. <Access>R</Access>
  26986. <Values>
  26987. <Val value="0x0">Reset generated when entering Standby mode</Val>
  26988. <Val value="0x1">No reset generated</Val>
  26989. </Values>
  26990. </Bit>
  26991. </AssignedBits>
  26992. </Field>
  26993. </Category>
  26994. <Category>
  26995. <Name>User Data</Name>
  26996. <Field>
  26997. <Parameters name="USR_DATA" size="0x4" address="0x4002201C"/>
  26998. <AssignedBits>
  26999. <Bit>
  27000. <Name>Data0</Name>
  27001. <Description>User data 0 (8-bit)</Description>
  27002. <BitOffset>0xA</BitOffset>
  27003. <BitWidth>0x8</BitWidth>
  27004. <Access>R</Access>
  27005. </Bit>
  27006. <Bit>
  27007. <Name>Data1</Name>
  27008. <Description>User data 1 (8-bit)</Description>
  27009. <BitOffset>0x12</BitOffset>
  27010. <BitWidth>0x8</BitWidth>
  27011. <Access>R</Access>
  27012. </Bit>
  27013. </AssignedBits>
  27014. </Field>
  27015. </Category>
  27016. <Category>
  27017. <Name>Write Protection</Name>
  27018. <Field>
  27019. <Parameters name="WRP_0_1" size="0x4" address="0x40022020"/>
  27020. <AssignedBits>
  27021. <Bit>
  27022. <Name>WRP0</Name>
  27023. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  27024. <BitOffset>0x0</BitOffset>
  27025. <BitWidth>0x20</BitWidth>
  27026. <Access>R</Access>
  27027. <Values ByBit="true">
  27028. <Val value="0x0">Write protection active on this sector</Val>
  27029. <Val value="0x1">Write protection not active on this sector</Val>
  27030. </Values>
  27031. </Bit>
  27032. </AssignedBits>
  27033. </Field>
  27034. </Category>
  27035. </Bank>
  27036. <Bank interface="JTAG_SWD">
  27037. <Parameters name="Bank 2" size="0x10" address="0x1FFFF800"/>
  27038. <Category>
  27039. <Name>Read Out Protection</Name>
  27040. <Field>
  27041. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  27042. <AssignedBits>
  27043. <Bit>
  27044. <Name>RDP</Name>
  27045. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  27046. <BitOffset>0x0</BitOffset>
  27047. <BitWidth>0x8</BitWidth>
  27048. <Access>W</Access>
  27049. <Values>
  27050. <Val value="0xA5">Level 0, no protection</Val>
  27051. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  27052. </Values>
  27053. </Bit>
  27054. </AssignedBits>
  27055. </Field>
  27056. </Category>
  27057. <Category>
  27058. <Name>User Configuration</Name>
  27059. <Field>
  27060. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  27061. <AssignedBits>
  27062. <Bit>
  27063. <Name>WDG_SW</Name>
  27064. <Description/>
  27065. <BitOffset>0x10</BitOffset>
  27066. <BitWidth>0x1</BitWidth>
  27067. <Access>W</Access>
  27068. <Values>
  27069. <Val value="0x0">Hardware watchdog</Val>
  27070. <Val value="0x1">Software watchdog</Val>
  27071. </Values>
  27072. </Bit>
  27073. <Bit>
  27074. <Name>nRST_STOP</Name>
  27075. <Description/>
  27076. <BitOffset>0x11</BitOffset>
  27077. <BitWidth>0x1</BitWidth>
  27078. <Access>W</Access>
  27079. <Values>
  27080. <Val value="0x0">Reset generated when entering Stop mode</Val>
  27081. <Val value="0x1">No reset generated</Val>
  27082. </Values>
  27083. </Bit>
  27084. <Bit>
  27085. <Name>nRST_STDBY</Name>
  27086. <Description/>
  27087. <BitOffset>0x12</BitOffset>
  27088. <BitWidth>0x1</BitWidth>
  27089. <Access>W</Access>
  27090. <Values>
  27091. <Val value="0x0">Reset generated when entering Standby mode</Val>
  27092. <Val value="0x1">No reset generated</Val>
  27093. </Values>
  27094. </Bit>
  27095. </AssignedBits>
  27096. </Field>
  27097. </Category>
  27098. <Category>
  27099. <Name>User Data</Name>
  27100. <Field>
  27101. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  27102. <AssignedBits>
  27103. <Bit>
  27104. <Name>Data0</Name>
  27105. <Description>User data 0 (8-bit)</Description>
  27106. <BitOffset>0x0</BitOffset>
  27107. <BitWidth>0x8</BitWidth>
  27108. <Access>W</Access>
  27109. </Bit>
  27110. <Bit>
  27111. <Name>Data1</Name>
  27112. <Description>User data 1 (8-bit)</Description>
  27113. <BitOffset>0x10</BitOffset>
  27114. <BitWidth>0x8</BitWidth>
  27115. <Access>W</Access>
  27116. </Bit>
  27117. </AssignedBits>
  27118. </Field>
  27119. </Category>
  27120. <Category>
  27121. <Name>Write Protection</Name>
  27122. <Field>
  27123. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  27124. <AssignedBits>
  27125. <Bit>
  27126. <Name>WRP0</Name>
  27127. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  27128. <BitOffset>0x0</BitOffset>
  27129. <BitWidth>0x8</BitWidth>
  27130. <Access>W</Access>
  27131. <Values ByBit="true">
  27132. <Val value="0x0">Write protection active on this sector</Val>
  27133. <Val value="0x1">Write protection not active on this sector</Val>
  27134. </Values>
  27135. </Bit>
  27136. <Bit>
  27137. <Name>WRP8</Name>
  27138. <Description/>
  27139. <BitOffset>0x10</BitOffset>
  27140. <BitWidth>0x8</BitWidth>
  27141. <Access>W</Access>
  27142. <Values ByBit="true">
  27143. <Val value="0x0">Write protection active on this sector</Val>
  27144. <Val value="0x1">Write protection not active on this sector</Val>
  27145. </Values>
  27146. </Bit>
  27147. </AssignedBits>
  27148. </Field>
  27149. <Field>
  27150. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  27151. <AssignedBits>
  27152. <Bit>
  27153. <Name>WRP16</Name>
  27154. <Description/>
  27155. <BitOffset>0x0</BitOffset>
  27156. <BitWidth>0x8</BitWidth>
  27157. <Access>W</Access>
  27158. <Values ByBit="true">
  27159. <Val value="0x0">Write protection active on this sector</Val>
  27160. <Val value="0x1">Write protection not active on this sector</Val>
  27161. </Values>
  27162. </Bit>
  27163. <Bit>
  27164. <Name>WRP24</Name>
  27165. <Description/>
  27166. <BitOffset>0x10</BitOffset>
  27167. <BitWidth>0x8</BitWidth>
  27168. <Access>W</Access>
  27169. <Values ByBit="true">
  27170. <Val value="0x0">Write protection active on this sector</Val>
  27171. <Val value="0x1">Write protection not active on this sector</Val>
  27172. </Values>
  27173. </Bit>
  27174. </AssignedBits>
  27175. </Field>
  27176. </Category>
  27177. </Bank>
  27178. <Bank interface="Bootloader">
  27179. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  27180. <Category>
  27181. <Name>Read Out Protection</Name>
  27182. <Field>
  27183. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  27184. <AssignedBits>
  27185. <Bit>
  27186. <Name>RDP</Name>
  27187. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  27188. <BitOffset>0x0</BitOffset>
  27189. <BitWidth>0x8</BitWidth>
  27190. <Access>RW</Access>
  27191. <Values>
  27192. <Val value="0xA5">Level 0, no protection</Val>
  27193. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  27194. </Values>
  27195. </Bit>
  27196. </AssignedBits>
  27197. </Field>
  27198. </Category>
  27199. <Category>
  27200. <Name>User Configuration</Name>
  27201. <Field>
  27202. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  27203. <AssignedBits>
  27204. <Bit>
  27205. <Name>WDG_SW</Name>
  27206. <Description/>
  27207. <BitOffset>0x10</BitOffset>
  27208. <BitWidth>0x1</BitWidth>
  27209. <Access>RW</Access>
  27210. <Values>
  27211. <Val value="0x0">Hardware watchdog</Val>
  27212. <Val value="0x1">Software watchdog</Val>
  27213. </Values>
  27214. </Bit>
  27215. <Bit>
  27216. <Name>nRST_STOP</Name>
  27217. <Description/>
  27218. <BitOffset>0x11</BitOffset>
  27219. <BitWidth>0x1</BitWidth>
  27220. <Access>RW</Access>
  27221. <Values>
  27222. <Val value="0x0">Reset generated when entering Stop mode</Val>
  27223. <Val value="0x1">No reset generated</Val>
  27224. </Values>
  27225. </Bit>
  27226. <Bit>
  27227. <Name>nRST_STDBY</Name>
  27228. <Description/>
  27229. <BitOffset>0x12</BitOffset>
  27230. <BitWidth>0x1</BitWidth>
  27231. <Access>RW</Access>
  27232. <Values>
  27233. <Val value="0x0">Reset generated when entering Standby mode</Val>
  27234. <Val value="0x1">No reset generated</Val>
  27235. </Values>
  27236. </Bit>
  27237. </AssignedBits>
  27238. </Field>
  27239. </Category>
  27240. <Category>
  27241. <Name>User Data</Name>
  27242. <Field>
  27243. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  27244. <AssignedBits>
  27245. <Bit>
  27246. <Name>Data0</Name>
  27247. <Description>User data 0 (8-bit)</Description>
  27248. <BitOffset>0x0</BitOffset>
  27249. <BitWidth>0x8</BitWidth>
  27250. <Access>RW</Access>
  27251. </Bit>
  27252. <Bit>
  27253. <Name>Data1</Name>
  27254. <Description>User data 1 (8-bit)</Description>
  27255. <BitOffset>0x10</BitOffset>
  27256. <BitWidth>0x8</BitWidth>
  27257. <Access>RW</Access>
  27258. </Bit>
  27259. </AssignedBits>
  27260. </Field>
  27261. </Category>
  27262. <Category>
  27263. <Name>Write Protection</Name>
  27264. <Field>
  27265. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  27266. <AssignedBits>
  27267. <Bit>
  27268. <Name>WRP0</Name>
  27269. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  27270. <BitOffset>0x0</BitOffset>
  27271. <BitWidth>0x8</BitWidth>
  27272. <Access>RW</Access>
  27273. <Values ByBit="true">
  27274. <Val value="0x0">Write protection active on this sector</Val>
  27275. <Val value="0x1">Write protection not active on this sector</Val>
  27276. </Values>
  27277. </Bit>
  27278. <Bit>
  27279. <Name>WRP8</Name>
  27280. <Description/>
  27281. <BitOffset>0x10</BitOffset>
  27282. <BitWidth>0x8</BitWidth>
  27283. <Access>RW</Access>
  27284. <Values ByBit="true">
  27285. <Val value="0x0">Write protection active on this sector</Val>
  27286. <Val value="0x1">Write protection not active on this sector</Val>
  27287. </Values>
  27288. </Bit>
  27289. </AssignedBits>
  27290. </Field>
  27291. <Field>
  27292. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  27293. <AssignedBits>
  27294. <Bit>
  27295. <Name>WRP16</Name>
  27296. <Description/>
  27297. <BitOffset>0x0</BitOffset>
  27298. <BitWidth>0x8</BitWidth>
  27299. <Access>RW</Access>
  27300. <Values ByBit="true">
  27301. <Val value="0x0">Write protection active on this sector</Val>
  27302. <Val value="0x1">Write protection not active on this sector</Val>
  27303. </Values>
  27304. </Bit>
  27305. <Bit>
  27306. <Name>WRP24</Name>
  27307. <Description/>
  27308. <BitOffset>0x10</BitOffset>
  27309. <BitWidth>0x8</BitWidth>
  27310. <Access>RW</Access>
  27311. <Values ByBit="true">
  27312. <Val value="0x0">Write protection active on this sector</Val>
  27313. <Val value="0x1">Write protection not active on this sector</Val>
  27314. </Values>
  27315. </Bit>
  27316. </AssignedBits>
  27317. </Field>
  27318. </Category>
  27319. </Bank>
  27320. </Peripheral>
  27321. </Peripherals>
  27322. </Device>
  27323. <!-- Device: 0x420 -->
  27324. <Device>
  27325. <DeviceID>0x420</DeviceID>
  27326. <Vendor>STMicroelectronics</Vendor>
  27327. <Type>MCU</Type>
  27328. <CPU>Cortex-M3</CPU>
  27329. <Name>STM32F100 Low/Medium density Value Line</Name>
  27330. <Series>STM32F1</Series>
  27331. <Description>ARM 32-bit Cortex-M3 based device</Description>
  27332. <Configurations>
  27333. <!-- JTAG_SWD Interface -->
  27334. <Interface name="JTAG_SWD"/>
  27335. <!-- Bootloader Interface -->
  27336. <Interface name="Bootloader"/>
  27337. </Configurations>
  27338. <!-- Peripherals -->
  27339. <Peripherals>
  27340. <!-- Embedded SRAM -->
  27341. <Peripheral>
  27342. <Name>Embedded SRAM</Name>
  27343. <Type>Storage</Type>
  27344. <Description/>
  27345. <ErasedValue>0x00</ErasedValue>
  27346. <Access>RWE</Access>
  27347. <Configuration>
  27348. <Parameters name="SRAM" size="0x2000" address="0x20000000"/>
  27349. <Description/>
  27350. <Organization>Single</Organization>
  27351. <Bank name="Bank 1">
  27352. <Field>
  27353. <Parameters name="SRAM" size="0x2000" address="0x20000000" occurence="0x1"/>
  27354. </Field>
  27355. </Bank>
  27356. </Configuration>
  27357. </Peripheral>
  27358. <!-- Embedded Flash -->
  27359. <Peripheral>
  27360. <Name>Embedded Flash</Name>
  27361. <Type>Storage</Type>
  27362. <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>
  27363. <ErasedValue>0xFF</ErasedValue>
  27364. <Access>RWE</Access>
  27365. <FlashSize address="0x1FFFF7E0" default="0x20000"/>
  27366. <!-- 512KB single Bank -->
  27367. <Configuration>
  27368. <Parameters name=" 128 Kbytes Embedded Flash" size="0x20000" address="0x08000000"/>
  27369. <Description/>
  27370. <Organization>Single</Organization>
  27371. <Allignement>0x4</Allignement>
  27372. <Bank name="Bank 1">
  27373. <Field>
  27374. <Parameters name="sector0" size="0x400" address="0x08000000" occurence="0x80"/>
  27375. </Field>
  27376. </Bank>
  27377. </Configuration>
  27378. </Peripheral>
  27379. <!-- Mirror Option Bytes -->
  27380. <Peripheral>
  27381. <Name>MirrorOptionBytes</Name>
  27382. <Type>Storage</Type>
  27383. <Description>Mirror Option Bytes contains the extra area.</Description>
  27384. <ErasedValue>0xFF</ErasedValue>
  27385. <Access>RW</Access>
  27386. <!-- 16 Bytes single bank -->
  27387. <Configuration>
  27388. <Parameters name=" 16 Bytes Data MirrorOptionBytes" size="0x10" address="0x1FFFF800"/>
  27389. <Description/>
  27390. <Organization>Single</Organization>
  27391. <Allignement>0x4</Allignement>
  27392. <Bank name="MirrorOptionBytes">
  27393. <Field>
  27394. <Parameters name="MirrorOptionBytes" size="0x10" address="0x1FFFF800" occurence="0x1"/>
  27395. </Field>
  27396. </Bank>
  27397. </Configuration>
  27398. </Peripheral>
  27399. <!-- Option Bytes -->
  27400. <Peripheral>
  27401. <Name>Option Bytes</Name>
  27402. <Type>Configuration</Type>
  27403. <Description/>
  27404. <Access>RW</Access>
  27405. <Bank interface="JTAG_SWD">
  27406. <Parameters name="Bank 1" size="0x8" address="0x4002201C"/>
  27407. <Category>
  27408. <Name>Read Out Protection</Name>
  27409. <Field>
  27410. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  27411. <AssignedBits>
  27412. <Bit>
  27413. <Name>RDP</Name>
  27414. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  27415. <BitOffset>0x1</BitOffset>
  27416. <BitWidth>0x1</BitWidth>
  27417. <Access>R</Access>
  27418. <Values>
  27419. <Val value="0">Flash memory is not read-protected.</Val>
  27420. <Val value="1">Flash memory is read-protected.</Val>
  27421. </Values>
  27422. </Bit>
  27423. </AssignedBits>
  27424. </Field>
  27425. </Category>
  27426. <Category>
  27427. <Name>User Configuration</Name>
  27428. <Field>
  27429. <Parameters name="USR_RDP" size="0x4" address="0x4002201C"/>
  27430. <AssignedBits>
  27431. <Bit>
  27432. <Name>WDG_SW</Name>
  27433. <Description/>
  27434. <BitOffset>0x2</BitOffset>
  27435. <BitWidth>0x1</BitWidth>
  27436. <Access>R</Access>
  27437. <Values>
  27438. <Val value="0x0">Hardware watchdog</Val>
  27439. <Val value="0x1">Software watchdog</Val>
  27440. </Values>
  27441. </Bit>
  27442. <Bit>
  27443. <Name>nRST_STOP</Name>
  27444. <Description/>
  27445. <BitOffset>0x3</BitOffset>
  27446. <BitWidth>0x1</BitWidth>
  27447. <Access>R</Access>
  27448. <Values>
  27449. <Val value="0x0">Reset generated when entering Stop mode</Val>
  27450. <Val value="0x1">No reset generated</Val>
  27451. </Values>
  27452. </Bit>
  27453. <Bit>
  27454. <Name>nRST_STDBY</Name>
  27455. <Description/>
  27456. <BitOffset>0x4</BitOffset>
  27457. <BitWidth>0x1</BitWidth>
  27458. <Access>R</Access>
  27459. <Values>
  27460. <Val value="0x0">Reset generated when entering Standby mode</Val>
  27461. <Val value="0x1">No reset generated</Val>
  27462. </Values>
  27463. </Bit>
  27464. </AssignedBits>
  27465. </Field>
  27466. </Category>
  27467. <Category>
  27468. <Name>User Data</Name>
  27469. <Field>
  27470. <Parameters name="USR_DATA" size="0x4" address="0x4002201C"/>
  27471. <AssignedBits>
  27472. <Bit>
  27473. <Name>Data0</Name>
  27474. <Description>User data 0 (8-bit)</Description>
  27475. <BitOffset>0xA</BitOffset>
  27476. <BitWidth>0x8</BitWidth>
  27477. <Access>R</Access>
  27478. </Bit>
  27479. <Bit>
  27480. <Name>Data1</Name>
  27481. <Description>User data 1 (8-bit)</Description>
  27482. <BitOffset>0x12</BitOffset>
  27483. <BitWidth>0x8</BitWidth>
  27484. <Access>R</Access>
  27485. </Bit>
  27486. </AssignedBits>
  27487. </Field>
  27488. </Category>
  27489. <Category>
  27490. <Name>Write Protection</Name>
  27491. <Field>
  27492. <Parameters name="WRP_0_1" size="0x4" address="0x40022020"/>
  27493. <AssignedBits>
  27494. <Bit>
  27495. <Name>WRP0</Name>
  27496. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  27497. <BitOffset>0x0</BitOffset>
  27498. <BitWidth>0x20</BitWidth>
  27499. <Access>R</Access>
  27500. <Values ByBit="true">
  27501. <Val value="0x0">Write protection active on this sector</Val>
  27502. <Val value="0x1">Write protection not active on this sector</Val>
  27503. </Values>
  27504. </Bit>
  27505. </AssignedBits>
  27506. </Field>
  27507. </Category>
  27508. </Bank>
  27509. <Bank interface="JTAG_SWD">
  27510. <Parameters name="Bank 2" size="0x10" address="0x1FFFF800"/>
  27511. <Category>
  27512. <Name>Read Out Protection</Name>
  27513. <Field>
  27514. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  27515. <AssignedBits>
  27516. <Bit>
  27517. <Name>RDP</Name>
  27518. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  27519. <BitOffset>0x0</BitOffset>
  27520. <BitWidth>0x8</BitWidth>
  27521. <Access>W</Access>
  27522. <Values>
  27523. <Val value="0xA5">Level 0, no protection</Val>
  27524. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  27525. </Values>
  27526. </Bit>
  27527. </AssignedBits>
  27528. </Field>
  27529. </Category>
  27530. <Category>
  27531. <Name>User Configuration</Name>
  27532. <Field>
  27533. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  27534. <AssignedBits>
  27535. <Bit>
  27536. <Name>WDG_SW</Name>
  27537. <Description/>
  27538. <BitOffset>0x10</BitOffset>
  27539. <BitWidth>0x1</BitWidth>
  27540. <Access>W</Access>
  27541. <Values>
  27542. <Val value="0x0">Hardware watchdog</Val>
  27543. <Val value="0x1">Software watchdog</Val>
  27544. </Values>
  27545. </Bit>
  27546. <Bit>
  27547. <Name>nRST_STOP</Name>
  27548. <Description/>
  27549. <BitOffset>0x11</BitOffset>
  27550. <BitWidth>0x1</BitWidth>
  27551. <Access>W</Access>
  27552. <Values>
  27553. <Val value="0x0">Reset generated when entering Stop mode</Val>
  27554. <Val value="0x1">No reset generated</Val>
  27555. </Values>
  27556. </Bit>
  27557. <Bit>
  27558. <Name>nRST_STDBY</Name>
  27559. <Description/>
  27560. <BitOffset>0x12</BitOffset>
  27561. <BitWidth>0x1</BitWidth>
  27562. <Access>W</Access>
  27563. <Values>
  27564. <Val value="0x0">Reset generated when entering Standby mode</Val>
  27565. <Val value="0x1">No reset generated</Val>
  27566. </Values>
  27567. </Bit>
  27568. </AssignedBits>
  27569. </Field>
  27570. </Category>
  27571. <Category>
  27572. <Name>User Data</Name>
  27573. <Field>
  27574. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  27575. <AssignedBits>
  27576. <Bit>
  27577. <Name>Data0</Name>
  27578. <Description>User data 0 (8-bit)</Description>
  27579. <BitOffset>0x0</BitOffset>
  27580. <BitWidth>0x8</BitWidth>
  27581. <Access>W</Access>
  27582. </Bit>
  27583. <Bit>
  27584. <Name>Data1</Name>
  27585. <Description>User data 1 (8-bit)</Description>
  27586. <BitOffset>0x10</BitOffset>
  27587. <BitWidth>0x8</BitWidth>
  27588. <Access>W</Access>
  27589. </Bit>
  27590. </AssignedBits>
  27591. </Field>
  27592. </Category>
  27593. <Category>
  27594. <Name>Write Protection</Name>
  27595. <Field>
  27596. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  27597. <AssignedBits>
  27598. <Bit>
  27599. <Name>WRP0</Name>
  27600. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  27601. <BitOffset>0x0</BitOffset>
  27602. <BitWidth>0x8</BitWidth>
  27603. <Access>W</Access>
  27604. <Values ByBit="true">
  27605. <Val value="0x0">Write protection active on this sector</Val>
  27606. <Val value="0x1">Write protection not active on this sector</Val>
  27607. </Values>
  27608. </Bit>
  27609. <Bit>
  27610. <Name>WRP8</Name>
  27611. <Description/>
  27612. <BitOffset>0x10</BitOffset>
  27613. <BitWidth>0x8</BitWidth>
  27614. <Access>W</Access>
  27615. <Values ByBit="true">
  27616. <Val value="0x0">Write protection active on this sector</Val>
  27617. <Val value="0x1">Write protection not active on this sector</Val>
  27618. </Values>
  27619. </Bit>
  27620. </AssignedBits>
  27621. </Field>
  27622. <Field>
  27623. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  27624. <AssignedBits>
  27625. <Bit>
  27626. <Name>WRP16</Name>
  27627. <Description/>
  27628. <BitOffset>0x0</BitOffset>
  27629. <BitWidth>0x8</BitWidth>
  27630. <Access>W</Access>
  27631. <Values ByBit="true">
  27632. <Val value="0x0">Write protection active on this sector</Val>
  27633. <Val value="0x1">Write protection not active on this sector</Val>
  27634. </Values>
  27635. </Bit>
  27636. <Bit>
  27637. <Name>WRP24</Name>
  27638. <Description/>
  27639. <BitOffset>0x10</BitOffset>
  27640. <BitWidth>0x8</BitWidth>
  27641. <Access>W</Access>
  27642. <Values ByBit="true">
  27643. <Val value="0x0">Write protection active on this sector</Val>
  27644. <Val value="0x1">Write protection not active on this sector</Val>
  27645. </Values>
  27646. </Bit>
  27647. </AssignedBits>
  27648. </Field>
  27649. </Category>
  27650. </Bank>
  27651. <Bank interface="Bootloader">
  27652. <Parameters name="Bank 1" size="0x10" address="0x1FFFF800"/>
  27653. <Category>
  27654. <Name>Read Out Protection</Name>
  27655. <Field>
  27656. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  27657. <AssignedBits>
  27658. <Bit>
  27659. <Name>RDP</Name>
  27660. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  27661. <BitOffset>0x0</BitOffset>
  27662. <BitWidth>0x8</BitWidth>
  27663. <Access>RW</Access>
  27664. <Values>
  27665. <Val value="0xA5">Level 0, no protection</Val>
  27666. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  27667. </Values>
  27668. </Bit>
  27669. </AssignedBits>
  27670. </Field>
  27671. </Category>
  27672. <Category>
  27673. <Name>User Configuration</Name>
  27674. <Field>
  27675. <Parameters name="USR_RDP" size="0x4" address="0x1FFFF800"/>
  27676. <AssignedBits>
  27677. <Bit>
  27678. <Name>WDG_SW</Name>
  27679. <Description/>
  27680. <BitOffset>0x10</BitOffset>
  27681. <BitWidth>0x1</BitWidth>
  27682. <Access>RW</Access>
  27683. <Values>
  27684. <Val value="0x0">Hardware watchdog</Val>
  27685. <Val value="0x1">Software watchdog</Val>
  27686. </Values>
  27687. </Bit>
  27688. <Bit>
  27689. <Name>nRST_STOP</Name>
  27690. <Description/>
  27691. <BitOffset>0x11</BitOffset>
  27692. <BitWidth>0x1</BitWidth>
  27693. <Access>RW</Access>
  27694. <Values>
  27695. <Val value="0x0">Reset generated when entering Stop mode</Val>
  27696. <Val value="0x1">No reset generated</Val>
  27697. </Values>
  27698. </Bit>
  27699. <Bit>
  27700. <Name>nRST_STDBY</Name>
  27701. <Description/>
  27702. <BitOffset>0x12</BitOffset>
  27703. <BitWidth>0x1</BitWidth>
  27704. <Access>RW</Access>
  27705. <Values>
  27706. <Val value="0x0">Reset generated when entering Standby mode</Val>
  27707. <Val value="0x1">No reset generated</Val>
  27708. </Values>
  27709. </Bit>
  27710. </AssignedBits>
  27711. </Field>
  27712. </Category>
  27713. <Category>
  27714. <Name>User Data</Name>
  27715. <Field>
  27716. <Parameters name="USR_DATA" size="0x4" address="0x1FFFF804"/>
  27717. <AssignedBits>
  27718. <Bit>
  27719. <Name>Data0</Name>
  27720. <Description>User data 0 (8-bit)</Description>
  27721. <BitOffset>0x0</BitOffset>
  27722. <BitWidth>0x8</BitWidth>
  27723. <Access>RW</Access>
  27724. </Bit>
  27725. <Bit>
  27726. <Name>Data1</Name>
  27727. <Description>User data 1 (8-bit)</Description>
  27728. <BitOffset>0x10</BitOffset>
  27729. <BitWidth>0x8</BitWidth>
  27730. <Access>RW</Access>
  27731. </Bit>
  27732. </AssignedBits>
  27733. </Field>
  27734. </Category>
  27735. <Category>
  27736. <Name>Write Protection</Name>
  27737. <Field>
  27738. <Parameters name="WRP_0_1" size="0x4" address="0x1FFFF808"/>
  27739. <AssignedBits>
  27740. <Bit>
  27741. <Name>WRP0</Name>
  27742. <!--<Description>One bit of the user option bytes WRPx is used to protect 2 pages of 2 Kbytes in the main memory block. However, bit 7 of WRP3 write protects pages 62 to 511.</Description>-->
  27743. <BitOffset>0x0</BitOffset>
  27744. <BitWidth>0x8</BitWidth>
  27745. <Access>RW</Access>
  27746. <Values ByBit="true">
  27747. <Val value="0x0">Write protection active on this sector</Val>
  27748. <Val value="0x1">Write protection not active on this sector</Val>
  27749. </Values>
  27750. </Bit>
  27751. <Bit>
  27752. <Name>WRP8</Name>
  27753. <Description/>
  27754. <BitOffset>0x10</BitOffset>
  27755. <BitWidth>0x8</BitWidth>
  27756. <Access>RW</Access>
  27757. <Values ByBit="true">
  27758. <Val value="0x0">Write protection active on this sector</Val>
  27759. <Val value="0x1">Write protection not active on this sector</Val>
  27760. </Values>
  27761. </Bit>
  27762. </AssignedBits>
  27763. </Field>
  27764. <Field>
  27765. <Parameters name="WRP_2_3" size="0x4" address="0x1FFFF80C"/>
  27766. <AssignedBits>
  27767. <Bit>
  27768. <Name>WRP16</Name>
  27769. <Description/>
  27770. <BitOffset>0x0</BitOffset>
  27771. <BitWidth>0x8</BitWidth>
  27772. <Access>RW</Access>
  27773. <Values ByBit="true">
  27774. <Val value="0x0">Write protection active on this sector</Val>
  27775. <Val value="0x1">Write protection not active on this sector</Val>
  27776. </Values>
  27777. </Bit>
  27778. <Bit>
  27779. <Name>WRP24</Name>
  27780. <Description/>
  27781. <BitOffset>0x10</BitOffset>
  27782. <BitWidth>0x8</BitWidth>
  27783. <Access>RW</Access>
  27784. <Values ByBit="true">
  27785. <Val value="0x0">Write protection active on this sector</Val>
  27786. <Val value="0x1">Write protection not active on this sector</Val>
  27787. </Values>
  27788. </Bit>
  27789. </AssignedBits>
  27790. </Field>
  27791. </Category>
  27792. </Bank>
  27793. </Peripheral>
  27794. </Peripherals>
  27795. </Device>
  27796. <!-- Device: 0x470 -->
  27797. <Device>
  27798. <DeviceID>0x470</DeviceID>
  27799. <Vendor>STMicroelectronics</Vendor>
  27800. <Type>MCU</Type>
  27801. <CPU>Cortex-M4</CPU>
  27802. <Name>STM32L4Rxxx/STM32L4Sxxx</Name>
  27803. <Series>STM32L4</Series>
  27804. <Description>ARM 32-bit Cortex-M4 based device</Description>
  27805. <Configurations>
  27806. <!-- JTAG_SWD Interface -->
  27807. <Interface name="JTAG_SWD">
  27808. <Configuration number="0x0">
  27809. <flashSize> <!-- 2M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x800"/> </flashSize>
  27810. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  27811. </Configuration>
  27812. <Configuration number="0x1">
  27813. <flashSize> <!-- 2M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x800"/> </flashSize>
  27814. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  27815. </Configuration>
  27816. <Configuration number="0x2">
  27817. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  27818. <DB1M reference="0x0"> <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/> </DB1M>
  27819. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  27820. </Configuration>
  27821. <Configuration number="0x3">
  27822. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  27823. <DB1M reference="0x1"> <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/> </DB1M>
  27824. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  27825. </Configuration>
  27826. <Configuration number="0x4">
  27827. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  27828. <DB1M reference="0x1"> <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/> </DB1M>
  27829. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  27830. </Configuration>
  27831. <Configuration number="0x5">
  27832. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  27833. <DB1M reference="0x0"> <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/> </DB1M>
  27834. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  27835. </Configuration>
  27836. <Configuration number="0x6">
  27837. <flashSize> <!-- 512K --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  27838. <DB1M reference="0x0"> <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/> </DB1M>
  27839. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  27840. </Configuration>
  27841. <Configuration number="0x7">
  27842. <flashSize> <!-- 512K --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  27843. <DB1M reference="0x0"> <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/> </DB1M>
  27844. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  27845. </Configuration>
  27846. <Configuration number="0x8">
  27847. <flashSize> <!-- 512K --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  27848. <DB1M reference="0x1"> <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/> </DB1M>
  27849. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  27850. </Configuration>
  27851. <Configuration number="0x9">
  27852. <flashSize> <!-- 512K --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  27853. <DB1M reference="0x1"> <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/> </DB1M>
  27854. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  27855. </Configuration>
  27856. <Configuration number="0xA">
  27857. <dummy> <ReadRegister address="0x20000000" mask="0" value="0"/> </dummy>
  27858. </Configuration>
  27859. </Interface>
  27860. <!-- Bootloader Interface -->
  27861. <Interface name="Bootloader">
  27862. <Configuration number="0x0">
  27863. <DBANK reference="0x0"> <ReadRegister address="0x1FF00000" mask="0x400000" value="0x0"/> </DBANK>
  27864. </Configuration>
  27865. <Configuration number="0x1">
  27866. <DBANK reference="0x1"> <ReadRegister address="0x1FF00000" mask="0x400000" value="0x400000"/> </DBANK>
  27867. </Configuration>
  27868. <Configuration number="0xA">
  27869. <dummy> <ReadRegister address="0x1FF00000" mask="0" value="0"/> </dummy>
  27870. </Configuration>
  27871. </Interface>
  27872. </Configurations>
  27873. <!-- Peripherals -->
  27874. <Peripherals>
  27875. <!-- Embedded SRAM -->
  27876. <Peripheral>
  27877. <Name>Embedded SRAM</Name>
  27878. <Type>Storage</Type>
  27879. <Description/>
  27880. <ErasedValue>0x00</ErasedValue>
  27881. <Access>RWE</Access>
  27882. <!-- 96 KB -->
  27883. <Configuration>
  27884. <Parameters name="SRAM" size="0x30000" address="0x20000000"/>
  27885. <Description/>
  27886. <Organization>Single</Organization>
  27887. <Bank name="Bank 1">
  27888. <Field>
  27889. <Parameters name="SRAM" size="0x30000" address="0x20000000" occurence="0x1"/>
  27890. </Field>
  27891. </Bank>
  27892. </Configuration>
  27893. </Peripheral>
  27894. <!-- Embedded Flash -->
  27895. <Peripheral>
  27896. <Name>Embedded Flash</Name>
  27897. <Type>Storage</Type>
  27898. <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>
  27899. <ErasedValue>0xFF</ErasedValue>
  27900. <Access>RWE</Access>
  27901. <FlashSize address="0x1FFF75E0" default="0x200000"/>
  27902. <Configuration config="0,2,3,6,9"> <!-- 2MB Single Bank -->
  27903. <Parameters name=" 2 Mbyte Embedded Flash" size="0x200000" address="0x08000000"/>
  27904. <Description/>
  27905. <Organization>Single</Organization>
  27906. <Allignement>0x8</Allignement>
  27907. <Bank name="Bank 1">
  27908. <Field>
  27909. <Parameters name="sector0" size="0x2000" address="0x08000000" occurence="0x100"/>
  27910. </Field>
  27911. </Bank>
  27912. </Configuration>
  27913. <Configuration config="1,4,5,7,8"> <!-- 2MB dual Bank -->
  27914. <Parameters name=" 2 Mbyte Embedded Flash" size="0x200000" address="0x08000000"/>
  27915. <Description/>
  27916. <Organization>Dual</Organization>
  27917. <Allignement>0x8</Allignement>
  27918. <Bank name="Bank 1">
  27919. <Field>
  27920. <Parameters name="sector0" size="0x1000" address="0x08000000" occurence="0x100"/>
  27921. </Field>
  27922. </Bank>
  27923. <Bank name="Bank 2">
  27924. <Field>
  27925. <Parameters name="sector256" size="0x1000" address="0x08100000" occurence="0x100"/>
  27926. </Field>
  27927. </Bank>
  27928. </Configuration>
  27929. <Configuration config="2"> <!-- 2MB dual Bank -->
  27930. <Parameters name=" 2 Mbyte Embedded Flash" size="0x200000" address="0x08000000"/>
  27931. <Description/>
  27932. <Organization>Dual</Organization>
  27933. <Allignement>0x8</Allignement>
  27934. <Bank name="Bank 1">
  27935. <Field>
  27936. <Parameters name="sector0" size="0x2000" address="0x08000000" occurence="0x100"/>
  27937. </Field>
  27938. </Bank>
  27939. <Bank name="Bank 2">
  27940. <Field>
  27941. <Parameters name="sector256" size="0x2000" address="0x08100000" occurence="0x100"/>
  27942. </Field>
  27943. </Bank>
  27944. </Configuration>
  27945. </Peripheral>
  27946. <!-- OTP -->
  27947. <Peripheral>
  27948. <Name>OTP</Name>
  27949. <Type>Storage</Type>
  27950. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  27951. <ErasedValue>0xFF</ErasedValue>
  27952. <Access>RW</Access>
  27953. <!-- 1 KBytes single bank -->
  27954. <Configuration>
  27955. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  27956. <Description/>
  27957. <Organization>Single</Organization>
  27958. <Allignement>0x4</Allignement>
  27959. <Bank name="OTP">
  27960. <Field>
  27961. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  27962. </Field>
  27963. </Bank>
  27964. </Configuration>
  27965. </Peripheral>
  27966. <!-- Mirror Option Bytes -->
  27967. <Peripheral>
  27968. <Name>MirrorOptionBytes</Name>
  27969. <Type>Storage</Type>
  27970. <Description>Mirror Option Bytes contains the extra area.</Description>
  27971. <ErasedValue>0xFF</ErasedValue>
  27972. <Access>RW</Access>
  27973. <!-- 64 Bytes Dual bank -->
  27974. <Configuration>
  27975. <Parameters name=" 64 Bytes Data MirrorOptionBytes" size="0x40" address="0x1FFF7800"/>
  27976. <Description/>
  27977. <Organization>Dual</Organization>
  27978. <Allignement>0x4</Allignement>
  27979. <Bank name="Bank 1">
  27980. <Field>
  27981. <Parameters name="Bank1" size="0x24" address="0x1FF00000" occurence="0x1"/>
  27982. </Field>
  27983. </Bank>
  27984. <Bank name="Bank 2">
  27985. <Field>
  27986. <Parameters name="Bank2" size="0x1C" address="0x1FF01008" occurence="0x1"/>
  27987. </Field>
  27988. </Bank>
  27989. </Configuration>
  27990. </Peripheral>
  27991. <!-- Option Bytes -->
  27992. <Peripheral>
  27993. <Name>Option Bytes</Name>
  27994. <Type>Configuration</Type>
  27995. <Description/>
  27996. <Access>RW</Access>
  27997. <Bank interface="JTAG_SWD">
  27998. <Parameters name="Bank 1" size="0x14" address="0x40022020"/>
  27999. <Category>
  28000. <Name>Read Out Protection</Name>
  28001. <Field>
  28002. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  28003. <AssignedBits>
  28004. <Bit>
  28005. <Name>RDP</Name>
  28006. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  28007. <BitOffset>0x0</BitOffset>
  28008. <BitWidth>0x8</BitWidth>
  28009. <Access>RW</Access>
  28010. <Values>
  28011. <Val value="0xAA">Level 0, no protection</Val>
  28012. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  28013. <Val value="0xCC">Level 2, chip protection</Val>
  28014. </Values>
  28015. </Bit>
  28016. </AssignedBits>
  28017. </Field>
  28018. </Category>
  28019. <Category>
  28020. <Name>BOR Level</Name>
  28021. <Field>
  28022. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  28023. <AssignedBits>
  28024. <Bit>
  28025. <Name>BOR_LEV</Name>
  28026. <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>
  28027. <BitOffset>0x8</BitOffset>
  28028. <BitWidth>0x3</BitWidth>
  28029. <Access>RW</Access>
  28030. <Values>
  28031. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  28032. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  28033. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  28034. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  28035. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  28036. </Values>
  28037. </Bit>
  28038. </AssignedBits>
  28039. </Field>
  28040. </Category>
  28041. <Category>
  28042. <Name>User Configuration</Name>
  28043. <Field>
  28044. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  28045. <AssignedBits>
  28046. <Bit>
  28047. <Name>nRST_STOP</Name>
  28048. <Description/>
  28049. <BitOffset>0xC</BitOffset>
  28050. <BitWidth>0x1</BitWidth>
  28051. <Access>RW</Access>
  28052. <Values>
  28053. <Val value="0x0">Reset generated when entering Stop mode</Val>
  28054. <Val value="0x1">No reset generated when entering Stop mode</Val>
  28055. </Values>
  28056. </Bit>
  28057. <Bit>
  28058. <Name>nRST_STDBY</Name>
  28059. <Description/>
  28060. <BitOffset>0xD</BitOffset>
  28061. <BitWidth>0x1</BitWidth>
  28062. <Access>RW</Access>
  28063. <Values>
  28064. <Val value="0x0">Reset generated when entering Standby mode</Val>
  28065. <Val value="0x1">No reset generated when entering Standby mode</Val>
  28066. </Values>
  28067. </Bit>
  28068. <Bit>
  28069. <Name>nRST_SHDW</Name>
  28070. <Description/>
  28071. <BitOffset>0xE</BitOffset>
  28072. <BitWidth>0x1</BitWidth>
  28073. <Access>RW</Access>
  28074. <Values>
  28075. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  28076. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  28077. </Values>
  28078. </Bit>
  28079. <Bit>
  28080. <Name>IWDG_SW</Name>
  28081. <Description/>
  28082. <BitOffset>0x10</BitOffset>
  28083. <BitWidth>0x1</BitWidth>
  28084. <Access>RW</Access>
  28085. <Values>
  28086. <Val value="0x0">Hardware independant watchdog</Val>
  28087. <Val value="0x1">Software independant watchdog</Val>
  28088. </Values>
  28089. </Bit>
  28090. <Bit>
  28091. <Name>IWDG_STOP</Name>
  28092. <Description/>
  28093. <BitOffset>0x11</BitOffset>
  28094. <BitWidth>0x1</BitWidth>
  28095. <Access>RW</Access>
  28096. <Values>
  28097. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  28098. <Val value="0x1">IWDG counter active in stop mode</Val>
  28099. </Values>
  28100. </Bit>
  28101. <Bit>
  28102. <Name>IWDG_STDBY</Name>
  28103. <Description/>
  28104. <BitOffset>0x12</BitOffset>
  28105. <BitWidth>0x1</BitWidth>
  28106. <Access>RW</Access>
  28107. <Values>
  28108. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  28109. <Val value="0x1">IWDG counter active in standby mode</Val>
  28110. </Values>
  28111. </Bit>
  28112. <Bit>
  28113. <Name>WWDG_SW</Name>
  28114. <Description/>
  28115. <BitOffset>0x13</BitOffset>
  28116. <BitWidth>0x1</BitWidth>
  28117. <Access>RW</Access>
  28118. <Values>
  28119. <Val value="0x0">Hardware window watchdog</Val>
  28120. <Val value="0x1">Software window watchdog</Val>
  28121. </Values>
  28122. </Bit>
  28123. <Bit>
  28124. <Name>BFB2</Name>
  28125. <Description/>
  28126. <BitOffset>0x14</BitOffset>
  28127. <BitWidth>0x1</BitWidth>
  28128. <Access>RW</Access>
  28129. <Values>
  28130. <Val value="0x0">Dual-bank boot disable</Val>
  28131. <Val value="0x1">Dual-bank boot enable</Val>
  28132. </Values>
  28133. </Bit>
  28134. <Bit config="2,3,4,5,6,7,8,9,10">
  28135. <Name>DB1M</Name>
  28136. <Description>Dual-Bank on 1 MB Flash or 512 KB Flash memory devices</Description>
  28137. <BitOffset>0x15</BitOffset>
  28138. <BitWidth>0x1</BitWidth>
  28139. <Access>RW</Access>
  28140. <Values>
  28141. <Val value="0x0">1 MB or 512 Kb single Flash: contiguous address in bank1</Val>
  28142. <Val value="0x1">1 MB or 512 Kb dual-bank Flash with contiguous addresses. When DB1M is set, a hard Fault is generated when the requested address goes over 1 MB or 512 Kb.</Val>
  28143. </Values>
  28144. </Bit>
  28145. <Bit>
  28146. <Name>DBANK</Name>
  28147. <Description>This bit can only be written when PCROPA/B is disabled</Description>
  28148. <BitOffset>0x16</BitOffset>
  28149. <BitWidth>0x1</BitWidth>
  28150. <Access>RW</Access>
  28151. <Values>
  28152. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  28153. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  28154. </Values>
  28155. </Bit>
  28156. <Bit>
  28157. <Name>nBOOT1</Name>
  28158. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory.</Description>
  28159. <BitOffset>0x17</BitOffset>
  28160. <BitWidth>0x1</BitWidth>
  28161. <Access>RW</Access>
  28162. <Values>
  28163. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  28164. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  28165. </Values>
  28166. </Bit>
  28167. <Bit>
  28168. <Name>SRAM2_PE</Name>
  28169. <Description>SRAM2 parity check enable</Description>
  28170. <BitOffset>0x18</BitOffset>
  28171. <BitWidth>0x1</BitWidth>
  28172. <Access>RW</Access>
  28173. <Values>
  28174. <Val value="0x0">SRAM2 parity check enable</Val>
  28175. <Val value="0x1">SRAM2 parity check disable</Val>
  28176. </Values>
  28177. </Bit>
  28178. <Bit>
  28179. <Name>SRAM2_RST</Name>
  28180. <Description>SRAM2 Erase when system reset</Description>
  28181. <BitOffset>0x19</BitOffset>
  28182. <BitWidth>0x1</BitWidth>
  28183. <Access>RW</Access>
  28184. <Values>
  28185. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  28186. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  28187. </Values>
  28188. </Bit>
  28189. <Bit>
  28190. <Name>nSWBOOT0</Name>
  28191. <Description>Software BOOT0</Description>
  28192. <BitOffset>0x1A</BitOffset>
  28193. <BitWidth>0x1</BitWidth>
  28194. <Access>RW</Access>
  28195. <Values>
  28196. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  28197. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  28198. </Values>
  28199. </Bit>
  28200. <Bit>
  28201. <Name>nBOOT0</Name>
  28202. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  28203. <BitOffset>0x1B</BitOffset>
  28204. <BitWidth>0x1</BitWidth>
  28205. <Access>RW</Access>
  28206. <Values>
  28207. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  28208. <Val value="0x1">BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory</Val>
  28209. </Values>
  28210. </Bit>
  28211. </AssignedBits>
  28212. </Field>
  28213. </Category>
  28214. <Category>
  28215. <Name>PCROP Protection (Bank 1)</Name>
  28216. <Field>
  28217. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  28218. <AssignedBits>
  28219. <Bit config="0,2,3,6,9,10">
  28220. <Name>PCROP1_STRT</Name>
  28221. <Description>Flash Bank 1 PCROP start address</Description>
  28222. <BitOffset>0x0</BitOffset>
  28223. <BitWidth>0x11</BitWidth>
  28224. <Access>RW</Access>
  28225. <Equation multiplier="0x16" offset="0x08000000"/>
  28226. </Bit>
  28227. <Bit config="1,4,5,7,8">
  28228. <Name>PCROP1_STRT</Name>
  28229. <Description>Flash Bank 1 PCROP start address</Description>
  28230. <BitOffset>0x0</BitOffset>
  28231. <BitWidth>0x11</BitWidth>
  28232. <Access>RW</Access>
  28233. <Equation multiplier="0x8" offset="0x08000000"/>
  28234. </Bit>
  28235. </AssignedBits>
  28236. </Field>
  28237. <Field>
  28238. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  28239. <AssignedBits>
  28240. <Bit config="0,2,3,6,9,10">
  28241. <Name>PCROP1_END</Name>
  28242. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28243. <BitOffset>0x0</BitOffset>
  28244. <BitWidth>0x11</BitWidth>
  28245. <Access>RW</Access>
  28246. <Equation multiplier="0x16" offset="0x08000000"/>
  28247. </Bit>
  28248. <Bit config="1,4,5,7,8">
  28249. <Name>PCROP1_END</Name>
  28250. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28251. <BitOffset>0x0</BitOffset>
  28252. <BitWidth>0x11</BitWidth>
  28253. <Access>RW</Access>
  28254. <Equation multiplier="0x8" offset="0x08000000"/>
  28255. </Bit>
  28256. <Bit>
  28257. <Name>PCROP_RDP</Name>
  28258. <Description/>
  28259. <BitOffset>0x1F</BitOffset>
  28260. <BitWidth>0x1</BitWidth>
  28261. <Access>RW</Access>
  28262. <Values>
  28263. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  28264. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  28265. </Values>
  28266. </Bit>
  28267. </AssignedBits>
  28268. </Field>
  28269. </Category>
  28270. <Category>
  28271. <Name>Write Protection (Bank 1)</Name>
  28272. <Field>
  28273. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  28274. <AssignedBits>
  28275. <Bit config="0,2,3,6,9,10">
  28276. <Name>WRP1A_STRT</Name>
  28277. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  28278. <BitOffset>0x0</BitOffset>
  28279. <BitWidth>0x8</BitWidth>
  28280. <Access>RW</Access>
  28281. <Equation multiplier="0x2000" offset="0x08000000"/>
  28282. </Bit>
  28283. <Bit config="1,4,5,7,8">
  28284. <Name>WRP1A_STRT</Name>
  28285. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  28286. <BitOffset>0x0</BitOffset>
  28287. <BitWidth>0x8</BitWidth>
  28288. <Access>RW</Access>
  28289. <Equation multiplier="0x1000" offset="0x08000000"/>
  28290. </Bit>
  28291. <Bit config="0,2,3,6,9,10">
  28292. <Name>WRP1A_END</Name>
  28293. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  28294. <BitOffset>0x10</BitOffset>
  28295. <BitWidth>0x8</BitWidth>
  28296. <Access>RW</Access>
  28297. <Equation multiplier="0x2000" offset="0x08000000"/>
  28298. </Bit>
  28299. <Bit config="1,4,5,7,8">
  28300. <Name>WRP1A_END</Name>
  28301. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  28302. <BitOffset>0x10</BitOffset>
  28303. <BitWidth>0x8</BitWidth>
  28304. <Access>RW</Access>
  28305. <Equation multiplier="0x1000" offset="0x08000000"/>
  28306. </Bit>
  28307. </AssignedBits>
  28308. </Field>
  28309. <Field>
  28310. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  28311. <AssignedBits>
  28312. <Bit config="0,2,3,6,9,10">
  28313. <Name>WRP1B_STRT</Name>
  28314. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  28315. <BitOffset>0x0</BitOffset>
  28316. <BitWidth>0x8</BitWidth>
  28317. <Access>RW</Access>
  28318. <Equation multiplier="0x2000" offset="0x08000000"/>
  28319. </Bit>
  28320. <Bit config="1,4,5,7,8">
  28321. <Name>WRP1B_STRT</Name>
  28322. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  28323. <BitOffset>0x0</BitOffset>
  28324. <BitWidth>0x8</BitWidth>
  28325. <Access>RW</Access>
  28326. <Equation multiplier="0x1000" offset="0x08000000"/>
  28327. </Bit>
  28328. <Bit config="0,2,3,6,9,10">
  28329. <Name>WRP1B_END</Name>
  28330. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  28331. <BitOffset>0x10</BitOffset>
  28332. <BitWidth>0x8</BitWidth>
  28333. <Access>RW</Access>
  28334. <Equation multiplier="0x2000" offset="0x08000000"/>
  28335. </Bit>
  28336. <Bit config="1,4,5,7,8">
  28337. <Name>WRP1B_END</Name>
  28338. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  28339. <BitOffset>0x10</BitOffset>
  28340. <BitWidth>0x8</BitWidth>
  28341. <Access>RW</Access>
  28342. <Equation multiplier="0x1000" offset="0x08000000"/>
  28343. </Bit>
  28344. </AssignedBits>
  28345. </Field>
  28346. </Category>
  28347. </Bank>
  28348. <Bank interface="JTAG_SWD">
  28349. <Parameters name="Bank 2" size="0x10" address="0x40022044"/>
  28350. <Category>
  28351. <Name>PCROP Protection (Bank 2)</Name>
  28352. <Field>
  28353. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x40022044"/>
  28354. <AssignedBits>
  28355. <Bit config="0,10"> <!-- 2M whith offset 1M></!-->
  28356. <Name>PCROP2_STRT</Name>
  28357. <Description>Flash Bank 2 PCROP start address</Description>
  28358. <BitOffset>0x0</BitOffset>
  28359. <BitWidth>0x11</BitWidth>
  28360. <Access>RW</Access>
  28361. <Equation multiplier="0x16" offset="0x08100000"/>
  28362. </Bit>
  28363. <Bit config="2,3"> <!-- 1M whith offset 512K></!-->
  28364. <Name>PCROP2_STRT</Name>
  28365. <Description>Flash Bank 2 PCROP start address</Description>
  28366. <BitOffset>0x0</BitOffset>
  28367. <BitWidth>0x11</BitWidth>
  28368. <Access>RW</Access>
  28369. <Equation multiplier="0x16" offset="0x08080000"/>
  28370. </Bit>
  28371. <Bit config="6,9"> <!-- 512K whith offset 256K></!-->
  28372. <Name>PCROP2_STRT</Name>
  28373. <Description>Flash Bank 2 PCROP start address</Description>
  28374. <BitOffset>0x0</BitOffset>
  28375. <BitWidth>0x11</BitWidth>
  28376. <Access>RW</Access>
  28377. <Equation multiplier="0x16" offset="0x08040000"/>
  28378. </Bit>
  28379. <Bit config="1">
  28380. <Name>PCROP2_STRT</Name>
  28381. <Description>Flash Bank 2 PCROP start address</Description>
  28382. <BitOffset>0x0</BitOffset>
  28383. <BitWidth>0x11</BitWidth>
  28384. <Access>RW</Access>
  28385. <Equation multiplier="0x8" offset="0x08100000"/>
  28386. </Bit>
  28387. <Bit config="4,5">
  28388. <Name>PCROP2_STRT</Name>
  28389. <Description>Flash Bank 2 PCROP start address</Description>
  28390. <BitOffset>0x0</BitOffset>
  28391. <BitWidth>0x11</BitWidth>
  28392. <Access>RW</Access>
  28393. <Equation multiplier="0x8" offset="0x08080000"/>
  28394. </Bit>
  28395. <Bit config="7,8">
  28396. <Name>PCROP2_STRT</Name>
  28397. <Description>Flash Bank 2 PCROP start address</Description>
  28398. <BitOffset>0x0</BitOffset>
  28399. <BitWidth>0x11</BitWidth>
  28400. <Access>RW</Access>
  28401. <Equation multiplier="0x8" offset="0x08040000"/>
  28402. </Bit>
  28403. </AssignedBits>
  28404. </Field>
  28405. <Field>
  28406. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x40022048"/>
  28407. <AssignedBits>
  28408. <Bit config="0,10">
  28409. <Name>PCROP2_END</Name>
  28410. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28411. <BitOffset>0x0</BitOffset>
  28412. <BitWidth>0x11</BitWidth>
  28413. <Access>RW</Access>
  28414. <Equation multiplier="0x16" offset="0x08100000"/>
  28415. </Bit>
  28416. <Bit config="2,3">
  28417. <Name>PCROP2_END</Name>
  28418. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28419. <BitOffset>0x0</BitOffset>
  28420. <BitWidth>0x11</BitWidth>
  28421. <Access>RW</Access>
  28422. <Equation multiplier="0x16" offset="0x08080000"/>
  28423. </Bit>
  28424. <Bit config="6,9">
  28425. <Name>PCROP2_END</Name>
  28426. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28427. <BitOffset>0x0</BitOffset>
  28428. <BitWidth>0x11</BitWidth>
  28429. <Access>RW</Access>
  28430. <Equation multiplier="0x16" offset="0x08040000"/>
  28431. </Bit>
  28432. <Bit config="1">
  28433. <Name>PCROP2_END</Name>
  28434. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28435. <BitOffset>0x0</BitOffset>
  28436. <BitWidth>0x11</BitWidth>
  28437. <Access>RW</Access>
  28438. <Equation multiplier="0x8" offset="0x08100000"/>
  28439. </Bit>
  28440. <Bit config="4,5">
  28441. <Name>PCROP2_END</Name>
  28442. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28443. <BitOffset>0x0</BitOffset>
  28444. <BitWidth>0x11</BitWidth>
  28445. <Access>RW</Access>
  28446. <Equation multiplier="0x8" offset="0x08080000"/>
  28447. </Bit>
  28448. <Bit config="7,8">
  28449. <Name>PCROP2_END</Name>
  28450. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28451. <BitOffset>0x0</BitOffset>
  28452. <BitWidth>0x11</BitWidth>
  28453. <Access>RW</Access>
  28454. <Equation multiplier="0x8" offset="0x08040000"/>
  28455. </Bit>
  28456. </AssignedBits>
  28457. </Field>
  28458. </Category>
  28459. <Category>
  28460. <Name>Write Protection (Bank 2)</Name>
  28461. <Field>
  28462. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x4002204C"/>
  28463. <AssignedBits>
  28464. <Bit config="0,10">
  28465. <Name>WRP2A_STRT</Name>
  28466. <Description>The address of first page of the Bank 2 WRP first area</Description>
  28467. <BitOffset>0x0</BitOffset>
  28468. <BitWidth>0x8</BitWidth>
  28469. <Access>RW</Access>
  28470. <Equation multiplier="0x2000" offset="0x08100000"/>
  28471. </Bit>
  28472. <Bit config="2,3">
  28473. <Name>WRP2A_STRT</Name>
  28474. <Description>The address of first page of the Bank 2 WRP first area</Description>
  28475. <BitOffset>0x0</BitOffset>
  28476. <BitWidth>0x8</BitWidth>
  28477. <Access>RW</Access>
  28478. <Equation multiplier="0x2000" offset="0x08080000"/>
  28479. </Bit>
  28480. <Bit config="6,9">
  28481. <Name>WRP2A_STRT</Name>
  28482. <Description>The address of first page of the Bank 2 WRP first area</Description>
  28483. <BitOffset>0x0</BitOffset>
  28484. <BitWidth>0x8</BitWidth>
  28485. <Access>RW</Access>
  28486. <Equation multiplier="0x2000" offset="0x08040000"/>
  28487. </Bit>
  28488. <Bit config="1">
  28489. <Name>WRP2A_STRT</Name>
  28490. <Description>The address of first page of the Bank 2 WRP first area</Description>
  28491. <BitOffset>0x0</BitOffset>
  28492. <BitWidth>0x8</BitWidth>
  28493. <Access>RW</Access>
  28494. <Equation multiplier="0x1000" offset="0x08100000"/>
  28495. </Bit>
  28496. <Bit config="4,5">
  28497. <Name>WRP2A_STRT</Name>
  28498. <Description>The address of first page of the Bank 2 WRP first area</Description>
  28499. <BitOffset>0x0</BitOffset>
  28500. <BitWidth>0x8</BitWidth>
  28501. <Access>RW</Access>
  28502. <Equation multiplier="0x1000" offset="0x08080000"/>
  28503. </Bit>
  28504. <Bit config="6,9">
  28505. <Name>WRP2A_STRT</Name>
  28506. <Description>The address of first page of the Bank 2 WRP first area</Description>
  28507. <BitOffset>0x0</BitOffset>
  28508. <BitWidth>0x8</BitWidth>
  28509. <Access>RW</Access>
  28510. <Equation multiplier="0x1000" offset="0x08040000"/>
  28511. </Bit>
  28512. <Bit config="0,10">
  28513. <Name>WRP2A_END</Name>
  28514. <Description>The address of last page of the Bank 2 WRP first area</Description>
  28515. <BitOffset>0x10</BitOffset>
  28516. <BitWidth>0x8</BitWidth>
  28517. <Access>RW</Access>
  28518. <Equation multiplier="0x2000" offset="0x08100000"/>
  28519. </Bit>
  28520. <Bit config="2,3">
  28521. <Name>WRP2A_END</Name>
  28522. <Description>The address of last page of the Bank 2 WRP first area</Description>
  28523. <BitOffset>0x10</BitOffset>
  28524. <BitWidth>0x8</BitWidth>
  28525. <Access>RW</Access>
  28526. <Equation multiplier="0x2000" offset="0x08080000"/>
  28527. </Bit>
  28528. <Bit config="6,9">
  28529. <Name>WRP2A_END</Name>
  28530. <Description>The address of last page of the Bank 2 WRP first area</Description>
  28531. <BitOffset>0x10</BitOffset>
  28532. <BitWidth>0x8</BitWidth>
  28533. <Access>RW</Access>
  28534. <Equation multiplier="0x2000" offset="0x08040000"/>
  28535. </Bit>
  28536. <Bit config="1">
  28537. <Name>WRP2A_END</Name>
  28538. <Description>The address of last page of the Bank 2 WRP first area</Description>
  28539. <BitOffset>0x10</BitOffset>
  28540. <BitWidth>0x8</BitWidth>
  28541. <Access>RW</Access>
  28542. <Equation multiplier="0x1000" offset="0x08100000"/>
  28543. </Bit>
  28544. <Bit config="4,5">
  28545. <Name>WRP2A_END</Name>
  28546. <Description>The address of last page of the Bank 2 WRP first area</Description>
  28547. <BitOffset>0x10</BitOffset>
  28548. <BitWidth>0x8</BitWidth>
  28549. <Access>RW</Access>
  28550. <Equation multiplier="0x1000" offset="0x08080000"/>
  28551. </Bit>
  28552. <Bit config="7,8">
  28553. <Name>WRP2A_END</Name>
  28554. <Description>The address of last page of the Bank 2 WRP first area</Description>
  28555. <BitOffset>0x10</BitOffset>
  28556. <BitWidth>0x8</BitWidth>
  28557. <Access>RW</Access>
  28558. <Equation multiplier="0x1000" offset="0x08040000"/>
  28559. </Bit>
  28560. </AssignedBits>
  28561. </Field>
  28562. <Field>
  28563. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x40022050"/>
  28564. <AssignedBits>
  28565. <Bit config="0,10">
  28566. <Name>WRP2B_STRT</Name>
  28567. <Description>The address of first page of the Bank 2 WRP second area</Description>
  28568. <BitOffset>0x0</BitOffset>
  28569. <BitWidth>0x8</BitWidth>
  28570. <Access>RW</Access>
  28571. <Equation multiplier="0x2000" offset="0x08100000"/>
  28572. </Bit>
  28573. <Bit config="2,3">
  28574. <Name>WRP2B_STRT</Name>
  28575. <Description>The address of first page of the Bank 2 WRP second area</Description>
  28576. <BitOffset>0x0</BitOffset>
  28577. <BitWidth>0x8</BitWidth>
  28578. <Access>RW</Access>
  28579. <Equation multiplier="0x2000" offset="0x08080000"/>
  28580. </Bit>
  28581. <Bit config="6,9">
  28582. <Name>WRP2B_STRT</Name>
  28583. <Description>The address of first page of the Bank 2 WRP second area</Description>
  28584. <BitOffset>0x0</BitOffset>
  28585. <BitWidth>0x8</BitWidth>
  28586. <Access>RW</Access>
  28587. <Equation multiplier="0x2000" offset="0x08040000"/>
  28588. </Bit>
  28589. <Bit config="1">
  28590. <Name>WRP2B_STRT</Name>
  28591. <Description>The address of first page of the Bank 2 WRP second area</Description>
  28592. <BitOffset>0x0</BitOffset>
  28593. <BitWidth>0x8</BitWidth>
  28594. <Access>RW</Access>
  28595. <Equation multiplier="0x1000" offset="0x08100000"/>
  28596. </Bit>
  28597. <Bit config="4,5">
  28598. <Name>WRP2B_STRT</Name>
  28599. <Description>The address of first page of the Bank 2 WRP second area</Description>
  28600. <BitOffset>0x0</BitOffset>
  28601. <BitWidth>0x8</BitWidth>
  28602. <Access>RW</Access>
  28603. <Equation multiplier="0x1000" offset="0x08080000"/>
  28604. </Bit>
  28605. <Bit config="7,8">
  28606. <Name>WRP2B_STRT</Name>
  28607. <Description>The address of first page of the Bank 2 WRP second area</Description>
  28608. <BitOffset>0x0</BitOffset>
  28609. <BitWidth>0x8</BitWidth>
  28610. <Access>RW</Access>
  28611. <Equation multiplier="0x1000" offset="0x08040000"/>
  28612. </Bit>
  28613. <Bit config="0,10">
  28614. <Name>WRP2B_END</Name>
  28615. <Description>The address of last page of the Bank 2 WRP second area</Description>
  28616. <BitOffset>0x10</BitOffset>
  28617. <BitWidth>0x8</BitWidth>
  28618. <Access>RW</Access>
  28619. <Equation multiplier="0x2000" offset="0x08100000"/>
  28620. </Bit>
  28621. <Bit config="2,3">
  28622. <Name>WRP2B_END</Name>
  28623. <Description>The address of last page of the Bank 2 WRP second area</Description>
  28624. <BitOffset>0x10</BitOffset>
  28625. <BitWidth>0x8</BitWidth>
  28626. <Access>RW</Access>
  28627. <Equation multiplier="0x2000" offset="0x08080000"/>
  28628. </Bit>
  28629. <Bit config="6,9">
  28630. <Name>WRP2B_END</Name>
  28631. <Description>The address of last page of the Bank 2 WRP second area</Description>
  28632. <BitOffset>0x10</BitOffset>
  28633. <BitWidth>0x8</BitWidth>
  28634. <Access>RW</Access>
  28635. <Equation multiplier="0x2000" offset="0x08040000"/>
  28636. </Bit>
  28637. <Bit config="1">
  28638. <Name>WRP2B_END</Name>
  28639. <Description>The address of last page of the Bank 2 WRP second area</Description>
  28640. <BitOffset>0x10</BitOffset>
  28641. <BitWidth>0x8</BitWidth>
  28642. <Access>RW</Access>
  28643. <Equation multiplier="0x1000" offset="0x08100000"/>
  28644. </Bit>
  28645. <Bit config="4,5">
  28646. <Name>WRP2B_END</Name>
  28647. <Description>The address of last page of the Bank 2 WRP second area</Description>
  28648. <BitOffset>0x10</BitOffset>
  28649. <BitWidth>0x8</BitWidth>
  28650. <Access>RW</Access>
  28651. <Equation multiplier="0x1000" offset="0x08080000"/>
  28652. </Bit>
  28653. <Bit config="7,8">
  28654. <Name>WRP2B_END</Name>
  28655. <Description>The address of last page of the Bank 2 WRP second area</Description>
  28656. <BitOffset>0x10</BitOffset>
  28657. <BitWidth>0x8</BitWidth>
  28658. <Access>RW</Access>
  28659. <Equation multiplier="0x1000" offset="0x08040000"/>
  28660. </Bit>
  28661. </AssignedBits>
  28662. </Field>
  28663. </Category>
  28664. </Bank>
  28665. <Bank interface="Bootloader">
  28666. <Parameters name="Bank 1" size="0x24" address="0x1FF00000"/>
  28667. <Category>
  28668. <Name>Read Out Protection</Name>
  28669. <Field>
  28670. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FF00000"/>
  28671. <AssignedBits>
  28672. <Bit>
  28673. <Name>RDP</Name>
  28674. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  28675. <BitOffset>0x0</BitOffset>
  28676. <BitWidth>0x8</BitWidth>
  28677. <Access>RW</Access>
  28678. <Values>
  28679. <Val value="0xAA">Level 0, no protection</Val>
  28680. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  28681. <Val value="0xCC">Level 2, chip protection</Val>
  28682. </Values>
  28683. </Bit>
  28684. </AssignedBits>
  28685. </Field>
  28686. </Category>
  28687. <Category>
  28688. <Name>BOR Level</Name>
  28689. <Field>
  28690. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FF00000"/>
  28691. <AssignedBits>
  28692. <Bit>
  28693. <Name>BOR_LEV</Name>
  28694. <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>
  28695. <BitOffset>0x8</BitOffset>
  28696. <BitWidth>0x3</BitWidth>
  28697. <Access>RW</Access>
  28698. <Values>
  28699. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  28700. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  28701. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  28702. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  28703. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  28704. </Values>
  28705. </Bit>
  28706. </AssignedBits>
  28707. </Field>
  28708. </Category>
  28709. <Category>
  28710. <Name>User Configuration</Name>
  28711. <Field>
  28712. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FF00000"/>
  28713. <AssignedBits>
  28714. <Bit>
  28715. <Name>nRST_STOP</Name>
  28716. <Description/>
  28717. <BitOffset>0xC</BitOffset>
  28718. <BitWidth>0x1</BitWidth>
  28719. <Access>RW</Access>
  28720. <Values>
  28721. <Val value="0x0">Reset generated when entering Stop mode</Val>
  28722. <Val value="0x1">No reset generated</Val>
  28723. </Values>
  28724. </Bit>
  28725. <Bit>
  28726. <Name>nRST_STDBY</Name>
  28727. <Description/>
  28728. <BitOffset>0xD</BitOffset>
  28729. <BitWidth>0x1</BitWidth>
  28730. <Access>RW</Access>
  28731. <Values>
  28732. <Val value="0x0">Reset generated when entering Standby mode</Val>
  28733. <Val value="0x1">No reset generated</Val>
  28734. </Values>
  28735. </Bit>
  28736. <Bit>
  28737. <Name>nRST_SHDW</Name>
  28738. <Description/>
  28739. <BitOffset>0xE</BitOffset>
  28740. <BitWidth>0x1</BitWidth>
  28741. <Access>RW</Access>
  28742. <Values>
  28743. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  28744. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  28745. </Values>
  28746. </Bit>
  28747. <Bit>
  28748. <Name>IWDG_SW</Name>
  28749. <Description/>
  28750. <BitOffset>0x10</BitOffset>
  28751. <BitWidth>0x1</BitWidth>
  28752. <Access>RW</Access>
  28753. <Values>
  28754. <Val value="0x0">Hardware independant watchdog</Val>
  28755. <Val value="0x1">Software independant watchdog</Val>
  28756. </Values>
  28757. </Bit>
  28758. <Bit>
  28759. <Name>IWDG_STOP</Name>
  28760. <Description/>
  28761. <BitOffset>0x11</BitOffset>
  28762. <BitWidth>0x1</BitWidth>
  28763. <Access>RW</Access>
  28764. <Values>
  28765. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  28766. <Val value="0x1">IWDG counter active in stop mode</Val>
  28767. </Values>
  28768. </Bit>
  28769. <Bit>
  28770. <Name>IWDG_STDBY</Name>
  28771. <Description/>
  28772. <BitOffset>0x12</BitOffset>
  28773. <BitWidth>0x1</BitWidth>
  28774. <Access>RW</Access>
  28775. <Values>
  28776. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  28777. <Val value="0x1">IWDG counter active in standby mode</Val>
  28778. </Values>
  28779. </Bit>
  28780. <Bit>
  28781. <Name>WWDG_SW</Name>
  28782. <Description/>
  28783. <BitOffset>0x13</BitOffset>
  28784. <BitWidth>0x1</BitWidth>
  28785. <Access>RW</Access>
  28786. <Values>
  28787. <Val value="0x0">Hardware window watchdog</Val>
  28788. <Val value="0x1">Software window watchdog</Val>
  28789. </Values>
  28790. </Bit>
  28791. <Bit>
  28792. <Name>BFB2</Name>
  28793. <Description/>
  28794. <BitOffset>0x14</BitOffset>
  28795. <BitWidth>0x1</BitWidth>
  28796. <Access>RW</Access>
  28797. <Values>
  28798. <Val value="0x0">Dual-bank boot disable</Val>
  28799. <Val value="0x1">Dual-bank boot enable</Val>
  28800. </Values>
  28801. </Bit>
  28802. <Bit config="10">
  28803. <Name>DB1M</Name>
  28804. <Description>Dual-Bank on 1 MB Flash or 512 KB Flash memory devices</Description>
  28805. <BitOffset>0x15</BitOffset>
  28806. <BitWidth>0x1</BitWidth>
  28807. <Access>RW</Access>
  28808. <Values>
  28809. <Val value="0x0">1 MB or 512 Kb single Flash: contiguous address in bank1</Val>
  28810. <Val value="0x1">1 MB or 512 Kb dual-bank Flash with contiguous addresses. When DB1M is set, a hard Fault is generated when the requested address goes over 1 MB or 512 Kb.</Val>
  28811. </Values>
  28812. </Bit>
  28813. <Bit>
  28814. <Name>DBANK</Name>
  28815. <Description>This bit can only be written when PCROPA/B is disabled.</Description>
  28816. <BitOffset>0x16</BitOffset>
  28817. <BitWidth>0x1</BitWidth>
  28818. <Access>RW</Access>
  28819. <Values>
  28820. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  28821. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  28822. </Values>
  28823. </Bit>
  28824. <Bit>
  28825. <Name>nBOOT1</Name>
  28826. <Description/>
  28827. <BitOffset>0x17</BitOffset>
  28828. <BitWidth>0x1</BitWidth>
  28829. <Access>RW</Access>
  28830. <Values>
  28831. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  28832. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  28833. </Values>
  28834. </Bit>
  28835. <Bit>
  28836. <Name>SRAM2_PE</Name>
  28837. <Description/>
  28838. <BitOffset>0x18</BitOffset>
  28839. <BitWidth>0x1</BitWidth>
  28840. <Access>RW</Access>
  28841. <Values>
  28842. <Val value="0x0">SRAM2 parity check enable</Val>
  28843. <Val value="0x1">SRAM2 parity check disable</Val>
  28844. </Values>
  28845. </Bit>
  28846. <Bit>
  28847. <Name>SRAM2_RST</Name>
  28848. <Description/>
  28849. <BitOffset>0x19</BitOffset>
  28850. <BitWidth>0x1</BitWidth>
  28851. <Access>RW</Access>
  28852. <Values>
  28853. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  28854. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  28855. </Values>
  28856. </Bit>
  28857. <Bit>
  28858. <Name>nSWBOOT0</Name>
  28859. <Description>Software BOOT0</Description>
  28860. <BitOffset>0x1A</BitOffset>
  28861. <BitWidth>0x1</BitWidth>
  28862. <Access>RW</Access>
  28863. <Values>
  28864. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  28865. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  28866. </Values>
  28867. </Bit>
  28868. <Bit>
  28869. <Name>nBOOT0</Name>
  28870. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  28871. <BitOffset>0x1B</BitOffset>
  28872. <BitWidth>0x1</BitWidth>
  28873. <Access>RW</Access>
  28874. <Values>
  28875. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  28876. <Val value="0x1">BOOT0 = 0, boot from main flash memory</Val>
  28877. </Values>
  28878. </Bit>
  28879. </AssignedBits>
  28880. </Field>
  28881. </Category>
  28882. <Category>
  28883. <Name>PCROP Protection (Bank 1)</Name>
  28884. <Field>
  28885. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FF00008"/>
  28886. <AssignedBits>
  28887. <Bit config="0,10">
  28888. <Name>PCROP1_STRT</Name>
  28889. <Description>Flash Bank 1 PCROP start address</Description>
  28890. <BitOffset>0x0</BitOffset>
  28891. <BitWidth>0x10</BitWidth>
  28892. <Access>RW</Access>
  28893. <Equation multiplier="0x16" offset="0x08000000"/>
  28894. </Bit>
  28895. <Bit config="1">
  28896. <Name>PCROP1_STRT</Name>
  28897. <Description>Flash Bank 1 PCROP start address</Description>
  28898. <BitOffset>0x0</BitOffset>
  28899. <BitWidth>0x11</BitWidth>
  28900. <Access>RW</Access>
  28901. <Equation multiplier="0x8" offset="0x08000000"/>
  28902. </Bit>
  28903. </AssignedBits>
  28904. </Field>
  28905. <Field>
  28906. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FF00010"/>
  28907. <AssignedBits>
  28908. <Bit config="0,10">
  28909. <Name>PCROP1_END</Name>
  28910. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28911. <BitOffset>0x0</BitOffset>
  28912. <BitWidth>0x10</BitWidth>
  28913. <Access>RW</Access>
  28914. <Equation multiplier="0x16" offset="0x08000000"/>
  28915. </Bit>
  28916. <Bit config="1">
  28917. <Name>PCROP1_END</Name>
  28918. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  28919. <BitOffset>0x0</BitOffset>
  28920. <BitWidth>0x10</BitWidth>
  28921. <Access>RW</Access>
  28922. <Equation multiplier="0x8" offset="0x08000000"/>
  28923. </Bit>
  28924. <Bit>
  28925. <Name>PCROP_RDP</Name>
  28926. <Description/>
  28927. <BitOffset>0x1F</BitOffset>
  28928. <BitWidth>0x1</BitWidth>
  28929. <Access>RW</Access>
  28930. <Values>
  28931. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  28932. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  28933. </Values>
  28934. </Bit>
  28935. </AssignedBits>
  28936. </Field>
  28937. </Category>
  28938. <Category>
  28939. <Name>Write Protection (Bank 1)</Name>
  28940. <Field>
  28941. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FF00018"/>
  28942. <AssignedBits>
  28943. <Bit config="0,10">
  28944. <Name>WRP1A_STRT</Name>
  28945. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  28946. <BitOffset>0x0</BitOffset>
  28947. <BitWidth>0x8</BitWidth>
  28948. <Access>RW</Access>
  28949. <Equation multiplier="0x2000" offset="0x08000000"/>
  28950. </Bit>
  28951. <Bit config="1">
  28952. <Name>WRP1A_STRT</Name>
  28953. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  28954. <BitOffset>0x0</BitOffset>
  28955. <BitWidth>0x8</BitWidth>
  28956. <Access>RW</Access>
  28957. <Equation multiplier="0x1000" offset="0x08000000"/>
  28958. </Bit>
  28959. <Bit config="0,10">
  28960. <Name>WRP1A_END</Name>
  28961. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  28962. <BitOffset>0x10</BitOffset>
  28963. <BitWidth>0x8</BitWidth>
  28964. <Access>RW</Access>
  28965. <Equation multiplier="0x2000" offset="0x08000000"/>
  28966. </Bit>
  28967. <Bit config="1">
  28968. <Name>WRP1A_END</Name>
  28969. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  28970. <BitOffset>0x10</BitOffset>
  28971. <BitWidth>0x8</BitWidth>
  28972. <Access>RW</Access>
  28973. <Equation multiplier="0x1000" offset="0x08000000"/>
  28974. </Bit>
  28975. </AssignedBits>
  28976. </Field>
  28977. <Field>
  28978. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FF00020"/>
  28979. <AssignedBits>
  28980. <Bit config="0,10">
  28981. <Name>WRP1B_STRT</Name>
  28982. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  28983. <BitOffset>0x0</BitOffset>
  28984. <BitWidth>0x8</BitWidth>
  28985. <Access>RW</Access>
  28986. <Equation multiplier="0x2000" offset="0x08000000"/>
  28987. </Bit>
  28988. <Bit config="1">
  28989. <Name>WRP1B_STRT</Name>
  28990. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  28991. <BitOffset>0x0</BitOffset>
  28992. <BitWidth>0x8</BitWidth>
  28993. <Access>RW</Access>
  28994. <Equation multiplier="0x1000" offset="0x08000000"/>
  28995. </Bit>
  28996. <Bit config="0,10">
  28997. <Name>WRP1B_END</Name>
  28998. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  28999. <BitOffset>0x10</BitOffset>
  29000. <BitWidth>0x8</BitWidth>
  29001. <Access>RW</Access>
  29002. <Equation multiplier="0x2000" offset="0x08000000"/>
  29003. </Bit>
  29004. <Bit config="1">
  29005. <Name>WRP1B_END</Name>
  29006. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  29007. <BitOffset>0x10</BitOffset>
  29008. <BitWidth>0x8</BitWidth>
  29009. <Access>RW</Access>
  29010. <Equation multiplier="0x1000" offset="0x08000000"/>
  29011. </Bit>
  29012. </AssignedBits>
  29013. </Field>
  29014. </Category>
  29015. </Bank>
  29016. <Bank interface="Bootloader">
  29017. <Parameters name="Bank 2" size="0x1C" address="0x1FF01008"/>
  29018. <Category>
  29019. <Name>PCROP Protection (Bank 2)</Name>
  29020. <Field>
  29021. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x1FF01008"/>
  29022. <AssignedBits>
  29023. <Bit config="0,10">
  29024. <Name>PCROP2_STRT</Name>
  29025. <Description>Flash Bank 2 PCROP start address</Description>
  29026. <BitOffset>0x0</BitOffset>
  29027. <BitWidth>0x10</BitWidth>
  29028. <Access>RW</Access>
  29029. <Equation multiplier="0x16" offset="0x08100000"/>
  29030. </Bit>
  29031. <Bit config="1">
  29032. <Name>PCROP2_STRT</Name>
  29033. <Description>Flash Bank 2 PCROP start address</Description>
  29034. <BitOffset>0x0</BitOffset>
  29035. <BitWidth>0x10</BitWidth>
  29036. <Access>RW</Access>
  29037. <Equation multiplier="0x8" offset="0x08100000"/>
  29038. </Bit>
  29039. </AssignedBits>
  29040. </Field>
  29041. <Field>
  29042. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x1FF01010"/>
  29043. <AssignedBits>
  29044. <Bit config="0,10">
  29045. <Name>PCROP2_END</Name>
  29046. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29047. <BitOffset>0x0</BitOffset>
  29048. <BitWidth>0x10</BitWidth>
  29049. <Access>RW</Access>
  29050. <Equation multiplier="0x16" offset="0x08100000"/>
  29051. </Bit>
  29052. <Bit config="1">
  29053. <Name>PCROP2_END</Name>
  29054. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29055. <BitOffset>0x0</BitOffset>
  29056. <BitWidth>0x10</BitWidth>
  29057. <Access>RW</Access>
  29058. <Equation multiplier="0x8" offset="0x08100000"/>
  29059. </Bit>
  29060. </AssignedBits>
  29061. </Field>
  29062. </Category>
  29063. <Category>
  29064. <Name>Write Protection (Bank 2)</Name>
  29065. <Field>
  29066. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x1FF01018"/>
  29067. <AssignedBits>
  29068. <Bit config="0,10">
  29069. <Name>WRP2A_STRT</Name>
  29070. <Description>The address of first page of the Bank 2 WRP first area</Description>
  29071. <BitOffset>0x0</BitOffset>
  29072. <BitWidth>0x8</BitWidth>
  29073. <Access>RW</Access>
  29074. <Equation multiplier="0x2000" offset="0x08100000"/>
  29075. </Bit>
  29076. <Bit config="1">
  29077. <Name>WRP2A_STRT</Name>
  29078. <Description>The address of first page of the Bank 2 WRP first area</Description>
  29079. <BitOffset>0x0</BitOffset>
  29080. <BitWidth>0x8</BitWidth>
  29081. <Access>RW</Access>
  29082. <Equation multiplier="0x1000" offset="0x08100000"/>
  29083. </Bit>
  29084. <Bit config="0,10">
  29085. <Name>WRP2A_END</Name>
  29086. <Description>The address of last page of the Bank 2 WRP first area</Description>
  29087. <BitOffset>0x10</BitOffset>
  29088. <BitWidth>0x8</BitWidth>
  29089. <Access>RW</Access>
  29090. <Equation multiplier="0x2000" offset="0x08100000"/>
  29091. </Bit>
  29092. <Bit config="1">
  29093. <Name>WRP2A_END</Name>
  29094. <Description>The address of last page of the Bank 2 WRP first area</Description>
  29095. <BitOffset>0x10</BitOffset>
  29096. <BitWidth>0x8</BitWidth>
  29097. <Access>RW</Access>
  29098. <Equation multiplier="0x1000" offset="0x08100000"/>
  29099. </Bit>
  29100. </AssignedBits>
  29101. </Field>
  29102. <Field>
  29103. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x1FF01020"/>
  29104. <AssignedBits>
  29105. <Bit config="0,10">
  29106. <Name>WRP2B_STRT</Name>
  29107. <Description>The address of first page of the Bank 2 WRP second area</Description>
  29108. <BitOffset>0x0</BitOffset>
  29109. <BitWidth>0x8</BitWidth>
  29110. <Access>RW</Access>
  29111. <Equation multiplier="0x2000" offset="0x08100000"/>
  29112. </Bit>
  29113. <Bit config="1">
  29114. <Name>WRP2B_STRT</Name>
  29115. <Description>The address of first page of the Bank 2 WRP second area</Description>
  29116. <BitOffset>0x0</BitOffset>
  29117. <BitWidth>0x8</BitWidth>
  29118. <Access>RW</Access>
  29119. <Equation multiplier="0x1000" offset="0x08100000"/>
  29120. </Bit>
  29121. <Bit config="0,10">
  29122. <Name>WRP2B_END</Name>
  29123. <Description>The address of last page of the Bank 2 WRP second area</Description>
  29124. <BitOffset>0x10</BitOffset>
  29125. <BitWidth>0x8</BitWidth>
  29126. <Access>RW</Access>
  29127. <Equation multiplier="0x2000" offset="0x08100000"/>
  29128. </Bit>
  29129. <Bit config="1">
  29130. <Name>WRP2B_END</Name>
  29131. <Description>The address of last page of the Bank 2 WRP second area</Description>
  29132. <BitOffset>0x10</BitOffset>
  29133. <BitWidth>0x8</BitWidth>
  29134. <Access>RW</Access>
  29135. <Equation multiplier="0x1000" offset="0x08100000"/>
  29136. </Bit>
  29137. </AssignedBits>
  29138. </Field>
  29139. </Category>
  29140. </Bank>
  29141. </Peripheral>
  29142. </Peripherals>
  29143. </Device>
  29144. <!-- Device: 0x471 -->
  29145. <Device>
  29146. <DeviceID>0x471</DeviceID>
  29147. <Vendor>STMicroelectronics</Vendor>
  29148. <Type>MCU</Type>
  29149. <CPU>Cortex-M4</CPU>
  29150. <Name>STM32L4Pxxx/STM32L4Qxxx</Name>
  29151. <Series>STM32L4</Series>
  29152. <Description>ARM 32-bit Cortex-M4 based device</Description>
  29153. <Configurations>
  29154. <!-- JTAG_SWD Interface -->
  29155. <Interface name="JTAG_SWD">
  29156. <Configuration number="0x0">
  29157. <flashSize> <!-- 2M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x800"/> </flashSize>
  29158. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  29159. </Configuration>
  29160. <Configuration number="0x1">
  29161. <flashSize> <!-- 2M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x800"/> </flashSize>
  29162. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  29163. </Configuration>
  29164. <Configuration number="0x2">
  29165. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  29166. <DB1M reference="0x0"> <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/> </DB1M>
  29167. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  29168. </Configuration>
  29169. <Configuration number="0x3">
  29170. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  29171. <DB1M reference="0x1"> <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/> </DB1M>
  29172. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  29173. </Configuration>
  29174. <Configuration number="0x4">
  29175. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  29176. <DB1M reference="0x1"> <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/> </DB1M>
  29177. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  29178. </Configuration>
  29179. <Configuration number="0x5">
  29180. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  29181. <DB1M reference="0x0"> <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/> </DB1M>
  29182. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  29183. </Configuration>
  29184. <Configuration number="0x6">
  29185. <flashSize> <!-- 512K --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  29186. <DB1M reference="0x0"> <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/> </DB1M>
  29187. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  29188. </Configuration>
  29189. <Configuration number="0x7">
  29190. <flashSize> <!-- 512K --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  29191. <DB1M reference="0x0"> <ReadRegister address="0x40022020" mask="0x200000" value="0x0"/> </DB1M>
  29192. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  29193. </Configuration>
  29194. <Configuration number="0x8">
  29195. <flashSize> <!-- 512K --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  29196. <DB1M reference="0x1"> <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/> </DB1M>
  29197. <DBANK reference="0x1"> <ReadRegister address="0x40022020" mask="0x400000" value="0x400000"/> </DBANK>
  29198. </Configuration>
  29199. <Configuration number="0x9">
  29200. <flashSize> <!-- 512K --><ReadRegister address="0x1FFF75E0" mask="0xFFFF" value="0x400"/> </flashSize>
  29201. <DB1M reference="0x1"> <ReadRegister address="0x40022020" mask="0x200000" value="0x200000"/> </DB1M>
  29202. <DBANK reference="0x0"> <ReadRegister address="0x40022020" mask="0x400000" value="0x0"/> </DBANK>
  29203. </Configuration>
  29204. <Configuration number="0xA">
  29205. <flashSize> <!-- 1M --><ReadRegister address="0x1FFF0000" mask="0xFFFFFFFF" value="0XFFFFFFFF"/> </flashSize>
  29206. </Configuration>
  29207. </Interface>
  29208. <!-- Bootloader Interface -->
  29209. <Interface name="Bootloader">
  29210. <Configuration number="0x0">
  29211. <DBANK reference="0x0"> <ReadRegister address="0x1FF00000" mask="0x400000" value="0x0"/> </DBANK>
  29212. </Configuration>
  29213. <Configuration number="0x1">
  29214. <DBANK reference="0x1"> <ReadRegister address="0x1FF00000" mask="0x400000" value="0x400000"/> </DBANK>
  29215. </Configuration>
  29216. <Configuration number="0xA">
  29217. <dummy> <ReadRegister address="0x1FF00000" mask="0" value="0"/> </dummy>
  29218. </Configuration>
  29219. </Interface>
  29220. </Configurations>
  29221. <!-- Peripherals -->
  29222. <Peripherals>
  29223. <!-- Embedded SRAM -->
  29224. <Peripheral>
  29225. <Name>Embedded SRAM</Name>
  29226. <Type>Storage</Type>
  29227. <Description/>
  29228. <ErasedValue>0x00</ErasedValue>
  29229. <Access>RWE</Access>
  29230. <!-- 96 KB -->
  29231. <Configuration>
  29232. <Parameters name="SRAM" size="0x30000" address="0x20000000"/>
  29233. <Description/>
  29234. <Organization>Single</Organization>
  29235. <Bank name="Bank 1">
  29236. <Field>
  29237. <Parameters name="SRAM" size="0x30000" address="0x20000000" occurence="0x1"/>
  29238. </Field>
  29239. </Bank>
  29240. </Configuration>
  29241. </Peripheral>
  29242. <!-- Embedded Flash -->
  29243. <Peripheral>
  29244. <Name>Embedded Flash</Name>
  29245. <Type>Storage</Type>
  29246. <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>
  29247. <ErasedValue>0xFF</ErasedValue>
  29248. <Access>RWE</Access>
  29249. <FlashSize address="0x1FFF75E0" default="0x100000"/>
  29250. <Configuration config="0,2,3,6,9"> <!-- 2MB Single Bank -->
  29251. <Parameters name=" 1 Mbyte Embedded Flash" size="0x100000" address="0x08000000"/>
  29252. <Description/>
  29253. <Organization>Single</Organization>
  29254. <Allignement>0x8</Allignement>
  29255. <Bank name="Bank 1">
  29256. <Field>
  29257. <Parameters name="sector0" size="0x2000" address="0x08000000" occurence="0x80"/>
  29258. </Field>
  29259. </Bank>
  29260. </Configuration>
  29261. <Configuration config="1,4,5,7,8"> <!-- 1MB dual Bank -->
  29262. <Parameters name=" 1 Mbyte Embedded Flash" size="0x100000" address="0x08000000"/>
  29263. <Description/>
  29264. <Organization>Dual</Organization>
  29265. <Allignement>0x8</Allignement>
  29266. <Bank name="Bank 1">
  29267. <Field>
  29268. <Parameters name="sector0" size="0x1000" address="0x08000000" occurence="0x80"/>
  29269. </Field>
  29270. </Bank>
  29271. <Bank name="Bank 2">
  29272. <Field>
  29273. <Parameters name="sector128" size="0x1000" address="0x08080000" occurence="0x80"/>
  29274. </Field>
  29275. </Bank>
  29276. </Configuration>
  29277. <Configuration config="2"> <!-- 2MB dual Bank -->
  29278. <Parameters name=" 2 Mbyte Embedded Flash" size="0x200000" address="0x08000000"/>
  29279. <Description/>
  29280. <Organization>Dual</Organization>
  29281. <Allignement>0x8</Allignement>
  29282. <Bank name="Bank 1">
  29283. <Field>
  29284. <Parameters name="sector0" size="0x2000" address="0x08000000" occurence="0x100"/>
  29285. </Field>
  29286. </Bank>
  29287. <Bank name="Bank 2">
  29288. <Field>
  29289. <Parameters name="sector256" size="0x2000" address="0x08100000" occurence="0x100"/>
  29290. </Field>
  29291. </Bank>
  29292. </Configuration>
  29293. </Peripheral>
  29294. <!-- OTP -->
  29295. <Peripheral>
  29296. <Name>OTP</Name>
  29297. <Type>Storage</Type>
  29298. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  29299. <ErasedValue>0xFF</ErasedValue>
  29300. <Access>RW</Access>
  29301. <!-- 1 KBytes single bank -->
  29302. <Configuration>
  29303. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  29304. <Description/>
  29305. <Organization>Single</Organization>
  29306. <Allignement>0x4</Allignement>
  29307. <Bank name="OTP">
  29308. <Field>
  29309. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  29310. </Field>
  29311. </Bank>
  29312. </Configuration>
  29313. </Peripheral>
  29314. <!-- Mirror Option Bytes -->
  29315. <Peripheral>
  29316. <Name>MirrorOptionBytes</Name>
  29317. <Type>Storage</Type>
  29318. <Description>Mirror Option Bytes contains the extra area.</Description>
  29319. <ErasedValue>0xFF</ErasedValue>
  29320. <Access>RW</Access>
  29321. <!-- 64 Bytes Dual bank -->
  29322. <Configuration>
  29323. <Parameters name=" 64 Bytes Data MirrorOptionBytes" size="0x40" address="0x1FFF7800"/>
  29324. <Description/>
  29325. <Organization>Dual</Organization>
  29326. <Allignement>0x4</Allignement>
  29327. <Bank name="Bank 1">
  29328. <Field>
  29329. <Parameters name="Bank1" size="0x24" address="0x1FF00000" occurence="0x1"/>
  29330. </Field>
  29331. </Bank>
  29332. <Bank name="Bank 2">
  29333. <Field>
  29334. <Parameters name="Bank2" size="0x1C" address="0x1FF01008" occurence="0x1"/>
  29335. </Field>
  29336. </Bank>
  29337. </Configuration>
  29338. </Peripheral>
  29339. <!-- Option Bytes -->
  29340. <Peripheral>
  29341. <Name>Option Bytes</Name>
  29342. <Type>Configuration</Type>
  29343. <Description/>
  29344. <Access>RW</Access>
  29345. <Bank interface="JTAG_SWD">
  29346. <Parameters name="Bank 1" size="0x30" address="0x40022020"/>
  29347. <Category>
  29348. <Name>Read Out Protection</Name>
  29349. <Field>
  29350. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  29351. <AssignedBits>
  29352. <Bit>
  29353. <Name>RDP</Name>
  29354. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  29355. <BitOffset>0x0</BitOffset>
  29356. <BitWidth>0x8</BitWidth>
  29357. <Access>RW</Access>
  29358. <Values>
  29359. <Val value="0xAA">Level 0, no protection</Val>
  29360. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  29361. <Val value="0xCC">Level 2, chip protection</Val>
  29362. </Values>
  29363. </Bit>
  29364. </AssignedBits>
  29365. </Field>
  29366. </Category>
  29367. <Category>
  29368. <Name>BOR Level</Name>
  29369. <Field>
  29370. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  29371. <AssignedBits>
  29372. <Bit>
  29373. <Name>BOR_LEV</Name>
  29374. <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>
  29375. <BitOffset>0x8</BitOffset>
  29376. <BitWidth>0x3</BitWidth>
  29377. <Access>RW</Access>
  29378. <Values>
  29379. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  29380. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  29381. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  29382. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  29383. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  29384. </Values>
  29385. </Bit>
  29386. </AssignedBits>
  29387. </Field>
  29388. </Category>
  29389. <Category>
  29390. <Name>User Configuration</Name>
  29391. <Field>
  29392. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  29393. <AssignedBits>
  29394. <Bit>
  29395. <Name>nRST_STOP</Name>
  29396. <Description/>
  29397. <BitOffset>0xC</BitOffset>
  29398. <BitWidth>0x1</BitWidth>
  29399. <Access>RW</Access>
  29400. <Values>
  29401. <Val value="0x0">Reset generated when entering Stop mode</Val>
  29402. <Val value="0x1">No reset generated when entering Stop mode</Val>
  29403. </Values>
  29404. </Bit>
  29405. <Bit>
  29406. <Name>nRST_STDBY</Name>
  29407. <Description/>
  29408. <BitOffset>0xD</BitOffset>
  29409. <BitWidth>0x1</BitWidth>
  29410. <Access>RW</Access>
  29411. <Values>
  29412. <Val value="0x0">Reset generated when entering Standby mode</Val>
  29413. <Val value="0x1">No reset generated when entering Standby mode</Val>
  29414. </Values>
  29415. </Bit>
  29416. <Bit>
  29417. <Name>nRST_SHDW</Name>
  29418. <Description/>
  29419. <BitOffset>0xE</BitOffset>
  29420. <BitWidth>0x1</BitWidth>
  29421. <Access>RW</Access>
  29422. <Values>
  29423. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  29424. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  29425. </Values>
  29426. </Bit>
  29427. <Bit>
  29428. <Name>IWDG_SW</Name>
  29429. <Description/>
  29430. <BitOffset>0x10</BitOffset>
  29431. <BitWidth>0x1</BitWidth>
  29432. <Access>RW</Access>
  29433. <Values>
  29434. <Val value="0x0">Hardware independant watchdog</Val>
  29435. <Val value="0x1">Software independant watchdog</Val>
  29436. </Values>
  29437. </Bit>
  29438. <Bit>
  29439. <Name>IWDG_STOP</Name>
  29440. <Description/>
  29441. <BitOffset>0x11</BitOffset>
  29442. <BitWidth>0x1</BitWidth>
  29443. <Access>RW</Access>
  29444. <Values>
  29445. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  29446. <Val value="0x1">IWDG counter active in stop mode</Val>
  29447. </Values>
  29448. </Bit>
  29449. <Bit>
  29450. <Name>IWDG_STDBY</Name>
  29451. <Description/>
  29452. <BitOffset>0x12</BitOffset>
  29453. <BitWidth>0x1</BitWidth>
  29454. <Access>RW</Access>
  29455. <Values>
  29456. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  29457. <Val value="0x1">IWDG counter active in standby mode</Val>
  29458. </Values>
  29459. </Bit>
  29460. <Bit>
  29461. <Name>WWDG_SW</Name>
  29462. <Description/>
  29463. <BitOffset>0x13</BitOffset>
  29464. <BitWidth>0x1</BitWidth>
  29465. <Access>RW</Access>
  29466. <Values>
  29467. <Val value="0x0">Hardware window watchdog</Val>
  29468. <Val value="0x1">Software window watchdog</Val>
  29469. </Values>
  29470. </Bit>
  29471. <Bit>
  29472. <Name>BFB2</Name>
  29473. <Description/>
  29474. <BitOffset>0x14</BitOffset>
  29475. <BitWidth>0x1</BitWidth>
  29476. <Access>RW</Access>
  29477. <Values>
  29478. <Val value="0x0">Dual-bank boot disable</Val>
  29479. <Val value="0x1">Dual-bank boot enable</Val>
  29480. </Values>
  29481. </Bit>
  29482. <Bit config="2,3,4,5,6,7,8,9,10">
  29483. <Name>DB1M</Name>
  29484. <Description>Dual-Bank on 1 MB Flash or 512 KB Flash memory devices</Description>
  29485. <BitOffset>0x15</BitOffset>
  29486. <BitWidth>0x1</BitWidth>
  29487. <Access>RW</Access>
  29488. <Values>
  29489. <Val value="0x0">1 MB or 512 Kb single Flash: contiguous address in bank1</Val>
  29490. <Val value="0x1">1 MB or 512 Kb dual-bank Flash with contiguous addresses. When DB1M is set, a hard Fault is generated when the requested address goes over 1 MB or 512 Kb.</Val>
  29491. </Values>
  29492. </Bit>
  29493. <Bit>
  29494. <Name>DBANK</Name>
  29495. <Description>This bit can only be written when PCROPA/B is disabled</Description>
  29496. <BitOffset>0x16</BitOffset>
  29497. <BitWidth>0x1</BitWidth>
  29498. <Access>RW</Access>
  29499. <Values>
  29500. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  29501. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  29502. </Values>
  29503. </Bit>
  29504. <Bit>
  29505. <Name>nBOOT1</Name>
  29506. <Description>This bit selects the boot mode only when BOOT0=1. If BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory.</Description>
  29507. <BitOffset>0x17</BitOffset>
  29508. <BitWidth>0x1</BitWidth>
  29509. <Access>RW</Access>
  29510. <Values>
  29511. <Val value="0x0">Boot from embedded SRAM1 when BOOT0=1</Val>
  29512. <Val value="0x1">Boot from system memory when BOOT0=1</Val>
  29513. </Values>
  29514. </Bit>
  29515. <Bit>
  29516. <Name>SRAM2_PE</Name>
  29517. <Description>SRAM2 parity check enable</Description>
  29518. <BitOffset>0x18</BitOffset>
  29519. <BitWidth>0x1</BitWidth>
  29520. <Access>RW</Access>
  29521. <Values>
  29522. <Val value="0x0">SRAM2 parity check enable</Val>
  29523. <Val value="0x1">SRAM2 parity check disable</Val>
  29524. </Values>
  29525. </Bit>
  29526. <Bit>
  29527. <Name>SRAM2_RST</Name>
  29528. <Description>SRAM2 Erase when system reset</Description>
  29529. <BitOffset>0x19</BitOffset>
  29530. <BitWidth>0x1</BitWidth>
  29531. <Access>RW</Access>
  29532. <Values>
  29533. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  29534. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  29535. </Values>
  29536. </Bit>
  29537. <Bit>
  29538. <Name>nSWBOOT0</Name>
  29539. <Description>Software BOOT0</Description>
  29540. <BitOffset>0x1A</BitOffset>
  29541. <BitWidth>0x1</BitWidth>
  29542. <Access>RW</Access>
  29543. <Values>
  29544. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  29545. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  29546. </Values>
  29547. </Bit>
  29548. <Bit>
  29549. <Name>nBOOT0</Name>
  29550. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  29551. <BitOffset>0x1B</BitOffset>
  29552. <BitWidth>0x1</BitWidth>
  29553. <Access>RW</Access>
  29554. <Values>
  29555. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  29556. <Val value="0x1">BOOT0 = 0, boot from system memory when nSWBOOT0=1 and main flash is empty,otherwise, boot from main flash memory</Val>
  29557. </Values>
  29558. </Bit>
  29559. </AssignedBits>
  29560. </Field>
  29561. </Category>
  29562. <Category>
  29563. <Name>PCROP Protection (Bank 1)</Name>
  29564. <Field>
  29565. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  29566. <AssignedBits>
  29567. <Bit config="0,2,3,6,9,10">
  29568. <Name>PCROP1_STRT</Name>
  29569. <Description>Flash Bank 1 PCROP start address</Description>
  29570. <BitOffset>0x0</BitOffset>
  29571. <BitWidth>0x10</BitWidth>
  29572. <Access>RW</Access>
  29573. <Equation multiplier="0x10" offset="0x08000000"/>
  29574. </Bit>
  29575. <Bit config="1,4,5,7,8">
  29576. <Name>PCROP1_STRT</Name>
  29577. <Description>Flash Bank 1 PCROP start address</Description>
  29578. <BitOffset>0x0</BitOffset>
  29579. <BitWidth>0x10</BitWidth>
  29580. <Access>RW</Access>
  29581. <Equation multiplier="0x8" offset="0x08000000"/>
  29582. </Bit>
  29583. </AssignedBits>
  29584. </Field>
  29585. <Field>
  29586. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  29587. <AssignedBits>
  29588. <Bit config="0,2,3,6,9,10">
  29589. <Name>PCROP1_END</Name>
  29590. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29591. <BitOffset>0x0</BitOffset>
  29592. <BitWidth>0x10</BitWidth>
  29593. <Access>RW</Access>
  29594. <Equation multiplier="0x10" offset="0x08000000"/>
  29595. </Bit>
  29596. <Bit config="1,4,5,7,8">
  29597. <Name>PCROP1_END</Name>
  29598. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29599. <BitOffset>0x0</BitOffset>
  29600. <BitWidth>0x10</BitWidth>
  29601. <Access>RW</Access>
  29602. <Equation multiplier="0x8" offset="0x08000000"/>
  29603. </Bit>
  29604. <Bit>
  29605. <Name>PCROP_RDP</Name>
  29606. <Description/>
  29607. <BitOffset>0x1F</BitOffset>
  29608. <BitWidth>0x1</BitWidth>
  29609. <Access>RW</Access>
  29610. <Values>
  29611. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  29612. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  29613. </Values>
  29614. </Bit>
  29615. </AssignedBits>
  29616. </Field>
  29617. </Category>
  29618. <Category>
  29619. <Name>Write Protection (Bank 1)</Name>
  29620. <Field>
  29621. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  29622. <AssignedBits>
  29623. <Bit config="0,2,3,6,9,10">
  29624. <Name>WRP1A_STRT</Name>
  29625. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  29626. <BitOffset>0x0</BitOffset>
  29627. <BitWidth>0x7</BitWidth>
  29628. <Access>RW</Access>
  29629. <Equation multiplier="0x2000" offset="0x08000000"/>
  29630. </Bit>
  29631. <Bit config="1,4,5,7,8">
  29632. <Name>WRP1A_STRT</Name>
  29633. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  29634. <BitOffset>0x0</BitOffset>
  29635. <BitWidth>0x7</BitWidth>
  29636. <Access>RW</Access>
  29637. <Equation multiplier="0x1000" offset="0x08000000"/>
  29638. </Bit>
  29639. <Bit config="0,2,3,6,9,10">
  29640. <Name>WRP1A_END</Name>
  29641. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  29642. <BitOffset>0x10</BitOffset>
  29643. <BitWidth>0x7</BitWidth>
  29644. <Access>RW</Access>
  29645. <Equation multiplier="0x2000" offset="0x08000000"/>
  29646. </Bit>
  29647. <Bit config="1,4,5,7,8">
  29648. <Name>WRP1A_END</Name>
  29649. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  29650. <BitOffset>0x10</BitOffset>
  29651. <BitWidth>0x7</BitWidth>
  29652. <Access>RW</Access>
  29653. <Equation multiplier="0x1000" offset="0x08000000"/>
  29654. </Bit>
  29655. </AssignedBits>
  29656. </Field>
  29657. <Field>
  29658. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  29659. <AssignedBits>
  29660. <Bit config="0,2,3,6,9,10">
  29661. <Name>WRP1B_STRT</Name>
  29662. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  29663. <BitOffset>0x0</BitOffset>
  29664. <BitWidth>0x7</BitWidth>
  29665. <Access>RW</Access>
  29666. <Equation multiplier="0x2000" offset="0x08000000"/>
  29667. </Bit>
  29668. <Bit config="1,4,5,7,8">
  29669. <Name>WRP1B_STRT</Name>
  29670. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  29671. <BitOffset>0x0</BitOffset>
  29672. <BitWidth>0x7</BitWidth>
  29673. <Access>RW</Access>
  29674. <Equation multiplier="0x1000" offset="0x08000000"/>
  29675. </Bit>
  29676. <Bit config="0,2,3,6,9,10">
  29677. <Name>WRP1B_END</Name>
  29678. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  29679. <BitOffset>0x10</BitOffset>
  29680. <BitWidth>0x7</BitWidth>
  29681. <Access>RW</Access>
  29682. <Equation multiplier="0x2000" offset="0x08000000"/>
  29683. </Bit>
  29684. <Bit config="1,4,5,7,8">
  29685. <Name>WRP1B_END</Name>
  29686. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  29687. <BitOffset>0x10</BitOffset>
  29688. <BitWidth>0x7</BitWidth>
  29689. <Access>RW</Access>
  29690. <Equation multiplier="0x1000" offset="0x08000000"/>
  29691. </Bit>
  29692. </AssignedBits>
  29693. </Field>
  29694. </Category>
  29695. </Bank>
  29696. <Bank interface="JTAG_SWD">
  29697. <Parameters name="Bank 2" size="0x24" address="0x40022030"/>
  29698. <Category>
  29699. <Name>PCROP Protection (Bank 2)</Name>
  29700. <Field>
  29701. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x40022044"/>
  29702. <AssignedBits>
  29703. <Bit config="0,10"> <!-- 2M whith offset 1M></!-->
  29704. <Name>PCROP2_STRT</Name>
  29705. <Description>Flash Bank 2 PCROP start address</Description>
  29706. <BitOffset>0x0</BitOffset>
  29707. <BitWidth>0x11</BitWidth>
  29708. <Access>RW</Access>
  29709. <Equation multiplier="0x16" offset="0x08100000"/>
  29710. </Bit>
  29711. <Bit config="2,3"> <!-- 1M whith offset 512K></!-->
  29712. <Name>PCROP2_STRT</Name>
  29713. <Description>Flash Bank 2 PCROP start address</Description>
  29714. <BitOffset>0x0</BitOffset>
  29715. <BitWidth>0x10</BitWidth>
  29716. <Access>RW</Access>
  29717. <Equation multiplier="0x10" offset="0x08000000"/>
  29718. </Bit>
  29719. <Bit config="6,9"> <!-- 512K whith offset 256K></!-->
  29720. <Name>PCROP2_STRT</Name>
  29721. <Description>Flash Bank 2 PCROP start address</Description>
  29722. <BitOffset>0x0</BitOffset>
  29723. <BitWidth>0x11</BitWidth>
  29724. <Access>RW</Access>
  29725. <Equation multiplier="0x16" offset="0x08040000"/>
  29726. </Bit>
  29727. <Bit config="1">
  29728. <Name>PCROP2_STRT</Name>
  29729. <Description>Flash Bank 2 PCROP start address</Description>
  29730. <BitOffset>0x0</BitOffset>
  29731. <BitWidth>0x11</BitWidth>
  29732. <Access>RW</Access>
  29733. <Equation multiplier="0x8" offset="0x08100000"/>
  29734. </Bit>
  29735. <Bit config="4,5">
  29736. <Name>PCROP2_STRT</Name>
  29737. <Description>Flash Bank 2 PCROP start address</Description>
  29738. <BitOffset>0x0</BitOffset>
  29739. <BitWidth>0x10</BitWidth>
  29740. <Access>RW</Access>
  29741. <Equation multiplier="0x8" offset="0x08080000"/>
  29742. </Bit>
  29743. <Bit config="7,8">
  29744. <Name>PCROP2_STRT</Name>
  29745. <Description>Flash Bank 2 PCROP start address</Description>
  29746. <BitOffset>0x0</BitOffset>
  29747. <BitWidth>0x11</BitWidth>
  29748. <Access>RW</Access>
  29749. <Equation multiplier="0x8" offset="0x08040000"/>
  29750. </Bit>
  29751. </AssignedBits>
  29752. </Field>
  29753. <Field>
  29754. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x40022048"/>
  29755. <AssignedBits>
  29756. <Bit config="0,10">
  29757. <Name>PCROP2_END</Name>
  29758. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29759. <BitOffset>0x0</BitOffset>
  29760. <BitWidth>0x11</BitWidth>
  29761. <Access>RW</Access>
  29762. <Equation multiplier="0x16" offset="0x08100000"/>
  29763. </Bit>
  29764. <Bit config="2,3">
  29765. <Name>PCROP2_END</Name>
  29766. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29767. <BitOffset>0x0</BitOffset>
  29768. <BitWidth>0x10</BitWidth>
  29769. <Access>RW</Access>
  29770. <Equation multiplier="0x10" offset="0x08000000"/>
  29771. </Bit>
  29772. <Bit config="6,9">
  29773. <Name>PCROP2_END</Name>
  29774. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29775. <BitOffset>0x0</BitOffset>
  29776. <BitWidth>0x11</BitWidth>
  29777. <Access>RW</Access>
  29778. <Equation multiplier="0x16" offset="0x08040000"/>
  29779. </Bit>
  29780. <Bit config="1">
  29781. <Name>PCROP2_END</Name>
  29782. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29783. <BitOffset>0x0</BitOffset>
  29784. <BitWidth>0x11</BitWidth>
  29785. <Access>RW</Access>
  29786. <Equation multiplier="0x8" offset="0x08100000"/>
  29787. </Bit>
  29788. <Bit config="4,5">
  29789. <Name>PCROP2_END</Name>
  29790. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29791. <BitOffset>0x0</BitOffset>
  29792. <BitWidth>0x10</BitWidth>
  29793. <Access>RW</Access>
  29794. <Equation multiplier="0x8" offset="0x08080000"/>
  29795. </Bit>
  29796. <Bit config="7,8">
  29797. <Name>PCROP2_END</Name>
  29798. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  29799. <BitOffset>0x0</BitOffset>
  29800. <BitWidth>0x11</BitWidth>
  29801. <Access>RW</Access>
  29802. <Equation multiplier="0x8" offset="0x08040000"/>
  29803. </Bit>
  29804. </AssignedBits>
  29805. </Field>
  29806. </Category>
  29807. <Category>
  29808. <Name>Write Protection (Bank 2)</Name>
  29809. <Field>
  29810. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x4002204C"/>
  29811. <AssignedBits>
  29812. <Bit config="0,10">
  29813. <Name>WRP2A_STRT</Name>
  29814. <Description>The address of first page of the Bank 2 WRP first area</Description>
  29815. <BitOffset>0x0</BitOffset>
  29816. <BitWidth>0x7</BitWidth>
  29817. <Access>RW</Access>
  29818. <Equation multiplier="0x2000" offset="0x08100000"/>
  29819. </Bit>
  29820. <Bit config="2,3">
  29821. <Name>WRP2A_STRT</Name>
  29822. <Description>The address of first page of the Bank 2 WRP first area</Description>
  29823. <BitOffset>0x0</BitOffset>
  29824. <BitWidth>0x7</BitWidth>
  29825. <Access>RW</Access>
  29826. <Equation multiplier="0x2000" offset="0x08000000"/>
  29827. </Bit>
  29828. <Bit config="6,9">
  29829. <Name>WRP2A_STRT</Name>
  29830. <Description>The address of first page of the Bank 2 WRP first area</Description>
  29831. <BitOffset>0x0</BitOffset>
  29832. <BitWidth>0x7</BitWidth>
  29833. <Access>RW</Access>
  29834. <Equation multiplier="0x2000" offset="0x08040000"/>
  29835. </Bit>
  29836. <Bit config="1">
  29837. <Name>WRP2A_STRT</Name>
  29838. <Description>The address of first page of the Bank 2 WRP first area</Description>
  29839. <BitOffset>0x0</BitOffset>
  29840. <BitWidth>0x7</BitWidth>
  29841. <Access>RW</Access>
  29842. <Equation multiplier="0x1000" offset="0x08100000"/>
  29843. </Bit>
  29844. <Bit config="4,5">
  29845. <Name>WRP2A_STRT</Name>
  29846. <Description>The address of first page of the Bank 2 WRP first area</Description>
  29847. <BitOffset>0x0</BitOffset>
  29848. <BitWidth>0x7</BitWidth>
  29849. <Access>RW</Access>
  29850. <Equation multiplier="0x1000" offset="0x08080000"/>
  29851. </Bit>
  29852. <Bit config="7,8">
  29853. <Name>WRP2A_STRT</Name>
  29854. <Description>The address of first page of the Bank 2 WRP first area</Description>
  29855. <BitOffset>0x0</BitOffset>
  29856. <BitWidth>0x7</BitWidth>
  29857. <Access>RW</Access>
  29858. <Equation multiplier="0x1000" offset="0x08040000"/>
  29859. </Bit>
  29860. <Bit config="0,10">
  29861. <Name>WRP2A_END</Name>
  29862. <Description>The address of last page of the Bank 2 WRP first area</Description>
  29863. <BitOffset>0x10</BitOffset>
  29864. <BitWidth>0x7</BitWidth>
  29865. <Access>RW</Access>
  29866. <Equation multiplier="0x2000" offset="0x08100000"/>
  29867. </Bit>
  29868. <Bit config="2,3">
  29869. <Name>WRP2A_END</Name>
  29870. <Description>The address of last page of the Bank 2 WRP first area</Description>
  29871. <BitOffset>0x10</BitOffset>
  29872. <BitWidth>0x7</BitWidth>
  29873. <Access>RW</Access>
  29874. <Equation multiplier="0x2000" offset="0x08000000"/>
  29875. </Bit>
  29876. <Bit config="6,9">
  29877. <Name>WRP2A_END</Name>
  29878. <Description>The address of last page of the Bank 2 WRP first area</Description>
  29879. <BitOffset>0x10</BitOffset>
  29880. <BitWidth>0x7</BitWidth>
  29881. <Access>RW</Access>
  29882. <Equation multiplier="0x2000" offset="0x08040000"/>
  29883. </Bit>
  29884. <Bit config="1">
  29885. <Name>WRP2A_END</Name>
  29886. <Description>The address of last page of the Bank 2 WRP first area</Description>
  29887. <BitOffset>0x10</BitOffset>
  29888. <BitWidth>0x7</BitWidth>
  29889. <Access>RW</Access>
  29890. <Equation multiplier="0x1000" offset="0x08100000"/>
  29891. </Bit>
  29892. <Bit config="4,5">
  29893. <Name>WRP2A_END</Name>
  29894. <Description>The address of last page of the Bank 2 WRP first area</Description>
  29895. <BitOffset>0x10</BitOffset>
  29896. <BitWidth>0x7</BitWidth>
  29897. <Access>RW</Access>
  29898. <Equation multiplier="0x1000" offset="0x08080000"/>
  29899. </Bit>
  29900. <Bit config="7,8">
  29901. <Name>WRP2A_END</Name>
  29902. <Description>The address of last page of the Bank 2 WRP first area</Description>
  29903. <BitOffset>0x10</BitOffset>
  29904. <BitWidth>0x7</BitWidth>
  29905. <Access>RW</Access>
  29906. <Equation multiplier="0x1000" offset="0x08040000"/>
  29907. </Bit>
  29908. </AssignedBits>
  29909. </Field>
  29910. <Field>
  29911. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x40022050"/>
  29912. <AssignedBits>
  29913. <Bit config="0,10">
  29914. <Name>WRP2B_STRT</Name>
  29915. <Description>The address of first page of the Bank 2 WRP second area</Description>
  29916. <BitOffset>0x0</BitOffset>
  29917. <BitWidth>0x7</BitWidth>
  29918. <Access>RW</Access>
  29919. <Equation multiplier="0x2000" offset="0x08100000"/>
  29920. </Bit>
  29921. <Bit config="2,3">
  29922. <Name>WRP2B_STRT</Name>
  29923. <Description>The address of first page of the Bank 2 WRP second area</Description>
  29924. <BitOffset>0x0</BitOffset>
  29925. <BitWidth>0x7</BitWidth>
  29926. <Access>RW</Access>
  29927. <Equation multiplier="0x2000" offset="0x08000000"/>
  29928. </Bit>
  29929. <Bit config="6,9">
  29930. <Name>WRP2B_STRT</Name>
  29931. <Description>The address of first page of the Bank 2 WRP second area</Description>
  29932. <BitOffset>0x0</BitOffset>
  29933. <BitWidth>0x7</BitWidth>
  29934. <Access>RW</Access>
  29935. <Equation multiplier="0x2000" offset="0x08040000"/>
  29936. </Bit>
  29937. <Bit config="1">
  29938. <Name>WRP2B_STRT</Name>
  29939. <Description>The address of first page of the Bank 2 WRP second area</Description>
  29940. <BitOffset>0x0</BitOffset>
  29941. <BitWidth>0x7</BitWidth>
  29942. <Access>RW</Access>
  29943. <Equation multiplier="0x1000" offset="0x08100000"/>
  29944. </Bit>
  29945. <Bit config="4,5">
  29946. <Name>WRP2B_STRT</Name>
  29947. <Description>The address of first page of the Bank 2 WRP second area</Description>
  29948. <BitOffset>0x0</BitOffset>
  29949. <BitWidth>0x7</BitWidth>
  29950. <Access>RW</Access>
  29951. <Equation multiplier="0x1000" offset="0x08080000"/>
  29952. </Bit>
  29953. <Bit config="7,8">
  29954. <Name>WRP2B_STRT</Name>
  29955. <Description>The address of first page of the Bank 2 WRP second area</Description>
  29956. <BitOffset>0x0</BitOffset>
  29957. <BitWidth>0x7</BitWidth>
  29958. <Access>RW</Access>
  29959. <Equation multiplier="0x1000" offset="0x08040000"/>
  29960. </Bit>
  29961. <Bit config="0,10">
  29962. <Name>WRP2B_END</Name>
  29963. <Description>The address of last page of the Bank 2 WRP second area</Description>
  29964. <BitOffset>0x10</BitOffset>
  29965. <BitWidth>0x7</BitWidth>
  29966. <Access>RW</Access>
  29967. <Equation multiplier="0x2000" offset="0x08100000"/>
  29968. </Bit>
  29969. <Bit config="2,3">
  29970. <Name>WRP2B_END</Name>
  29971. <Description>The address of last page of the Bank 2 WRP second area</Description>
  29972. <BitOffset>0x10</BitOffset>
  29973. <BitWidth>0x7</BitWidth>
  29974. <Access>RW</Access>
  29975. <Equation multiplier="0x2000" offset="0x08000000"/>
  29976. </Bit>
  29977. <Bit config="6,9">
  29978. <Name>WRP2B_END</Name>
  29979. <Description>The address of last page of the Bank 2 WRP second area</Description>
  29980. <BitOffset>0x10</BitOffset>
  29981. <BitWidth>0x7</BitWidth>
  29982. <Access>RW</Access>
  29983. <Equation multiplier="0x2000" offset="0x08040000"/>
  29984. </Bit>
  29985. <Bit config="1">
  29986. <Name>WRP2B_END</Name>
  29987. <Description>The address of last page of the Bank 2 WRP second area</Description>
  29988. <BitOffset>0x10</BitOffset>
  29989. <BitWidth>0x7</BitWidth>
  29990. <Access>RW</Access>
  29991. <Equation multiplier="0x1000" offset="0x08100000"/>
  29992. </Bit>
  29993. <Bit config="4,5">
  29994. <Name>WRP2B_END</Name>
  29995. <Description>The address of last page of the Bank 2 WRP second area</Description>
  29996. <BitOffset>0x10</BitOffset>
  29997. <BitWidth>0x7</BitWidth>
  29998. <Access>RW</Access>
  29999. <Equation multiplier="0x1000" offset="0x08080000"/>
  30000. </Bit>
  30001. <Bit config="7,8">
  30002. <Name>WRP2B_END</Name>
  30003. <Description>The address of last page of the Bank 2 WRP second area</Description>
  30004. <BitOffset>0x10</BitOffset>
  30005. <BitWidth>0x7</BitWidth>
  30006. <Access>RW</Access>
  30007. <Equation multiplier="0x1000" offset="0x08040000"/>
  30008. </Bit>
  30009. </AssignedBits>
  30010. </Field>
  30011. </Category>
  30012. </Bank>
  30013. <Bank interface="Bootloader">
  30014. <Parameters name="Bank 1" size="0x24" address="0x1FF00000"/>
  30015. <Category>
  30016. <Name>Read Out Protection</Name>
  30017. <Field>
  30018. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FF00000"/>
  30019. <AssignedBits>
  30020. <Bit>
  30021. <Name>RDP</Name>
  30022. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  30023. <BitOffset>0x0</BitOffset>
  30024. <BitWidth>0x8</BitWidth>
  30025. <Access>RW</Access>
  30026. <Values>
  30027. <Val value="0xAA">Level 0, no protection</Val>
  30028. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  30029. <Val value="0xCC">Level 2, chip protection</Val>
  30030. </Values>
  30031. </Bit>
  30032. </AssignedBits>
  30033. </Field>
  30034. </Category>
  30035. <Category>
  30036. <Name>BOR Level</Name>
  30037. <Field>
  30038. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FF00000"/>
  30039. <AssignedBits>
  30040. <Bit>
  30041. <Name>BOR_LEV</Name>
  30042. <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>
  30043. <BitOffset>0x8</BitOffset>
  30044. <BitWidth>0x3</BitWidth>
  30045. <Access>RW</Access>
  30046. <Values>
  30047. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  30048. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  30049. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  30050. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  30051. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  30052. </Values>
  30053. </Bit>
  30054. </AssignedBits>
  30055. </Field>
  30056. </Category>
  30057. <Category>
  30058. <Name>User Configuration</Name>
  30059. <Field>
  30060. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FF00000"/>
  30061. <AssignedBits>
  30062. <Bit>
  30063. <Name>nRST_STOP</Name>
  30064. <Description/>
  30065. <BitOffset>0xC</BitOffset>
  30066. <BitWidth>0x1</BitWidth>
  30067. <Access>RW</Access>
  30068. <Values>
  30069. <Val value="0x0">Reset generated when entering Stop mode</Val>
  30070. <Val value="0x1">No reset generated</Val>
  30071. </Values>
  30072. </Bit>
  30073. <Bit>
  30074. <Name>nRST_STDBY</Name>
  30075. <Description/>
  30076. <BitOffset>0xD</BitOffset>
  30077. <BitWidth>0x1</BitWidth>
  30078. <Access>RW</Access>
  30079. <Values>
  30080. <Val value="0x0">Reset generated when entering Standby mode</Val>
  30081. <Val value="0x1">No reset generated</Val>
  30082. </Values>
  30083. </Bit>
  30084. <Bit>
  30085. <Name>nRST_SHDW</Name>
  30086. <Description/>
  30087. <BitOffset>0xE</BitOffset>
  30088. <BitWidth>0x1</BitWidth>
  30089. <Access>RW</Access>
  30090. <Values>
  30091. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  30092. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  30093. </Values>
  30094. </Bit>
  30095. <Bit>
  30096. <Name>IWDG_SW</Name>
  30097. <Description/>
  30098. <BitOffset>0x10</BitOffset>
  30099. <BitWidth>0x1</BitWidth>
  30100. <Access>RW</Access>
  30101. <Values>
  30102. <Val value="0x0">Hardware independant watchdog</Val>
  30103. <Val value="0x1">Software independant watchdog</Val>
  30104. </Values>
  30105. </Bit>
  30106. <Bit>
  30107. <Name>IWDG_STOP</Name>
  30108. <Description/>
  30109. <BitOffset>0x11</BitOffset>
  30110. <BitWidth>0x1</BitWidth>
  30111. <Access>RW</Access>
  30112. <Values>
  30113. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  30114. <Val value="0x1">IWDG counter active in stop mode</Val>
  30115. </Values>
  30116. </Bit>
  30117. <Bit>
  30118. <Name>IWDG_STDBY</Name>
  30119. <Description/>
  30120. <BitOffset>0x12</BitOffset>
  30121. <BitWidth>0x1</BitWidth>
  30122. <Access>RW</Access>
  30123. <Values>
  30124. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  30125. <Val value="0x1">IWDG counter active in standby mode</Val>
  30126. </Values>
  30127. </Bit>
  30128. <Bit>
  30129. <Name>WWDG_SW</Name>
  30130. <Description/>
  30131. <BitOffset>0x13</BitOffset>
  30132. <BitWidth>0x1</BitWidth>
  30133. <Access>RW</Access>
  30134. <Values>
  30135. <Val value="0x0">Hardware window watchdog</Val>
  30136. <Val value="0x1">Software window watchdog</Val>
  30137. </Values>
  30138. </Bit>
  30139. <Bit>
  30140. <Name>BFB2</Name>
  30141. <Description/>
  30142. <BitOffset>0x14</BitOffset>
  30143. <BitWidth>0x1</BitWidth>
  30144. <Access>RW</Access>
  30145. <Values>
  30146. <Val value="0x0">Dual-bank boot disable</Val>
  30147. <Val value="0x1">Dual-bank boot enable</Val>
  30148. </Values>
  30149. </Bit>
  30150. <Bit config="10">
  30151. <Name>DB1M</Name>
  30152. <Description>Dual-Bank on 1 MB Flash or 512 KB Flash memory devices</Description>
  30153. <BitOffset>0x15</BitOffset>
  30154. <BitWidth>0x1</BitWidth>
  30155. <Access>RW</Access>
  30156. <Values>
  30157. <Val value="0x0">1 MB or 512 Kb single Flash: contiguous address in bank1</Val>
  30158. <Val value="0x1">1 MB or 512 Kb dual-bank Flash with contiguous addresses. When DB1M is set, a hard Fault is generated when the requested address goes over 1 MB or 512 Kb.</Val>
  30159. </Values>
  30160. </Bit>
  30161. <Bit>
  30162. <Name>DBANK</Name>
  30163. <Description>This bit can only be written when PCROPA/B is disabled.</Description>
  30164. <BitOffset>0x16</BitOffset>
  30165. <BitWidth>0x1</BitWidth>
  30166. <Access>RW</Access>
  30167. <Values>
  30168. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  30169. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  30170. </Values>
  30171. </Bit>
  30172. <Bit>
  30173. <Name>nBOOT1</Name>
  30174. <Description/>
  30175. <BitOffset>0x17</BitOffset>
  30176. <BitWidth>0x1</BitWidth>
  30177. <Access>RW</Access>
  30178. <Values>
  30179. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  30180. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  30181. </Values>
  30182. </Bit>
  30183. <Bit>
  30184. <Name>SRAM2_PE</Name>
  30185. <Description/>
  30186. <BitOffset>0x18</BitOffset>
  30187. <BitWidth>0x1</BitWidth>
  30188. <Access>RW</Access>
  30189. <Values>
  30190. <Val value="0x0">SRAM2 parity check enable</Val>
  30191. <Val value="0x1">SRAM2 parity check disable</Val>
  30192. </Values>
  30193. </Bit>
  30194. <Bit>
  30195. <Name>SRAM2_RST</Name>
  30196. <Description/>
  30197. <BitOffset>0x19</BitOffset>
  30198. <BitWidth>0x1</BitWidth>
  30199. <Access>RW</Access>
  30200. <Values>
  30201. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  30202. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  30203. </Values>
  30204. </Bit>
  30205. <Bit>
  30206. <Name>nSWBOOT0</Name>
  30207. <Description>Software BOOT0</Description>
  30208. <BitOffset>0x1A</BitOffset>
  30209. <BitWidth>0x1</BitWidth>
  30210. <Access>RW</Access>
  30211. <Values>
  30212. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  30213. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  30214. </Values>
  30215. </Bit>
  30216. <Bit>
  30217. <Name>nBOOT0</Name>
  30218. <Description>This option bit sets the BOOT0 value only when nSWBOOT0=0</Description>
  30219. <BitOffset>0x1B</BitOffset>
  30220. <BitWidth>0x1</BitWidth>
  30221. <Access>RW</Access>
  30222. <Values>
  30223. <Val value="0x0">BOOT0 = 1, boot memory depends on nBOOT1 value</Val>
  30224. <Val value="0x1">BOOT0 = 0, boot from main flash memory</Val>
  30225. </Values>
  30226. </Bit>
  30227. </AssignedBits>
  30228. </Field>
  30229. </Category>
  30230. <Category>
  30231. <Name>PCROP Protection (Bank 1)</Name>
  30232. <Field>
  30233. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FF00008"/>
  30234. <AssignedBits>
  30235. <Bit config="0,10">
  30236. <Name>PCROP1_STRT</Name>
  30237. <Description>Flash Bank 1 PCROP start address</Description>
  30238. <BitOffset>0x0</BitOffset>
  30239. <BitWidth>0x10</BitWidth>
  30240. <Access>RW</Access>
  30241. <Equation multiplier="0x10" offset="0x08000000"/>
  30242. </Bit>
  30243. <Bit config="1">
  30244. <Name>PCROP1_STRT</Name>
  30245. <Description>Flash Bank 1 PCROP start address</Description>
  30246. <BitOffset>0x0</BitOffset>
  30247. <BitWidth>0x10</BitWidth>
  30248. <Access>RW</Access>
  30249. <Equation multiplier="0x8" offset="0x08000000"/>
  30250. </Bit>
  30251. </AssignedBits>
  30252. </Field>
  30253. <Field>
  30254. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FF00010"/>
  30255. <AssignedBits>
  30256. <Bit config="0,10">
  30257. <Name>PCROP1_END</Name>
  30258. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  30259. <BitOffset>0x0</BitOffset>
  30260. <BitWidth>0x10</BitWidth>
  30261. <Access>RW</Access>
  30262. <Equation multiplier="0x10" offset="0x08000000"/>
  30263. </Bit>
  30264. <Bit config="1">
  30265. <Name>PCROP1_END</Name>
  30266. <Description>Flash Bank 1 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  30267. <BitOffset>0x0</BitOffset>
  30268. <BitWidth>0x10</BitWidth>
  30269. <Access>RW</Access>
  30270. <Equation multiplier="0x8" offset="0x08000000"/>
  30271. </Bit>
  30272. <Bit>
  30273. <Name>PCROP_RDP</Name>
  30274. <Description/>
  30275. <BitOffset>0x1F</BitOffset>
  30276. <BitWidth>0x1</BitWidth>
  30277. <Access>RW</Access>
  30278. <Values>
  30279. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  30280. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  30281. </Values>
  30282. </Bit>
  30283. </AssignedBits>
  30284. </Field>
  30285. </Category>
  30286. <Category>
  30287. <Name>Write Protection (Bank 1)</Name>
  30288. <Field>
  30289. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FF00018"/>
  30290. <AssignedBits>
  30291. <Bit config="0,10">
  30292. <Name>WRP1A_STRT</Name>
  30293. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  30294. <BitOffset>0x0</BitOffset>
  30295. <BitWidth>0x7</BitWidth>
  30296. <Access>RW</Access>
  30297. <Equation multiplier="0x2000" offset="0x08000000"/>
  30298. </Bit>
  30299. <Bit config="1">
  30300. <Name>WRP1A_STRT</Name>
  30301. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  30302. <BitOffset>0x0</BitOffset>
  30303. <BitWidth>0x7</BitWidth>
  30304. <Access>RW</Access>
  30305. <Equation multiplier="0x1000" offset="0x08000000"/>
  30306. </Bit>
  30307. <Bit config="0,10">
  30308. <Name>WRP1A_END</Name>
  30309. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  30310. <BitOffset>0x10</BitOffset>
  30311. <BitWidth>0x7</BitWidth>
  30312. <Access>RW</Access>
  30313. <Equation multiplier="0x2000" offset="0x08000000"/>
  30314. </Bit>
  30315. <Bit config="1">
  30316. <Name>WRP1A_END</Name>
  30317. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  30318. <BitOffset>0x10</BitOffset>
  30319. <BitWidth>0x7</BitWidth>
  30320. <Access>RW</Access>
  30321. <Equation multiplier="0x1000" offset="0x08000000"/>
  30322. </Bit>
  30323. </AssignedBits>
  30324. </Field>
  30325. <Field>
  30326. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FF00020"/>
  30327. <AssignedBits>
  30328. <Bit config="0,10">
  30329. <Name>WRP1B_STRT</Name>
  30330. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  30331. <BitOffset>0x0</BitOffset>
  30332. <BitWidth>0x7</BitWidth>
  30333. <Access>RW</Access>
  30334. <Equation multiplier="0x2000" offset="0x08000000"/>
  30335. </Bit>
  30336. <Bit config="1">
  30337. <Name>WRP1B_STRT</Name>
  30338. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  30339. <BitOffset>0x0</BitOffset>
  30340. <BitWidth>0x7</BitWidth>
  30341. <Access>RW</Access>
  30342. <Equation multiplier="0x1000" offset="0x08000000"/>
  30343. </Bit>
  30344. <Bit config="0,10">
  30345. <Name>WRP1B_END</Name>
  30346. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  30347. <BitOffset>0x10</BitOffset>
  30348. <BitWidth>0x7</BitWidth>
  30349. <Access>RW</Access>
  30350. <Equation multiplier="0x2000" offset="0x08000000"/>
  30351. </Bit>
  30352. <Bit config="1">
  30353. <Name>WRP1B_END</Name>
  30354. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  30355. <BitOffset>0x10</BitOffset>
  30356. <BitWidth>0x7</BitWidth>
  30357. <Access>RW</Access>
  30358. <Equation multiplier="0x1000" offset="0x08000000"/>
  30359. </Bit>
  30360. </AssignedBits>
  30361. </Field>
  30362. </Category>
  30363. </Bank>
  30364. <Bank interface="Bootloader">
  30365. <Parameters name="Bank 2" size="0x24" address="0x1FF01000"/>
  30366. <Category>
  30367. <Name>PCROP Protection (Bank 2)</Name>
  30368. <Field>
  30369. <Parameters name="FLASH_PCROP2SR" size="0x4" address="0x1FF01008"/>
  30370. <AssignedBits>
  30371. <Bit config="0,10">
  30372. <Name>PCROP2_STRT</Name>
  30373. <Description>Flash Bank 2 PCROP start address</Description>
  30374. <BitOffset>0x0</BitOffset>
  30375. <BitWidth>0x10</BitWidth>
  30376. <Access>RW</Access>
  30377. <Equation multiplier="0x10" offset="0x08000000"/>
  30378. </Bit>
  30379. <Bit config="1">
  30380. <Name>PCROP2_STRT</Name>
  30381. <Description>Flash Bank 2 PCROP start address</Description>
  30382. <BitOffset>0x0</BitOffset>
  30383. <BitWidth>0x10</BitWidth>
  30384. <Access>RW</Access>
  30385. <Equation multiplier="0x8" offset="0x08080000"/>
  30386. </Bit>
  30387. </AssignedBits>
  30388. </Field>
  30389. <Field>
  30390. <Parameters name="FLASH_PCROP2ER" size="0x4" address="0x1FF01010"/>
  30391. <AssignedBits>
  30392. <Bit config="0,10">
  30393. <Name>PCROP2_END</Name>
  30394. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  30395. <BitOffset>0x0</BitOffset>
  30396. <BitWidth>0x10</BitWidth>
  30397. <Access>RW</Access>
  30398. <Equation multiplier="0x10" offset="0x08000000"/>
  30399. </Bit>
  30400. <Bit config="1">
  30401. <Name>PCROP2_END</Name>
  30402. <Description>Flash Bank 2 PCROP End address. Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  30403. <BitOffset>0x0</BitOffset>
  30404. <BitWidth>0x10</BitWidth>
  30405. <Access>RW</Access>
  30406. <Equation multiplier="0x8" offset="0x08080000"/>
  30407. </Bit>
  30408. </AssignedBits>
  30409. </Field>
  30410. </Category>
  30411. <Category>
  30412. <Name>Write Protection (Bank 2)</Name>
  30413. <Field>
  30414. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x1FF01018"/>
  30415. <AssignedBits>
  30416. <Bit config="0,10">
  30417. <Name>WRP2A_STRT</Name>
  30418. <Description>The address of first page of the Bank 2 WRP first area</Description>
  30419. <BitOffset>0x0</BitOffset>
  30420. <BitWidth>0x7</BitWidth>
  30421. <Access>RW</Access>
  30422. <Equation multiplier="0x2000" offset="0x08000000"/>
  30423. </Bit>
  30424. <Bit config="1">
  30425. <Name>WRP2A_STRT</Name>
  30426. <Description>The address of first page of the Bank 2 WRP first area</Description>
  30427. <BitOffset>0x0</BitOffset>
  30428. <BitWidth>0x7</BitWidth>
  30429. <Access>RW</Access>
  30430. <Equation multiplier="0x1000" offset="0x08080000"/>
  30431. </Bit>
  30432. <Bit config="0,10">
  30433. <Name>WRP2A_END</Name>
  30434. <Description>The address of last page of the Bank 2 WRP first area</Description>
  30435. <BitOffset>0x10</BitOffset>
  30436. <BitWidth>0x7</BitWidth>
  30437. <Access>RW</Access>
  30438. <Equation multiplier="0x2000" offset="0x08000000"/>
  30439. </Bit>
  30440. <Bit config="1">
  30441. <Name>WRP2A_END</Name>
  30442. <Description>The address of last page of the Bank 2 WRP first area</Description>
  30443. <BitOffset>0x10</BitOffset>
  30444. <BitWidth>0x7</BitWidth>
  30445. <Access>RW</Access>
  30446. <Equation multiplier="0x1000" offset="0x08080000"/>
  30447. </Bit>
  30448. </AssignedBits>
  30449. </Field>
  30450. <Field>
  30451. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x1FF01020"/>
  30452. <AssignedBits>
  30453. <Bit config="0,10">
  30454. <Name>WRP2B_STRT</Name>
  30455. <Description>The address of first page of the Bank 2 WRP second area</Description>
  30456. <BitOffset>0x0</BitOffset>
  30457. <BitWidth>0x7</BitWidth>
  30458. <Access>RW</Access>
  30459. <Equation multiplier="0x2000" offset="0x08000000"/>
  30460. </Bit>
  30461. <Bit config="1">
  30462. <Name>WRP2B_STRT</Name>
  30463. <Description>The address of first page of the Bank 2 WRP second area</Description>
  30464. <BitOffset>0x0</BitOffset>
  30465. <BitWidth>0x7</BitWidth>
  30466. <Access>RW</Access>
  30467. <Equation multiplier="0x1000" offset="0x08080000"/>
  30468. </Bit>
  30469. <Bit config="0,10">
  30470. <Name>WRP2B_END</Name>
  30471. <Description>The address of last page of the Bank 2 WRP second area</Description>
  30472. <BitOffset>0x10</BitOffset>
  30473. <BitWidth>0x7</BitWidth>
  30474. <Access>RW</Access>
  30475. <Equation multiplier="0x2000" offset="0x08000000"/>
  30476. </Bit>
  30477. <Bit config="1">
  30478. <Name>WRP2B_END</Name>
  30479. <Description>The address of last page of the Bank 2 WRP second area</Description>
  30480. <BitOffset>0x10</BitOffset>
  30481. <BitWidth>0x7</BitWidth>
  30482. <Access>RW</Access>
  30483. <Equation multiplier="0x1000" offset="0x08080000"/>
  30484. </Bit>
  30485. </AssignedBits>
  30486. </Field>
  30487. </Category>
  30488. </Bank>
  30489. </Peripheral>
  30490. </Peripherals>
  30491. </Device>
  30492. <!-- Device: 0x472 -->
  30493. <Device>
  30494. <DeviceID>0x472</DeviceID>
  30495. <Vendor>STMicroelectronics</Vendor>
  30496. <Type>MCU</Type>
  30497. <CPU>Cortex-M33</CPU>
  30498. <Name>STM32L5xx</Name>
  30499. <Series>STM32L5</Series>
  30500. <Description>ARM 32-bit Cortex-M33 based device</Description>
  30501. <Configurations>
  30502. <!-- JTAG_SWD Interface -->
  30503. <Interface name="JTAG_SWD">
  30504. <Configuration number="0xA"> <!-- Single Bank non secure -->
  30505. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  30506. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  30507. <valueLine> <ReadRegister address="0x0BFA05E0" mask="0x00000FFF" value="0x100"/> </valueLine>
  30508. </Configuration>
  30509. <Configuration number="0xB"> <!-- Dual Bank non secure -->
  30510. <DBANK reference="0x1"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  30511. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  30512. <valueLine> <ReadRegister address="0x0BFA05E0" mask="0x00000FFF" value="0x100"/> </valueLine>
  30513. </Configuration>
  30514. <Configuration number="0xC"> <!-- Single Bank secure -->
  30515. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  30516. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  30517. <RDP reference="0x1"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP>
  30518. <valueLine> <ReadRegister address="0x0BFA05E0" mask="0x00000FFF" value="0x100"/> </valueLine>
  30519. </Configuration>
  30520. <Configuration number="0xD"> <!-- Dual Bank secure -->
  30521. <DBANK reference="0x1"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  30522. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  30523. <RDP reference="0x1"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP>
  30524. <valueLine> <ReadRegister address="0x0BFA05E0" mask="0x00000FFF" value="0x100"/> </valueLine>
  30525. </Configuration>
  30526. <Configuration number="0xE"> <!-- Single Bank secure + RDP -->
  30527. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  30528. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  30529. <valueLine> <ReadRegister address="0x0BFA05E0" mask="0x00000FFF" value="0x100"/> </valueLine>
  30530. <!-- <RDP reference="0x0"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP> -->
  30531. </Configuration>
  30532. <Configuration number="0xF"> <!-- Dual Bank secure + RDP -->
  30533. <DBANK reference="0x1"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  30534. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </TZEN>
  30535. <valueLine> <ReadRegister address="0x0BFA05E0" mask="0x00000FFF" value="0x100"/> </valueLine>
  30536. <!-- <RDP reference="0x0"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP> -->
  30537. </Configuration>
  30538. <Configuration number="0x0"> <!-- Single Bank non secure -->
  30539. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  30540. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  30541. </Configuration>
  30542. <Configuration number="0x1"> <!-- Dual Bank non secure -->
  30543. <DBANK reference="0x1"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  30544. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  30545. </Configuration>
  30546. <Configuration number="0x2"> <!-- Single Bank secure -->
  30547. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  30548. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  30549. <RDP reference="0x1"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP>
  30550. </Configuration>
  30551. <Configuration number="0x3"> <!-- Dual Bank secure -->
  30552. <DBANK reference="0x1"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  30553. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </TZEN>
  30554. <RDP reference="0x1"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP>
  30555. </Configuration>
  30556. <Configuration number="0x4"> <!-- Single Bank secure + RDP -->
  30557. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  30558. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  30559. <!-- <RDP reference="0x0"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP> -->
  30560. </Configuration>
  30561. <Configuration number="0x5"> <!-- Dual Bank secure + RDP -->
  30562. <DBANK reference="0x1"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  30563. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  30564. <!-- <RDP reference="0x0"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP> -->
  30565. </Configuration>
  30566. </Interface>
  30567. <!-- Bootloader Interface -->
  30568. <Interface name="Bootloader">
  30569. <Configuration number="0x6"> <!-- Single Bank Secure-->
  30570. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  30571. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  30572. </Configuration>
  30573. <Configuration number="0x7"> <!-- Dual Bank Secure-->
  30574. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  30575. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  30576. </Configuration>
  30577. <Configuration number="0x8"> <!-- Single Bank non Secure-->
  30578. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  30579. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  30580. </Configuration>
  30581. <Configuration number="0x9"> <!-- Dual Bank non Secure-->
  30582. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  30583. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  30584. </Configuration>
  30585. </Interface>
  30586. </Configurations>
  30587. <!-- Peripherals -->
  30588. <Peripherals>
  30589. <!-- Embedded SRAM -->
  30590. <Peripheral>
  30591. <Name>Embedded SRAM</Name>
  30592. <Type>Storage</Type>
  30593. <Description/>
  30594. <ErasedValue>0x00</ErasedValue>
  30595. <Access>RWE</Access>
  30596. <!-- 96 KB -->
  30597. <Configuration config="0,1,6,7,8,9,10,11">
  30598. <Parameters name="SRAM" size="0x40000" address="0x20000000"/>
  30599. <Description/>
  30600. <Organization>Single</Organization>
  30601. <Bank name="Bank 1">
  30602. <Field>
  30603. <Parameters name="SRAM" size="0x40000" address="0x20000000" occurence="0x1"/>
  30604. </Field>
  30605. </Bank>
  30606. </Configuration>
  30607. <Configuration config="4,5,14,15">
  30608. <Parameters name="SRAM" size="0x10000" address="0x20000000"/>
  30609. <Description/>
  30610. <Organization>Single</Organization>
  30611. <Bank name="Bank 1">
  30612. <Field>
  30613. <Parameters name="SRAM" size="0x10000" address="0x20000000" occurence="0x1"/>
  30614. </Field>
  30615. </Bank>
  30616. </Configuration>
  30617. <Configuration config="2,3,12,13">
  30618. <Parameters name="SRAM" size="0x10000" address="0x20018000"/>
  30619. <Description/>
  30620. <Organization>Single</Organization>
  30621. <Bank name="Bank 1">
  30622. <Field>
  30623. <Parameters name="SRAM" size="0x10000" address="0x20030000" occurence="0x1"/>
  30624. </Field>
  30625. </Bank>
  30626. </Configuration>
  30627. </Peripheral>
  30628. <!-- Embedded Flash -->
  30629. <Peripheral>
  30630. <Name>Embedded Flash</Name>
  30631. <Type>Storage</Type>
  30632. <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>
  30633. <ErasedValue>0xFF</ErasedValue>
  30634. <Access>RWE</Access>
  30635. <FlashSize address="0x0BFA05E0" default="0x80000"/>
  30636. <Configuration config="0,4,6,8"> <!-- Single Bank -->
  30637. <Parameters name=" 512 Kbyte Embedded Flash" size="0x80000" address="0x08000000"/>
  30638. <Description/>
  30639. <Organization>Single</Organization>
  30640. <Allignement>0x8</Allignement>
  30641. <Bank name="Bank 1">
  30642. <Field>
  30643. <Parameters name="sector0" size="0x1000" address="0x08000000" occurence="0x80"/>
  30644. </Field>
  30645. </Bank>
  30646. </Configuration>
  30647. <Configuration config="10,14"> <!-- Single Bank -->
  30648. <Parameters name=" 256 Kbyte Embedded Flash" size="0x40000" address="0x08000000"/>
  30649. <Description/>
  30650. <Organization>Single</Organization>
  30651. <Allignement>0x8</Allignement>
  30652. <Bank name="Bank 1">
  30653. <Field>
  30654. <Parameters name="sector0" size="0x1000" address="0x08000000" occurence="0x40"/>
  30655. </Field>
  30656. </Bank>
  30657. </Configuration>
  30658. <Configuration config="1,5,7,9"> <!-- dual Bank -->
  30659. <Parameters name=" 512 Kbyte Embedded Flash" size="0x80000" address="0x08000000"/>
  30660. <Description/>
  30661. <Organization>Dual</Organization>
  30662. <Allignement>0x8</Allignement>
  30663. <Bank name="Bank 1">
  30664. <Field>
  30665. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x80"/>
  30666. </Field>
  30667. </Bank>
  30668. <Bank name="Bank 2">
  30669. <Field>
  30670. <Parameters name="sector128" size="0x800" address="0x08040000" occurence="0x80"/>
  30671. </Field>
  30672. </Bank>
  30673. </Configuration>
  30674. <Configuration config="11,15"> <!-- dual Bank -->
  30675. <Parameters name=" 256 Kbyte Embedded Flash" size="0x40000" address="0x08000000"/>
  30676. <Description/>
  30677. <Organization>Dual</Organization>
  30678. <Allignement>0x8</Allignement>
  30679. <Bank name="Bank 1">
  30680. <Field>
  30681. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x40"/>
  30682. </Field>
  30683. </Bank>
  30684. <Bank name="Bank 2">
  30685. <Field>
  30686. <Parameters name="sector64" size="0x800" address="0x08020000" occurence="0x40"/>
  30687. </Field>
  30688. </Bank>
  30689. </Configuration>
  30690. <Configuration config="2"> <!-- Single Bank secure -->
  30691. <Parameters name=" 512 Kbyte Embedded Flash" size="0x80000" address="0x0C000000"/>
  30692. <Description/>
  30693. <Organization>Single</Organization>
  30694. <Allignement>0x8</Allignement>
  30695. <Bank name="Bank 1">
  30696. <Field>
  30697. <Parameters name="sector0" size="0x1000" address="0x0c000000" occurence="0x80"/>
  30698. </Field>
  30699. </Bank>
  30700. </Configuration>
  30701. <Configuration config="12"> <!-- Single Bank secure -->
  30702. <Parameters name=" 256 Kbyte Embedded Flash" size="0x40000" address="0x0C000000"/>
  30703. <Description/>
  30704. <Organization>Single</Organization>
  30705. <Allignement>0x8</Allignement>
  30706. <Bank name="Bank 1">
  30707. <Field>
  30708. <Parameters name="sector0" size="0x1000" address="0x0c000000" occurence="0x40"/>
  30709. </Field>
  30710. </Bank>
  30711. </Configuration>
  30712. <Configuration config="3"> <!-- dual Bank secure -->
  30713. <Parameters name=" 512 Kbyte Embedded Flash" size="0x80000" address="0x0c000000"/>
  30714. <Description/>
  30715. <Organization>Dual</Organization>
  30716. <Allignement>0x8</Allignement>
  30717. <Bank name="Bank 1">
  30718. <Field>
  30719. <Parameters name="sector0" size="0x800" address="0x0c000000" occurence="0x80"/>
  30720. </Field>
  30721. </Bank>
  30722. <Bank name="Bank 2">
  30723. <Field>
  30724. <Parameters name="sector128" size="0x800" address="0x0c040000" occurence="0x80"/>
  30725. </Field>
  30726. </Bank>
  30727. </Configuration>
  30728. <Configuration config="13"> <!-- dual Bank secure -->
  30729. <Parameters name=" 256 Kbyte Embedded Flash" size="0x40000" address="0x0c000000"/>
  30730. <Description/>
  30731. <Organization>Dual</Organization>
  30732. <Allignement>0x8</Allignement>
  30733. <Bank name="Bank 1">
  30734. <Field>
  30735. <Parameters name="sector0" size="0x800" address="0x0c000000" occurence="0x40"/>
  30736. </Field>
  30737. </Bank>
  30738. <Bank name="Bank 2">
  30739. <Field>
  30740. <Parameters name="sector64" size="0x800" address="0x0c020000" occurence="0x40"/>
  30741. </Field>
  30742. </Bank>
  30743. </Configuration>
  30744. </Peripheral>
  30745. <!-- Data EEPROM -->
  30746. <Peripheral>
  30747. <Name>Data EEPROM</Name>
  30748. <Type>Storage</Type>
  30749. <Description>The Data EEPROM memory block. It contains user data.</Description>
  30750. <ErasedValue>0xFF</ErasedValue>
  30751. <Access>RWE</Access>
  30752. <Configuration config="2,4">
  30753. <Parameters name=" 512 Kbytes Data EEPROM" size="0x80000" address="0x08000000"/>
  30754. <Description/>
  30755. <Organization>Single</Organization>
  30756. <Allignement>0x8</Allignement>
  30757. <Bank name="Bank 1">
  30758. <Field>
  30759. <Parameters name="sector0" size="0x1000" address="0x08000000" occurence="0x80"/>
  30760. </Field>
  30761. </Bank>
  30762. </Configuration>
  30763. <Configuration config="12,14">
  30764. <Parameters name=" 256 Kbytes Data EEPROM" size="0x40000" address="0x08000000"/>
  30765. <Description/>
  30766. <Organization>Single</Organization>
  30767. <Allignement>0x8</Allignement>
  30768. <Bank name="Bank 1">
  30769. <Field>
  30770. <Parameters name="sector0" size="0x1000" address="0x08000000" occurence="0x40"/>
  30771. </Field>
  30772. </Bank>
  30773. </Configuration>
  30774. <Configuration config="3,5">
  30775. <Parameters name=" 512 Kbytes Data EEPROM" size="0x80000" address="0x08000000"/>
  30776. <Description/>
  30777. <Organization>Single</Organization>
  30778. <Allignement>0x8</Allignement>
  30779. <Bank name="Bank 1">
  30780. <Field>
  30781. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x80"/>
  30782. </Field>
  30783. </Bank>
  30784. <Bank name="Bank 2">
  30785. <Field>
  30786. <Parameters name="sector128" size="0x800" address="0x08040000" occurence="0x80"/>
  30787. </Field>
  30788. </Bank>
  30789. </Configuration>
  30790. <Configuration config="15,13">
  30791. <Parameters name=" 256 Kbytes Data EEPROM" size="0x40000" address="0x08000000"/>
  30792. <Description/>
  30793. <Organization>Single</Organization>
  30794. <Allignement>0x8</Allignement>
  30795. <Bank name="Bank 1">
  30796. <Field>
  30797. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x40"/>
  30798. </Field>
  30799. </Bank>
  30800. <Bank name="Bank 2">
  30801. <Field>
  30802. <Parameters name="sector128" size="0x800" address="0x08020000" occurence="0x40"/>
  30803. </Field>
  30804. </Bank>
  30805. </Configuration>
  30806. <!-- Dummy Config Just to avoid crash when TZEN=0 -->
  30807. <Configuration config="1">
  30808. <Parameters name=" 512 Kbytes Data EEPROM" size="0x80000" address="0x0C000000"/>
  30809. <Description/>
  30810. <Organization>Single</Organization>
  30811. <Allignement>0x8</Allignement>
  30812. <Bank name="Bank 1">
  30813. <Field>
  30814. <Parameters name="sector0" size="0x800" address="0x0C000000" occurence="0x80"/>
  30815. </Field>
  30816. </Bank>
  30817. <Bank name="Bank 2">
  30818. <Field>
  30819. <Parameters name="sector128" size="0x800" address="0x0C040000" occurence="0x80"/>
  30820. </Field>
  30821. </Bank>
  30822. </Configuration>
  30823. <Configuration config="11">
  30824. <Parameters name=" 256 Kbytes Data EEPROM" size="0x40000" address="0x0C000000"/>
  30825. <Description/>
  30826. <Organization>Single</Organization>
  30827. <Allignement>0x8</Allignement>
  30828. <Bank name="Bank 1">
  30829. <Field>
  30830. <Parameters name="sector0" size="0x800" address="0x0C000000" occurence="0x40"/>
  30831. </Field>
  30832. </Bank>
  30833. <Bank name="Bank 2">
  30834. <Field>
  30835. <Parameters name="sector128" size="0x800" address="0x0C020000" occurence="0x40"/>
  30836. </Field>
  30837. </Bank>
  30838. </Configuration>
  30839. <Configuration config="0">
  30840. <Parameters name=" 512 Kbytes Data EEPROM" size="0x80000" address="0x0C000000"/>
  30841. <Description/>
  30842. <Organization>Single</Organization>
  30843. <Allignement>0x8</Allignement>
  30844. <Bank name="Bank 1">
  30845. <Field>
  30846. <Parameters name="sector0" size="0x1000" address="0x0C000000" occurence="0x80"/>
  30847. </Field>
  30848. </Bank>
  30849. </Configuration>
  30850. <Configuration config="10">
  30851. <Parameters name=" 256 Kbytes Data EEPROM" size="0x40000" address="0x0C000000"/>
  30852. <Description/>
  30853. <Organization>Single</Organization>
  30854. <Allignement>0x8</Allignement>
  30855. <Bank name="Bank 1">
  30856. <Field>
  30857. <Parameters name="sector0" size="0x1000" address="0x0C000000" occurence="0x40"/>
  30858. </Field>
  30859. </Bank>
  30860. </Configuration>
  30861. </Peripheral>
  30862. <!-- OTP -->
  30863. <Peripheral>
  30864. <Name>OTP</Name>
  30865. <Type>Storage</Type>
  30866. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  30867. <ErasedValue>0xFF</ErasedValue>
  30868. <Access>RW</Access>
  30869. <!-- 512 Bytes single bank -->
  30870. <Configuration>
  30871. <Parameters name=" 512 Bytes Data OTP" size="0x10000" address="0x0BFA0000"/>
  30872. <Description/>
  30873. <Organization>Single</Organization>
  30874. <Allignement>0x4</Allignement>
  30875. <Bank name="OTP">
  30876. <Field>
  30877. <Parameters name="OTP" size="0x10000" address="0x0BFA0000" occurence="0x1"/>
  30878. </Field>
  30879. </Bank>
  30880. </Configuration>
  30881. </Peripheral>
  30882. <!-- Mirror Option Bytes -->
  30883. <!--Peripheral>
  30884. <Name>MirrorOptionBytes</Name>
  30885. <Type>Storage</Type>
  30886. <Description>Mirror Option Bytes contains the extra area.</Description>
  30887. <ErasedValue>0xFF</ErasedValue>
  30888. <Access>RW</Access-->
  30889. <!-- 48 Bytes single bank -->
  30890. <!--Configuration>
  30891. <Parameters name=" 48 Bytes Data MirrorOptionBytes" size="0x30" address="0x40022040"/>
  30892. <Description/>
  30893. <Organization>Single</Organization>
  30894. <Allignement>0x4</Allignement>
  30895. <Bank name="MirrorOptionBytes">
  30896. <Field>
  30897. <Parameters name="MirrorOptionBytes" size="0x30" address="0x40022040" occurence="0x1"/>
  30898. </Field>
  30899. </Bank>
  30900. </Configuration>
  30901. </Peripheral-->
  30902. <!-- Option Bytes -->
  30903. <Peripheral>
  30904. <Name>Option Bytes</Name>
  30905. <Type>Configuration</Type>
  30906. <Description/>
  30907. <Access>RW</Access>
  30908. <Configuration config="4,5,14,15">
  30909. <Bank interface="JTAG_SWD">
  30910. <Parameters name="Bank 1" size="0x28" address="0x40022040"/>
  30911. <Category>
  30912. <Name>Read Out Protection</Name>
  30913. <Field>
  30914. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  30915. <AssignedBits>
  30916. <Bit>
  30917. <Name>RDP</Name>
  30918. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  30919. <BitOffset>0x0</BitOffset>
  30920. <BitWidth>0x8</BitWidth>
  30921. <Access>RW</Access>
  30922. <Values>
  30923. <Val value="0xAA">Level 0, no protection</Val>
  30924. <Val value="0x55">Level 0.5, read protection not active, only non-secure debug access is possible. Only available when TrustZone is active (TZEN=1)</Val>
  30925. <Val value="0xDC">Level 1, read protection of memories</Val>
  30926. <Val value="0xCC">Level 2, chip protection</Val>
  30927. </Values>
  30928. </Bit>
  30929. </AssignedBits>
  30930. </Field>
  30931. </Category>
  30932. <Category>
  30933. <Name>BOR Level</Name>
  30934. <Field>
  30935. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  30936. <AssignedBits>
  30937. <Bit>
  30938. <Name>BOR_LEV</Name>
  30939. <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>
  30940. <BitOffset>0x8</BitOffset>
  30941. <BitWidth>0x3</BitWidth>
  30942. <Access>RW</Access>
  30943. <Values>
  30944. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  30945. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  30946. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  30947. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  30948. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  30949. </Values>
  30950. </Bit>
  30951. </AssignedBits>
  30952. </Field>
  30953. </Category>
  30954. <Category>
  30955. <Name>User Configuration</Name>
  30956. <Field>
  30957. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  30958. <AssignedBits>
  30959. <Bit>
  30960. <Name>nRST_STOP</Name>
  30961. <Description/>
  30962. <BitOffset>0xC</BitOffset>
  30963. <BitWidth>0x1</BitWidth>
  30964. <Access>RW</Access>
  30965. <Values>
  30966. <Val value="0x0">Reset generated when entering Stop mode</Val>
  30967. <Val value="0x1">No reset generated when entering Stop mode</Val>
  30968. </Values>
  30969. </Bit>
  30970. <Bit>
  30971. <Name>nRST_STDBY</Name>
  30972. <Description/>
  30973. <BitOffset>0xD</BitOffset>
  30974. <BitWidth>0x1</BitWidth>
  30975. <Access>RW</Access>
  30976. <Values>
  30977. <Val value="0x0">Reset generated when entering Standby mode</Val>
  30978. <Val value="0x1">No reset generated when entering Standby mode</Val>
  30979. </Values>
  30980. </Bit>
  30981. <Bit>
  30982. <Name>nRST_SHDW</Name>
  30983. <Description/>
  30984. <BitOffset>0xE</BitOffset>
  30985. <BitWidth>0x1</BitWidth>
  30986. <Access>RW</Access>
  30987. <Values>
  30988. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  30989. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  30990. </Values>
  30991. </Bit>
  30992. <Bit>
  30993. <Name>IWDG_SW</Name>
  30994. <Description/>
  30995. <BitOffset>0x10</BitOffset>
  30996. <BitWidth>0x1</BitWidth>
  30997. <Access>RW</Access>
  30998. <Values>
  30999. <Val value="0x0">Hardware independant watchdog</Val>
  31000. <Val value="0x1">Software independant watchdog</Val>
  31001. </Values>
  31002. </Bit>
  31003. <Bit>
  31004. <Name>IWDG_STOP</Name>
  31005. <Description/>
  31006. <BitOffset>0x11</BitOffset>
  31007. <BitWidth>0x1</BitWidth>
  31008. <Access>RW</Access>
  31009. <Values>
  31010. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  31011. <Val value="0x1">IWDG counter active in stop mode</Val>
  31012. </Values>
  31013. </Bit>
  31014. <Bit>
  31015. <Name>IWDG_STDBY</Name>
  31016. <Description/>
  31017. <BitOffset>0x12</BitOffset>
  31018. <BitWidth>0x1</BitWidth>
  31019. <Access>RW</Access>
  31020. <Values>
  31021. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  31022. <Val value="0x1">IWDG counter active in standby mode</Val>
  31023. </Values>
  31024. </Bit>
  31025. <Bit>
  31026. <Name>WWDG_SW</Name>
  31027. <Description/>
  31028. <BitOffset>0x13</BitOffset>
  31029. <BitWidth>0x1</BitWidth>
  31030. <Access>RW</Access>
  31031. <Values>
  31032. <Val value="0x0">Hardware window watchdog</Val>
  31033. <Val value="0x1">Software window watchdog</Val>
  31034. </Values>
  31035. </Bit>
  31036. <Bit>
  31037. <Name>SWAP_BANK</Name>
  31038. <Description/>
  31039. <BitOffset>0x14</BitOffset>
  31040. <BitWidth>0x1</BitWidth>
  31041. <Access>RW</Access>
  31042. <Values>
  31043. <Val value="0x0">Bank 1 and bank 2 address are not swapped</Val>
  31044. <Val value="0x1">Bank 1 and bank 2 address are swapped</Val>
  31045. </Values>
  31046. </Bit>
  31047. <Bit>
  31048. <Name>DB256</Name>
  31049. <Description>Dual-Bank on 256 Kb Flash memory devices</Description>
  31050. <BitOffset>0x15</BitOffset>
  31051. <BitWidth>0x1</BitWidth>
  31052. <Access>RW</Access>
  31053. <Values>
  31054. <Val value="0x0">256Kb single Flash: contiguous address in bank1</Val>
  31055. <Val value="0x1">256Kb dual-bank Flash with contiguous addresses</Val>
  31056. </Values>
  31057. </Bit>
  31058. <Bit>
  31059. <Name>DBANK</Name>
  31060. <Description>This bit can only be written when all protection (secure, PCROP, HDP) are disabled</Description>
  31061. <BitOffset>0x16</BitOffset>
  31062. <BitWidth>0x1</BitWidth>
  31063. <Access>RW</Access>
  31064. <Values>
  31065. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  31066. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  31067. </Values>
  31068. </Bit>
  31069. <Bit>
  31070. <Name>SRAM2_PE</Name>
  31071. <Description>SRAM2 parity check enable</Description>
  31072. <BitOffset>0x18</BitOffset>
  31073. <BitWidth>0x1</BitWidth>
  31074. <Access>RW</Access>
  31075. <Values>
  31076. <Val value="0x0">SRAM2 parity check enable</Val>
  31077. <Val value="0x1">SRAM2 parity check disable</Val>
  31078. </Values>
  31079. </Bit>
  31080. <Bit>
  31081. <Name>SRAM2_RST</Name>
  31082. <Description>SRAM2 Erase when system reset</Description>
  31083. <BitOffset>0x19</BitOffset>
  31084. <BitWidth>0x1</BitWidth>
  31085. <Access>RW</Access>
  31086. <Values>
  31087. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  31088. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  31089. </Values>
  31090. </Bit>
  31091. <Bit>
  31092. <Name>nSWBOOT0</Name>
  31093. <Description>Software BOOT0</Description>
  31094. <BitOffset>0x1A</BitOffset>
  31095. <BitWidth>0x1</BitWidth>
  31096. <Access>RW</Access>
  31097. <Values>
  31098. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  31099. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  31100. </Values>
  31101. </Bit>
  31102. <Bit>
  31103. <Name>nBOOT0</Name>
  31104. <Description>nBOOT0 option bit</Description>
  31105. <BitOffset>0x1B</BitOffset>
  31106. <BitWidth>0x1</BitWidth>
  31107. <Access>RW</Access>
  31108. <Values>
  31109. <Val value="0x0">nBOOT0 = 0</Val>
  31110. <Val value="0x1">nBOOT0 = 1</Val>
  31111. </Values>
  31112. </Bit>
  31113. <Bit>
  31114. <Name>PA15_PUPEN</Name>
  31115. <Description>PA15 pull-up enable</Description>
  31116. <BitOffset>0x1C</BitOffset>
  31117. <BitWidth>0x1</BitWidth>
  31118. <Access>RW</Access>
  31119. <Values>
  31120. <Val value="0x0">USB power delivery dead-battery enabled/ TDI pull-up deactivated</Val>
  31121. <Val value="0x1">USB power delivery dead-battery disabled/ TDI pull-up activated</Val>
  31122. </Values>
  31123. </Bit>
  31124. <Bit>
  31125. <Name>TZEN</Name>
  31126. <Description>Global TrustZone security enable</Description>
  31127. <BitOffset>0x1F</BitOffset>
  31128. <BitWidth>0x1</BitWidth>
  31129. <Access>RW</Access>
  31130. <Values>
  31131. <Val value="0x0">Global TrustZone security disabled</Val>
  31132. <Val value="0x1">Global TrustZone security enabled</Val>
  31133. </Values>
  31134. </Bit>
  31135. </AssignedBits>
  31136. </Field>
  31137. <Field>
  31138. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x40022054"/>
  31139. <AssignedBits>
  31140. <Bit>
  31141. <Name>HDP1EN</Name>
  31142. <Description>Hide protection first area enable</Description>
  31143. <BitOffset>0x1F</BitOffset>
  31144. <BitWidth>0x1</BitWidth>
  31145. <Access>RW</Access>
  31146. <Values>
  31147. <Val value="0x0">No HDP area 1</Val>
  31148. <Val value="0x1">HDP first area is enabled</Val>
  31149. </Values>
  31150. </Bit>
  31151. <Bit config="4,14">
  31152. <Name>HDP1_PEND</Name>
  31153. <Description>End page of first hide protection area</Description>
  31154. <BitOffset>0x10</BitOffset>
  31155. <BitWidth>0x7</BitWidth>
  31156. <Access>RW</Access>
  31157. <Equation multiplier="0x4" offset="0x08000000"/>
  31158. </Bit>
  31159. <Bit config="5,15">
  31160. <Name>HDP1_PEND</Name>
  31161. <Description>End page of first hide protection area</Description>
  31162. <BitOffset>0x10</BitOffset>
  31163. <BitWidth>0x7</BitWidth>
  31164. <Access>RW</Access>
  31165. <Equation multiplier="0x2" offset="0x08000000"/>
  31166. </Bit>
  31167. </AssignedBits>
  31168. </Field>
  31169. <Field>
  31170. <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x40022064"/>
  31171. <AssignedBits>
  31172. <Bit config="4,14,15,5">
  31173. <Name>HDP2EN</Name>
  31174. <Description>Hide protection second area enable</Description>
  31175. <BitOffset>0x1F</BitOffset>
  31176. <BitWidth>0x1</BitWidth>
  31177. <Access>RW</Access>
  31178. <Values>
  31179. <Val value="0x0">No HDP area 2</Val>
  31180. <Val value="0x1">HDP second area is enabled</Val>
  31181. </Values>
  31182. </Bit>
  31183. <Bit config="4,14">
  31184. <Name>HDP2_PEND</Name>
  31185. <Description>End page of second hide protection area</Description>
  31186. <BitOffset>0x10</BitOffset>
  31187. <BitWidth>0x7</BitWidth>
  31188. <Access>RW</Access>
  31189. <Equation multiplier="0x4" offset="0x08000000"/>
  31190. </Bit>
  31191. <Bit config="5,15">
  31192. <Name>HDP2_PEND</Name>
  31193. <Description>End page of second hide protection area</Description>
  31194. <BitOffset>0x10</BitOffset>
  31195. <BitWidth>0x7</BitWidth>
  31196. <Access>RW</Access>
  31197. <Equation multiplier="0x2" offset="0x08000000"/>
  31198. </Bit>
  31199. </AssignedBits>
  31200. </Field>
  31201. <Field>
  31202. <Parameters name="FLASH_NSBOOTADD0" size="0x4" address="0x40022044"/>
  31203. <AssignedBits>
  31204. <Bit>
  31205. <Name>NSBOOTADD0</Name>
  31206. <Description>Non-secure Boot base address 0</Description>
  31207. <BitOffset>0x7</BitOffset>
  31208. <BitWidth>0x19</BitWidth>
  31209. <Access>RW</Access>
  31210. <Equation multiplier="0x80" offset="0x0000000"/>
  31211. </Bit>
  31212. </AssignedBits>
  31213. </Field>
  31214. <Field>
  31215. <Parameters name="FLASH_NSBOOTADD1" size="0x4" address="0x40022048"/>
  31216. <AssignedBits>
  31217. <Bit>
  31218. <Name>NSBOOTADD1</Name>
  31219. <Description>Non-secure Boot base address 1</Description>
  31220. <BitOffset>0x7</BitOffset>
  31221. <BitWidth>0x19</BitWidth>
  31222. <Access>RW</Access>
  31223. <Equation multiplier="0x80" offset="0x0000000"/>
  31224. </Bit>
  31225. </AssignedBits>
  31226. </Field>
  31227. <Field>
  31228. <Parameters name="FLASH_SECBOOTADD0" size="0x4" address="0x4002204C"/>
  31229. <AssignedBits>
  31230. <Bit>
  31231. <Name>SECBOOTADD0</Name>
  31232. <Description>Secure boot base address 0</Description>
  31233. <BitOffset>0x7</BitOffset>
  31234. <BitWidth>0x19</BitWidth>
  31235. <Access>RW</Access>
  31236. <Equation multiplier="0x80" offset="0x0000000"/>
  31237. </Bit>
  31238. </AssignedBits>
  31239. </Field>
  31240. <Field>
  31241. <Parameters name="BOOT_LOCK" size="0x4" address="0x4002204C"/>
  31242. <AssignedBits>
  31243. <Bit>
  31244. <Name>BOOT_LOCK</Name>
  31245. <Description> The boot is always forced to base address value programmed in SECBOOTADD0</Description>
  31246. <BitOffset>0x0</BitOffset>
  31247. <BitWidth>0x1</BitWidth>
  31248. <Access>RW</Access>
  31249. <Values>
  31250. <Val value="0x0">Boot based on the pad/option bit configuration</Val>
  31251. <Val value="0x1">Boot forced from base address memory</Val>
  31252. </Values>
  31253. </Bit>
  31254. </AssignedBits>
  31255. </Field>
  31256. </Category>
  31257. <Category>
  31258. <Name>Secure Area 1</Name>
  31259. <Field>
  31260. <Parameters name="FLASH_SECWM1R1" size="0x4" address="0x40022050"/>
  31261. <AssignedBits>
  31262. <Bit config="4,14">
  31263. <Name>SECWM1_PSTRT</Name>
  31264. <Description>Start page of first secure area</Description>
  31265. <BitOffset>0x0</BitOffset>
  31266. <BitWidth>0x7</BitWidth>
  31267. <Access>RW</Access>
  31268. <Equation multiplier="0x1000" offset="0x08000000"/>
  31269. </Bit>
  31270. <Bit config="5,15">
  31271. <Name>SECWM1_PSTRT</Name>
  31272. <Description>Start page of first secure area</Description>
  31273. <BitOffset>0x0</BitOffset>
  31274. <BitWidth>0x7</BitWidth>
  31275. <Access>RW</Access>
  31276. <Equation multiplier="0x800" offset="0x08000000"/>
  31277. </Bit>
  31278. <Bit config="4,14">
  31279. <Name>SECWM1_PEND</Name>
  31280. <Description>End page of first secure area</Description>
  31281. <BitOffset>0x10</BitOffset>
  31282. <BitWidth>0x7</BitWidth>
  31283. <Access>RW</Access>
  31284. <Equation multiplier="0x1000" offset="0x08000000"/>
  31285. </Bit>
  31286. <Bit config="5,15">
  31287. <Name>SECWM1_PEND</Name>
  31288. <Description>End page of first secure area</Description>
  31289. <BitOffset>0x10</BitOffset>
  31290. <BitWidth>0x7</BitWidth>
  31291. <Access>RW</Access>
  31292. <Equation multiplier="0x800" offset="0x08000000"/>
  31293. </Bit>
  31294. </AssignedBits>
  31295. </Field>
  31296. </Category>
  31297. <!-- <Category> -->
  31298. <!-- <Name>PCROP Protection (Bank 1)</Name> -->
  31299. <!-- <Field> -->
  31300. <!-- <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022054"/> -->
  31301. <!-- <AssignedBits> -->
  31302. <!-- <Bit config="4"> -->
  31303. <!-- <Name>PCROP1_PSTRT</Name> -->
  31304. <!-- <Description>Start page of first PCROP area</Description> -->
  31305. <!-- <BitOffset>0x0</BitOffset> -->
  31306. <!-- <BitWidth>0x7</BitWidth> -->
  31307. <!-- <Access>RW</Access> -->
  31308. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  31309. <!-- </Bit> -->
  31310. <!-- <Bit config="5"> -->
  31311. <!-- <Name>PCROP1_STRT</Name> -->
  31312. <!-- <Description>Flash Bank 1 PCROP start address</Description> -->
  31313. <!-- <BitOffset>0x0</BitOffset> -->
  31314. <!-- <BitWidth>0x7</BitWidth> -->
  31315. <!-- <Access>RW</Access> -->
  31316. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  31317. <!-- </Bit> -->
  31318. <!-- <Bit config="4"> -->
  31319. <!-- <Name>HDP1_PEND</Name> -->
  31320. <!-- <Description>End page of first hide protection area</Description> -->
  31321. <!-- <BitOffset>0x10</BitOffset> -->
  31322. <!-- <BitWidth>0x7</BitWidth> -->
  31323. <!-- <Access>RW</Access> -->
  31324. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  31325. <!-- </Bit> -->
  31326. <!-- <Bit config="5"> -->
  31327. <!-- <Name>HDP1_PEND</Name> -->
  31328. <!-- <Description>End page of first hide protection area</Description> -->
  31329. <!-- <BitOffset>0x10</BitOffset> -->
  31330. <!-- <BitWidth>0x7</BitWidth> -->
  31331. <!-- <Access>RW</Access> -->
  31332. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  31333. <!-- </Bit> -->
  31334. <!-- <Bit> -->
  31335. <!-- <Name>PCROP1EN</Name> -->
  31336. <!-- <Description>PCROP1 area enable</Description> -->
  31337. <!-- <BitOffset>0xF</BitOffset> -->
  31338. <!-- <BitWidth>0x1</BitWidth> -->
  31339. <!-- <Access>RW</Access> -->
  31340. <!-- <Values> -->
  31341. <!-- <Val value="0x0">PCROP1 area is disabled</Val> -->
  31342. <!-- <Val value="0x1">PCROP1 area is enabled</Val> -->
  31343. <!-- </Values> -->
  31344. <!-- </Bit> -->
  31345. <!-- <Bit> -->
  31346. <!-- <Name>HDP1EN</Name> -->
  31347. <!-- <Description>Hide protection first area enable</Description> -->
  31348. <!-- <BitOffset>0x1F</BitOffset> -->
  31349. <!-- <BitWidth>0x1</BitWidth> -->
  31350. <!-- <Access>RW</Access> -->
  31351. <!-- <Values> -->
  31352. <!-- <Val value="0x0">No HDP area 1</Val> -->
  31353. <!-- <Val value="0x1">HDP first area is enabled</Val> -->
  31354. <!-- </Values> -->
  31355. <!-- </Bit> -->
  31356. <!-- </AssignedBits> -->
  31357. <!-- </Field> -->
  31358. <!-- </Category> -->
  31359. <Category>
  31360. <Name>Write Protection 1</Name>
  31361. <Field>
  31362. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x40022058"/>
  31363. <AssignedBits>
  31364. <Bit config="4,14">
  31365. <Name>WRP1A_PSTRT</Name>
  31366. <Description>Bank 1 WPR first area "A" start page</Description>
  31367. <BitOffset>0x0</BitOffset>
  31368. <BitWidth>0x7</BitWidth>
  31369. <Access>RW</Access>
  31370. <Equation multiplier="0x1000" offset="0x08000000"/>
  31371. </Bit>
  31372. <Bit config="5,15">
  31373. <Name>WRP1A_PSTRT</Name>
  31374. <Description>Bank 1 WPR first area "A" start page</Description>
  31375. <BitOffset>0x0</BitOffset>
  31376. <BitWidth>0x7</BitWidth>
  31377. <Access>RW</Access>
  31378. <Equation multiplier="0x800" offset="0x08000000"/>
  31379. </Bit>
  31380. <Bit config="4,14">
  31381. <Name>WRP1A_PEND</Name>
  31382. <Description>Bank 1 WPR first area "A" end page</Description>
  31383. <BitOffset>0x10</BitOffset>
  31384. <BitWidth>0x7</BitWidth>
  31385. <Access>RW</Access>
  31386. <Equation multiplier="0x1000" offset="0x08000000"/>
  31387. </Bit>
  31388. <Bit config="5,15">
  31389. <Name>WRP1A_PEND</Name>
  31390. <Description>Bank 1 WPR first area "A" end page</Description>
  31391. <BitOffset>0x10</BitOffset>
  31392. <BitWidth>0x7</BitWidth>
  31393. <Access>RW</Access>
  31394. <Equation multiplier="0x800" offset="0x08000000"/>
  31395. </Bit>
  31396. </AssignedBits>
  31397. </Field>
  31398. <Field>
  31399. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x4002205C"/>
  31400. <AssignedBits>
  31401. <Bit config="4,14">
  31402. <Name>WRP1B_PSTRT</Name>
  31403. <Description>Bank 1 WPR first area "B" start page</Description>
  31404. <BitOffset>0x0</BitOffset>
  31405. <BitWidth>0x7</BitWidth>
  31406. <Access>RW</Access>
  31407. <Equation multiplier="0x1000" offset="0x08000000"/>
  31408. </Bit>
  31409. <Bit config="5,15">
  31410. <Name>WRP1B_PSTRT</Name>
  31411. <Description>Bank 1 WPR first area "B" start page</Description>
  31412. <BitOffset>0x0</BitOffset>
  31413. <BitWidth>0x7</BitWidth>
  31414. <Access>RW</Access>
  31415. <Equation multiplier="0x800" offset="0x08000000"/>
  31416. </Bit>
  31417. <Bit config="4,14">
  31418. <Name>WRP1B_PEND</Name>
  31419. <Description>Bank 1 WPR first area "B" end page</Description>
  31420. <BitOffset>0x10</BitOffset>
  31421. <BitWidth>0x7</BitWidth>
  31422. <Access>RW</Access>
  31423. <Equation multiplier="0x1000" offset="0x08000000"/>
  31424. </Bit>
  31425. <Bit config="5,15">
  31426. <Name>WRP1B_PEND</Name>
  31427. <Description>Bank 1 WPR first area "B" end page</Description>
  31428. <BitOffset>0x10</BitOffset>
  31429. <BitWidth>0x7</BitWidth>
  31430. <Access>RW</Access>
  31431. <Equation multiplier="0x800" offset="0x08000000"/>
  31432. </Bit>
  31433. </AssignedBits>
  31434. </Field>
  31435. </Category>
  31436. </Bank>
  31437. <Bank interface="JTAG_SWD">
  31438. <Parameters name="Bank 2" size="0x10" address="0x40022060"/>
  31439. <Category>
  31440. <Name>Secure Area 2</Name>
  31441. <Field>
  31442. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x40022060"/>
  31443. <AssignedBits>
  31444. <Bit config="4,14">
  31445. <Name>SECWM2_PSTRT</Name>
  31446. <Description>Start page of second secure area</Description>
  31447. <BitOffset>0x0</BitOffset>
  31448. <BitWidth>0x7</BitWidth>
  31449. <Access>RW</Access>
  31450. <Equation multiplier="0x1000" offset="0x08000000"/>
  31451. </Bit>
  31452. <Bit config="5,15">
  31453. <Name>SECWM2_PSTRT</Name>
  31454. <Description>Start page of second secure area</Description>
  31455. <BitOffset>0x0</BitOffset>
  31456. <BitWidth>0x7</BitWidth>
  31457. <Access>RW</Access>
  31458. <Equation multiplier="0x800" offset="0x08000000"/>
  31459. </Bit>
  31460. <Bit config="4,14">
  31461. <Name>SECWM2_PEND</Name>
  31462. <Description>End page of second secure area</Description>
  31463. <BitOffset>0x10</BitOffset>
  31464. <BitWidth>0x7</BitWidth>
  31465. <Access>RW</Access>
  31466. <Equation multiplier="0x1000" offset="0x08000000"/>
  31467. </Bit>
  31468. <Bit config="5,15">
  31469. <Name>SECWM2_PEND</Name>
  31470. <Description>End page of second secure area</Description>
  31471. <BitOffset>0x10</BitOffset>
  31472. <BitWidth>0x7</BitWidth>
  31473. <Access>RW</Access>
  31474. <Equation multiplier="0x800" offset="0x08000000"/>
  31475. </Bit>
  31476. </AssignedBits>
  31477. </Field>
  31478. </Category>
  31479. <!-- <Category> -->
  31480. <!-- <Name>PCROP Protection (Bank 2)</Name> -->
  31481. <!-- <Field> -->
  31482. <!-- <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x40022064"/> -->
  31483. <!-- <AssignedBits> -->
  31484. <!-- <Bit config="4"> -->
  31485. <!-- <Name>PCROP2_PSTRT</Name> -->
  31486. <!-- <Description>Start page of first PCROP area</Description> -->
  31487. <!-- <BitOffset>0x0</BitOffset> -->
  31488. <!-- <BitWidth>0x7</BitWidth> -->
  31489. <!-- <Access>RW</Access> -->
  31490. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  31491. <!-- </Bit> -->
  31492. <!-- <Bit config="5"> -->
  31493. <!-- <Name>PCROP2_STRT</Name> -->
  31494. <!-- <Description>Flash Bank 2 PCROP start address</Description> -->
  31495. <!-- <BitOffset>0x0</BitOffset> -->
  31496. <!-- <BitWidth>0x7</BitWidth> -->
  31497. <!-- <Access>RW</Access> -->
  31498. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  31499. <!-- </Bit> -->
  31500. <!-- <Bit config="4"> -->
  31501. <!-- <Name>HDP2_PEND</Name> -->
  31502. <!-- <Description>End page of second hide protection area</Description> -->
  31503. <!-- <BitOffset>0x10</BitOffset> -->
  31504. <!-- <BitWidth>0x7</BitWidth> -->
  31505. <!-- <Access>RW</Access> -->
  31506. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  31507. <!-- </Bit> -->
  31508. <!-- <Bit config="5"> -->
  31509. <!-- <Name>HDP2_PEND</Name> -->
  31510. <!-- <Description>End page of second hide protection area</Description> -->
  31511. <!-- <BitOffset>0x10</BitOffset> -->
  31512. <!-- <BitWidth>0x7</BitWidth> -->
  31513. <!-- <Access>RW</Access> -->
  31514. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  31515. <!-- </Bit> -->
  31516. <!-- <Bit config="4"> -->
  31517. <!-- <Name>PCROP2EN</Name> -->
  31518. <!-- <Description>PCROP2 area enable</Description> -->
  31519. <!-- <BitOffset>0xF</BitOffset> -->
  31520. <!-- <BitWidth>0x1</BitWidth> -->
  31521. <!-- <Access>RW</Access> -->
  31522. <!-- <Values> -->
  31523. <!-- <Val value="0x0">PCROP2 area is disabled</Val> -->
  31524. <!-- <Val value="0x1">PCROP2 area is enabled</Val> -->
  31525. <!-- </Values> -->
  31526. <!-- </Bit> -->
  31527. <!-- <Bit config="4,5"> -->
  31528. <!-- <Name>HDP2EN</Name> -->
  31529. <!-- <Description>Hide protection second area enable</Description> -->
  31530. <!-- <BitOffset>0x1F</BitOffset> -->
  31531. <!-- <BitWidth>0x1</BitWidth> -->
  31532. <!-- <Access>RW</Access> -->
  31533. <!-- <Values> -->
  31534. <!-- <Val value="0x0">No HDP area 2</Val> -->
  31535. <!-- <Val value="0x1">HDP second area is enabled</Val> -->
  31536. <!-- </Values> -->
  31537. <!-- </Bit> -->
  31538. <!-- </AssignedBits> -->
  31539. <!-- </Field> -->
  31540. <!-- </Category> -->
  31541. <Category>
  31542. <Name>Write Protection 2</Name>
  31543. <Field>
  31544. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x40022068"/>
  31545. <AssignedBits>
  31546. <Bit config="4,14">
  31547. <Name>WRP2A_PSTRT</Name>
  31548. <Description>Bank 2 WPR first area "A" start page</Description>
  31549. <BitOffset>0x0</BitOffset>
  31550. <BitWidth>0x7</BitWidth>
  31551. <Access>RW</Access>
  31552. <Equation multiplier="0x1000" offset="0x08040000"/>
  31553. </Bit>
  31554. <Bit config="5,15">
  31555. <Name>WRP2A_PSTRT</Name>
  31556. <Description>Bank 2 WPR first area "A" start page</Description>
  31557. <BitOffset>0x0</BitOffset>
  31558. <BitWidth>0x7</BitWidth>
  31559. <Access>RW</Access>
  31560. <Equation multiplier="0x800" offset="0x08040000"/>
  31561. </Bit>
  31562. <Bit config="4,14">
  31563. <Name>WRP2A_PEND</Name>
  31564. <Description>Bank 2 WPR first area "A" end page</Description>
  31565. <BitOffset>0x10</BitOffset>
  31566. <BitWidth>0x7</BitWidth>
  31567. <Access>RW</Access>
  31568. <Equation multiplier="0x1000" offset="0x08040000"/>
  31569. </Bit>
  31570. <Bit config="5,15">
  31571. <Name>WRP2A_PEND</Name>
  31572. <Description>Bank 2 WPR first area "A" end page</Description>
  31573. <BitOffset>0x10</BitOffset>
  31574. <BitWidth>0x7</BitWidth>
  31575. <Access>RW</Access>
  31576. <Equation multiplier="0x800" offset="0x08040000"/>
  31577. </Bit>
  31578. </AssignedBits>
  31579. </Field>
  31580. <Field>
  31581. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x4002206C"/>
  31582. <AssignedBits>
  31583. <Bit config="4,14">
  31584. <Name>WRP2B_PSTRT</Name>
  31585. <Description>Bank 2 WPR first area "B" start page</Description>
  31586. <BitOffset>0x0</BitOffset>
  31587. <BitWidth>0x7</BitWidth>
  31588. <Access>RW</Access>
  31589. <Equation multiplier="0x1000" offset="0x08040000"/>
  31590. </Bit>
  31591. <Bit config="5,15">
  31592. <Name>WRP2B_PSTRT</Name>
  31593. <Description>Bank 2 WPR first area "B" start page</Description>
  31594. <BitOffset>0x0</BitOffset>
  31595. <BitWidth>0x7</BitWidth>
  31596. <Access>RW</Access>
  31597. <Equation multiplier="0x800" offset="0x08040000"/>
  31598. </Bit>
  31599. <Bit config="4,14">
  31600. <Name>WRP2B_PEND</Name>
  31601. <Description>Bank 2 WPR first area "B" end page</Description>
  31602. <BitOffset>0x10</BitOffset>
  31603. <BitWidth>0x7</BitWidth>
  31604. <Access>RW</Access>
  31605. <Equation multiplier="0x1000" offset="0x08040000"/>
  31606. </Bit>
  31607. <Bit config="5,15">
  31608. <Name>WRP2B_PEND</Name>
  31609. <Description>Bank 2 WPR first area "B" end page</Description>
  31610. <BitOffset>0x10</BitOffset>
  31611. <BitWidth>0x7</BitWidth>
  31612. <Access>RW</Access>
  31613. <Equation multiplier="0x800" offset="0x08040000"/>
  31614. </Bit>
  31615. </AssignedBits>
  31616. </Field>
  31617. </Category>
  31618. </Bank>
  31619. </Configuration>
  31620. <Configuration config="0,1,10,11">
  31621. <Bank interface="JTAG_SWD">
  31622. <Parameters name="Bank 1" size="0x20" address="0x40022040"/>
  31623. <Category>
  31624. <Name>Read Out Protection</Name>
  31625. <Field>
  31626. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  31627. <AssignedBits>
  31628. <Bit>
  31629. <Name>RDP</Name>
  31630. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  31631. <BitOffset>0x0</BitOffset>
  31632. <BitWidth>0x8</BitWidth>
  31633. <Access>RW</Access>
  31634. <Values>
  31635. <Val value="0xAA">Level 0, no protection</Val>
  31636. <Val value="0xDC">Level 1, read protection of memories</Val>
  31637. <Val value="0xCC">Level 2, chip protection</Val>
  31638. </Values>
  31639. </Bit>
  31640. </AssignedBits>
  31641. </Field>
  31642. </Category>
  31643. <Category>
  31644. <Name>BOR Level</Name>
  31645. <Field>
  31646. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  31647. <AssignedBits>
  31648. <Bit>
  31649. <Name>BOR_LEV</Name>
  31650. <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>
  31651. <BitOffset>0x8</BitOffset>
  31652. <BitWidth>0x3</BitWidth>
  31653. <Access>RW</Access>
  31654. <Values>
  31655. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  31656. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  31657. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  31658. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  31659. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  31660. </Values>
  31661. </Bit>
  31662. </AssignedBits>
  31663. </Field>
  31664. </Category>
  31665. <Category>
  31666. <Name>User Configuration</Name>
  31667. <Field>
  31668. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  31669. <AssignedBits>
  31670. <Bit>
  31671. <Name>nRST_STOP</Name>
  31672. <Description/>
  31673. <BitOffset>0xC</BitOffset>
  31674. <BitWidth>0x1</BitWidth>
  31675. <Access>RW</Access>
  31676. <Values>
  31677. <Val value="0x0">Reset generated when entering Stop mode</Val>
  31678. <Val value="0x1">No reset generated when entering Stop mode</Val>
  31679. </Values>
  31680. </Bit>
  31681. <Bit>
  31682. <Name>nRST_STDBY</Name>
  31683. <Description/>
  31684. <BitOffset>0xD</BitOffset>
  31685. <BitWidth>0x1</BitWidth>
  31686. <Access>RW</Access>
  31687. <Values>
  31688. <Val value="0x0">Reset generated when entering Standby mode</Val>
  31689. <Val value="0x1">No reset generated when entering Standby mode</Val>
  31690. </Values>
  31691. </Bit>
  31692. <Bit>
  31693. <Name>nRST_SHDW</Name>
  31694. <Description/>
  31695. <BitOffset>0xE</BitOffset>
  31696. <BitWidth>0x1</BitWidth>
  31697. <Access>RW</Access>
  31698. <Values>
  31699. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  31700. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  31701. </Values>
  31702. </Bit>
  31703. <Bit>
  31704. <Name>IWDG_SW</Name>
  31705. <Description/>
  31706. <BitOffset>0x10</BitOffset>
  31707. <BitWidth>0x1</BitWidth>
  31708. <Access>RW</Access>
  31709. <Values>
  31710. <Val value="0x0">Hardware independant watchdog</Val>
  31711. <Val value="0x1">Software independant watchdog</Val>
  31712. </Values>
  31713. </Bit>
  31714. <Bit>
  31715. <Name>IWDG_STOP</Name>
  31716. <Description/>
  31717. <BitOffset>0x11</BitOffset>
  31718. <BitWidth>0x1</BitWidth>
  31719. <Access>RW</Access>
  31720. <Values>
  31721. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  31722. <Val value="0x1">IWDG counter active in stop mode</Val>
  31723. </Values>
  31724. </Bit>
  31725. <Bit>
  31726. <Name>IWDG_STDBY</Name>
  31727. <Description/>
  31728. <BitOffset>0x12</BitOffset>
  31729. <BitWidth>0x1</BitWidth>
  31730. <Access>RW</Access>
  31731. <Values>
  31732. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  31733. <Val value="0x1">IWDG counter active in standby mode</Val>
  31734. </Values>
  31735. </Bit>
  31736. <Bit>
  31737. <Name>WWDG_SW</Name>
  31738. <Description/>
  31739. <BitOffset>0x13</BitOffset>
  31740. <BitWidth>0x1</BitWidth>
  31741. <Access>RW</Access>
  31742. <Values>
  31743. <Val value="0x0">Hardware window watchdog</Val>
  31744. <Val value="0x1">Software window watchdog</Val>
  31745. </Values>
  31746. </Bit>
  31747. <Bit>
  31748. <Name>SWAP_BANK</Name>
  31749. <Description/>
  31750. <BitOffset>0x14</BitOffset>
  31751. <BitWidth>0x1</BitWidth>
  31752. <Access>RW</Access>
  31753. <Values>
  31754. <Val value="0x0">Bank 1 and bank 2 address are not swapped</Val>
  31755. <Val value="0x1">Bank 1 and bank 2 address are swapped</Val>
  31756. </Values>
  31757. </Bit>
  31758. <Bit>
  31759. <Name>DB256</Name>
  31760. <Description>Dual-Bank on 256 Kb Flash memory devices</Description>
  31761. <BitOffset>0x15</BitOffset>
  31762. <BitWidth>0x1</BitWidth>
  31763. <Access>RW</Access>
  31764. <Values>
  31765. <Val value="0x0">256Kb single Flash: contiguous address in bank1</Val>
  31766. <Val value="0x1">256Kb dual-bank Flash with contiguous addresses</Val>
  31767. </Values>
  31768. </Bit>
  31769. <Bit>
  31770. <Name>DBANK</Name>
  31771. <Description>This bit can only be written when all protection (secure, PCROP, HDP) are disabled</Description>
  31772. <BitOffset>0x16</BitOffset>
  31773. <BitWidth>0x1</BitWidth>
  31774. <Access>RW</Access>
  31775. <Values>
  31776. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  31777. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  31778. </Values>
  31779. </Bit>
  31780. <Bit>
  31781. <Name>SRAM2_PE</Name>
  31782. <Description>SRAM2 parity check enable</Description>
  31783. <BitOffset>0x18</BitOffset>
  31784. <BitWidth>0x1</BitWidth>
  31785. <Access>RW</Access>
  31786. <Values>
  31787. <Val value="0x0">SRAM2 parity check enable</Val>
  31788. <Val value="0x1">SRAM2 parity check disable</Val>
  31789. </Values>
  31790. </Bit>
  31791. <Bit>
  31792. <Name>SRAM2_RST</Name>
  31793. <Description>SRAM2 Erase when system reset</Description>
  31794. <BitOffset>0x19</BitOffset>
  31795. <BitWidth>0x1</BitWidth>
  31796. <Access>RW</Access>
  31797. <Values>
  31798. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  31799. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  31800. </Values>
  31801. </Bit>
  31802. <Bit>
  31803. <Name>nSWBOOT0</Name>
  31804. <Description>Software BOOT0</Description>
  31805. <BitOffset>0x1A</BitOffset>
  31806. <BitWidth>0x1</BitWidth>
  31807. <Access>RW</Access>
  31808. <Values>
  31809. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  31810. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  31811. </Values>
  31812. </Bit>
  31813. <Bit>
  31814. <Name>nBOOT0</Name>
  31815. <Description>nBOOT0 option bit</Description>
  31816. <BitOffset>0x1B</BitOffset>
  31817. <BitWidth>0x1</BitWidth>
  31818. <Access>RW</Access>
  31819. <Values>
  31820. <Val value="0x0">nBOOT0 = 0</Val>
  31821. <Val value="0x1">nBOOT0 = 1</Val>
  31822. </Values>
  31823. </Bit>
  31824. <Bit>
  31825. <Name>PA15_PUPEN</Name>
  31826. <Description>PA15 pull-up enable</Description>
  31827. <BitOffset>0x1C</BitOffset>
  31828. <BitWidth>0x1</BitWidth>
  31829. <Access>RW</Access>
  31830. <Values>
  31831. <Val value="0x0">USB power delivery dead-battery enabled/ TDI pull-up deactivated</Val>
  31832. <Val value="0x1">USB power delivery dead-battery disabled/ TDI pull-up activated</Val>
  31833. </Values>
  31834. </Bit>
  31835. <Bit>
  31836. <Name>TZEN</Name>
  31837. <Description>Global TrustZone security enable</Description>
  31838. <BitOffset>0x1F</BitOffset>
  31839. <BitWidth>0x1</BitWidth>
  31840. <Access>RW</Access>
  31841. <Values>
  31842. <Val value="0x0">Global TrustZone security disabled</Val>
  31843. <Val value="0x1">Global TrustZone security enabled</Val>
  31844. </Values>
  31845. </Bit>
  31846. </AssignedBits>
  31847. </Field>
  31848. <Field>
  31849. <Parameters name="FLASH_NSBOOTADD0" size="0x4" address="0x40022044"/>
  31850. <AssignedBits>
  31851. <Bit>
  31852. <Name>NSBOOTADD0</Name>
  31853. <Description>Non-secure Boot base address 0</Description>
  31854. <BitOffset>0x7</BitOffset>
  31855. <BitWidth>0x19</BitWidth>
  31856. <Access>RW</Access>
  31857. <Equation multiplier="0x80" offset="0x0000000"/>
  31858. </Bit>
  31859. </AssignedBits>
  31860. </Field>
  31861. <Field>
  31862. <Parameters name="FLASH_NSBOOTADD1" size="0x4" address="0x40022048"/>
  31863. <AssignedBits>
  31864. <Bit>
  31865. <Name>NSBOOTADD1</Name>
  31866. <Description>Non-secure Boot base address 1</Description>
  31867. <BitOffset>0x7</BitOffset>
  31868. <BitWidth>0x19</BitWidth>
  31869. <Access>RW</Access>
  31870. <Equation multiplier="0x80" offset="0x0000000"/>
  31871. </Bit>
  31872. </AssignedBits>
  31873. </Field>
  31874. <Field>
  31875. <Parameters name="FLASH_SECBOOTADD0" size="0x4" address="0x4002204C"/>
  31876. <AssignedBits>
  31877. <Bit>
  31878. <Name>SECBOOTADD0</Name>
  31879. <Description>Secure boot base address 0</Description>
  31880. <BitOffset>0x7</BitOffset>
  31881. <BitWidth>0x19</BitWidth>
  31882. <Access>RW</Access>
  31883. <Equation multiplier="0x80" offset="0x0000000"/>
  31884. </Bit>
  31885. </AssignedBits>
  31886. </Field>
  31887. <Field>
  31888. <Parameters name="BOOT_LOCK" size="0x4" address="0x4002204C"/>
  31889. <AssignedBits>
  31890. <Bit>
  31891. <Name>BOOT_LOCK</Name>
  31892. <Description> The boot is always forced to base address value programmed in SECBOOTADD0</Description>
  31893. <BitOffset>0x0</BitOffset>
  31894. <BitWidth>0x1</BitWidth>
  31895. <Access>RW</Access>
  31896. <Values>
  31897. <Val value="0x0">Boot based on the pad/option bit configuration</Val>
  31898. <Val value="0x1">Boot forced from base address memory</Val>
  31899. </Values>
  31900. </Bit>
  31901. </AssignedBits>
  31902. </Field>
  31903. </Category>
  31904. <Category>
  31905. <Name>Write Protection 1</Name>
  31906. <Field>
  31907. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x40022058"/>
  31908. <AssignedBits>
  31909. <Bit config="0,10">
  31910. <Name>WRP1A_PSTRT</Name>
  31911. <Description>Bank 1 WPR first area "A" start page</Description>
  31912. <BitOffset>0x0</BitOffset>
  31913. <BitWidth>0x7</BitWidth>
  31914. <Access>RW</Access>
  31915. <Equation multiplier="0x1000" offset="0x08000000"/>
  31916. </Bit>
  31917. <Bit config="1,11">
  31918. <Name>WRP1A_PSTRT</Name>
  31919. <Description>Bank 1 WPR first area "A" start page</Description>
  31920. <BitOffset>0x0</BitOffset>
  31921. <BitWidth>0x7</BitWidth>
  31922. <Access>RW</Access>
  31923. <Equation multiplier="0x800" offset="0x08000000"/>
  31924. </Bit>
  31925. <Bit config="0,10">
  31926. <Name>WRP1A_PEND</Name>
  31927. <Description>Bank 1 WPR first area "A" end page</Description>
  31928. <BitOffset>0x10</BitOffset>
  31929. <BitWidth>0x7</BitWidth>
  31930. <Access>RW</Access>
  31931. <Equation multiplier="0x1000" offset="0x08000000"/>
  31932. </Bit>
  31933. <Bit config="1,11">
  31934. <Name>WRP1A_PEND</Name>
  31935. <Description>Bank 1 WPR first area "A" end page</Description>
  31936. <BitOffset>0x10</BitOffset>
  31937. <BitWidth>0x7</BitWidth>
  31938. <Access>RW</Access>
  31939. <Equation multiplier="0x800" offset="0x08000000"/>
  31940. </Bit>
  31941. </AssignedBits>
  31942. </Field>
  31943. <Field>
  31944. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x4002205C"/>
  31945. <AssignedBits>
  31946. <Bit config="0,10">
  31947. <Name>WRP1B_PSTRT</Name>
  31948. <Description>Bank 1 WPR first area "B" start page</Description>
  31949. <BitOffset>0x0</BitOffset>
  31950. <BitWidth>0x7</BitWidth>
  31951. <Access>RW</Access>
  31952. <Equation multiplier="0x1000" offset="0x08000000"/>
  31953. </Bit>
  31954. <Bit config="1,11">
  31955. <Name>WRP1B_PSTRT</Name>
  31956. <Description>Bank 1 WPR first area "B" start page</Description>
  31957. <BitOffset>0x0</BitOffset>
  31958. <BitWidth>0x7</BitWidth>
  31959. <Access>RW</Access>
  31960. <Equation multiplier="0x800" offset="0x08000000"/>
  31961. </Bit>
  31962. <Bit config="0,10">
  31963. <Name>WRP1B_PEND</Name>
  31964. <Description>Bank 1 WPR first area "B" end page</Description>
  31965. <BitOffset>0x10</BitOffset>
  31966. <BitWidth>0x7</BitWidth>
  31967. <Access>RW</Access>
  31968. <Equation multiplier="0x1000" offset="0x08000000"/>
  31969. </Bit>
  31970. <Bit config="1,11">
  31971. <Name>WRP1B_PEND</Name>
  31972. <Description>Bank 1 WPR first area "B" end page</Description>
  31973. <BitOffset>0x10</BitOffset>
  31974. <BitWidth>0x7</BitWidth>
  31975. <Access>RW</Access>
  31976. <Equation multiplier="0x800" offset="0x08000000"/>
  31977. </Bit>
  31978. </AssignedBits>
  31979. </Field>
  31980. </Category>
  31981. </Bank>
  31982. <Bank interface="JTAG_SWD">
  31983. <Parameters name="Bank 2" size="0x10" address="0x40022060"/>
  31984. <!-- <Category> -->
  31985. <!-- <Name>PCROP Protection (Bank 2)</Name> -->
  31986. <!-- <Field> -->
  31987. <!-- <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x40022064"/> -->
  31988. <!-- <AssignedBits> -->
  31989. <!-- <Bit config="1"> -->
  31990. <!-- <Name>PCROP2_PSTRT</Name> -->
  31991. <!-- <Description>Start page of first PCROP area</Description> -->
  31992. <!-- <BitOffset>0x0</BitOffset> -->
  31993. <!-- <BitWidth>0x7</BitWidth> -->
  31994. <!-- <Access>RW</Access> -->
  31995. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  31996. <!-- </Bit> -->
  31997. <!-- <Bit config="1"> -->
  31998. <!-- <Name>PCROP2_STRT</Name> -->
  31999. <!-- <Description>Flash Bank 2 PCROP start address</Description> -->
  32000. <!-- <BitOffset>0x0</BitOffset> -->
  32001. <!-- <BitWidth>0x7</BitWidth> -->
  32002. <!-- <Access>RW</Access> -->
  32003. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  32004. <!-- </Bit> -->
  32005. <!-- <Bit config="0"> -->
  32006. <!-- <Name>HDP2_PEND</Name> -->
  32007. <!-- <Description>End page of second hide protection area</Description> -->
  32008. <!-- <BitOffset>0x10</BitOffset> -->
  32009. <!-- <BitWidth>0x7</BitWidth> -->
  32010. <!-- <Access>RW</Access> -->
  32011. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  32012. <!-- </Bit> -->
  32013. <!-- <Bit config="1"> -->
  32014. <!-- <Name>HDP2_PEND</Name> -->
  32015. <!-- <Description>End page of second hide protection area</Description> -->
  32016. <!-- <BitOffset>0x10</BitOffset> -->
  32017. <!-- <BitWidth>0x7</BitWidth> -->
  32018. <!-- <Access>RW</Access> -->
  32019. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  32020. <!-- </Bit> -->
  32021. <!-- <Bit config="1"> -->
  32022. <!-- <Name>PCROP2EN</Name> -->
  32023. <!-- <Description>PCROP2 area enable</Description> -->
  32024. <!-- <BitOffset>0xF</BitOffset> -->
  32025. <!-- <BitWidth>0x1</BitWidth> -->
  32026. <!-- <Access>RW</Access> -->
  32027. <!-- <Values> -->
  32028. <!-- <Val value="0x0">PCROP2 area is disabled</Val> -->
  32029. <!-- <Val value="0x1">PCROP2 area is enabled</Val> -->
  32030. <!-- </Values> -->
  32031. <!-- </Bit> -->
  32032. <!-- <Bit config="1"> -->
  32033. <!-- <Name>HDP2EN</Name> -->
  32034. <!-- <Description>Hide protection second area enable</Description> -->
  32035. <!-- <BitOffset>0x1F</BitOffset> -->
  32036. <!-- <BitWidth>0x1</BitWidth> -->
  32037. <!-- <Access>RW</Access> -->
  32038. <!-- <Values> -->
  32039. <!-- <Val value="0x0">No HDP area 2</Val> -->
  32040. <!-- <Val value="0x1">HDP second area is enabled</Val> -->
  32041. <!-- </Values> -->
  32042. <!-- </Bit> -->
  32043. <!-- </AssignedBits> -->
  32044. <!-- </Field> -->
  32045. <!-- </Category> -->
  32046. <Category>
  32047. <Name>Write Protection 2</Name>
  32048. <Field>
  32049. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x40022068"/>
  32050. <AssignedBits>
  32051. <Bit config="0,10">
  32052. <Name>WRP2A_PSTRT</Name>
  32053. <Description>Bank 2 WPR first area "A" start page</Description>
  32054. <BitOffset>0x0</BitOffset>
  32055. <BitWidth>0x7</BitWidth>
  32056. <Access>RW</Access>
  32057. <Equation multiplier="0x1000" offset="0x08040000"/>
  32058. </Bit>
  32059. <Bit config="1,11">
  32060. <Name>WRP2A_PSTRT</Name>
  32061. <Description>Bank 2 WPR first area "A" start page</Description>
  32062. <BitOffset>0x0</BitOffset>
  32063. <BitWidth>0x7</BitWidth>
  32064. <Access>RW</Access>
  32065. <Equation multiplier="0x800" offset="0x08040000"/>
  32066. </Bit>
  32067. <Bit config="0,10">
  32068. <Name>WRP2A_PEND</Name>
  32069. <Description>Bank 2 WPR first area "A" end page</Description>
  32070. <BitOffset>0x10</BitOffset>
  32071. <BitWidth>0x7</BitWidth>
  32072. <Access>RW</Access>
  32073. <Equation multiplier="0x1000" offset="0x08040000"/>
  32074. </Bit>
  32075. <Bit config="1,11">
  32076. <Name>WRP2A_PEND</Name>
  32077. <Description>Bank 2 WPR first area "A" end page</Description>
  32078. <BitOffset>0x10</BitOffset>
  32079. <BitWidth>0x7</BitWidth>
  32080. <Access>RW</Access>
  32081. <Equation multiplier="0x800" offset="0x08040000"/>
  32082. </Bit>
  32083. </AssignedBits>
  32084. </Field>
  32085. <Field>
  32086. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x4002206C"/>
  32087. <AssignedBits>
  32088. <Bit config="0,10">
  32089. <Name>WRP2B_PSTRT</Name>
  32090. <Description>Bank 2 WPR first area "B" start page</Description>
  32091. <BitOffset>0x0</BitOffset>
  32092. <BitWidth>0x7</BitWidth>
  32093. <Access>RW</Access>
  32094. <Equation multiplier="0x1000" offset="0x08040000"/>
  32095. </Bit>
  32096. <Bit config="1,11">
  32097. <Name>WRP2B_PSTRT</Name>
  32098. <Description>Bank 2 WPR first area "B" start page</Description>
  32099. <BitOffset>0x0</BitOffset>
  32100. <BitWidth>0x7</BitWidth>
  32101. <Access>RW</Access>
  32102. <Equation multiplier="0x800" offset="0x08040000"/>
  32103. </Bit>
  32104. <Bit config="0,10">
  32105. <Name>WRP2B_PEND</Name>
  32106. <Description>Bank 2 WPR first area "B" end page</Description>
  32107. <BitOffset>0x10</BitOffset>
  32108. <BitWidth>0x7</BitWidth>
  32109. <Access>RW</Access>
  32110. <Equation multiplier="0x1000" offset="0x08040000"/>
  32111. </Bit>
  32112. <Bit config="1,11">
  32113. <Name>WRP2B_PEND</Name>
  32114. <Description>Bank 2 WPR first area "B" end page</Description>
  32115. <BitOffset>0x10</BitOffset>
  32116. <BitWidth>0x7</BitWidth>
  32117. <Access>RW</Access>
  32118. <Equation multiplier="0x800" offset="0x08040000"/>
  32119. </Bit>
  32120. </AssignedBits>
  32121. </Field>
  32122. </Category>
  32123. </Bank>
  32124. </Configuration>
  32125. <Configuration config="2,3,12,13">
  32126. <Bank interface="JTAG_SWD">
  32127. <Parameters name="Bank 1" size="0x28" address="0x50022040"/>
  32128. <Category>
  32129. <Name>Read Out Protection</Name>
  32130. <Field>
  32131. <Parameters name="FLASH_OPTR" size="0x4" address="0x50022040"/>
  32132. <AssignedBits>
  32133. <Bit>
  32134. <Name>RDP</Name>
  32135. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  32136. <BitOffset>0x0</BitOffset>
  32137. <BitWidth>0x8</BitWidth>
  32138. <Access>RW</Access>
  32139. <Values>
  32140. <Val value="0xAA">Level 0, no protection</Val>
  32141. <Val value="0x55">Level 0.5, read protection not active, only non-secure debug access is possible. Only available when TrustZone is active (TZEN=1)</Val>
  32142. <Val value="0xDC">Level 1, read protection of memories</Val>
  32143. <Val value="0xCC">Level 2, chip protection</Val>
  32144. </Values>
  32145. </Bit>
  32146. </AssignedBits>
  32147. </Field>
  32148. </Category>
  32149. <Category>
  32150. <Name>BOR Level</Name>
  32151. <Field>
  32152. <Parameters name="FLASH_OPTR" size="0x4" address="0x50022040"/>
  32153. <AssignedBits>
  32154. <Bit>
  32155. <Name>BOR_LEV</Name>
  32156. <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>
  32157. <BitOffset>0x8</BitOffset>
  32158. <BitWidth>0x3</BitWidth>
  32159. <Access>RW</Access>
  32160. <Values>
  32161. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  32162. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  32163. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  32164. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  32165. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  32166. </Values>
  32167. </Bit>
  32168. </AssignedBits>
  32169. </Field>
  32170. </Category>
  32171. <Category>
  32172. <Name>User Configuration</Name>
  32173. <Field>
  32174. <Parameters name="FLASH_OPTR" size="0x4" address="0x50022040"/>
  32175. <AssignedBits>
  32176. <Bit>
  32177. <Name>nRST_STOP</Name>
  32178. <Description/>
  32179. <BitOffset>0xC</BitOffset>
  32180. <BitWidth>0x1</BitWidth>
  32181. <Access>RW</Access>
  32182. <Values>
  32183. <Val value="0x0">Reset generated when entering Stop mode</Val>
  32184. <Val value="0x1">No reset generated when entering Stop mode</Val>
  32185. </Values>
  32186. </Bit>
  32187. <Bit>
  32188. <Name>nRST_STDBY</Name>
  32189. <Description/>
  32190. <BitOffset>0xD</BitOffset>
  32191. <BitWidth>0x1</BitWidth>
  32192. <Access>RW</Access>
  32193. <Values>
  32194. <Val value="0x0">Reset generated when entering Standby mode</Val>
  32195. <Val value="0x1">No reset generated when entering Standby mode</Val>
  32196. </Values>
  32197. </Bit>
  32198. <Bit>
  32199. <Name>nRST_SHDW</Name>
  32200. <Description/>
  32201. <BitOffset>0xE</BitOffset>
  32202. <BitWidth>0x1</BitWidth>
  32203. <Access>RW</Access>
  32204. <Values>
  32205. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  32206. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  32207. </Values>
  32208. </Bit>
  32209. <Bit>
  32210. <Name>IWDG_SW</Name>
  32211. <Description/>
  32212. <BitOffset>0x10</BitOffset>
  32213. <BitWidth>0x1</BitWidth>
  32214. <Access>RW</Access>
  32215. <Values>
  32216. <Val value="0x0">Hardware independant watchdog</Val>
  32217. <Val value="0x1">Software independant watchdog</Val>
  32218. </Values>
  32219. </Bit>
  32220. <Bit>
  32221. <Name>IWDG_STOP</Name>
  32222. <Description/>
  32223. <BitOffset>0x11</BitOffset>
  32224. <BitWidth>0x1</BitWidth>
  32225. <Access>RW</Access>
  32226. <Values>
  32227. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  32228. <Val value="0x1">IWDG counter active in stop mode</Val>
  32229. </Values>
  32230. </Bit>
  32231. <Bit>
  32232. <Name>IWDG_STDBY</Name>
  32233. <Description/>
  32234. <BitOffset>0x12</BitOffset>
  32235. <BitWidth>0x1</BitWidth>
  32236. <Access>RW</Access>
  32237. <Values>
  32238. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  32239. <Val value="0x1">IWDG counter active in standby mode</Val>
  32240. </Values>
  32241. </Bit>
  32242. <Bit>
  32243. <Name>WWDG_SW</Name>
  32244. <Description/>
  32245. <BitOffset>0x13</BitOffset>
  32246. <BitWidth>0x1</BitWidth>
  32247. <Access>RW</Access>
  32248. <Values>
  32249. <Val value="0x0">Hardware window watchdog</Val>
  32250. <Val value="0x1">Software window watchdog</Val>
  32251. </Values>
  32252. </Bit>
  32253. <Bit>
  32254. <Name>SWAP_BANK</Name>
  32255. <Description/>
  32256. <BitOffset>0x14</BitOffset>
  32257. <BitWidth>0x1</BitWidth>
  32258. <Access>RW</Access>
  32259. <Values>
  32260. <Val value="0x0">Bank 1 and bank 2 address are not swapped</Val>
  32261. <Val value="0x1">Bank 1 and bank 2 address are swapped</Val>
  32262. </Values>
  32263. </Bit>
  32264. <Bit>
  32265. <Name>DB256</Name>
  32266. <Description>Dual-Bank on 256 Kb Flash memory devices</Description>
  32267. <BitOffset>0x15</BitOffset>
  32268. <BitWidth>0x1</BitWidth>
  32269. <Access>RW</Access>
  32270. <Values>
  32271. <Val value="0x0">256Kb single Flash: contiguous address in bank1</Val>
  32272. <Val value="0x1">256Kb dual-bank Flash with contiguous addresses</Val>
  32273. </Values>
  32274. </Bit>
  32275. <Bit>
  32276. <Name>DBANK</Name>
  32277. <Description>This bit can only be written when all protection (secure, PCROP, HDP) are disabled</Description>
  32278. <BitOffset>0x16</BitOffset>
  32279. <BitWidth>0x1</BitWidth>
  32280. <Access>RW</Access>
  32281. <Values>
  32282. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  32283. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  32284. </Values>
  32285. </Bit>
  32286. <Bit>
  32287. <Name>SRAM2_PE</Name>
  32288. <Description>SRAM2 parity check enable</Description>
  32289. <BitOffset>0x18</BitOffset>
  32290. <BitWidth>0x1</BitWidth>
  32291. <Access>RW</Access>
  32292. <Values>
  32293. <Val value="0x0">SRAM2 parity check enable</Val>
  32294. <Val value="0x1">SRAM2 parity check disable</Val>
  32295. </Values>
  32296. </Bit>
  32297. <Bit>
  32298. <Name>SRAM2_RST</Name>
  32299. <Description>SRAM2 Erase when system reset</Description>
  32300. <BitOffset>0x19</BitOffset>
  32301. <BitWidth>0x1</BitWidth>
  32302. <Access>RW</Access>
  32303. <Values>
  32304. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  32305. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  32306. </Values>
  32307. </Bit>
  32308. <Bit>
  32309. <Name>nSWBOOT0</Name>
  32310. <Description>Software BOOT0</Description>
  32311. <BitOffset>0x1A</BitOffset>
  32312. <BitWidth>0x1</BitWidth>
  32313. <Access>RW</Access>
  32314. <Values>
  32315. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  32316. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  32317. </Values>
  32318. </Bit>
  32319. <Bit>
  32320. <Name>nBOOT0</Name>
  32321. <Description>nBOOT0 option bit</Description>
  32322. <BitOffset>0x1B</BitOffset>
  32323. <BitWidth>0x1</BitWidth>
  32324. <Access>RW</Access>
  32325. <Values>
  32326. <Val value="0x0">nBOOT0 = 0</Val>
  32327. <Val value="0x1">nBOOT0 = 1</Val>
  32328. </Values>
  32329. </Bit>
  32330. <Bit>
  32331. <Name>PA15_PUPEN</Name>
  32332. <Description>PA15 pull-up enable</Description>
  32333. <BitOffset>0x1C</BitOffset>
  32334. <BitWidth>0x1</BitWidth>
  32335. <Access>RW</Access>
  32336. <Values>
  32337. <Val value="0x0">USB power delivery dead-battery enabled/ TDI pull-up deactivated</Val>
  32338. <Val value="0x1">USB power delivery dead-battery disabled/ TDI pull-up activated</Val>
  32339. </Values>
  32340. </Bit>
  32341. <Bit>
  32342. <Name>TZEN</Name>
  32343. <Description>Global TrustZone security enable</Description>
  32344. <BitOffset>0x1F</BitOffset>
  32345. <BitWidth>0x1</BitWidth>
  32346. <Access>RW</Access>
  32347. <Values>
  32348. <Val value="0x0">Global TrustZone security disabled</Val>
  32349. <Val value="0x1">Global TrustZone security enabled</Val>
  32350. </Values>
  32351. </Bit>
  32352. </AssignedBits>
  32353. </Field>
  32354. <Field>
  32355. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x50022054"/>
  32356. <AssignedBits>
  32357. <Bit>
  32358. <Name>HDP1EN</Name>
  32359. <Description>Hide protection first area enable</Description>
  32360. <BitOffset>0x1F</BitOffset>
  32361. <BitWidth>0x1</BitWidth>
  32362. <Access>RW</Access>
  32363. <Values>
  32364. <Val value="0x0">No HDP area 1</Val>
  32365. <Val value="0x1">HDP first area is enabled</Val>
  32366. </Values>
  32367. </Bit>
  32368. <Bit config="2,12">
  32369. <Name>HDP1_PEND</Name>
  32370. <Description>End page of first hide protection area</Description>
  32371. <BitOffset>0x10</BitOffset>
  32372. <BitWidth>0x7</BitWidth>
  32373. <Access>RW</Access>
  32374. <Equation multiplier="0x4" offset="0x08000000"/>
  32375. </Bit>
  32376. <Bit config="3,13">
  32377. <Name>HDP1_PEND</Name>
  32378. <Description>End page of first hide protection area</Description>
  32379. <BitOffset>0x10</BitOffset>
  32380. <BitWidth>0x7</BitWidth>
  32381. <Access>RW</Access>
  32382. <Equation multiplier="0x2" offset="0x08000000"/>
  32383. </Bit>
  32384. </AssignedBits>
  32385. </Field>
  32386. <Field>
  32387. <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x50022064"/>
  32388. <AssignedBits>
  32389. <Bit>
  32390. <Name>HDP2EN</Name>
  32391. <Description>Hide protection second area enable</Description>
  32392. <BitOffset>0x1F</BitOffset>
  32393. <BitWidth>0x1</BitWidth>
  32394. <Access>RW</Access>
  32395. <Values>
  32396. <Val value="0x0">No HDP area 2</Val>
  32397. <Val value="0x1">HDP second area is enabled</Val>
  32398. </Values>
  32399. </Bit>
  32400. <Bit config="2,12">
  32401. <Name>HDP2_PEND</Name>
  32402. <Description>End page of second hide protection area</Description>
  32403. <BitOffset>0x10</BitOffset>
  32404. <BitWidth>0x7</BitWidth>
  32405. <Access>RW</Access>
  32406. <Equation multiplier="0x4" offset="0x08000000"/>
  32407. </Bit>
  32408. <Bit config="3,13">
  32409. <Name>HDP2_PEND</Name>
  32410. <Description>End page of second hide protection area</Description>
  32411. <BitOffset>0x10</BitOffset>
  32412. <BitWidth>0x7</BitWidth>
  32413. <Access>RW</Access>
  32414. <Equation multiplier="0x2" offset="0x08000000"/>
  32415. </Bit>
  32416. </AssignedBits>
  32417. </Field>
  32418. <Field>
  32419. <Parameters name="FLASH_NSBOOTADD0" size="0x4" address="0x50022044"/>
  32420. <AssignedBits>
  32421. <Bit>
  32422. <Name>NSBOOTADD0</Name>
  32423. <Description>Non-secure Boot base address 0</Description>
  32424. <BitOffset>0x7</BitOffset>
  32425. <BitWidth>0x19</BitWidth>
  32426. <Access>RW</Access>
  32427. <Equation multiplier="0x80" offset="0x0000000"/>
  32428. </Bit>
  32429. </AssignedBits>
  32430. </Field>
  32431. <Field>
  32432. <Parameters name="FLASH_NSBOOTADD1" size="0x4" address="0x50022048"/>
  32433. <AssignedBits>
  32434. <Bit>
  32435. <Name>NSBOOTADD1</Name>
  32436. <Description>Non-secure Boot base address 1</Description>
  32437. <BitOffset>0x7</BitOffset>
  32438. <BitWidth>0x19</BitWidth>
  32439. <Access>RW</Access>
  32440. <Equation multiplier="0x80" offset="0x0000000"/>
  32441. </Bit>
  32442. </AssignedBits>
  32443. </Field>
  32444. <Field>
  32445. <Parameters name="FLASH_SECBOOTADD0" size="0x4" address="0x5002204C"/>
  32446. <AssignedBits>
  32447. <Bit>
  32448. <Name>SECBOOTADD0</Name>
  32449. <Description>Secure boot base address 0</Description>
  32450. <BitOffset>0x7</BitOffset>
  32451. <BitWidth>0x19</BitWidth>
  32452. <Access>RW</Access>
  32453. <Equation multiplier="0x80" offset="0x0000000"/>
  32454. </Bit>
  32455. </AssignedBits>
  32456. </Field>
  32457. <Field>
  32458. <Parameters name="BOOT_LOCK" size="0x4" address="0x5002204C"/>
  32459. <AssignedBits>
  32460. <Bit>
  32461. <Name>BOOT_LOCK</Name>
  32462. <Description> The boot is always forced to base address value programmed in SECBOOTADD0</Description>
  32463. <BitOffset>0x0</BitOffset>
  32464. <BitWidth>0x1</BitWidth>
  32465. <Access>RW</Access>
  32466. <Values>
  32467. <Val value="0x0">Boot based on the pad/option bit configuration</Val>
  32468. <Val value="0x1">Boot forced from base address memory</Val>
  32469. </Values>
  32470. </Bit>
  32471. </AssignedBits>
  32472. </Field>
  32473. </Category>
  32474. <Category>
  32475. <Name>Secure Area 1</Name>
  32476. <Field>
  32477. <Parameters name="FLASH_SECWM1R1" size="0x4" address="0x50022050"/>
  32478. <AssignedBits>
  32479. <Bit config="2,12">
  32480. <Name>SECWM1_PSTRT</Name>
  32481. <Description>Start page of first secure area</Description>
  32482. <BitOffset>0x0</BitOffset>
  32483. <BitWidth>0x7</BitWidth>
  32484. <Access>RW</Access>
  32485. <Equation multiplier="0x1000" offset="0x08000000"/>
  32486. </Bit>
  32487. <Bit config="3,13">
  32488. <Name>SECWM1_PSTRT</Name>
  32489. <Description>Start page of first secure area</Description>
  32490. <BitOffset>0x0</BitOffset>
  32491. <BitWidth>0x7</BitWidth>
  32492. <Access>RW</Access>
  32493. <Equation multiplier="0x800" offset="0x08000000"/>
  32494. </Bit>
  32495. <Bit config="2,12">
  32496. <Name>SECWM1_PEND</Name>
  32497. <Description>End page of first secure area</Description>
  32498. <BitOffset>0x10</BitOffset>
  32499. <BitWidth>0x7</BitWidth>
  32500. <Access>RW</Access>
  32501. <Equation multiplier="0x1000" offset="0x08000000"/>
  32502. </Bit>
  32503. <Bit config="3,13">
  32504. <Name>SECWM1_PEND</Name>
  32505. <Description>End page of first secure area</Description>
  32506. <BitOffset>0x10</BitOffset>
  32507. <BitWidth>0x7</BitWidth>
  32508. <Access>RW</Access>
  32509. <Equation multiplier="0x800" offset="0x08000000"/>
  32510. </Bit>
  32511. </AssignedBits>
  32512. </Field>
  32513. </Category>
  32514. <!-- <Category> -->
  32515. <!-- <Name>PCROP Protection (Bank 1)</Name> -->
  32516. <!-- <Field> -->
  32517. <!-- <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x50022054"/> -->
  32518. <!-- <AssignedBits> -->
  32519. <!-- <Bit config="2"> -->
  32520. <!-- <Name>PCROP1_PSTRT</Name> -->
  32521. <!-- <Description>Start page of first PCROP area</Description> -->
  32522. <!-- <BitOffset>0x0</BitOffset> -->
  32523. <!-- <BitWidth>0x7</BitWidth> -->
  32524. <!-- <Access>RW</Access> -->
  32525. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  32526. <!-- </Bit> -->
  32527. <!-- <Bit config="3"> -->
  32528. <!-- <Name>PCROP1_STRT</Name> -->
  32529. <!-- <Description>Flash Bank 1 PCROP start address</Description> -->
  32530. <!-- <BitOffset>0x0</BitOffset> -->
  32531. <!-- <BitWidth>0x7</BitWidth> -->
  32532. <!-- <Access>RW</Access> -->
  32533. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  32534. <!-- </Bit> -->
  32535. <!-- <Bit config="2"> -->
  32536. <!-- <Name>HDP1_PEND</Name> -->
  32537. <!-- <Description>End page of first hide protection area</Description> -->
  32538. <!-- <BitOffset>0x10</BitOffset> -->
  32539. <!-- <BitWidth>0x7</BitWidth> -->
  32540. <!-- <Access>RW</Access> -->
  32541. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  32542. <!-- </Bit> -->
  32543. <!-- <Bit config="3"> -->
  32544. <!-- <Name>HDP1_PEND</Name> -->
  32545. <!-- <Description>End page of first hide protection area</Description> -->
  32546. <!-- <BitOffset>0x10</BitOffset> -->
  32547. <!-- <BitWidth>0x7</BitWidth> -->
  32548. <!-- <Access>RW</Access> -->
  32549. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  32550. <!-- </Bit> -->
  32551. <!-- <Bit> -->
  32552. <!-- <Name>PCROP1EN</Name> -->
  32553. <!-- <Description>PCROP1 area enable</Description> -->
  32554. <!-- <BitOffset>0xF</BitOffset> -->
  32555. <!-- <BitWidth>0x1</BitWidth> -->
  32556. <!-- <Access>RW</Access> -->
  32557. <!-- <Values> -->
  32558. <!-- <Val value="0x0">PCROP1 area is disabled</Val> -->
  32559. <!-- <Val value="0x1">PCROP1 area is enabled</Val> -->
  32560. <!-- </Values> -->
  32561. <!-- </Bit> -->
  32562. <!-- <Bit> -->
  32563. <!-- <Name>HDP1EN</Name> -->
  32564. <!-- <Description>Hide protection first area enable</Description> -->
  32565. <!-- <BitOffset>0x1F</BitOffset> -->
  32566. <!-- <BitWidth>0x1</BitWidth> -->
  32567. <!-- <Access>RW</Access> -->
  32568. <!-- <Values> -->
  32569. <!-- <Val value="0x0">No HDP area 1</Val> -->
  32570. <!-- <Val value="0x1">HDP first area is enabled</Val> -->
  32571. <!-- </Values> -->
  32572. <!-- </Bit> -->
  32573. <!-- </AssignedBits> -->
  32574. <!-- </Field> -->
  32575. <!-- </Category> -->
  32576. <Category>
  32577. <Name>Write Protection 1</Name>
  32578. <Field>
  32579. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x50022058"/>
  32580. <AssignedBits>
  32581. <Bit config="2,12">
  32582. <Name>WRP1A_PSTRT</Name>
  32583. <Description>Bank 1 WPR first area "A" start page</Description>
  32584. <BitOffset>0x0</BitOffset>
  32585. <BitWidth>0x7</BitWidth>
  32586. <Access>RW</Access>
  32587. <Equation multiplier="0x1000" offset="0x08000000"/>
  32588. </Bit>
  32589. <Bit config="3,13">
  32590. <Name>WRP1A_PSTRT</Name>
  32591. <Description>Bank 1 WPR first area "A" start page</Description>
  32592. <BitOffset>0x0</BitOffset>
  32593. <BitWidth>0x7</BitWidth>
  32594. <Access>RW</Access>
  32595. <Equation multiplier="0x800" offset="0x08000000"/>
  32596. </Bit>
  32597. <Bit config="2,12">
  32598. <Name>WRP1A_PEND</Name>
  32599. <Description>Bank 1 WPR first area "A" end page</Description>
  32600. <BitOffset>0x10</BitOffset>
  32601. <BitWidth>0x7</BitWidth>
  32602. <Access>RW</Access>
  32603. <Equation multiplier="0x1000" offset="0x08000000"/>
  32604. </Bit>
  32605. <Bit config="3,13">
  32606. <Name>WRP1A_PEND</Name>
  32607. <Description>Bank 1 WPR first area "A" end page</Description>
  32608. <BitOffset>0x10</BitOffset>
  32609. <BitWidth>0x7</BitWidth>
  32610. <Access>RW</Access>
  32611. <Equation multiplier="0x800" offset="0x08000000"/>
  32612. </Bit>
  32613. </AssignedBits>
  32614. </Field>
  32615. <Field>
  32616. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x5002205C"/>
  32617. <AssignedBits>
  32618. <Bit config="2,12">
  32619. <Name>WRP1B_PSTRT</Name>
  32620. <Description>Bank 1 WPR first area "B" start page</Description>
  32621. <BitOffset>0x0</BitOffset>
  32622. <BitWidth>0x7</BitWidth>
  32623. <Access>RW</Access>
  32624. <Equation multiplier="0x1000" offset="0x08000000"/>
  32625. </Bit>
  32626. <Bit config="3,13">
  32627. <Name>WRP1B_PSTRT</Name>
  32628. <Description>Bank 1 WPR first area "B" start page</Description>
  32629. <BitOffset>0x0</BitOffset>
  32630. <BitWidth>0x7</BitWidth>
  32631. <Access>RW</Access>
  32632. <Equation multiplier="0x800" offset="0x08000000"/>
  32633. </Bit>
  32634. <Bit config="2,12">
  32635. <Name>WRP1B_PEND</Name>
  32636. <Description>Bank 1 WPR first area "B" end page</Description>
  32637. <BitOffset>0x10</BitOffset>
  32638. <BitWidth>0x7</BitWidth>
  32639. <Access>RW</Access>
  32640. <Equation multiplier="0x1000" offset="0x08000000"/>
  32641. </Bit>
  32642. <Bit config="3,13">
  32643. <Name>WRP1B_PEND</Name>
  32644. <Description>Bank 1 WPR first area "B" end page</Description>
  32645. <BitOffset>0x10</BitOffset>
  32646. <BitWidth>0x7</BitWidth>
  32647. <Access>RW</Access>
  32648. <Equation multiplier="0x800" offset="0x08000000"/>
  32649. </Bit>
  32650. </AssignedBits>
  32651. </Field>
  32652. </Category>
  32653. </Bank>
  32654. <Bank interface="JTAG_SWD">
  32655. <Parameters name="Bank 2" size="0x10" address="0x50022060"/>
  32656. <Category>
  32657. <Name>Secure Area 2</Name>
  32658. <Field>
  32659. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x50022060"/>
  32660. <AssignedBits>
  32661. <Bit config="2,12">
  32662. <Name>SECWM2_PSTRT</Name>
  32663. <Description>Start page of second secure area</Description>
  32664. <BitOffset>0x0</BitOffset>
  32665. <BitWidth>0x7</BitWidth>
  32666. <Access>RW</Access>
  32667. <Equation multiplier="0x1000" offset="0x08000000"/>
  32668. </Bit>
  32669. <Bit config="3">
  32670. <Name>SECWM2_PSTRT</Name>
  32671. <Description>Start page of second secure area</Description>
  32672. <BitOffset>0x0</BitOffset>
  32673. <BitWidth>0x7</BitWidth>
  32674. <Access>RW</Access>
  32675. <Equation multiplier="0x800" offset="0x08040000"/>
  32676. </Bit>
  32677. <Bit config="13">
  32678. <Name>SECWM2_PSTRT</Name>
  32679. <Description>Start page of second secure area</Description>
  32680. <BitOffset>0x0</BitOffset>
  32681. <BitWidth>0x7</BitWidth>
  32682. <Access>RW</Access>
  32683. <Equation multiplier="0x800" offset="0x08020000"/>
  32684. </Bit>
  32685. <Bit config="2,12">
  32686. <Name>SECWM2_PEND</Name>
  32687. <Description>End page of second secure area</Description>
  32688. <BitOffset>0x10</BitOffset>
  32689. <BitWidth>0x7</BitWidth>
  32690. <Access>RW</Access>
  32691. <Equation multiplier="0x1000" offset="0x08000000"/>
  32692. </Bit>
  32693. <Bit config="3,13">
  32694. <Name>SECWM2_PEND</Name>
  32695. <Description>End page of second secure area</Description>
  32696. <BitOffset>0x10</BitOffset>
  32697. <BitWidth>0x7</BitWidth>
  32698. <Access>RW</Access>
  32699. <Equation multiplier="0x800" offset="0x08040000"/>
  32700. </Bit>
  32701. </AssignedBits>
  32702. </Field>
  32703. </Category>
  32704. <!-- <Category> -->
  32705. <!-- <Name>PCROP Protection (Bank 2)</Name> -->
  32706. <!-- <Field> -->
  32707. <!-- <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x50022064"/> -->
  32708. <!-- <AssignedBits> -->
  32709. <!-- <Bit config="2"> -->
  32710. <!-- <Name>PCROP2_PSTRT</Name> -->
  32711. <!-- <Description>Start page of first PCROP area</Description> -->
  32712. <!-- <BitOffset>0x0</BitOffset> -->
  32713. <!-- <BitWidth>0x7</BitWidth> -->
  32714. <!-- <Access>RW</Access> -->
  32715. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  32716. <!-- </Bit> -->
  32717. <!-- <Bit config="3"> -->
  32718. <!-- <Name>PCROP2_STRT</Name> -->
  32719. <!-- <Description>Flash Bank 2 PCROP start address</Description> -->
  32720. <!-- <BitOffset>0x0</BitOffset> -->
  32721. <!-- <BitWidth>0x7</BitWidth> -->
  32722. <!-- <Access>RW</Access> -->
  32723. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  32724. <!-- </Bit> -->
  32725. <!-- <Bit config="2"> -->
  32726. <!-- <Name>HDP2_PEND</Name> -->
  32727. <!-- <Description>End page of second hide protection area</Description> -->
  32728. <!-- <BitOffset>0x10</BitOffset> -->
  32729. <!-- <BitWidth>0x7</BitWidth> -->
  32730. <!-- <Access>RW</Access> -->
  32731. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  32732. <!-- </Bit> -->
  32733. <!-- <Bit config="3"> -->
  32734. <!-- <Name>HDP2_PEND</Name> -->
  32735. <!-- <Description>End page of second hide protection area</Description> -->
  32736. <!-- <BitOffset>0x10</BitOffset> -->
  32737. <!-- <BitWidth>0x7</BitWidth> -->
  32738. <!-- <Access>RW</Access> -->
  32739. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  32740. <!-- </Bit> -->
  32741. <!-- <Bit config="2,3"> -->
  32742. <!-- <Name>PCROP2EN</Name> -->
  32743. <!-- <Description>PCROP2 area enable</Description> -->
  32744. <!-- <BitOffset>0xF</BitOffset> -->
  32745. <!-- <BitWidth>0x1</BitWidth> -->
  32746. <!-- <Access>RW</Access> -->
  32747. <!-- <Values> -->
  32748. <!-- <Val value="0x0">PCROP2 area is disabled</Val> -->
  32749. <!-- <Val value="0x1">PCROP2 area is enabled</Val> -->
  32750. <!-- </Values> -->
  32751. <!-- </Bit> -->
  32752. <!-- <Bit config="2,3"> -->
  32753. <!-- <Name>HDP2EN</Name> -->
  32754. <!-- <Description>Hide protection second area enable</Description> -->
  32755. <!-- <BitOffset>0x1F</BitOffset> -->
  32756. <!-- <BitWidth>0x1</BitWidth> -->
  32757. <!-- <Access>RW</Access> -->
  32758. <!-- <Values> -->
  32759. <!-- <Val value="0x0">No HDP area 2</Val> -->
  32760. <!-- <Val value="0x1">HDP second area is enabled</Val> -->
  32761. <!-- </Values> -->
  32762. <!-- </Bit> -->
  32763. <!-- </AssignedBits> -->
  32764. <!-- </Field> -->
  32765. <!-- </Category> -->
  32766. <Category>
  32767. <Name>Write Protection 2</Name>
  32768. <Field>
  32769. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x50022068"/>
  32770. <AssignedBits>
  32771. <Bit config="2,12">
  32772. <Name>WRP2A_PSTRT</Name>
  32773. <Description>Bank 2 WPR first area "A" start page</Description>
  32774. <BitOffset>0x0</BitOffset>
  32775. <BitWidth>0x7</BitWidth>
  32776. <Access>RW</Access>
  32777. <Equation multiplier="0x1000" offset="0x08040000"/>
  32778. </Bit>
  32779. <Bit config="3,13">
  32780. <Name>WRP2A_PSTRT</Name>
  32781. <Description>Bank 2 WPR first area "A" start page</Description>
  32782. <BitOffset>0x0</BitOffset>
  32783. <BitWidth>0x7</BitWidth>
  32784. <Access>RW</Access>
  32785. <Equation multiplier="0x800" offset="0x08040000"/>
  32786. </Bit>
  32787. <Bit config="2,12">
  32788. <Name>WRP2A_PEND</Name>
  32789. <Description>Bank 2 WPR first area "A" end page</Description>
  32790. <BitOffset>0x10</BitOffset>
  32791. <BitWidth>0x7</BitWidth>
  32792. <Access>RW</Access>
  32793. <Equation multiplier="0x1000" offset="0x08040000"/>
  32794. </Bit>
  32795. <Bit config="3,13">
  32796. <Name>WRP2A_PEND</Name>
  32797. <Description>Bank 2 WPR first area "A" end page</Description>
  32798. <BitOffset>0x10</BitOffset>
  32799. <BitWidth>0x7</BitWidth>
  32800. <Access>RW</Access>
  32801. <Equation multiplier="0x800" offset="0x08040000"/>
  32802. </Bit>
  32803. </AssignedBits>
  32804. </Field>
  32805. <Field>
  32806. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x5002206C"/>
  32807. <AssignedBits>
  32808. <Bit config="2,12">
  32809. <Name>WRP2B_PSTRT</Name>
  32810. <Description>Bank 2 WPR first area "B" start page</Description>
  32811. <BitOffset>0x0</BitOffset>
  32812. <BitWidth>0x7</BitWidth>
  32813. <Access>RW</Access>
  32814. <Equation multiplier="0x1000" offset="0x08040000"/>
  32815. </Bit>
  32816. <Bit config="3,13">
  32817. <Name>WRP2B_PSTRT</Name>
  32818. <Description>Bank 2 WPR first area "B" start page</Description>
  32819. <BitOffset>0x0</BitOffset>
  32820. <BitWidth>0x7</BitWidth>
  32821. <Access>RW</Access>
  32822. <Equation multiplier="0x800" offset="0x08040000"/>
  32823. </Bit>
  32824. <Bit config="2,12">
  32825. <Name>WRP2B_PEND</Name>
  32826. <Description>Bank 2 WPR first area "B" end page</Description>
  32827. <BitOffset>0x10</BitOffset>
  32828. <BitWidth>0x7</BitWidth>
  32829. <Access>RW</Access>
  32830. <Equation multiplier="0x1000" offset="0x08040000"/>
  32831. </Bit>
  32832. <Bit config="3,13">
  32833. <Name>WRP2B_PEND</Name>
  32834. <Description>Bank 2 WPR first area "B" end page</Description>
  32835. <BitOffset>0x10</BitOffset>
  32836. <BitWidth>0x7</BitWidth>
  32837. <Access>RW</Access>
  32838. <Equation multiplier="0x800" offset="0x08040000"/>
  32839. </Bit>
  32840. </AssignedBits>
  32841. </Field>
  32842. </Category>
  32843. </Bank>
  32844. </Configuration>
  32845. <Bank interface="Bootloader">
  32846. <Parameters name="Bank 1" size="0x30" address="0x40022040"/>
  32847. <Category>
  32848. <Name>Read Out Protection</Name>
  32849. <Field>
  32850. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  32851. <AssignedBits>
  32852. <Bit>
  32853. <Name>RDP</Name>
  32854. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  32855. <BitOffset>0x0</BitOffset>
  32856. <BitWidth>0x8</BitWidth>
  32857. <Access>RW</Access>
  32858. <Values>
  32859. <Val value="0xAA">Level 0, no protection</Val>
  32860. <Val value="0x55">Level 0.5, read protection not active, only non-secure debug access is possible. Only available when TrustZone is active (TZEN=1)</Val>
  32861. <Val value="0xDC">Level 1, read protection of memories</Val>
  32862. <Val value="0xCC">Level 2, chip protection</Val>
  32863. </Values>
  32864. </Bit>
  32865. </AssignedBits>
  32866. </Field>
  32867. </Category>
  32868. <Category>
  32869. <Name>BOR Level</Name>
  32870. <Field>
  32871. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  32872. <AssignedBits>
  32873. <Bit>
  32874. <Name>BOR_LEV</Name>
  32875. <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>
  32876. <BitOffset>0x8</BitOffset>
  32877. <BitWidth>0x3</BitWidth>
  32878. <Access>RW</Access>
  32879. <Values>
  32880. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  32881. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  32882. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  32883. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  32884. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  32885. </Values>
  32886. </Bit>
  32887. </AssignedBits>
  32888. </Field>
  32889. </Category>
  32890. <Category>
  32891. <Name>User Configuration</Name>
  32892. <Field>
  32893. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  32894. <AssignedBits>
  32895. <Bit>
  32896. <Name>nRST_STOP</Name>
  32897. <Description/>
  32898. <BitOffset>0xC</BitOffset>
  32899. <BitWidth>0x1</BitWidth>
  32900. <Access>RW</Access>
  32901. <Values>
  32902. <Val value="0x0">Reset generated when entering Stop mode</Val>
  32903. <Val value="0x1">No reset generated when entering Stop mode</Val>
  32904. </Values>
  32905. </Bit>
  32906. <Bit>
  32907. <Name>nRST_STDBY</Name>
  32908. <Description/>
  32909. <BitOffset>0xD</BitOffset>
  32910. <BitWidth>0x1</BitWidth>
  32911. <Access>RW</Access>
  32912. <Values>
  32913. <Val value="0x0">Reset generated when entering Standby mode</Val>
  32914. <Val value="0x1">No reset generated when entering Standby mode</Val>
  32915. </Values>
  32916. </Bit>
  32917. <Bit>
  32918. <Name>nRST_SHDW</Name>
  32919. <Description/>
  32920. <BitOffset>0xE</BitOffset>
  32921. <BitWidth>0x1</BitWidth>
  32922. <Access>RW</Access>
  32923. <Values>
  32924. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  32925. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  32926. </Values>
  32927. </Bit>
  32928. <Bit>
  32929. <Name>IWDG_SW</Name>
  32930. <Description/>
  32931. <BitOffset>0x10</BitOffset>
  32932. <BitWidth>0x1</BitWidth>
  32933. <Access>RW</Access>
  32934. <Values>
  32935. <Val value="0x0">Hardware independant watchdog</Val>
  32936. <Val value="0x1">Software independant watchdog</Val>
  32937. </Values>
  32938. </Bit>
  32939. <Bit>
  32940. <Name>IWDG_STOP</Name>
  32941. <Description/>
  32942. <BitOffset>0x11</BitOffset>
  32943. <BitWidth>0x1</BitWidth>
  32944. <Access>RW</Access>
  32945. <Values>
  32946. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  32947. <Val value="0x1">IWDG counter active in stop mode</Val>
  32948. </Values>
  32949. </Bit>
  32950. <Bit>
  32951. <Name>IWDG_STDBY</Name>
  32952. <Description/>
  32953. <BitOffset>0x12</BitOffset>
  32954. <BitWidth>0x1</BitWidth>
  32955. <Access>RW</Access>
  32956. <Values>
  32957. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  32958. <Val value="0x1">IWDG counter active in standby mode</Val>
  32959. </Values>
  32960. </Bit>
  32961. <Bit>
  32962. <Name>WWDG_SW</Name>
  32963. <Description/>
  32964. <BitOffset>0x13</BitOffset>
  32965. <BitWidth>0x1</BitWidth>
  32966. <Access>RW</Access>
  32967. <Values>
  32968. <Val value="0x0">Hardware window watchdog</Val>
  32969. <Val value="0x1">Software window watchdog</Val>
  32970. </Values>
  32971. </Bit>
  32972. <Bit>
  32973. <Name>SWAP_BANK</Name>
  32974. <Description/>
  32975. <BitOffset>0x14</BitOffset>
  32976. <BitWidth>0x1</BitWidth>
  32977. <Access>RW</Access>
  32978. <Values>
  32979. <Val value="0x0">Bank 1 and bank 2 address are not swapped</Val>
  32980. <Val value="0x1">Bank 1 and bank 2 address are swapped</Val>
  32981. </Values>
  32982. </Bit>
  32983. <Bit>
  32984. <Name>DB256</Name>
  32985. <Description>Dual-Bank on 256 Kb Flash memory devices</Description>
  32986. <BitOffset>0x15</BitOffset>
  32987. <BitWidth>0x1</BitWidth>
  32988. <Access>RW</Access>
  32989. <Values>
  32990. <Val value="0x0">256Kb single Flash: contiguous address in bank1</Val>
  32991. <Val value="0x1">256Kb dual-bank Flash with contiguous addresses</Val>
  32992. </Values>
  32993. </Bit>
  32994. <Bit>
  32995. <Name>DBANK</Name>
  32996. <Description>This bit can only be written when all protection (secure, PCROP, HDP) are disabled</Description>
  32997. <BitOffset>0x16</BitOffset>
  32998. <BitWidth>0x1</BitWidth>
  32999. <Access>RW</Access>
  33000. <Values>
  33001. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  33002. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  33003. </Values>
  33004. </Bit>
  33005. <Bit>
  33006. <Name>SRAM2_PE</Name>
  33007. <Description>SRAM2 parity check enable</Description>
  33008. <BitOffset>0x18</BitOffset>
  33009. <BitWidth>0x1</BitWidth>
  33010. <Access>RW</Access>
  33011. <Values>
  33012. <Val value="0x0">SRAM2 parity check enable</Val>
  33013. <Val value="0x1">SRAM2 parity check disable</Val>
  33014. </Values>
  33015. </Bit>
  33016. <Bit>
  33017. <Name>SRAM2_RST</Name>
  33018. <Description>SRAM2 Erase when system reset</Description>
  33019. <BitOffset>0x19</BitOffset>
  33020. <BitWidth>0x1</BitWidth>
  33021. <Access>RW</Access>
  33022. <Values>
  33023. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  33024. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  33025. </Values>
  33026. </Bit>
  33027. <Bit>
  33028. <Name>nSWBOOT0</Name>
  33029. <Description>Software BOOT0</Description>
  33030. <BitOffset>0x1A</BitOffset>
  33031. <BitWidth>0x1</BitWidth>
  33032. <Access>RW</Access>
  33033. <Values>
  33034. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  33035. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  33036. </Values>
  33037. </Bit>
  33038. <Bit>
  33039. <Name>nBOOT0</Name>
  33040. <Description>nBOOT0 option bit</Description>
  33041. <BitOffset>0x1B</BitOffset>
  33042. <BitWidth>0x1</BitWidth>
  33043. <Access>RW</Access>
  33044. <Values>
  33045. <Val value="0x0">nBOOT0 = 0</Val>
  33046. <Val value="0x1">nBOOT0 = 1</Val>
  33047. </Values>
  33048. </Bit>
  33049. <Bit>
  33050. <Name>PA15_PUPEN</Name>
  33051. <Description>PA15 pull-up enable</Description>
  33052. <BitOffset>0x1C</BitOffset>
  33053. <BitWidth>0x1</BitWidth>
  33054. <Access>RW</Access>
  33055. <Values>
  33056. <Val value="0x0">USB power delivery dead-battery enabled/ TDI pull-up deactivated</Val>
  33057. <Val value="0x1">USB power delivery dead-battery disabled/ TDI pull-up activated</Val>
  33058. </Values>
  33059. </Bit>
  33060. <Bit>
  33061. <Name>TZEN</Name>
  33062. <Description>Global TrustZone security enable</Description>
  33063. <BitOffset>0x1F</BitOffset>
  33064. <BitWidth>0x1</BitWidth>
  33065. <Access>RW</Access>
  33066. <Values>
  33067. <Val value="0x0">Global TrustZone security disabled</Val>
  33068. <Val value="0x1">Global TrustZone security enabled</Val>
  33069. </Values>
  33070. </Bit>
  33071. </AssignedBits>
  33072. </Field>
  33073. <Field>
  33074. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x40022054"/>
  33075. <AssignedBits>
  33076. <Bit config="6,7,8,9">
  33077. <Name>HDP1EN</Name>
  33078. <Description>Hide protection first area enable</Description>
  33079. <BitOffset>0x1F</BitOffset>
  33080. <BitWidth>0x1</BitWidth>
  33081. <Access>RW</Access>
  33082. <Values>
  33083. <Val value="0x0">No HDP area 1</Val>
  33084. <Val value="0x1">HDP first area is enabled</Val>
  33085. </Values>
  33086. </Bit>
  33087. <Bit config="6,8">
  33088. <Name>HDP1_PEND</Name>
  33089. <Description>End page of first hide protection area</Description>
  33090. <BitOffset>0x10</BitOffset>
  33091. <BitWidth>0x7</BitWidth>
  33092. <Access>RW</Access>
  33093. <Equation multiplier="0x4" offset="0x08000000"/>
  33094. </Bit>
  33095. <Bit config="7,9">
  33096. <Name>HDP1_PEND</Name>
  33097. <Description>End page of first hide protection area</Description>
  33098. <BitOffset>0x10</BitOffset>
  33099. <BitWidth>0x7</BitWidth>
  33100. <Access>RW</Access>
  33101. <Equation multiplier="0x2" offset="0x08000000"/>
  33102. </Bit>
  33103. </AssignedBits>
  33104. </Field>
  33105. <Field>
  33106. <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x40022064"/>
  33107. <AssignedBits>
  33108. <Bit config="6,7,8,9">
  33109. <Name>HDP2EN</Name>
  33110. <Description>Hide protection second area enable</Description>
  33111. <BitOffset>0x1F</BitOffset>
  33112. <BitWidth>0x1</BitWidth>
  33113. <Access>RW</Access>
  33114. <Values>
  33115. <Val value="0x0">No HDP area 2</Val>
  33116. <Val value="0x1">HDP second area is enabled</Val>
  33117. </Values>
  33118. </Bit>
  33119. <Bit config="6,8">
  33120. <Name>HDP2_PEND</Name>
  33121. <Description>End page of second hide protection area</Description>
  33122. <BitOffset>0x10</BitOffset>
  33123. <BitWidth>0x7</BitWidth>
  33124. <Access>RW</Access>
  33125. <Equation multiplier="0x4" offset="0x08000000"/>
  33126. </Bit>
  33127. <Bit config="7,9">
  33128. <Name>HDP2_PEND</Name>
  33129. <Description>End page of second hide protection area</Description>
  33130. <BitOffset>0x10</BitOffset>
  33131. <BitWidth>0x7</BitWidth>
  33132. <Access>RW</Access>
  33133. <Equation multiplier="0x2" offset="0x08000000"/>
  33134. </Bit>
  33135. </AssignedBits>
  33136. </Field>
  33137. <Field>
  33138. <Parameters name="FLASH_NSBOOTADD0" size="0x4" address="0x40022044"/>
  33139. <AssignedBits>
  33140. <Bit>
  33141. <Name>NSBOOTADD0</Name>
  33142. <Description>Non-secure Boot base address 0</Description>
  33143. <BitOffset>0x7</BitOffset>
  33144. <BitWidth>0x19</BitWidth>
  33145. <Access>RW</Access>
  33146. <Equation multiplier="0x80" offset="0x0000000"/>
  33147. </Bit>
  33148. </AssignedBits>
  33149. </Field>
  33150. <Field>
  33151. <Parameters name="FLASH_NSBOOTADD1" size="0x4" address="0x40022048"/>
  33152. <AssignedBits>
  33153. <Bit>
  33154. <Name>NSBOOTADD1</Name>
  33155. <Description>Non-secure Boot base address 1</Description>
  33156. <BitOffset>0x7</BitOffset>
  33157. <BitWidth>0x19</BitWidth>
  33158. <Access>RW</Access>
  33159. <Equation multiplier="0x80" offset="0x0000000"/>
  33160. </Bit>
  33161. </AssignedBits>
  33162. </Field>
  33163. <Field>
  33164. <Parameters name="FLASH_SECBOOTADD0" size="0x4" address="0x4002204C"/>
  33165. <AssignedBits>
  33166. <Bit>
  33167. <Name>SECBOOTADD0</Name>
  33168. <Description>Secure boot base address 0</Description>
  33169. <BitOffset>0x7</BitOffset>
  33170. <BitWidth>0x19</BitWidth>
  33171. <Access>RW</Access>
  33172. <Equation multiplier="0x80" offset="0x0000000"/>
  33173. </Bit>
  33174. </AssignedBits>
  33175. </Field>
  33176. </Category>
  33177. <Category>
  33178. <Name>Secure area 1</Name>
  33179. <Field>
  33180. <Parameters name="FLASH_SECWM1R1" size="0x4" address="0x40022050"/>
  33181. <AssignedBits>
  33182. <Bit config="6,8">
  33183. <Name>SECWM1_PSTRT</Name>
  33184. <Description>Start page of first secure area</Description>
  33185. <BitOffset>0x0</BitOffset>
  33186. <BitWidth>0x7</BitWidth>
  33187. <Access>RW</Access>
  33188. <Equation multiplier="0x1000" offset="0x08000000"/>
  33189. </Bit>
  33190. <Bit config="7,9">
  33191. <Name>SECWM1_PSTRT</Name>
  33192. <Description>Start page of first secure area</Description>
  33193. <BitOffset>0x0</BitOffset>
  33194. <BitWidth>0x7</BitWidth>
  33195. <Access>RW</Access>
  33196. <Equation multiplier="0x800" offset="0x08000000"/>
  33197. </Bit>
  33198. <Bit config="6,8">
  33199. <Name>SECWM1_PEND</Name>
  33200. <Description>End page of first secure area</Description>
  33201. <BitOffset>0x10</BitOffset>
  33202. <BitWidth>0x7</BitWidth>
  33203. <Access>RW</Access>
  33204. <Equation multiplier="0x1000" offset="0x08000000"/>
  33205. </Bit>
  33206. <Bit config="7,9">
  33207. <Name>SECWM1_PEND</Name>
  33208. <Description>End page of first secure area</Description>
  33209. <BitOffset>0x10</BitOffset>
  33210. <BitWidth>0x7</BitWidth>
  33211. <Access>RW</Access>
  33212. <Equation multiplier="0x800" offset="0x08000000"/>
  33213. </Bit>
  33214. </AssignedBits>
  33215. </Field>
  33216. </Category>
  33217. <Category>
  33218. <Name>Write Protection 1</Name>
  33219. <Field>
  33220. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x40022058"/>
  33221. <AssignedBits>
  33222. <Bit config="6,8">
  33223. <Name>WRP1A_PSTRT</Name>
  33224. <Description>Bank 1 WPR first area "A" start page</Description>
  33225. <BitOffset>0x0</BitOffset>
  33226. <BitWidth>0x7</BitWidth>
  33227. <Access>RW</Access>
  33228. <Equation multiplier="0x1000" offset="0x08000000"/>
  33229. </Bit>
  33230. <Bit config="7,9">
  33231. <Name>WRP1A_PSTRT</Name>
  33232. <Description>Bank 1 WPR first area "A" start page</Description>
  33233. <BitOffset>0x0</BitOffset>
  33234. <BitWidth>0x7</BitWidth>
  33235. <Access>RW</Access>
  33236. <Equation multiplier="0x800" offset="0x08000000"/>
  33237. </Bit>
  33238. <Bit config="6,8">
  33239. <Name>WRP1A_PEND</Name>
  33240. <Description>Bank 1 WPR first area "A" end page</Description>
  33241. <BitOffset>0x10</BitOffset>
  33242. <BitWidth>0x7</BitWidth>
  33243. <Access>RW</Access>
  33244. <Equation multiplier="0x1000" offset="0x08000000"/>
  33245. </Bit>
  33246. <Bit config="7,9">
  33247. <Name>WRP1A_PEND</Name>
  33248. <Description>Bank 1 WPR first area "A" end page</Description>
  33249. <BitOffset>0x10</BitOffset>
  33250. <BitWidth>0x7</BitWidth>
  33251. <Access>RW</Access>
  33252. <Equation multiplier="0x800" offset="0x08000000"/>
  33253. </Bit>
  33254. </AssignedBits>
  33255. </Field>
  33256. <Field>
  33257. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x4002205C"/>
  33258. <AssignedBits>
  33259. <Bit config="6,8">
  33260. <Name>WRP1B_PSTRT</Name>
  33261. <Description>Bank 1 WPR first area "B" start page</Description>
  33262. <BitOffset>0x0</BitOffset>
  33263. <BitWidth>0x7</BitWidth>
  33264. <Access>RW</Access>
  33265. <Equation multiplier="0x1000" offset="0x08000000"/>
  33266. </Bit>
  33267. <Bit config="7,9">
  33268. <Name>WRP1B_PSTRT</Name>
  33269. <Description>Bank 1 WPR first area "B" start page</Description>
  33270. <BitOffset>0x0</BitOffset>
  33271. <BitWidth>0x7</BitWidth>
  33272. <Access>RW</Access>
  33273. <Equation multiplier="0x800" offset="0x08000000"/>
  33274. </Bit>
  33275. <Bit config="6,8">
  33276. <Name>WRP1B_PEND</Name>
  33277. <Description>Bank 1 WPR first area "B" end page</Description>
  33278. <BitOffset>0x10</BitOffset>
  33279. <BitWidth>0x7</BitWidth>
  33280. <Access>RW</Access>
  33281. <Equation multiplier="0x1000" offset="0x08000000"/>
  33282. </Bit>
  33283. <Bit config="7,9">
  33284. <Name>WRP1B_PEND</Name>
  33285. <Description>Bank 1 WPR first area "B" end page</Description>
  33286. <BitOffset>0x10</BitOffset>
  33287. <BitWidth>0x7</BitWidth>
  33288. <Access>RW</Access>
  33289. <Equation multiplier="0x800" offset="0x08000000"/>
  33290. </Bit>
  33291. </AssignedBits>
  33292. </Field>
  33293. </Category>
  33294. <Category>
  33295. <Name>Secure area 2</Name>
  33296. <Field>
  33297. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x40022060"/>
  33298. <AssignedBits>
  33299. <Bit config="6,8">
  33300. <Name>SECWM2_PSTRT</Name>
  33301. <Description>Start page of second secure area</Description>
  33302. <BitOffset>0x0</BitOffset>
  33303. <BitWidth>0x7</BitWidth>
  33304. <Access>RW</Access>
  33305. <Equation multiplier="0x1000" offset="0x08000000"/>
  33306. </Bit>
  33307. <Bit config="7,9">
  33308. <Name>SECWM2_PSTRT</Name>
  33309. <Description>Start page of second secure area</Description>
  33310. <BitOffset>0x0</BitOffset>
  33311. <BitWidth>0x7</BitWidth>
  33312. <Access>RW</Access>
  33313. <Equation multiplier="0x800" offset="0x08000000"/>
  33314. </Bit>
  33315. <Bit config="6,8">
  33316. <Name>SECWM2_PEND</Name>
  33317. <Description>End page of second secure area</Description>
  33318. <BitOffset>0x10</BitOffset>
  33319. <BitWidth>0x7</BitWidth>
  33320. <Access>RW</Access>
  33321. <Equation multiplier="0x1000" offset="0x08000000"/>
  33322. </Bit>
  33323. <Bit config="7,9">
  33324. <Name>SECWM2_PEND</Name>
  33325. <Description>End page of second secure area</Description>
  33326. <BitOffset>0x10</BitOffset>
  33327. <BitWidth>0x7</BitWidth>
  33328. <Access>RW</Access>
  33329. <Equation multiplier="0x800" offset="0x08000000"/>
  33330. </Bit>
  33331. </AssignedBits>
  33332. </Field>
  33333. </Category>
  33334. <Category>
  33335. <Name>Write Protection 2</Name>
  33336. <Field>
  33337. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x40022068"/>
  33338. <AssignedBits>
  33339. <Bit config="6,8">
  33340. <Name>WRP2A_PSTRT</Name>
  33341. <Description>Bank 2 WPR first area "A" start page</Description>
  33342. <BitOffset>0x0</BitOffset>
  33343. <BitWidth>0x7</BitWidth>
  33344. <Access>RW</Access>
  33345. <Equation multiplier="0x1000" offset="0x08000000"/>
  33346. </Bit>
  33347. <Bit config="7,9">
  33348. <Name>WRP2A_PSTRT</Name>
  33349. <Description>Bank 2 WPR first area "A" start page</Description>
  33350. <BitOffset>0x0</BitOffset>
  33351. <BitWidth>0x7</BitWidth>
  33352. <Access>RW</Access>
  33353. <Equation multiplier="0x800" offset="0x08040000"/>
  33354. </Bit>
  33355. <Bit config="6,8">
  33356. <Name>WRP2A_PEND</Name>
  33357. <Description>Bank 2 WPR first area "A" end page</Description>
  33358. <BitOffset>0x10</BitOffset>
  33359. <BitWidth>0x7</BitWidth>
  33360. <Access>RW</Access>
  33361. <Equation multiplier="0x1000" offset="0x08000000"/>
  33362. </Bit>
  33363. <Bit config="7,9">
  33364. <Name>WRP2A_PEND</Name>
  33365. <Description>Bank 2 WPR first area "A" end page</Description>
  33366. <BitOffset>0x10</BitOffset>
  33367. <BitWidth>0x7</BitWidth>
  33368. <Access>RW</Access>
  33369. <Equation multiplier="0x800" offset="0x08040000"/>
  33370. </Bit>
  33371. </AssignedBits>
  33372. </Field>
  33373. <Field>
  33374. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x4002206C"/>
  33375. <AssignedBits>
  33376. <Bit config="6,8">
  33377. <Name>WRP2B_PSTRT</Name>
  33378. <Description>Bank 2 WPR first area "B" start page</Description>
  33379. <BitOffset>0x0</BitOffset>
  33380. <BitWidth>0x7</BitWidth>
  33381. <Access>RW</Access>
  33382. <Equation multiplier="0x1000" offset="0x08000000"/>
  33383. </Bit>
  33384. <Bit config="7,9">
  33385. <Name>WRP2B_PSTRT</Name>
  33386. <Description>Bank 2 WPR first area "B" start page</Description>
  33387. <BitOffset>0x0</BitOffset>
  33388. <BitWidth>0x7</BitWidth>
  33389. <Access>RW</Access>
  33390. <Equation multiplier="0x800" offset="0x08040000"/>
  33391. </Bit>
  33392. <Bit config="6,8">
  33393. <Name>WRP2B_PEND</Name>
  33394. <Description>Bank 2 WPR first area "B" end page</Description>
  33395. <BitOffset>0x10</BitOffset>
  33396. <BitWidth>0x7</BitWidth>
  33397. <Access>RW</Access>
  33398. <Equation multiplier="0x1000" offset="0x08000000"/>
  33399. </Bit>
  33400. <Bit config="7,9">
  33401. <Name>WRP2B_PEND</Name>
  33402. <Description>Bank 2 WPR first area "B" end page</Description>
  33403. <BitOffset>0x10</BitOffset>
  33404. <BitWidth>0x7</BitWidth>
  33405. <Access>RW</Access>
  33406. <Equation multiplier="0x800" offset="0x08040000"/>
  33407. </Bit>
  33408. </AssignedBits>
  33409. </Field>
  33410. </Category>
  33411. </Bank>
  33412. </Peripheral>
  33413. </Peripherals>
  33414. </Device>
  33415. <Device>
  33416. <DeviceID>0x482</DeviceID>
  33417. <Vendor>STMicroelectronics</Vendor>
  33418. <Type>MCU</Type>
  33419. <CPU>Cortex-M33</CPU>
  33420. <Name>STM32U5xx</Name>
  33421. <Series>STM32U5</Series>
  33422. <Description>ARM 32-bit Cortex-M33 based device</Description>
  33423. <Configurations>
  33424. <!-- JTAG_SWD Interface -->
  33425. <Interface name="JTAG_SWD">
  33426. <Configuration number="0x0"> <!-- Single Bank non secure -->
  33427. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x00200000" value="0x0"/> </DBANK>
  33428. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  33429. </Configuration>
  33430. <Configuration number="0x1"> <!-- Dual Bank non secure -->
  33431. <DBANK reference="0x1"> <ReadRegister address="0x40022040" mask="0x00200000" value="0x00200000"/> </DBANK>
  33432. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  33433. </Configuration>
  33434. <Configuration number="0x2"> <!-- Single Bank secure + RDP=0xAA -->
  33435. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x00200000" value="0x0"/> </DBANK>
  33436. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  33437. <RDP reference="0x1"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP>
  33438. </Configuration>
  33439. <Configuration number="0x3"> <!-- Dual Bank secure + RDP=0xAA -->
  33440. <DBANK reference="0x1"> <ReadRegister address="0x40022040" mask="0x00200000" value="0x00200000"/> </DBANK>
  33441. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  33442. <RDP reference="0x1"> <ReadRegister address="0x40022040" mask="0x000000FF" value="0x000000AA"/> </RDP>
  33443. </Configuration>
  33444. <Configuration number="0x4"> <!-- Single Bank secure -->
  33445. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x00200000" value="0x0"/> </DBANK>
  33446. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  33447. </Configuration>
  33448. <Configuration number="0x5"> <!-- Dual Bank secure -->
  33449. <DBANK reference="0x1"> <ReadRegister address="0x40022040" mask="0x00200000" value="0x00200000"/> </DBANK>
  33450. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  33451. </Configuration>
  33452. </Interface>
  33453. <!-- Bootloader Interface -->
  33454. <Interface name="Bootloader">
  33455. <Configuration number="0x6"> <!-- Single Bank Secure-->
  33456. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  33457. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  33458. </Configuration>
  33459. <Configuration number="0x7"> <!-- Dual Bank Secure-->
  33460. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  33461. <TZEN reference="0x1"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x80000000"/> </TZEN>
  33462. </Configuration>
  33463. <Configuration number="0x8"> <!-- Single Bank non Secure-->
  33464. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x0"/> </DBANK>
  33465. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  33466. </Configuration>
  33467. <Configuration number="0x9"> <!-- Dual Bank non Secure-->
  33468. <DBANK reference="0x0"> <ReadRegister address="0x40022040" mask="0x400000" value="0x400000"/> </DBANK>
  33469. <TZEN reference="0x0"> <ReadRegister address="0x40022040" mask="0x80000000" value="0x0"/> </TZEN>
  33470. </Configuration>
  33471. </Interface>
  33472. </Configurations>
  33473. <!-- Peripherals -->
  33474. <Peripherals>
  33475. <!-- Embedded SRAM -->
  33476. <Peripheral>
  33477. <Name>Embedded SRAM</Name>
  33478. <Type>Storage</Type>
  33479. <Description/>
  33480. <ErasedValue>0x00</ErasedValue>
  33481. <Access>RWE</Access>
  33482. <!-- 96 KB -->
  33483. <Configuration config="0,1,6,7,8,9">
  33484. <Parameters name="SRAM" size="0x8000" address="0x20000000"/>
  33485. <Description/>
  33486. <Organization>Single</Organization>
  33487. <Bank name="Bank 1">
  33488. <Field>
  33489. <Parameters name="SRAM" size="0x8000" address="0x20000000" occurence="0x1"/>
  33490. </Field>
  33491. </Bank>
  33492. </Configuration>
  33493. <Configuration config="2,3,4,5">
  33494. <Parameters name="SRAM" size="0x8000" address="0x30000000"/>
  33495. <Description/>
  33496. <Organization>Single</Organization>
  33497. <Bank name="Bank 1">
  33498. <Field>
  33499. <Parameters name="SRAM" size="0x8000" address="0x30000000" occurence="0x1"/>
  33500. </Field>
  33501. </Bank>
  33502. </Configuration>
  33503. </Peripheral>
  33504. <!-- Embedded Flash -->
  33505. <Peripheral>
  33506. <Name>Embedded Flash</Name>
  33507. <Type>Storage</Type>
  33508. <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>
  33509. <ErasedValue>0xFF</ErasedValue>
  33510. <Access>RWE</Access>
  33511. <FlashSize address="0x0BFA0764" default="0x200000"/>
  33512. <Configuration config="0"> <!-- Single Bank -->
  33513. <Parameters name=" 2048 Kbyte Embedded Flash" size="0x200000" address="0x08000000"/>
  33514. <Description/>
  33515. <Organization>Single</Organization>
  33516. <Allignement>0x10</Allignement>
  33517. <Bank name="Bank 1">
  33518. <Field>
  33519. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x80"/>
  33520. </Field>
  33521. </Bank>
  33522. </Configuration>
  33523. <Configuration config="1"> <!-- dual Bank -->
  33524. <Parameters name=" 2 Mbyte Embedded Flash" size="0x200000" address="0x08000000"/>
  33525. <Description/>
  33526. <Organization>Dual</Organization>
  33527. <Allignement>0x10</Allignement>
  33528. <Bank name="Bank 1">
  33529. <Field>
  33530. <Parameters name="sector0" size="0x2000" address="0x08000000" occurence="0x80"/>
  33531. </Field>
  33532. </Bank>
  33533. <Bank name="Bank 2">
  33534. <Field>
  33535. <Parameters name="sector128" size="0x2000" address="0x08100000" occurence="0x80"/>
  33536. </Field>
  33537. </Bank>
  33538. </Configuration>
  33539. <Configuration config="2,4"> <!-- Single Bank secure -->
  33540. <Parameters name=" 2 Mbyte Embedded Flash" size="0x200000" address="0x0C000000"/>
  33541. <Description/>
  33542. <Organization>Single</Organization>
  33543. <Allignement>0x10</Allignement>
  33544. <Bank name="Bank 1">
  33545. <Field>
  33546. <Parameters name="sector0" size="0x4000" address="0x0c000000" occurence="0x80"/>
  33547. </Field>
  33548. </Bank>
  33549. </Configuration>
  33550. <Configuration config="3,5"> <!-- dual Bank secure -->
  33551. <Parameters name=" 2 Mbyte Embedded Flash" size="0x200000" address="0x0c000000"/>
  33552. <Description/>
  33553. <Organization>Dual</Organization>
  33554. <Allignement>0x10</Allignement>
  33555. <Bank name="Bank 1">
  33556. <Field>
  33557. <Parameters name="sector0" size="0x2000" address="0x0c000000" occurence="0x80"/>
  33558. </Field>
  33559. </Bank>
  33560. <Bank name="Bank 2">
  33561. <Field>
  33562. <Parameters name="sector128" size="0x2000" address="0x0c100000" occurence="0x80"/>
  33563. </Field>
  33564. </Bank>
  33565. </Configuration>
  33566. </Peripheral>
  33567. <!-- Data EEPROM -->
  33568. <Peripheral>
  33569. <Name>Data EEPROM</Name>
  33570. <Type>Storage</Type>
  33571. <Description>The Data EEPROM memory block. It contains user data.</Description>
  33572. <ErasedValue>0x00</ErasedValue>
  33573. <Access>RWE</Access>
  33574. <Configuration config="2">
  33575. <Parameters name=" 2 Mbyte Data EEPROM" size="0x200000" address="0x08000000"/>
  33576. <Description/>
  33577. <Organization>Single</Organization>
  33578. <Allignement>0x4</Allignement>
  33579. <Bank name="Bank 1">
  33580. <Field>
  33581. <Parameters name="sector0" size="0x4000" address="0x08000000" occurence="0x80"/>
  33582. </Field>
  33583. </Bank>
  33584. </Configuration>
  33585. <Configuration config="3">
  33586. <Parameters name=" 2 Mbyte Data EEPROM" size="0x200000" address="0x08000000"/>
  33587. <Description/>
  33588. <Organization>Single</Organization>
  33589. <Allignement>0x4</Allignement>
  33590. <Bank name="Bank 1">
  33591. <Field>
  33592. <Parameters name="sector0" size="0x2000" address="0x08000000" occurence="0x80"/>
  33593. </Field>
  33594. </Bank>
  33595. <Bank name="Bank 2">
  33596. <Field>
  33597. <Parameters name="sector128" size="0x2000" address="0x08100000" occurence="0x80"/>
  33598. </Field>
  33599. </Bank>
  33600. </Configuration>
  33601. <!-- Dummy Config Just to avoid crash when TZEN=0 -->
  33602. <Configuration config="1">
  33603. <Parameters name=" 2 Mbyte Data EEPROM" size="0x200000" address="0x0C000000"/>
  33604. <Description/>
  33605. <Organization>Single</Organization>
  33606. <Allignement>0x4</Allignement>
  33607. <Bank name="Bank 1">
  33608. <Field>
  33609. <Parameters name="sector0" size="0x2000" address="0x0C000000" occurence="0x80"/>
  33610. </Field>
  33611. </Bank>
  33612. <Bank name="Bank 2">
  33613. <Field>
  33614. <Parameters name="sector128" size="0x2000" address="0x0C100000" occurence="0x80"/>
  33615. </Field>
  33616. </Bank>
  33617. </Configuration>
  33618. </Peripheral>
  33619. <!-- OTP -->
  33620. <Peripheral>
  33621. <Name>OTP</Name>
  33622. <Type>Storage</Type>
  33623. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  33624. <ErasedValue>0xFF</ErasedValue>
  33625. <Access>RW</Access>
  33626. <!-- 512 Bytes single bank -->
  33627. <Configuration>
  33628. <Parameters name=" 512 Bytes Data OTP" size="0x200" address="0x0BFA0000"/>
  33629. <Description/>
  33630. <Organization>Single</Organization>
  33631. <Allignement>0x4</Allignement>
  33632. <Bank name="OTP">
  33633. <Field>
  33634. <Parameters name="OTP" size="0x200" address="0x0BFA0000" occurence="0x1"/>
  33635. </Field>
  33636. </Bank>
  33637. </Configuration>
  33638. </Peripheral>
  33639. <!-- Option Bytes -->
  33640. <Peripheral>
  33641. <Name>Option Bytes</Name>
  33642. <Type>Configuration</Type>
  33643. <Description/>
  33644. <Access>RW</Access>
  33645. <Configuration config="0,1,4,5">
  33646. <Bank interface="JTAG_SWD">
  33647. <Parameters name="Bank 1" size="0x20" address="0x40022040"/>
  33648. <Category>
  33649. <Name>Read Out Protection</Name>
  33650. <Field>
  33651. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  33652. <AssignedBits>
  33653. <Bit>
  33654. <Name>RDP</Name>
  33655. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  33656. <BitOffset>0x0</BitOffset>
  33657. <BitWidth>0x8</BitWidth>
  33658. <Access>RW</Access>
  33659. <Values>
  33660. <Val value="0xAA">Level 0, no protection</Val>
  33661. <Val value="0x55">Level 0.5, read protection not active, only non-secure debug access is possible. Only available when TrustZone is active (TZEN=1)</Val>
  33662. <Val value="0xDC">Level 1, read protection of memories</Val>
  33663. <Val value="0xCC">Level 2, chip protection</Val>
  33664. </Values>
  33665. </Bit>
  33666. </AssignedBits>
  33667. </Field>
  33668. </Category>
  33669. <Category>
  33670. <Name>BOR Level</Name>
  33671. <Field>
  33672. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  33673. <AssignedBits>
  33674. <Bit>
  33675. <Name>BOR_LEV</Name>
  33676. <Description>These bits contain the VDD supply level threshold that activates/releases the reset.</Description>
  33677. <BitOffset>0x8</BitOffset>
  33678. <BitWidth>0x3</BitWidth>
  33679. <Access>RW</Access>
  33680. <Values>
  33681. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  33682. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  33683. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  33684. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  33685. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  33686. </Values>
  33687. </Bit>
  33688. </AssignedBits>
  33689. </Field>
  33690. </Category>
  33691. <Category>
  33692. <Name>User Configuration</Name>
  33693. <Field>
  33694. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  33695. <AssignedBits>
  33696. <Bit>
  33697. <Name>nRST_STOP</Name>
  33698. <Description/>
  33699. <BitOffset>0xC</BitOffset>
  33700. <BitWidth>0x1</BitWidth>
  33701. <Access>RW</Access>
  33702. <Values>
  33703. <Val value="0x0">Reset generated when entering Stop mode</Val>
  33704. <Val value="0x1">No reset generated when entering Stop mode</Val>
  33705. </Values>
  33706. </Bit>
  33707. <Bit>
  33708. <Name>nRST_STDBY</Name>
  33709. <Description/>
  33710. <BitOffset>0xD</BitOffset>
  33711. <BitWidth>0x1</BitWidth>
  33712. <Access>RW</Access>
  33713. <Values>
  33714. <Val value="0x0">Reset generated when entering Standby mode</Val>
  33715. <Val value="0x1">No reset generated when entering Standby mode</Val>
  33716. </Values>
  33717. </Bit>
  33718. <Bit>
  33719. <Name>nRST_SHDW</Name>
  33720. <Description/>
  33721. <BitOffset>0xE</BitOffset>
  33722. <BitWidth>0x1</BitWidth>
  33723. <Access>RW</Access>
  33724. <Values>
  33725. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  33726. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  33727. </Values>
  33728. </Bit>
  33729. <Bit>
  33730. <Name>SRAM134_RST</Name>
  33731. <Description>SRAM1, SRAM3 and SRAM4 erase upon system reset</Description>
  33732. <BitOffset>0xF</BitOffset>
  33733. <BitWidth>0x1</BitWidth>
  33734. <Access>RW</Access>
  33735. <Values>
  33736. <Val value="0x0">SRAM1, SRAM3 and SRAM4 erased when a system reset occurs</Val>
  33737. <Val value="0x1">SRAM1, SRAM3 and SRAM4 not erased when a system reset occurs</Val>
  33738. </Values>
  33739. </Bit>
  33740. <Bit>
  33741. <Name>IWDG_SW</Name>
  33742. <Description/>
  33743. <BitOffset>0x10</BitOffset>
  33744. <BitWidth>0x1</BitWidth>
  33745. <Access>RW</Access>
  33746. <Values>
  33747. <Val value="0x0">Hardware independant watchdog</Val>
  33748. <Val value="0x1">Software independant watchdog</Val>
  33749. </Values>
  33750. </Bit>
  33751. <Bit>
  33752. <Name>IWDG_STOP</Name>
  33753. <Description/>
  33754. <BitOffset>0x11</BitOffset>
  33755. <BitWidth>0x1</BitWidth>
  33756. <Access>RW</Access>
  33757. <Values>
  33758. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  33759. <Val value="0x1">IWDG counter active in stop mode</Val>
  33760. </Values>
  33761. </Bit>
  33762. <Bit>
  33763. <Name>IWDG_STDBY</Name>
  33764. <Description/>
  33765. <BitOffset>0x12</BitOffset>
  33766. <BitWidth>0x1</BitWidth>
  33767. <Access>RW</Access>
  33768. <Values>
  33769. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  33770. <Val value="0x1">IWDG counter active in standby mode</Val>
  33771. </Values>
  33772. </Bit>
  33773. <Bit>
  33774. <Name>WWDG_SW</Name>
  33775. <Description/>
  33776. <BitOffset>0x13</BitOffset>
  33777. <BitWidth>0x1</BitWidth>
  33778. <Access>RW</Access>
  33779. <Values>
  33780. <Val value="0x0">Hardware window watchdog</Val>
  33781. <Val value="0x1">Software window watchdog</Val>
  33782. </Values>
  33783. </Bit>
  33784. <Bit>
  33785. <Name>SWAP_BANK</Name>
  33786. <Description/>
  33787. <BitOffset>0x14</BitOffset>
  33788. <BitWidth>0x1</BitWidth>
  33789. <Access>RW</Access>
  33790. <Values>
  33791. <Val value="0x0">Bank 1 and bank 2 address are not swapped</Val>
  33792. <Val value="0x1">Bank 1 and bank 2 address are swapped</Val>
  33793. </Values>
  33794. </Bit>
  33795. <Bit>
  33796. <Name>DBANK</Name>
  33797. <Description>Dual-bank on 1-Mbyte and 512-Kbyte Flash memory devices</Description>
  33798. <BitOffset>0x15</BitOffset>
  33799. <BitWidth>0x1</BitWidth>
  33800. <Access>RW</Access>
  33801. <Values>
  33802. <Val value="0x0">Single bank Flash with contiguous address in bank 1</Val>
  33803. <Val value="0x1">Dual-bank Flash with contiguous addresses</Val>
  33804. </Values>
  33805. </Bit>
  33806. <Bit>
  33807. <Name>BKPRAM_ECC</Name>
  33808. <Description>SRAM2 parity check enable</Description>
  33809. <BitOffset>0x16</BitOffset>
  33810. <BitWidth>0x1</BitWidth>
  33811. <Access>RW</Access>
  33812. <Values>
  33813. <Val value="0x0">Backup RAM ECC check enabled</Val>
  33814. <Val value="0x1">Backup RAM ECC check disabled</Val>
  33815. </Values>
  33816. </Bit>
  33817. <Bit>
  33818. <Name>SRAM3_ECC</Name>
  33819. <Description>SRAM3 ECC detection and correction enable</Description>
  33820. <BitOffset>0x17</BitOffset>
  33821. <BitWidth>0x1</BitWidth>
  33822. <Access>RW</Access>
  33823. <Values>
  33824. <Val value="0x0">SRAM3 ECC check enabled</Val>
  33825. <Val value="0x1">SRAM3 ECC check disabled</Val>
  33826. </Values>
  33827. </Bit>
  33828. <Bit>
  33829. <Name>SRAM2_ECC</Name>
  33830. <Description>SRAM2 ECC detection and correction enable</Description>
  33831. <BitOffset>0x18</BitOffset>
  33832. <BitWidth>0x1</BitWidth>
  33833. <Access>RW</Access>
  33834. <Values>
  33835. <Val value="0x0">SRAM2 ECC check enabled</Val>
  33836. <Val value="0x1">SRAM2 ECC check disabled</Val>
  33837. </Values>
  33838. </Bit>
  33839. <Bit>
  33840. <Name>SRAM2_RST</Name>
  33841. <Description>SRAM2 Erase when system reset</Description>
  33842. <BitOffset>0x19</BitOffset>
  33843. <BitWidth>0x1</BitWidth>
  33844. <Access>RW</Access>
  33845. <Values>
  33846. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  33847. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  33848. </Values>
  33849. </Bit>
  33850. <Bit>
  33851. <Name>nSWBOOT0</Name>
  33852. <Description>Software BOOT0</Description>
  33853. <BitOffset>0x1A</BitOffset>
  33854. <BitWidth>0x1</BitWidth>
  33855. <Access>RW</Access>
  33856. <Values>
  33857. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  33858. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  33859. </Values>
  33860. </Bit>
  33861. <Bit>
  33862. <Name>nBOOT0</Name>
  33863. <Description>nBOOT0 option bit</Description>
  33864. <BitOffset>0x1B</BitOffset>
  33865. <BitWidth>0x1</BitWidth>
  33866. <Access>RW</Access>
  33867. <Values>
  33868. <Val value="0x0">nBOOT0 = 0</Val>
  33869. <Val value="0x1">nBOOT0 = 1</Val>
  33870. </Values>
  33871. </Bit>
  33872. <Bit>
  33873. <Name>PA15_PUPEN</Name>
  33874. <Description>PA15 pull-up enable</Description>
  33875. <BitOffset>0x1C</BitOffset>
  33876. <BitWidth>0x1</BitWidth>
  33877. <Access>RW</Access>
  33878. <Values>
  33879. <Val value="0x0">USB power delivery dead-battery enabled/ TDI pull-up deactivated</Val>
  33880. <Val value="0x1">USB power delivery dead-battery disabled/ TDI pull-up activated</Val>
  33881. </Values>
  33882. </Bit>
  33883. <Bit>
  33884. <Name>IO_VDD_HSLV</Name>
  33885. <Description>High-speed IO at low VDD voltage configuration bit</Description>
  33886. <BitOffset>0x1D</BitOffset>
  33887. <BitWidth>0x1</BitWidth>
  33888. <Access>RW</Access>
  33889. <Values>
  33890. <Val value="0x0">High-speed IO at low VDD voltage feature disabled (VDD can exceed 2.5 V)</Val>
  33891. <Val value="0x1">High-speed IO at low VDD voltage feature enabled (VDD remains below 2.5 V)</Val>
  33892. </Values>
  33893. </Bit>
  33894. <Bit>
  33895. <Name>IO_VDDIO2_HSLV</Name>
  33896. <Description>High-speed IO at low VDDIO2 voltage configuration bit</Description>
  33897. <BitOffset>0x1E</BitOffset>
  33898. <BitWidth>0x1</BitWidth>
  33899. <Access>RW</Access>
  33900. <Values>
  33901. <Val value="0x0">High-speed IO at low VDDIO2 voltage feature disabled (VDDIO2 can exceed 2.5 V)</Val>
  33902. <Val value="0x1">High-speed IO at low VDDIO2 voltage feature enabled (VDDIO2 remains below 2.5 V)</Val>
  33903. </Values>
  33904. </Bit>
  33905. <Bit>
  33906. <Name>TZEN</Name>
  33907. <Description>Global TrustZone security enable</Description>
  33908. <BitOffset>0x1F</BitOffset>
  33909. <BitWidth>0x1</BitWidth>
  33910. <Access>RW</Access>
  33911. <Values>
  33912. <Val value="0x0">Global TrustZone security disabled</Val>
  33913. <Val value="0x1">Global TrustZone security enabled</Val>
  33914. </Values>
  33915. </Bit>
  33916. </AssignedBits>
  33917. </Field>
  33918. <Field>
  33919. <Parameters name="FLASH_NSBOOTADD0" size="0x4" address="0x40022044"/>
  33920. <AssignedBits>
  33921. <Bit>
  33922. <Name>NSBOOTADD0</Name>
  33923. <Description>Non-secure Boot base address 0</Description>
  33924. <BitOffset>0x7</BitOffset>
  33925. <BitWidth>0x19</BitWidth>
  33926. <Access>RW</Access>
  33927. <Equation multiplier="0x80" offset="0x0000000"/>
  33928. </Bit>
  33929. </AssignedBits>
  33930. </Field>
  33931. <Field>
  33932. <Parameters name="FLASH_NSBOOTADD1" size="0x4" address="0x40022048"/>
  33933. <AssignedBits>
  33934. <Bit>
  33935. <Name>NSBOOTADD1</Name>
  33936. <Description>Non-secure Boot base address 1</Description>
  33937. <BitOffset>0x7</BitOffset>
  33938. <BitWidth>0x19</BitWidth>
  33939. <Access>RW</Access>
  33940. <Equation multiplier="0x80" offset="0x0000000"/>
  33941. </Bit>
  33942. </AssignedBits>
  33943. </Field>
  33944. <Field>
  33945. <Parameters name="FLASH_SECBOOTADD0" size="0x4" address="0x4002204C"/>
  33946. <AssignedBits>
  33947. <Bit>
  33948. <Name>SECBOOTADD0</Name>
  33949. <Description>Secure boot base address 0</Description>
  33950. <BitOffset>0x7</BitOffset>
  33951. <BitWidth>0x19</BitWidth>
  33952. <Access>RW</Access>
  33953. <Equation multiplier="0x80" offset="0x0000000"/>
  33954. </Bit>
  33955. </AssignedBits>
  33956. </Field>
  33957. <Field>
  33958. <Parameters name="BOOT_LOCK" size="0x4" address="0x4002204C"/>
  33959. <AssignedBits>
  33960. <Bit>
  33961. <Name>BOOT_LOCK</Name>
  33962. <Description> The boot is always forced to base address value programmed in SECBOOTADD0</Description>
  33963. <BitOffset>0x0</BitOffset>
  33964. <BitWidth>0x1</BitWidth>
  33965. <Access>RW</Access>
  33966. <Values>
  33967. <Val value="0x0">Boot based on the pad/option bit configuration</Val>
  33968. <Val value="0x1">Boot forced from base address memory</Val>
  33969. </Values>
  33970. </Bit>
  33971. </AssignedBits>
  33972. </Field>
  33973. </Category>
  33974. <Category>
  33975. <Name>Secure Area 1</Name>
  33976. <Field>
  33977. <Parameters name="FLASH_SECWM1R1" size="0x4" address="0x40022050"/>
  33978. <AssignedBits>
  33979. <Bit config="4">
  33980. <Name>SECWM1_PSTRT</Name>
  33981. <Description>Start page of first secure area</Description>
  33982. <BitOffset>0x0</BitOffset>
  33983. <BitWidth>0x7</BitWidth>
  33984. <Access>RW</Access>
  33985. <Equation multiplier="0x4000" offset="0x08000000"/>
  33986. </Bit>
  33987. <Bit config="5">
  33988. <Name>SECWM1_PSTRT</Name>
  33989. <Description>Start page of first secure area</Description>
  33990. <BitOffset>0x0</BitOffset>
  33991. <BitWidth>0x7</BitWidth>
  33992. <Access>RW</Access>
  33993. <Equation multiplier="0x2000" offset="0x08000000"/>
  33994. </Bit>
  33995. <Bit config="4">
  33996. <Name>SECWM1_PEND</Name>
  33997. <Description>End page of first secure area</Description>
  33998. <BitOffset>0x10</BitOffset>
  33999. <BitWidth>0x7</BitWidth>
  34000. <Access>RW</Access>
  34001. <Equation multiplier="0x4000" offset="0x08000000"/>
  34002. </Bit>
  34003. <Bit config="5">
  34004. <Name>SECWM1_PEND</Name>
  34005. <Description>End page of first secure area</Description>
  34006. <BitOffset>0x10</BitOffset>
  34007. <BitWidth>0x7</BitWidth>
  34008. <Access>RW</Access>
  34009. <Equation multiplier="0x2000" offset="0x08000000"/>
  34010. </Bit>
  34011. </AssignedBits>
  34012. </Field>
  34013. </Category>
  34014. <Category>
  34015. <Name>Write Protection 1</Name>
  34016. <Field>
  34017. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x40022058"/>
  34018. <AssignedBits>
  34019. <Bit config="0,4">
  34020. <Name>WRP1A_PSTRT</Name>
  34021. <Description>Bank 1 WPR first area "A" start page</Description>
  34022. <BitOffset>0x0</BitOffset>
  34023. <BitWidth>0x7</BitWidth>
  34024. <Access>RW</Access>
  34025. <Equation multiplier="0x4000" offset="0x08000000"/>
  34026. </Bit>
  34027. <Bit config="1,5">
  34028. <Name>WRP1A_PSTRT</Name>
  34029. <Description>Bank 1 WPR first area "A" start page</Description>
  34030. <BitOffset>0x0</BitOffset>
  34031. <BitWidth>0x7</BitWidth>
  34032. <Access>RW</Access>
  34033. <Equation multiplier="0x2000" offset="0x08000000"/>
  34034. </Bit>
  34035. <Bit config="0,4">
  34036. <Name>WRP1A_PEND</Name>
  34037. <Description>Bank 1 WPR first area "A" end page</Description>
  34038. <BitOffset>0x10</BitOffset>
  34039. <BitWidth>0x7</BitWidth>
  34040. <Access>RW</Access>
  34041. <Equation multiplier="0x4000" offset="0x08000000"/>
  34042. </Bit>
  34043. <Bit config="1,5">
  34044. <Name>WRP1A_PEND</Name>
  34045. <Description>Bank 1 WPR first area "A" end page</Description>
  34046. <BitOffset>0x10</BitOffset>
  34047. <BitWidth>0x7</BitWidth>
  34048. <Access>RW</Access>
  34049. <Equation multiplier="0x2000" offset="0x08000000"/>
  34050. </Bit>
  34051. <Bit>
  34052. <Name>UNLOCK</Name>
  34053. <Description>Bank 1 WPR first area A unlock</Description>
  34054. <BitOffset>0x1F</BitOffset>
  34055. <BitWidth>0x1</BitWidth>
  34056. <Access>RW</Access>
  34057. <Values>
  34058. <Val value="0x0">WRP1A start and end pages locked</Val>
  34059. <Val value="0x1">WRP1A start and end pages unlocked</Val>
  34060. </Values>
  34061. </Bit>
  34062. </AssignedBits>
  34063. </Field>
  34064. <Field>
  34065. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x4002205C"/>
  34066. <AssignedBits>
  34067. <Bit config="0,4">
  34068. <Name>WRP1B_PSTRT</Name>
  34069. <Description>Bank 1 WPR first area "B" start page</Description>
  34070. <BitOffset>0x0</BitOffset>
  34071. <BitWidth>0x7</BitWidth>
  34072. <Access>RW</Access>
  34073. <Equation multiplier="0x4000" offset="0x08000000"/>
  34074. </Bit>
  34075. <Bit config="1,5">
  34076. <Name>WRP1B_PSTRT</Name>
  34077. <Description>Bank 1 WPR first area "B" start page</Description>
  34078. <BitOffset>0x0</BitOffset>
  34079. <BitWidth>0x7</BitWidth>
  34080. <Access>RW</Access>
  34081. <Equation multiplier="0x2000" offset="0x08000000"/>
  34082. </Bit>
  34083. <Bit config="0,4">
  34084. <Name>WRP1B_PEND</Name>
  34085. <Description>Bank 1 WPR first area "B" end page</Description>
  34086. <BitOffset>0x10</BitOffset>
  34087. <BitWidth>0x7</BitWidth>
  34088. <Access>RW</Access>
  34089. <Equation multiplier="0x4000" offset="0x08000000"/>
  34090. </Bit>
  34091. <Bit config="1,5">
  34092. <Name>WRP1B_PEND</Name>
  34093. <Description>Bank 1 WPR first area "B" end page</Description>
  34094. <BitOffset>0x10</BitOffset>
  34095. <BitWidth>0x7</BitWidth>
  34096. <Access>RW</Access>
  34097. <Equation multiplier="0x2000" offset="0x08000000"/>
  34098. </Bit>
  34099. <Bit>
  34100. <Name>UNLOCK</Name>
  34101. <Description>Bank 1 WPR first area B unlock</Description>
  34102. <BitOffset>0x1F</BitOffset>
  34103. <BitWidth>0x1</BitWidth>
  34104. <Access>RW</Access>
  34105. <Values>
  34106. <Val value="0x0">WRP1B start and end pages locked</Val>
  34107. <Val value="0x1">WRP1B start and end pages unlocked</Val>
  34108. </Values>
  34109. </Bit>
  34110. </AssignedBits>
  34111. </Field>
  34112. </Category>
  34113. </Bank>
  34114. <Bank interface="JTAG_SWD">
  34115. <Parameters name="Bank 2" size="0x10" address="0x40022060"/>
  34116. <Category>
  34117. <Name>Secure Area 2</Name>
  34118. <Field>
  34119. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x40022060"/>
  34120. <AssignedBits>
  34121. <Bit config="4">
  34122. <Name>SECWM2_PSTRT</Name>
  34123. <Description>Start page of second secure area</Description>
  34124. <BitOffset>0x0</BitOffset>
  34125. <BitWidth>0x7</BitWidth>
  34126. <Access>RW</Access>
  34127. <Equation multiplier="0x4000" offset="0x08000000"/>
  34128. </Bit>
  34129. <Bit config="5">
  34130. <Name>SECWM2_PSTRT</Name>
  34131. <Description>Start page of second secure area</Description>
  34132. <BitOffset>0x0</BitOffset>
  34133. <BitWidth>0x7</BitWidth>
  34134. <Access>RW</Access>
  34135. <Equation multiplier="0x2000" offset="0x08100000"/>
  34136. </Bit>
  34137. <Bit config="4">
  34138. <Name>SECWM2_PEND</Name>
  34139. <Description>End page of second secure area</Description>
  34140. <BitOffset>0x10</BitOffset>
  34141. <BitWidth>0x7</BitWidth>
  34142. <Access>RW</Access>
  34143. <Equation multiplier="0x4000" offset="0x08000000"/>
  34144. </Bit>
  34145. <Bit config="5">
  34146. <Name>SECWM2_PEND</Name>
  34147. <Description>End page of second secure area</Description>
  34148. <BitOffset>0x10</BitOffset>
  34149. <BitWidth>0x7</BitWidth>
  34150. <Access>RW</Access>
  34151. <Equation multiplier="0x2000" offset="0x08100000"/>
  34152. </Bit>
  34153. </AssignedBits>
  34154. </Field>
  34155. </Category>
  34156. <!-- <Category> -->
  34157. <!-- <Name>PCROP Protection (Bank 2)</Name> -->
  34158. <!-- <Field> -->
  34159. <!-- <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x40022064"/> -->
  34160. <!-- <AssignedBits> -->
  34161. <!-- <Bit config="1"> -->
  34162. <!-- <Name>PCROP2_PSTRT</Name> -->
  34163. <!-- <Description>Start page of first PCROP area</Description> -->
  34164. <!-- <BitOffset>0x0</BitOffset> -->
  34165. <!-- <BitWidth>0x7</BitWidth> -->
  34166. <!-- <Access>RW</Access> -->
  34167. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  34168. <!-- </Bit> -->
  34169. <!-- <Bit config="1"> -->
  34170. <!-- <Name>PCROP2_STRT</Name> -->
  34171. <!-- <Description>Flash Bank 2 PCROP start address</Description> -->
  34172. <!-- <BitOffset>0x0</BitOffset> -->
  34173. <!-- <BitWidth>0x7</BitWidth> -->
  34174. <!-- <Access>RW</Access> -->
  34175. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  34176. <!-- </Bit> -->
  34177. <!-- <Bit config="0"> -->
  34178. <!-- <Name>HDP2_PEND</Name> -->
  34179. <!-- <Description>End page of second hide protection area</Description> -->
  34180. <!-- <BitOffset>0x10</BitOffset> -->
  34181. <!-- <BitWidth>0x7</BitWidth> -->
  34182. <!-- <Access>RW</Access> -->
  34183. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  34184. <!-- </Bit> -->
  34185. <!-- <Bit config="1"> -->
  34186. <!-- <Name>HDP2_PEND</Name> -->
  34187. <!-- <Description>End page of second hide protection area</Description> -->
  34188. <!-- <BitOffset>0x10</BitOffset> -->
  34189. <!-- <BitWidth>0x7</BitWidth> -->
  34190. <!-- <Access>RW</Access> -->
  34191. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  34192. <!-- </Bit> -->
  34193. <!-- <Bit config="1"> -->
  34194. <!-- <Name>PCROP2EN</Name> -->
  34195. <!-- <Description>PCROP2 area enable</Description> -->
  34196. <!-- <BitOffset>0xF</BitOffset> -->
  34197. <!-- <BitWidth>0x1</BitWidth> -->
  34198. <!-- <Access>RW</Access> -->
  34199. <!-- <Values> -->
  34200. <!-- <Val value="0x0">PCROP2 area is disabled</Val> -->
  34201. <!-- <Val value="0x1">PCROP2 area is enabled</Val> -->
  34202. <!-- </Values> -->
  34203. <!-- </Bit> -->
  34204. <!-- <Bit config="1"> -->
  34205. <!-- <Name>HDP2EN</Name> -->
  34206. <!-- <Description>Hide protection second area enable</Description> -->
  34207. <!-- <BitOffset>0x1F</BitOffset> -->
  34208. <!-- <BitWidth>0x1</BitWidth> -->
  34209. <!-- <Access>RW</Access> -->
  34210. <!-- <Values> -->
  34211. <!-- <Val value="0x0">No HDP area 2</Val> -->
  34212. <!-- <Val value="0x1">HDP second area is enabled</Val> -->
  34213. <!-- </Values> -->
  34214. <!-- </Bit> -->
  34215. <!-- </AssignedBits> -->
  34216. <!-- </Field> -->
  34217. <!-- </Category> -->
  34218. <Category>
  34219. <Name>Write Protection 2</Name>
  34220. <Field>
  34221. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x40022068"/>
  34222. <AssignedBits>
  34223. <Bit config="0,4">
  34224. <Name>WRP2A_PSTRT</Name>
  34225. <Description>Bank 2 WPR first area "A" start page</Description>
  34226. <BitOffset>0x0</BitOffset>
  34227. <BitWidth>0x7</BitWidth>
  34228. <Access>RW</Access>
  34229. <Equation multiplier="0x4000" offset="0x08000000"/>
  34230. </Bit>
  34231. <Bit config="1,5">
  34232. <Name>WRP2A_PSTRT</Name>
  34233. <Description>Bank 2 WPR first area "A" start page</Description>
  34234. <BitOffset>0x0</BitOffset>
  34235. <BitWidth>0x7</BitWidth>
  34236. <Access>RW</Access>
  34237. <Equation multiplier="0x2000" offset="0x08100000"/>
  34238. </Bit>
  34239. <Bit config="0,4">
  34240. <Name>WRP2A_PEND</Name>
  34241. <Description>Bank 2 WPR first area "A" end page</Description>
  34242. <BitOffset>0x10</BitOffset>
  34243. <BitWidth>0x7</BitWidth>
  34244. <Access>RW</Access>
  34245. <Equation multiplier="0x4000" offset="0x08000000"/>
  34246. </Bit>
  34247. <Bit config="1,5">
  34248. <Name>WRP2A_PEND</Name>
  34249. <Description>Bank 2 WPR first area "A" end page</Description>
  34250. <BitOffset>0x10</BitOffset>
  34251. <BitWidth>0x7</BitWidth>
  34252. <Access>RW</Access>
  34253. <Equation multiplier="0x2000" offset="0x08100000"/>
  34254. </Bit>
  34255. <Bit>
  34256. <Name>UNLOCK</Name>
  34257. <Description>Bank 2 WPR first area A unlock</Description>
  34258. <BitOffset>0x1F</BitOffset>
  34259. <BitWidth>0x1</BitWidth>
  34260. <Access>RW</Access>
  34261. <Values>
  34262. <Val value="0x0">WRP2A start and end pages locked</Val>
  34263. <Val value="0x1">WRP2A start and end pages unlocked</Val>
  34264. </Values>
  34265. </Bit>
  34266. </AssignedBits>
  34267. </Field>
  34268. <Field>
  34269. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x4002206C"/>
  34270. <AssignedBits>
  34271. <Bit config="0,4">
  34272. <Name>WRP2B_PSTRT</Name>
  34273. <Description>Bank 2 WPR first area "B" start page</Description>
  34274. <BitOffset>0x0</BitOffset>
  34275. <BitWidth>0x7</BitWidth>
  34276. <Access>RW</Access>
  34277. <Equation multiplier="0x4000" offset="0x08000000"/>
  34278. </Bit>
  34279. <Bit config="1,5">
  34280. <Name>WRP2B_PSTRT</Name>
  34281. <Description>Bank 2 WPR first area "B" start page</Description>
  34282. <BitOffset>0x0</BitOffset>
  34283. <BitWidth>0x7</BitWidth>
  34284. <Access>RW</Access>
  34285. <Equation multiplier="0x2000" offset="0x08100000"/>
  34286. </Bit>
  34287. <Bit config="0,4">
  34288. <Name>WRP2B_PEND</Name>
  34289. <Description>Bank 2 WPR first area "B" end page</Description>
  34290. <BitOffset>0x10</BitOffset>
  34291. <BitWidth>0x7</BitWidth>
  34292. <Access>RW</Access>
  34293. <Equation multiplier="0x4000" offset="0x08000000"/>
  34294. </Bit>
  34295. <Bit config="1,5">
  34296. <Name>WRP2B_PEND</Name>
  34297. <Description>Bank 2 WPR first area "B" end page</Description>
  34298. <BitOffset>0x10</BitOffset>
  34299. <BitWidth>0x7</BitWidth>
  34300. <Access>RW</Access>
  34301. <Equation multiplier="0x2000" offset="0x08100000"/>
  34302. </Bit>
  34303. <Bit>
  34304. <Name>UNLOCK</Name>
  34305. <Description>Bank 2 WPR first area B unlock</Description>
  34306. <BitOffset>0x1F</BitOffset>
  34307. <BitWidth>0x1</BitWidth>
  34308. <Access>RW</Access>
  34309. <Values>
  34310. <Val value="0x0">WRP2B start and end pages locked</Val>
  34311. <Val value="0x1">WRP2B start and end pages unlocked</Val>
  34312. </Values>
  34313. </Bit>
  34314. </AssignedBits>
  34315. </Field>
  34316. </Category>
  34317. </Bank>
  34318. </Configuration>
  34319. <Configuration config="2,3">
  34320. <Bank interface="JTAG_SWD">
  34321. <Parameters name="Bank 1" size="0x28" address="0x50022040"/>
  34322. <Category>
  34323. <Name>Read Out Protection</Name>
  34324. <Field>
  34325. <Parameters name="FLASH_OPTR" size="0x4" address="0x50022040"/>
  34326. <AssignedBits>
  34327. <Bit>
  34328. <Name>RDP</Name>
  34329. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  34330. <BitOffset>0x0</BitOffset>
  34331. <BitWidth>0x8</BitWidth>
  34332. <Access>RW</Access>
  34333. <Values>
  34334. <Val value="0xAA">Level 0, no protection</Val>
  34335. <Val value="0x55">Level 0.5, read protection not active, only non-secure debug access is possible. Only available when TrustZone is active (TZEN=1)</Val>
  34336. <Val value="0xDC">Level 1, read protection of memories</Val>
  34337. <Val value="0xCC">Level 2, chip protection</Val>
  34338. </Values>
  34339. </Bit>
  34340. </AssignedBits>
  34341. </Field>
  34342. </Category>
  34343. <Category>
  34344. <Name>BOR Level</Name>
  34345. <Field>
  34346. <Parameters name="FLASH_OPTR" size="0x4" address="0x50022040"/>
  34347. <AssignedBits>
  34348. <Bit>
  34349. <Name>BOR_LEV</Name>
  34350. <Description>These bits contain the VDD supply level threshold that activates/releases the reset.</Description>
  34351. <BitOffset>0x8</BitOffset>
  34352. <BitWidth>0x3</BitWidth>
  34353. <Access>RW</Access>
  34354. <Values>
  34355. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  34356. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  34357. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  34358. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  34359. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  34360. </Values>
  34361. </Bit>
  34362. </AssignedBits>
  34363. </Field>
  34364. </Category>
  34365. <Category>
  34366. <Name>User Configuration</Name>
  34367. <Field>
  34368. <Parameters name="FLASH_OPTR" size="0x4" address="0x50022040"/>
  34369. <AssignedBits>
  34370. <Bit>
  34371. <Name>nRST_STOP</Name>
  34372. <Description/>
  34373. <BitOffset>0xC</BitOffset>
  34374. <BitWidth>0x1</BitWidth>
  34375. <Access>RW</Access>
  34376. <Values>
  34377. <Val value="0x0">Reset generated when entering Stop mode</Val>
  34378. <Val value="0x1">No reset generated when entering Stop mode</Val>
  34379. </Values>
  34380. </Bit>
  34381. <Bit>
  34382. <Name>nRST_STDBY</Name>
  34383. <Description/>
  34384. <BitOffset>0xD</BitOffset>
  34385. <BitWidth>0x1</BitWidth>
  34386. <Access>RW</Access>
  34387. <Values>
  34388. <Val value="0x0">Reset generated when entering Standby mode</Val>
  34389. <Val value="0x1">No reset generated when entering Standby mode</Val>
  34390. </Values>
  34391. </Bit>
  34392. <Bit>
  34393. <Name>nRST_SHDW</Name>
  34394. <Description/>
  34395. <BitOffset>0xE</BitOffset>
  34396. <BitWidth>0x1</BitWidth>
  34397. <Access>RW</Access>
  34398. <Values>
  34399. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  34400. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  34401. </Values>
  34402. </Bit>
  34403. <Bit>
  34404. <Name>SRAM134_RST</Name>
  34405. <Description>SRAM1, SRAM3 and SRAM4 erase upon system reset</Description>
  34406. <BitOffset>0xF</BitOffset>
  34407. <BitWidth>0x1</BitWidth>
  34408. <Access>RW</Access>
  34409. <Values>
  34410. <Val value="0x0">SRAM1, SRAM3 and SRAM4 erased when a system reset occurs</Val>
  34411. <Val value="0x1">SRAM1, SRAM3 and SRAM4 not erased when a system reset occurs</Val>
  34412. </Values>
  34413. </Bit>
  34414. <Bit>
  34415. <Name>IWDG_SW</Name>
  34416. <Description/>
  34417. <BitOffset>0x10</BitOffset>
  34418. <BitWidth>0x1</BitWidth>
  34419. <Access>RW</Access>
  34420. <Values>
  34421. <Val value="0x0">Hardware independant watchdog</Val>
  34422. <Val value="0x1">Software independant watchdog</Val>
  34423. </Values>
  34424. </Bit>
  34425. <Bit>
  34426. <Name>IWDG_STOP</Name>
  34427. <Description/>
  34428. <BitOffset>0x11</BitOffset>
  34429. <BitWidth>0x1</BitWidth>
  34430. <Access>RW</Access>
  34431. <Values>
  34432. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  34433. <Val value="0x1">IWDG counter active in stop mode</Val>
  34434. </Values>
  34435. </Bit>
  34436. <Bit>
  34437. <Name>IWDG_STDBY</Name>
  34438. <Description/>
  34439. <BitOffset>0x12</BitOffset>
  34440. <BitWidth>0x1</BitWidth>
  34441. <Access>RW</Access>
  34442. <Values>
  34443. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  34444. <Val value="0x1">IWDG counter active in standby mode</Val>
  34445. </Values>
  34446. </Bit>
  34447. <Bit>
  34448. <Name>WWDG_SW</Name>
  34449. <Description/>
  34450. <BitOffset>0x13</BitOffset>
  34451. <BitWidth>0x1</BitWidth>
  34452. <Access>RW</Access>
  34453. <Values>
  34454. <Val value="0x0">Hardware window watchdog</Val>
  34455. <Val value="0x1">Software window watchdog</Val>
  34456. </Values>
  34457. </Bit>
  34458. <Bit>
  34459. <Name>SWAP_BANK</Name>
  34460. <Description/>
  34461. <BitOffset>0x14</BitOffset>
  34462. <BitWidth>0x1</BitWidth>
  34463. <Access>RW</Access>
  34464. <Values>
  34465. <Val value="0x0">Bank 1 and bank 2 address are not swapped</Val>
  34466. <Val value="0x1">Bank 1 and bank 2 address are swapped</Val>
  34467. </Values>
  34468. </Bit>
  34469. <Bit>
  34470. <Name>DBANK</Name>
  34471. <Description>Dual-bank on 1-Mbyte and 512-Kbyte Flash memory devices</Description>
  34472. <BitOffset>0x15</BitOffset>
  34473. <BitWidth>0x1</BitWidth>
  34474. <Access>RW</Access>
  34475. <Values>
  34476. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  34477. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  34478. </Values>
  34479. </Bit>
  34480. <Bit>
  34481. <Name>SRAM2_PE</Name>
  34482. <Description>SRAM2 parity check enable</Description>
  34483. <BitOffset>0x18</BitOffset>
  34484. <BitWidth>0x1</BitWidth>
  34485. <Access>RW</Access>
  34486. <Values>
  34487. <Val value="0x0">SRAM2 parity check enable</Val>
  34488. <Val value="0x1">SRAM2 parity check disable</Val>
  34489. </Values>
  34490. </Bit>
  34491. <Bit>
  34492. <Name>SRAM2_RST</Name>
  34493. <Description>SRAM2 Erase when system reset</Description>
  34494. <BitOffset>0x19</BitOffset>
  34495. <BitWidth>0x1</BitWidth>
  34496. <Access>RW</Access>
  34497. <Values>
  34498. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  34499. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  34500. </Values>
  34501. </Bit>
  34502. <Bit>
  34503. <Name>nSWBOOT0</Name>
  34504. <Description>Software BOOT0</Description>
  34505. <BitOffset>0x1A</BitOffset>
  34506. <BitWidth>0x1</BitWidth>
  34507. <Access>RW</Access>
  34508. <Values>
  34509. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  34510. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  34511. </Values>
  34512. </Bit>
  34513. <Bit>
  34514. <Name>nBOOT0</Name>
  34515. <Description>nBOOT0 option bit</Description>
  34516. <BitOffset>0x1B</BitOffset>
  34517. <BitWidth>0x1</BitWidth>
  34518. <Access>RW</Access>
  34519. <Values>
  34520. <Val value="0x0">nBOOT0 = 0</Val>
  34521. <Val value="0x1">nBOOT0 = 1</Val>
  34522. </Values>
  34523. </Bit>
  34524. <Bit>
  34525. <Name>PA15_PUPEN</Name>
  34526. <Description>PA15 pull-up enable</Description>
  34527. <BitOffset>0x1C</BitOffset>
  34528. <BitWidth>0x1</BitWidth>
  34529. <Access>RW</Access>
  34530. <Values>
  34531. <Val value="0x0">USB power delivery dead-battery enabled/ TDI pull-up deactivated</Val>
  34532. <Val value="0x1">USB power delivery dead-battery disabled/ TDI pull-up activated</Val>
  34533. </Values>
  34534. </Bit>
  34535. <Bit>
  34536. <Name>BKPRAM_ECC</Name>
  34537. <Description>SRAM2 parity check enable</Description>
  34538. <BitOffset>0x16</BitOffset>
  34539. <BitWidth>0x1</BitWidth>
  34540. <Access>RW</Access>
  34541. <Values>
  34542. <Val value="0x0">Backup RAM ECC check enabled</Val>
  34543. <Val value="0x1">Backup RAM ECC check disabled</Val>
  34544. </Values>
  34545. </Bit>
  34546. <Bit>
  34547. <Name>SRAM3_ECC</Name>
  34548. <Description>SRAM3 ECC detection and correction enable</Description>
  34549. <BitOffset>0x17</BitOffset>
  34550. <BitWidth>0x1</BitWidth>
  34551. <Access>RW</Access>
  34552. <Values>
  34553. <Val value="0x0">SRAM3 ECC check enabled</Val>
  34554. <Val value="0x1">SRAM3 ECC check disabled</Val>
  34555. </Values>
  34556. </Bit>
  34557. <Bit>
  34558. <Name>SRAM2_ECC</Name>
  34559. <Description>SRAM2 ECC detection and correction enable</Description>
  34560. <BitOffset>0x18</BitOffset>
  34561. <BitWidth>0x1</BitWidth>
  34562. <Access>RW</Access>
  34563. <Values>
  34564. <Val value="0x0">SRAM2 ECC check enabled</Val>
  34565. <Val value="0x1">SRAM2 ECC check disabled</Val>
  34566. </Values>
  34567. </Bit>
  34568. <Bit>
  34569. <Name>IO_VDD_HSLV</Name>
  34570. <Description>High-speed IO at low VDD voltage configuration bit</Description>
  34571. <BitOffset>0x1D</BitOffset>
  34572. <BitWidth>0x1</BitWidth>
  34573. <Access>RW</Access>
  34574. <Values>
  34575. <Val value="0x0">High-speed IO at low VDD voltage feature disabled (VDD can exceed 2.5 V)</Val>
  34576. <Val value="0x1">High-speed IO at low VDD voltage feature enabled (VDD remains below 2.5 V)</Val>
  34577. </Values>
  34578. </Bit>
  34579. <Bit>
  34580. <Name>IO_VDDIO2_HSLV</Name>
  34581. <Description>High-speed IO at low VDDIO2 voltage configuration bit</Description>
  34582. <BitOffset>0x1E</BitOffset>
  34583. <BitWidth>0x1</BitWidth>
  34584. <Access>RW</Access>
  34585. <Values>
  34586. <Val value="0x0">High-speed IO at low VDDIO2 voltage feature disabled (VDDIO2 can exceed 2.5 V)</Val>
  34587. <Val value="0x1">High-speed IO at low VDDIO2 voltage feature enabled (VDDIO2 remains below 2.5 V)</Val>
  34588. </Values>
  34589. </Bit>
  34590. <Bit>
  34591. <Name>TZEN</Name>
  34592. <Description>Global TrustZone security enable</Description>
  34593. <BitOffset>0x1F</BitOffset>
  34594. <BitWidth>0x1</BitWidth>
  34595. <Access>RW</Access>
  34596. <Values>
  34597. <Val value="0x0">Global TrustZone security disabled</Val>
  34598. <Val value="0x1">Global TrustZone security enabled</Val>
  34599. </Values>
  34600. </Bit>
  34601. </AssignedBits>
  34602. </Field>
  34603. <Field>
  34604. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x50022054"/>
  34605. <AssignedBits>
  34606. <Bit>
  34607. <Name>HDP1EN</Name>
  34608. <Description>Hide protection first area enable</Description>
  34609. <BitOffset>0x1F</BitOffset>
  34610. <BitWidth>0x1</BitWidth>
  34611. <Access>RW</Access>
  34612. <Values>
  34613. <Val value="0x0">No HDP area 1</Val>
  34614. <Val value="0x1">HDP first area is enabled</Val>
  34615. </Values>
  34616. </Bit>
  34617. <Bit config="2">
  34618. <Name>HDP1_PEND</Name>
  34619. <Description>End page of first hide protection area</Description>
  34620. <BitOffset>0x10</BitOffset>
  34621. <BitWidth>0x7</BitWidth>
  34622. <Access>RW</Access>
  34623. <Equation multiplier="0x4" offset="0x08000000"/>
  34624. </Bit>
  34625. <Bit config="3">
  34626. <Name>HDP1_PEND</Name>
  34627. <Description>End page of first hide protection area</Description>
  34628. <BitOffset>0x10</BitOffset>
  34629. <BitWidth>0x7</BitWidth>
  34630. <Access>RW</Access>
  34631. <Equation multiplier="0x2" offset="0x08000000"/>
  34632. </Bit>
  34633. </AssignedBits>
  34634. </Field>
  34635. <Field>
  34636. <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x50022064"/>
  34637. <AssignedBits>
  34638. <Bit>
  34639. <Name>HDP2EN</Name>
  34640. <Description>Hide protection second area enable</Description>
  34641. <BitOffset>0x1F</BitOffset>
  34642. <BitWidth>0x1</BitWidth>
  34643. <Access>RW</Access>
  34644. <Values>
  34645. <Val value="0x0">No HDP area 2</Val>
  34646. <Val value="0x1">HDP second area is enabled</Val>
  34647. </Values>
  34648. </Bit>
  34649. <Bit config="2">
  34650. <Name>HDP2_PEND</Name>
  34651. <Description>End page of second hide protection area</Description>
  34652. <BitOffset>0x10</BitOffset>
  34653. <BitWidth>0x7</BitWidth>
  34654. <Access>RW</Access>
  34655. <Equation multiplier="0x4" offset="0x08000000"/>
  34656. </Bit>
  34657. <Bit config="3">
  34658. <Name>HDP2_PEND</Name>
  34659. <Description>End page of second hide protection area</Description>
  34660. <BitOffset>0x10</BitOffset>
  34661. <BitWidth>0x7</BitWidth>
  34662. <Access>RW</Access>
  34663. <Equation multiplier="0x2" offset="0x08000000"/>
  34664. </Bit>
  34665. </AssignedBits>
  34666. </Field>
  34667. <Field>
  34668. <Parameters name="FLASH_NSBOOTADD0" size="0x4" address="0x50022044"/>
  34669. <AssignedBits>
  34670. <Bit>
  34671. <Name>NSBOOTADD0</Name>
  34672. <Description>Non-secure Boot base address 0</Description>
  34673. <BitOffset>0x7</BitOffset>
  34674. <BitWidth>0x19</BitWidth>
  34675. <Access>RW</Access>
  34676. <Equation multiplier="0x80" offset="0x0000000"/>
  34677. </Bit>
  34678. </AssignedBits>
  34679. </Field>
  34680. <Field>
  34681. <Parameters name="FLASH_NSBOOTADD1" size="0x4" address="0x50022048"/>
  34682. <AssignedBits>
  34683. <Bit>
  34684. <Name>NSBOOTADD1</Name>
  34685. <Description>Non-secure Boot base address 1</Description>
  34686. <BitOffset>0x7</BitOffset>
  34687. <BitWidth>0x19</BitWidth>
  34688. <Access>RW</Access>
  34689. <Equation multiplier="0x80" offset="0x0000000"/>
  34690. </Bit>
  34691. </AssignedBits>
  34692. </Field>
  34693. <Field>
  34694. <Parameters name="FLASH_SECBOOTADD0" size="0x4" address="0x5002204C"/>
  34695. <AssignedBits>
  34696. <Bit>
  34697. <Name>SECBOOTADD0</Name>
  34698. <Description>Secure boot base address 0</Description>
  34699. <BitOffset>0x7</BitOffset>
  34700. <BitWidth>0x19</BitWidth>
  34701. <Access>RW</Access>
  34702. <Equation multiplier="0x80" offset="0x0000000"/>
  34703. </Bit>
  34704. </AssignedBits>
  34705. </Field>
  34706. <Field>
  34707. <Parameters name="BOOT_LOCK" size="0x4" address="0x5002204C"/>
  34708. <AssignedBits>
  34709. <Bit>
  34710. <Name>BOOT_LOCK</Name>
  34711. <Description> The boot is always forced to base address value programmed in SECBOOTADD0</Description>
  34712. <BitOffset>0x0</BitOffset>
  34713. <BitWidth>0x1</BitWidth>
  34714. <Access>RW</Access>
  34715. <Values>
  34716. <Val value="0x0">Boot based on the pad/option bit configuration</Val>
  34717. <Val value="0x1">Boot forced from base address memory</Val>
  34718. </Values>
  34719. </Bit>
  34720. </AssignedBits>
  34721. </Field>
  34722. </Category>
  34723. <Category>
  34724. <Name>Secure Area 1</Name>
  34725. <Field>
  34726. <Parameters name="FLASH_SECWM1R1" size="0x4" address="0x50022050"/>
  34727. <AssignedBits>
  34728. <Bit config="2">
  34729. <Name>SECWM1_PSTRT</Name>
  34730. <Description>Start page of first secure area</Description>
  34731. <BitOffset>0x0</BitOffset>
  34732. <BitWidth>0x7</BitWidth>
  34733. <Access>RW</Access>
  34734. <Equation multiplier="0x4000" offset="0x08000000"/>
  34735. </Bit>
  34736. <Bit config="3">
  34737. <Name>SECWM1_PSTRT</Name>
  34738. <Description>Start page of first secure area</Description>
  34739. <BitOffset>0x0</BitOffset>
  34740. <BitWidth>0x7</BitWidth>
  34741. <Access>RW</Access>
  34742. <Equation multiplier="0x2000" offset="0x08000000"/>
  34743. </Bit>
  34744. <Bit config="2">
  34745. <Name>SECWM1_PEND</Name>
  34746. <Description>End page of first secure area</Description>
  34747. <BitOffset>0x10</BitOffset>
  34748. <BitWidth>0x7</BitWidth>
  34749. <Access>RW</Access>
  34750. <Equation multiplier="0x4000" offset="0x08000000"/>
  34751. </Bit>
  34752. <Bit config="3">
  34753. <Name>SECWM1_PEND</Name>
  34754. <Description>End page of first secure area</Description>
  34755. <BitOffset>0x10</BitOffset>
  34756. <BitWidth>0x7</BitWidth>
  34757. <Access>RW</Access>
  34758. <Equation multiplier="0x2000" offset="0x08000000"/>
  34759. </Bit>
  34760. </AssignedBits>
  34761. </Field>
  34762. </Category>
  34763. <!-- <Category> -->
  34764. <!-- <Name>PCROP Protection (Bank 1)</Name> -->
  34765. <!-- <Field> -->
  34766. <!-- <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x50022054"/> -->
  34767. <!-- <AssignedBits> -->
  34768. <!-- <Bit config="2"> -->
  34769. <!-- <Name>PCROP1_PSTRT</Name> -->
  34770. <!-- <Description>Start page of first PCROP area</Description> -->
  34771. <!-- <BitOffset>0x0</BitOffset> -->
  34772. <!-- <BitWidth>0x7</BitWidth> -->
  34773. <!-- <Access>RW</Access> -->
  34774. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  34775. <!-- </Bit> -->
  34776. <!-- <Bit config="3"> -->
  34777. <!-- <Name>PCROP1_STRT</Name> -->
  34778. <!-- <Description>Flash Bank 1 PCROP start address</Description> -->
  34779. <!-- <BitOffset>0x0</BitOffset> -->
  34780. <!-- <BitWidth>0x7</BitWidth> -->
  34781. <!-- <Access>RW</Access> -->
  34782. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  34783. <!-- </Bit> -->
  34784. <!-- <Bit config="2"> -->
  34785. <!-- <Name>HDP1_PEND</Name> -->
  34786. <!-- <Description>End page of first hide protection area</Description> -->
  34787. <!-- <BitOffset>0x10</BitOffset> -->
  34788. <!-- <BitWidth>0x7</BitWidth> -->
  34789. <!-- <Access>RW</Access> -->
  34790. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  34791. <!-- </Bit> -->
  34792. <!-- <Bit config="3"> -->
  34793. <!-- <Name>HDP1_PEND</Name> -->
  34794. <!-- <Description>End page of first hide protection area</Description> -->
  34795. <!-- <BitOffset>0x10</BitOffset> -->
  34796. <!-- <BitWidth>0x7</BitWidth> -->
  34797. <!-- <Access>RW</Access> -->
  34798. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  34799. <!-- </Bit> -->
  34800. <!-- <Bit> -->
  34801. <!-- <Name>PCROP1EN</Name> -->
  34802. <!-- <Description>PCROP1 area enable</Description> -->
  34803. <!-- <BitOffset>0xF</BitOffset> -->
  34804. <!-- <BitWidth>0x1</BitWidth> -->
  34805. <!-- <Access>RW</Access> -->
  34806. <!-- <Values> -->
  34807. <!-- <Val value="0x0">PCROP1 area is disabled</Val> -->
  34808. <!-- <Val value="0x1">PCROP1 area is enabled</Val> -->
  34809. <!-- </Values> -->
  34810. <!-- </Bit> -->
  34811. <!-- <Bit> -->
  34812. <!-- <Name>HDP1EN</Name> -->
  34813. <!-- <Description>Hide protection first area enable</Description> -->
  34814. <!-- <BitOffset>0x1F</BitOffset> -->
  34815. <!-- <BitWidth>0x1</BitWidth> -->
  34816. <!-- <Access>RW</Access> -->
  34817. <!-- <Values> -->
  34818. <!-- <Val value="0x0">No HDP area 1</Val> -->
  34819. <!-- <Val value="0x1">HDP first area is enabled</Val> -->
  34820. <!-- </Values> -->
  34821. <!-- </Bit> -->
  34822. <!-- </AssignedBits> -->
  34823. <!-- </Field> -->
  34824. <!-- </Category> -->
  34825. <Category>
  34826. <Name>Write Protection 1</Name>
  34827. <Field>
  34828. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x50022058"/>
  34829. <AssignedBits>
  34830. <Bit config="2">
  34831. <Name>WRP1A_PSTRT</Name>
  34832. <Description>Bank 1 WPR first area "A" start page</Description>
  34833. <BitOffset>0x0</BitOffset>
  34834. <BitWidth>0x7</BitWidth>
  34835. <Access>RW</Access>
  34836. <Equation multiplier="0x4000" offset="0x08000000"/>
  34837. </Bit>
  34838. <Bit config="3">
  34839. <Name>WRP1A_PSTRT</Name>
  34840. <Description>Bank 1 WPR first area "A" start page</Description>
  34841. <BitOffset>0x0</BitOffset>
  34842. <BitWidth>0x7</BitWidth>
  34843. <Access>RW</Access>
  34844. <Equation multiplier="0x2000" offset="0x08000000"/>
  34845. </Bit>
  34846. <Bit config="2">
  34847. <Name>WRP1A_PEND</Name>
  34848. <Description>Bank 1 WPR first area "A" end page</Description>
  34849. <BitOffset>0x10</BitOffset>
  34850. <BitWidth>0x7</BitWidth>
  34851. <Access>RW</Access>
  34852. <Equation multiplier="0x4000" offset="0x08000000"/>
  34853. </Bit>
  34854. <Bit config="3">
  34855. <Name>WRP1A_PEND</Name>
  34856. <Description>Bank 1 WPR first area "A" end page</Description>
  34857. <BitOffset>0x10</BitOffset>
  34858. <BitWidth>0x7</BitWidth>
  34859. <Access>RW</Access>
  34860. <Equation multiplier="0x2000" offset="0x08000000"/>
  34861. </Bit>
  34862. <Bit>
  34863. <Name>UNLOCK</Name>
  34864. <Description>Bank 1 WPR first area A unlock</Description>
  34865. <BitOffset>0x1F</BitOffset>
  34866. <BitWidth>0x1</BitWidth>
  34867. <Access>RW</Access>
  34868. <Values>
  34869. <Val value="0x0">WRP1A start and end pages locked</Val>
  34870. <Val value="0x1">WRP1A start and end pages unlocked</Val>
  34871. </Values>
  34872. </Bit>
  34873. </AssignedBits>
  34874. </Field>
  34875. <Field>
  34876. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x5002205C"/>
  34877. <AssignedBits>
  34878. <Bit config="2">
  34879. <Name>WRP1B_PSTRT</Name>
  34880. <Description>Bank 1 WPR first area "B" start page</Description>
  34881. <BitOffset>0x0</BitOffset>
  34882. <BitWidth>0x7</BitWidth>
  34883. <Access>RW</Access>
  34884. <Equation multiplier="0x4000" offset="0x08000000"/>
  34885. </Bit>
  34886. <Bit config="3">
  34887. <Name>WRP1B_PSTRT</Name>
  34888. <Description>Bank 1 WPR first area "B" start page</Description>
  34889. <BitOffset>0x0</BitOffset>
  34890. <BitWidth>0x7</BitWidth>
  34891. <Access>RW</Access>
  34892. <Equation multiplier="0x2000" offset="0x08000000"/>
  34893. </Bit>
  34894. <Bit config="2">
  34895. <Name>WRP1B_PEND</Name>
  34896. <Description>Bank 1 WPR first area "B" end page</Description>
  34897. <BitOffset>0x10</BitOffset>
  34898. <BitWidth>0x7</BitWidth>
  34899. <Access>RW</Access>
  34900. <Equation multiplier="0x4000" offset="0x08000000"/>
  34901. </Bit>
  34902. <Bit config="3">
  34903. <Name>WRP1B_PEND</Name>
  34904. <Description>Bank 1 WPR first area "B" end page</Description>
  34905. <BitOffset>0x10</BitOffset>
  34906. <BitWidth>0x7</BitWidth>
  34907. <Access>RW</Access>
  34908. <Equation multiplier="0x2000" offset="0x08000000"/>
  34909. </Bit>
  34910. <Bit>
  34911. <Name>UNLOCK</Name>
  34912. <Description>Bank 1 WPR first area B unlock</Description>
  34913. <BitOffset>0x1F</BitOffset>
  34914. <BitWidth>0x1</BitWidth>
  34915. <Access>RW</Access>
  34916. <Values>
  34917. <Val value="0x0">WRP1B start and end pages locked</Val>
  34918. <Val value="0x1">WRP1B start and end pages unlocked</Val>
  34919. </Values>
  34920. </Bit>
  34921. </AssignedBits>
  34922. </Field>
  34923. </Category>
  34924. </Bank>
  34925. <Bank interface="JTAG_SWD">
  34926. <Parameters name="Bank 2" size="0x4" address="0x50022060"/>
  34927. <Category>
  34928. <Name>Secure Area 2</Name>
  34929. <Field>
  34930. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x50022060"/>
  34931. <AssignedBits>
  34932. <Bit config="2">
  34933. <Name>SECWM2_PSTRT</Name>
  34934. <Description>Start page of second secure area</Description>
  34935. <BitOffset>0x0</BitOffset>
  34936. <BitWidth>0x7</BitWidth>
  34937. <Access>RW</Access>
  34938. <Equation multiplier="0x4000" offset="0x08000000"/>
  34939. </Bit>
  34940. <Bit config="3">
  34941. <Name>SECWM2_PSTRT</Name>
  34942. <Description>Start page of second secure area</Description>
  34943. <BitOffset>0x0</BitOffset>
  34944. <BitWidth>0x7</BitWidth>
  34945. <Access>RW</Access>
  34946. <Equation multiplier="0x2000" offset="0x08100000"/>
  34947. </Bit>
  34948. <Bit config="2">
  34949. <Name>SECWM2_PEND</Name>
  34950. <Description>End page of second secure area</Description>
  34951. <BitOffset>0x10</BitOffset>
  34952. <BitWidth>0x7</BitWidth>
  34953. <Access>RW</Access>
  34954. <Equation multiplier="0x4000" offset="0x08000000"/>
  34955. </Bit>
  34956. <Bit config="3">
  34957. <Name>SECWM2_PEND</Name>
  34958. <Description>End page of second secure area</Description>
  34959. <BitOffset>0x10</BitOffset>
  34960. <BitWidth>0x7</BitWidth>
  34961. <Access>RW</Access>
  34962. <Equation multiplier="0x2000" offset="0x08100000"/>
  34963. </Bit>
  34964. </AssignedBits>
  34965. </Field>
  34966. </Category>
  34967. <!-- <Category> -->
  34968. <!-- <Name>PCROP Protection (Bank 2)</Name> -->
  34969. <!-- <Field> -->
  34970. <!-- <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x50022064"/> -->
  34971. <!-- <AssignedBits> -->
  34972. <!-- <Bit config="2"> -->
  34973. <!-- <Name>PCROP2_PSTRT</Name> -->
  34974. <!-- <Description>Start page of first PCROP area</Description> -->
  34975. <!-- <BitOffset>0x0</BitOffset> -->
  34976. <!-- <BitWidth>0x7</BitWidth> -->
  34977. <!-- <Access>RW</Access> -->
  34978. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  34979. <!-- </Bit> -->
  34980. <!-- <Bit config="3"> -->
  34981. <!-- <Name>PCROP2_STRT</Name> -->
  34982. <!-- <Description>Flash Bank 2 PCROP start address</Description> -->
  34983. <!-- <BitOffset>0x0</BitOffset> -->
  34984. <!-- <BitWidth>0x7</BitWidth> -->
  34985. <!-- <Access>RW</Access> -->
  34986. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  34987. <!-- </Bit> -->
  34988. <!-- <Bit config="2"> -->
  34989. <!-- <Name>HDP2_PEND</Name> -->
  34990. <!-- <Description>End page of second hide protection area</Description> -->
  34991. <!-- <BitOffset>0x10</BitOffset> -->
  34992. <!-- <BitWidth>0x7</BitWidth> -->
  34993. <!-- <Access>RW</Access> -->
  34994. <!-- <Equation multiplier="0x4" offset="0x08000000"/> -->
  34995. <!-- </Bit> -->
  34996. <!-- <Bit config="3"> -->
  34997. <!-- <Name>HDP2_PEND</Name> -->
  34998. <!-- <Description>End page of second hide protection area</Description> -->
  34999. <!-- <BitOffset>0x10</BitOffset> -->
  35000. <!-- <BitWidth>0x7</BitWidth> -->
  35001. <!-- <Access>RW</Access> -->
  35002. <!-- <Equation multiplier="0x2" offset="0x08000000"/> -->
  35003. <!-- </Bit> -->
  35004. <!-- <Bit config="2,3"> -->
  35005. <!-- <Name>PCROP2EN</Name> -->
  35006. <!-- <Description>PCROP2 area enable</Description> -->
  35007. <!-- <BitOffset>0xF</BitOffset> -->
  35008. <!-- <BitWidth>0x1</BitWidth> -->
  35009. <!-- <Access>RW</Access> -->
  35010. <!-- <Values> -->
  35011. <!-- <Val value="0x0">PCROP2 area is disabled</Val> -->
  35012. <!-- <Val value="0x1">PCROP2 area is enabled</Val> -->
  35013. <!-- </Values> -->
  35014. <!-- </Bit> -->
  35015. <!-- <Bit config="2,3"> -->
  35016. <!-- <Name>HDP2EN</Name> -->
  35017. <!-- <Description>Hide protection second area enable</Description> -->
  35018. <!-- <BitOffset>0x1F</BitOffset> -->
  35019. <!-- <BitWidth>0x1</BitWidth> -->
  35020. <!-- <Access>RW</Access> -->
  35021. <!-- <Values> -->
  35022. <!-- <Val value="0x0">No HDP area 2</Val> -->
  35023. <!-- <Val value="0x1">HDP second area is enabled</Val> -->
  35024. <!-- </Values> -->
  35025. <!-- </Bit> -->
  35026. <!-- </AssignedBits> -->
  35027. <!-- </Field> -->
  35028. <!-- </Category> -->
  35029. <Category>
  35030. <Name>Write Protection 2</Name>
  35031. <Field>
  35032. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x50022068"/>
  35033. <AssignedBits>
  35034. <Bit config="2">
  35035. <Name>WRP2A_PSTRT</Name>
  35036. <Description>Bank 2 WPR first area "A" start page</Description>
  35037. <BitOffset>0x0</BitOffset>
  35038. <BitWidth>0x7</BitWidth>
  35039. <Access>RW</Access>
  35040. <Equation multiplier="0x4000" offset="0x08100000"/>
  35041. </Bit>
  35042. <Bit config="3">
  35043. <Name>WRP2A_PSTRT</Name>
  35044. <Description>Bank 2 WPR first area "A" start page</Description>
  35045. <BitOffset>0x0</BitOffset>
  35046. <BitWidth>0x7</BitWidth>
  35047. <Access>RW</Access>
  35048. <Equation multiplier="0x2000" offset="0x08100000"/>
  35049. </Bit>
  35050. <Bit config="2">
  35051. <Name>WRP2A_PEND</Name>
  35052. <Description>Bank 2 WPR first area "A" end page</Description>
  35053. <BitOffset>0x10</BitOffset>
  35054. <BitWidth>0x7</BitWidth>
  35055. <Access>RW</Access>
  35056. <Equation multiplier="0x4000" offset="0x08100000"/>
  35057. </Bit>
  35058. <Bit config="3">
  35059. <Name>WRP2A_PEND</Name>
  35060. <Description>Bank 2 WPR first area "A" end page</Description>
  35061. <BitOffset>0x10</BitOffset>
  35062. <BitWidth>0x7</BitWidth>
  35063. <Access>RW</Access>
  35064. <Equation multiplier="0x2000" offset="0x08100000"/>
  35065. </Bit>
  35066. <Bit>
  35067. <Name>UNLOCK</Name>
  35068. <Description>Bank 2 WPR first area A unlock</Description>
  35069. <BitOffset>0x1F</BitOffset>
  35070. <BitWidth>0x1</BitWidth>
  35071. <Access>RW</Access>
  35072. <Values>
  35073. <Val value="0x0">WRP2A start and end pages locked</Val>
  35074. <Val value="0x1">WRP2A start and end pages unlocked</Val>
  35075. </Values>
  35076. </Bit>
  35077. </AssignedBits>
  35078. </Field>
  35079. <Field>
  35080. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x5002206C"/>
  35081. <AssignedBits>
  35082. <Bit config="2">
  35083. <Name>WRP2B_PSTRT</Name>
  35084. <Description>Bank 2 WPR first area "B" start page</Description>
  35085. <BitOffset>0x0</BitOffset>
  35086. <BitWidth>0x7</BitWidth>
  35087. <Access>RW</Access>
  35088. <Equation multiplier="0x4000" offset="0x08100000"/>
  35089. </Bit>
  35090. <Bit config="3">
  35091. <Name>WRP2B_PSTRT</Name>
  35092. <Description>Bank 2 WPR first area "B" start page</Description>
  35093. <BitOffset>0x0</BitOffset>
  35094. <BitWidth>0x7</BitWidth>
  35095. <Access>RW</Access>
  35096. <Equation multiplier="0x2000" offset="0x08100000"/>
  35097. </Bit>
  35098. <Bit config="2">
  35099. <Name>WRP2B_PEND</Name>
  35100. <Description>Bank 2 WPR first area "B" end page</Description>
  35101. <BitOffset>0x10</BitOffset>
  35102. <BitWidth>0x7</BitWidth>
  35103. <Access>RW</Access>
  35104. <Equation multiplier="0x4000" offset="0x08100000"/>
  35105. </Bit>
  35106. <Bit config="3">
  35107. <Name>WRP2B_PEND</Name>
  35108. <Description>Bank 2 WPR first area "B" end page</Description>
  35109. <BitOffset>0x10</BitOffset>
  35110. <BitWidth>0x7</BitWidth>
  35111. <Access>RW</Access>
  35112. <Equation multiplier="0x2000" offset="0x08100000"/>
  35113. </Bit>
  35114. <Bit>
  35115. <Name>UNLOCK</Name>
  35116. <Description>Bank 2 WPR first area B unlock</Description>
  35117. <BitOffset>0x1F</BitOffset>
  35118. <BitWidth>0x1</BitWidth>
  35119. <Access>RW</Access>
  35120. <Values>
  35121. <Val value="0x0">WRP2B start and end pages locked</Val>
  35122. <Val value="0x1">WRP2B start and end pages unlocked</Val>
  35123. </Values>
  35124. </Bit>
  35125. </AssignedBits>
  35126. </Field>
  35127. </Category>
  35128. </Bank>
  35129. </Configuration>
  35130. <Bank interface="Bootloader">
  35131. <Parameters name="Bank 1" size="0x30" address="0x40022040"/>
  35132. <Category>
  35133. <Name>Read Out Protection</Name>
  35134. <Field>
  35135. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  35136. <AssignedBits>
  35137. <Bit>
  35138. <Name>RDP</Name>
  35139. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  35140. <BitOffset>0x0</BitOffset>
  35141. <BitWidth>0x8</BitWidth>
  35142. <Access>RW</Access>
  35143. <Values>
  35144. <Val value="0xAA">Level 0, no protection</Val>
  35145. <Val value="0x55">Level 0.5, read protection not active, only non-secure debug access is possible. Only available when TrustZone is active (TZEN=1)</Val>
  35146. <Val value="0xDC">Level 1, read protection of memories</Val>
  35147. <Val value="0xCC">Level 2, chip protection</Val>
  35148. </Values>
  35149. </Bit>
  35150. </AssignedBits>
  35151. </Field>
  35152. </Category>
  35153. <Category>
  35154. <Name>BOR Level</Name>
  35155. <Field>
  35156. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  35157. <AssignedBits>
  35158. <Bit>
  35159. <Name>BOR_LEV</Name>
  35160. <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>
  35161. <BitOffset>0x8</BitOffset>
  35162. <BitWidth>0x3</BitWidth>
  35163. <Access>RW</Access>
  35164. <Values>
  35165. <Val value="0x0">BOR Level 0, reset level threshold is around 1.7 V</Val>
  35166. <Val value="0x1">BOR Level 1, reset level threshold is around 2.0 V</Val>
  35167. <Val value="0x2">BOR Level 2, reset level threshold is around 2.2 V</Val>
  35168. <Val value="0x3">BOR Level 3, reset level threshold is around 2.5 V</Val>
  35169. <Val value="0x4">BOR Level 4, reset level threshold is around 2.8 V</Val>
  35170. </Values>
  35171. </Bit>
  35172. </AssignedBits>
  35173. </Field>
  35174. </Category>
  35175. <Category>
  35176. <Name>User Configuration</Name>
  35177. <Field>
  35178. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022040"/>
  35179. <AssignedBits>
  35180. <Bit>
  35181. <Name>nRST_STOP</Name>
  35182. <Description/>
  35183. <BitOffset>0xC</BitOffset>
  35184. <BitWidth>0x1</BitWidth>
  35185. <Access>RW</Access>
  35186. <Values>
  35187. <Val value="0x0">Reset generated when entering Stop mode</Val>
  35188. <Val value="0x1">No reset generated when entering Stop mode</Val>
  35189. </Values>
  35190. </Bit>
  35191. <Bit>
  35192. <Name>nRST_STDBY</Name>
  35193. <Description/>
  35194. <BitOffset>0xD</BitOffset>
  35195. <BitWidth>0x1</BitWidth>
  35196. <Access>RW</Access>
  35197. <Values>
  35198. <Val value="0x0">Reset generated when entering Standby mode</Val>
  35199. <Val value="0x1">No reset generated when entering Standby mode</Val>
  35200. </Values>
  35201. </Bit>
  35202. <Bit>
  35203. <Name>nRST_SHDW</Name>
  35204. <Description/>
  35205. <BitOffset>0xE</BitOffset>
  35206. <BitWidth>0x1</BitWidth>
  35207. <Access>RW</Access>
  35208. <Values>
  35209. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  35210. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  35211. </Values>
  35212. </Bit>
  35213. <Bit>
  35214. <Name>IWDG_SW</Name>
  35215. <Description/>
  35216. <BitOffset>0x10</BitOffset>
  35217. <BitWidth>0x1</BitWidth>
  35218. <Access>RW</Access>
  35219. <Values>
  35220. <Val value="0x0">Hardware independant watchdog</Val>
  35221. <Val value="0x1">Software independant watchdog</Val>
  35222. </Values>
  35223. </Bit>
  35224. <Bit>
  35225. <Name>IWDG_STOP</Name>
  35226. <Description/>
  35227. <BitOffset>0x11</BitOffset>
  35228. <BitWidth>0x1</BitWidth>
  35229. <Access>RW</Access>
  35230. <Values>
  35231. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  35232. <Val value="0x1">IWDG counter active in stop mode</Val>
  35233. </Values>
  35234. </Bit>
  35235. <Bit>
  35236. <Name>IWDG_STDBY</Name>
  35237. <Description/>
  35238. <BitOffset>0x12</BitOffset>
  35239. <BitWidth>0x1</BitWidth>
  35240. <Access>RW</Access>
  35241. <Values>
  35242. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  35243. <Val value="0x1">IWDG counter active in standby mode</Val>
  35244. </Values>
  35245. </Bit>
  35246. <Bit>
  35247. <Name>WWDG_SW</Name>
  35248. <Description/>
  35249. <BitOffset>0x13</BitOffset>
  35250. <BitWidth>0x1</BitWidth>
  35251. <Access>RW</Access>
  35252. <Values>
  35253. <Val value="0x0">Hardware window watchdog</Val>
  35254. <Val value="0x1">Software window watchdog</Val>
  35255. </Values>
  35256. </Bit>
  35257. <Bit>
  35258. <Name>SWAP_BANK</Name>
  35259. <Description/>
  35260. <BitOffset>0x14</BitOffset>
  35261. <BitWidth>0x1</BitWidth>
  35262. <Access>RW</Access>
  35263. <Values>
  35264. <Val value="0x0">Bank 1 and bank 2 address are not swapped</Val>
  35265. <Val value="0x1">Bank 1 and bank 2 address are swapped</Val>
  35266. </Values>
  35267. </Bit>
  35268. <Bit>
  35269. <Name>DB256</Name>
  35270. <Description>Dual-Bank on 256 Kb Flash memory devices</Description>
  35271. <BitOffset>0x15</BitOffset>
  35272. <BitWidth>0x1</BitWidth>
  35273. <Access>RW</Access>
  35274. <Values>
  35275. <Val value="0x0">256Kb single Flash: contiguous address in bank1</Val>
  35276. <Val value="0x1">256Kb dual-bank Flash with contiguous addresses</Val>
  35277. </Values>
  35278. </Bit>
  35279. <Bit>
  35280. <Name>DBANK</Name>
  35281. <Description>Dual-bank on 1-Mbyte and 512-Kbyte Flash memory devices</Description>
  35282. <BitOffset>0x16</BitOffset>
  35283. <BitWidth>0x1</BitWidth>
  35284. <Access>RW</Access>
  35285. <Values>
  35286. <Val value="0x0">Single bank mode with 128 bits data read width</Val>
  35287. <Val value="0x1">Dual bank mode with 64 bits data</Val>
  35288. </Values>
  35289. </Bit>
  35290. <Bit>
  35291. <Name>SRAM2_PE</Name>
  35292. <Description>SRAM2 parity check enable</Description>
  35293. <BitOffset>0x18</BitOffset>
  35294. <BitWidth>0x1</BitWidth>
  35295. <Access>RW</Access>
  35296. <Values>
  35297. <Val value="0x0">SRAM2 parity check enable</Val>
  35298. <Val value="0x1">SRAM2 parity check disable</Val>
  35299. </Values>
  35300. </Bit>
  35301. <Bit>
  35302. <Name>SRAM2_RST</Name>
  35303. <Description>SRAM2 Erase when system reset</Description>
  35304. <BitOffset>0x19</BitOffset>
  35305. <BitWidth>0x1</BitWidth>
  35306. <Access>RW</Access>
  35307. <Values>
  35308. <Val value="0x0">SRAM2 erased when a system reset occurs</Val>
  35309. <Val value="0x1">SRAM2 is not erased when a system reset occurs</Val>
  35310. </Values>
  35311. </Bit>
  35312. <Bit>
  35313. <Name>nSWBOOT0</Name>
  35314. <Description>Software BOOT0</Description>
  35315. <BitOffset>0x1A</BitOffset>
  35316. <BitWidth>0x1</BitWidth>
  35317. <Access>RW</Access>
  35318. <Values>
  35319. <Val value="0x0">BOOT0 taken from the option bit nBOOT0</Val>
  35320. <Val value="0x1">BOOT0 taken from PH3/BOOT0 pin</Val>
  35321. </Values>
  35322. </Bit>
  35323. <Bit>
  35324. <Name>nBOOT0</Name>
  35325. <Description>nBOOT0 option bit</Description>
  35326. <BitOffset>0x1B</BitOffset>
  35327. <BitWidth>0x1</BitWidth>
  35328. <Access>RW</Access>
  35329. <Values>
  35330. <Val value="0x0">nBOOT0 = 0</Val>
  35331. <Val value="0x1">nBOOT0 = 1</Val>
  35332. </Values>
  35333. </Bit>
  35334. <Bit>
  35335. <Name>PA15_PUPEN</Name>
  35336. <Description>PA15 pull-up enable</Description>
  35337. <BitOffset>0x1C</BitOffset>
  35338. <BitWidth>0x1</BitWidth>
  35339. <Access>RW</Access>
  35340. <Values>
  35341. <Val value="0x0">USB power delivery dead-battery enabled/ TDI pull-up deactivated</Val>
  35342. <Val value="0x1">USB power delivery dead-battery disabled/ TDI pull-up activated</Val>
  35343. </Values>
  35344. </Bit>
  35345. <Bit>
  35346. <Name>TZEN</Name>
  35347. <Description>Global TrustZone security enable</Description>
  35348. <BitOffset>0x1F</BitOffset>
  35349. <BitWidth>0x1</BitWidth>
  35350. <Access>RW</Access>
  35351. <Values>
  35352. <Val value="0x0">Global TrustZone security disabled</Val>
  35353. <Val value="0x1">Global TrustZone security enabled</Val>
  35354. </Values>
  35355. </Bit>
  35356. </AssignedBits>
  35357. </Field>
  35358. <Field>
  35359. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x40022054"/>
  35360. <AssignedBits>
  35361. <Bit config="6,7,8,9">
  35362. <Name>HDP1EN</Name>
  35363. <Description>Hide protection first area enable</Description>
  35364. <BitOffset>0x1F</BitOffset>
  35365. <BitWidth>0x1</BitWidth>
  35366. <Access>RW</Access>
  35367. <Values>
  35368. <Val value="0x0">No HDP area 1</Val>
  35369. <Val value="0x1">HDP first area is enabled</Val>
  35370. </Values>
  35371. </Bit>
  35372. <Bit config="6,8">
  35373. <Name>HDP1_PEND</Name>
  35374. <Description>End page of first hide protection area</Description>
  35375. <BitOffset>0x10</BitOffset>
  35376. <BitWidth>0x7</BitWidth>
  35377. <Access>RW</Access>
  35378. <Equation multiplier="0x4" offset="0x08000000"/>
  35379. </Bit>
  35380. <Bit config="7,9">
  35381. <Name>HDP1_PEND</Name>
  35382. <Description>End page of first hide protection area</Description>
  35383. <BitOffset>0x10</BitOffset>
  35384. <BitWidth>0x7</BitWidth>
  35385. <Access>RW</Access>
  35386. <Equation multiplier="0x2" offset="0x08000000"/>
  35387. </Bit>
  35388. </AssignedBits>
  35389. </Field>
  35390. <Field>
  35391. <Parameters name="FLASH_SECWM2R2" size="0x4" address="0x40022064"/>
  35392. <AssignedBits>
  35393. <Bit config="6,7,8,9">
  35394. <Name>HDP2EN</Name>
  35395. <Description>Hide protection second area enable</Description>
  35396. <BitOffset>0x1F</BitOffset>
  35397. <BitWidth>0x1</BitWidth>
  35398. <Access>RW</Access>
  35399. <Values>
  35400. <Val value="0x0">No HDP area 2</Val>
  35401. <Val value="0x1">HDP second area is enabled</Val>
  35402. </Values>
  35403. </Bit>
  35404. <Bit config="6,8">
  35405. <Name>HDP2_PEND</Name>
  35406. <Description>End page of second hide protection area</Description>
  35407. <BitOffset>0x10</BitOffset>
  35408. <BitWidth>0x7</BitWidth>
  35409. <Access>RW</Access>
  35410. <Equation multiplier="0x4" offset="0x08000000"/>
  35411. </Bit>
  35412. <Bit config="7,9">
  35413. <Name>HDP2_PEND</Name>
  35414. <Description>End page of second hide protection area</Description>
  35415. <BitOffset>0x10</BitOffset>
  35416. <BitWidth>0x7</BitWidth>
  35417. <Access>RW</Access>
  35418. <Equation multiplier="0x2" offset="0x08000000"/>
  35419. </Bit>
  35420. </AssignedBits>
  35421. </Field>
  35422. <Field>
  35423. <Parameters name="FLASH_NSBOOTADD0" size="0x4" address="0x40022044"/>
  35424. <AssignedBits>
  35425. <Bit>
  35426. <Name>NSBOOTADD0</Name>
  35427. <Description>Non-secure Boot base address 0</Description>
  35428. <BitOffset>0x7</BitOffset>
  35429. <BitWidth>0x19</BitWidth>
  35430. <Access>RW</Access>
  35431. <Equation multiplier="0x80" offset="0x0000000"/>
  35432. </Bit>
  35433. </AssignedBits>
  35434. </Field>
  35435. <Field>
  35436. <Parameters name="FLASH_NSBOOTADD1" size="0x4" address="0x40022048"/>
  35437. <AssignedBits>
  35438. <Bit>
  35439. <Name>NSBOOTADD1</Name>
  35440. <Description>Non-secure Boot base address 1</Description>
  35441. <BitOffset>0x7</BitOffset>
  35442. <BitWidth>0x19</BitWidth>
  35443. <Access>RW</Access>
  35444. <Equation multiplier="0x80" offset="0x0000000"/>
  35445. </Bit>
  35446. </AssignedBits>
  35447. </Field>
  35448. <Field>
  35449. <Parameters name="FLASH_SECBOOTADD0" size="0x4" address="0x4002204C"/>
  35450. <AssignedBits>
  35451. <Bit>
  35452. <Name>SECBOOTADD0</Name>
  35453. <Description>Secure boot base address 0</Description>
  35454. <BitOffset>0x7</BitOffset>
  35455. <BitWidth>0x19</BitWidth>
  35456. <Access>RW</Access>
  35457. <Equation multiplier="0x80" offset="0x0000000"/>
  35458. </Bit>
  35459. </AssignedBits>
  35460. </Field>
  35461. </Category>
  35462. <Category>
  35463. <Name>Secure area 1</Name>
  35464. <Field>
  35465. <Parameters name="FLASH_SECWM1R1" size="0x4" address="0x40022050"/>
  35466. <AssignedBits>
  35467. <Bit config="6,8">
  35468. <Name>SECWM1_PSTRT</Name>
  35469. <Description>Start page of first secure area</Description>
  35470. <BitOffset>0x0</BitOffset>
  35471. <BitWidth>0x7</BitWidth>
  35472. <Access>RW</Access>
  35473. <Equation multiplier="0x1000" offset="0x08000000"/>
  35474. </Bit>
  35475. <Bit config="7,9">
  35476. <Name>SECWM1_PSTRT</Name>
  35477. <Description>Start page of first secure area</Description>
  35478. <BitOffset>0x0</BitOffset>
  35479. <BitWidth>0x7</BitWidth>
  35480. <Access>RW</Access>
  35481. <Equation multiplier="0x800" offset="0x08000000"/>
  35482. </Bit>
  35483. <Bit config="6,8">
  35484. <Name>SECWM1_PEND</Name>
  35485. <Description>End page of first secure area</Description>
  35486. <BitOffset>0x10</BitOffset>
  35487. <BitWidth>0x7</BitWidth>
  35488. <Access>RW</Access>
  35489. <Equation multiplier="0x1000" offset="0x08000000"/>
  35490. </Bit>
  35491. <Bit config="7,9">
  35492. <Name>SECWM1_PEND</Name>
  35493. <Description>End page of first secure area</Description>
  35494. <BitOffset>0x10</BitOffset>
  35495. <BitWidth>0x7</BitWidth>
  35496. <Access>RW</Access>
  35497. <Equation multiplier="0x800" offset="0x08000000"/>
  35498. </Bit>
  35499. </AssignedBits>
  35500. </Field>
  35501. </Category>
  35502. <Category>
  35503. <Name>Write Protection 1</Name>
  35504. <Field>
  35505. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x40022058"/>
  35506. <AssignedBits>
  35507. <Bit config="6,8">
  35508. <Name>WRP1A_PSTRT</Name>
  35509. <Description>Bank 1 WPR first area "A" start page</Description>
  35510. <BitOffset>0x0</BitOffset>
  35511. <BitWidth>0x7</BitWidth>
  35512. <Access>RW</Access>
  35513. <Equation multiplier="0x1000" offset="0x08000000"/>
  35514. </Bit>
  35515. <Bit config="7,9">
  35516. <Name>WRP1A_PSTRT</Name>
  35517. <Description>Bank 1 WPR first area "A" start page</Description>
  35518. <BitOffset>0x0</BitOffset>
  35519. <BitWidth>0x7</BitWidth>
  35520. <Access>RW</Access>
  35521. <Equation multiplier="0x800" offset="0x08000000"/>
  35522. </Bit>
  35523. <Bit config="6,8">
  35524. <Name>WRP1A_PEND</Name>
  35525. <Description>Bank 1 WPR first area "A" end page</Description>
  35526. <BitOffset>0x10</BitOffset>
  35527. <BitWidth>0x7</BitWidth>
  35528. <Access>RW</Access>
  35529. <Equation multiplier="0x1000" offset="0x08000000"/>
  35530. </Bit>
  35531. <Bit config="7,9">
  35532. <Name>WRP1A_PEND</Name>
  35533. <Description>Bank 1 WPR first area "A" end page</Description>
  35534. <BitOffset>0x10</BitOffset>
  35535. <BitWidth>0x7</BitWidth>
  35536. <Access>RW</Access>
  35537. <Equation multiplier="0x800" offset="0x08000000"/>
  35538. </Bit>
  35539. </AssignedBits>
  35540. </Field>
  35541. <Field>
  35542. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x4002205C"/>
  35543. <AssignedBits>
  35544. <Bit config="6,8">
  35545. <Name>WRP1B_PSTRT</Name>
  35546. <Description>Bank 1 WPR first area "B" start page</Description>
  35547. <BitOffset>0x0</BitOffset>
  35548. <BitWidth>0x7</BitWidth>
  35549. <Access>RW</Access>
  35550. <Equation multiplier="0x1000" offset="0x08000000"/>
  35551. </Bit>
  35552. <Bit config="7,9">
  35553. <Name>WRP1B_PSTRT</Name>
  35554. <Description>Bank 1 WPR first area "B" start page</Description>
  35555. <BitOffset>0x0</BitOffset>
  35556. <BitWidth>0x7</BitWidth>
  35557. <Access>RW</Access>
  35558. <Equation multiplier="0x800" offset="0x08000000"/>
  35559. </Bit>
  35560. <Bit config="6,8">
  35561. <Name>WRP1B_PEND</Name>
  35562. <Description>Bank 1 WPR first area "B" end page</Description>
  35563. <BitOffset>0x10</BitOffset>
  35564. <BitWidth>0x7</BitWidth>
  35565. <Access>RW</Access>
  35566. <Equation multiplier="0x1000" offset="0x08000000"/>
  35567. </Bit>
  35568. <Bit config="7,9">
  35569. <Name>WRP1B_PEND</Name>
  35570. <Description>Bank 1 WPR first area "B" end page</Description>
  35571. <BitOffset>0x10</BitOffset>
  35572. <BitWidth>0x7</BitWidth>
  35573. <Access>RW</Access>
  35574. <Equation multiplier="0x800" offset="0x08000000"/>
  35575. </Bit>
  35576. </AssignedBits>
  35577. </Field>
  35578. </Category>
  35579. <Category>
  35580. <Name>Secure area 2</Name>
  35581. <Field>
  35582. <Parameters name="FLASH_SECWM2R1" size="0x4" address="0x40022060"/>
  35583. <AssignedBits>
  35584. <Bit config="6,8">
  35585. <Name>SECWM2_PSTRT</Name>
  35586. <Description>Start page of second secure area</Description>
  35587. <BitOffset>0x0</BitOffset>
  35588. <BitWidth>0x7</BitWidth>
  35589. <Access>RW</Access>
  35590. <Equation multiplier="0x1000" offset="0x08000000"/>
  35591. </Bit>
  35592. <Bit config="7,9">
  35593. <Name>SECWM2_PSTRT</Name>
  35594. <Description>Start page of second secure area</Description>
  35595. <BitOffset>0x0</BitOffset>
  35596. <BitWidth>0x7</BitWidth>
  35597. <Access>RW</Access>
  35598. <Equation multiplier="0x800" offset="0x08040000"/>
  35599. </Bit>
  35600. <Bit config="6,8">
  35601. <Name>SECWM2_PEND</Name>
  35602. <Description>End page of second secure area</Description>
  35603. <BitOffset>0x10</BitOffset>
  35604. <BitWidth>0x7</BitWidth>
  35605. <Access>RW</Access>
  35606. <Equation multiplier="0x1000" offset="0x08000000"/>
  35607. </Bit>
  35608. <Bit config="7,9">
  35609. <Name>SECWM2_PEND</Name>
  35610. <Description>End page of second secure area</Description>
  35611. <BitOffset>0x10</BitOffset>
  35612. <BitWidth>0x7</BitWidth>
  35613. <Access>RW</Access>
  35614. <Equation multiplier="0x800" offset="0x08040000"/>
  35615. </Bit>
  35616. </AssignedBits>
  35617. </Field>
  35618. </Category>
  35619. <Category>
  35620. <Name>Write Protection 2</Name>
  35621. <Field>
  35622. <Parameters name="FLASH_WRP2AR" size="0x4" address="0x40022068"/>
  35623. <AssignedBits>
  35624. <Bit config="6,8">
  35625. <Name>WRP2A_PSTRT</Name>
  35626. <Description>Bank 2 WPR first area "A" start page</Description>
  35627. <BitOffset>0x0</BitOffset>
  35628. <BitWidth>0x7</BitWidth>
  35629. <Access>RW</Access>
  35630. <Equation multiplier="0x1000" offset="0x08000000"/>
  35631. </Bit>
  35632. <Bit config="7,9">
  35633. <Name>WRP2A_PSTRT</Name>
  35634. <Description>Bank 2 WPR first area "A" start page</Description>
  35635. <BitOffset>0x0</BitOffset>
  35636. <BitWidth>0x7</BitWidth>
  35637. <Access>RW</Access>
  35638. <Equation multiplier="0x800" offset="0x08040000"/>
  35639. </Bit>
  35640. <Bit config="6,8">
  35641. <Name>WRP2A_PEND</Name>
  35642. <Description>Bank 2 WPR first area "A" end page</Description>
  35643. <BitOffset>0x10</BitOffset>
  35644. <BitWidth>0x7</BitWidth>
  35645. <Access>RW</Access>
  35646. <Equation multiplier="0x1000" offset="0x08000000"/>
  35647. </Bit>
  35648. <Bit config="7,9">
  35649. <Name>WRP2A_PEND</Name>
  35650. <Description>Bank 2 WPR first area "A" end page</Description>
  35651. <BitOffset>0x10</BitOffset>
  35652. <BitWidth>0x7</BitWidth>
  35653. <Access>RW</Access>
  35654. <Equation multiplier="0x800" offset="0x08040000"/>
  35655. </Bit>
  35656. </AssignedBits>
  35657. </Field>
  35658. <Field>
  35659. <Parameters name="FLASH_WRP2BR" size="0x4" address="0x4002206C"/>
  35660. <AssignedBits>
  35661. <Bit config="6,8">
  35662. <Name>WRP2B_PSTRT</Name>
  35663. <Description>Bank 2 WPR first area "B" start page</Description>
  35664. <BitOffset>0x0</BitOffset>
  35665. <BitWidth>0x7</BitWidth>
  35666. <Access>RW</Access>
  35667. <Equation multiplier="0x1000" offset="0x08000000"/>
  35668. </Bit>
  35669. <Bit config="7,9">
  35670. <Name>WRP2B_PSTRT</Name>
  35671. <Description>Bank 2 WPR first area "B" start page</Description>
  35672. <BitOffset>0x0</BitOffset>
  35673. <BitWidth>0x7</BitWidth>
  35674. <Access>RW</Access>
  35675. <Equation multiplier="0x800" offset="0x08040000"/>
  35676. </Bit>
  35677. <Bit config="6,8">
  35678. <Name>WRP2B_PEND</Name>
  35679. <Description>Bank 2 WPR first area "B" end page</Description>
  35680. <BitOffset>0x10</BitOffset>
  35681. <BitWidth>0x7</BitWidth>
  35682. <Access>RW</Access>
  35683. <Equation multiplier="0x1000" offset="0x08000000"/>
  35684. </Bit>
  35685. <Bit config="7,9">
  35686. <Name>WRP2B_PEND</Name>
  35687. <Description>Bank 2 WPR first area "B" end page</Description>
  35688. <BitOffset>0x10</BitOffset>
  35689. <BitWidth>0x7</BitWidth>
  35690. <Access>RW</Access>
  35691. <Equation multiplier="0x800" offset="0x08040000"/>
  35692. </Bit>
  35693. </AssignedBits>
  35694. </Field>
  35695. </Category>
  35696. </Bank>
  35697. </Peripheral>
  35698. </Peripherals>
  35699. </Device>
  35700. <!-- Device: 0x425 -->
  35701. <Device>
  35702. <DeviceID>0x425</DeviceID>
  35703. <Vendor>STMicroelectronics</Vendor>
  35704. <Type>MCU</Type>
  35705. <CPU>Cortex-M0+</CPU>
  35706. <Name>STM32L03x/L04x/L010</Name>
  35707. <Series>STM32L0</Series>
  35708. <Description>ARM 32-bit Cortex-M0+ based device</Description>
  35709. <Configurations>
  35710. <!-- JTAG_SWD Interface -->
  35711. <Interface name="JTAG_SWD">
  35712. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  35713. <WPRMOD reference="0x1">
  35714. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x0"/>
  35715. </WPRMOD>
  35716. </Configuration>
  35717. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  35718. <WPRMOD reference="0x0">
  35719. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x100"/>
  35720. </WPRMOD>
  35721. </Configuration>
  35722. </Interface>
  35723. <!-- Bootloader Interface -->
  35724. <Interface name="Bootloader">
  35725. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  35726. <WPRMOD reference="0x1">
  35727. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x0"/>
  35728. </WPRMOD>
  35729. </Configuration>
  35730. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  35731. <WPRMOD reference="0x0">
  35732. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x100"/>
  35733. </WPRMOD>
  35734. </Configuration>
  35735. </Interface>
  35736. </Configurations>
  35737. <!-- Peripherals -->
  35738. <Peripherals>
  35739. <!-- Embedded SRAM -->
  35740. <Peripheral>
  35741. <Name>Embedded SRAM</Name>
  35742. <Type>Storage</Type>
  35743. <Description/>
  35744. <ErasedValue>0x00</ErasedValue>
  35745. <Access>RWE</Access>
  35746. <!-- 16 KB -->
  35747. <Configuration>
  35748. <Parameters name="SRAM" size="0x2000" address="0x20000000"/>
  35749. <Description/>
  35750. <Organization>Single</Organization>
  35751. <Bank name="Bank 1">
  35752. <Field>
  35753. <Parameters name="SRAM" size="0x2000" address="0x20000000" occurence="0x1"/>
  35754. </Field>
  35755. </Bank>
  35756. </Configuration>
  35757. </Peripheral>
  35758. <!-- Embedded Flash -->
  35759. <Peripheral>
  35760. <Name>Embedded Flash</Name>
  35761. <Type>Storage</Type>
  35762. <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>
  35763. <ErasedValue>0x00</ErasedValue>
  35764. <Access>RWE</Access>
  35765. <FlashSize address="0x1FF8007C" default="0x8000"/>
  35766. <!-- 128KB single Bank -->
  35767. <Configuration>
  35768. <Parameters name="32 Kbytes Embedded Flash" size="0x8000" address="0x08000000"/>
  35769. <Description/>
  35770. <Organization>Single</Organization>
  35771. <Allignement>0x4</Allignement>
  35772. <Bank name="Bank 1">
  35773. <Field>
  35774. <Parameters name="sector0" size="0x80" address="0x08000000" occurence="0x100"/>
  35775. </Field>
  35776. </Bank>
  35777. </Configuration>
  35778. </Peripheral>
  35779. <!-- Data EEPROM -->
  35780. <Peripheral>
  35781. <Name>Data EEPROM</Name>
  35782. <Type>Storage</Type>
  35783. <Description>The Data EEPROM memory block. It contains user data.</Description>
  35784. <ErasedValue>0x00</ErasedValue>
  35785. <Access>RWE</Access>
  35786. <!-- 1KB single Bank -->
  35787. <Configuration>
  35788. <Parameters name=" 1 Kbytes Data EEPROM" size="0x400" address="0x08080000"/>
  35789. <Description/>
  35790. <Organization>Single</Organization>
  35791. <Allignement>0x4</Allignement>
  35792. <Bank name="Bank 1">
  35793. <Field>
  35794. <Parameters name="EEPROM1" size="0x400" address="0x08080000" occurence="0x1"/>
  35795. </Field>
  35796. </Bank>
  35797. </Configuration>
  35798. </Peripheral>
  35799. <!-- Option Bytes -->
  35800. <Peripheral>
  35801. <Name>Option Bytes</Name>
  35802. <Type>Configuration</Type>
  35803. <Description/>
  35804. <Access>RW</Access>
  35805. <Bank interface="JTAG_SWD">
  35806. <Parameters name="Bank 1" size="0x68" address="0x4002201C"/>
  35807. <Category>
  35808. <Name>Read Out Protection</Name>
  35809. <Field>
  35810. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  35811. <AssignedBits>
  35812. <Bit>
  35813. <Name>RDP</Name>
  35814. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  35815. <BitOffset>0x0</BitOffset>
  35816. <BitWidth>0x8</BitWidth>
  35817. <Access>R</Access>
  35818. <Values>
  35819. <Val value="0xAA">Level 0, no protection</Val>
  35820. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  35821. <Val value="0xCC">Level 2, chip protection</Val>
  35822. </Values>
  35823. </Bit>
  35824. </AssignedBits>
  35825. </Field>
  35826. </Category>
  35827. <Category>
  35828. <Name>PCROP Protection</Name>
  35829. <Field>
  35830. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  35831. <AssignedBits>
  35832. <Bit reference="SPRMode">
  35833. <Name>WPRMOD</Name>
  35834. <Description>Sector protection mode selection option byte.</Description>
  35835. <BitOffset>0x8</BitOffset>
  35836. <BitWidth>0x1</BitWidth>
  35837. <Access>R</Access>
  35838. <Values>
  35839. <Val value="0x0">WRPx bit defines sector write protection</Val>
  35840. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  35841. </Values>
  35842. </Bit>
  35843. </AssignedBits>
  35844. </Field>
  35845. </Category>
  35846. <Category>
  35847. <Name>BOR Level</Name>
  35848. <Field>
  35849. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  35850. <AssignedBits>
  35851. <Bit>
  35852. <Name>BOR_LEV</Name>
  35853. <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>
  35854. <BitOffset>0x10</BitOffset>
  35855. <BitWidth>0x4</BitWidth>
  35856. <Access>R</Access>
  35857. <Values>
  35858. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  35859. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  35860. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  35861. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  35862. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  35863. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  35864. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  35865. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  35866. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  35867. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  35868. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  35869. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  35870. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  35871. </Values>
  35872. </Bit>
  35873. </AssignedBits>
  35874. </Field>
  35875. </Category>
  35876. <Category>
  35877. <Name>User Configuration</Name>
  35878. <Field>
  35879. <Parameters nname="FLASH_OBR" size="0x4" address="0x4002201C"/>
  35880. <AssignedBits>
  35881. <Bit>
  35882. <Name>IWDG_SW</Name>
  35883. <Description/>
  35884. <BitOffset>0x14</BitOffset>
  35885. <BitWidth>0x1</BitWidth>
  35886. <Access>R</Access>
  35887. <Values>
  35888. <Val value="0x0">Hardware independant watchdog</Val>
  35889. <Val value="0x1">Software independant watchdog</Val>
  35890. </Values>
  35891. </Bit>
  35892. <Bit>
  35893. <Name>nRST_STOP</Name>
  35894. <Description/>
  35895. <BitOffset>0x15</BitOffset>
  35896. <BitWidth>0x1</BitWidth>
  35897. <Access>R</Access>
  35898. <Values>
  35899. <Val value="0x0">Reset generated when entering Stop mode</Val>
  35900. <Val value="0x1">No reset generated</Val>
  35901. </Values>
  35902. </Bit>
  35903. <Bit>
  35904. <Name>nRST_STDBY</Name>
  35905. <Description/>
  35906. <BitOffset>0x16</BitOffset>
  35907. <BitWidth>0x1</BitWidth>
  35908. <Access>R</Access>
  35909. <Values>
  35910. <Val value="0x0">Reset generated when entering Standby mode</Val>
  35911. <Val value="0x1">No reset generated</Val>
  35912. </Values>
  35913. </Bit>
  35914. <Bit>
  35915. <Name>nBOOT1</Name>
  35916. <Description/>
  35917. <BitOffset>0x1F</BitOffset>
  35918. <BitWidth>0x1</BitWidth>
  35919. <Access>R</Access>
  35920. <Values>
  35921. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  35922. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  35923. </Values>
  35924. </Bit>
  35925. </AssignedBits>
  35926. </Field>
  35927. </Category>
  35928. <Category>
  35929. <Name>Write Protection</Name>
  35930. <Field>
  35931. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40022020"/>
  35932. <AssignedBits>
  35933. <Bit config="0">
  35934. <Name>WRPOT0</Name>
  35935. <Description/>
  35936. <BitOffset>0x0</BitOffset>
  35937. <BitWidth>0x8</BitWidth>
  35938. <Access>R</Access>
  35939. <Values ByBit="true">
  35940. <Val value="0x0">Write protection not active</Val>
  35941. <Val value="0x1">Write protection active</Val>
  35942. </Values>
  35943. </Bit>
  35944. <Bit config="1">
  35945. <Name>WRPOT0</Name>
  35946. <Description/>
  35947. <BitOffset>0x0</BitOffset>
  35948. <BitWidth>0x8</BitWidth>
  35949. <Access>R</Access>
  35950. <Values ByBit="true">
  35951. <Val value="0x0">read/Write protection active</Val>
  35952. <Val value="0x1">read/Write protection not active</Val>
  35953. </Values>
  35954. </Bit>
  35955. </AssignedBits>
  35956. </Field>
  35957. </Category>
  35958. </Bank>
  35959. <Bank interface="JTAG_SWD">
  35960. <Parameters name="Bank 1" size="0x14" address="0x1FF80000"/>
  35961. <Category>
  35962. <Name>Read Out Protection</Name>
  35963. <Field>
  35964. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  35965. <AssignedBits>
  35966. <Bit>
  35967. <Name>RDP</Name>
  35968. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  35969. <BitOffset>0x0</BitOffset>
  35970. <BitWidth>0x8</BitWidth>
  35971. <Access>W</Access>
  35972. <Values>
  35973. <Val value="0xAA">Level 0, no protection</Val>
  35974. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  35975. <Val value="0xCC">Level 2, chip protection</Val>
  35976. </Values>
  35977. </Bit>
  35978. </AssignedBits>
  35979. </Field>
  35980. </Category>
  35981. <Category>
  35982. <Name>PCROP Protection</Name>
  35983. <Field>
  35984. <Parameters name="FLASH_OBR" size="0x4" address="0x1FF80000"/>
  35985. <AssignedBits>
  35986. <Bit reference="SPRMode">
  35987. <Name>WPRMOD</Name>
  35988. <Description>Sector protection mode selection option byte.</Description>
  35989. <BitOffset>0x8</BitOffset>
  35990. <BitWidth>0x1</BitWidth>
  35991. <Access>W</Access>
  35992. <Values>
  35993. <Val value="0x0">WRPx bit defines sector write protection</Val>
  35994. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  35995. </Values>
  35996. </Bit>
  35997. </AssignedBits>
  35998. </Field>
  35999. </Category>
  36000. <Category>
  36001. <Name>BOR Level</Name>
  36002. <Field>
  36003. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  36004. <AssignedBits>
  36005. <Bit>
  36006. <Name>BOR_LEV</Name>
  36007. <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>
  36008. <BitOffset>0x0</BitOffset>
  36009. <BitWidth>0x4</BitWidth>
  36010. <Access>W</Access>
  36011. <Values>
  36012. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36013. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36014. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36015. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36016. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36017. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36018. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36019. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36020. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  36021. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  36022. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  36023. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  36024. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  36025. </Values>
  36026. </Bit>
  36027. </AssignedBits>
  36028. </Field>
  36029. </Category>
  36030. <Category>
  36031. <Name>User Configuration</Name>
  36032. <Field>
  36033. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  36034. <AssignedBits>
  36035. <Bit>
  36036. <Name>IWDG_SW</Name>
  36037. <Description/>
  36038. <BitOffset>0x4</BitOffset>
  36039. <BitWidth>0x1</BitWidth>
  36040. <Access>W</Access>
  36041. <Values>
  36042. <Val value="0x0">Hardware independant watchdog</Val>
  36043. <Val value="0x1">Software independant watchdog</Val>
  36044. </Values>
  36045. </Bit>
  36046. <Bit>
  36047. <Name>nRST_STOP</Name>
  36048. <Description/>
  36049. <BitOffset>0x5</BitOffset>
  36050. <BitWidth>0x1</BitWidth>
  36051. <Access>W</Access>
  36052. <Values>
  36053. <Val value="0x0">Reset generated when entering Stop mode</Val>
  36054. <Val value="0x1">No reset generated</Val>
  36055. </Values>
  36056. </Bit>
  36057. <Bit>
  36058. <Name>nRST_STDBY</Name>
  36059. <Description/>
  36060. <BitOffset>0x6</BitOffset>
  36061. <BitWidth>0x1</BitWidth>
  36062. <Access>W</Access>
  36063. <Values>
  36064. <Val value="0x0">Reset generated when entering Standby mode</Val>
  36065. <Val value="0x1">No reset generated</Val>
  36066. </Values>
  36067. </Bit>
  36068. <Bit>
  36069. <Name>nBOOT1</Name>
  36070. <Description/>
  36071. <BitOffset>0x0F</BitOffset>
  36072. <BitWidth>0x1</BitWidth>
  36073. <Access>W</Access>
  36074. <Values>
  36075. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  36076. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  36077. </Values>
  36078. </Bit>
  36079. </AssignedBits>
  36080. </Field>
  36081. </Category>
  36082. <Category>
  36083. <Name>Write Protection</Name>
  36084. <Field>
  36085. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  36086. <AssignedBits>
  36087. <Bit>
  36088. <Name>WRPOT0</Name>
  36089. <Description/>
  36090. <BitOffset>0x0</BitOffset>
  36091. <BitWidth>0x8</BitWidth>
  36092. <Access>W</Access>
  36093. <Values ByBit="true">
  36094. <Val value="0x0">Write protection not active</Val>
  36095. <Val value="0x1">Write protection active</Val>
  36096. </Values>
  36097. </Bit>
  36098. </AssignedBits>
  36099. </Field>
  36100. </Category>
  36101. </Bank>
  36102. <Bank interface="Bootloader">
  36103. <Parameters name="Bank 2" size="0x14" address="0x1FF80000"/>
  36104. <Category>
  36105. <Name>Read Out Protection</Name>
  36106. <Field>
  36107. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  36108. <AssignedBits>
  36109. <Bit>
  36110. <Name>RDP</Name>
  36111. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  36112. <BitOffset>0x0</BitOffset>
  36113. <BitWidth>0x8</BitWidth>
  36114. <Access>RW</Access>
  36115. <Values>
  36116. <Val value="0xAA">Level 0, no protection</Val>
  36117. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  36118. <Val value="0xCC">Level 2, chip protection</Val>
  36119. </Values>
  36120. </Bit>
  36121. </AssignedBits>
  36122. </Field>
  36123. </Category>
  36124. <Category>
  36125. <Name>PCROP Protection</Name>
  36126. <Field>
  36127. <Parameters name="FLASH_OBR" size="0x4" address="0x1FF80000"/>
  36128. <AssignedBits>
  36129. <Bit reference="SPRMode">
  36130. <Name>WPRMOD</Name>
  36131. <Description>Sector protection mode selection option byte.</Description>
  36132. <BitOffset>0x8</BitOffset>
  36133. <BitWidth>0x1</BitWidth>
  36134. <Access>RW</Access>
  36135. <Values>
  36136. <Val value="0x0">WRPx bit defines sector write protection</Val>
  36137. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  36138. </Values>
  36139. </Bit>
  36140. </AssignedBits>
  36141. </Field>
  36142. </Category>
  36143. <Category>
  36144. <Name>BOR Level</Name>
  36145. <Field>
  36146. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  36147. <AssignedBits>
  36148. <Bit>
  36149. <Name>BOR_LEV</Name>
  36150. <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>
  36151. <BitOffset>0x0</BitOffset>
  36152. <BitWidth>0x4</BitWidth>
  36153. <Access>RW</Access>
  36154. <Values>
  36155. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36156. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36157. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36158. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36159. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36160. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36161. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36162. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36163. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  36164. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  36165. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  36166. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  36167. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  36168. </Values>
  36169. </Bit>
  36170. </AssignedBits>
  36171. </Field>
  36172. </Category>
  36173. <Category>
  36174. <Name>User Configuration</Name>
  36175. <Field>
  36176. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  36177. <AssignedBits>
  36178. <Bit>
  36179. <Name>IWDG_SW</Name>
  36180. <Description/>
  36181. <BitOffset>0x4</BitOffset>
  36182. <BitWidth>0x1</BitWidth>
  36183. <Access>RW</Access>
  36184. <Values>
  36185. <Val value="0x0">Hardware independant watchdog</Val>
  36186. <Val value="0x1">Software independant watchdog</Val>
  36187. </Values>
  36188. </Bit>
  36189. <Bit>
  36190. <Name>nRST_STOP</Name>
  36191. <Description/>
  36192. <BitOffset>0x5</BitOffset>
  36193. <BitWidth>0x1</BitWidth>
  36194. <Access>RW</Access>
  36195. <Values>
  36196. <Val value="0x0">Reset generated when entering Stop mode</Val>
  36197. <Val value="0x1">No reset generated</Val>
  36198. </Values>
  36199. </Bit>
  36200. <Bit>
  36201. <Name>nRST_STDBY</Name>
  36202. <Description/>
  36203. <BitOffset>0x6</BitOffset>
  36204. <BitWidth>0x1</BitWidth>
  36205. <Access>RW</Access>
  36206. <Values>
  36207. <Val value="0x0">Reset generated when entering Standby mode</Val>
  36208. <Val value="0x1">No reset generated</Val>
  36209. </Values>
  36210. </Bit>
  36211. <Bit>
  36212. <Name>nBOOT1</Name>
  36213. <Description/>
  36214. <BitOffset>0x0F</BitOffset>
  36215. <BitWidth>0x1</BitWidth>
  36216. <Access>RW</Access>
  36217. <Values>
  36218. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  36219. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  36220. </Values>
  36221. </Bit>
  36222. </AssignedBits>
  36223. </Field>
  36224. </Category>
  36225. <Category>
  36226. <Name>Write Protection</Name>
  36227. <Field>
  36228. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40022020"/>
  36229. <AssignedBits>
  36230. <Bit config="0">
  36231. <Name>WRPOT0</Name>
  36232. <Description/>
  36233. <BitOffset>0x0</BitOffset>
  36234. <BitWidth>0x8</BitWidth>
  36235. <Access>RW</Access>
  36236. <Values ByBit="true">
  36237. <Val value="0x0">Write protection not active</Val>
  36238. <Val value="0x1">Write protection active</Val>
  36239. </Values>
  36240. </Bit>
  36241. <Bit config="1">
  36242. <Name>WRPOT0</Name>
  36243. <Description/>
  36244. <BitOffset>0x0</BitOffset>
  36245. <BitWidth>0x8</BitWidth>
  36246. <Access>RW</Access>
  36247. <Values ByBit="true">
  36248. <Val value="0x0">read/Write protection active</Val>
  36249. <Val value="0x1">read/Write protection not active</Val>
  36250. </Values>
  36251. </Bit>
  36252. </AssignedBits>
  36253. </Field>
  36254. </Category>
  36255. </Bank>
  36256. </Peripheral>
  36257. </Peripherals>
  36258. </Device>
  36259. <!-- Device: 0x457 -->
  36260. <Device>
  36261. <DeviceID>0x457</DeviceID>
  36262. <Vendor>STMicroelectronics</Vendor>
  36263. <Type>MCU</Type>
  36264. <CPU>Cortex-M0+</CPU>
  36265. <Name>STM32L01x/L02x</Name>
  36266. <Series>STM32L0</Series>
  36267. <Description>ARM 32-bit Cortex-M0+ based device</Description>
  36268. <Configurations>
  36269. <!-- JTAG_SWD Interface -->
  36270. <Interface name="JTAG_SWD">
  36271. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  36272. <WPRMOD reference="0x1">
  36273. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x0"/>
  36274. </WPRMOD>
  36275. </Configuration>
  36276. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  36277. <WPRMOD reference="0x0">
  36278. <ReadRegister address="0x4002201C" mask="0x000000100" value="0x100"/>
  36279. </WPRMOD>
  36280. </Configuration>
  36281. </Interface>
  36282. <!-- Bootloader Interface -->
  36283. <Interface name="Bootloader">
  36284. <Configuration number="0x0"> <!-- WRPx control the write protection of user sector-->
  36285. <WPRMOD reference="0x1">
  36286. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x0"/>
  36287. </WPRMOD>
  36288. </Configuration>
  36289. <Configuration number="0x1"> <!-- WRPx control the read/write protection PcROP-->
  36290. <WPRMOD reference="0x0">
  36291. <ReadRegister address="0x1FF80000" mask="0x00000100" value="0x100"/>
  36292. </WPRMOD>
  36293. </Configuration>
  36294. </Interface>
  36295. </Configurations>
  36296. <!-- Peripherals -->
  36297. <Peripherals>
  36298. <!-- Embedded SRAM -->
  36299. <Peripheral>
  36300. <Name>Embedded SRAM</Name>
  36301. <Type>Storage</Type>
  36302. <Description/>
  36303. <ErasedValue>0x00</ErasedValue>
  36304. <Access>RWE</Access>
  36305. <!-- 16 KB -->
  36306. <Configuration>
  36307. <Parameters name="SRAM" size="0x800" address="0x20000000"/>
  36308. <Description/>
  36309. <Organization>Single</Organization>
  36310. <Bank name="Bank 1">
  36311. <Field>
  36312. <Parameters name="SRAM" size="0x800" address="0x20000000" occurence="0x1"/>
  36313. </Field>
  36314. </Bank>
  36315. </Configuration>
  36316. </Peripheral>
  36317. <!-- Embedded Flash -->
  36318. <Peripheral>
  36319. <Name>Embedded Flash</Name>
  36320. <Type>Storage</Type>
  36321. <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>
  36322. <ErasedValue>0x00</ErasedValue>
  36323. <Access>RWE</Access>
  36324. <FlashSize address="0x1FF8007C" default="0x4000"/>
  36325. <!-- 128KB single Bank -->
  36326. <Configuration>
  36327. <Parameters name="16 Kbytes Embedded Flash" size="0x4000" address="0x08000000"/>
  36328. <Description/>
  36329. <Organization>Single</Organization>
  36330. <Allignement>0x4</Allignement>
  36331. <Bank name="Bank 1">
  36332. <Field>
  36333. <Parameters name="sector0" size="0x80" address="0x08000000" occurence="0x80"/>
  36334. </Field>
  36335. </Bank>
  36336. </Configuration>
  36337. </Peripheral>
  36338. <!-- Data EEPROM -->
  36339. <Peripheral>
  36340. <Name>Data EEPROM</Name>
  36341. <Type>Storage</Type>
  36342. <Description>The Data EEPROM memory block. It contains user data.</Description>
  36343. <ErasedValue>0x00</ErasedValue>
  36344. <Access>RWE</Access>
  36345. <!-- 1KB single Bank -->
  36346. <Configuration>
  36347. <Parameters name=" 1 Kbytes Data EEPROM" size="0x200" address="0x08080000"/>
  36348. <Description/>
  36349. <Organization>Single</Organization>
  36350. <Allignement>0x4</Allignement>
  36351. <Bank name="Bank 1">
  36352. <Field>
  36353. <Parameters name="EEPROM1" size="0x200" address="0x08080000" occurence="0x1"/>
  36354. </Field>
  36355. </Bank>
  36356. </Configuration>
  36357. </Peripheral>
  36358. <!-- Option Bytes -->
  36359. <Peripheral>
  36360. <Name>Option Bytes</Name>
  36361. <Type>Configuration</Type>
  36362. <Description/>
  36363. <Access>RW</Access>
  36364. <Bank interface="JTAG_SWD">
  36365. <Parameters name="Bank 1" size="0x68" address="0x4002201C"/>
  36366. <Category>
  36367. <Name>Read Out Protection</Name>
  36368. <Field>
  36369. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  36370. <AssignedBits>
  36371. <Bit>
  36372. <Name>RDP</Name>
  36373. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  36374. <BitOffset>0x0</BitOffset>
  36375. <BitWidth>0x8</BitWidth>
  36376. <Access>R</Access>
  36377. <Values>
  36378. <Val value="0xAA">Level 0, no protection</Val>
  36379. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  36380. <Val value="0xCC">Level 2, chip protection</Val>
  36381. </Values>
  36382. </Bit>
  36383. </AssignedBits>
  36384. </Field>
  36385. </Category>
  36386. <Category>
  36387. <Name>PCROP Protection</Name>
  36388. <Field>
  36389. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  36390. <AssignedBits>
  36391. <Bit reference="SPRMode">
  36392. <Name>WPRMOD</Name>
  36393. <Description>Sector protection mode selection option byte.</Description>
  36394. <BitOffset>0x8</BitOffset>
  36395. <BitWidth>0x1</BitWidth>
  36396. <Access>R</Access>
  36397. <Values>
  36398. <Val value="0x0">WRPx bit defines sector write protection</Val>
  36399. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  36400. </Values>
  36401. </Bit>
  36402. </AssignedBits>
  36403. </Field>
  36404. </Category>
  36405. <Category>
  36406. <Name>BOR Level</Name>
  36407. <Field>
  36408. <Parameters name="FLASH_OBR" size="0x4" address="0x4002201C"/>
  36409. <AssignedBits>
  36410. <Bit>
  36411. <Name>BOR_LEV</Name>
  36412. <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>
  36413. <BitOffset>0x10</BitOffset>
  36414. <BitWidth>0x4</BitWidth>
  36415. <Access>R</Access>
  36416. <Values>
  36417. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36418. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36419. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36420. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36421. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36422. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36423. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36424. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36425. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  36426. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  36427. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  36428. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  36429. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  36430. </Values>
  36431. </Bit>
  36432. </AssignedBits>
  36433. </Field>
  36434. </Category>
  36435. <Category>
  36436. <Name>User Configuration</Name>
  36437. <Field>
  36438. <Parameters nname="FLASH_OBR" size="0x4" address="0x4002201C"/>
  36439. <AssignedBits>
  36440. <Bit>
  36441. <Name>IWDG_SW</Name>
  36442. <Description/>
  36443. <BitOffset>0x14</BitOffset>
  36444. <BitWidth>0x1</BitWidth>
  36445. <Access>R</Access>
  36446. <Values>
  36447. <Val value="0x0">Hardware independant watchdog</Val>
  36448. <Val value="0x1">Software independant watchdog</Val>
  36449. </Values>
  36450. </Bit>
  36451. <Bit>
  36452. <Name>nRST_STOP</Name>
  36453. <Description/>
  36454. <BitOffset>0x15</BitOffset>
  36455. <BitWidth>0x1</BitWidth>
  36456. <Access>R</Access>
  36457. <Values>
  36458. <Val value="0x0">Reset generated when entering Stop mode</Val>
  36459. <Val value="0x1">No reset generated</Val>
  36460. </Values>
  36461. </Bit>
  36462. <Bit>
  36463. <Name>nRST_STDBY</Name>
  36464. <Description/>
  36465. <BitOffset>0x16</BitOffset>
  36466. <BitWidth>0x1</BitWidth>
  36467. <Access>R</Access>
  36468. <Values>
  36469. <Val value="0x0">Reset generated when entering Standby mode</Val>
  36470. <Val value="0x1">No reset generated</Val>
  36471. </Values>
  36472. </Bit>
  36473. <Bit>
  36474. <Name>nBOOT_SEL</Name>
  36475. <Description/>
  36476. <BitOffset>0x1D</BitOffset>
  36477. <BitWidth>0x1</BitWidth>
  36478. <Access>R</Access>
  36479. <Values>
  36480. <Val value="0x0">BOOT0 signal is defined by BOOT0 pin value (default mode)</Val>
  36481. <Val value="0x1">BOOT0 signal is defined by nBOOT0 option bit</Val>
  36482. </Values>
  36483. </Bit>
  36484. <Bit>
  36485. <Name>nBOOT0</Name>
  36486. <Description>When nBOOT_SEL is cleared, nBOOT0 bit defines the value of BOOT0 signal that is used toselect the device boot mode</Description>
  36487. <BitOffset>0x1E</BitOffset>
  36488. <BitWidth>0x1</BitWidth>
  36489. <Access>R</Access>
  36490. <Values>
  36491. <Val value="0x0">Main Flash memory is selected as boot area</Val>
  36492. <Val value="0x1">nBOOT1=1 SysMem/nBOOT1=0 SRAM as boot area</Val>
  36493. </Values>
  36494. </Bit>
  36495. <Bit>
  36496. <Name>nBOOT1</Name>
  36497. <Description/>
  36498. <BitOffset>0x1F</BitOffset>
  36499. <BitWidth>0x1</BitWidth>
  36500. <Access>R</Access>
  36501. <Values>
  36502. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  36503. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  36504. </Values>
  36505. </Bit>
  36506. </AssignedBits>
  36507. </Field>
  36508. </Category>
  36509. <Category>
  36510. <Name>Write Protection</Name>
  36511. <Field>
  36512. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40022020"/>
  36513. <AssignedBits>
  36514. <Bit config="0">
  36515. <Name>WRPOT0</Name>
  36516. <Description/>
  36517. <BitOffset>0x0</BitOffset>
  36518. <BitWidth>0x4</BitWidth>
  36519. <Access>R</Access>
  36520. <Values ByBit="true">
  36521. <Val value="0x0">Write protection not active</Val>
  36522. <Val value="0x1">Write protection active</Val>
  36523. </Values>
  36524. </Bit>
  36525. <Bit config="1">
  36526. <Name>WRPOT0</Name>
  36527. <Description/>
  36528. <BitOffset>0x0</BitOffset>
  36529. <BitWidth>0x4</BitWidth>
  36530. <Access>R</Access>
  36531. <Values ByBit="true">
  36532. <Val value="0x0">read/Write protection active</Val>
  36533. <Val value="0x1">read/Write protection not active</Val>
  36534. </Values>
  36535. </Bit>
  36536. </AssignedBits>
  36537. </Field>
  36538. </Category>
  36539. </Bank>
  36540. <Bank interface="JTAG_SWD">
  36541. <Parameters name="Bank 1" size="0x10" address="0x1FF80000"/>
  36542. <Category>
  36543. <Name>Read Out Protection</Name>
  36544. <Field>
  36545. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  36546. <AssignedBits>
  36547. <Bit>
  36548. <Name>RDP</Name>
  36549. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  36550. <BitOffset>0x0</BitOffset>
  36551. <BitWidth>0x8</BitWidth>
  36552. <Access>W</Access>
  36553. <Values>
  36554. <Val value="0xAA">Level 0, no protection</Val>
  36555. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  36556. <Val value="0xCC">Level 2, chip protection</Val>
  36557. </Values>
  36558. </Bit>
  36559. </AssignedBits>
  36560. </Field>
  36561. </Category>
  36562. <Category>
  36563. <Name>PCROP Protection</Name>
  36564. <Field>
  36565. <Parameters name="FLASH_OBR" size="0x4" address="0x1FF80000"/>
  36566. <AssignedBits>
  36567. <Bit reference="SPRMode">
  36568. <Name>WPRMOD</Name>
  36569. <Description>Sector protection mode selection option byte.</Description>
  36570. <BitOffset>0x8</BitOffset>
  36571. <BitWidth>0x1</BitWidth>
  36572. <Access>W</Access>
  36573. <Values>
  36574. <Val value="0x0">WRPx bit defines sector write protection</Val>
  36575. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  36576. </Values>
  36577. </Bit>
  36578. </AssignedBits>
  36579. </Field>
  36580. </Category>
  36581. <Category>
  36582. <Name>BOR Level</Name>
  36583. <Field>
  36584. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  36585. <AssignedBits>
  36586. <Bit>
  36587. <Name>BOR_LEV</Name>
  36588. <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>
  36589. <BitOffset>0x0</BitOffset>
  36590. <BitWidth>0x4</BitWidth>
  36591. <Access>W</Access>
  36592. <Values>
  36593. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36594. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36595. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36596. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36597. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36598. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36599. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36600. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36601. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  36602. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  36603. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  36604. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  36605. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  36606. </Values>
  36607. </Bit>
  36608. </AssignedBits>
  36609. </Field>
  36610. </Category>
  36611. <Category>
  36612. <Name>User Configuration</Name>
  36613. <Field>
  36614. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  36615. <AssignedBits>
  36616. <Bit>
  36617. <Name>IWDG_SW</Name>
  36618. <Description/>
  36619. <BitOffset>0x4</BitOffset>
  36620. <BitWidth>0x1</BitWidth>
  36621. <Access>W</Access>
  36622. <Values>
  36623. <Val value="0x0">Hardware independant watchdog</Val>
  36624. <Val value="0x1">Software independant watchdog</Val>
  36625. </Values>
  36626. </Bit>
  36627. <Bit>
  36628. <Name>nRST_STOP</Name>
  36629. <Description/>
  36630. <BitOffset>0x5</BitOffset>
  36631. <BitWidth>0x1</BitWidth>
  36632. <Access>W</Access>
  36633. <Values>
  36634. <Val value="0x0">Reset generated when entering Stop mode</Val>
  36635. <Val value="0x1">No reset generated</Val>
  36636. </Values>
  36637. </Bit>
  36638. <Bit>
  36639. <Name>nRST_STDBY</Name>
  36640. <Description/>
  36641. <BitOffset>0x6</BitOffset>
  36642. <BitWidth>0x1</BitWidth>
  36643. <Access>W</Access>
  36644. <Values>
  36645. <Val value="0x0">Reset generated when entering Standby mode</Val>
  36646. <Val value="0x1">No reset generated</Val>
  36647. </Values>
  36648. </Bit>
  36649. <Bit>
  36650. <Name>nBOOT_SEL</Name>
  36651. <Description/>
  36652. <BitOffset>0xD</BitOffset>
  36653. <BitWidth>0x1</BitWidth>
  36654. <Access>W</Access>
  36655. <Values>
  36656. <Val value="0x0">BOOT0 signal is defined by BOOT0 pin value (default mode)</Val>
  36657. <Val value="0x1">BOOT0 signal is defined by nBOOT0 option bit</Val>
  36658. </Values>
  36659. </Bit>
  36660. <Bit>
  36661. <Name>nBOOT0</Name>
  36662. <Description>When nBOOT_SEL is cleared, nBOOT0 bit defines the value of BOOT0 signal that is used toselect the device boot mode</Description>
  36663. <BitOffset>0xE</BitOffset>
  36664. <BitWidth>0x1</BitWidth>
  36665. <Access>W</Access>
  36666. <Values>
  36667. <Val value="0x0">Main Flash memory is selected as boot area</Val>
  36668. <Val value="0x1">nBOOT1=1 SysMem/nBOOT1=0 SRAM as boot area</Val>
  36669. </Values>
  36670. </Bit>
  36671. <Bit>
  36672. <Name>nBOOT1</Name>
  36673. <Description/>
  36674. <BitOffset>0x0F</BitOffset>
  36675. <BitWidth>0x1</BitWidth>
  36676. <Access>W</Access>
  36677. <Values>
  36678. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  36679. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  36680. </Values>
  36681. </Bit>
  36682. </AssignedBits>
  36683. </Field>
  36684. </Category>
  36685. <Category>
  36686. <Name>Write Protection</Name>
  36687. <Field>
  36688. <Parameters name="WRP1" size="0x8" address="0x1FF80008"/>
  36689. <AssignedBits>
  36690. <Bit>
  36691. <Name>WRPOT0</Name>
  36692. <Description/>
  36693. <BitOffset>0x0</BitOffset>
  36694. <BitWidth>0x4</BitWidth>
  36695. <Access>W</Access>
  36696. <Values ByBit="true">
  36697. <Val value="0x0">Write protection not active</Val>
  36698. <Val value="0x1">Write protection active</Val>
  36699. </Values>
  36700. </Bit>
  36701. </AssignedBits>
  36702. </Field>
  36703. </Category>
  36704. </Bank>
  36705. <Bank interface="Bootloader">
  36706. <Parameters name="Bank 2" size="0x10" address="0x1FF80000"/>
  36707. <Category>
  36708. <Name>Read Out Protection</Name>
  36709. <Field>
  36710. <Parameters name="RDP" size="0x4" address="0x1FF80000"/>
  36711. <AssignedBits>
  36712. <Bit>
  36713. <Name>RDP</Name>
  36714. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  36715. <BitOffset>0x0</BitOffset>
  36716. <BitWidth>0x8</BitWidth>
  36717. <Access>RW</Access>
  36718. <Values>
  36719. <Val value="0xAA">Level 0, no protection</Val>
  36720. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  36721. <Val value="0xCC">Level 2, chip protection</Val>
  36722. </Values>
  36723. </Bit>
  36724. </AssignedBits>
  36725. </Field>
  36726. </Category>
  36727. <Category>
  36728. <Name>PCROP Protection</Name>
  36729. <Field>
  36730. <Parameters name="FLASH_OBR" size="0x4" address="0x1FF80000"/>
  36731. <AssignedBits>
  36732. <Bit reference="SPRMode">
  36733. <Name>WPRMOD</Name>
  36734. <Description>Sector protection mode selection option byte.</Description>
  36735. <BitOffset>0x8</BitOffset>
  36736. <BitWidth>0x1</BitWidth>
  36737. <Access>RW</Access>
  36738. <Values>
  36739. <Val value="0x0">WRPx bit defines sector write protection</Val>
  36740. <Val value="0x1">WRPx bit defines sector read/write (PCROP) protection</Val>
  36741. </Values>
  36742. </Bit>
  36743. </AssignedBits>
  36744. </Field>
  36745. </Category>
  36746. <Category>
  36747. <Name>BOR Level</Name>
  36748. <Field>
  36749. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  36750. <AssignedBits>
  36751. <Bit>
  36752. <Name>BOR_LEV</Name>
  36753. <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>
  36754. <BitOffset>0x0</BitOffset>
  36755. <BitWidth>0x4</BitWidth>
  36756. <Access>RW</Access>
  36757. <Values>
  36758. <Val value="0x0">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36759. <Val value="0x1">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36760. <Val value="0x2">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36761. <Val value="0x3">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36762. <Val value="0x4">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36763. <Val value="0x5">BOR Level OFF, reset level threshold the 1.45 V-1.55 V</Val>
  36764. <Val value="0x6">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36765. <Val value="0x7">BOR Level OFF, reset level threshold for 1.45 V-1.55 V</Val>
  36766. <Val value="0x8">BOR Level 1, reset level threshold for 1.69 V-1.8 V</Val>
  36767. <Val value="0x9">BOR Level 2, reset level threshold for 1.94 V-2.1 V</Val>
  36768. <Val value="0xA">BOR Level 3, reset level threshold for 2.3 V-2.49 V</Val>
  36769. <Val value="0xB">BOR Level 4, reset level threshold for 2.54 V-2.74 V</Val>
  36770. <Val value="0xC">BOR Level 5, reset level threshold for 2.77 V-3.0 V</Val>
  36771. </Values>
  36772. </Bit>
  36773. </AssignedBits>
  36774. </Field>
  36775. </Category>
  36776. <Category>
  36777. <Name>User Configuration</Name>
  36778. <Field>
  36779. <Parameters name="USER" size="0x4" address="0x1FF80004"/>
  36780. <AssignedBits>
  36781. <Bit>
  36782. <Name>IWDG_SW</Name>
  36783. <Description/>
  36784. <BitOffset>0x4</BitOffset>
  36785. <BitWidth>0x1</BitWidth>
  36786. <Access>RW</Access>
  36787. <Values>
  36788. <Val value="0x0">Hardware independant watchdog</Val>
  36789. <Val value="0x1">Software independant watchdog</Val>
  36790. </Values>
  36791. </Bit>
  36792. <Bit>
  36793. <Name>nRST_STOP</Name>
  36794. <Description/>
  36795. <BitOffset>0x5</BitOffset>
  36796. <BitWidth>0x1</BitWidth>
  36797. <Access>RW</Access>
  36798. <Values>
  36799. <Val value="0x0">Reset generated when entering Stop mode</Val>
  36800. <Val value="0x1">No reset generated</Val>
  36801. </Values>
  36802. </Bit>
  36803. <Bit>
  36804. <Name>nRST_STDBY</Name>
  36805. <Description/>
  36806. <BitOffset>0x6</BitOffset>
  36807. <BitWidth>0x1</BitWidth>
  36808. <Access>RW</Access>
  36809. <Values>
  36810. <Val value="0x0">Reset generated when entering Standby mode</Val>
  36811. <Val value="0x1">No reset generated</Val>
  36812. </Values>
  36813. </Bit>
  36814. <Bit>
  36815. <Name>nBOOT_SEL</Name>
  36816. <Description/>
  36817. <BitOffset>0x0D</BitOffset>
  36818. <BitWidth>0x1</BitWidth>
  36819. <Access>RW</Access>
  36820. <Values>
  36821. <Val value="0x0">BOOT0 signal is defined by BOOT0 pin value (default mode)</Val>
  36822. <Val value="0x1">BOOT0 signal is defined by nBOOT0 option bit</Val>
  36823. </Values>
  36824. </Bit>
  36825. <Bit>
  36826. <Name>nBOOT0</Name>
  36827. <Description>When nBOOT_SEL is cleared, nBOOT0 bit defines the value of BOOT0 signal that is used toselect the device boot mode</Description>
  36828. <BitOffset>0x0E</BitOffset>
  36829. <BitWidth>0x1</BitWidth>
  36830. <Access>RW</Access>
  36831. <Values>
  36832. <Val value="0x0">Main Flash memory is selected as boot area</Val>
  36833. <Val value="0x1">nBOOT1=1 SysMem/nBOOT1=0 SRAM as boot area</Val>
  36834. </Values>
  36835. </Bit>
  36836. <Bit>
  36837. <Name>nBOOT1</Name>
  36838. <Description/>
  36839. <BitOffset>0x0F</BitOffset>
  36840. <BitWidth>0x1</BitWidth>
  36841. <Access>RW</Access>
  36842. <Values>
  36843. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  36844. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  36845. </Values>
  36846. </Bit>
  36847. </AssignedBits>
  36848. </Field>
  36849. </Category>
  36850. <Category>
  36851. <Name>Write Protection</Name>
  36852. <Field>
  36853. <Parameters name="FLASH_WRPR1" size="0x4" address="0x40022020"/>
  36854. <AssignedBits>
  36855. <Bit config="0">
  36856. <Name>WRPOT0</Name>
  36857. <Description/>
  36858. <BitOffset>0x0</BitOffset>
  36859. <BitWidth>0x4</BitWidth>
  36860. <Access>RW</Access>
  36861. <Values ByBit="true">
  36862. <Val value="0x0">Write protection not active</Val>
  36863. <Val value="0x1">Write protection active</Val>
  36864. </Values>
  36865. </Bit>
  36866. <Bit config="1">
  36867. <Name>WRPOT0</Name>
  36868. <Description/>
  36869. <BitOffset>0x0</BitOffset>
  36870. <BitWidth>0x4</BitWidth>
  36871. <Access>RW</Access>
  36872. <Values ByBit="true">
  36873. <Val value="0x0">read/Write protection active</Val>
  36874. <Val value="0x1">read/Write protection not active</Val>
  36875. </Values>
  36876. </Bit>
  36877. </AssignedBits>
  36878. </Field>
  36879. </Category>
  36880. </Bank>
  36881. </Peripheral>
  36882. </Peripherals>
  36883. </Device>
  36884. <!-- Device: 0x466 -->
  36885. <Device>
  36886. <DeviceID>0x466</DeviceID>
  36887. <Vendor>STMicroelectronics</Vendor>
  36888. <Type>MCU</Type>
  36889. <CPU>Cortex-M0+</CPU>
  36890. <Name>STM32G03x/STM32G04x</Name>
  36891. <Series>STM32G0</Series>
  36892. <Description>ARM 32-bit Cortex-M0+ based device</Description>
  36893. <Configurations>
  36894. <!-- JTAG_SWD Interface -->
  36895. <Interface name="JTAG_SWD"/>
  36896. <!-- Bootloader Interface -->
  36897. <Interface name="Bootloader"/>
  36898. </Configurations>
  36899. <!-- Peripherals -->
  36900. <Peripherals>
  36901. <!-- Embedded SRAM -->
  36902. <Peripheral>
  36903. <Name>Embedded SRAM</Name>
  36904. <Type>Storage</Type>
  36905. <Description/>
  36906. <ErasedValue>0x00</ErasedValue>
  36907. <Access>RWE</Access>
  36908. <!-- 96 KB -->
  36909. <Configuration>
  36910. <Parameters name="SRAM" size="0x2000" address="0x20000000"/>
  36911. <Description/>
  36912. <Organization>Single</Organization>
  36913. <Bank name="Bank 1">
  36914. <Field>
  36915. <Parameters name="SRAM" size="0x2000" address="0x20000000" occurence="0x1"/>
  36916. </Field>
  36917. </Bank>
  36918. </Configuration>
  36919. </Peripheral>
  36920. <!-- Embedded Flash -->
  36921. <Peripheral>
  36922. <Name>Embedded Flash</Name>
  36923. <Type>Storage</Type>
  36924. <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>
  36925. <ErasedValue>0xFF</ErasedValue>
  36926. <Access>RWE</Access>
  36927. <FlashSize address="0x1FFF75E0" default="0x10000"/>
  36928. <!-- Single Bank -->
  36929. <Configuration>
  36930. <Parameters name=" 64 KB Embedded Flash" size="0x10000" address="0x08000000"/>
  36931. <Description/>
  36932. <Organization>Single</Organization>
  36933. <Allignement>0x8</Allignement>
  36934. <Bank name="Bank 1">
  36935. <Field>
  36936. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x20"/>
  36937. </Field>
  36938. </Bank>
  36939. </Configuration>
  36940. </Peripheral>
  36941. <!-- OTP -->
  36942. <Peripheral>
  36943. <Name>OTP</Name>
  36944. <Type>Storage</Type>
  36945. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  36946. <ErasedValue>0xFF</ErasedValue>
  36947. <Access>RW</Access>
  36948. <!-- 1 KBytes single bank -->
  36949. <Configuration>
  36950. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  36951. <Description/>
  36952. <Organization>Single</Organization>
  36953. <Allignement>0x4</Allignement>
  36954. <Bank name="OTP">
  36955. <Field>
  36956. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  36957. </Field>
  36958. </Bank>
  36959. </Configuration>
  36960. </Peripheral>
  36961. <!-- Mirror Option Bytes -->
  36962. <Peripheral>
  36963. <Name>MirrorOptionBytes</Name>
  36964. <Type>Storage</Type>
  36965. <Description>Mirror Option Bytes contains the extra area.</Description>
  36966. <ErasedValue>0xFF</ErasedValue>
  36967. <Access>RW</Access>
  36968. <!-- 56 Bytes Dual bank -->
  36969. <Configuration>
  36970. <Parameters name=" 56 Bytes Data MirrorOptionBytes" size="0x38" address="0x1FFF7800"/>
  36971. <Description/>
  36972. <Organization>Dual</Organization>
  36973. <Allignement>0x4</Allignement>
  36974. <Bank name="Bank 1">
  36975. <Field>
  36976. <Parameters name="Bank1" size="0x34" address="0x1FFF7800" occurence="0x1"/>
  36977. </Field>
  36978. </Bank>
  36979. <Bank name="Bank 2">
  36980. <Field>
  36981. <Parameters name="Bank2" size="0x4" address="0x1FFF7870" occurence="0x1"/>
  36982. </Field>
  36983. </Bank>
  36984. </Configuration>
  36985. </Peripheral>
  36986. <!-- Option Bytes -->
  36987. <Peripheral>
  36988. <Name>Option Bytes</Name>
  36989. <Type>Configuration</Type>
  36990. <Description/>
  36991. <Access>RW</Access>
  36992. <Bank interface="JTAG_SWD">
  36993. <Parameters name="Bank 1" size="0x20" address="0x40022020"/>
  36994. <Category>
  36995. <Name>Read Out Protection</Name>
  36996. <Field>
  36997. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  36998. <AssignedBits>
  36999. <Bit>
  37000. <Name>RDP</Name>
  37001. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  37002. <BitOffset>0x0</BitOffset>
  37003. <BitWidth>0x8</BitWidth>
  37004. <Access>RW</Access>
  37005. <Values>
  37006. <Val value="0xAA">Level 0, no protection</Val>
  37007. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  37008. <Val value="0xCC">Level 2, chip protection</Val>
  37009. </Values>
  37010. </Bit>
  37011. </AssignedBits>
  37012. </Field>
  37013. </Category>
  37014. <Category>
  37015. <Name>BOR Level</Name>
  37016. <Field>
  37017. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  37018. <AssignedBits>
  37019. <Bit>
  37020. <Name>BOR_EN</Name>
  37021. <Description/>
  37022. <BitOffset>0x8</BitOffset>
  37023. <BitWidth>0x1</BitWidth>
  37024. <Access>RW</Access>
  37025. <Values>
  37026. <Val value="0x0">Configurable brown out reset disabled, power-on reset defined by POR/PDR levels</Val>
  37027. <Val value="0x1">Configurable brown out reset enabled, values of BORR_LEV and BORF_LEV taken into account</Val>
  37028. </Values>
  37029. </Bit>
  37030. <Bit>
  37031. <Name>BORF_LEV</Name>
  37032. <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>
  37033. <BitOffset>0x9</BitOffset>
  37034. <BitWidth>0x2</BitWidth>
  37035. <Access>RW</Access>
  37036. <Values>
  37037. <Val value="0x0">BOR falling level 1 with threshold around 2.0 V</Val>
  37038. <Val value="0x1">BOR falling level 2 with threshold around 2.2 V</Val>
  37039. <Val value="0x2">BOR falling level 3 with threshold around 2.5 V</Val>
  37040. <Val value="0x3">BOR falling level 4 with threshold around 2.8 V</Val>
  37041. </Values>
  37042. </Bit>
  37043. <Bit>
  37044. <Name>BORR_LEV</Name>
  37045. <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>
  37046. <BitOffset>0xB</BitOffset>
  37047. <BitWidth>0x2</BitWidth>
  37048. <Access>RW</Access>
  37049. <Values>
  37050. <Val value="0x0">BOR rising level 1 with threshold around 2.1 V</Val>
  37051. <Val value="0x1">BOR rising level 2 with threshold around 2.3 V</Val>
  37052. <Val value="0x2">BOR rising level 3 with threshold around 2.6 V</Val>
  37053. <Val value="0x3">BOR rising level 4 with threshold around 2.9 V</Val>
  37054. </Values>
  37055. </Bit>
  37056. </AssignedBits>
  37057. </Field>
  37058. </Category>
  37059. <Category>
  37060. <Name>User Configuration</Name>
  37061. <Field>
  37062. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  37063. <AssignedBits>
  37064. <Bit>
  37065. <Name>nRST_STOP</Name>
  37066. <Description/>
  37067. <BitOffset>0xD</BitOffset>
  37068. <BitWidth>0x1</BitWidth>
  37069. <Access>RW</Access>
  37070. <Values>
  37071. <Val value="0x0">Reset generated when entering Stop mode</Val>
  37072. <Val value="0x1">No reset generated when entering Stop mode</Val>
  37073. </Values>
  37074. </Bit>
  37075. <Bit>
  37076. <Name>nRST_STDBY</Name>
  37077. <Description/>
  37078. <BitOffset>0xE</BitOffset>
  37079. <BitWidth>0x1</BitWidth>
  37080. <Access>RW</Access>
  37081. <Values>
  37082. <Val value="0x0">Reset generated when entering Standby mode</Val>
  37083. <Val value="0x1">No reset generated when entering Standby mode</Val>
  37084. </Values>
  37085. </Bit>
  37086. <Bit>
  37087. <Name>nRST_HDW</Name>
  37088. <Description/>
  37089. <BitOffset>0xF</BitOffset>
  37090. <BitWidth>0x1</BitWidth>
  37091. <Access>RW</Access>
  37092. <Values>
  37093. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  37094. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  37095. </Values>
  37096. </Bit>
  37097. <Bit>
  37098. <Name>IWDG_SW</Name>
  37099. <Description/>
  37100. <BitOffset>0x10</BitOffset>
  37101. <BitWidth>0x1</BitWidth>
  37102. <Access>RW</Access>
  37103. <Values>
  37104. <Val value="0x0">Hardware independant watchdog</Val>
  37105. <Val value="0x1">Software independant watchdog</Val>
  37106. </Values>
  37107. </Bit>
  37108. <Bit>
  37109. <Name>IWDG_STOP</Name>
  37110. <Description/>
  37111. <BitOffset>0x11</BitOffset>
  37112. <BitWidth>0x1</BitWidth>
  37113. <Access>RW</Access>
  37114. <Values>
  37115. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  37116. <Val value="0x1">IWDG counter active in stop mode</Val>
  37117. </Values>
  37118. </Bit>
  37119. <Bit>
  37120. <Name>IWDG_STDBY</Name>
  37121. <Description/>
  37122. <BitOffset>0x12</BitOffset>
  37123. <BitWidth>0x1</BitWidth>
  37124. <Access>RW</Access>
  37125. <Values>
  37126. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  37127. <Val value="0x1">IWDG counter active in standby mode</Val>
  37128. </Values>
  37129. </Bit>
  37130. <Bit>
  37131. <Name>WWDG_SW</Name>
  37132. <Description/>
  37133. <BitOffset>0x13</BitOffset>
  37134. <BitWidth>0x1</BitWidth>
  37135. <Access>RW</Access>
  37136. <Values>
  37137. <Val value="0x0">Hardware window watchdog</Val>
  37138. <Val value="0x1">Software window watchdog</Val>
  37139. </Values>
  37140. </Bit>
  37141. <Bit>
  37142. <Name>RAM_PARITY_CHECK</Name>
  37143. <Description/>
  37144. <BitOffset>0x16</BitOffset>
  37145. <BitWidth>0x1</BitWidth>
  37146. <Access>RW</Access>
  37147. <Values>
  37148. <Val value="0x0">SRAM2 parity check enable</Val>
  37149. <Val value="0x1">SRAM2 parity check disable</Val>
  37150. </Values>
  37151. </Bit>
  37152. <Bit>
  37153. <Name>nBOOT_SEL</Name>
  37154. <Description/>
  37155. <BitOffset>0x18</BitOffset>
  37156. <BitWidth>0x1</BitWidth>
  37157. <Access>RW</Access>
  37158. <Values>
  37159. <Val value="0x0">BOOT0 signal is defined by BOOT0 pin value (legacy mode)</Val>
  37160. <Val value="0x1">BOOT0 signal is defined by nBOOT0 option bit</Val>
  37161. </Values>
  37162. </Bit>
  37163. <Bit>
  37164. <Name>nBOOT1</Name>
  37165. <Description/>
  37166. <BitOffset>0x19</BitOffset>
  37167. <BitWidth>0x1</BitWidth>
  37168. <Access>RW</Access>
  37169. <Values>
  37170. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  37171. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  37172. </Values>
  37173. </Bit>
  37174. <Bit>
  37175. <Name>nBOOT0</Name>
  37176. <Description/>
  37177. <BitOffset>0x1A</BitOffset>
  37178. <BitWidth>0x1</BitWidth>
  37179. <Access>RW</Access>
  37180. <Values>
  37181. <Val value="0x0">nBOOT0=0</Val>
  37182. <Val value="0x1">nBOOT0=1</Val>
  37183. </Values>
  37184. </Bit>
  37185. <Bit>
  37186. <Name>NRST_MODE</Name>
  37187. <Description/>
  37188. <BitOffset>0x1B</BitOffset>
  37189. <BitWidth>0x2</BitWidth>
  37190. <Access>RW</Access>
  37191. <Values>
  37192. <Val value="0x0">Reserved</Val>
  37193. <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>
  37194. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  37195. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  37196. </Values>
  37197. </Bit>
  37198. <Bit>
  37199. <Name>IRHEN</Name>
  37200. <Description>Internal reset holder enable bit</Description>
  37201. <BitOffset>0x1D</BitOffset>
  37202. <BitWidth>0x1</BitWidth>
  37203. <Access>RW</Access>
  37204. <Values>
  37205. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  37206. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  37207. </Values>
  37208. </Bit>
  37209. </AssignedBits>
  37210. </Field>
  37211. </Category>
  37212. <Category>
  37213. <Name>PCROP Protection</Name>
  37214. <Field>
  37215. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  37216. <AssignedBits>
  37217. <Bit>
  37218. <Name>PCROP1A_STRT</Name>
  37219. <Description>Flash Bank 1 PCROP start address</Description>
  37220. <BitOffset>0x0</BitOffset>
  37221. <BitWidth>0x8</BitWidth>
  37222. <Access>RW</Access>
  37223. <Equation multiplier="0x8" offset="0x08000000"/>
  37224. </Bit>
  37225. </AssignedBits>
  37226. </Field>
  37227. <Field>
  37228. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  37229. <AssignedBits>
  37230. <Bit>
  37231. <Name>PCROP1A_END</Name>
  37232. <Description>Flash Bank 1 PCROP End address(excluded). Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  37233. <BitOffset>0x0</BitOffset>
  37234. <BitWidth>0x8</BitWidth>
  37235. <Access>RW</Access>
  37236. <Equation multiplier="0x8" offset="0x08000008"/>
  37237. </Bit>
  37238. <Bit>
  37239. <Name>PCROP_RDP</Name>
  37240. <Description/>
  37241. <BitOffset>0x1F</BitOffset>
  37242. <BitWidth>0x1</BitWidth>
  37243. <Access>RW</Access>
  37244. <Values>
  37245. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  37246. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  37247. </Values>
  37248. </Bit>
  37249. </AssignedBits>
  37250. </Field>
  37251. <Field>
  37252. <Parameters name="FLASH_PCROP1BSR" size="0x4" address="0x40022034"/>
  37253. <AssignedBits>
  37254. <Bit>
  37255. <Name>PCROP1B_STRT</Name>
  37256. <Description>Flash Bank 1 PCROP start address</Description>
  37257. <BitOffset>0x0</BitOffset>
  37258. <BitWidth>0x8</BitWidth>
  37259. <Access>RW</Access>
  37260. <Equation multiplier="0x8" offset="0x08000000"/>
  37261. </Bit>
  37262. </AssignedBits>
  37263. </Field>
  37264. <Field>
  37265. <Parameters name="FLASH_PCROP1BER" size="0x4" address="0x40022038"/>
  37266. <AssignedBits>
  37267. <Bit>
  37268. <Name>PCROP1B_END</Name>
  37269. <Description>Flash Bank 1 PCROP End address(excluded). Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  37270. <BitOffset>0x0</BitOffset>
  37271. <BitWidth>0x8</BitWidth>
  37272. <Access>RW</Access>
  37273. <Equation multiplier="0x8" offset="0x08000008"/>
  37274. </Bit>
  37275. </AssignedBits>
  37276. </Field>
  37277. </Category>
  37278. <Category>
  37279. <Name>Write Protection</Name>
  37280. <Field>
  37281. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  37282. <AssignedBits>
  37283. <Bit>
  37284. <Name>WRP1A_STRT</Name>
  37285. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  37286. <BitOffset>0x0</BitOffset>
  37287. <BitWidth>0x8</BitWidth>
  37288. <Access>RW</Access>
  37289. <Equation multiplier="0x800" offset="0x08000000"/>
  37290. </Bit>
  37291. <Bit>
  37292. <Name>WRP1A_END</Name>
  37293. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  37294. <BitOffset>0x10</BitOffset>
  37295. <BitWidth>0x8</BitWidth>
  37296. <Access>RW</Access>
  37297. <Equation multiplier="0x800" offset="0x08000000"/>
  37298. </Bit>
  37299. </AssignedBits>
  37300. </Field>
  37301. <Field>
  37302. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  37303. <AssignedBits>
  37304. <Bit>
  37305. <Name>WRP1B_STRT</Name>
  37306. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  37307. <BitOffset>0x0</BitOffset>
  37308. <BitWidth>0x8</BitWidth>
  37309. <Access>RW</Access>
  37310. <Equation multiplier="0x800" offset="0x08000000"/>
  37311. </Bit>
  37312. <Bit>
  37313. <Name>WRP1B_END</Name>
  37314. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  37315. <BitOffset>0x10</BitOffset>
  37316. <BitWidth>0x8</BitWidth>
  37317. <Access>RW</Access>
  37318. <Equation multiplier="0x800" offset="0x08000000"/>
  37319. </Bit>
  37320. </AssignedBits>
  37321. </Field>
  37322. </Category>
  37323. </Bank>
  37324. <Bank interface="JTAG_SWD">
  37325. <Parameters name="Bank 2" size="0x10" address="0x40022080"/>
  37326. <Category>
  37327. <Name>FLASH security</Name>
  37328. <Field>
  37329. <Parameters name="FLASH_SECR" size="0x4" address="0x40022080"/>
  37330. <AssignedBits>
  37331. <Bit>
  37332. <Name>BOOT_LOCK</Name>
  37333. <Description>used to force boot from user area</Description>
  37334. <BitOffset>0x10</BitOffset>
  37335. <BitWidth>0x1</BitWidth>
  37336. <Access>RW</Access>
  37337. <Values>
  37338. <Val value="0x0">Boot based on the pad/option bit configuration</Val>
  37339. <Val value="0x1">Boot forced from Main Flash memory</Val>
  37340. </Values>
  37341. </Bit>
  37342. <Bit>
  37343. <Name>SEC_SIZE</Name>
  37344. <Description>Securable memory area size</Description>
  37345. <BitOffset>0x0</BitOffset>
  37346. <BitWidth>0x6</BitWidth>
  37347. <Access>RW</Access>
  37348. <Equation multiplier="0x800" offset="0x08000000"/>
  37349. </Bit>
  37350. </AssignedBits>
  37351. </Field>
  37352. </Category>
  37353. </Bank>
  37354. <Bank interface="Bootloader">
  37355. <Parameters name="Bank 1" size="0x34" address="0x1FFF7800"/>
  37356. <Category>
  37357. <Name>Read Out Protection</Name>
  37358. <Field>
  37359. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  37360. <AssignedBits>
  37361. <Bit>
  37362. <Name>RDP</Name>
  37363. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  37364. <BitOffset>0x0</BitOffset>
  37365. <BitWidth>0x8</BitWidth>
  37366. <Access>RW</Access>
  37367. <Values>
  37368. <Val value="0xAA">Level 0, no protection</Val>
  37369. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  37370. <Val value="0xCC">Level 2, chip protection</Val>
  37371. </Values>
  37372. </Bit>
  37373. </AssignedBits>
  37374. </Field>
  37375. </Category>
  37376. <Category>
  37377. <Name>BOR Level</Name>
  37378. <Field>
  37379. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  37380. <AssignedBits>
  37381. <Bit>
  37382. <Name>BOR_EN</Name>
  37383. <Description/>
  37384. <BitOffset>0x8</BitOffset>
  37385. <BitWidth>0x1</BitWidth>
  37386. <Access>RW</Access>
  37387. <Values>
  37388. <Val value="0x0">Configurable brown out reset disabled, power-on reset defined by POR/PDR levels</Val>
  37389. <Val value="0x1">Configurable brown out reset enabled, values of BORR_LEV and BORF_LEV taken into account</Val>
  37390. </Values>
  37391. </Bit>
  37392. <Bit>
  37393. <Name>BORF_LEV</Name>
  37394. <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>
  37395. <BitOffset>0x9</BitOffset>
  37396. <BitWidth>0x2</BitWidth>
  37397. <Access>RW</Access>
  37398. <Values>
  37399. <Val value="0x0">BOR falling level 1 with threshold around 2.0 V</Val>
  37400. <Val value="0x1">BOR falling level 2 with threshold around 2.2 V</Val>
  37401. <Val value="0x2">BOR falling level 3 with threshold around 2.5 V</Val>
  37402. <Val value="0x3">BOR falling level 4 with threshold around 2.8 V</Val>
  37403. </Values>
  37404. </Bit>
  37405. <Bit>
  37406. <Name>BORR_LEV</Name>
  37407. <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>
  37408. <BitOffset>0xB</BitOffset>
  37409. <BitWidth>0x2</BitWidth>
  37410. <Access>RW</Access>
  37411. <Values>
  37412. <Val value="0x0">BOR rising level 1 with threshold around 2.1 V</Val>
  37413. <Val value="0x1">BOR rising level 2 with threshold around 2.3 V</Val>
  37414. <Val value="0x2">BOR rising level 3 with threshold around 2.6 V</Val>
  37415. <Val value="0x3">BOR rising level 4 with threshold around 2.9 V</Val>
  37416. </Values>
  37417. </Bit>
  37418. </AssignedBits>
  37419. </Field>
  37420. </Category>
  37421. <Category>
  37422. <Name>User Configuration</Name>
  37423. <Field>
  37424. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  37425. <AssignedBits>
  37426. <Bit>
  37427. <Name>nRST_STOP</Name>
  37428. <Description/>
  37429. <BitOffset>0xD</BitOffset>
  37430. <BitWidth>0x1</BitWidth>
  37431. <Access>RW</Access>
  37432. <Values>
  37433. <Val value="0x0">Reset generated when entering Stop mode</Val>
  37434. <Val value="0x1">No reset generated when entering Stop mode</Val>
  37435. </Values>
  37436. </Bit>
  37437. <Bit>
  37438. <Name>nRST_STDBY</Name>
  37439. <Description/>
  37440. <BitOffset>0xE</BitOffset>
  37441. <BitWidth>0x1</BitWidth>
  37442. <Access>RW</Access>
  37443. <Values>
  37444. <Val value="0x0">Reset generated when entering Standby mode</Val>
  37445. <Val value="0x1">No reset generated when entering Standby mode</Val>
  37446. </Values>
  37447. </Bit>
  37448. <Bit>
  37449. <Name>nRST_SHDW</Name>
  37450. <Description/>
  37451. <BitOffset>0xF</BitOffset>
  37452. <BitWidth>0x1</BitWidth>
  37453. <Access>RW</Access>
  37454. <Values>
  37455. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  37456. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  37457. </Values>
  37458. </Bit>
  37459. <Bit>
  37460. <Name>IWDG_SW</Name>
  37461. <Description/>
  37462. <BitOffset>0x10</BitOffset>
  37463. <BitWidth>0x1</BitWidth>
  37464. <Access>RW</Access>
  37465. <Values>
  37466. <Val value="0x0">Hardware independant watchdog</Val>
  37467. <Val value="0x1">Software independant watchdog</Val>
  37468. </Values>
  37469. </Bit>
  37470. <Bit>
  37471. <Name>IWDG_STOP</Name>
  37472. <Description/>
  37473. <BitOffset>0x11</BitOffset>
  37474. <BitWidth>0x1</BitWidth>
  37475. <Access>RW</Access>
  37476. <Values>
  37477. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  37478. <Val value="0x1">IWDG counter active in stop mode</Val>
  37479. </Values>
  37480. </Bit>
  37481. <Bit>
  37482. <Name>IWDG_STDBY</Name>
  37483. <Description/>
  37484. <BitOffset>0x12</BitOffset>
  37485. <BitWidth>0x1</BitWidth>
  37486. <Access>RW</Access>
  37487. <Values>
  37488. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  37489. <Val value="0x1">IWDG counter active in standby mode</Val>
  37490. </Values>
  37491. </Bit>
  37492. <Bit>
  37493. <Name>WWDG_SW</Name>
  37494. <Description/>
  37495. <BitOffset>0x13</BitOffset>
  37496. <BitWidth>0x1</BitWidth>
  37497. <Access>RW</Access>
  37498. <Values>
  37499. <Val value="0x0">Hardware window watchdog</Val>
  37500. <Val value="0x1">Software window watchdog</Val>
  37501. </Values>
  37502. </Bit>
  37503. <Bit>
  37504. <Name>RAM_PARITY_CHECK</Name>
  37505. <Description/>
  37506. <BitOffset>0x16</BitOffset>
  37507. <BitWidth>0x1</BitWidth>
  37508. <Access>RW</Access>
  37509. <Values>
  37510. <Val value="0x0">SRAM2 parity check enable</Val>
  37511. <Val value="0x1">SRAM2 parity check disable</Val>
  37512. </Values>
  37513. </Bit>
  37514. <Bit>
  37515. <Name>nBOOT_SEL</Name>
  37516. <Description/>
  37517. <BitOffset>0x18</BitOffset>
  37518. <BitWidth>0x1</BitWidth>
  37519. <Access>RW</Access>
  37520. <Values>
  37521. <Val value="0x0">BOOT0 signal is defined by BOOT0 pin value (legacy mode)</Val>
  37522. <Val value="0x1">BOOT0 signal is defined by nBOOT0 option bit</Val>
  37523. </Values>
  37524. </Bit>
  37525. <Bit>
  37526. <Name>nBOOT1</Name>
  37527. <Description/>
  37528. <BitOffset>0x19</BitOffset>
  37529. <BitWidth>0x1</BitWidth>
  37530. <Access>RW</Access>
  37531. <Values>
  37532. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  37533. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  37534. </Values>
  37535. </Bit>
  37536. <Bit>
  37537. <Name>nBOOT0</Name>
  37538. <Description/>
  37539. <BitOffset>0x1A</BitOffset>
  37540. <BitWidth>0x1</BitWidth>
  37541. <Access>RW</Access>
  37542. <Values>
  37543. <Val value="0x0">nBOOT0=0</Val>
  37544. <Val value="0x1">nBOOT0=1</Val>
  37545. </Values>
  37546. </Bit>
  37547. <Bit>
  37548. <Name>NRST_MODE</Name>
  37549. <Description/>
  37550. <BitOffset>0x1B</BitOffset>
  37551. <BitWidth>0x2</BitWidth>
  37552. <Access>RW</Access>
  37553. <Values>
  37554. <Val value="0x0">Reserved</Val>
  37555. <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>
  37556. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  37557. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  37558. </Values>
  37559. </Bit>
  37560. <Bit>
  37561. <Name>IRHEN</Name>
  37562. <Description>Internal reset holder enable bit</Description>
  37563. <BitOffset>0x1D</BitOffset>
  37564. <BitWidth>0x1</BitWidth>
  37565. <Access>RW</Access>
  37566. <Values>
  37567. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  37568. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  37569. </Values>
  37570. </Bit>
  37571. </AssignedBits>
  37572. </Field>
  37573. </Category>
  37574. <Category>
  37575. <Name>PCROP Protection</Name>
  37576. <Field>
  37577. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FFF7808"/>
  37578. <AssignedBits>
  37579. <Bit>
  37580. <Name>PCROP1A_STRT</Name>
  37581. <Description>Flash Bank 1 PCROP start address</Description>
  37582. <BitOffset>0x0</BitOffset>
  37583. <BitWidth>0x9</BitWidth>
  37584. <Access>RW</Access>
  37585. <Equation multiplier="0x8" offset="0x08000000"/>
  37586. </Bit>
  37587. </AssignedBits>
  37588. </Field>
  37589. <Field>
  37590. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FFF7810"/>
  37591. <AssignedBits>
  37592. <Bit>
  37593. <Name>PCROP1A_END</Name>
  37594. <Description>Flash Bank 1 PCROP End address(excluded). Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  37595. <BitOffset>0x0</BitOffset>
  37596. <BitWidth>0x9</BitWidth>
  37597. <Access>RW</Access>
  37598. <Equation multiplier="0x8" offset="0x08000008"/>
  37599. </Bit>
  37600. <Bit>
  37601. <Name>PCROP_RDP</Name>
  37602. <Description/>
  37603. <BitOffset>0x1F</BitOffset>
  37604. <BitWidth>0x1</BitWidth>
  37605. <Access>RW</Access>
  37606. <Values>
  37607. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  37608. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  37609. </Values>
  37610. </Bit>
  37611. </AssignedBits>
  37612. </Field>
  37613. </Category>
  37614. <Category>
  37615. <Name>Write Protection</Name>
  37616. <Field>
  37617. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  37618. <AssignedBits>
  37619. <Bit>
  37620. <Name>WRP1A_STRT</Name>
  37621. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  37622. <BitOffset>0x0</BitOffset>
  37623. <BitWidth>0x6</BitWidth>
  37624. <Access>RW</Access>
  37625. <Equation multiplier="0x800" offset="0x08000000"/>
  37626. </Bit>
  37627. <Bit>
  37628. <Name>WRP1A_END</Name>
  37629. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  37630. <BitOffset>0x10</BitOffset>
  37631. <BitWidth>0x6</BitWidth>
  37632. <Access>RW</Access>
  37633. <Equation multiplier="0x800" offset="0x08000000"/>
  37634. </Bit>
  37635. </AssignedBits>
  37636. </Field>
  37637. <Field>
  37638. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  37639. <AssignedBits>
  37640. <Bit>
  37641. <Name>WRP1B_STRT</Name>
  37642. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  37643. <BitOffset>0x0</BitOffset>
  37644. <BitWidth>0x6</BitWidth>
  37645. <Access>RW</Access>
  37646. <Equation multiplier="0x800" offset="0x08000000"/>
  37647. </Bit>
  37648. <Bit>
  37649. <Name>WRP1B_END</Name>
  37650. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  37651. <BitOffset>0x10</BitOffset>
  37652. <BitWidth>0x6</BitWidth>
  37653. <Access>RW</Access>
  37654. <Equation multiplier="0x800" offset="0x08000000"/>
  37655. </Bit>
  37656. </AssignedBits>
  37657. </Field>
  37658. </Category>
  37659. </Bank>
  37660. <Bank interface="Bootloader">
  37661. <Parameters name="Bank 2" size="0x4" address="0x1FFF7870"/>
  37662. <Category>
  37663. <Name>FLASH security</Name>
  37664. <Field>
  37665. <Parameters name="FLASH_SECR" size="0x4" address="0x1FFF7870"/>
  37666. <AssignedBits>
  37667. <Bit>
  37668. <Name>BOOT_LOCK</Name>
  37669. <Description>used to force boot from user area</Description>
  37670. <BitOffset>0x10</BitOffset>
  37671. <BitWidth>0x1</BitWidth>
  37672. <Access>RW</Access>
  37673. <Values>
  37674. <Val value="0x0">Boot based on the pad/option bit configuration</Val>
  37675. <Val value="0x1">Boot forced from Main Flash memory</Val>
  37676. </Values>
  37677. </Bit>
  37678. <Bit>
  37679. <Name>SEC_SIZE</Name>
  37680. <Description>Securable memory area size</Description>
  37681. <BitOffset>0x0</BitOffset>
  37682. <BitWidth>0x7</BitWidth>
  37683. <Access>RW</Access>
  37684. <Equation multiplier="0x800" offset="0x08000000"/>
  37685. </Bit>
  37686. </AssignedBits>
  37687. </Field>
  37688. </Category>
  37689. </Bank>
  37690. </Peripheral>
  37691. </Peripherals>
  37692. </Device>
  37693. <!-- Device: 0x460 -->
  37694. <Device>
  37695. <DeviceID>0x460</DeviceID>
  37696. <Vendor>STMicroelectronics</Vendor>
  37697. <Type>MCU</Type>
  37698. <CPU>Cortex-M0+</CPU>
  37699. <Name>STM32G07x/STM32G08x</Name>
  37700. <Series>STM32G0</Series>
  37701. <Description>ARM 32-bit Cortex-M0+ based device</Description>
  37702. <Configurations>
  37703. <!-- JTAG_SWD Interface -->
  37704. <Interface name="JTAG_SWD"/>
  37705. <!-- Bootloader Interface -->
  37706. <Interface name="Bootloader"/>
  37707. </Configurations>
  37708. <!-- Peripherals -->
  37709. <Peripherals>
  37710. <!-- Embedded SRAM -->
  37711. <Peripheral>
  37712. <Name>Embedded SRAM</Name>
  37713. <Type>Storage</Type>
  37714. <Description/>
  37715. <ErasedValue>0x00</ErasedValue>
  37716. <Access>RWE</Access>
  37717. <!-- 96 KB -->
  37718. <Configuration>
  37719. <Parameters name="SRAM" size="0x8000" address="0x20000000"/>
  37720. <Description/>
  37721. <Organization>Single</Organization>
  37722. <Bank name="Bank 1">
  37723. <Field>
  37724. <Parameters name="SRAM" size="0x8000" address="0x20000000" occurence="0x1"/>
  37725. </Field>
  37726. </Bank>
  37727. </Configuration>
  37728. </Peripheral>
  37729. <!-- Embedded Flash -->
  37730. <Peripheral>
  37731. <Name>Embedded Flash</Name>
  37732. <Type>Storage</Type>
  37733. <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>
  37734. <ErasedValue>0xFF</ErasedValue>
  37735. <Access>RWE</Access>
  37736. <FlashSize address="0x1FFF75E0" default="0x20000"/>
  37737. <!-- Single Bank -->
  37738. <Configuration>
  37739. <Parameters name=" 128 KB Embedded Flash" size="0x20000" address="0x08000000"/>
  37740. <Description/>
  37741. <Organization>Single</Organization>
  37742. <Allignement>0x8</Allignement>
  37743. <Bank name="Bank 1">
  37744. <Field>
  37745. <Parameters name="sector0" size="0x800" address="0x08000000" occurence="0x40"/>
  37746. </Field>
  37747. </Bank>
  37748. </Configuration>
  37749. </Peripheral>
  37750. <!-- OTP -->
  37751. <Peripheral>
  37752. <Name>OTP</Name>
  37753. <Type>Storage</Type>
  37754. <Description>The Data OTP memory block. It contains the one time programmable bits.</Description>
  37755. <ErasedValue>0xFF</ErasedValue>
  37756. <Access>RW</Access>
  37757. <!-- 1 KBytes single bank -->
  37758. <Configuration>
  37759. <Parameters name=" 1 KBytes Data OTP" size="0x400" address="0x1FFF7000"/>
  37760. <Description/>
  37761. <Organization>Single</Organization>
  37762. <Allignement>0x4</Allignement>
  37763. <Bank name="OTP">
  37764. <Field>
  37765. <Parameters name="OTP" size="0x400" address="0x1FFF7000" occurence="0x1"/>
  37766. </Field>
  37767. </Bank>
  37768. </Configuration>
  37769. </Peripheral>
  37770. <!-- Option Bytes -->
  37771. <Peripheral>
  37772. <Name>Option Bytes</Name>
  37773. <Type>Configuration</Type>
  37774. <Description/>
  37775. <Access>RW</Access>
  37776. <Bank interface="JTAG_SWD">
  37777. <Parameters name="Bank 1" size="0x20" address="0x40022020"/>
  37778. <Category>
  37779. <Name>Read Out Protection</Name>
  37780. <Field>
  37781. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  37782. <AssignedBits>
  37783. <Bit>
  37784. <Name>RDP</Name>
  37785. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  37786. <BitOffset>0x0</BitOffset>
  37787. <BitWidth>0x8</BitWidth>
  37788. <Access>RW</Access>
  37789. <Values>
  37790. <Val value="0xAA">Level 0, no protection</Val>
  37791. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  37792. <Val value="0xCC">Level 2, chip protection</Val>
  37793. </Values>
  37794. </Bit>
  37795. </AssignedBits>
  37796. </Field>
  37797. </Category>
  37798. <Category>
  37799. <Name>BOR Level</Name>
  37800. <Field>
  37801. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  37802. <AssignedBits>
  37803. <Bit>
  37804. <Name>BOR_EN</Name>
  37805. <Description/>
  37806. <BitOffset>0x8</BitOffset>
  37807. <BitWidth>0x1</BitWidth>
  37808. <Access>RW</Access>
  37809. <Values>
  37810. <Val value="0x0">Configurable brown out reset disabled, power-on reset defined by POR/PDR levels</Val>
  37811. <Val value="0x1">Configurable brown out reset enabled, values of BORR_LEV and BORF_LEV taken into account</Val>
  37812. </Values>
  37813. </Bit>
  37814. <Bit>
  37815. <Name>BORF_LEV</Name>
  37816. <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>
  37817. <BitOffset>0x9</BitOffset>
  37818. <BitWidth>0x2</BitWidth>
  37819. <Access>RW</Access>
  37820. <Values>
  37821. <Val value="0x0">BOR falling level 1 with threshold around 2.0 V</Val>
  37822. <Val value="0x1">BOR falling level 2 with threshold around 2.2 V</Val>
  37823. <Val value="0x2">BOR falling level 3 with threshold around 2.5 V</Val>
  37824. <Val value="0x3">BOR falling level 4 with threshold around 2.8 V</Val>
  37825. </Values>
  37826. </Bit>
  37827. <Bit>
  37828. <Name>BORR_LEV</Name>
  37829. <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>
  37830. <BitOffset>0xB</BitOffset>
  37831. <BitWidth>0x2</BitWidth>
  37832. <Access>RW</Access>
  37833. <Values>
  37834. <Val value="0x0">BOR rising level 1 with threshold around 2.1 V</Val>
  37835. <Val value="0x1">BOR rising level 2 with threshold around 2.3 V</Val>
  37836. <Val value="0x2">BOR rising level 3 with threshold around 2.6 V</Val>
  37837. <Val value="0x3">BOR rising level 4 with threshold around 2.9 V</Val>
  37838. </Values>
  37839. </Bit>
  37840. </AssignedBits>
  37841. </Field>
  37842. </Category>
  37843. <Category>
  37844. <Name>User Configuration</Name>
  37845. <Field>
  37846. <Parameters name="FLASH_OPTR" size="0x4" address="0x40022020"/>
  37847. <AssignedBits>
  37848. <Bit>
  37849. <Name>nRST_STOP</Name>
  37850. <Description/>
  37851. <BitOffset>0xD</BitOffset>
  37852. <BitWidth>0x1</BitWidth>
  37853. <Access>RW</Access>
  37854. <Values>
  37855. <Val value="0x0">Reset generated when entering Stop mode</Val>
  37856. <Val value="0x1">No reset generated when entering Stop mode</Val>
  37857. </Values>
  37858. </Bit>
  37859. <Bit>
  37860. <Name>nRST_STDBY</Name>
  37861. <Description/>
  37862. <BitOffset>0xE</BitOffset>
  37863. <BitWidth>0x1</BitWidth>
  37864. <Access>RW</Access>
  37865. <Values>
  37866. <Val value="0x0">Reset generated when entering Standby mode</Val>
  37867. <Val value="0x1">No reset generated when entering Standby mode</Val>
  37868. </Values>
  37869. </Bit>
  37870. <Bit>
  37871. <Name>nRST_SHDW</Name>
  37872. <Description/>
  37873. <BitOffset>0xF</BitOffset>
  37874. <BitWidth>0x1</BitWidth>
  37875. <Access>RW</Access>
  37876. <Values>
  37877. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  37878. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  37879. </Values>
  37880. </Bit>
  37881. <Bit>
  37882. <Name>IWDG_SW</Name>
  37883. <Description/>
  37884. <BitOffset>0x10</BitOffset>
  37885. <BitWidth>0x1</BitWidth>
  37886. <Access>RW</Access>
  37887. <Values>
  37888. <Val value="0x0">Hardware independant watchdog</Val>
  37889. <Val value="0x1">Software independant watchdog</Val>
  37890. </Values>
  37891. </Bit>
  37892. <Bit>
  37893. <Name>IWDG_STOP</Name>
  37894. <Description/>
  37895. <BitOffset>0x11</BitOffset>
  37896. <BitWidth>0x1</BitWidth>
  37897. <Access>RW</Access>
  37898. <Values>
  37899. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  37900. <Val value="0x1">IWDG counter active in stop mode</Val>
  37901. </Values>
  37902. </Bit>
  37903. <Bit>
  37904. <Name>IWDG_STDBY</Name>
  37905. <Description/>
  37906. <BitOffset>0x12</BitOffset>
  37907. <BitWidth>0x1</BitWidth>
  37908. <Access>RW</Access>
  37909. <Values>
  37910. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  37911. <Val value="0x1">IWDG counter active in standby mode</Val>
  37912. </Values>
  37913. </Bit>
  37914. <Bit>
  37915. <Name>WWDG_SW</Name>
  37916. <Description/>
  37917. <BitOffset>0x13</BitOffset>
  37918. <BitWidth>0x1</BitWidth>
  37919. <Access>RW</Access>
  37920. <Values>
  37921. <Val value="0x0">Hardware window watchdog</Val>
  37922. <Val value="0x1">Software window watchdog</Val>
  37923. </Values>
  37924. </Bit>
  37925. <Bit>
  37926. <Name>RAM_PARITY_CHECK</Name>
  37927. <Description/>
  37928. <BitOffset>0x16</BitOffset>
  37929. <BitWidth>0x1</BitWidth>
  37930. <Access>RW</Access>
  37931. <Values>
  37932. <Val value="0x0">SRAM2 parity check enable</Val>
  37933. <Val value="0x1">SRAM2 parity check disable</Val>
  37934. </Values>
  37935. </Bit>
  37936. <Bit>
  37937. <Name>nBOOT_SEL</Name>
  37938. <Description/>
  37939. <BitOffset>0x18</BitOffset>
  37940. <BitWidth>0x1</BitWidth>
  37941. <Access>RW</Access>
  37942. <Values>
  37943. <Val value="0x0">BOOT0 signal is defined by BOOT0 pin value (legacy mode)</Val>
  37944. <Val value="0x1">BOOT0 signal is defined by nBOOT0 option bit</Val>
  37945. </Values>
  37946. </Bit>
  37947. <Bit>
  37948. <Name>nBOOT1</Name>
  37949. <Description/>
  37950. <BitOffset>0x19</BitOffset>
  37951. <BitWidth>0x1</BitWidth>
  37952. <Access>RW</Access>
  37953. <Values>
  37954. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  37955. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  37956. </Values>
  37957. </Bit>
  37958. <Bit>
  37959. <Name>nBOOT0</Name>
  37960. <Description/>
  37961. <BitOffset>0x1A</BitOffset>
  37962. <BitWidth>0x1</BitWidth>
  37963. <Access>RW</Access>
  37964. <Values>
  37965. <Val value="0x0">nBOOT0=0</Val>
  37966. <Val value="0x1">nBOOT0=1</Val>
  37967. </Values>
  37968. </Bit>
  37969. <Bit>
  37970. <Name>NRST_MODE</Name>
  37971. <Description/>
  37972. <BitOffset>0x1B</BitOffset>
  37973. <BitWidth>0x2</BitWidth>
  37974. <Access>RW</Access>
  37975. <Values>
  37976. <Val value="0x0">Reserved</Val>
  37977. <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>
  37978. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  37979. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  37980. </Values>
  37981. </Bit>
  37982. <Bit>
  37983. <Name>IRHEN</Name>
  37984. <Description>Internal reset holder enable bit</Description>
  37985. <BitOffset>0x1D</BitOffset>
  37986. <BitWidth>0x1</BitWidth>
  37987. <Access>RW</Access>
  37988. <Values>
  37989. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  37990. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  37991. </Values>
  37992. </Bit>
  37993. </AssignedBits>
  37994. </Field>
  37995. </Category>
  37996. <Category>
  37997. <Name>PCROP Protection</Name>
  37998. <Field>
  37999. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x40022024"/>
  38000. <AssignedBits>
  38001. <Bit>
  38002. <Name>PCROP1A_STRT</Name>
  38003. <Description>Flash Bank 1 PCROP start address</Description>
  38004. <BitOffset>0x0</BitOffset>
  38005. <BitWidth>0x9</BitWidth>
  38006. <Access>RW</Access>
  38007. <Equation multiplier="0x8" offset="0x08000000"/>
  38008. </Bit>
  38009. </AssignedBits>
  38010. </Field>
  38011. <Field>
  38012. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x40022028"/>
  38013. <AssignedBits>
  38014. <Bit>
  38015. <Name>PCROP1A_END</Name>
  38016. <Description>Flash Bank 1 PCROP End address(excluded). Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  38017. <BitOffset>0x0</BitOffset>
  38018. <BitWidth>0x9</BitWidth>
  38019. <Access>RW</Access>
  38020. <Equation multiplier="0x8" offset="0x08000008"/>
  38021. </Bit>
  38022. <Bit>
  38023. <Name>PCROP_RDP</Name>
  38024. <Description/>
  38025. <BitOffset>0x1F</BitOffset>
  38026. <BitWidth>0x1</BitWidth>
  38027. <Access>RW</Access>
  38028. <Values>
  38029. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  38030. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  38031. </Values>
  38032. </Bit>
  38033. </AssignedBits>
  38034. </Field>
  38035. <Field>
  38036. <Parameters name="FLASH_PCROP1BSR" size="0x4" address="0x40022034"/>
  38037. <AssignedBits>
  38038. <Bit>
  38039. <Name>PCROP1B_STRT</Name>
  38040. <Description>Flash Bank 1 PCROP start address</Description>
  38041. <BitOffset>0x0</BitOffset>
  38042. <BitWidth>0x9</BitWidth>
  38043. <Access>RW</Access>
  38044. <Equation multiplier="0x8" offset="0x08000000"/>
  38045. </Bit>
  38046. </AssignedBits>
  38047. </Field>
  38048. <Field>
  38049. <Parameters name="FLASH_PCROP1BER" size="0x4" address="0x40022038"/>
  38050. <AssignedBits>
  38051. <Bit>
  38052. <Name>PCROP1B_END</Name>
  38053. <Description>Flash Bank 1 PCROP End address(excluded). Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  38054. <BitOffset>0x0</BitOffset>
  38055. <BitWidth>0x9</BitWidth>
  38056. <Access>RW</Access>
  38057. <Equation multiplier="0x8" offset="0x08000008"/>
  38058. </Bit>
  38059. </AssignedBits>
  38060. </Field>
  38061. </Category>
  38062. <Category>
  38063. <Name>Write Protection</Name>
  38064. <Field>
  38065. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x4002202C"/>
  38066. <AssignedBits>
  38067. <Bit>
  38068. <Name>WRP1A_STRT</Name>
  38069. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  38070. <BitOffset>0x0</BitOffset>
  38071. <BitWidth>0x6</BitWidth>
  38072. <Access>RW</Access>
  38073. <Equation multiplier="0x800" offset="0x08000000"/>
  38074. </Bit>
  38075. <Bit>
  38076. <Name>WRP1A_END</Name>
  38077. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  38078. <BitOffset>0x10</BitOffset>
  38079. <BitWidth>0x6</BitWidth>
  38080. <Access>RW</Access>
  38081. <Equation multiplier="0x800" offset="0x08000000"/>
  38082. </Bit>
  38083. </AssignedBits>
  38084. </Field>
  38085. <Field>
  38086. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x40022030"/>
  38087. <AssignedBits>
  38088. <Bit>
  38089. <Name>WRP1B_STRT</Name>
  38090. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  38091. <BitOffset>0x0</BitOffset>
  38092. <BitWidth>0x6</BitWidth>
  38093. <Access>RW</Access>
  38094. <Equation multiplier="0x800" offset="0x08000000"/>
  38095. </Bit>
  38096. <Bit>
  38097. <Name>WRP1B_END</Name>
  38098. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  38099. <BitOffset>0x10</BitOffset>
  38100. <BitWidth>0x6</BitWidth>
  38101. <Access>RW</Access>
  38102. <Equation multiplier="0x800" offset="0x08000000"/>
  38103. </Bit>
  38104. </AssignedBits>
  38105. </Field>
  38106. </Category>
  38107. </Bank>
  38108. <Bank interface="JTAG_SWD">
  38109. <Parameters name="Bank 2" size="0x4" address="0x40022080"/>
  38110. <Category>
  38111. <Name>FLASH security</Name>
  38112. <Field>
  38113. <Parameters name="FLASH_SECR" size="0x4" address="0x40022080"/>
  38114. <AssignedBits>
  38115. <Bit>
  38116. <Name>BOOT_LOCK</Name>
  38117. <Description>used to force boot from user area</Description>
  38118. <BitOffset>0x10</BitOffset>
  38119. <BitWidth>0x1</BitWidth>
  38120. <Access>RW</Access>
  38121. <Values>
  38122. <Val value="0x0">Boot based on the pad/option bit configuration</Val>
  38123. <Val value="0x1">Boot forced from Main Flash memory</Val>
  38124. </Values>
  38125. </Bit>
  38126. <Bit>
  38127. <Name>SEC_SIZE</Name>
  38128. <Description>Securable memory area size</Description>
  38129. <BitOffset>0x0</BitOffset>
  38130. <BitWidth>0x7</BitWidth>
  38131. <Access>RW</Access>
  38132. <Equation multiplier="0x800" offset="0x08000000"/>
  38133. </Bit>
  38134. </AssignedBits>
  38135. </Field>
  38136. </Category>
  38137. </Bank>
  38138. <Bank interface="Bootloader">
  38139. <Parameters name="Bank 1" size="0x34" address="0x1FFF7800"/>
  38140. <Category>
  38141. <Name>Read Out Protection</Name>
  38142. <Field>
  38143. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  38144. <AssignedBits>
  38145. <Bit>
  38146. <Name>RDP</Name>
  38147. <Description>Read protection option byte. The read protection is used to protect the software code stored in Flash memory.</Description>
  38148. <BitOffset>0x0</BitOffset>
  38149. <BitWidth>0x8</BitWidth>
  38150. <Access>RW</Access>
  38151. <Values>
  38152. <Val value="0xAA">Level 0, no protection</Val>
  38153. <Val value="0xBB">or any value other than 0xAA and 0xCC: Level 1, read protection</Val>
  38154. <Val value="0xCC">Level 2, chip protection</Val>
  38155. </Values>
  38156. </Bit>
  38157. </AssignedBits>
  38158. </Field>
  38159. </Category>
  38160. <Category>
  38161. <Name>BOR Level</Name>
  38162. <Field>
  38163. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  38164. <AssignedBits>
  38165. <Bit>
  38166. <Name>BOR_EN</Name>
  38167. <Description/>
  38168. <BitOffset>0x8</BitOffset>
  38169. <BitWidth>0x1</BitWidth>
  38170. <Access>RW</Access>
  38171. <Values>
  38172. <Val value="0x0">Configurable brown out reset disabled, power-on reset defined by POR/PDR levels</Val>
  38173. <Val value="0x1">Configurable brown out reset enabled, values of BORR_LEV and BORF_LEV taken into account</Val>
  38174. </Values>
  38175. </Bit>
  38176. <Bit>
  38177. <Name>BORF_LEV</Name>
  38178. <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>
  38179. <BitOffset>0x9</BitOffset>
  38180. <BitWidth>0x2</BitWidth>
  38181. <Access>RW</Access>
  38182. <Values>
  38183. <Val value="0x0">BOR falling level 1 with threshold around 2.0 V</Val>
  38184. <Val value="0x1">BOR falling level 2 with threshold around 2.2 V</Val>
  38185. <Val value="0x2">BOR falling level 3 with threshold around 2.5 V</Val>
  38186. <Val value="0x3">BOR falling level 4 with threshold around 2.8 V</Val>
  38187. </Values>
  38188. </Bit>
  38189. <Bit>
  38190. <Name>BORR_LEV</Name>
  38191. <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>
  38192. <BitOffset>0xB</BitOffset>
  38193. <BitWidth>0x2</BitWidth>
  38194. <Access>RW</Access>
  38195. <Values>
  38196. <Val value="0x0">BOR rising level 1 with threshold around 2.1 V</Val>
  38197. <Val value="0x1">BOR rising level 2 with threshold around 2.3 V</Val>
  38198. <Val value="0x2">BOR rising level 3 with threshold around 2.6 V</Val>
  38199. <Val value="0x3">BOR rising level 4 with threshold around 2.9 V</Val>
  38200. </Values>
  38201. </Bit>
  38202. </AssignedBits>
  38203. </Field>
  38204. </Category>
  38205. <Category>
  38206. <Name>User Configuration</Name>
  38207. <Field>
  38208. <Parameters name="FLASH_OPTR" size="0x4" address="0x1FFF7800"/>
  38209. <AssignedBits>
  38210. <Bit>
  38211. <Name>nRST_STOP</Name>
  38212. <Description/>
  38213. <BitOffset>0xD</BitOffset>
  38214. <BitWidth>0x1</BitWidth>
  38215. <Access>RW</Access>
  38216. <Values>
  38217. <Val value="0x0">Reset generated when entering Stop mode</Val>
  38218. <Val value="0x1">No reset generated when entering Stop mode</Val>
  38219. </Values>
  38220. </Bit>
  38221. <Bit>
  38222. <Name>nRST_STDBY</Name>
  38223. <Description/>
  38224. <BitOffset>0xE</BitOffset>
  38225. <BitWidth>0x1</BitWidth>
  38226. <Access>RW</Access>
  38227. <Values>
  38228. <Val value="0x0">Reset generated when entering Standby mode</Val>
  38229. <Val value="0x1">No reset generated when entering Standby mode</Val>
  38230. </Values>
  38231. </Bit>
  38232. <Bit>
  38233. <Name>nRST_SHDW</Name>
  38234. <Description/>
  38235. <BitOffset>0xF</BitOffset>
  38236. <BitWidth>0x1</BitWidth>
  38237. <Access>RW</Access>
  38238. <Values>
  38239. <Val value="0x0">Reset generated when entering the Shutdown mode</Val>
  38240. <Val value="0x1">No reset generated when entering the Shutdown mode</Val>
  38241. </Values>
  38242. </Bit>
  38243. <Bit>
  38244. <Name>IWDG_SW</Name>
  38245. <Description/>
  38246. <BitOffset>0x10</BitOffset>
  38247. <BitWidth>0x1</BitWidth>
  38248. <Access>RW</Access>
  38249. <Values>
  38250. <Val value="0x0">Hardware independant watchdog</Val>
  38251. <Val value="0x1">Software independant watchdog</Val>
  38252. </Values>
  38253. </Bit>
  38254. <Bit>
  38255. <Name>IWDG_STOP</Name>
  38256. <Description/>
  38257. <BitOffset>0x11</BitOffset>
  38258. <BitWidth>0x1</BitWidth>
  38259. <Access>RW</Access>
  38260. <Values>
  38261. <Val value="0x0">Freeze IWDG counter in stop mode</Val>
  38262. <Val value="0x1">IWDG counter active in stop mode</Val>
  38263. </Values>
  38264. </Bit>
  38265. <Bit>
  38266. <Name>IWDG_STDBY</Name>
  38267. <Description/>
  38268. <BitOffset>0x12</BitOffset>
  38269. <BitWidth>0x1</BitWidth>
  38270. <Access>RW</Access>
  38271. <Values>
  38272. <Val value="0x0">Freeze IWDG counter in standby mode</Val>
  38273. <Val value="0x1">IWDG counter active in standby mode</Val>
  38274. </Values>
  38275. </Bit>
  38276. <Bit>
  38277. <Name>WWDG_SW</Name>
  38278. <Description/>
  38279. <BitOffset>0x13</BitOffset>
  38280. <BitWidth>0x1</BitWidth>
  38281. <Access>RW</Access>
  38282. <Values>
  38283. <Val value="0x0">Hardware window watchdog</Val>
  38284. <Val value="0x1">Software window watchdog</Val>
  38285. </Values>
  38286. </Bit>
  38287. <Bit>
  38288. <Name>RAM_PARITY_CHECK</Name>
  38289. <Description/>
  38290. <BitOffset>0x16</BitOffset>
  38291. <BitWidth>0x1</BitWidth>
  38292. <Access>RW</Access>
  38293. <Values>
  38294. <Val value="0x0">SRAM2 parity check enable</Val>
  38295. <Val value="0x1">SRAM2 parity check disable</Val>
  38296. </Values>
  38297. </Bit>
  38298. <Bit>
  38299. <Name>nBOOT_SEL</Name>
  38300. <Description/>
  38301. <BitOffset>0x18</BitOffset>
  38302. <BitWidth>0x1</BitWidth>
  38303. <Access>RW</Access>
  38304. <Values>
  38305. <Val value="0x0">BOOT0 signal is defined by BOOT0 pin value (legacy mode)</Val>
  38306. <Val value="0x1">BOOT0 signal is defined by nBOOT0 option bit</Val>
  38307. </Values>
  38308. </Bit>
  38309. <Bit>
  38310. <Name>nBOOT1</Name>
  38311. <Description/>
  38312. <BitOffset>0x19</BitOffset>
  38313. <BitWidth>0x1</BitWidth>
  38314. <Access>RW</Access>
  38315. <Values>
  38316. <Val value="0x0">Boot from Flash if BOOT0 = 0, otherwise Embedded SRAM1</Val>
  38317. <Val value="0x1">Boot from Flash if BOOT0 = 0, otherwise system memory</Val>
  38318. </Values>
  38319. </Bit>
  38320. <Bit>
  38321. <Name>nBOOT0</Name>
  38322. <Description/>
  38323. <BitOffset>0x1A</BitOffset>
  38324. <BitWidth>0x1</BitWidth>
  38325. <Access>RW</Access>
  38326. <Values>
  38327. <Val value="0x0">nBOOT0=0</Val>
  38328. <Val value="0x1">nBOOT0=1</Val>
  38329. </Values>
  38330. </Bit>
  38331. <Bit>
  38332. <Name>NRST_MODE</Name>
  38333. <Description/>
  38334. <BitOffset>0x1B</BitOffset>
  38335. <BitWidth>0x2</BitWidth>
  38336. <Access>RW</Access>
  38337. <Values>
  38338. <Val value="0x0">Reserved</Val>
  38339. <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>
  38340. <Val value="0x2">GPIO: standard GPIO pad functionality, only internal RESET possible</Val>
  38341. <Val value="0x3">Bidirectional reset: NRST pin configured in reset input/output mode (legacy mode)</Val>
  38342. </Values>
  38343. </Bit>
  38344. <Bit>
  38345. <Name>IRHEN</Name>
  38346. <Description>Internal reset holder enable bit</Description>
  38347. <BitOffset>0x1D</BitOffset>
  38348. <BitWidth>0x1</BitWidth>
  38349. <Access>RW</Access>
  38350. <Values>
  38351. <Val value="0x0">Internal resets are propagated as simple pulse on NRST pin</Val>
  38352. <Val value="0x1">Internal resets drives NRST pin low until it is seen as low level</Val>
  38353. </Values>
  38354. </Bit>
  38355. </AssignedBits>
  38356. </Field>
  38357. </Category>
  38358. <Category>
  38359. <Name>PCROP Protection</Name>
  38360. <Field>
  38361. <Parameters name="FLASH_PCROP1SR" size="0x4" address="0x1FFF7808"/>
  38362. <AssignedBits>
  38363. <Bit>
  38364. <Name>PCROP1A_STRT</Name>
  38365. <Description>Flash Bank 1 PCROP start address</Description>
  38366. <BitOffset>0x0</BitOffset>
  38367. <BitWidth>0x9</BitWidth>
  38368. <Access>RW</Access>
  38369. <Equation multiplier="0x8" offset="0x08000000"/>
  38370. </Bit>
  38371. </AssignedBits>
  38372. </Field>
  38373. <Field>
  38374. <Parameters name="FLASH_PCROP1ER" size="0x4" address="0x1FFF7810"/>
  38375. <AssignedBits>
  38376. <Bit>
  38377. <Name>PCROP1A_END</Name>
  38378. <Description>Flash Bank 1 PCROP End address(excluded). Deactivation of PCROP can be done by enabling PCROP_RDP and changing RDP from level 1 to level 0</Description>
  38379. <BitOffset>0x0</BitOffset>
  38380. <BitWidth>0x9</BitWidth>
  38381. <Access>RW</Access>
  38382. <Equation multiplier="0x8" offset="0x08000008"/>
  38383. </Bit>
  38384. <Bit>
  38385. <Name>PCROP_RDP</Name>
  38386. <Description/>
  38387. <BitOffset>0x1F</BitOffset>
  38388. <BitWidth>0x1</BitWidth>
  38389. <Access>RW</Access>
  38390. <Values>
  38391. <Val value="0x0">PCROP zone is kept when RDP is decreased</Val>
  38392. <Val value="0x1">PCROP zone is erased when RDP is decreased</Val>
  38393. </Values>
  38394. </Bit>
  38395. </AssignedBits>
  38396. </Field>
  38397. </Category>
  38398. <Category>
  38399. <Name>Write Protection</Name>
  38400. <Field>
  38401. <Parameters name="FLASH_WRP1AR" size="0x4" address="0x1FFF7818"/>
  38402. <AssignedBits>
  38403. <Bit>
  38404. <Name>WRP1A_STRT</Name>
  38405. <Description>The address of the first page of the Bank 1 WRP first area</Description>
  38406. <BitOffset>0x0</BitOffset>
  38407. <BitWidth>0x6</BitWidth>
  38408. <Access>RW</Access>
  38409. <Equation multiplier="0x800" offset="0x08000000"/>
  38410. </Bit>
  38411. <Bit>
  38412. <Name>WRP1A_END</Name>
  38413. <Description>The address of the last page of the Bank 1 WRP first area</Description>
  38414. <BitOffset>0x10</BitOffset>
  38415. <BitWidth>0x6</BitWidth>
  38416. <Access>RW</Access>
  38417. <Equation multiplier="0x800" offset="0x08000000"/>
  38418. </Bit>
  38419. </AssignedBits>
  38420. </Field>
  38421. <Field>
  38422. <Parameters name="FLASH_WRP1BR" size="0x4" address="0x1FFF7820"/>
  38423. <AssignedBits>
  38424. <Bit>
  38425. <Name>WRP1B_STRT</Name>
  38426. <Description>The address of the first page of the Bank 1 WRP second area</Description>
  38427. <BitOffset>0x0</BitOffset>
  38428. <BitWidth>0x6</BitWidth>
  38429. <Access>RW</Access>
  38430. <Equation multiplier="0x800" offset="0x08000000"/>
  38431. </Bit>
  38432. <Bit>
  38433. <Name>WRP1B_END</Name>
  38434. <Description>The address of the last page of the Bank 1 WRP second area</Description>
  38435. <BitOffset>0x10</BitOffset>
  38436. <BitWidth>0x6</BitWidth>
  38437. <Access>RW</Access>
  38438. <Equation multiplier="0x800" offset="0x08000000"/>
  38439. </Bit>
  38440. </AssignedBits>
  38441. </Field>
  38442. </Category>
  38443. </Bank>
  38444. <Bank interface="Bootloader">
  38445. <Parameters name="Bank 2" size="0x4" address="0x1FFF7870"/>
  38446. <Category>
  38447. <Name>FLASH security</Name>
  38448. <Field>
  38449. <Parameters name="FLASH_SECR" size="0x4" address="0x1FFF7870"/>
  38450. <AssignedBits>
  38451. <Bit>
  38452. <Name>BOOT_LOCK</Name>
  38453. <Description>used to force boot from user area</Description>
  38454. <BitOffset>0x10</BitOffset>
  38455. <BitWidth>0x1</BitWidth>
  38456. <Access>RW</Access>
  38457. <Values>
  38458. <Val value="0x0">Boot based on the pad/option bit configuration</Val>
  38459. <Val value="0x1">Boot forced from Main Flash memory</Val>
  38460. </Values>
  38461. </Bit>
  38462. <Bit>
  38463. <Name>SEC_SIZE</Name>
  38464. <Description>Securable memory area size</Description>
  38465. <BitOffset>0x0</BitOffset>
  38466. <BitWidth>0x7</BitWidth>
  38467. <Access>RW</Access>
  38468. <Equation multiplier="0x800" offset="0x08000000"/>
  38469. </Bit>
  38470. </AssignedBits>
  38471. </Field>
  38472. </Category>
  38473. </Bank>
  38474. </Peripheral>
  38475. </Peripherals>
  38476. </Device>
  38477. <!-- Device: 0x500 -->
  38478. <Device>
  38479. <DeviceID>0x500</DeviceID>
  38480. <Vendor>STMicroelectronics</Vendor>
  38481. <Type>MPU</Type>
  38482. <CPU>Cortex-A7</CPU>
  38483. <Name>STM32MPxxx</Name>
  38484. <Series>STM32MP</Series>
  38485. <Description>ARM 32-bit Cortex-A7 and ARM 32-bit Cortex-M4 dualprocessor based device, CPU clock up to 600MHz</Description>
  38486. <!-- Gonfigurations' List -->
  38487. <Configurations>
  38488. <!-- Bootloader Interface -->
  38489. <Interface name="Bootloader">
  38490. <Configuration number="0x0">
  38491. <MultiCore> <!-- Nothing here just the make sure that the XML file is compliant to the Schema file -->
  38492. <ReadRegister address="0x0" mask="0x0" value="0x4"/>
  38493. </MultiCore>
  38494. </Configuration>
  38495. </Interface>
  38496. </Configurations>
  38497. <!-- Peripherals -->
  38498. <Peripherals>
  38499. <Peripheral>
  38500. <Name>OTP Memory</Name>
  38501. <Type>Configuration</Type>
  38502. <Description/>
  38503. <Access>RW</Access>
  38504. <Bank>
  38505. <Parameters name="Bank 1" size="0x400" address="0x0"/>
  38506. <Category>
  38507. <Name>OTP</Name>
  38508. <Field>
  38509. <Parameters name="Struct_version" size="0x4" address="0x0"/>
  38510. <AssignedBits>
  38511. <Bit>
  38512. <Name>none</Name>
  38513. <Description>none</Description>
  38514. <BitOffset>0x0</BitOffset>
  38515. <BitWidth>0x20</BitWidth>
  38516. <Access>R</Access>
  38517. </Bit>
  38518. </AssignedBits>
  38519. </Field>
  38520. <Field>
  38521. <Parameters name="BSEC_OTP_CONFIG" size="0x4" address="0x4"/>
  38522. <AssignedBits>
  38523. <Bit>
  38524. <Name>TR</Name>
  38525. <Description>set SAFMEM Ring current level, default value = 0b00</Description>
  38526. <BitOffset>0x7</BitOffset>
  38527. <BitWidth>0x2</BitWidth>
  38528. <Access>RW</Access>
  38529. </Bit>
  38530. <Bit>
  38531. <Name>PRGWIDTH</Name>
  38532. <Description>SAFMEM Programming Pulse Width, default value = 0b0001</Description>
  38533. <BitOffset>0x3</BitOffset>
  38534. <BitWidth>0x4</BitWidth>
  38535. <Access>RW</Access>
  38536. </Bit>
  38537. <Bit>
  38538. <Name>FRC</Name>
  38539. <Description>SAFMEM CLOCK frequency range selection, default value = 0b11</Description>
  38540. <BitOffset>0x1</BitOffset>
  38541. <BitWidth>0x2</BitWidth>
  38542. <Access>RW</Access>
  38543. </Bit>
  38544. <Bit>
  38545. <Name>PWRUP</Name>
  38546. <Description>SAFMEM Power up control</Description>
  38547. <BitOffset>0x0</BitOffset>
  38548. <BitWidth>0x1</BitWidth>
  38549. <Access>RW</Access>
  38550. </Bit>
  38551. </AssignedBits>
  38552. </Field>
  38553. <Field>
  38554. <Parameters name="BSEC_OTP_Status" size="0x4" address="0xC"/>
  38555. <AssignedBits>
  38556. <Bit>
  38557. <Name>BIST2LOCK</Name>
  38558. <Description>0: BIST2 is not locked, 1: BIST2 is locked.</Description>
  38559. <BitOffset>0x7</BitOffset>
  38560. <BitWidth>0x1</BitWidth>
  38561. <Access>R</Access>
  38562. </Bit>
  38563. <Bit>
  38564. <Name>BIST1LOCK</Name>
  38565. <Description>0: BIST1 is not locked, 1: BIST1 is locked.</Description>
  38566. <BitOffset>0x6</BitOffset>
  38567. <BitWidth>0x1</BitWidth>
  38568. <Access>R</Access>
  38569. </Bit>
  38570. <Bit>
  38571. <Name>PWRON</Name>
  38572. <Description>0: SAFMEM is in Power Off, 1: SAFMEM is in Power On.</Description>
  38573. <BitOffset>0x5</BitOffset>
  38574. <BitWidth>0x1</BitWidth>
  38575. <Access>R</Access>
  38576. </Bit>
  38577. <Bit>
  38578. <Name>PROGFAIL</Name>
  38579. <Description>0: SAFMEM last programming was successful, 1: SAFMEM last programming failed.</Description>
  38580. <BitOffset>0x4</BitOffset>
  38581. <BitWidth>0x1</BitWidth>
  38582. <Access>R</Access>
  38583. </Bit>
  38584. <Bit>
  38585. <Name>BUSY</Name>
  38586. <Description>0: SAFMEM is Idle, 1: SAFMEM operation is on going.</Description>
  38587. <BitOffset>0x3</BitOffset>
  38588. <BitWidth>0x1</BitWidth>
  38589. <Access>R</Access>
  38590. </Bit>
  38591. <Bit>
  38592. <Name>INVALID</Name>
  38593. <Description>0: OTP mode is not OTP-INVALID, 1: OTP mode is OTP-INVALID.</Description>
  38594. <BitOffset>0x2</BitOffset>
  38595. <BitWidth>0x1</BitWidth>
  38596. <Access>R</Access>
  38597. </Bit>
  38598. <Bit>
  38599. <Name>FULLDBG</Name>
  38600. <Description>0: OTP mode is OTP-OPEN1, 1: OTP mode is OTP-OPEN2.</Description>
  38601. <BitOffset>0x1</BitOffset>
  38602. <BitWidth>0x1</BitWidth>
  38603. <Access>R</Access>
  38604. </Bit>
  38605. <Bit>
  38606. <Name>SECURE</Name>
  38607. <Description>0: OTP mode is not OTP-SECURED, 1: OTP mode is OTP-SECURED.</Description>
  38608. <BitOffset>0x0</BitOffset>
  38609. <BitWidth>0x1</BitWidth>
  38610. <Access>R</Access>
  38611. </Bit>
  38612. </AssignedBits>
  38613. </Field>
  38614. <Field>
  38615. <Parameters name="BSEC_OTP_LOCK" size="0x4" address="0x10"/>
  38616. <AssignedBits>
  38617. <Bit>
  38618. <Name>GPLOCK</Name>
  38619. <Description>0: SAFMEM Programming is allowed, 1: SAFMEM Programming is disabled until next sytem reste.</Description>
  38620. <BitOffset>0x4</BitOffset>
  38621. <BitWidth>0x1</BitWidth>
  38622. <Access>RW</Access>
  38623. </Bit>
  38624. <Bit>
  38625. <Name>FENREG</Name>
  38626. <Description>0: BSEC_FENABLE register is not Locked, 1: BSEC_FENABLE register is Locked until the next System-Reset.</Description>
  38627. <BitOffset>0x3</BitOffset>
  38628. <BitWidth>0x1</BitWidth>
  38629. <Access>RW</Access>
  38630. </Bit>
  38631. <Bit>
  38632. <Name>DENREG</Name>
  38633. <Description>0: BSEC_DENABLE register is not Locked, 1: BSEC_DENABLE register is Locked until the next System-Reset.</Description>
  38634. <BitOffset>0x2</BitOffset>
  38635. <BitWidth>0x1</BitWidth>
  38636. <Access>RW</Access>
  38637. </Bit>
  38638. <Bit>
  38639. <Name>OTP</Name>
  38640. <Description>0: upper OTP region access is not locked, 1: upper OTP region access is Locked until the next System-Reset, when locked, the upper region OTP can not be R out from SAFMEM.</Description>
  38641. <BitOffset>0x0</BitOffset>
  38642. <BitWidth>0x1</BitWidth>
  38643. <Access>RW</Access>
  38644. </Bit>
  38645. </AssignedBits>
  38646. </Field>
  38647. <Field>
  38648. <Parameters name="BSEC_DENABLE" size="0x4" address="0x14"/>
  38649. <AssignedBits>
  38650. <Bit>
  38651. <Name>DBGSWENABLE</Name>
  38652. <Description>Control Self Hosted Debug enable with signal dbgswenable. 0: memory-mapped accesses to all ETM registers are disabled and return Error, 1: no effect on external debugger accesses.</Description>
  38653. <BitOffset>0xA</BitOffset>
  38654. <BitWidth>0x1</BitWidth>
  38655. <Access>RW</Access>
  38656. </Bit>
  38657. <Bit>
  38658. <Name>CFGSDISABLE</Name>
  38659. <Description>Write access to secure GIC registers disable with signal: cfgsdisable. 0: no effect, all GIC registers can be accessed, 1: Disable write access to some Secure GIC registers.</Description>
  38660. <BitOffset>0x9</BitOffset>
  38661. <BitWidth>0x1</BitWidth>
  38662. <Access>RW</Access>
  38663. </Bit>
  38664. <Bit>
  38665. <Name>CP15SDISABLE</Name>
  38666. <Description>Write access to some secure Cortex-A7 CP15 registers is disabled for CPUx. 0: All CP15 registers can be accessed, 1: Disable write access to some Secure CP15 registers into Cortex-A7 corresponding CPU.</Description>
  38667. <BitOffset>0x7</BitOffset>
  38668. <BitWidth>0x2</BitWidth>
  38669. <Access>RW</Access>
  38670. </Bit>
  38671. <Bit>
  38672. <Name>SPNIDEN</Name>
  38673. <Description>Secure Privilege Non Invasive Debug enable with signal spiden. 0: Secure Privilege Non Invasive Debug Disabled, 1: Secure Privilege Non Invasive Debug Enabled.</Description>
  38674. <BitOffset>0x6</BitOffset>
  38675. <BitWidth>0x1</BitWidth>
  38676. <Access>RW</Access>
  38677. </Bit>
  38678. <Bit>
  38679. <Name>SPIDEN</Name>
  38680. <Description>Secure Privilege Invasive Debug enable with signal spniden. 0: Secure Privilege Invasive Debug Disabled, 1: Secure Privilege Invasive Debug Enabled.</Description>
  38681. <BitOffset>0x5</BitOffset>
  38682. <BitWidth>0x1</BitWidth>
  38683. <Access>RW</Access>
  38684. </Bit>
  38685. <Bit>
  38686. <Name>HDPEN</Name>
  38687. <Description>Hardware Debug Port enable with signal hdpen. 0: Hardware Debug Port Disabled, 1: Hardware Debug Port Enabled.</Description>
  38688. <BitOffset>0x4</BitOffset>
  38689. <BitWidth>0x1</BitWidth>
  38690. <Access>RW</Access>
  38691. </Bit>
  38692. <Bit>
  38693. <Name>DEVICEEN</Name>
  38694. <Description>Controls the access to Debug component via external debug port by signal deviceen. 0: Disabled, 1: Enabled.</Description>
  38695. <BitOffset>0x3</BitOffset>
  38696. <BitWidth>0x1</BitWidth>
  38697. <Access>RW</Access>
  38698. </Bit>
  38699. <Bit>
  38700. <Name>NIDEN</Name>
  38701. <Description>Non Invasive Debug enable with signal niden. 0: Non Invasive Debug Disabled, 1: Non Invasive Debug Enabled.</Description>
  38702. <BitOffset>0x2</BitOffset>
  38703. <BitWidth>0x1</BitWidth>
  38704. <Access>RW</Access>
  38705. </Bit>
  38706. <Bit>
  38707. <Name>DBGEN</Name>
  38708. <Description>Debug enable with signal dbgen. 0: Disabled, 1: Enabled.</Description>
  38709. <BitOffset>0x1</BitOffset>
  38710. <BitWidth>0x1</BitWidth>
  38711. <Access>RW</Access>
  38712. </Bit>
  38713. <Bit>
  38714. <Name>DFTEN</Name>
  38715. <Description>DFT enable with signal dften. 0: DFT Disabled, 1: DFT Enabled.</Description>
  38716. <BitOffset>0x0</BitOffset>
  38717. <BitWidth>0x1</BitWidth>
  38718. <Access>RW</Access>
  38719. </Bit>
  38720. </AssignedBits>
  38721. </Field>
  38722. <Field>
  38723. <Parameters name="BSEC_FENABLE" size="0x4" address="0x18"/>
  38724. <AssignedBits>
  38725. <Bit>
  38726. <Name>CAN_disable</Name>
  38727. <Description>0: CAN interface is enabled, 1: CAN interface is disabled.</Description>
  38728. <BitOffset>0x3</BitOffset>
  38729. <BitWidth>0x1</BitWidth>
  38730. <Access>RW</Access>
  38731. </Bit>
  38732. <Bit>
  38733. <Name>GPU_disable</Name>
  38734. <Description>0: GPU enabled, 1: GPU disabled.</Description>
  38735. <BitOffset>0x2</BitOffset>
  38736. <BitWidth>0x1</BitWidth>
  38737. <Access>RW</Access>
  38738. </Bit>
  38739. <Bit>
  38740. <Name>Dual_A7_disable</Name>
  38741. <Description>0: Cortex A7 Dual CPU, 1: Cortex A7 Single CPU.</Description>
  38742. <BitOffset>0x1</BitOffset>
  38743. <BitWidth>0x1</BitWidth>
  38744. <Access>RW</Access>
  38745. </Bit>
  38746. <Bit>
  38747. <Name>Crypto_disable</Name>
  38748. <Description>0: All crypto HW accelerators are enabled(default), 1: All crypto HW accelerators are disabled for export license control.</Description>
  38749. <BitOffset>0x0</BitOffset>
  38750. <BitWidth>0x1</BitWidth>
  38751. <Access>RW</Access>
  38752. </Bit>
  38753. </AssignedBits>
  38754. </Field>
  38755. <Field>
  38756. <Parameters name="Write_R_Conf" size="0x4" address="0x1C"/>
  38757. <AssignedBits>
  38758. <Bit>
  38759. <Name>W_R conf</Name>
  38760. <Description>This Bit determins weither the OTP file will be written in BSEC or programmed in SAFMEM</Description>
  38761. <BitOffset>0x0</BitOffset>
  38762. <BitWidth>0x1</BitWidth>
  38763. <Access>RW</Access>
  38764. </Bit>
  38765. </AssignedBits>
  38766. </Field>
  38767. <Field>
  38768. <Parameters name="BSEC_OTP_DISTURBED0" size="0x4" address="0x20"/>
  38769. <AssignedBits>
  38770. <Bit>
  38771. <Name>BSEC_OTP_DISTURBED0</Name>
  38772. <Description>If the Bit is set to 1 that means that the last Ring of the corresponding word has been disturbed; abnormal Ring conditions in decoding circuitry and Ring voltages have been detected</Description>
  38773. <BitOffset>0x0</BitOffset>
  38774. <BitWidth>0x20</BitWidth>
  38775. <Access>R</Access>
  38776. </Bit>
  38777. </AssignedBits>
  38778. </Field>
  38779. <Field>
  38780. <Parameters name="BSEC_OTP_DISTURBED1" size="0x4" address="0x24"/>
  38781. <AssignedBits>
  38782. <Bit>
  38783. <Name>BSEC_OTP_DISTURBED1</Name>
  38784. <Description>If the Bit is set to 1 that means that the last Ring of the corresponding word has been disturbed; abnormal Ring conditions in decoding circuitry and Ring voltages have been detected</Description>
  38785. <BitOffset>0x0</BitOffset>
  38786. <BitWidth>0x20</BitWidth>
  38787. <Access>R</Access>
  38788. </Bit>
  38789. </AssignedBits>
  38790. </Field>
  38791. <Field>
  38792. <Parameters name="BSEC_OTP_DISTURBED2" size="0x4" address="0x28"/>
  38793. <AssignedBits>
  38794. <Bit>
  38795. <Name>BSEC_OTP_DISTURBED2</Name>
  38796. <Description>If the Bit is set to 1 that means that the last Ring of the corresponding word has been disturbed; abnormal Ring conditions in decoding circuitry and Ring voltages have been detected</Description>
  38797. <BitOffset>0x0</BitOffset>
  38798. <BitWidth>0x20</BitWidth>
  38799. <Access>R</Access>
  38800. </Bit>
  38801. </AssignedBits>
  38802. </Field>
  38803. <Field>
  38804. <Parameters name="BSEC_OTP_ERROR0" size="0x4" address="0x38"/>
  38805. <AssignedBits>
  38806. <Bit>
  38807. <Name>BSEC_OTP_ERROR0</Name>
  38808. <Description>If the Bit is set to 1 that means that the last R operation of the word concerned has revealed a redundancy or ECC check error.</Description>
  38809. <BitOffset>0x0</BitOffset>
  38810. <BitWidth>0x20</BitWidth>
  38811. <Access>R</Access>
  38812. </Bit>
  38813. </AssignedBits>
  38814. </Field>
  38815. <Field>
  38816. <Parameters name="BSEC_OTP_ERROR1" size="0x4" address="0x3C"/>
  38817. <AssignedBits>
  38818. <Bit>
  38819. <Name>BSEC_OTP_ERROR1</Name>
  38820. <Description>If the Bit is set to 1 that means that the last R operation of the word concerned has revealed a redundancy or ECC check error.</Description>
  38821. <BitOffset>0x0</BitOffset>
  38822. <BitWidth>0x20</BitWidth>
  38823. <Access>R</Access>
  38824. </Bit>
  38825. </AssignedBits>
  38826. </Field>
  38827. <Field>
  38828. <Parameters name="BSEC_OTP_ERROR2" size="0x4" address="0x40"/>
  38829. <AssignedBits>
  38830. <Bit>
  38831. <Name>BSEC_OTP_ERROR2</Name>
  38832. <Description>If the Bit is set to 1 that means that the last R operation of the word concerned has revealed a redundancy or ECC check error.</Description>
  38833. <BitOffset>0x0</BitOffset>
  38834. <BitWidth>0x20</BitWidth>
  38835. <Access>R</Access>
  38836. </Bit>
  38837. </AssignedBits>
  38838. </Field>
  38839. <Field>
  38840. <Parameters name="BSEC_OTP_WRLOCK0" size="0x4" address="0x50"/>
  38841. <AssignedBits>
  38842. <Bit>
  38843. <Name>BSEC_OTP_WRLOCK0</Name>
  38844. <Description>If the Bit is set to 1 that means that the correspanding OTP word is under programming permenant lock.</Description>
  38845. <BitOffset>0x0</BitOffset>
  38846. <BitWidth>0x20</BitWidth>
  38847. <Access>RW</Access>
  38848. </Bit>
  38849. </AssignedBits>
  38850. </Field>
  38851. <Field>
  38852. <Parameters name="BSEC_OTP_WRLOCK1" size="0x4" address="0x54"/>
  38853. <AssignedBits>
  38854. <Bit>
  38855. <Name>BSEC_OTP_WRLOCK1</Name>
  38856. <Description>If the Bit is set to 1 that means that the correspanding OTP word is under programming permenant lock.</Description>
  38857. <BitOffset>0x0</BitOffset>
  38858. <BitWidth>0x20</BitWidth>
  38859. <Access>RW</Access>
  38860. </Bit>
  38861. </AssignedBits>
  38862. </Field>
  38863. <Field>
  38864. <Parameters name="BSEC_OTP_WRLOCK2" size="0x4" address="0x58"/>
  38865. <AssignedBits>
  38866. <Bit>
  38867. <Name>BSEC_OTP_WRLOCK2</Name>
  38868. <Description>If the Bit is set to 1 that means that the correspanding OTP word is under programming permenant lock.</Description>
  38869. <BitOffset>0x0</BitOffset>
  38870. <BitWidth>0x20</BitWidth>
  38871. <Access>RW</Access>
  38872. </Bit>
  38873. </AssignedBits>
  38874. </Field>
  38875. <Field>
  38876. <Parameters name="BSEC_OTP_SPLOCK0" size="0x4" address="0x68"/>
  38877. <AssignedBits>
  38878. <Bit>
  38879. <Name>BSEC_OTP_SPLOCK0</Name>
  38880. <Description>If the Bit is set to 1 that means that the correspanding OTP word is under programming sticky lock until next system-reset</Description>
  38881. <BitOffset>0x0</BitOffset>
  38882. <BitWidth>0x20</BitWidth>
  38883. <Access>RW</Access>
  38884. </Bit>
  38885. </AssignedBits>
  38886. </Field>
  38887. <Field>
  38888. <Parameters name="BSEC_OTP_SPLOCK1" size="0x4" address="0x6C"/>
  38889. <AssignedBits>
  38890. <Bit>
  38891. <Name>BSEC_OTP_SPLOCK1</Name>
  38892. <Description>If the Bit is set to 1 that means that the correspanding OTP word is under programming sticky lock until next system-reset</Description>
  38893. <BitOffset>0x0</BitOffset>
  38894. <BitWidth>0x20</BitWidth>
  38895. <Access>RW</Access>
  38896. </Bit>
  38897. </AssignedBits>
  38898. </Field>
  38899. <Field>
  38900. <Parameters name="BSEC_OTP_SPLOCK2" size="0x4" address="0x70"/>
  38901. <AssignedBits>
  38902. <Bit>
  38903. <Name>BSEC_OTP_SPLOCK2</Name>
  38904. <Description>If the Bit is set to 1 that means that the correspanding OTP word is under programming sticky lock until next system-reset</Description>
  38905. <BitOffset>0x0</BitOffset>
  38906. <BitWidth>0x20</BitWidth>
  38907. <Access>RW</Access>
  38908. </Bit>
  38909. </AssignedBits>
  38910. </Field>
  38911. <Field>
  38912. <Parameters name="BSEC_OTP_SWLOCK0" size="0x4" address="0x80"/>
  38913. <AssignedBits>
  38914. <Bit>
  38915. <Name>BSEC_OTP_SWLOCK0</Name>
  38916. <Description>If the Bit is set to 1 that means that any attempt to write to the correspanding OTP shadow register will be prevented until next system-reset</Description>
  38917. <BitOffset>0x0</BitOffset>
  38918. <BitWidth>0x20</BitWidth>
  38919. <Access>RW</Access>
  38920. </Bit>
  38921. </AssignedBits>
  38922. </Field>
  38923. <Field>
  38924. <Parameters name="BSEC_OTP_SWLOCK1" size="0x4" address="0x84"/>
  38925. <AssignedBits>
  38926. <Bit>
  38927. <Name>BSEC_OTP_SWLOCK1</Name>
  38928. <Description>If the Bit is set to 1 that means that any attempt to write to the correspanding OTP shadow register will be prevented until next system-reset</Description>
  38929. <BitOffset>0x0</BitOffset>
  38930. <BitWidth>0x20</BitWidth>
  38931. <Access>RW</Access>
  38932. </Bit>
  38933. </AssignedBits>
  38934. </Field>
  38935. <Field>
  38936. <Parameters name="BSEC_OTP_SWLOCK2" size="0x4" address="0x8C"/>
  38937. <AssignedBits>
  38938. <Bit>
  38939. <Name>BSEC_OTP_SWLOCK2</Name>
  38940. <Description>If the Bit is set to 1 that means that any attempt to write to the correspanding OTP shadow register will be prevented until next system-reset</Description>
  38941. <BitOffset>0x0</BitOffset>
  38942. <BitWidth>0x20</BitWidth>
  38943. <Access>RW</Access>
  38944. </Bit>
  38945. </AssignedBits>
  38946. </Field>
  38947. <Field>
  38948. <Parameters name="BSEC_OTP_SRLOCK0" size="0x4" address="0x98"/>
  38949. <AssignedBits>
  38950. <Bit>
  38951. <Name>BSEC_OTP_SRLOCK0</Name>
  38952. <Description>If the Bit is set to 1 that means that any attempt to reload to the correspanding OTP shadow register will be prevented until next system-reset. Instead a R command, shall clear the shadow register</Description>
  38953. <BitOffset>0x0</BitOffset>
  38954. <BitWidth>0x20</BitWidth>
  38955. <Access>RW</Access>
  38956. </Bit>
  38957. </AssignedBits>
  38958. </Field>
  38959. <Field>
  38960. <Parameters name="BSEC_OTP_SRLOCK1" size="0x4" address="0x9C"/>
  38961. <AssignedBits>
  38962. <Bit>
  38963. <Name>BSEC_OTP_SRLOCK1</Name>
  38964. <Description>If the Bit is set to 1 that means that any attempt to reload to the correspanding OTP shadow register will be prevented until next system-reset. Instead a R command, shall clear the shadow register</Description>
  38965. <BitOffset>0x0</BitOffset>
  38966. <BitWidth>0x20</BitWidth>
  38967. <Access>RW</Access>
  38968. </Bit>
  38969. </AssignedBits>
  38970. </Field>
  38971. <Field>
  38972. <Parameters name="BSEC_OTP_SRLOCK2" size="0x4" address="0xA0"/>
  38973. <AssignedBits>
  38974. <Bit>
  38975. <Name>BSEC_OTP_SRLOCK2</Name>
  38976. <Description>If the Bit is set to 1 that means that any attempt to reload to the correspanding OTP shadow register will be prevented until next system-reset. Instead a R command, shall clear the shadow register</Description>
  38977. <BitOffset>0x0</BitOffset>
  38978. <BitWidth>0x20</BitWidth>
  38979. <Access>RW</Access>
  38980. </Bit>
  38981. </AssignedBits>
  38982. </Field>
  38983. <Field>
  38984. <Parameters name="CFG0" size="0x4" address="0xB0"/>
  38985. <AssignedBits>
  38986. <Bit>
  38987. <Name>CFG0</Name>
  38988. <Description>These bits determins the OTP mode encoding</Description>
  38989. <BitOffset>0x0</BitOffset>
  38990. <BitWidth>0x7</BitWidth>
  38991. <Access>RW</Access>
  38992. </Bit>
  38993. </AssignedBits>
  38994. </Field>
  38995. <Field>
  38996. <Parameters name="CFG1" size="0x4" address="0xB4"/>
  38997. <AssignedBits>
  38998. <Bit>
  38999. <Name>fdis3</Name>
  39000. <Description>Disable CAN</Description>
  39001. <BitOffset>0x3</BitOffset>
  39002. <BitWidth>0x1</BitWidth>
  39003. <Access>RW</Access>
  39004. </Bit>
  39005. <Bit>
  39006. <Name>fdis2</Name>
  39007. <Description>Disable GPU</Description>
  39008. <BitOffset>0x2</BitOffset>
  39009. <BitWidth>0x1</BitWidth>
  39010. <Access>RW</Access>
  39011. </Bit>
  39012. <Bit>
  39013. <Name>fdis1</Name>
  39014. <Description>Disable CPU1</Description>
  39015. <BitOffset>0x1</BitOffset>
  39016. <BitWidth>0x1</BitWidth>
  39017. <Access>RW</Access>
  39018. </Bit>
  39019. <Bit>
  39020. <Name>fdis0</Name>
  39021. <Description>Disable Crypto (license export)</Description>
  39022. <BitOffset>0x0</BitOffset>
  39023. <BitWidth>0x1</BitWidth>
  39024. <Access>RW</Access>
  39025. </Bit>
  39026. </AssignedBits>
  39027. </Field>
  39028. <Field>
  39029. <Parameters name="CFG2" size="0x4" address="0xB8"/>
  39030. <AssignedBits>
  39031. <Bit>
  39032. <Name>rma_force</Name>
  39033. <Description>RMA force Bit</Description>
  39034. <BitOffset>0x0</BitOffset>
  39035. <BitWidth>0x1</BitWidth>
  39036. <Access>RW</Access>
  39037. </Bit>
  39038. <Bit>
  39039. <Name>rma_relock</Name>
  39040. <Description>RMA relock Bit</Description>
  39041. <BitOffset>0x1</BitOffset>
  39042. <BitWidth>0x1</BitWidth>
  39043. <Access>RW</Access>
  39044. </Bit>
  39045. </AssignedBits>
  39046. </Field>
  39047. <Field>
  39048. <Parameters name="CFG3" size="0x4" address="0xBC"/>
  39049. <AssignedBits>
  39050. <Bit>
  39051. <Name>CFG3</Name>
  39052. <Description>These bits determins the BOOT source definition</Description>
  39053. <BitOffset>0x0</BitOffset>
  39054. <BitWidth>0x20</BitWidth>
  39055. <Access>RW</Access>
  39056. </Bit>
  39057. </AssignedBits>
  39058. </Field>
  39059. <Field>
  39060. <Parameters name="CFG4" size="0x4" address="0xC0"/>
  39061. <AssignedBits>
  39062. <Bit>
  39063. <Name>CFG4</Name>
  39064. <Description>These bits determins the BOOT monotonic counter</Description>
  39065. <BitOffset>0x0</BitOffset>
  39066. <BitWidth>0x20</BitWidth>
  39067. <Access>RW</Access>
  39068. </Bit>
  39069. </AssignedBits>
  39070. </Field>
  39071. <Field>
  39072. <Parameters name="CFG5" size="0x4" address="0xC4"/>
  39073. <AssignedBits>
  39074. <Bit>
  39075. <Name>CFG5</Name>
  39076. <Description>These bits determins the BOOT AFmux configuration</Description>
  39077. <BitOffset>0x0</BitOffset>
  39078. <BitWidth>0x20</BitWidth>
  39079. <Access>RW</Access>
  39080. </Bit>
  39081. </AssignedBits>
  39082. </Field>
  39083. <Field>
  39084. <Parameters name="CFG6" size="0x4" address="0xC8"/>
  39085. <AssignedBits>
  39086. <Bit>
  39087. <Name>CFG6</Name>
  39088. <Description>These bits determins the BOOT AFmux configuration</Description>
  39089. <BitOffset>0x0</BitOffset>
  39090. <BitWidth>0x20</BitWidth>
  39091. <Access>RW</Access>
  39092. </Bit>
  39093. </AssignedBits>
  39094. </Field>
  39095. <Field>
  39096. <Parameters name="CFG7" size="0x4" address="0xCC"/>
  39097. <AssignedBits>
  39098. <Bit>
  39099. <Name>CFG7</Name>
  39100. <Description>These bits determins the BOOT AFmux configuration</Description>
  39101. <BitOffset>0x0</BitOffset>
  39102. <BitWidth>0x20</BitWidth>
  39103. <Access>RW</Access>
  39104. </Bit>
  39105. </AssignedBits>
  39106. </Field>
  39107. <Field>
  39108. <Parameters name="CFG8" size="0x4" address="0xD0"/>
  39109. <AssignedBits>
  39110. <Bit>
  39111. <Name>CFG8</Name>
  39112. <Description>BOOT/Device configuration.</Description>
  39113. <BitOffset>0x2</BitOffset>
  39114. <BitWidth>0x1E</BitWidth>
  39115. <Access>RW</Access>
  39116. </Bit>
  39117. <Bit>
  39118. <Name>rma_relock</Name>
  39119. <Description>RMA relock Bit</Description>
  39120. <BitOffset>0x1</BitOffset>
  39121. <BitWidth>0x1</BitWidth>
  39122. <Access>RW</Access>
  39123. </Bit>
  39124. <Bit>
  39125. <Name>rma_lock</Name>
  39126. <Description>RMA lock Bit</Description>
  39127. <BitOffset>0x0</BitOffset>
  39128. <BitWidth>0x1</BitWidth>
  39129. <Access>RW</Access>
  39130. </Bit>
  39131. </AssignedBits>
  39132. </Field>
  39133. <Field>
  39134. <Parameters name="CFG9" size="0x4" address="0xD4"/>
  39135. <AssignedBits>
  39136. <Bit>
  39137. <Name>CFG9</Name>
  39138. <Description>These bits determin the device configuration.</Description>
  39139. <BitOffset>0x0</BitOffset>
  39140. <BitWidth>0x20</BitWidth>
  39141. <Access>RW</Access>
  39142. </Bit>
  39143. </AssignedBits>
  39144. </Field>
  39145. <Field>
  39146. <Parameters name="CFG10" size="0x4" address="0xD8"/>
  39147. <AssignedBits>
  39148. <Bit>
  39149. <Name>CFG10</Name>
  39150. <Description>These bits determin the device configuration.</Description>
  39151. <BitOffset>0x0</BitOffset>
  39152. <BitWidth>0x20</BitWidth>
  39153. <Access>RW</Access>
  39154. </Bit>
  39155. </AssignedBits>
  39156. </Field>
  39157. <Field>
  39158. <Parameters name="CFG11" size="0x4" address="0xDC"/>
  39159. <AssignedBits>
  39160. <Bit>
  39161. <Name>CFG11</Name>
  39162. <Description>These bits determin the device configuration.</Description>
  39163. <BitOffset>0x0</BitOffset>
  39164. <BitWidth>0x20</BitWidth>
  39165. <Access>RW</Access>
  39166. </Bit>
  39167. </AssignedBits>
  39168. </Field>
  39169. <Field>
  39170. <Parameters name="CFG12" size="0x4" address="0xE0"/>
  39171. <AssignedBits>
  39172. <Bit>
  39173. <Name>CFG12</Name>
  39174. <Description>These bits determin the device configuration.</Description>
  39175. <BitOffset>0x0</BitOffset>
  39176. <BitWidth>0x20</BitWidth>
  39177. <Access>RW</Access>
  39178. </Bit>
  39179. </AssignedBits>
  39180. </Field>
  39181. <Field>
  39182. <Parameters name="ID0" size="0x4" address="0xE4"/>
  39183. <AssignedBits>
  39184. <Bit>
  39185. <Name>ID0</Name>
  39186. <Description>Lot ID on 42bit (11LSB's)</Description>
  39187. <BitOffset>0x15</BitOffset>
  39188. <BitWidth>0xB</BitWidth>
  39189. <Access>RW</Access>
  39190. </Bit>
  39191. <Bit>
  39192. <Name>ID0</Name>
  39193. <Description>Wafer ID</Description>
  39194. <BitOffset>0x10</BitOffset>
  39195. <BitWidth>0x5</BitWidth>
  39196. <Access>RW</Access>
  39197. </Bit>
  39198. <Bit>
  39199. <Name>ID0</Name>
  39200. <Description>Wafer Y coordinates</Description>
  39201. <BitOffset>0x8</BitOffset>
  39202. <BitWidth>0x8</BitWidth>
  39203. <Access>RW</Access>
  39204. </Bit>
  39205. <Bit>
  39206. <Name>ID0</Name>
  39207. <Description>Wafer X coordinates</Description>
  39208. <BitOffset>0x0</BitOffset>
  39209. <BitWidth>0x8</BitWidth>
  39210. <Access>RW</Access>
  39211. </Bit>
  39212. </AssignedBits>
  39213. </Field>
  39214. <Field>
  39215. <Parameters name="ID1" size="0x4" address="0xE8"/>
  39216. <AssignedBits>
  39217. <Bit>
  39218. <Name>ID1</Name>
  39219. <Description>Lot ID on 42bit (31MSB's)</Description>
  39220. <BitOffset>0x0</BitOffset>
  39221. <BitWidth>0x20</BitWidth>
  39222. <Access>RW</Access>
  39223. </Bit>
  39224. </AssignedBits>
  39225. </Field>
  39226. <Field>
  39227. <Parameters name="ID2" size="0x4" address="0xEC"/>
  39228. <AssignedBits>
  39229. <Bit>
  39230. <Name>ID2</Name>
  39231. <Description>Test program flow T[12],F[12],Q[12]</Description>
  39232. <BitOffset>0x14</BitOffset>
  39233. <BitWidth>0xC</BitWidth>
  39234. <Access>RW</Access>
  39235. </Bit>
  39236. <Bit>
  39237. <Name>ID2</Name>
  39238. <Description>FT program revision</Description>
  39239. <BitOffset>0xA</BitOffset>
  39240. <BitWidth>0xA</BitWidth>
  39241. <Access>RW</Access>
  39242. </Bit>
  39243. <Bit>
  39244. <Name>ID2</Name>
  39245. <Description>EWS program revision</Description>
  39246. <BitOffset>0x0</BitOffset>
  39247. <BitWidth>0xA</BitWidth>
  39248. <Access>RW</Access>
  39249. </Bit>
  39250. </AssignedBits>
  39251. </Field>
  39252. <Field>
  39253. <Parameters name="HW0" size="0x4" address="0xF0"/>
  39254. <AssignedBits>
  39255. <Bit>
  39256. <Name>HW0</Name>
  39257. <Description>Analog TRIM</Description>
  39258. <BitOffset>0x0</BitOffset>
  39259. <BitWidth>0x20</BitWidth>
  39260. <Access>RW</Access>
  39261. </Bit>
  39262. </AssignedBits>
  39263. </Field>
  39264. <Field>
  39265. <Parameters name="HW1" size="0x4" address="0xF4"/>
  39266. <AssignedBits>
  39267. <Bit>
  39268. <Name>HW1</Name>
  39269. <Description>Analog TRIM</Description>
  39270. <BitOffset>0x0</BitOffset>
  39271. <BitWidth>0x20</BitWidth>
  39272. <Access>RW</Access>
  39273. </Bit>
  39274. </AssignedBits>
  39275. </Field>
  39276. <Field>
  39277. <Parameters name="HW2" size="0x4" address="0xF8"/>
  39278. <AssignedBits>
  39279. <Bit>
  39280. <Name>HW2</Name>
  39281. <Description>Analog TRIM and hardware options</Description>
  39282. <BitOffset>0x0</BitOffset>
  39283. <BitWidth>0x20</BitWidth>
  39284. <Access>RW</Access>
  39285. </Bit>
  39286. </AssignedBits>
  39287. </Field>
  39288. <Field>
  39289. <Parameters name="HW3" size="0x4" address="0xFC"/>
  39290. <AssignedBits>
  39291. <Bit>
  39292. <Name>HW3</Name>
  39293. <Description>Analog TRIM</Description>
  39294. <BitOffset>0x0</BitOffset>
  39295. <BitWidth>0x20</BitWidth>
  39296. <Access>RW</Access>
  39297. </Bit>
  39298. </AssignedBits>
  39299. </Field>
  39300. <Field>
  39301. <Parameters name="HW4" size="0x4" address="0x100"/>
  39302. <AssignedBits>
  39303. <Bit>
  39304. <Name>HW4</Name>
  39305. <Description>not used yet</Description>
  39306. <BitOffset>0x0</BitOffset>
  39307. <BitWidth>0x20</BitWidth>
  39308. <Access>RW</Access>
  39309. </Bit>
  39310. </AssignedBits>
  39311. </Field>
  39312. <Field>
  39313. <Parameters name="HW5" size="0x4" address="0x104"/>
  39314. <AssignedBits>
  39315. <Bit>
  39316. <Name>HW5</Name>
  39317. <Description>memory repair bits</Description>
  39318. <BitOffset>0x0</BitOffset>
  39319. <BitWidth>0x20</BitWidth>
  39320. <Access>RW</Access>
  39321. </Bit>
  39322. </AssignedBits>
  39323. </Field>
  39324. <Field>
  39325. <Parameters name="HW6" size="0x4" address="0x108"/>
  39326. <AssignedBits>
  39327. <Bit>
  39328. <Name>HW6</Name>
  39329. <Description>memory repair bits</Description>
  39330. <BitOffset>0x0</BitOffset>
  39331. <BitWidth>0x20</BitWidth>
  39332. <Access>RW</Access>
  39333. </Bit>
  39334. </AssignedBits>
  39335. </Field>
  39336. <Field>
  39337. <Parameters name="HW7" size="0x4" address="0x10C"/>
  39338. <AssignedBits>
  39339. <Bit>
  39340. <Name>HW7</Name>
  39341. <Description>reserved</Description>
  39342. <BitOffset>0x0</BitOffset>
  39343. <BitWidth>0x20</BitWidth>
  39344. <Access>RW</Access>
  39345. </Bit>
  39346. </AssignedBits>
  39347. </Field>
  39348. <Field>
  39349. <Parameters name="PKH0" size="0x4" address="0x110"/>
  39350. <AssignedBits>
  39351. <Bit>
  39352. <Name>PKH0</Name>
  39353. <Description>Public Key Hash</Description>
  39354. <BitOffset>0x0</BitOffset>
  39355. <BitWidth>0x20</BitWidth>
  39356. <Access>RW</Access>
  39357. </Bit>
  39358. </AssignedBits>
  39359. </Field>
  39360. <Field>
  39361. <Parameters name="PKH1" size="0x4" address="0x114"/>
  39362. <AssignedBits>
  39363. <Bit>
  39364. <Name>PKH1</Name>
  39365. <Description>Public Key Hash</Description>
  39366. <BitOffset>0x0</BitOffset>
  39367. <BitWidth>0x20</BitWidth>
  39368. <Access>RW</Access>
  39369. </Bit>
  39370. </AssignedBits>
  39371. </Field>
  39372. <Field>
  39373. <Parameters name="PKH2" size="0x4" address="0x118"/>
  39374. <AssignedBits>
  39375. <Bit>
  39376. <Name>PKH2</Name>
  39377. <Description>Public Key Hash</Description>
  39378. <BitOffset>0x0</BitOffset>
  39379. <BitWidth>0x20</BitWidth>
  39380. <Access>RW</Access>
  39381. </Bit>
  39382. </AssignedBits>
  39383. </Field>
  39384. <Field>
  39385. <Parameters name="PKH3" size="0x4" address="0x11C"/>
  39386. <AssignedBits>
  39387. <Bit>
  39388. <Name>PKH3</Name>
  39389. <Description>Public Key Hash</Description>
  39390. <BitOffset>0x0</BitOffset>
  39391. <BitWidth>0x20</BitWidth>
  39392. <Access>RW</Access>
  39393. </Bit>
  39394. </AssignedBits>
  39395. </Field>
  39396. <Field>
  39397. <Parameters name="PKH4" size="0x4" address="0x120"/>
  39398. <AssignedBits>
  39399. <Bit>
  39400. <Name>PKH4</Name>
  39401. <Description>Public Key Hash</Description>
  39402. <BitOffset>0x0</BitOffset>
  39403. <BitWidth>0x20</BitWidth>
  39404. <Access>RW</Access>
  39405. </Bit>
  39406. </AssignedBits>
  39407. </Field>
  39408. <Field>
  39409. <Parameters name="PKH5" size="0x4" address="0x124"/>
  39410. <AssignedBits>
  39411. <Bit>
  39412. <Name>PKH5</Name>
  39413. <Description>Public Key Hash</Description>
  39414. <BitOffset>0x0</BitOffset>
  39415. <BitWidth>0x20</BitWidth>
  39416. <Access>RW</Access>
  39417. </Bit>
  39418. </AssignedBits>
  39419. </Field>
  39420. <Field>
  39421. <Parameters name="PKH6" size="0x4" address="0x128"/>
  39422. <AssignedBits>
  39423. <Bit>
  39424. <Name>PKH6</Name>
  39425. <Description>Public Key Hash</Description>
  39426. <BitOffset>0x0</BitOffset>
  39427. <BitWidth>0x20</BitWidth>
  39428. <Access>RW</Access>
  39429. </Bit>
  39430. </AssignedBits>
  39431. </Field>
  39432. <Field>
  39433. <Parameters name="PKH7" size="0x4" address="0x12C"/>
  39434. <AssignedBits>
  39435. <Bit>
  39436. <Name>PKH7</Name>
  39437. <Description>Public Key Hash</Description>
  39438. <BitOffset>0x0</BitOffset>
  39439. <BitWidth>0x20</BitWidth>
  39440. <Access>RW</Access>
  39441. </Bit>
  39442. </AssignedBits>
  39443. </Field>
  39444. <Field>
  39445. <Parameters name="XK0" size="0x4" address="0x130"/>
  39446. <AssignedBits>
  39447. <Bit>
  39448. <Name>XK0</Name>
  39449. <Description>ST ECDSA Private Key for SSP</Description>
  39450. <BitOffset>0x0</BitOffset>
  39451. <BitWidth>0x20</BitWidth>
  39452. <Access>RW</Access>
  39453. </Bit>
  39454. </AssignedBits>
  39455. </Field>
  39456. <Field>
  39457. <Parameters name="XK1" size="0x4" address="0x134"/>
  39458. <AssignedBits>
  39459. <Bit>
  39460. <Name>XK1</Name>
  39461. <Description>ST ECDSA Private Key for SSP</Description>
  39462. <BitOffset>0x0</BitOffset>
  39463. <BitWidth>0x20</BitWidth>
  39464. <Access>RW</Access>
  39465. </Bit>
  39466. </AssignedBits>
  39467. </Field>
  39468. <Field>
  39469. <Parameters name="XK2" size="0x4" address="0x138"/>
  39470. <AssignedBits>
  39471. <Bit>
  39472. <Name>XK2</Name>
  39473. <Description>ST ECDSA Private Key for SSP</Description>
  39474. <BitOffset>0x0</BitOffset>
  39475. <BitWidth>0x20</BitWidth>
  39476. <Access>RW</Access>
  39477. </Bit>
  39478. </AssignedBits>
  39479. </Field>
  39480. <Field>
  39481. <Parameters name="XK3" size="0x4" address="0x13C"/>
  39482. <AssignedBits>
  39483. <Bit>
  39484. <Name>XK3</Name>
  39485. <Description>ST ECDSA Private Key for SSP</Description>
  39486. <BitOffset>0x0</BitOffset>
  39487. <BitWidth>0x20</BitWidth>
  39488. <Access>RW</Access>
  39489. </Bit>
  39490. </AssignedBits>
  39491. </Field>
  39492. <Field>
  39493. <Parameters name="XK4" size="0x4" address="0x140"/>
  39494. <AssignedBits>
  39495. <Bit>
  39496. <Name>XK4</Name>
  39497. <Description>ST ECDSA Private Key for SSP</Description>
  39498. <BitOffset>0x0</BitOffset>
  39499. <BitWidth>0x20</BitWidth>
  39500. <Access>RW</Access>
  39501. </Bit>
  39502. </AssignedBits>
  39503. </Field>
  39504. <Field>
  39505. <Parameters name="XK5" size="0x4" address="0x144"/>
  39506. <AssignedBits>
  39507. <Bit>
  39508. <Name>XK5</Name>
  39509. <Description>ST ECDSA Private Key for SSP</Description>
  39510. <BitOffset>0x0</BitOffset>
  39511. <BitWidth>0x20</BitWidth>
  39512. <Access>RW</Access>
  39513. </Bit>
  39514. </AssignedBits>
  39515. </Field>
  39516. <Field>
  39517. <Parameters name="XK6" size="0x4" address="0x148"/>
  39518. <AssignedBits>
  39519. <Bit>
  39520. <Name>XK6</Name>
  39521. <Description>ST ECDSA Private Key for SSP</Description>
  39522. <BitOffset>0x0</BitOffset>
  39523. <BitWidth>0x20</BitWidth>
  39524. <Access>RW</Access>
  39525. </Bit>
  39526. </AssignedBits>
  39527. </Field>
  39528. <Field>
  39529. <Parameters name="XK7" size="0x4" address="0x14C"/>
  39530. <AssignedBits>
  39531. <Bit>
  39532. <Name>XK7</Name>
  39533. <Description>ST ECDSA Private Key for SSP</Description>
  39534. <BitOffset>0x0</BitOffset>
  39535. <BitWidth>0x20</BitWidth>
  39536. <Access>RW</Access>
  39537. </Bit>
  39538. </AssignedBits>
  39539. </Field>
  39540. <Field>
  39541. <Parameters name="XK8" size="0x4" address="0x150"/>
  39542. <AssignedBits>
  39543. <Bit>
  39544. <Name>XK8</Name>
  39545. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39546. <BitOffset>0x0</BitOffset>
  39547. <BitWidth>0x20</BitWidth>
  39548. <Access>RW</Access>
  39549. </Bit>
  39550. </AssignedBits>
  39551. </Field>
  39552. <Field>
  39553. <Parameters name="XK9" size="0x4" address="0x154"/>
  39554. <AssignedBits>
  39555. <Bit>
  39556. <Name>XK9</Name>
  39557. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39558. <BitOffset>0x0</BitOffset>
  39559. <BitWidth>0x20</BitWidth>
  39560. <Access>RW</Access>
  39561. </Bit>
  39562. </AssignedBits>
  39563. </Field>
  39564. <Field>
  39565. <Parameters name="XK10" size="0x4" address="0x158"/>
  39566. <AssignedBits>
  39567. <Bit>
  39568. <Name>XK10</Name>
  39569. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39570. <BitOffset>0x0</BitOffset>
  39571. <BitWidth>0x20</BitWidth>
  39572. <Access>RW</Access>
  39573. </Bit>
  39574. </AssignedBits>
  39575. </Field>
  39576. <Field>
  39577. <Parameters name="XK11" size="0x4" address="0x15C"/>
  39578. <AssignedBits>
  39579. <Bit>
  39580. <Name>XK11</Name>
  39581. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39582. <BitOffset>0x0</BitOffset>
  39583. <BitWidth>0x20</BitWidth>
  39584. <Access>RW</Access>
  39585. </Bit>
  39586. </AssignedBits>
  39587. </Field>
  39588. <Field>
  39589. <Parameters name="XK12" size="0x4" address="0x160"/>
  39590. <AssignedBits>
  39591. <Bit>
  39592. <Name>XK12</Name>
  39593. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39594. <BitOffset>0x0</BitOffset>
  39595. <BitWidth>0x20</BitWidth>
  39596. <Access>RW</Access>
  39597. </Bit>
  39598. </AssignedBits>
  39599. </Field>
  39600. <Field>
  39601. <Parameters name="XK13" size="0x4" address="0x164"/>
  39602. <AssignedBits>
  39603. <Bit>
  39604. <Name>XK13</Name>
  39605. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39606. <BitOffset>0x0</BitOffset>
  39607. <BitWidth>0x20</BitWidth>
  39608. <Access>RW</Access>
  39609. </Bit>
  39610. </AssignedBits>
  39611. </Field>
  39612. <Field>
  39613. <Parameters name="XK14" size="0x4" address="0x168"/>
  39614. <AssignedBits>
  39615. <Bit>
  39616. <Name>XK14</Name>
  39617. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39618. <BitOffset>0x0</BitOffset>
  39619. <BitWidth>0x20</BitWidth>
  39620. <Access>RW</Access>
  39621. </Bit>
  39622. </AssignedBits>
  39623. </Field>
  39624. <Field>
  39625. <Parameters name="XK15" size="0x4" address="0x16C"/>
  39626. <AssignedBits>
  39627. <Bit>
  39628. <Name>XK15</Name>
  39629. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39630. <BitOffset>0x0</BitOffset>
  39631. <BitWidth>0x20</BitWidth>
  39632. <Access>RW</Access>
  39633. </Bit>
  39634. </AssignedBits>
  39635. </Field>
  39636. <Field>
  39637. <Parameters name="XK16" size="0x4" address="0x170"/>
  39638. <AssignedBits>
  39639. <Bit>
  39640. <Name>XK16</Name>
  39641. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39642. <BitOffset>0x0</BitOffset>
  39643. <BitWidth>0x20</BitWidth>
  39644. <Access>RW</Access>
  39645. </Bit>
  39646. </AssignedBits>
  39647. </Field>
  39648. <Field>
  39649. <Parameters name="XK17" size="0x4" address="0x174"/>
  39650. <AssignedBits>
  39651. <Bit>
  39652. <Name>XK17</Name>
  39653. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39654. <BitOffset>0x0</BitOffset>
  39655. <BitWidth>0x20</BitWidth>
  39656. <Access>RW</Access>
  39657. </Bit>
  39658. </AssignedBits>
  39659. </Field>
  39660. <Field>
  39661. <Parameters name="XK18" size="0x4" address="0x178"/>
  39662. <AssignedBits>
  39663. <Bit>
  39664. <Name>XK18</Name>
  39665. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39666. <BitOffset>0x0</BitOffset>
  39667. <BitWidth>0x20</BitWidth>
  39668. <Access>RW</Access>
  39669. </Bit>
  39670. </AssignedBits>
  39671. </Field>
  39672. <Field>
  39673. <Parameters name="XK19" size="0x4" address="0x17C"/>
  39674. <AssignedBits>
  39675. <Bit>
  39676. <Name>XK19</Name>
  39677. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39678. <BitOffset>0x0</BitOffset>
  39679. <BitWidth>0x20</BitWidth>
  39680. <Access>RW</Access>
  39681. </Bit>
  39682. </AssignedBits>
  39683. </Field>
  39684. <Field>
  39685. <Parameters name="XK20" size="0x4" address="0x180"/>
  39686. <AssignedBits>
  39687. <Bit>
  39688. <Name>XK20</Name>
  39689. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39690. <BitOffset>0x0</BitOffset>
  39691. <BitWidth>0x20</BitWidth>
  39692. <Access>RW</Access>
  39693. </Bit>
  39694. </AssignedBits>
  39695. </Field>
  39696. <Field>
  39697. <Parameters name="XK21" size="0x4" address="0x184"/>
  39698. <AssignedBits>
  39699. <Bit>
  39700. <Name>XK21</Name>
  39701. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39702. <BitOffset>0x0</BitOffset>
  39703. <BitWidth>0x20</BitWidth>
  39704. <Access>RW</Access>
  39705. </Bit>
  39706. </AssignedBits>
  39707. </Field>
  39708. <Field>
  39709. <Parameters name="XK22" size="0x4" address="0x188"/>
  39710. <AssignedBits>
  39711. <Bit>
  39712. <Name>XK22</Name>
  39713. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39714. <BitOffset>0x0</BitOffset>
  39715. <BitWidth>0x20</BitWidth>
  39716. <Access>RW</Access>
  39717. </Bit>
  39718. </AssignedBits>
  39719. </Field>
  39720. <Field>
  39721. <Parameters name="XK23" size="0x4" address="0x18C"/>
  39722. <AssignedBits>
  39723. <Bit>
  39724. <Name>XK23</Name>
  39725. <Description>ST Public ECDSA Chip Certificate for SSP</Description>
  39726. <BitOffset>0x0</BitOffset>
  39727. <BitWidth>0x20</BitWidth>
  39728. <Access>RW</Access>
  39729. </Bit>
  39730. </AssignedBits>
  39731. </Field>
  39732. <Field>
  39733. <Parameters name="XK24" size="0x4" address="0x190"/>
  39734. <AssignedBits>
  39735. <Bit>
  39736. <Name>XK24</Name>
  39737. <Description>RMA lock and relock passwords</Description>
  39738. <BitOffset>0x0</BitOffset>
  39739. <BitWidth>0x20</BitWidth>
  39740. <Access>RW</Access>
  39741. </Bit>
  39742. </AssignedBits>
  39743. </Field>
  39744. <Field>
  39745. <Parameters name="XK25" size="0x4" address="0x194"/>
  39746. <AssignedBits>
  39747. <Bit>
  39748. <Name>XK25</Name>
  39749. <Description>OEM OTP secret word</Description>
  39750. <BitOffset>0x0</BitOffset>
  39751. <BitWidth>0x20</BitWidth>
  39752. <Access>RW</Access>
  39753. </Bit>
  39754. </AssignedBits>
  39755. </Field>
  39756. <Field>
  39757. <Parameters name="XK26" size="0x4" address="0x198"/>
  39758. <AssignedBits>
  39759. <Bit>
  39760. <Name>XK26</Name>
  39761. <Description>OEM OTP secret word</Description>
  39762. <BitOffset>0x0</BitOffset>
  39763. <BitWidth>0x20</BitWidth>
  39764. <Access>RW</Access>
  39765. </Bit>
  39766. </AssignedBits>
  39767. </Field>
  39768. <Field>
  39769. <Parameters name="XK27" size="0x4" address="0x19C"/>
  39770. <AssignedBits>
  39771. <Bit>
  39772. <Name>XK27</Name>
  39773. <Description>OEM OTP secret word</Description>
  39774. <BitOffset>0x0</BitOffset>
  39775. <BitWidth>0x20</BitWidth>
  39776. <Access>RW</Access>
  39777. </Bit>
  39778. </AssignedBits>
  39779. </Field>
  39780. <Field>
  39781. <Parameters name="XK28" size="0x4" address="0x1A0"/>
  39782. <AssignedBits>
  39783. <Bit>
  39784. <Name>XK28</Name>
  39785. <Description>OEM OTP secret word</Description>
  39786. <BitOffset>0x0</BitOffset>
  39787. <BitWidth>0x20</BitWidth>
  39788. <Access>RW</Access>
  39789. </Bit>
  39790. </AssignedBits>
  39791. </Field>
  39792. <Field>
  39793. <Parameters name="XK29" size="0x4" address="0x1A4"/>
  39794. <AssignedBits>
  39795. <Bit>
  39796. <Name>XK29</Name>
  39797. <Description>OEM OTP secret word</Description>
  39798. <BitOffset>0x0</BitOffset>
  39799. <BitWidth>0x20</BitWidth>
  39800. <Access>RW</Access>
  39801. </Bit>
  39802. </AssignedBits>
  39803. </Field>
  39804. <Field>
  39805. <Parameters name="XK30" size="0x4" address="0x1A8"/>
  39806. <AssignedBits>
  39807. <Bit>
  39808. <Name>XK30</Name>
  39809. <Description>OEM OTP secret word</Description>
  39810. <BitOffset>0x0</BitOffset>
  39811. <BitWidth>0x20</BitWidth>
  39812. <Access>RW</Access>
  39813. </Bit>
  39814. </AssignedBits>
  39815. </Field>
  39816. <Field>
  39817. <Parameters name="XK31" size="0x4" address="0x1AC"/>
  39818. <AssignedBits>
  39819. <Bit>
  39820. <Name>XK31</Name>
  39821. <Description>OEM OTP secret word</Description>
  39822. <BitOffset>0x0</BitOffset>
  39823. <BitWidth>0x20</BitWidth>
  39824. <Access>RW</Access>
  39825. </Bit>
  39826. </AssignedBits>
  39827. </Field>
  39828. <Field>
  39829. <Parameters name="XK32" size="0x4" address="0x1B0"/>
  39830. <AssignedBits>
  39831. <Bit>
  39832. <Name>XK32</Name>
  39833. <Description>OEM OTP secret word</Description>
  39834. <BitOffset>0x0</BitOffset>
  39835. <BitWidth>0x20</BitWidth>
  39836. <Access>RW</Access>
  39837. </Bit>
  39838. </AssignedBits>
  39839. </Field>
  39840. <Field>
  39841. <Parameters name="XK33" size="0x4" address="0x1B4"/>
  39842. <AssignedBits>
  39843. <Bit>
  39844. <Name>XK33</Name>
  39845. <Description>OEM OTP secret word</Description>
  39846. <BitOffset>0x0</BitOffset>
  39847. <BitWidth>0x20</BitWidth>
  39848. <Access>RW</Access>
  39849. </Bit>
  39850. </AssignedBits>
  39851. </Field>
  39852. <Field>
  39853. <Parameters name="XK34" size="0x4" address="0x1B8"/>
  39854. <AssignedBits>
  39855. <Bit>
  39856. <Name>XK34</Name>
  39857. <Description>OEM OTP secret word</Description>
  39858. <BitOffset>0x0</BitOffset>
  39859. <BitWidth>0x20</BitWidth>
  39860. <Access>RW</Access>
  39861. </Bit>
  39862. </AssignedBits>
  39863. </Field>
  39864. <Field>
  39865. <Parameters name="XK35" size="0x4" address="0x1BC"/>
  39866. <AssignedBits>
  39867. <Bit>
  39868. <Name>XK35</Name>
  39869. <Description>OEM OTP secret word</Description>
  39870. <BitOffset>0x0</BitOffset>
  39871. <BitWidth>0x20</BitWidth>
  39872. <Access>RW</Access>
  39873. </Bit>
  39874. </AssignedBits>
  39875. </Field>
  39876. <Field>
  39877. <Parameters name="XK36" size="0x4" address="0x1C0"/>
  39878. <AssignedBits>
  39879. <Bit>
  39880. <Name>XK36</Name>
  39881. <Description>OEM OTP secret word</Description>
  39882. <BitOffset>0x0</BitOffset>
  39883. <BitWidth>0x20</BitWidth>
  39884. <Access>RW</Access>
  39885. </Bit>
  39886. </AssignedBits>
  39887. </Field>
  39888. <Field>
  39889. <Parameters name="XK37" size="0x4" address="0x1C4"/>
  39890. <AssignedBits>
  39891. <Bit>
  39892. <Name>XK37</Name>
  39893. <Description>OEM OTP secret word</Description>
  39894. <BitOffset>0x0</BitOffset>
  39895. <BitWidth>0x20</BitWidth>
  39896. <Access>RW</Access>
  39897. </Bit>
  39898. </AssignedBits>
  39899. </Field>
  39900. <Field>
  39901. <Parameters name="XK38" size="0x4" address="0x1C8"/>
  39902. <AssignedBits>
  39903. <Bit>
  39904. <Name>XK38</Name>
  39905. <Description>OEM OTP secret word</Description>
  39906. <BitOffset>0x0</BitOffset>
  39907. <BitWidth>0x20</BitWidth>
  39908. <Access>RW</Access>
  39909. </Bit>
  39910. </AssignedBits>
  39911. </Field>
  39912. <Field>
  39913. <Parameters name="XK39" size="0x4" address="0x1CC"/>
  39914. <AssignedBits>
  39915. <Bit>
  39916. <Name>XK39</Name>
  39917. <Description>OEM OTP secret word</Description>
  39918. <BitOffset>0x0</BitOffset>
  39919. <BitWidth>0x20</BitWidth>
  39920. <Access>RW</Access>
  39921. </Bit>
  39922. </AssignedBits>
  39923. </Field>
  39924. <Field>
  39925. <Parameters name="XK40" size="0x4" address="0x1D0"/>
  39926. <AssignedBits>
  39927. <Bit>
  39928. <Name>XK40</Name>
  39929. <Description>OEM OTP secret word</Description>
  39930. <BitOffset>0x0</BitOffset>
  39931. <BitWidth>0x20</BitWidth>
  39932. <Access>RW</Access>
  39933. </Bit>
  39934. </AssignedBits>
  39935. </Field>
  39936. <Field>
  39937. <Parameters name="XK41" size="0x4" address="0x1D4"/>
  39938. <AssignedBits>
  39939. <Bit>
  39940. <Name>XK41</Name>
  39941. <Description>OEM OTP secret word</Description>
  39942. <BitOffset>0x0</BitOffset>
  39943. <BitWidth>0x20</BitWidth>
  39944. <Access>RW</Access>
  39945. </Bit>
  39946. </AssignedBits>
  39947. </Field>
  39948. <Field>
  39949. <Parameters name="XK42" size="0x4" address="0x1D8"/>
  39950. <AssignedBits>
  39951. <Bit>
  39952. <Name>XK42</Name>
  39953. <Description>OEM OTP secret word</Description>
  39954. <BitOffset>0x0</BitOffset>
  39955. <BitWidth>0x20</BitWidth>
  39956. <Access>RW</Access>
  39957. </Bit>
  39958. </AssignedBits>
  39959. </Field>
  39960. <Field>
  39961. <Parameters name="XK43" size="0x4" address="0x1DC"/>
  39962. <AssignedBits>
  39963. <Bit>
  39964. <Name>XK43</Name>
  39965. <Description>OEM OTP secret word</Description>
  39966. <BitOffset>0x0</BitOffset>
  39967. <BitWidth>0x20</BitWidth>
  39968. <Access>RW</Access>
  39969. </Bit>
  39970. </AssignedBits>
  39971. </Field>
  39972. <Field>
  39973. <Parameters name="XK44" size="0x4" address="0x1E0"/>
  39974. <AssignedBits>
  39975. <Bit>
  39976. <Name>XK44</Name>
  39977. <Description>OEM OTP secret word</Description>
  39978. <BitOffset>0x0</BitOffset>
  39979. <BitWidth>0x20</BitWidth>
  39980. <Access>RW</Access>
  39981. </Bit>
  39982. </AssignedBits>
  39983. </Field>
  39984. <Field>
  39985. <Parameters name="XK45" size="0x4" address="0x1E4"/>
  39986. <AssignedBits>
  39987. <Bit>
  39988. <Name>XK45</Name>
  39989. <Description>OEM OTP secret word</Description>
  39990. <BitOffset>0x0</BitOffset>
  39991. <BitWidth>0x20</BitWidth>
  39992. <Access>RW</Access>
  39993. </Bit>
  39994. </AssignedBits>
  39995. </Field>
  39996. <Field>
  39997. <Parameters name="XK46" size="0x4" address="0x1E8"/>
  39998. <AssignedBits>
  39999. <Bit>
  40000. <Name>XK46</Name>
  40001. <Description>OEM OTP secret word</Description>
  40002. <BitOffset>0x0</BitOffset>
  40003. <BitWidth>0x20</BitWidth>
  40004. <Access>RW</Access>
  40005. </Bit>
  40006. </AssignedBits>
  40007. </Field>
  40008. <Field>
  40009. <Parameters name="XK47" size="0x4" address="0x1EC"/>
  40010. <AssignedBits>
  40011. <Bit>
  40012. <Name>XK47</Name>
  40013. <Description>OEM OTP secret word</Description>
  40014. <BitOffset>0x0</BitOffset>
  40015. <BitWidth>0x20</BitWidth>
  40016. <Access>RW</Access>
  40017. </Bit>
  40018. </AssignedBits>
  40019. </Field>
  40020. <Field>
  40021. <Parameters name="XK48" size="0x4" address="0x1F0"/>
  40022. <AssignedBits>
  40023. <Bit>
  40024. <Name>XK48</Name>
  40025. <Description>OEM OTP secret word</Description>
  40026. <BitOffset>0x0</BitOffset>
  40027. <BitWidth>0x20</BitWidth>
  40028. <Access>RW</Access>
  40029. </Bit>
  40030. </AssignedBits>
  40031. </Field>
  40032. <Field>
  40033. <Parameters name="XK49" size="0x4" address="0x1F4"/>
  40034. <AssignedBits>
  40035. <Bit>
  40036. <Name>XK49</Name>
  40037. <Description>OEM OTP secret word</Description>
  40038. <BitOffset>0x0</BitOffset>
  40039. <BitWidth>0x20</BitWidth>
  40040. <Access>RW</Access>
  40041. </Bit>
  40042. </AssignedBits>
  40043. </Field>
  40044. <Field>
  40045. <Parameters name="XK50" size="0x4" address="0x1F8"/>
  40046. <AssignedBits>
  40047. <Bit>
  40048. <Name>XK50</Name>
  40049. <Description>OEM OTP secret word</Description>
  40050. <BitOffset>0x0</BitOffset>
  40051. <BitWidth>0x20</BitWidth>
  40052. <Access>RW</Access>
  40053. </Bit>
  40054. </AssignedBits>
  40055. </Field>
  40056. <Field>
  40057. <Parameters name="XK51" size="0x4" address="0x1FC"/>
  40058. <AssignedBits>
  40059. <Bit>
  40060. <Name>XK51</Name>
  40061. <Description>OEM OTP secret word</Description>
  40062. <BitOffset>0x0</BitOffset>
  40063. <BitWidth>0x20</BitWidth>
  40064. <Access>RW</Access>
  40065. </Bit>
  40066. </AssignedBits>
  40067. </Field>
  40068. <Field>
  40069. <Parameters name="XK52" size="0x4" address="0x200"/>
  40070. <AssignedBits>
  40071. <Bit>
  40072. <Name>XK52</Name>
  40073. <Description>OEM OTP secret word</Description>
  40074. <BitOffset>0x0</BitOffset>
  40075. <BitWidth>0x20</BitWidth>
  40076. <Access>RW</Access>
  40077. </Bit>
  40078. </AssignedBits>
  40079. </Field>
  40080. <Field>
  40081. <Parameters name="XK53" size="0x4" address="0x204"/>
  40082. <AssignedBits>
  40083. <Bit>
  40084. <Name>XK53</Name>
  40085. <Description>OEM OTP secret word</Description>
  40086. <BitOffset>0x0</BitOffset>
  40087. <BitWidth>0x20</BitWidth>
  40088. <Access>RW</Access>
  40089. </Bit>
  40090. </AssignedBits>
  40091. </Field>
  40092. <Field>
  40093. <Parameters name="XK54" size="0x4" address="0x208"/>
  40094. <AssignedBits>
  40095. <Bit>
  40096. <Name>XK54</Name>
  40097. <Description>OEM OTP secret word</Description>
  40098. <BitOffset>0x0</BitOffset>
  40099. <BitWidth>0x20</BitWidth>
  40100. <Access>RW</Access>
  40101. </Bit>
  40102. </AssignedBits>
  40103. </Field>
  40104. <Field>
  40105. <Parameters name="XK55" size="0x4" address="0x20C"/>
  40106. <AssignedBits>
  40107. <Bit>
  40108. <Name>XK55</Name>
  40109. <Description>OEM OTP secret word</Description>
  40110. <BitOffset>0x0</BitOffset>
  40111. <BitWidth>0x20</BitWidth>
  40112. <Access>RW</Access>
  40113. </Bit>
  40114. </AssignedBits>
  40115. </Field>
  40116. <Field>
  40117. <Parameters name="XK56" size="0x4" address="0x210"/>
  40118. <AssignedBits>
  40119. <Bit>
  40120. <Name>XK56</Name>
  40121. <Description>OEM OTP secret word</Description>
  40122. <BitOffset>0x0</BitOffset>
  40123. <BitWidth>0x20</BitWidth>
  40124. <Access>RW</Access>
  40125. </Bit>
  40126. </AssignedBits>
  40127. </Field>
  40128. <Field>
  40129. <Parameters name="XK57" size="0x4" address="0x214"/>
  40130. <AssignedBits>
  40131. <Bit>
  40132. <Name>XK57</Name>
  40133. <Description>OEM OTP secret word</Description>
  40134. <BitOffset>0x0</BitOffset>
  40135. <BitWidth>0x20</BitWidth>
  40136. <Access>RW</Access>
  40137. </Bit>
  40138. </AssignedBits>
  40139. </Field>
  40140. <Field>
  40141. <Parameters name="XK58" size="0x4" address="0x218"/>
  40142. <AssignedBits>
  40143. <Bit>
  40144. <Name>XK58</Name>
  40145. <Description>OEM OTP secret word</Description>
  40146. <BitOffset>0x0</BitOffset>
  40147. <BitWidth>0x20</BitWidth>
  40148. <Access>RW</Access>
  40149. </Bit>
  40150. </AssignedBits>
  40151. </Field>
  40152. <Field>
  40153. <Parameters name="XK59" size="0x4" address="0x21C"/>
  40154. <AssignedBits>
  40155. <Bit>
  40156. <Name>XK59</Name>
  40157. <Description>OEM OTP secret word</Description>
  40158. <BitOffset>0x0</BitOffset>
  40159. <BitWidth>0x20</BitWidth>
  40160. <Access>RW</Access>
  40161. </Bit>
  40162. </AssignedBits>
  40163. </Field>
  40164. <Field>
  40165. <Parameters name="XK60" size="0x4" address="0x220"/>
  40166. <AssignedBits>
  40167. <Bit>
  40168. <Name>XK60</Name>
  40169. <Description>OEM OTP secret word</Description>
  40170. <BitOffset>0x0</BitOffset>
  40171. <BitWidth>0x20</BitWidth>
  40172. <Access>RW</Access>
  40173. </Bit>
  40174. </AssignedBits>
  40175. </Field>
  40176. <Field>
  40177. <Parameters name="XK61" size="0x4" address="0x224"/>
  40178. <AssignedBits>
  40179. <Bit>
  40180. <Name>XK61</Name>
  40181. <Description>OEM OTP secret word</Description>
  40182. <BitOffset>0x0</BitOffset>
  40183. <BitWidth>0x20</BitWidth>
  40184. <Access>RW</Access>
  40185. </Bit>
  40186. </AssignedBits>
  40187. </Field>
  40188. <Field>
  40189. <Parameters name="XK62" size="0x4" address="0x228"/>
  40190. <AssignedBits>
  40191. <Bit>
  40192. <Name>XK62</Name>
  40193. <Description>OEM OTP secret word</Description>
  40194. <BitOffset>0x0</BitOffset>
  40195. <BitWidth>0x20</BitWidth>
  40196. <Access>RW</Access>
  40197. </Bit>
  40198. </AssignedBits>
  40199. </Field>
  40200. <Field>
  40201. <Parameters name="XK63" size="0x4" address="0x22C"/>
  40202. <AssignedBits>
  40203. <Bit>
  40204. <Name>XK63</Name>
  40205. <Description>OEM OTP secret word</Description>
  40206. <BitOffset>0x0</BitOffset>
  40207. <BitWidth>0x20</BitWidth>
  40208. <Access>RW</Access>
  40209. </Bit>
  40210. </AssignedBits>
  40211. </Field>
  40212. <Field>
  40213. <Parameters name="BSEC_HWCFGR" size="0x4" address="0x3F0"/>
  40214. <AssignedBits>
  40215. <Bit>
  40216. <Name>ECC_USE</Name>
  40217. <Description>SAFMEM use ECC for Upper OTP bits. 0x0: No, 0x1: Yes, others: reserved.</Description>
  40218. <BitOffset>0x4</BitOffset>
  40219. <BitWidth>0x4</BitWidth>
  40220. <Access>R</Access>
  40221. </Bit>
  40222. <Bit>
  40223. <Name>SAFMEM_SIZE</Name>
  40224. <Description>SAFMEM size. 0x2: 2KBits, 0x4: 4KBits, 0x8: 8KBits, others: reserved.</Description>
  40225. <BitOffset>0x0</BitOffset>
  40226. <BitWidth>0x4</BitWidth>
  40227. <Access>R</Access>
  40228. </Bit>
  40229. </AssignedBits>
  40230. </Field>
  40231. <Field>
  40232. <Parameters name="BSEC_VER" size="0x4" address="0x3F4"/>
  40233. <AssignedBits>
  40234. <Bit>
  40235. <Name>MAJREV</Name>
  40236. <Description>IP Version major revision information.</Description>
  40237. <BitOffset>0x4</BitOffset>
  40238. <BitWidth>0x4</BitWidth>
  40239. <Access>R</Access>
  40240. </Bit>
  40241. <Bit>
  40242. <Name>MINREV</Name>
  40243. <Description>IP Version minor revision information.</Description>
  40244. <BitOffset>0x0</BitOffset>
  40245. <BitWidth>0x4</BitWidth>
  40246. <Access>R</Access>
  40247. </Bit>
  40248. </AssignedBits>
  40249. </Field>
  40250. <Field>
  40251. <Parameters name="BSEC_ID" size="0x4" address="0x3F8"/>
  40252. <AssignedBits>
  40253. <Bit>
  40254. <Name>ID</Name>
  40255. <Description>IP Identification.</Description>
  40256. <BitOffset>0x0</BitOffset>
  40257. <BitWidth>0x20</BitWidth>
  40258. <Access>R</Access>
  40259. </Bit>
  40260. </AssignedBits>
  40261. </Field>
  40262. <Field>
  40263. <Parameters name="BSEC_SID" size="0x04" address="0x3FC"/>
  40264. <AssignedBits>
  40265. <Bit>
  40266. <Name>ID</Name>
  40267. <Description>IP Magic Identification.</Description>
  40268. <BitOffset>0x0</BitOffset>
  40269. <BitWidth>0x20</BitWidth>
  40270. <Access>R</Access>
  40271. </Bit>
  40272. </AssignedBits>
  40273. </Field>
  40274. </Category>
  40275. </Bank>
  40276. </Peripheral>
  40277. </Peripherals>
  40278. </Device>
  40279. </Root>