| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862 |
- //*****************************************************************************
- //
- // Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
- //
- //
- // Redistribution and use in source and binary forms, with or without
- // modification, are permitted provided that the following conditions
- // are met:
- //
- // Redistributions of source code must retain the above copyright
- // notice, this list of conditions and the following disclaimer.
- //
- // Redistributions in binary form must reproduce the above copyright
- // notice, this list of conditions and the following disclaimer in the
- // documentation and/or other materials provided with the
- // distribution.
- //
- // Neither the name of Texas Instruments Incorporated nor the names of
- // its contributors may be used to endorse or promote products derived
- // from this software without specific prior written permission.
- //
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- //
- //*****************************************************************************
- #ifndef __HW_FLASH_CTRL_H__
- #define __HW_FLASH_CTRL_H__
- //*****************************************************************************
- //
- // The following are defines for the FLASH_CTRL register offsets.
- //
- //*****************************************************************************
- #define FLASH_CTRL_O_FMA 0x00000000 // Flash Memory Address (FMA)
- // offset 0x000 During a write
- // operation this register contains
- // a 4-byte-aligned address and
- // specifies where the data is
- // written. During erase operations
- // this register contains a 1
- // KB-aligned CPU byte address and
- // specifies which block is erased.
- // Note that the alignment
- // requirements must be met by
- // software or the results of the
- // operation are unpredictable.
- #define FLASH_CTRL_O_FMD 0x00000004 // Flash Memory Data (FMD) offset
- // 0x004 This register contains the
- // data to be written during the
- // programming cycle or read during
- // the read cycle. Note that the
- // contents of this register are
- // undefined for a read access of an
- // execute-only block. This register
- // is not used during erase cycles.
- #define FLASH_CTRL_O_FMC 0x00000008 // Flash Memory Control (FMC)
- // offset 0x008 When this register
- // is written the Flash memory
- // controller initiates the
- // appropriate access cycle for the
- // location specified by the Flash
- // Memory Address (FMA) register .
- // If the access is a write access
- // the data contained in the Flash
- // Memory Data (FMD) register is
- // written to the specified address.
- // This register must be the final
- // register written and initiates
- // the memory operation. The four
- // control bits in the lower byte of
- // this register are used to
- // initiate memory operations.
- #define FLASH_CTRL_O_FCRIS 0x0000000C // Flash Controller Raw Interrupt
- // Status (FCRIS) offset 0x00C This
- // register indicates that the Flash
- // memory controller has an
- // interrupt condition. An interrupt
- // is sent to the interrupt
- // controller only if the
- // corresponding FCIM register bit
- // is set.
- #define FLASH_CTRL_O_FCIM 0x00000010 // Flash Controller Interrupt Mask
- // (FCIM) offset 0x010 This register
- // controls whether the Flash memory
- // controller generates interrupts
- // to the controller.
- #define FLASH_CTRL_O_FCMISC 0x00000014 // Flash Controller Masked
- // Interrupt Status and Clear
- // (FCMISC) offset 0x014 This
- // register provides two functions.
- // First it reports the cause of an
- // interrupt by indicating which
- // interrupt source or sources are
- // signalling the interrupt. Second
- // it serves as the method to clear
- // the interrupt reporting.
- #define FLASH_CTRL_O_FMC2 0x00000020 // Flash Memory Control 2 (FMC2)
- // offset 0x020 When this register
- // is written the Flash memory
- // controller initiates the
- // appropriate access cycle for the
- // location specified by the Flash
- // Memory Address (FMA) register .
- // If the access is a write access
- // the data contained in the Flash
- // Write Buffer (FWB) registers is
- // written. This register must be
- // the final register written as it
- // initiates the memory operation.
- #define FLASH_CTRL_O_FWBVAL 0x00000030 // Flash Write Buffer Valid
- // (FWBVAL) offset 0x030 This
- // register provides a bitwise
- // status of which FWBn registers
- // have been written by the
- // processor since the last write of
- // the Flash memory write buffer.
- // The entries with a 1 are written
- // on the next write of the Flash
- // memory write buffer. This
- // register is cleared after the
- // write operation by hardware. A
- // protection violation on the write
- // operation also clears this
- // status. Software can program the
- // same 32 words to various Flash
- // memory locations by setting the
- // FWB[n] bits after they are
- // cleared by the write operation.
- // The next write operation then
- // uses the same data as the
- // previous one. In addition if a
- // FWBn register change should not
- // be written to Flash memory
- // software can clear the
- // corresponding FWB[n] bit to
- // preserve the existing data when
- // the next write operation occurs.
- #define FLASH_CTRL_O_FWB1 0x00000100 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB2 0x00000104 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB3 0x00000108 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB4 0x0000010C // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB5 0x00000110 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB6 0x00000114 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB7 0x00000118 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB8 0x0000011C // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB9 0x00000120 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB10 0x00000124 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB11 0x00000128 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB12 0x0000012C // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB13 0x00000130 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB14 0x00000134 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB15 0x00000138 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB16 0x0000013C // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB17 0x00000140 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB18 0x00000144 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB19 0x00000148 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB20 0x0000014C // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB21 0x00000150 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB22 0x00000154 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB23 0x00000158 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB24 0x0000015C // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB25 0x00000160 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB26 0x00000164 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB27 0x00000168 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB28 0x0000016C // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB29 0x00000170 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB30 0x00000174 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB31 0x00000178 // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FWB32 0x0000017C // Flash Write Buffer n (FWBn)
- // offset 0x100 - 0x17C These 32
- // registers hold the contents of
- // the data to be written into the
- // Flash memory on a buffered Flash
- // memory write operation. The
- // offset selects one of the 32-bit
- // registers. Only FWBn registers
- // that have been updated since the
- // preceding buffered Flash memory
- // write operation are written into
- // the Flash memory so it is not
- // necessary to write the entire
- // bank of registers in order to
- // write 1 or 2 words. The FWBn
- // registers are written into the
- // Flash memory with the FWB0
- // register corresponding to the
- // address contained in FMA. FWB1 is
- // written to the address FMA+0x4
- // etc. Note that only data bits
- // that are 0 result in the Flash
- // memory being modified. A data bit
- // that is 1 leaves the content of
- // the Flash memory bit at its
- // previous value.
- #define FLASH_CTRL_O_FSIZE 0x00000FC0 // Flash Size (FSIZE) offset 0xFC0
- // This register indicates the size
- // of the on-chip Flash memory.
- // Important: This register should
- // be used to determine the size of
- // the Flash memory that is
- // implemented on this
- // microcontroller. However to
- // support legacy software the DC0
- // register is available. A read of
- // the DC0 register correctly
- // identifies legacy memory sizes.
- // Software must use the FSIZE
- // register for memory sizes that
- // are not listed in the DC0
- // register description.
- #define FLASH_CTRL_O_SSIZE 0x00000FC4 // SRAM Size (SSIZE) offset 0xFC4
- // This register indicates the size
- // of the on-chip SRAM. Important:
- // This register should be used to
- // determine the size of the SRAM
- // that is implemented on this
- // microcontroller. However to
- // support legacy software the DC0
- // register is available. A read of
- // the DC0 register correctly
- // identifies legacy memory sizes.
- // Software must use the SSIZE
- // register for memory sizes that
- // are not listed in the DC0
- // register description.
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FMA register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FMA_OFFSET_M 0x0003FFFF // Address Offset Address offset in
- // Flash memory where operation is
- // performed except for nonvolatile
- // registers
- #define FLASH_CTRL_FMA_OFFSET_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FMD register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FMD_DATA_M 0xFFFFFFFF // Data Value Data value for write
- // operation.
- #define FLASH_CTRL_FMD_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FMC register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FMC_WRKEY_M 0xFFFF0000 // Flash Memory Write Key This
- // field contains a write key which
- // is used to minimize the incidence
- // of accidental Flash memory
- // writes. The value 0xA442 must be
- // written into this field for a
- // Flash memory write to occur.
- // Writes to the FMC register
- // without this WRKEY value are
- // ignored. A read of this field
- // returns the value 0.
- #define FLASH_CTRL_FMC_WRKEY_S 16
- #define FLASH_CTRL_FMC_COMT 0x00000008 // Commit Register Value This bit
- // is used to commit writes to
- // Flash-memory-resident registers
- // and to monitor the progress of
- // that process. Value Description 1
- // Set this bit to commit (write)
- // the register value to a
- // Flash-memory-resident register.
- // When read a 1 indicates that the
- // previous commit access is not
- // complete. 0 A write of 0 has no
- // effect on the state of this bit.
- // When read a 0 indicates that the
- // previous commit access is
- // complete.
- #define FLASH_CTRL_FMC_MERASE1 0x00000004 // Mass Erase Flash Memory This bit
- // is used to mass erase the Flash
- // main memory and to monitor the
- // progress of that process. Value
- // Description 1 Set this bit to
- // erase the Flash main memory. When
- // read a 1 indicates that the
- // previous mass erase access is not
- // complete. 0 A write of 0 has no
- // effect on the state of this bit.
- // When read a 0 indicates that the
- // previous mass erase access is
- // complete.
- #define FLASH_CTRL_FMC_ERASE 0x00000002 // Erase a Page of Flash Memory
- // This bit is used to erase a page
- // of Flash memory and to monitor
- // the progress of that process.
- // Value Description 1 Set this bit
- // to erase the Flash memory page
- // specified by the contents of the
- // FMA register. When read a 1
- // indicates that the previous page
- // erase access is not complete. 0 A
- // write of 0 has no effect on the
- // state of this bit. When read a 0
- // indicates that the previous page
- // erase access is complete.
- #define FLASH_CTRL_FMC_WRITE 0x00000001 // Write a Word into Flash Memory
- // This bit is used to write a word
- // into Flash memory and to monitor
- // the progress of that process.
- // Value Description 1 Set this bit
- // to write the data stored in the
- // FMD register into the Flash
- // memory location specified by the
- // contents of the FMA register.
- // When read a 1 indicates that the
- // write update access is not
- // complete. 0 A write of 0 has no
- // effect on the state of this bit.
- // When read a 0 indicates that the
- // previous write update access is
- // complete.
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FCRIS register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FCRIS_PROGRIS \
- 0x00002000 // Program Verify Error Raw
- // Interrupt Status Value
- // Description 1 An interrupt is
- // pending because the verify of a
- // PROGRAM operation failed. 0 An
- // interrupt has not occurred. This
- // bit is cleared by writing a 1 to
- // the PROGMISC bit in the FCMISC
- // register.
- #define FLASH_CTRL_FCRIS_ERRIS 0x00000800 // Erase Verify Error Raw Interrupt
- // Status Value Description 1 An
- // interrupt is pending because the
- // verify of an ERASE operation
- // failed. 0 An interrupt has not
- // occurred. This bit is cleared by
- // writing a 1 to the ERMISC bit in
- // the FCMISC register.
- #define FLASH_CTRL_FCRIS_INVDRIS \
- 0x00000400 // Invalid Data Raw Interrupt
- // Status Value Description 1 An
- // interrupt is pending because a
- // bit that was previously
- // programmed as a 0 is now being
- // requested to be programmed as a
- // 1. 0 An interrupt has not
- // occurred. This bit is cleared by
- // writing a 1 to the INVMISC bit in
- // the FCMISC register.
- #define FLASH_CTRL_FCRIS_VOLTRIS \
- 0x00000200 // Pump Voltage Raw Interrupt
- // Status Value Description 1 An
- // interrupt is pending because the
- // regulated voltage of the pump
- // went out of spec during the Flash
- // operation and the operation was
- // terminated. 0 An interrupt has
- // not occurred. This bit is cleared
- // by writing a 1 to the VOLTMISC
- // bit in the FCMISC register.
- #define FLASH_CTRL_FCRIS_ERIS 0x00000004 // EEPROM Raw Interrupt Status This
- // bit provides status EEPROM
- // operation. Value Description 1 An
- // EEPROM interrupt has occurred. 0
- // An EEPROM interrupt has not
- // occurred. This bit is cleared by
- // writing a 1 to the EMISC bit in
- // the FCMISC register.
- #define FLASH_CTRL_FCRIS_PRIS 0x00000002 // Programming Raw Interrupt Status
- // This bit provides status on
- // programming cycles which are
- // write or erase actions generated
- // through the FMC or FMC2 register
- // bits (see page 537 and page 549).
- // Value Description 1 The
- // programming or erase cycle has
- // completed. 0 The programming or
- // erase cycle has not completed.
- // This status is sent to the
- // interrupt controller when the
- // PMASK bit in the FCIM register is
- // set. This bit is cleared by
- // writing a 1 to the PMISC bit in
- // the FCMISC register.
- #define FLASH_CTRL_FCRIS_ARIS 0x00000001 // Access Raw Interrupt Status
- // Value Description 1 A program or
- // erase action was attempted on a
- // block of Flash memory that
- // contradicts the protection policy
- // for that block as set in the
- // FMPPEn registers. 0 No access has
- // tried to improperly program or
- // erase the Flash memory. This
- // status is sent to the interrupt
- // controller when the AMASK bit in
- // the FCIM register is set. This
- // bit is cleared by writing a 1 to
- // the AMISC bit in the FCMISC
- // register.
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FCIM register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FCIM_ILLMASK 0x00004000 // Illegal Address Interrupt Mask
- // Value Description 1 An interrupt
- // is sent to the interrupt
- // controller when the ILLARIS bit
- // is set. 0 The ILLARIS interrupt
- // is suppressed and not sent to the
- // interrupt controller.
- #define FLASH_CTRL_FCIM_PROGMASK \
- 0x00002000 // PROGVER Interrupt Mask Value
- // Description 1 An interrupt is
- // sent to the interrupt controller
- // when the PROGRIS bit is set. 0
- // The PROGRIS interrupt is
- // suppressed and not sent to the
- // interrupt controller.
- #define FLASH_CTRL_FCIM_PREMASK 0x00001000 // PREVER Interrupt Mask Value
- // Description 1 An interrupt is
- // sent to the interrupt controller
- // when the PRERIS bit is set. 0 The
- // PRERIS interrupt is suppressed
- // and not sent to the interrupt
- // controller.
- #define FLASH_CTRL_FCIM_ERMASK 0x00000800 // ERVER Interrupt Mask Value
- // Description 1 An interrupt is
- // sent to the interrupt controller
- // when the ERRIS bit is set. 0 The
- // ERRIS interrupt is suppressed and
- // not sent to the interrupt
- // controller.
- #define FLASH_CTRL_FCIM_INVDMASK \
- 0x00000400 // Invalid Data Interrupt Mask
- // Value Description 1 An interrupt
- // is sent to the interrupt
- // controller when the INVDRIS bit
- // is set. 0 The INVDRIS interrupt
- // is suppressed and not sent to the
- // interrupt controller.
- #define FLASH_CTRL_FCIM_VOLTMASK \
- 0x00000200 // VOLT Interrupt Mask Value
- // Description 1 An interrupt is
- // sent to the interrupt controller
- // when the VOLTRIS bit is set. 0
- // The VOLTRIS interrupt is
- // suppressed and not sent to the
- // interrupt controller.
- #define FLASH_CTRL_FCIM_LOCKMASK \
- 0x00000100 // LOCK Interrupt Mask Value
- // Description 1 An interrupt is
- // sent to the interrupt controller
- // when the LOCKRIS bit is set. 0
- // The LOCKRIS interrupt is
- // suppressed and not sent to the
- // interrupt controller.
- #define FLASH_CTRL_FCIM_EMASK 0x00000004 // EEPROM Interrupt Mask Value
- // Description 1 An interrupt is
- // sent to the interrupt controller
- // when the ERIS bit is set. 0 The
- // ERIS interrupt is suppressed and
- // not sent to the interrupt
- // controller.
- #define FLASH_CTRL_FCIM_PMASK 0x00000002 // Programming Interrupt Mask This
- // bit controls the reporting of the
- // programming raw interrupt status
- // to the interrupt controller.
- // Value Description 1 An interrupt
- // is sent to the interrupt
- // controller when the PRIS bit is
- // set. 0 The PRIS interrupt is
- // suppressed and not sent to the
- // interrupt controller.
- #define FLASH_CTRL_FCIM_AMASK 0x00000001 // Access Interrupt Mask This bit
- // controls the reporting of the
- // access raw interrupt status to
- // the interrupt controller. Value
- // Description 1 An interrupt is
- // sent to the interrupt controller
- // when the ARIS bit is set. 0 The
- // ARIS interrupt is suppressed and
- // not sent to the interrupt
- // controller.
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FCMISC register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FCMISC_ILLMISC \
- 0x00004000 // Illegal Address Masked Interrupt
- // Status and Clear Value
- // Description 1 When read a 1
- // indicates that an unmasked
- // interrupt was signaled. Writing a
- // 1 to this bit clears ILLAMISC and
- // also the ILLARIS bit in the FCRIS
- // register (see page 540). 0 When
- // read a 0 indicates that an
- // interrupt has not occurred. A
- // write of 0 has no effect on the
- // state of this bit.
- #define FLASH_CTRL_FCMISC_PROGMISC \
- 0x00002000 // PROGVER Masked Interrupt Status
- // and Clear Value Description 1
- // When read a 1 indicates that an
- // unmasked interrupt was signaled.
- // Writing a 1 to this bit clears
- // PROGMISC and also the PROGRIS bit
- // in the FCRIS register (see page
- // 540). 0 When read a 0 indicates
- // that an interrupt has not
- // occurred. A write of 0 has no
- // effect on the state of this bit.
- #define FLASH_CTRL_FCMISC_PREMISC \
- 0x00001000 // PREVER Masked Interrupt Status
- // and Clear Value Description 1
- // When read a 1 indicates that an
- // unmasked interrupt was signaled.
- // Writing a 1 to this bit clears
- // PREMISC and also the PRERIS bit
- // in the FCRIS register . 0 When
- // read a 0 indicates that an
- // interrupt has not occurred. A
- // write of 0 has no effect on the
- // state of this bit.
- #define FLASH_CTRL_FCMISC_ERMISC \
- 0x00000800 // ERVER Masked Interrupt Status
- // and Clear Value Description 1
- // When read a 1 indicates that an
- // unmasked interrupt was signaled.
- // Writing a 1 to this bit clears
- // ERMISC and also the ERRIS bit in
- // the FCRIS register 0 When read a
- // 0 indicates that an interrupt has
- // not occurred. A write of 0 has no
- // effect on the state of this bit.
- #define FLASH_CTRL_FCMISC_INVDMISC \
- 0x00000400 // Invalid Data Masked Interrupt
- // Status and Clear Value
- // Description 1 When read a 1
- // indicates that an unmasked
- // interrupt was signaled. Writing a
- // 1 to this bit clears INVDMISC and
- // also the INVDRIS bit in the FCRIS
- // register (see page 540). 0 When
- // read a 0 indicates that an
- // interrupt has not occurred. A
- // write of 0 has no effect on the
- // state of this bit.
- #define FLASH_CTRL_FCMISC_VOLTMISC \
- 0x00000200 // VOLT Masked Interrupt Status and
- // Clear Value Description 1 When
- // read a 1 indicates that an
- // unmasked interrupt was signaled.
- // Writing a 1 to this bit clears
- // VOLTMISC and also the VOLTRIS bit
- // in the FCRIS register (see page
- // 540). 0 When read a 0 indicates
- // that an interrupt has not
- // occurred. A write of 0 has no
- // effect on the state of this bit.
- #define FLASH_CTRL_FCMISC_LOCKMISC \
- 0x00000100 // LOCK Masked Interrupt Status and
- // Clear Value Description 1 When
- // read a 1 indicates that an
- // unmasked interrupt was signaled.
- // Writing a 1 to this bit clears
- // LOCKMISC and also the LOCKRIS bit
- // in the FCRIS register (see page
- // 540). 0 When read a 0 indicates
- // that an interrupt has not
- // occurred. A write of 0 has no
- // effect on the state of this bit.
- #define FLASH_CTRL_FCMISC_EMISC 0x00000004 // EEPROM Masked Interrupt Status
- // and Clear Value Description 1
- // When read a 1 indicates that an
- // unmasked interrupt was signaled.
- // Writing a 1 to this bit clears
- // EMISC and also the ERIS bit in
- // the FCRIS register 0 When read a
- // 0 indicates that an interrupt has
- // not occurred. A write of 0 has no
- // effect on the state of this bit.
- #define FLASH_CTRL_FCMISC_PMISC 0x00000002 // Programming Masked Interrupt
- // Status and Clear Value
- // Description 1 When read a 1
- // indicates that an unmasked
- // interrupt was signaled because a
- // programming cycle completed.
- // Writing a 1 to this bit clears
- // PMISC and also the PRIS bit in
- // the FCRIS register 0 When read a
- // 0 indicates that a programming
- // cycle complete interrupt has not
- // occurred. A write of 0 has no
- // effect on the state of this bit.
- #define FLASH_CTRL_FCMISC_AMISC 0x00000001 // Access Masked Interrupt Status
- // and Clear Value Description 1
- // When read a 1 indicates that an
- // unmasked interrupt was signaled
- // because a program or erase action
- // was attempted on a block of Flash
- // memory that contradicts the
- // protection policy for that block
- // as set in the FMPPEn registers.
- // Writing a 1 to this bit clears
- // AMISC and also the ARIS bit in
- // the FCRIS register 0 When read a
- // 0 indicates that no improper
- // accesses have occurred. A write
- // of 0 has no effect on the state
- // of this bit.
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FMC2 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FMC2_WRKEY_M 0xFFFF0000 // Flash Memory Write Key This
- // field contains a write key which
- // is used to minimize the incidence
- // of accidental Flash memory
- // writes. The value 0xA442 must be
- // written into this field for a
- // write to occur. Writes to the
- // FMC2 register without this WRKEY
- // value are ignored. A read of this
- // field returns the value 0.
- #define FLASH_CTRL_FMC2_WRKEY_S 16
- #define FLASH_CTRL_FMC2_WRBUF 0x00000001 // Buffered Flash Memory Write This
- // bit is used to start a buffered
- // write to Flash memory. Value
- // Description 1 Set this bit to
- // write the data stored in the FWBn
- // registers to the location
- // specified by the contents of the
- // FMA register. When read a 1
- // indicates that the previous
- // buffered Flash memory write
- // access is not complete. 0 A write
- // of 0 has no effect on the state
- // of this bit. When read a 0
- // indicates that the previous
- // buffered Flash memory write
- // access is complete.
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWBVAL register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWBVAL_FWBN_M \
- 0xFFFFFFFF // Flash Memory Write Buffer Value
- // Description 1 The corresponding
- // FWBn register has been updated
- // since the last buffer write
- // operation and is ready to be
- // written to Flash memory. 0 The
- // corresponding FWBn register has
- // no new data to be written. Bit 0
- // corresponds to FWB0 offset 0x100
- // and bit 31 corresponds to FWB31
- // offset 0x13C.
- #define FLASH_CTRL_FWBVAL_FWBN_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FWB1 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB1_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB1_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FWB2 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB2_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB2_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FWB3 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB3_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB3_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FWB4 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB4_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB4_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FWB5 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB5_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB5_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FWB6 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB6_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB6_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FWB7 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB7_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB7_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FWB8 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB8_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB8_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the FLASH_CTRL_O_FWB9 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB9_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB9_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB10 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB10_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB10_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB11 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB11_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB11_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB12 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB12_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB12_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB13 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB13_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB13_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB14 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB14_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB14_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB15 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB15_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB15_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB16 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB16_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB16_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB17 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB17_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB17_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB18 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB18_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB18_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB19 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB19_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB19_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB20 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB20_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB20_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB21 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB21_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB21_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB22 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB22_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB22_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB23 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB23_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB23_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB24 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB24_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB24_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB25 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB25_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB25_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB26 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB26_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB26_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB27 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB27_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB27_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB28 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB28_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB28_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB29 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB29_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB29_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB30 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB30_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB30_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB31 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB31_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB31_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FWB32 register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FWB32_DATA_M 0xFFFFFFFF // Data Data to be written into the
- // Flash memory.
- #define FLASH_CTRL_FWB32_DATA_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_FSIZE register.
- //
- //******************************************************************************
- #define FLASH_CTRL_FSIZE_SIZE_M 0x0000FFFF // Flash Size Indicates the size of
- // the on-chip Flash memory. Value
- // Description 0x0003 8 KB of Flash
- // 0x0007 16 KB of Flash 0x000F 32
- // KB of Flash 0x001F 64 KB of Flash
- // 0x002F 96 KB of Flash 0x003F 128
- // KB of Flash 0x005F 192 KB of
- // Flash 0x007F 256 KB of Flash
- #define FLASH_CTRL_FSIZE_SIZE_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // FLASH_CTRL_O_SSIZE register.
- //
- //******************************************************************************
- #define FLASH_CTRL_SSIZE_SRAM_SIZE_M \
- 0x0000FFFF // SRAM Size Indicates the size of
- // the on-chip SRAM. Value
- // Description 0x0007 2 KB of SRAM
- // 0x000F 4 KB of SRAM 0x0017 6 KB
- // of SRAM 0x001F 8 KB of SRAM
- // 0x002F 12 KB of SRAM 0x003F 16 KB
- // of SRAM 0x004F 20 KB of SRAM
- // 0x005F 24 KB of SRAM 0x007F 32 KB
- // of SRAM
- #define FLASH_CTRL_SSIZE_SRAM_SIZE_S 0
- #define FLASH_CTRL_FMC_WRKEY 0xA4420000 // FLASH write key
- #define FLASH_CTRL_FMC2_WRKEY 0xA4420000 // FLASH write key
- #define FLASH_CTRL_O_FWBN FLASH_CTRL_O_FWB1
- #define FLASH_ERASE_SIZE 0x00000400
- #define FLASH_PROTECT_SIZE 0x00000800
- #define FLASH_FMP_BLOCK_0 0x00000001 // Enable for block 0
- #define FLASH_FMPRE0 0x400FE200 // Flash Memory Protection Read
- // Enable 0
- #define FLASH_FMPRE1 0x400FE204 // Flash Memory Protection Read
- // Enable 1
- #define FLASH_FMPRE2 0x400FE208 // Flash Memory Protection Read
- // Enable 2
- #define FLASH_FMPRE3 0x400FE20C // Flash Memory Protection Read
- // Enable 3
- #define FLASH_FMPRE4 0x400FE210 // Flash Memory Protection Read
- // Enable 4
- #define FLASH_FMPRE5 0x400FE214 // Flash Memory Protection Read
- // Enable 5
- #define FLASH_FMPRE6 0x400FE218 // Flash Memory Protection Read
- // Enable 6
- #define FLASH_FMPRE7 0x400FE21C // Flash Memory Protection Read
- // Enable 7
- #define FLASH_FMPRE8 0x400FE220 // Flash Memory Protection Read
- // Enable 8
- #define FLASH_FMPRE9 0x400FE224 // Flash Memory Protection Read
- // Enable 9
- #define FLASH_FMPRE10 0x400FE228 // Flash Memory Protection Read
- // Enable 10
- #define FLASH_FMPRE11 0x400FE22C // Flash Memory Protection Read
- // Enable 11
- #define FLASH_FMPRE12 0x400FE230 // Flash Memory Protection Read
- // Enable 12
- #define FLASH_FMPRE13 0x400FE234 // Flash Memory Protection Read
- // Enable 13
- #define FLASH_FMPRE14 0x400FE238 // Flash Memory Protection Read
- // Enable 14
- #define FLASH_FMPRE15 0x400FE23C // Flash Memory Protection Read
- // Enable 15
- #define FLASH_FMPPE0 0x400FE400 // Flash Memory Protection Program
- // Enable 0
- #define FLASH_FMPPE1 0x400FE404 // Flash Memory Protection Program
- // Enable 1
- #define FLASH_FMPPE2 0x400FE408 // Flash Memory Protection Program
- // Enable 2
- #define FLASH_FMPPE3 0x400FE40C // Flash Memory Protection Program
- // Enable 3
- #define FLASH_FMPPE4 0x400FE410 // Flash Memory Protection Program
- // Enable 4
- #define FLASH_FMPPE5 0x400FE414 // Flash Memory Protection Program
- // Enable 5
- #define FLASH_FMPPE6 0x400FE418 // Flash Memory Protection Program
- // Enable 6
- #define FLASH_FMPPE7 0x400FE41C // Flash Memory Protection Program
- // Enable 7
- #define FLASH_FMPPE8 0x400FE420 // Flash Memory Protection Program
- // Enable 8
- #define FLASH_FMPPE9 0x400FE424 // Flash Memory Protection Program
- // Enable 9
- #define FLASH_FMPPE10 0x400FE428 // Flash Memory Protection Program
- // Enable 10
- #define FLASH_FMPPE11 0x400FE42C // Flash Memory Protection Program
- // Enable 11
- #define FLASH_FMPPE12 0x400FE430 // Flash Memory Protection Program
- // Enable 12
- #define FLASH_FMPPE13 0x400FE434 // Flash Memory Protection Program
- // Enable 13
- #define FLASH_FMPPE14 0x400FE438 // Flash Memory Protection Program
- // Enable 14
- #define FLASH_FMPPE15 0x400FE43C // Flash Memory Protection Program
- // Enable 15
- #define FLASH_USECRL 0x400FE140 // USec Reload
- #define FLASH_CTRL_ERASE_SIZE 0x00000400
- #endif // __HW_FLASH_CTRL_H__
|