2837xd 代码生成——补充(3)

  • 6 自定义驱动模块
  • 7 创建库文件
  • 8 模型脚本化配置
  • 总结

6 自定义驱动模块

利用S-Function可以快速的生成自定义的模块,下面进行基本的概述:

1)编制以下的m脚本:

%结构体初始化
def= legacy_code('initialize');%.c和.h文件路径
def.IncPaths={'I:\matla_HIL\Mangerfz'};
def.SrcPaths={'I:\matla_HIL\Mangerfz'};%驱动源代码及头文件
def.SourceFiles={'led.c'};
def.HeaderFiles={'led.h'};%S-Function 名称
def.SFunctionName='my_S';%初始化函数名称(与c代码中应该一致)
def.InitializeConditionsFcnSpec='void LED_Init(void)';%输出函数名称
def.OutputFcnSpec='void LED_Blink(void)';%创建S-function Level-2
legacy_code('sfcn_cmex_generate',def);%生成MW64
legacy_code('compile',def);%封装S-F
legacy_code('slblock_generate',def);%生成TLC(模块级)
legacy_code('sfcn_tlc_generate',def);

将其中的各部分名称进行相应的替换即可,led.c文件和led.h文件如下:

/*led.h文件*/#ifndef __LED__
#define __LED__#include "F28x_Project.h"void LED_Init(void);            //LED初始化函数void LED_Blink(void);          //LED闪烁函数#endif
/*led.c文件*/#include "led.h"void LED_Init(void)            //LED初始化函数
{GPIO_SetupPinMux(67,GPIO_MUX_CPU1,0);GPIO_SetupPinOptions(67,GPIO_OUTPUT,GPIO_PULLUP);GPIO_SetupPinMux(84,GPIO_MUX_CPU1,0);GPIO_SetupPinOptions(84,GPIO_OUTPUT,GPIO_PULLUP);}void delay_s(int a)
{int i=0;for(;i<a*1000;i++){DELAY_US(1000);}
}void LED_Blink(void)          //LED闪烁函数
{GPIO_WritePin(67,0);delay_s(1);GPIO_WritePin(67,1);delay_s(1);GPIO_WritePin(84,0);delay_s(2);GPIO_WritePin(84,1);delay_s(2);
}

下面将led.c和led.h文件的主要部分进行注释,防止报错,注释如下:

