我想从matlab函数中生成一个静态c库。生成的代码包括memset和memcpy函数调用,我不想这样做,因为我想在vivado HLS中为FPGA项目使用此代码,并且这两个操作不是允许的。codegen:如何摆脱matlab生成的代码中的memset和memcpy?
我试过以下 1)从Matlab编码器应用程序中取消选中“启用变量大小”。 2)用于下面的命令行脚本
cfg = coder.config('lib');
cfg.GenCodeOnly = true;
cfg.EnableVariableSizing = false;
cfg.EnableMemcpy = false;
cfg.SupportNonFinite = false;
cfg.InitFltsAndDblsToZero = false;
cfg.FilePartitionMethod = 'SingleFile';
cfg.DynamicMemoryAllocation = 'off';
codegen -config cfg harris -args { zeros(640,480,'uint8'),zeros(1,1,'int32')}
线cfg.InitFltsAndDblsToZero = FALSE;应该消除用于初始化数组的memset调用,但在我生成的代码中,我仍然可以看到memset函数调用。
因此,这两种方法都不适合我。
请告诉我,如果它需要更多的配置更改,如果这是可能的通过MATLAB的编码器gui?
P.S. 我已经使用此链接来设置codegen配置对象属性http://www.mathworks.com/help/coder/ref/coder.embeddedcodeconfig-class.html
你有一些示例代码来重现此? – Navan