这个示例展示了如何为虚构的ACME Zynq-7000板开发目标。方法创建目标手臂®皮质®- 作为参考的目标。
新目标将支持ACME Zynq-7000金宝app董事会。对于这两个板,将使用使用Linaro Toolchain 4.9的新部署器。其他特性从参考目标中使用。
对于测试,目标将使用arm cortex.-A (QEMU)仿真器,来自参考文献,具有与ACME Zynq-7000板相同的功能。
新目标的硬件特性映射如下表所示。
的名字 | 硬件 | |
---|---|---|
ACME Cortex-A (QEMU) 从参考 |
ACME zynq - 7000 新的 |
|
部署者:Acme Linaro 4.9 |
新的 |
新的 |
Scheduler:Linux. |
从参考 |
从参考 |
公益诉讼:以太网 |
从参考 |
从参考 |
外部模式:以太网 |
从参考 |
从参考 |
Profiler:Linux. |
从参考 |
从参考 |
识别引用目标,名称新目标,并在指定的根文件夹中创建框架。
referenceTargetName =“胳膊Cortex-A”;mynewtargetname =“ACME Zynq硬件的目标”;mynewtargetrootfolder ='c:/ acmezynq';mynewtarget = createTarget(MyNewTargetName,ReferenceTargetName,MyNewTargetRootFolder,'初始化');
定义要支持的硬件。金宝app
myNewHardware1 = getHardware (myNewTarget,'映射');setDisplayName (myNewTarget myNewHardware1,“ACME Cortex A QEMU”);mynewhardwarename2 =“ACME第1号板”;myNewHardware2 = createHardware (myNewHardwareName2);myNewHardware2。的DeviceID ='ARM Cortex-A9';ioInterfacename ='Acme Zynq 7000板以太网';EthernetInterface = AddNewethernetInterface(MyNewHardWare2,IoInterfaceName);EthernetInterface.ipAddress =.“121.101.101.11”;ethernetInterface。端口= 17745;地图(myNewTarget myNewHardware2,ACME Zynq 7000 Board);
定义新的特性配置。
deployername =“ACME Linaro 4.9”;myNewDeployer = addNewDeployer (myNewTarget deployerName);toolchainName =“Linaro工具链4.9”;myNewToolchain = addNewToolchain (myNewDeployer toolchainName);myNewLoader = myNewDeployer.addNewLoader (“ACME Zynq-7000 Board Loader”);myNewLoader。LoadCommand =“MATLAB: acmesofttarget.internal.downloadandrun”;
使用支持的硬件的新特性配置。金宝app首先,重新映射部署器,然后获取功能,然后再次重新映射Deployer。
referenceDeployer = getDeployer (myNewTarget,'映射', myNewHardware1);的映射(myNewTarget referenceDeployer);地图(myNewTarget myNewHardware1 myNewDeployer);
使用现有的操作系统,分析器,外部模式和支持硬件的PIL功能。金宝app
ReferenceS = GetOperatingystem(MyNewtarget,'映射', myNewHardware1);referenceProfiler = getProfiler (myNewTarget,'映射', myNewHardware1);地图(myNewTarget myNewHardware2 [{myNewDeployer}, referenceOS referenceProfiler]);referenceExternalmode = getExternalMode (myNewTarget,'映射', myNewHardware1);地图(MyNewtarget,MyNewHardware2,ReferenceExternalMode,'Acme Zynq 7000板以太网');ReferencePil = GetPil(MyNewtarget,'映射', myNewHardware1);地图(myNewTarget myNewHardware2 referencePIL,'Acme Zynq 7000板以太网');
从新目标取消对引用部署器的映射。您不希望为新支持的硬件使用参考目标的特性配置。金宝app
referenceDeployer = getDeployer (myNewTarget,'名称','linaro 4.8');的映射(myNewTarget referenceDeployer);
保存新目标。
saveTarget (myNewTarget);
此示例显示如何为两个虚构的Altera开发目标®董事会。您可以使用arm cortex.- 作为参考的目标。
目标将支持ABC-ALTZ32和金宝appABC-ALTZ120板。对于这两个板,将使用参考目标中定义的部署器并使用Linaro Toolchain 4.8。操作系统、PIL、外部模式和分析器特性将由目标自身定义,并用于两个模块。
新目标的硬件特性映射如下表所示。
的名字 | 硬件 | |
---|---|---|
ABC-ALTZ32董事会 新的 |
ABC-ALTZ120董事会 新的 |
|
部署者:用于ARM嵌入式处理器的GNU工具 |
从参考 |
从参考 |
调度程序:ACME SysTick调度程序 |
新的 |
新的 |
PIL:我的以太PIL |
新的 |
新的 |
外部模式:我的以太网外部模式 |
新的 |
新的 |
识别引用目标,名称新目标,并在指定的根文件夹中创建框架。
referenceTargetName =“胳膊Cortex-A”;mynewtargetname =ABC Ventures Altera董事会的目标;mynewtargetrootfolder =“c: / abcaltera”;mynewtarget = createTarget(MyNewTargetName,ReferenceTargetName,MyNewTargetRootFolder);
定义要支持的硬件。金宝app
myNewHardwareName1 ='abc-altz32';myNewHardware1 = createHardware (myNewHardwareName1);myNewHardware1。的DeviceID ='ARM Cortex-A9';ioInterfacename =“我的以太网连接1”;EthernetInterface1 = AddNewethernetFace(MyNewHardWare1,IoInterfaceName);EthernetInterface1.ipaddress =.“121.101.101.11”;ethernetInterface1。端口= 17745;地图(myNewTarget myNewHardware1,'ABC Ventures ABC ALTZ32董事会');mynewhardwarename2 =“ABC ALTZ120”;myNewHardware2 = createHardware (myNewHardwareName2);myNewHardware2。的DeviceID ='ARM Cortex-A9';ioInterfacename ='我的以太网连接2';ethernetInterface2 = addNewEthernetInterface (myNewHardware2 ioInterfaceName);ethernetInterface2。IPAddress =“10.10.10.1”;ethernetInterface2。端口= 17745;地图(myNewTarget myNewHardware2,ABC Ventures ABC ALTZ120 Board);
定义新的特性配置。
mynewscheduler = addnewoperatingsystem(mynewtarget,“Linux”);myNewExtMode = addNewExternalMode (myNewTarget,“我的以太网外部模式”);mynewextmode.sourcefiles = {'$(target_root)/src/abc_rtiostread_serial.c'};myNewPIL = addNewPIL (myNewTarget,“我的以太网公益诉讼”);refdeployer = getDeployer(MyNewtarget,'名称',“Linaro工具链v4.8”);
使用支持的硬件的新特性配置。金宝app
地图(MyNewtarget,MyNewhardWare1,{Refdeployer,MyNewscheduler});地图(MyNewtarget,MyNewhardware1,MyNewPil,“我的以太网连接1”);地图(myNewTarget myNewHardware1 myNewExtMode,“我的以太网连接1”);地图(MyNewtarget,MyNewhardware2,{Refdeployer,MyNewscheduler});地图(MyNewtarget,MyNewhardware2,MyNewPil,'我的以太网连接2');地图(myNewTarget myNewHardware2 myNewExtMode,'我的以太网连接2');
保存新目标。
saveTarget (myNewTarget);