readyMASK

readyMASK is used in the component code-generation script (.drv) to identify supported derivatives and supported peripherals by the component and the component script.

%- readyMASK families={F}[,..] [CPUDBversion>={V.VV.VVV}]
peripherals={P}[,{P},...] [special_reg={SR}] [not_special_reg={SR}] 
[special_CPU_reg={SR}] [numOfPrphInstances>={NumInst}]

%- notreadyMASK families={F} [subfamily={S}] 
[cpu_components={C}[,...]] peripherals={P}[,...]

%- notreadyMASK families={F} [subfamily={S}] 
[cpu_components={C}[,...]] peripherals={P}[,...]

%- notreadyMASK families={F} [subfamily={S}] 
[cpu_components={C}[,...]] peripherals={P}[,...]

Where, {F} is identifier of Processor family from CPUDB; {S} is identifier of Processor subfamily from CPUDB;

{C} is identifier/mask of Processor component, mask can be specified using * and ? wildcards;

{V.VV.VVV} is version of CPUDB database for compare, it is not necessary to specify complete version number, for example CPUDBversion>=3 can be used as well;

{P} is name of the peripheral from CPUDB, that is required for functionality of the component; it is not allowed to use peripheral names, that are not supported on any processor,

{SR} is an identifier of special register (function), that is required (or conflicting) to be assigned to the peripherals (for example: it must be used for EventCounter component, which can allocate only counter, that contains external clock pin - so peripheral name is not sufficient, it is necessary to specify extra functionality); if both special_reg and not_special_reg are used, so the peripheral must contain the first special register and may not contain the second special register; special_CPU_reg is used to specify required register in CPU peripheral.

{NumInst} decimal integer number specifying minimal number of peripheral instances; user-case: should be used for Byte2/3/4IO components that require at least 2/3/4 port instances

readyMASK is used to specify list of Processor components and peripherals, which are supported by the component, while notreadyMASK is used to specify exceptions (what is not supported yet). It is expected, that notreadyMASK will be used only as an exceptional or temporary solution.

Listing: Example
%- readyMASK families=HCS08,ColdFireV1,RS08 CPUDBversion>=3 
peripherals=PTA,PTB,PTC
%- readyMASK families=RS08 peripherals=TPM 
special_reg=PE_PRPHREQ_EVENTCOUNTER