/*led.c文件*/#include "led.h"void LED_Init(void)            //LED初始化函数
{//     GPIO_SetupPinMux(67,GPIO_MUX_CPU1,0);
//     GPIO_SetupPinOptions(67,GPIO_OUTPUT,GPIO_PULLUP);
//
//     GPIO_SetupPinMux(84,GPIO_MUX_CPU1,0);
//     GPIO_SetupPinOptions(84,GPIO_OUTPUT,GPIO_PULLUP);}// void delay_s(int a)
// {//  int i=0;
//  for(;i<a*1000;i++)
//  {//      DELAY_US(1000);
//  }
// }void LED_Blink(void)          //LED闪烁函数
{//     GPIO_WritePin(67,0);
//     delay_s(1);
//
//     GPIO_WritePin(67,1);
//     delay_s(1);
//
//
//     GPIO_WritePin(84,0);
//     delay_s(2);
//     GPIO_WritePin(84,1);
//     delay_s(2);
}
/*led.h文件*/#ifndef __LED__
#define __LED__// #include "F28x_Project.h"
//
// void LED_Init(void);            //LED初始化函数
//
// void LED_Blink(void);          //LED闪烁函数#endif

然后运行编写的m脚本,注意此时两个文件(led.c与led.h)需要放在m脚本一个目录之下。显示下面的消息代表运行成功,此时会弹出一个模型文件:

此时需要将刚刚注释的内容,全部都解除注释!然后在生成的模型里面进行配置,生成代码即可:

可以发现生成的代码中含有led.c和led.h(h文件只是引用,没有复制到根目录[源文件还是在根目录下])全部内容。

7 创建库文件

刚刚创建好一个模型,有时候需要我们对他封装成库文件,以便下次可以方便的调用。

此时需要创建一个Library文件(不是model文件),将模型放入Library文件中。

然后创建一个m脚本文件:

function blkStruct = slblocks
% Specify that the product should appear in the library browser
% and be cached in its repositoryBrowser(1).Library = 'manfz02';    % 你的库文件的名字 manfz02.slx
Browser(1).Name = 'User_lib';      % 在Simulink库中显示的名字
Browser(1).IsFlat = 1;blkStruct.Browser = Browser;

然后将这两个文件都存放在一个文件目录下,这里推荐存放在matlab根目录的toolbox下新建的文件夹内。之后将该路径进行包含。

然后在Simulink Library Brower中按F5刷新即可。如果后面需要追加加多个模型时,直接在slx中追加模型就可。至于怎么生成带目录的库,目前不是很清楚。

8 模型脚本化配置

对于配置模型每次都要重复配置,有点头大,今天研究了一下配置语言,写了如下脚本。对于手动写入其他配置,可以先通过手动配置好,然后在导出配置好的文件的m文件,对照其进行写如脚本指令:

脚本配置文件(适用于2837xd):

%创建一个新模型,可以注释掉(前两句是创建一个simulink model 并且打开)
model=new_system;
open_system(model);             %Solver
set_param(bdroot,'Solver','FixedStepDiscrete');
set_param(bdroot,'FixedStep','0.01');%Hardware Implementation
set_param(bdroot,'HardwareBoard','TI Delfino F2837xD');
set_param(bdroot,'TargetLang', 'C');%Diagnostics.Data Validity
set_param(bdroot,'MultiTaskDSMMsg', 'none');   % Multitask data store% Code Generation
set_param(bdroot,'GenerateReport', 'on');   % Create code generation report
set_param(bdroot,'ObjectivePriorities', {'Execution efficiency','ROM efficiency','RAM efficiency'});   % Prioritized objectives
set_param(bdroot,'GenerateWebview', 'on');   % Generate model Web view
set_param(bdroot,'ERTFilePackagingFormat', 'Compact');   % File packaging format%下面主要是为了禁止2837Xd选项卡下的TMU,可以不使用。
set_param(bdroot,'CoderTargetData', struct('UseCoderTarget',true,...'TargetHardware','TI Delfino F2837xD','ConnectionInfo',...struct('serial',struct('IPAddress',...'codertarget.registry.getLoopbackIP;','Port','17725','Verbose',false),...'serialusingxcp',struct('Baudrate','codertarget.registry.getExtModeHostBaud(hCS);',...'COMPort','COM1','Verbose',true),'CAN',struct('MEXArgs',' ')),...'ExtMode',struct('Configuration','serial','signalBufferSize',10000),...'RTOS','Baremetal','Scheduler_interrupt_source',0,'Runtime',...struct('BuildAction','Build, load and run','DeviceID',...'F28377D','FlashLoad',1,'EnableTMU',false,'CPU','CPU1',...'LoadCommandArg','$(TARGET_ROOT)/CCS_Config/f28377D.ccxml',...'CPU2ModelEnable','false','CPU2Model','','PF1DMAAccess',...0,'PF2DMAAccess',0),'TargetLinkObj',struct('UseCustomLinker',0,...'Name','$(TARGET_ROOT)\src\c28377D.cmd'),'Clocking',...struct('cpuClockRateMHz','200','UseInternalOsc',0,'OSCCLK',...'20','AutoSetPllSettings',1,'PLLCR','20','DIVSEL','2',...'ClosestCpuClock','200','ClosestCpuClock1','200','LspclkDiv',...'SYSCLKOUT/1','LspclkDiv1','SYSCLKOUT/1','LSPCLK','200'),'ADCA',...struct('CpuCore','Auto','ClockDiv','SYSCLKOUT/5.0','ClockFrequency',...40,'OffsetCorrectionValue','AdcaRegs.ADCOFFTRIM.bit.OFFTRIM','ExternalReferenceSelector',...0,'ExternalReferenceVREFHI','3.3','ExternalReferenceVREFLO','0',...'INTPulseGeneration','Late interrupt pulse','SOCpriority','All in round robin mode',...'XINT2GPIO','GPIO0'),'ADCB',struct('CpuCore','Auto','ClockDiv','SYSCLKOUT/5.0','ClockFrequency',...40,'OffsetCorrectionValue','AdcbRegs.ADCOFFTRIM.bit.OFFTRIM','ExternalReferenceSelector',0,...'ExternalReferenceVREFHI','3.3','ExternalReferenceVREFLO','0','INTPulseGeneration',...'Late interrupt pulse','SOCpriority','All in round robin mode','XINT2GPIO','GPIO0'),...'ADCC',struct('CpuCore','Auto','ClockDiv','SYSCLKOUT/5.0','ClockFrequency',40,...'OffsetCorrectionValue','AdccRegs.ADCOFFTRIM.bit.OFFTRIM','ExternalReferenceSelector',...0,'ExternalReferenceVREFHI','3.3','ExternalReferenceVREFLO','0','INTPulseGeneration',...'Late interrupt pulse','SOCpriority','All in round robin mode','XINT2GPIO','GPIO0'),'ADCD',...struct('CpuCore','Auto','ClockDiv','SYSCLKOUT/5.0','ClockFrequency',40,'OffsetCorrectionValue'...,'AdcdRegs.ADCOFFTRIM.bit.OFFTRIM','ExternalReferenceSelector',0,'ExternalReferenceVREFHI'...,'3.3','ExternalReferenceVREFLO','0','INTPulseGeneration','Late interrupt pulse','SOCpriority'...,'All in round robin mode','XINT2GPIO','GPIO0'),'DACA',...struct('voltage','ADC reference voltage (VREFHIA)','loadmode','System clock (SYSCLK)'),...'DACB',struct('voltage','ADC reference voltage (VREFHIA)','loadmode','System clock (SYSCLK)'),...'DACC',struct('voltage','ADC reference voltage (VREFHIB)','loadmode','System clock (SYSCLK)'),...'ePWM',struct('ClockDiv','SYSCLKOUT/2','ClockDiv1','SYSCLKOUT/2','PinAssignment_TZ1','None','PinAssignment_TZ2',...'None','PinAssignment_TZ3','None','PinAssignment_SYNCI','None','PinAssignment_SYNCO','None','PinAssignment_PWM1A',...'GPIO0','PinAssignment_PWM1B','GPIO1','PinAssignment_PWM2A','GPIO2','PinAssignment_PWM2B','GPIO3','PinAssignment_PWM3A',...'GPIO4','PinAssignment_PWM3B','GPIO5','PinAssignment_PWM4A','GPIO6','PinAssignment_PWM4B','GPIO7','PinAssignment_PWM5A',...'GPIO8','PinAssignment_PWM5B','GPIO9','PinAssignment_PWM6A','GPIO10','PinAssignment_PWM6B','GPIO11','PinAssignment_PWM7A',...'GPIO12','PinAssignment_PWM7B','GPIO13','PinAssignment_PWM8A','GPIO14','PinAssignment_PWM8B','GPIO15','PinAssignment_PWM9A',...'GPIO16','PinAssignment_PWM9B','GPIO17','PinAssignment_PWM10A','GPIO18','PinAssignment_PWM10B','GPIO19','PinAssignment_PWM11A',...'GPIO20','PinAssignment_PWM11B','GPIO21','PinAssignment_PWM12A','GPIO22','PinAssignment_PWM12B','GPIO23'),'eCAP',struct('PinAssignment_ECAP1'...,'GPIO24','PinAssignment_ECAP2','GPIO25','PinAssignment_ECAP3','GPIO26','PinAssignment_ECAP4','GPIO20','PinAssignment_ECAP5','GPIO21',...'PinAssignment_ECAP6','GPIO23','PinAssignment_APWM1','GPIO24','PinAssignment_APWM2','GPIO25','PinAssignment_APWM3','GPIO26',...'PinAssignment_APWM4','GPIO27','PinAssignment_APWM5','GPIO28','PinAssignment_APWM6','GPIO29'),'eQEP',struct('PinAssignment_eQEP1A',...'GPIO20','PinAssignment_eQEP1B','GPIO21','PinAssignment_eQEP1S','GPIO22','PinAssignment_eQEP1I','GPIO23','PinAssignment_eQEP2A','GPIO24',...'PinAssignment_eQEP2B','GPIO25','PinAssignment_eQEP2S','GPIO27','PinAssignment_eQEP2I','GPIO26','PinAssignment_eQEP3A','GPIO28','PinAssignment_eQEP3B',...'GPIO29','PinAssignment_eQEP3S','GPIO30','PinAssignment_eQEP3I','GPIO31'),'I2C',...struct('Mode','Master','AddrDataFormat','7-Bit Addressing','OwnAddress','1','BitCount',...'8','ModuleClockPrescaler','9','ModuleClockFrequency',20000000,'MasterClkLowTime','20',...'MasterClkHighTime','20','MasterClockFrequency',400000,'MasterClockFrequency_1',400000,'MasterClockFrequency_2',...400000,'EnableLoopback',0,'PinAssignment_SDAA','GPIO32','PinAssignment_SCLA','GPIO33','EnableTxInt',0,'TxFifoLevel',...'0','EnableRxInt',0,'RxFifoLevel','0','EnableSysInt',0,'AAS',0,'SCD',0,'ARDY',0,'NACK',0,'AL',0),'I2C_B'...,struct('Mode','Master','AddrDataFormat','7-Bit Addressing','OwnAddress','1','BitCount',...'8','ModuleClockPrescaler','9','ModuleClockFrequency',20000000,'MasterClkLowTime',...'20','MasterClkHighTime','20','MasterClockFrequency',400000,'MasterClockFrequency_1',...400000,'MasterClockFrequency_2',400000,'EnableLoopback',0,'PinAssignment_SDAA','GPIO34',...'PinAssignment_SCLA','GPIO35','EnableTxInt',0,'TxFifoLevel','0','EnableRxInt',0,'RxFifoLevel',...'0','EnableSysInt',0,'AAS',0,'SCD',0,'ARDY',0,'NACK',0,'AL',0),'SCI_A',struct('EnableLoopBack'...,0,'SuspensionMode','Free_run','NumberOfStopBits','1','ParityMode','None','CharacterLengthBits'...,'8','UserBaudRate','115200','BaudRatePrescaler',216,'BaudRate',115207,'CommunicationMode'...,'Raw_data','BlockingMode',0,'DataByteOrder','Little_Endian','DataSwapWidth','8_bits',...'PinAssignment_Tx','GPIO29','PinAssignment_Rx','GPIO28'),'SCI_B',struct('EnableLoopBack'...,0,'SuspensionMode','Free_run','NumberOfStopBits','1','ParityMode','None','CharacterLengthBits',...'8','UserBaudRate','115200','BaudRatePrescaler',216,'BaudRate',115207,'CommunicationMode',...'Raw_data','BlockingMode',0,'DataByteOrder','Little_Endian','DataSwapWidth','8_bits',...'PinAssignment_Tx','GPIO9','PinAssignment_Rx','GPIO11'),'SCI_C',struct('EnableLoopBack'...,0,'SuspensionMode','Free_run','NumberOfStopBits','1','ParityMode','None','CharacterLengthBits'...,'8','UserBaudRate','115200','BaudRatePrescaler',216,'BaudRate',115207,...'CommunicationMode','Raw_data','BlockingMode',0,'DataByteOrder','Little_Endian'...,'DataSwapWidth','8_bits','PinAssignment_Tx','GPIO12','PinAssignment_Rx','GPIO13'),...'SCI_D',struct('EnableLoopBack',0,'SuspensionMode','Free_run','NumberOfStopBits'...,'1','ParityMode','None','CharacterLengthBits','8','UserBaudRate','115200','BaudRatePrescaler',...216,'BaudRate',115207,'CommunicationMode','Raw_data','BlockingMode',0,...'DataByteOrder','Little_Endian','DataSwapWidth','8_bits','PinAssignment_Tx',...'GPIO47','PinAssignment_Rx','GPIO46'),'SPI_A',struct('Mode','Master','UserBaudRate',...'1843200','BaudRateFactor',108,'BaudRate',1834862,'DataBits','16','ClockPolarity',...'Rising_edge','ClockPhase','No_delay','SuspensionMode','Free_run','EnableLoopback',...0,'EnableThreeWire',0,'TXINTERRUPTENABLE',0,'FIFOInterruptLevel_Tx','0','RXINTERRUPTENABLE'...,0,'FIFOInterruptLevel_Rx','16','FIFOEnable',1,'FIFOTransmitDelay','0','PinAssignment_SIMO'...,'GPIO16','PinAssignment_SOMI','GPIO17','PinAssignment_CLK','GPIO18','PinAssignment_STE',...'GPIO19','PinValue_SIMO','16','PinValue_SOMI','17','PinValue_CLK','18','PinValue_STE','19',...'PinMux_SIMO','1','PinMux_SOMI','1','PinMux_CLK','1','PinMux_STE','1','FIFO_Level',16),...'SPI_B',struct('Mode','Master','UserBaudRate','1843200','BaudRateFactor',108,'BaudRate',...1834862,'DataBits','16','ClockPolarity','Rising_edge','ClockPhase','No_delay','SuspensionMode',...'Free_run','EnableLoopback',0,'EnableThreeWire',0,'TXINTERRUPTENABLE',0,'FIFOInterruptLevel_Tx',...'0','RXINTERRUPTENABLE',0,'FIFOInterruptLevel_Rx','16','FIFOEnable',1,'FIFOTransmitDelay','0','PinAssignment_SIMO','GPIO24','PinAssignment_SOMI','GPIO25','PinAssignment_CLK','GPIO26','PinAssignment_STE','GPIO27','PinValue_SIMO','24','PinValue_SOMI','25','PinValue_CLK','26','PinValue_STE','27','PinMux_SIMO','6','PinMux_SOMI','6','PinMux_CLK','6','PinMux_STE','6','FIFO_Level',16),'SPI_C',struct('Mode','Master','UserBaudRate','1843200','BaudRateFactor',108,'BaudRate',1834862,'DataBits','16','ClockPolarity','Rising_edge','ClockPhase','No_delay','SuspensionMode','Free_run','EnableLoopback',0,'EnableThreeWire',0,'TXINTERRUPTENABLE',0,'FIFOInterruptLevel_Tx','0','RXINTERRUPTENABLE',0,'FIFOInterruptLevel_Rx','16','FIFOEnable',1,'FIFOTransmitDelay','0','PinAssignment_SIMO','GPIO122','PinAssignment_SOMI','GPIO123','PinAssignment_CLK','GPIO124','PinAssignment_STE','GPIO125','PinValue_SIMO','122','PinValue_SOMI','123','PinValue_CLK','124','PinValue_STE','125','PinMux_SIMO','6','PinMux_SOMI','6','PinMux_CLK','6','PinMux_STE','6','FIFO_Level',16),'eCAN_A',struct('ModuleClockFrequency','200','BaudRatePrescaler',20,'TSEG1','5','TSEG2','4','BaudRate','1000000','SBG','Only_falling_edges','SJW','2','SAM','Sample_one_time','EnhancedCANMode',1,'SelfTestMode',0,'PinAssignment_Tx','GPIO31','PinAssignment_Rx','GPIO30'),'eCAN_B',struct('ModuleClockFrequency','200','BaudRatePrescaler',20,'TSEG1','5','TSEG2','4','BaudRate','1000000','SBG','Only_falling_edges','SJW','2','SAM','Sample_one_time','EnhancedCANMode',1,'SelfTestMode',0,'PinAssignment_Tx','GPIO8','PinAssignment_Rx','GPIO10'),'Watchdog',struct('Enable_watchdog',0,'Watchdogclock','OSCCLK/512/1','Time_period',0.0131072,'Watchdogevent','Chip reset'),'GPIO0_7',struct('GPIOQualSel0','Synchronize to SYSCLKOUT only','GPIOQualSel1','Synchronize to SYSCLKOUT only','GPIOQualSel2','Synchronize to SYSCLKOUT only','GPIOQualSel3','Synchronize to SYSCLKOUT only','GPIOQualSel4','Synchronize to SYSCLKOUT only','GPIOQualSel5','Synchronize to SYSCLKOUT only','GPIOQualSel6','Synchronize to SYSCLKOUT only','GPIOQualSel7','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO8_15',struct('GPIOQualSel8','Synchronize to SYSCLKOUT only','GPIOQualSel9','Synchronize to SYSCLKOUT only','GPIOQualSel10','Synchronize to SYSCLKOUT only','GPIOQualSel11','Synchronize to SYSCLKOUT only','GPIOQualSel12','Synchronize to SYSCLKOUT only','GPIOQualSel13','Synchronize to SYSCLKOUT only','GPIOQualSel14','Synchronize to SYSCLKOUT only','GPIOQualSel15','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO16_23',struct('GPIOQualSel16','Synchronize to SYSCLKOUT only','GPIOQualSel17','Synchronize to SYSCLKOUT only','GPIOQualSel18','Synchronize to SYSCLKOUT only','GPIOQualSel19','Synchronize to SYSCLKOUT only','GPIOQualSel20','Synchronize to SYSCLKOUT only','GPIOQualSel21','Synchronize to SYSCLKOUT only','GPIOQualSel22','Synchronize to SYSCLKOUT only','GPIOQualSel23','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO24_31',struct('GPIOQualSel24','Synchronize to SYSCLKOUT only','GPIOQualSel25','Synchronize to SYSCLKOUT only','GPIOQualSel26','Synchronize to SYSCLKOUT only','GPIOQualSel27','Synchronize to SYSCLKOUT only','GPIOQualSel28','Synchronize to SYSCLKOUT only','GPIOQualSel29','Synchronize to SYSCLKOUT only','GPIOQualSel30','Synchronize to SYSCLKOUT only','GPIOQualSel31','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO32_39',struct('GPIOQualSel32','Synchronize to SYSCLKOUT only','GPIOQualSel33','Synchronize to SYSCLKOUT only','GPIOQualSel34','Synchronize to SYSCLKOUT only','GPIOQualSel35','Synchronize to SYSCLKOUT only','GPIOQualSel36','Synchronize to SYSCLKOUT only','GPIOQualSel37','Synchronize to SYSCLKOUT only','GPIOQualSel38','Synchronize to SYSCLKOUT only','GPIOQualSel39','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO40_47',struct('GPIOQualSel40','Synchronize to SYSCLKOUT only','GPIOQualSel41','Synchronize to SYSCLKOUT only','GPIOQualSel42','Synchronize to SYSCLKOUT only','GPIOQualSel43','Synchronize to SYSCLKOUT only','GPIOQualSel44','Synchronize to SYSCLKOUT only','GPIOQualSel45','Synchronize to SYSCLKOUT only','GPIOQualSel46','Synchronize to SYSCLKOUT only','GPIOQualSel47','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO48_55',struct('GPIOQualSel48','Synchronize to SYSCLKOUT only','GPIOQualSel49','Synchronize to SYSCLKOUT only','GPIOQualSel50','Synchronize to SYSCLKOUT only','GPIOQualSel51','Synchronize to SYSCLKOUT only','GPIOQualSel52','Synchronize to SYSCLKOUT only','GPIOQualSel53','Synchronize to SYSCLKOUT only','GPIOQualSel54','Synchronize to SYSCLKOUT only','GPIOQualSel55','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO56_63',struct('GPIOQualSel56','Synchronize to SYSCLKOUT only','GPIOQualSel57','Synchronize to SYSCLKOUT only','GPIOQualSel58','Synchronize to SYSCLKOUT only','GPIOQualSel59','Synchronize to SYSCLKOUT only','GPIOQualSel60','Synchronize to SYSCLKOUT only','GPIOQualSel61','Synchronize to SYSCLKOUT only','GPIOQualSel62','Synchronize to SYSCLKOUT only','GPIOQualSel63','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO64_71',struct('GPIOQualSel64','Synchronize to SYSCLKOUT only','GPIOQualSel65','Synchronize to SYSCLKOUT only','GPIOQualSel66','Synchronize to SYSCLKOUT only','GPIOQualSel67','Synchronize to SYSCLKOUT only','GPIOQualSel68','Synchronize to SYSCLKOUT only','GPIOQualSel69','Synchronize to SYSCLKOUT only','GPIOQualSel70','Synchronize to SYSCLKOUT only','GPIOQualSel71','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO72_79',struct('GPIOQualSel72','Synchronize to SYSCLKOUT only','GPIOQualSel73','Synchronize to SYSCLKOUT only','GPIOQualSel74','Synchronize to SYSCLKOUT only','GPIOQualSel75','Synchronize to SYSCLKOUT only','GPIOQualSel76','Synchronize to SYSCLKOUT only','GPIOQualSel77','Synchronize to SYSCLKOUT only','GPIOQualSel78','Synchronize to SYSCLKOUT only','GPIOQualSel79','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO80_87',struct('GPIOQualSel80','Synchronize to SYSCLKOUT only','GPIOQualSel81','Synchronize to SYSCLKOUT only','GPIOQualSel82','Synchronize to SYSCLKOUT only','GPIOQualSel83','Synchronize to SYSCLKOUT only','GPIOQualSel84','Synchronize to SYSCLKOUT only','GPIOQualSel85','Synchronize to SYSCLKOUT only','GPIOQualSel86','Synchronize to SYSCLKOUT only','GPIOQualSel87','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO88_95',struct('GPIOQualSel88','Synchronize to SYSCLKOUT only','GPIOQualSel89','Synchronize to SYSCLKOUT only','GPIOQualSel90','Synchronize to SYSCLKOUT only','GPIOQualSel91','Synchronize to SYSCLKOUT only','GPIOQualSel92','Synchronize to SYSCLKOUT only','GPIOQualSel93','Synchronize to SYSCLKOUT only','GPIOQualSel94','Synchronize to SYSCLKOUT only','GPIOQualSel95','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO96_103',struct('GPIOQualSel96','Synchronize to SYSCLKOUT only','GPIOQualSel97','Synchronize to SYSCLKOUT only','GPIOQualSel98','Synchronize to SYSCLKOUT only','GPIOQualSel99','Synchronize to SYSCLKOUT only','GPIOQualSel100','Synchronize to SYSCLKOUT only','GPIOQualSel101','Synchronize to SYSCLKOUT only','GPIOQualSel102','Synchronize to SYSCLKOUT only','GPIOQualSel103','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO104_111',struct('GPIOQualSel104','Synchronize to SYSCLKOUT only','GPIOQualSel105','Synchronize to SYSCLKOUT only','GPIOQualSel106','Synchronize to SYSCLKOUT only','GPIOQualSel107','Synchronize to SYSCLKOUT only','GPIOQualSel108','Synchronize to SYSCLKOUT only','GPIOQualSel109','Synchronize to SYSCLKOUT only','GPIOQualSel110','Synchronize to SYSCLKOUT only','GPIOQualSel111','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO112_119',struct('GPIOQualSel112','Synchronize to SYSCLKOUT only','GPIOQualSel113','Synchronize to SYSCLKOUT only','GPIOQualSel114','Synchronize to SYSCLKOUT only','GPIOQualSel115','Synchronize to SYSCLKOUT only','GPIOQualSel116','Synchronize to SYSCLKOUT only','GPIOQualSel117','Synchronize to SYSCLKOUT only','GPIOQualSel118','Synchronize to SYSCLKOUT only','GPIOQualSel119','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO120_127',struct('GPIOQualSel120','Synchronize to SYSCLKOUT only','GPIOQualSel121','Synchronize to SYSCLKOUT only','GPIOQualSel122','Synchronize to SYSCLKOUT only','GPIOQualSel123','Synchronize to SYSCLKOUT only','GPIOQualSel124','Synchronize to SYSCLKOUT only','GPIOQualSel125','Synchronize to SYSCLKOUT only','GPIOQualSel126','Synchronize to SYSCLKOUT only','GPIOQualSel127','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO128_135',struct('GPIOQualSel128','Synchronize to SYSCLKOUT only','GPIOQualSel129','Synchronize to SYSCLKOUT only','GPIOQualSel130','Synchronize to SYSCLKOUT only','GPIOQualSel131','Synchronize to SYSCLKOUT only','GPIOQualSel132','Synchronize to SYSCLKOUT only','GPIOQualSel133','Synchronize to SYSCLKOUT only','GPIOQualSel134','Synchronize to SYSCLKOUT only','GPIOQualSel135','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO136_143',struct('GPIOQualSel136','Synchronize to SYSCLKOUT only','GPIOQualSel137','Synchronize to SYSCLKOUT only','GPIOQualSel138','Synchronize to SYSCLKOUT only','GPIOQualSel139','Synchronize to SYSCLKOUT only','GPIOQualSel140','Synchronize to SYSCLKOUT only','GPIOQualSel141','Synchronize to SYSCLKOUT only','GPIOQualSel142','Synchronize to SYSCLKOUT only','GPIOQualSel143','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO144_151',struct('GPIOQualSel144','Synchronize to SYSCLKOUT only','GPIOQualSel145','Synchronize to SYSCLKOUT only','GPIOQualSel146','Synchronize to SYSCLKOUT only','GPIOQualSel147','Synchronize to SYSCLKOUT only','GPIOQualSel148','Synchronize to SYSCLKOUT only','GPIOQualSel149','Synchronize to SYSCLKOUT only','GPIOQualSel150','Synchronize to SYSCLKOUT only','GPIOQualSel151','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO152_159',struct('GPIOQualSel152','Synchronize to SYSCLKOUT only','GPIOQualSel153','Synchronize to SYSCLKOUT only','GPIOQualSel154','Synchronize to SYSCLKOUT only','GPIOQualSel155','Synchronize to SYSCLKOUT only','GPIOQualSel156','Synchronize to SYSCLKOUT only','GPIOQualSel157','Synchronize to SYSCLKOUT only','GPIOQualSel158','Synchronize to SYSCLKOUT only','GPIOQualSel159','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO160_167',struct('GPIOQualSel160','Synchronize to SYSCLKOUT only','GPIOQualSel161','Synchronize to SYSCLKOUT only','GPIOQualSel162','Synchronize to SYSCLKOUT only','GPIOQualSel163','Synchronize to SYSCLKOUT only','GPIOQualSel164','Synchronize to SYSCLKOUT only','GPIOQualSel165','Synchronize to SYSCLKOUT only','GPIOQualSel166','Synchronize to SYSCLKOUT only','GPIOQualSel167','Synchronize to SYSCLKOUT only','QualPRD','0'),'GPIO168_175',struct('GPIOQualSel168','Synchronize to SYSCLKOUT only','GPIOQualSel169','Synchronize to SYSCLKOUT only','GPIOQualSel170','Synchronize to SYSCLKOUT only','GPIOQualSel171','Synchronize to SYSCLKOUT only','GPIOQualSel172','Synchronize to SYSCLKOUT only','GPIOQualSel173','Synchronize to SYSCLKOUT only','GPIOQualSel174','Synchronize to SYSCLKOUT only','GPIOQualSel175','Synchronize to SYSCLKOUT only','QualPRD','0'),'DMA_ch1',struct('EnableDMAChannel',0,'DataSize','16 bit','InterruptSrc','None','BurstSize','1','TransferSize','1','SrcBeginAdd','0xC000','DstBeginAdd','0xD000','SrcBurstStep','0','DstBurstStep','0','SrcTransStep','0','DstTransStep','0','WrapSrcSize','65536','WrapDstSize','65536','SrcWrapStep','0','DstWrapStep','0','SetCh1ToHigh',0,'EnableOneShot',0,'EnableContinuous',1,'GenInterrupt','Never','EnableOverFlow',0),'DMA_ch2',struct('EnableDMAChannel',0,'DataSize','16 bit','InterruptSrc','None','BurstSize','1','TransferSize','1','SrcBeginAdd','0xC000','DstBeginAdd','0xD000','SrcBurstStep','0','DstBurstStep','0','SrcTransStep','0','DstTransStep','0','WrapSrcSize','65536','WrapDstSize','65536','SrcWrapStep','0','DstWrapStep','0','EnableOneShot',0,'EnableContinuous',1,'GenInterrupt','Never','EnableOverFlow',0),'DMA_ch3',struct('EnableDMAChannel',0,'DataSize','16 bit','InterruptSrc','None','BurstSize','1','TransferSize','1','SrcBeginAdd','0xC000','DstBeginAdd','0xD000','SrcBurstStep','0','DstBurstStep','0','SrcTransStep','0','DstTransStep','0','WrapSrcSize','65536','WrapDstSize','65536','SrcWrapStep','0','DstWrapStep','0','EnableOneShot',0,'EnableContinuous',1,'GenInterrupt','Never','EnableOverFlow',0),'DMA_ch4',struct('EnableDMAChannel',0,'DataSize','16 bit','InterruptSrc','None','BurstSize','1','TransferSize','1','SrcBeginAdd','0xC000','DstBeginAdd','0xD000','SrcBurstStep','0','DstBurstStep','0','SrcTransStep','0','DstTransStep','0','WrapSrcSize','65536','WrapDstSize','65536','SrcWrapStep','0','DstWrapStep','0','EnableOneShot',0,'EnableContinuous',1,'GenInterrupt','Never','EnableOverFlow',0),'DMA_ch5',struct('EnableDMAChannel',0,'DataSize','16 bit','InterruptSrc','None','BurstSize','1','TransferSize','1','SrcBeginAdd','0xC000','DstBeginAdd','0xD000','SrcBurstStep','0','DstBurstStep','0','SrcTransStep','0','DstTransStep','0','WrapSrcSize','65536','WrapDstSize','65536','SrcWrapStep','0','DstWrapStep','0','EnableOneShot',0,'EnableContinuous',1,'GenInterrupt','Never','EnableOverFlow',0),'DMA_ch6',struct('EnableDMAChannel',0,'DataSize','16 bit','InterruptSrc','None','BurstSize','1','TransferSize','1','SrcBeginAdd','0xC000','DstBeginAdd','0xD000','SrcBurstStep','0','DstBurstStep','0','SrcTransStep','0','DstTransStep','0','WrapSrcSize','65536','WrapDstSize','65536','SrcWrapStep','0','DstWrapStep','0','EnableOneShot',0,'EnableContinuous',1,'GenInterrupt','Never','EnableOverFlow',0),'EMIF1',struct('ClockDiv','SYSCLKOUT/2','ClockFrequency','100','CS0',0,'ColumnAddress','8','PageSize','256','Banks','1','BusWidth','16','t_rfc','3','t_rfc_ns','40','t_rp','1','t_rp_ns','20','t_rcd','2','t_rcd_ns','30','t_wr','1','t_wr_ns','20','t_ras','4','t_ras_ns','50','t_rc','6','t_rc_ns','70','t_rrd','1','t_rrd_ns','20','t_xsr','7','t_xsr_ns','80','RefreshPeriod','64','RefreshCycle','4096','RefreshRate','1562','CASLatency','3','CS2',0,'CS2_AsynchronousMode','Normal','CS2_AsyncDataWidth','16','CS2_R_Setup','15','CS2_R_Setup_ns','160','CS2_R_Strobe','63','CS2_R_Strobe_ns','640','CS2_R_Hold','7','CS2_R_Hold_ns','80','CS2_W_Setup','15','CS2_W_Setup_ns','160','CS2_W_Strobe','63','CS2_W_Strobe_ns','640','CS2_W_Hold','7','CS2_W_Hold_ns','80','CS2_TA_Cycles','3','CS2_Extend_Wait_Enable',0,'CS3',0,'CS3_AsynchronousMode','Normal','CS3_AsyncDataWidth','16','CS3_R_Setup','15','CS3_R_Setup_ns','160','CS3_R_Strobe','63','CS3_R_Strobe_ns','640','CS3_R_Hold','7','CS3_R_Hold_ns','80','CS3_W_Setup','15','CS3_W_Setup_ns','160','CS3_W_Strobe','63','CS3_W_Strobe_ns','640','CS3_W_Hold','7','CS3_W_Hold_ns','80','CS3_TA_Cycles','3','CS3_Extend_Wait_Enable',0,'CS4',0,'CS4_AsynchronousMode','Normal','CS4_AsyncDataWidth','16','CS4_R_Setup','15','CS4_R_Setup_ns','160','CS4_R_Strobe','63','CS4_R_Strobe_ns','640','CS4_R_Hold','7','CS4_R_Hold_ns','80','CS4_W_Setup','15','CS4_W_Setup_ns','160','CS4_W_Strobe','63','CS4_W_Strobe_ns','640','CS4_W_Hold','7','CS4_W_Hold_ns','80','CS4_TA_Cycles','3','CS4_Extend_Wait_Enable',0,'Extended_Wait_Cycle','128','Extended_Wait_Polarity','High','WaitRise',0,'TimeOut',0,'LineTrap',0),'EMIF2',struct('ClockDiv','SYSCLKOUT/2','ClockFrequency','100','CS0',0,'ColumnAddress','8','PageSize','256','Banks','1','BusWidth','16','t_rfc','3','t_rfc_ns','40','t_rp','1','t_rp_ns','20','t_rcd','2','t_rcd_ns','30','t_wr','1','t_wr_ns','20','t_ras','4','t_ras_ns','50','t_rc','6','t_rc_ns','70','t_rrd','1','t_rrd_ns','20','t_xsr','7','t_xsr_ns','80','RefreshPeriod','64','RefreshCycle','4096','RefreshRate','1562','CASLatency','3','CS2',0,'CS2_AsynchronousMode','Normal','CS2_AsyncDataWidth','16','CS2_R_Setup','15','CS2_R_Setup_ns','160','CS2_R_Strobe','63','CS2_R_Strobe_ns','640','CS2_R_Hold','7','CS2_R_Hold_ns','80','CS2_W_Setup','15','CS2_W_Setup_ns','160','CS2_W_Strobe','63','CS2_W_Strobe_ns','640','CS2_W_Hold','7','CS2_W_Hold_ns','80','CS2_TA_Cycles','3','CS2_Extend_Wait_Enable',0,'Extended_Wait_Cycle','128','Extended_Wait_Polarity','High','WaitRise',0,'TimeOut',0,'LineTrap',0),'XINT',struct('GPIOXINT1SEL','0','GPIOXINT2SEL','0','GPIOXINT3SEL','0','GPIOXINT4SEL','0','GPIOXINT5SEL','0','Polarity1','Falling edge','Polarity2','Falling edge','Polarity3','Falling edge','Polarity4','Falling edge','Polarity5','Falling edge'),'ExtModeCOMPort','COM2','ExecutionProfileBufferLen',50,'SDCard',struct('Enable',0,'SPIModule','SPI_C','SPIBaudrate','Maximum achievable supported by the inserted SD Card'),'DataVersion','2016.02'));   % CoderTargetData

总结

  代码生成的基本内容基本上就这么多,还有一点Simulink Coder库的模块,还没有找到好的资料进行讲解的,官方库讲的也不是很清楚。

2837xd 代码生成——补充(3)相关推荐

  1. 2837xd代码生成模块学习(2)——ADC、ePWM模块、Timer0

    2837xd代码生成模块学习(2)--ADC.ePWM模块.Timer0 1 ADC模块 2 Timer0中断 3 ePWM模块配置 模型链接:链接 1 ADC模块 模型结构: 以上结构完成了经过AD ...

  2. 飞浆AI studio人工智能课程学习(3)-在具体场景下优化Prompt

    文章目录 在具体场景下优化Prompt 营销场景 办公效率场景 日常生活场景 海报背景图生成 办公效率场景 预设Prompt 生活场景中日常学习 Prompt: 给写完的代码做文档 将优质Prompt ...

  3. 和AI结对编程!OpenAI与GitHub联手推出AI代码生成工具,比GPT-3更强大

    作者 | 琰琰.青暮 比GPT-3更强大! 昨日,微软与OpenAI共同推出了一款AI编程工具GitHub Copilot,这款工具基于GitHub及其他网站的源代码,可根据上文提示为程序员自动编写下 ...

  4. OpenAI与GitHub联手推出AI代码生成工具,比GPT-3更强大

    来源:AI科技评论 作者:琰琰.青暮 比GPT-3更强大! 昨日,微软与OpenAI共同推出了一款AI编程工具GitHub Copilot,这款工具基于GitHub及其他网站的源代码,可根据上文提示为 ...

  5. mybatisplus自动生成id_mybatisPlus自动代码生成实例(超级简单使用)

    每次新项目的开发,都避免不了建很多的dao层.service等等的文件夹,显得很是麻烦,在此推荐一种可快速生成entity.service.mapper.controller文件,以便节省我们的时间, ...

  6. vue可视化拖拽生成工具_vdesjs: 基于vue的可视化拖拽,代码生成工具。提升前端开发效率,或者集成至项目作为在线拖拽工具。(持续迭代升级中)...

    vdesjs 介绍 vdesjs是一款基于vue技术栈,可视化拖拽,代码生成工具.我们提供详细的文档来帮助您理解我们工具的实现原理,并且您可以方便的基于vdesjs来扩展您自己的代码生成组件. 技术选 ...

  7. C# 9 新特性 —— 补充篇

    C# 9 新特性 -- 补充篇 Intro 前面我们分别介绍了一些 C# 9 中的新特性,还有一些我觉得需要了解一下的新特性,写一篇作为补充. Top-Level Statements 在以往的代码里 ...

  8. jooq代码生成_将jOOQ与Spring结合使用:代码生成

    jooq代码生成 我们可能在本教程的第一部分中还记得jOOQ指出 jOOQ从您的数据库生成Java代码,并允许您通过其流畅的API构建类型安全SQL查询. 本教程的第一部分描述了如何配置使用jOOQ的 ...

  9. 将jOOQ与Spring结合使用:代码生成

    我们可能在本教程的第一部分中还记得jOOQ指出 jOOQ从您的数据库生成Java代码,并允许您通过其流畅的API构建类型安全的SQL查询. 本教程的第一部分描述了如何配置使用jOOQ的Spring驱动 ...

  10. 同步数据流语言代码生成工具的研究进展

    摘要 同步数据流语言(如Lustre,Signal)近年来在航空.高铁.核电等安全关键领域得到了广泛应用,因此与这类语言相关的开发工具本身的安全性问题受到高度关注.同步数据流语言到串行命令式语言的代码 ...

最新文章

  1. 项目经理生存现状(漫画)
  2. 使用cookie登录时记录登录名
  3. RUP,XP,敏捷原理
  4. rpc协议微服务器,RPC协议及实现方式(分布式微服务治理的核心)
  5. 支付宝上线新功能:一定要给家人开通!
  6. 计算机access数据库,部署 Access 应用程序
  7. 字符编码(一):序言
  8. Gson之TypeAdapterFactory
  9. java类型的对象可以存储属性_重识JVM(一)-类与对象在JVM中是如何存储的
  10. 子网掩码、网络地址、广播地址的计算
  11. python3 调用http接口例子
  12. [data engineering] (一)数据工程师的工作内容以及需要的软硬实力
  13. 英文构词法 —— circum- 前缀
  14. 【PTA】7-14 猴子吃桃问题
  15. 骨传导耳机有什么危害?骨传导耳机对人体有什么影响?
  16. 魏兴国:深入浅出DDoS攻击防御
  17. gradle-6.1.1-all 快速下载
  18. 注意力机制基本原理详解及应用
  19. 浅谈PS CC 2020——适合新手学习的最新版软件
  20. MySQL详细学习教程(一)

热门文章

  1. php中将图片裁剪为圆形
  2. linux系统中怎么配置路由,Linux系统中路由配置介绍
  3. python alpha通道_python opencv 为图片添加alpha通道并设置透明
  4. 新版标准日本语中级_第五课
  5. 输入日期查星座 php,php根据日期显示所在星座的方法_PHP
  6. 2022秋招笔试备考合集——银行篇(下)|智测优聘出品
  7. RealSense 图形识别之路 2.0
  8. 计算机音乐数字大全抖音,抖音歌曲大全100首,抖音最火的100首音乐
  9. antd组件:Table表格去掉表格边框线,#字类型表格
  10. 12306验证码识别