DAVE™ SDK Device Explorer
DAVE™ SDK Device Explorer是一个可以让你在开发APP过程中快速查找设备信息的有用工具。它是一个单片机Datasheet的补充,你可以用它查找单片机的外设,管脚,包,来根据它来给出Manifest中resource
group,信号,寄存器位字段的设置。
你可以通过Window → Open Perspective → Other → DeviceExplorer 找到Device Explorer的视图. 打开视图后你要选择一种器件型号,接下来你会看到下面出现关于外设的这一栏目:
之后你可以查找任何一个在这些类别中的resource group 。举例来说,如果我们需要寻找一片CC4 在CCU4的Resource group中,为了知道它的位字段和提供的信号,我们可以如下面方式进行:
在这个例子里,我们只需要按下“CCU40”界面就会自动刷新,接下去我们单击“cc4/0”就会看到对应的片的位子段和信号。就如你所看到的,我们可以展开“cc4/0”它的resource group的URI 会在列表中出现。我们就可以把它复制下来用在manifest里。你也许知道,在单片机里有很多重复的硬件资源,我们使用APP的真正目的是不用去关心特定的硬件资源就可以充分利用它们。为了达到这一目的,我们用“*”或是solver的变量来替代固定的数字。用solver变量的好处是我们可以给它加条件约束在solver分配后可以访问它的值。
// Begin : User APP property section
MVirtualResourceGroup rg_example_resource_group
SolverVariable sv_group
// End : User APP property section
// App Constructor
public APP_NAME(DaveEnv daveEnv) {
sv_group = SolverVariable()
addUriElementRangeConstraint(sv_group, [0,1]) // Only allows groups 0and 1
rg_example_resource_group = MVirtualResourceGroup("Displayname", ["ccu4", sv_group, "cc4", "*"])
在manifest中定义期望的resource group之后,你可以看到你定义的虚拟信号和访问位字段。
虚拟信号可以根据实际情况被其他信号所连接。连接的可能性能在Connect To 和Connect From 表中看到:
你也可以通过manifest 和templates文件来访问寄存器和寄存器的位字段。黑色字体的位字段可以被APP开发者所更改,但红色标注的寄存器只能根据APP用户的配置被solver自动分配。(e.g. 一个寄存器可以控制多路选择器来控制两信号的连接)。你可以在"Registers/Bit-Fields"看到寄存器包含的位字段:
想从寄存器返回值可以用:
MVirtualResourceGroup.getRegValue()
MVirtualResourceGroup.getRegOwnershipMask()
addRegisterBitFieldConstraint()
正确访问寄存器CCR中的HPCEN的方法是:
// Manifest code
// Begin : User APP property section
MVirtualResourceGroup usic_channel
// End : User APP property section
// APP Constructor
public TEST(DaveEnv daveEnv) {
usic_channel = MVirtualResourceGroup("USIC Channel",["peripheral","usic","*","channel","*"])
}
--------------------------------------------------------------------
// Template code
for(def app : appInstancesList)
{
defHPCEN = app.usic_channel.getRegValue("ccr", "ccr_hpcen")
}