Hello,
I try to add the SDHC Component in my PE BSB in wich also MQX is used.
When compiled without SDHC component ist works and also the MQX runs perfectly.
But when I add the SDHC_LDD Component and try to compile the BSB, I get following errors in the Processor Expert generated Code:
----------------------------------------------------------------------------------------------------------
.......
'Building file: ../Generated_Code/SDHC1.c'
'Invoking: ARM Compiler'
"D:/Freescale/CW MCU v10.1/MCU/ARM_Tools/Command_Line_Tools/mwccarm" -gccinc @@"Generated_Code/SDHC1.args" -o "Generated_Code/SDHC1.obj" -c "../Generated_Code/SDHC1.c" -MD -gccdep
D:/Freescale/CW MCU v10.1/MCU/ARM_Tools/Command_Line_Tools/mwccarm|Compiler|Error
(D:\Freescale\Freescale MQX 3.7\mqx\build\cw10\bsp_twrk60n512_pe\Generated_Code\SDHC1.c|512|58|9|32741|9)
= DeviceDataPrv = (SDHC1_TDeviceData *)_mem_alloc_system((_mem_size)sizeof(SDHC1_TDeviceData));
>undefined identifier '_mem_size'
D:/Freescale/CW MCU v10.1/MCU/ARM_Tools/Command_Line_Tools/mwccarm|Compiler|Error
(D:\Freescale\Freescale MQX 3.7\mqx\build\cw10\bsp_twrk60n512_pe\Generated_Code\SDHC1.c|580|64|1|37631|1)
=vedISRSettings.isrData = _int_get_isr_data(LDD_ivIndex_INT_SDHC);
>illegal implicit conversion from 'int' to
>'void *'
D:/Freescale/CW MCU v10.1/MCU/ARM_Tools/Command_Line_Tools/mwccarm|Compiler|Error
(D:\Freescale\Freescale MQX 3.7\mqx\build\cw10\bsp_twrk60n512_pe\Generated_Code\SDHC1.c|581|64|1|37752|1)
=nstall_isr(LDD_ivIndex_INT_SDHC, SDHC1_Interrupt, DeviceDataPrv);
>illegal implicit conversion from 'int' to
>'void (*)(void *)'
Errors caused tool to abort.
D:\Freescale\CW MCU v10.1\gnu\bin\make: *** [Generated_Code/SDHC1.obj] Error 1
----------------------------------------------------------------------------------------------------------
The first error "undefined identifier '_mem_size'" I get cleard by amnually adding the psptypes.h header file but what about the other ones, is the generated code buggy or is just another include necessary?
Solved! Go to Solution.
Hi,
this is a bug in the SDHC component. It does not generate the necessary MQX includes into the SDHC component's .c module:
#include "mqx.h"
#include "ioctl.h"
Workaround is to freeze the SDHC component code generation (rigth click on the SDHC component in the project panel and selecting Code generation/Don't write generated...) and to add the missing includes to the generated SDHC component's .c module.
We apologize for the inconveniencies.
Hi,
this is a bug in the SDHC component. It does not generate the necessary MQX includes into the SDHC component's .c module:
#include "mqx.h"
#include "ioctl.h"
Workaround is to freeze the SDHC component code generation (rigth click on the SDHC component in the project panel and selecting Code generation/Don't write generated...) and to add the missing includes to the generated SDHC component's .c module.
We apologize for the inconveniencies.
Thanks, that worked.