Ich versuche, eine statische c lib von einer Matlab-Funktion zu generieren. Der generierte Code enthält memset und memcpy Funktionsaufrufe, die ich nicht möchte, weil ich diesen Code in vivado HLS für ein FPGA-Projekt verwenden möchte und diese beiden Operationen nicht zulässig.codegen: wie loswerden von memset und memcpy in generierten code in matlab?
Ich habe folgendes versucht 1) Deaktivieren Sie "Variable Größe aktivieren" aus der Matlab Coder App. 2) verwendet, um die folgende Befehlszeile Skript
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')}
Die Linie cfg.InitFltsAndDblsToZero = false; soll Memset-Aufrufe zum Initialisieren von Arrays eliminieren, aber in meinem generierten Code sehe ich immer noch Memset-Funktionsaufrufe.
Also, beide Methoden funktionieren nicht für mich.
Bitte, sagen Sie mir, wenn es weitere Änderungen in der Konfiguration erfordert und wenn dies durch den Matlab Coder GUI möglich ist?
P.S. Ich habe diesen Link verwendet, um codegen Konfiguration Objekteigenschaften http://www.mathworks.com/help/coder/ref/coder.embeddedcodeconfig-class.html
Haben Sie einen Beispielcode, um dies zu reproduzieren? – Navan