c2000ware-core-sdk/driverlib/.meta/dma/dma.board.c.xdt

90 lines
3.5 KiB
Plaintext
Raw Permalink Normal View History

2023-06-24 09:05:38 +03:00
% var nameOfModule = "dma";
% var module = system.modules['/driverlib/' + nameOfModule + '.js'];
% let Common = system.getScript("/driverlib/Common.js");
% var nameOfPeripheral = module.peripheralName;
//*****************************************************************************
//
// DMA Configurations
//
//*****************************************************************************
void `nameOfPeripheral`_init(){
DMA_initController();
% for(var i = 0; i < module.$instances.length; i++)
% {
% var instance = module.$instances[i];
`instance.$name`_init();
% }
}
%if (module != null)
%{
%
% for(var i = 0; i < module.$instances.length; i++) {
% var instance = module.$instances[i];
void `instance.$name`_init(){
% let instancePinmux = instance[nameOfModule];
%
DMA_setEmulationMode(`instance.emulationMode`);
%
% var srcAddress = 0;
% var destAddress = 0;
% if (instance.srcAddressInputMode == "MANUAL") {
% srcAddress = instance.srcAddressManual;
% } if (instance.srcAddressInputMode == "VARIABLE") {
% srcAddress = instance.srcAddressVariable;
% } if (instance.srcAddressInputMode == "LINKED") {
% srcAddress = instance.$name + "_ADDRESS" ;
% } if (instance.destAddressInputMode == "MANUAL") {
% destAddress = instance.destAddressManual;
% } if (instance.destAddressInputMode == "VARIABLE") {
% destAddress = instance.destAddressVariable;
% } if (instance.destAddressInputMode == "LINKED") {
% destAddress = instance.$name + "_ADDRESS";
% }
DMA_configAddresses(`instance.$name`_BASE, `destAddress`, `srcAddress`);
%
DMA_configBurst(`instance.$name`_BASE, `instance.burstSize`U, `instance.srcBurstStep`, `instance.destBurstStep`);
%
DMA_configTransfer(`instance.$name`_BASE, `instance.transferSize`U, `instance.srcTransferStep`, `instance.destTransferStep`);
%
DMA_configWrap(`instance.$name`_BASE, `instance.srcWrapSize`U, `instance.srcWrapStep`, `instance.destWrapSize`U, `instance.destWrapStep`);
%
% var config = instance.oneShotConfig + " | " + instance.continuousModeConfig + " | " + instance.databusWidthConfig;
% if (instance.triggerSource == "DMA_TRIGGER_LINKED") {
% var linkedTrigger = instance.$name + "_TRIGGER";
DMA_configMode(`instance.$name`_BASE, `linkedTrigger`, `config`);
% } else {
DMA_configMode(`instance.$name`_BASE, `instance.triggerSource`, `config`);
% }
%
% if (instance.useInterrupts) {
DMA_setInterruptMode(`instance.$name`_BASE, `instance.interruptMode`);
% if (instance.enableInterrupts) {
DMA_enableInterrupt(`instance.$name`_BASE);
% } else {
DMA_disableInterrupt(`instance.$name`_BASE);
% }
% if (instance.enableOverrunInterrupt) {
DMA_enableOverrunInterrupt(`instance.$name`_BASE);
% } else {
DMA_disableOverrunInterrupt(`instance.$name`_BASE);
% }
% }
%
% if (instance.enableTriggers) {
DMA_enableTrigger(`instance.$name`_BASE);
% } else {
DMA_disableTrigger(`instance.$name`_BASE);
% }
%
% if (instance.enablePriority) {
DMA_setPriorityMode(1);
% }
% if (instance.startChannel) {
DMA_startChannel(`instance.$name`_BASE);
% } else {
DMA_stopChannel(`instance.$name`_BASE);
% }
}
%}
%}