设计案例

制定一个目标,创建PIL和外部模式从头特点

这个例子展示了如何开发两个虚构的硬件板的目标,ABC风险投资公司的Cortex-M3ABC风险投资公司的Cortex-M1板。您使用创建目标®皮质®-M目标作为参考。

目标将支持万博1manbetxABC CORTEX-M3ABC的Cortex-M1硬件板卡。对于这两种硬件板,部署和适当的裸机调度将从参考目标作出。外部模式和分析器功能将由目标被定义并施加到两个板。

硬件到新的目标的特征映射示出了在下表中。

名称 硬件

ABC风险投资公司的Cortex-M3主板

ABC风险投资公司的Cortex-M1局

我的串行外部模式

我的串行PIL

GNU工具ARM嵌入式处理器

从参考

从参考

调度系统定时器

从参考

N / A

m0m1m0plus调度系统定时器

N / A

从参考

确定参考目标,命名新的目标,并创建指定的根文件夹的框架。

referenceTargetName ='的ARM Cortex-M';myNewTargetName =“目标ABC风险投资公司的Cortex-M主板”;myNewTargetRootFolder ='C:/ abcventures';myNewTarget = createTarget(myNewTargetName,referenceTargetName,myNewTargetRootFolder);

定义要支持硬件。万博1manbetx

myNewHardwareName1 ='ABC-CORTEX-M3';myNewHardware1 = createHardware(myNewHardwareName1);myNewHardware1.DeviceID ='ARM的Cortex-M3';ioInterfaceName =“我的串行连接1”;serialInterface1 = addNewSerialInterface(myNewHardware1,ioInterfaceName);serialInterface1.AvailablePorts = {'COM1''COM2'};serialInterface1.DefaultPort ='COM1';映射(myNewTarget,myNewHardware1,'ABC风险投资公司的Cortex-M3主板');myNewHardwareName2 ='ABC-CORTEX-M1';myNewHardware2 = createHardware(myNewHardwareName2);myNewHardware2.DeviceID ='ARM的Cortex-M1';ioInterfaceName =“我的串行连接2”;serialInterface2 = addNewSerialInterface(myNewHardware2,ioInterfaceName);serialInterface2.AvailablePorts = {'COM1''COM2'};serialInterface2.DefaultPort ='COM2';映射(myNewTarget,myNewHardware2,'ABC风险投资公司的Cortex-M1板');

定义新的功能配置。

myRefSchedulers = getBaremetalScheduler(myNewTarget,'参考');myNewExtMode = addNewExternalMode(myNewTarget,“我的串行外部模式”);myNewExtMode.SourceFiles = {'$(TARGET_ROOT)/src/abc_rtiostream_serial.c'};myNewExtMode.PreConnectFcn ='暂停(2)';myNewPIL = addNewPIL(myNewTarget,“我的串行PIL”);refDeployer = getDeployer(myNewTarget,'名称'“GNU工具ARM嵌入式处理器”);

使用新的功能配置为支持的硬件。万博1manbetx

映射(myNewTarget,myNewHardware1,{refDeployer,myRefSchedulers {1}});映射(myNewTarget,myNewHardware1,myNewPIL,“我的串行连接1”);映射(myNewTarget,myNewHardware1,myNewExtMode,“我的串行连接1”);映射(myNewTarget,myNewHardware2,{refDeployer,myRefSchedulers {2}});映射(myNewTarget,myNewHardware2,myNewPIL,“我的串行连接2”);映射(myNewTarget,myNewHardware2,myNewExtMode,“我的串行连接2”);

保存新的目标。

saveTarget(myNewTarget);