我想從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