我看到MCSDK中有一下几种用来操纵外设的库:CSL, LLD, Platform, 还有就论坛中提供的keystone的一些*.c文件,里面有一些用来操纵外设的函数。
对于这些库之间的关系,我的理解是这样的,不知道对不对:
CSL:最基本的库,用来直接操纵外设
LLD:可以认为是建立在CSL上面,但是添加了多核共享资源的一些互斥机制
platform:主要针对开发板上的各种片外资源,以及一些片上接口
keystone:和csl类似,但是提供了csl中没有提供的外设api
不知道这样理解对不对
littleWhite:
回复 Allen35065:
谢谢,我指的keystone是只论坛置顶帖子里面cifae_KI_STK_Deyi的一个开发包,里面有很多keystone打头命名的。c和.h文件。请问这个开发包里面的很多外设的库是csl的补充吗?为什么csl没有提供所有的外设库呢
Allen35065:
回复 littleWhite:
CSL库只是对外设寄存器的封装,便于操作而已,但具体怎么做初始化的流程并没有涉及,所以STK给你提供了一个示范。
Andy Yin1:
回复 littleWhite:
csl提供的是最底层寄存器基本的操作,LLD及基于CSL封装的上层驱动,可以屏蔽应用对寄存器的认知,stk中提供的驱动与LLD是同一级别的,进行了封装更加便于应用。