FORUM TOPIC · READ ONLY
Communication blockset - bpsk modulation - Error at 1138
Communication blockset - bpsk modulation - Error at 1138
Forum : General Remark and Questions
14 message(s) · archive en lecture seule
Hello Lubin!
I have a problem when matlab generates a с-code from simulink model!
Compilation begins & after 2 sec it shows an error. :(
And simulink shows the window: Error building Real-Time Workshop target for block diagram 'untitled'. MATLAB error message:
Error using ==> genMakefileAndBuild at 1138
Error(s) encountered while building model "untitled".
Could you help me?
I don't know, what does it means :?: :?: :?:
I have a problem when matlab generates a с-code from simulink model!
Compilation begins & after 2 sec it shows an error. :(
### Invoking Target Language Compiler on untitled.rtw
tlc
-r
C:\Users\п\Documents\MATLAB\untitled_dspic\sources\untitled.rtw
D:\Учеба\МАГИСТРАТУРА\Ветринский\библиотека PIC дляsimulink\dspic\dspic.tlc
-OC:\Users\п\Documents\MATLAB\untitled_dspic\sources
-ID:\Учеба\МАГИСТРАТУРА\Ветринский\библиотека PIC дляsimulink\dspic
-ID:\Program Files\MATLAB\R2008a\toolbox\dspblks\dspmex\tlc_c
-ID:\Учеба\МАГИСТРАТУРА\Ветринский\библиотека PIC дляsimulink\blocks
-ID:\Program Files\MATLAB\R2008a\toolbox\commblks\commmex\tlc_c
-IC:\Users\п\Documents\MATLAB\untitled_dspic\sources\tlc
-ID:\Program Files\MATLAB\R2008a\rtw\c\tlc\mw
-ID:\Program Files\MATLAB\R2008a\rtw\c\tlc\lib
-ID:\Program Files\MATLAB\R2008a\rtw\c\tlc\blocks
-ID:\Program Files\MATLAB\R2008a\rtw\c\tlc\fixpt
-ID:\Program Files\MATLAB\R2008a\stateflow\c\tlc
-aEnforceIntegerDowncast=1
-aFoldNonRolledExpr=1
-aInlineInvariantSignals=0
-aInlineParameters=0
-aLocalBlockOutputs=1
-aRollThreshold=5
-aZeroInternalMemoryAtStartup=1
-aZeroExternalMemoryAtStartup=1
-aInitFltsAndDblsToZero=1
-aGenerateReport=0
-aGenCodeOnly=0
-aRTWVerbose=1
-aIncludeHyperlinkInReport=0
-aLaunchReport=0
-aGenerateTraceInfo=0
-aForceParamTrailComments=0
-aGenerateComments=1
-aIgnoreCustomStorageClasses=0
-aIncHierarchyInIds=0
-aMaxRTWIdLen=31
-aShowEliminatedStatements=0
-aIncDataTypeInIds=0
-aInsertBlockDesc=0
-aSimulinkBlockComments=1
-aInlinedPrmAccess="Literals"
-aTargetFcnLib="ansi_tfl_table_tmw.mat"
-aGenFloatMathFcnCalls="ANSI_C"
-aIsPILTarget=0
-aIncludeMdlTerminateFcn=0
-aCombineOutputUpdateFcns=1
-aSuppressErrorStatus=1
-aERTCustomFileBanners=1
-aLogVarNameModifier="rt_"
-aGenerateFullHeader=1
-aGenerateSampleERTMain=0
-aMatFileLogging=0
-aMultiInstanceERTCode=0
-aPurelyIntegerCode=0
-aPortableWordSizes=0
-aGenerateErtSFunction=0
-aGenerateASAP2=0
-aExtMode=0
-aExtModeStaticAlloc=0
-aExtModeStaticAllocSize=1000000
-aExtModeTransport=0
-aExtModeTesting=0
-aInlinedParameterPlacement="NonHierarchical"
-aTargetOS="BareBoardExample"
-aMultiInstanceErrorCode="Error"
-aRateGroupingCode=1
-aRTWCAPISignals=0
-aRTWCAPIParams=0
-aRootIOStructures=0
-aERTCustomFileTemplate="dsPIC_main.tlc"
-aGMAKE_PLACE="D:\PROGRA~1\MATLAB\R2008a\bin\win32\gmake"
-aOPTIM_GCC="-mcpu=30f2012 -O3 -fschedule-insns -fschedule-insns2"
-aLDFLAGS="-t --report-mem -Map ../untitled.map --heap 0 -cref"
-aLDPICTYPE="-T C:\PROGRA~1\MICROC~1\MPLABC~2\support\dsPIC30F\gld\p30f2012.gld"
-aLDLIBPIC="C:\PROGRA~1\MICROC~1\MPLABC~2\lib\libpic30-coff.a C:\PROGRA~1\MICROC~1\MPLABC~2\lib\dsPIC30F\libp30f2012-coff.a C:\PROGRA~1\MICROC~1\MPLABC~2\lib\libc-coff.a C:\PROGRA~1\MICROC~1\MPLABC~2\lib\libm-coff.a"
-aPIC_INCLUDES="-I C:\PROGRA~1\MICROC~1\MPLABC~2\include"
-aPIC_REF="30f2012"
-aGCCPATH="C:\\PROGRA~1\\MICROC~1\\MPLABC~2\\bin\\"
-aGenerateTraceInfo=0
-p10000
### Loading TLC function libraries
.....
### Initial pass through model to cache user defined code
.
### Caching model source code
................
### Writing main
### Writing header file untitled_types.h
.
### Writing header file untitled.h
### Writing source file untitled.c
.
### Writing header file untitled_private.h
### Writing source file untitled_data.c
### Writing header file autobuild.h
.
### Writing source file untitled_main.c
### TLC code generation complete.
### Evaluating PostCodeGenCommand specified in the model
----------------------------------------------------
----------------------------------------------------
Embedded Coder for dsPIC V3.0(26-Sep-2009) for Matlab R2008a.
Licence Accorded to Demonstration Version
[adresse e-mail retirée]
Author : Lubin KERHUEL
WEBSITE : http://www.kerhuel.eu/wiki
SIRENE : 503 920 456
SIRET : 503 920 456 00012
Facturation to : Demo
Demo
Lubin KERHUEL
18 avenue Joseph Lieutaud
13260 Cassis
FRANCE
----------------------------------------------------
Check updates and new informations at : www.kerhuel.eu
----------------------------------------------------
.
### Processing Template Makefile: D:\Учеба\МАГИСТРАТУРА\Ветринский\библиотека PIC дляsimulink\dspic\dspic_pic30_gcc.tmf
### Creating untitled.mk from D:\Учеба\МАГИСТРАТУРА\Ветринский\библиотека PIC дляsimulink\dspic\dspic_pic30_gcc.tmf
### Building untitled: .\untitled.bat
C:\Users\Ї\Documents\MATLAB\untitled_dspic\sources>set MATLAB=D:\Program Files\MATLAB\R2008a
C:\Users\Ї\Documents\MATLAB\untitled_dspic\sources>"D:\PROGRA~1\MATLAB\R2008a\bin\win32\gmake" -f untitled.mk GENERATE_REPORT=0 MULTI_INSTANCE_CODE=0 PORTABLE_WORDSIZES=0 GENERATE_ASAP2=0 TMW_EXTMODE_TESTING=0
C:\\PROGRA~1\\MICROC~1\\MPLABC~2\\bin\\pic30-gcc -c -mcpu=30f2012 -O3 -fschedule-insns -fschedule-insns2 -O -I. -I..\.. -ID:\PROGRA~1\MATLAB\R2008a/simulink/include -ID:\PROGRA~1\MATLAB\R2008a/extern/include -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/ert -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src/ext_mode/common -IC:\Users\п\Documents\MATLAB\untitled_dspic\sources -IC:\Users\п\Documents\MATLAB -ID:\PROGRA~1\MATLAB\R2008a\rtw\c\libsrc -ID:\PROGRA~1\MATLAB\R2008a\toolbox\dspblks\include -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\dspblks\c -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\comm\c\include -I C:\PROGRA~1\MICROC~1\MPLABC~2\include dsPIC_Multiplexed_out_UART1.c
C:\\PROGRA~1\\MICROC~1\\MPLABC~2\\bin\\pic30-gcc -c -mcpu=30f2012 -O3 -fschedule-insns -fschedule-insns2 -O -I. -I..\.. -ID:\PROGRA~1\MATLAB\R2008a/simulink/include -ID:\PROGRA~1\MATLAB\R2008a/extern/include -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/ert -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src/ext_mode/common -IC:\Users\п\Documents\MATLAB\untitled_dspic\sources -IC:\Users\п\Documents\MATLAB -ID:\PROGRA~1\MATLAB\R2008a\rtw\c\libsrc -ID:\PROGRA~1\MATLAB\R2008a\toolbox\dspblks\include -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\dspblks\c -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\comm\c\include -I C:\PROGRA~1\MICROC~1\MPLABC~2\include dsPIC_UART1_Interrupt.c
dsPIC_UART1_Interrupt.c: In function '_U1TXInterrupt':
dsPIC_UART1_Interrupt.c:19: warning: PSV model not specified for '_U1TXInterrupt';
assuming 'auto_psv' this may affect latency
dsPIC_UART1_Interrupt.c: In function '_U1RXInterrupt':
dsPIC_UART1_Interrupt.c:31: warning: PSV model not specified for '_U1RXInterrupt';
assuming 'auto_psv' this may affect latency
C:\\PROGRA~1\\MICROC~1\\MPLABC~2\\bin\\pic30-gcc -c -mcpu=30f2012 -O3 -fschedule-insns -fschedule-insns2 -O -I. -I..\.. -ID:\PROGRA~1\MATLAB\R2008a/simulink/include -ID:\PROGRA~1\MATLAB\R2008a/extern/include -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/ert -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src/ext_mode/common -IC:\Users\п\Documents\MATLAB\untitled_dspic\sources -IC:\Users\п\Documents\MATLAB -ID:\PROGRA~1\MATLAB\R2008a\rtw\c\libsrc -ID:\PROGRA~1\MATLAB\R2008a\toolbox\dspblks\include -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\dspblks\c -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\comm\c\include -I C:\PROGRA~1\MICROC~1\MPLABC~2\include untitled_data.c
C:\\PROGRA~1\\MICROC~1\\MPLABC~2\\bin\\pic30-gcc -c -mcpu=30f2012 -O3 -fschedule-insns -fschedule-insns2 -O -I. -I..\.. -ID:\PROGRA~1\MATLAB\R2008a/simulink/include -ID:\PROGRA~1\MATLAB\R2008a/extern/include -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/ert -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src/ext_mode/common -IC:\Users\п\Documents\MATLAB\untitled_dspic\sources -IC:\Users\п\Documents\MATLAB -ID:\PROGRA~1\MATLAB\R2008a\rtw\c\libsrc -ID:\PROGRA~1\MATLAB\R2008a\toolbox\dspblks\include -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\dspblks\c -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\comm\c\include -I C:\PROGRA~1\MICROC~1\MPLABC~2\include untitled_main.c
C:\\PROGRA~1\\MICROC~1\\MPLABC~2\\bin\\pic30-gcc -c -mcpu=30f2012 -O3 -fschedule-insns -fschedule-insns2 -O -I. -I..\.. -ID:\PROGRA~1\MATLAB\R2008a/simulink/include -ID:\PROGRA~1\MATLAB\R2008a/extern/include -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/ert -ID:\PROGRA~1\MATLAB\R2008a/rtw/c/src/ext_mode/common -IC:\Users\п\Documents\MATLAB\untitled_dspic\sources -IC:\Users\п\Documents\MATLAB -ID:\PROGRA~1\MATLAB\R2008a\rtw\c\libsrc -ID:\PROGRA~1\MATLAB\R2008a\toolbox\dspblks\include -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\dspblks\c -ID:\PROGRA~1\MATLAB\R2008a\toolbox\rtw\comm\c\include -I C:\PROGRA~1\MICROC~1\MPLABC~2\include untitled.c
untitled.c: In function 'untitled_step':
untitled.c:145: error: unrecognizable insn:
(0x018c9eb0) (insn 234 42 44 2 (set (reg:SF 2 w2)
(unspec:SF [
(mem:SF (plus:P16APSV (subreg:P16APSV (plus:HI (reg/f:HI 15 w15)
(const_int -36 [0xffffffdc])) 0)
(const_int 24 [0x18])) [0 S4 A16])
(reg:HI 19 PSVPAG)
] 62)) -1 (nil)
(nil))
untitled.c:145: internal compiler error: in extract_insn, at recog.c:2020
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://support.microchip.com> for instructions.
gmake: *** [untitled.o] Error 255
### Real-Time Workshop build procedure for model: 'untitled' aborted due to an error. And simulink shows the window: Error building Real-Time Workshop target for block diagram 'untitled'. MATLAB error message:
Error using ==> genMakefileAndBuild at 1138
Error(s) encountered while building model "untitled".
Could you help me?
I don't know, what does it means :?: :?: :?:
Re: Error using genMakefileAndBuild at 1138
The error is there :
It seems to ba an compiler error ? I never see this error before. Could you upload your simulink model and precise which C30 compiler version you are working with ? can you compile model in the blockst example directory ?
Lubin
Citation : Lizaveta untitled.c:145: error: unrecognizable insn:
(0x018c9eb0) (insn 234 42 44 2 (set (reg:SF 2 w2)
(unspec:SF [
(mem:SF (plus:P16APSV (subreg:P16APSV (plus:HI (reg/f:HI 15 w15)
(const_int -36 [0xffffffdc])) 0)
(const_int 24 [0x18])) [0 S4 A16])
(reg:HI 19 PSVPAG)
] 62)) -1 (nil)
(nil))
untitled.c:145: internal compiler error: in extract_insn, at recog.c:2020
It seems to ba an compiler error ? I never see this error before. Could you upload your simulink model and precise which C30 compiler version you are working with ? can you compile model in the blockst example directory ?
Lubin
Re: Error using genMakefileAndBuild at 1138
Thank you for answer. If I understand you correctly, it's link for my model http://rapidshare.com/files/295088629/bpsk.mdl.html :oops:
To tell the truth, I am a beginner in generating c-code frome simulink model.
I've installed MPLAB C30, MPLAB IDE v8.30.
I should do the simple model, which contains modalator and demodulator, then generating c-code and after that upload it to MPLAB IDE. :wink:
To tell the truth, I am a beginner in generating c-code frome simulink model.
I've installed MPLAB C30, MPLAB IDE v8.30.
I should do the simple model, which contains modalator and demodulator, then generating c-code and after that upload it to MPLAB IDE. :wink:
Re: Error using genMakefileAndBuild at 1138
I do not have the communication blockset (with PSK modulation and so on). Thus, I cannot test the model right now.
Perhaps the AWGN channel block is too complicated for the dsPIC your are using. Try several optimisation options in the real time workshop pannel options. (Simulation ==> Real time workshop ==> Optimization ==> inline constant). If it still do not work, try to build theses high end blocks using simple functions. (you may try to look under mask of theses blocks, you may perhaps see how they are made).
Lubin
Perhaps the AWGN channel block is too complicated for the dsPIC your are using. Try several optimisation options in the real time workshop pannel options. (Simulation ==> Real time workshop ==> Optimization ==> inline constant). If it still do not work, try to build theses high end blocks using simple functions. (you may try to look under mask of theses blocks, you may perhaps see how they are made).
Lubin
Re: Error using genMakefileAndBuild at 1138
I've tried 'Simulation ==> Real time workshop ==> Optimization ==> inline constant', but unfortunately it didn't help :(
Can i ask, maybe later you'll be able to test it, cause I need it very much.
Actually i should do only modulator or encoder, but i couldn't do it, cause I had a problem with type of data. Output of modulator is complex signal and input of PIC block should be real. Can you advice me something?!
I will be waiting for your answer. Thank you very much for your help.
Can i ask, maybe later you'll be able to test it, cause I need it very much.
Actually i should do only modulator or encoder, but i couldn't do it, cause I had a problem with type of data. Output of modulator is complex signal and input of PIC block should be real. Can you advice me something?!
I will be waiting for your answer. Thank you very much for your help.
Re: Error using genMakefileAndBuild at 1138
Citation : Lizaveta Can i ask, maybe later you'll be able to test it, cause I need it very much
I have to find a matlab version with theses blocks available.
Anyway, for the complex signal, there is a simulink block that convert complex signal into real part and imaginary part (theses two values are two reals), you may also convert them into one amplitude and one phase (make sense for communication)
Lubin
Re: Error using genMakefileAndBuild at 1138
Thanks! It'll be great, if you find it.
I've tried to use such block (complex to real and im), but after it I don't know real or im will be input for PIC block, for example TX Output 'Multiplexed
for Matlab / Labview'
I've tried to use such block (complex to real and im), but after it I don't know real or im will be input for PIC block, for example TX Output 'Multiplexed
for Matlab / Labview'
Re: Error using genMakefileAndBuild at 1138
Hello Lubin! sorry for disturbing you! Can you answer my last messege! :oops:
Did you try to check my model??????????????
Did you try to check my model??????????????
Re: Error using genMakefileAndBuild at 1138
Hey Lizaveta,
Sorry for the delay; I compiled successfully your model on matlab 2009b, with Microchip C30 v3_11.
I get the .hex file without problems.
However, I do not upload it on the forum as it seems to be a compilation test; the model will not do anything interesting. I think you will get always the same output: The output of the ADC is within [0 4096], let say it will hardly not take the 0 value. The BPSK (M-PSK) modulator baseband block will takes the input value as 1, as only two symbols are set (thus output is +1 or -1). As far as I understand, the block output is the phase information that must be used to modulate a signal, typically a sine wave. Adding AWGN noise to this phase information and demodulating directly with this signal seems wired.
What about generating a real modulation using a PWM output as an analogue output (with RC filter)
Anyway, this model compiled successfully here. Check your c30 version. (Type !pic30-gcc -v at the matlab prompt)
Does examples compile properly (check the example directory of the blockset)
Lubin
Sorry for the delay; I compiled successfully your model on matlab 2009b, with Microchip C30 v3_11.
I get the .hex file without problems.
However, I do not upload it on the forum as it seems to be a compilation test; the model will not do anything interesting. I think you will get always the same output: The output of the ADC is within [0 4096], let say it will hardly not take the 0 value. The BPSK (M-PSK) modulator baseband block will takes the input value as 1, as only two symbols are set (thus output is +1 or -1). As far as I understand, the block output is the phase information that must be used to modulate a signal, typically a sine wave. Adding AWGN noise to this phase information and demodulating directly with this signal seems wired.
What about generating a real modulation using a PWM output as an analogue output (with RC filter)
Anyway, this model compiled successfully here. Check your c30 version. (Type !pic30-gcc -v at the matlab prompt)
Does examples compile properly (check the example directory of the blockset)
Lubin
Re: Error using genMakefileAndBuild at 1138
Thank you, thank you very much! I am glad to hear that!
May be you can send me this successful model to me!(I also have matlab 2009b)
My e-mail [adresse e-mail retirée].
Please, cause it'll really helps me.
You were using Compiler C30, weren't you?
Can I use for compilation MPLAB IDE??
I'am waiting eor answer.
Thank you for your help!!!!!!!111111 :!: :!: :D
May be you can send me this successful model to me!(I also have matlab 2009b)
My e-mail [adresse e-mail retirée].
Please, cause it'll really helps me.
You were using Compiler C30, weren't you?
Can I use for compilation MPLAB IDE??
I'am waiting eor answer.
Thank you for your help!!!!!!!111111 :!: :!: :D
Re: Error using genMakefileAndBuild at 1138
It's the same model as the one you posted !
anyway, I used C30 directly from simulink (through the blockset)
You can import all necessary file in MPLAB, but you need to configure the whole project. Do remember to add the required library. It may be better to let matlab to compile all necessary library into one object file that you will add in your mplab project.
Usually, I do not use MPLAB, except to import the .hex or .coff file to program the target with an ICD2/real ice or equivalent.
Lubin
anyway, I used C30 directly from simulink (through the blockset)
You can import all necessary file in MPLAB, but you need to configure the whole project. Do remember to add the required library. It may be better to let matlab to compile all necessary library into one object file that you will add in your mplab project.
Usually, I do not use MPLAB, except to import the .hex or .coff file to program the target with an ICD2/real ice or equivalent.
Lubin
Re: Error using genMakefileAndBuild at 1138
lizaveta,
Assuming you get this to compile on your end, you should really check the load on the processor using the timing tools in the block set. From experience, using the PSK and AWGN blocks from the Communications blockset AND trying to run these with the double data type conversion at 1000Hz on your processor (specified at 2.5MIPS in the configuration) is going to totally overwhelm the PIC microcontroller. Taking the double data type conversion out and running this all with fixed point numbers would help, but I would still keep on eye on the load. If you don't want to implement the load checking yourself, set the "Overload Flag Port" on the dsPIC Master block to a pin and tie an LED to it. If the LED lights up, your algorithm is to much for the PIC.
Corey
Assuming you get this to compile on your end, you should really check the load on the processor using the timing tools in the block set. From experience, using the PSK and AWGN blocks from the Communications blockset AND trying to run these with the double data type conversion at 1000Hz on your processor (specified at 2.5MIPS in the configuration) is going to totally overwhelm the PIC microcontroller. Taking the double data type conversion out and running this all with fixed point numbers would help, but I would still keep on eye on the load. If you don't want to implement the load checking yourself, set the "Overload Flag Port" on the dsPIC Master block to a pin and tie an LED to it. If the LED lights up, your algorithm is to much for the PIC.
Corey
Re: Communication blockset - bpsk modulation - Error at 113
You can import all necessary file in MPLAB, but you need to configure the whole project. Do remember to add the required library. It may be better to let matlab to compile all necessary library into one object file that you will add in your mplab project.
Re: Communication blockset - bpsk modulation - Error at 113
You need to configure the entire project. Do remember to add the required libraries. It might be better to let MATLAB Compiler to a target file all the necessary libraries, you will add in your MPLAB project.