> On Sep 9, 2015, at 12:28 AM, 王晓峰 <winggundu...@163.com> wrote: > > Dear PCD module owner, > I have meet an assert in PCDDXE UDK2014 revision. The Assert happens when > PCDdxe initlize. > ASSERT e:\code\MdeModulePkg\Universal\PCD\Dxe\Service.c(1137): TokenNumber + > 1 < mPcdTotalTokenCount + 1 > it seems that build tool automatically generate PEI and DXE token number > account , but what's the algorithm for this mPcdTotalTokenCount ? > Which part should I check that may be wrong? > >
I’ve never seen this failure. I would guess you have some code doing a a call to the PCD Protocol to SET a PCD value and it is not valid from the PCD drivers database point of view. https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Protocol/Pcd.h <https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Protocol/Pcd.h> The protocol may be abstracted by a library call: https://github.com/tianocore/edk2/tree/master/MdePkg/Library/DxePcdLib <https://github.com/tianocore/edk2/tree/master/MdePkg/Library/DxePcdLib> You can only used the build generated tokens for a platform that was compiled together in a single build. If you have other modules they need to use the Ex form that uses a GUID and fixed token number. The build generated tokens only exist to save space when all the code is compiled together. Thanks, Andrew Fish > > > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.01.org_mailman_listinfo_edk2-2Ddevel&d=BQICAg&c=eEvniauFctOgLOKGJOplqw&r=1HnUuXD1wDvw67rut5_idw&m=Siy1WxHhaKOPlzUkx39CZuK_LN9QKHhZI3MnlF94MMQ&s=zNEWtbblF0A_50mppbQ1ugbmQTYIEJiV5TaAYuGVxUE&e= > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel