Aug 31, 2014
11:07 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Aug 31, 2014
11:07 PM
Hello,
my Dave3 Project refuses to link. Source of the error is USBBL001_Conf.c:
... and so on, the whole code for ADC002.
Does the code generator cache the app code somewhere?
Is it possible to reset the code generator, delete caching directories or so?
my Dave3 Project refuses to link. Source of the error is USBBL001_Conf.c:
/*******************************************************************************
** DAVE App Name : USBBL001 App Version: 1.0.12
** This file is generated by DAVE, User modification to this file will be **
** overwritten at the next code generation. **
*******************************************************************************/
/*CODE_BLOCK_BEGIN[ADC002.c]*/
/*******************************************************************************
Copyright (c) 2014, Infineon Technologies AG **
All rights reserved. **
**
Redistribution and use in source and binary forms, with or without **
modification,are permitted provided that the following conditions are met: **
**
*Redistributions of source code must retain the above copyright notice, **
this list of conditions and the following disclaimer. **
*Redistributions in binary form must reproduce the above copyright notice, **
this list of conditions and the following disclaimer in the documentation **
and/or other materials provided with the distribution. **
*Neither the name of the copyright holders nor the names of its contributors **
may be used to endorse or promote products derived from this software without**
specific prior written permission. **
**
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" **
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE **
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE **
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE **
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR **
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF **
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS **
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN **
CONTRACT, STRICT LIABILITY,OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) **
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE **
POSSIBILITY OF SUCH DAMAGE. **
**
To improve the quality of the software, users are encouraged to share **
modifications, enhancements or bug fixes with Infineon Technologies AG **
dave@infineon.com). **
**
********************************************************************************
** **
** **
** PLATFORM : Infineon XMC4000/XMC1000 Series **
** **
** COMPILER : Compiler Independent **
** **
** AUTHOR : SSAM **
** **
** MAY BE CHANGED BY USER [yes/no]: Yes **
** **
** MODIFICATION DATE : Jan 31, 2014 **
** **
*******************************************************************************/
/**
* @file ADC002.c
*
* @brief This file contains ADC002 App API definitions
*
* Change History:
* Date version Details
* 12-Dec-2012 1.0.6 Initial code added for XMC1000
* 30-Jan-2013 1.0.8 App version changed
* 24-Apr-2013 1.0.12 Ported to XMC4500 step AB
* Source Result selection Feature added
* 10-Jun-2013 1.0.14 1. Integer Parameter updated in manifest to support
* PMSMFOCSL01 app.
* 2. In the Header comment section device name changed
* to XMC1000
* 3. Source Result register selection feature disabled
* due to header file update not available.
* 27-Jun-2013 1.0.16 Source Result register selection feature removed to
* simplify the app.
* 10-Sep-2013 1.0.18 1. Arbitration slot enable(ASEN) code is moved to the
* end of ADC002_lInit function.
* 2. Added support for the following devices under
* XMC1200 and XMC1300 Series XMC1201, XMC1202, XMC1301.
* 27-Sep-2013 1.0.20 ADC002_InitializeQueue api issue - the queue is not
* created if interrupt is enabled is fixed.
* 31-Oct-2013 1.0.22 '10 bit Fast compare mode' is made invisible in GUI
* for standard conversion mode.
* 30-Jan-2014 1.0.26 1. Error codes are added in various functions, that
* can be logged with DBG002 App.
* 2. Bugfix for incorrect interrupt-clear in
* ADC002_InitializeQueue API
*/
/**
* @cond INTERNAL_DOCS
*/
... and so on, the whole code for ADC002.
Does the code generator cache the app code somewhere?
Is it possible to reset the code generator, delete caching directories or so?
- Tags:
- dave general
- IFX
8 Replies
Not applicable
Sep 01, 2014
02:31 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 01, 2014
02:31 AM
Hi Daniel,
I was wondering where comes USBBL001_Conf.c since there is no GUI available in USBBL001[1.012]?
BR,
Zain
I was wondering where comes USBBL001_Conf.c since there is no GUI available in USBBL001[1.012]?
BR,
Zain
Not applicable
Sep 01, 2014
03:03 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 01, 2014
03:03 AM
Hi DrNOP,
Which link error message do you get ?
Best regards
Aaron
Which link error message do you get ?
Best regards
Aaron
Sep 01, 2014
04:37 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 01, 2014
04:37 AM
Hello Zain,
yes, i wonder too.
I found "usbld001_confc_template.java" in the Cache/src/ folder, which contains only 35 lines of Java code - nothing with ADC002.
Maybe there was something wrong in the Cache or Model directory - don't know. The project is under SVN control - but i don't think, that should be a problem, since i'm deleting missing files and adding every new one at commit time.
Now -- i created a copy of the project, deleted and reinserted USBBL001 in the original project. After solving and generating code it seemed to work for USBBL001.
In the project copy i deleted some other apps which where meant to be placeholders (for pin assignment). Then i tried to reinsert USBBL001. That failed (HW resources not shareable constraint), because i replaced SYSTM001 with SYSTM002 in the meantime.
I switched back to the original project, solved, code generated and recompiled it. Now there's DSDIF001 code in my USBBL001_Conf.c. This is weird.
@Aaron:
The linker complains about duplicate symbol definitions in ADC002.c and USBBL001_conf.c. Obviously - because the code has been generated twice.
Best regards,
Daniel
yes, i wonder too.
I found "usbld001_confc_template.java" in the Cache/src/ folder, which contains only 35 lines of Java code - nothing with ADC002.
Maybe there was something wrong in the Cache or Model directory - don't know. The project is under SVN control - but i don't think, that should be a problem, since i'm deleting missing files and adding every new one at commit time.
Now -- i created a copy of the project, deleted and reinserted USBBL001 in the original project. After solving and generating code it seemed to work for USBBL001.
In the project copy i deleted some other apps which where meant to be placeholders (for pin assignment). Then i tried to reinsert USBBL001. That failed (HW resources not shareable constraint), because i replaced SYSTM001 with SYSTM002 in the meantime.
I switched back to the original project, solved, code generated and recompiled it. Now there's DSDIF001 code in my USBBL001_Conf.c. This is weird.
@Aaron:
The linker complains about duplicate symbol definitions in ADC002.c and USBBL001_conf.c. Obviously - because the code has been generated twice.
Best regards,
Daniel
Sep 01, 2014
04:43 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 01, 2014
04:43 AM
The code:
Linker message:
...
Dave/Generated/src/DSDIF003/DSDIF003_Conf.o:(.rodata+0x0): multiple definition of `DSDIF003_Handle0'
Dave/Generated/src/USBBL001/USBBL001_Conf.o:(.rodata+0x0): first defined here
Dave/Generated/src/DSDIF003/DSDIF003_Conf.o:(.rodata+0x2c): multiple definition of `DSDIF003_Handle1'
Dave/Generated/src/USBBL001/USBBL001_Conf.o:(.rodata+0x2c): first defined here
...
Regards,
Daniel
/*******************************************************************************
** DAVE App Name : USBBL001 App Version: 1.0.12
** This file is generated by DAVE, User modification to this file will be **
** overwritten at the next code generation. **
*******************************************************************************/
/*CODE_BLOCK_BEGIN[DSDIF003_Conf.c]*/
/*******************************************************************************
Copyright (c) 2011, Infineon Technologies AG **
All rights reserved. **
**
Redistribution and use in source and binary forms, with or without **
modification,are permitted provided that the following conditions are met: **
**
*Redistributions of source code must retain the above copyright notice, **
this list of conditions and the following disclaimer. **
*Redistributions in binary form must reproduce the above copyright notice, **
this list of conditions and the following disclaimer in the documentation **
and/or other materials provided with the distribution. **
*Neither the name of the copyright holders nor the names of its contributors **
may be used to endorse or promote products derived from this software without**
specific prior written permission. **
**
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" **
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE **
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE **
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE **
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR **
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF **
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS **
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN **
CONTRACT, STRICT LIABILITY,OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) **
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE **
POSSIBILITY OF SUCH DAMAGE. **
**
To improve the quality of the software, users are encouraged to share **
modifications, enhancements or bug fixes with Infineon Technologies AG **
dave@infineon.com). **
**
********************************************************************************
** **
** **
** PLATFORM : Infineon XMC4000 Series **
** **
** COMPILER : Compiler Independent **
** **
** AUTHOR : App Developer **
** **
** MAY BE CHANGED BY USER [yes/no]: Yes **
** **
** MODIFICATION DATE : Oct 10, 2013 **
** **
*******************************************************************************/
/*******************************************************************************
** Revision History **
********************************************************************************
** 12 Nov 2012 V1.0.0 KP Initial version **
** 30 May 2013 V1.0.1 SS Updated for XMC4400 controller family CLock **
gating **
** 10 Oct 2013 V1.0.2 SS Bugfix for External clock selection defect **
*******************************************************************************/
/*******************************************************************************
** Author(s) Identity **
********************************************************************************
** **
** Initials Name **
** ---------------------------------------------------------------------------**
** SS Sridhar Sampath **
** KP Kapil **
*******************************************************************************/
/**
* @file DSDIF003_Conf.c
* App Version DSDIF003 <1.0.6>
* @brief This file has the App instance configurations
*
*/
#include
DSDIF003_DynamicDataType DSDIF003_Dynamicdata0;
const DSDIF003_HandleType DSDIF003_Handle0 =
{
.DSDKernelNum = 1U,
.DSDKernelRegPtr = DSD_CH1,
.ModuleClockDivider = -1U,
.Strobe = (uint8_t)DSDIF003_ALTERNATE_FALLING_EDGE,
.InputDataInverted = -1U,
.StartAfterInit = -1U,
//.DecimationFilterType = (uint8_t)COMBF,
.DecimationFactor = -2U,
.DecimationStartVal = -2U,
.ResultOffset = -1,
.MainFilterInterruptMode = (uint8_t)DSDIF003_MF_ALWAYS,
.FastFilterEnabled = -1U,
//.FastFilterType = (uint8_t)COMBF,
.FastFilterDecimationFactor = -2U,
.FastFilterUlimit = -1,
.FastFilterLlimit = -1,
.FastFilterIntEnable = -1U,
.FastFilterInterruptMode = (uint8_t)DSDIF003_FF_OUTSIDE_BOUNDARY,
.IntTriggerMode = (uint8_t)DSDIF003_INTEGRATOR_CONTINUOUSLY,
.TSTriggerMode = (uint8_t)DSDIF003_TIMESTAMP_BOTH_EDGES,
.IntWindowSize = -2U,
.IntWindowStart = -1U,
.IntNumCycles = -2U,
.FFEventCoupled = -1U,
.StartChannel = -1U,
.StartMask = -1U,
.IntegratorStopMode = -1U,
.DynamicData = &DSDIF003_Dynamicdata0,
};
DSDIF003_DynamicDataType DSDIF003_Dynamicdata1;
const DSDIF003_HandleType DSDIF003_Handle1 =
{
.DSDKernelNum = 0U,
.DSDKernelRegPtr = DSD_CH0,
.ModuleClockDivider = -1U,
.Strobe = (uint8_t)DSDIF003_ALTERNATE_FALLING_EDGE,
.InputDataInverted = -1U,
.StartAfterInit = -1U,
//.DecimationFilterType = (uint8_t)COMBF,
.DecimationFactor = -2U,
.DecimationStartVal = -2U,
.ResultOffset = -1,
.MainFilterInterruptMode = (uint8_t)DSDIF003_MF_ALWAYS,
.FastFilterEnabled = -1U,
//.FastFilterType = (uint8_t)COMBF,
.FastFilterDecimationFactor = -2U,
.FastFilterUlimit = -1,
.FastFilterLlimit = -1,
.FastFilterIntEnable = -1U,
.FastFilterInterruptMode = (uint8_t)DSDIF003_FF_OUTSIDE_BOUNDARY,
.IntTriggerMode = (uint8_t)DSDIF003_INTEGRATOR_CONTINUOUSLY,
.TSTriggerMode = (uint8_t)DSDIF003_TIMESTAMP_BOTH_EDGES,
.IntWindowSize = -2U,
.IntWindowStart = -1U,
.IntNumCycles = -2U,
.FFEventCoupled = -1U,
.StartChannel = -1U,
.StartMask = -1U,
.IntegratorStopMode = -1U,
.DynamicData = &DSDIF003_Dynamicdata1,
};
/*CODE_BLOCK_END*/
Linker message:
...
Dave/Generated/src/DSDIF003/DSDIF003_Conf.o:(.rodata+0x0): multiple definition of `DSDIF003_Handle0'
Dave/Generated/src/USBBL001/USBBL001_Conf.o:(.rodata+0x0): first defined here
Dave/Generated/src/DSDIF003/DSDIF003_Conf.o:(.rodata+0x2c): multiple definition of `DSDIF003_Handle1'
Dave/Generated/src/USBBL001/USBBL001_Conf.o:(.rodata+0x2c): first defined here
...
Regards,
Daniel
Not applicable
Sep 02, 2014
02:11 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 02, 2014
02:11 AM
Hi Daniel,
To clarify:
1) Is the project originally built in DAVE 3.1.6/3.1.8?
2) Did you use DAVE Project Import function to import the project into DAVE 3.1.10?
3) Did you do Apps Migration after importing to DAVE 3.1.10?
Best regards,
Sophia
To clarify:
1) Is the project originally built in DAVE 3.1.6/3.1.8?
2) Did you use DAVE Project Import function to import the project into DAVE 3.1.10?
3) Did you do Apps Migration after importing to DAVE 3.1.10?
Best regards,
Sophia
Sep 02, 2014
03:11 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 02, 2014
03:11 AM
Hello Sophia,
i think i rebuilt the app structure from scratch in Dave 3.1.10 after deleting all apps. So the project file may be an artifact from Dave 3.1.8, which i migrated to 3.1.10. There are two Migration reports in that directory, so i assumedly did not create a new project directory after migration. :confused:
After building up the new structure i used to copy the project (ctrl-c/ctrl-v in the project tree), to have checkpoints. The actual project is a result of 4 copy-paste actions.
I also put it under version control by TortoiseSVN.
Maybe i should build it up a third time - now from scratch. It's very annoying, because many pins have to be mapped manually. A kind of import function for the Pins and the App Structure (including Signals) would be really great.
Regards,
Daniel
i think i rebuilt the app structure from scratch in Dave 3.1.10 after deleting all apps. So the project file may be an artifact from Dave 3.1.8, which i migrated to 3.1.10. There are two Migration reports in that directory, so i assumedly did not create a new project directory after migration. :confused:
After building up the new structure i used to copy the project (ctrl-c/ctrl-v in the project tree), to have checkpoints. The actual project is a result of 4 copy-paste actions.
I also put it under version control by TortoiseSVN.
Maybe i should build it up a third time - now from scratch. It's very annoying, because many pins have to be mapped manually. A kind of import function for the Pins and the App Structure (including Signals) would be really great.
Regards,
Daniel
Sep 02, 2014
06:33 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 02, 2014
06:33 AM
Hello Sophia,
i just made a new Workspace,created a new Dave Project and rebuilt 90% of the project app structure. I didn't make any manual Pin Assignments. Solved and Generated Code. No own source code - only automatically generated code.
Now, when building the project, two errors appear, one for SPI001_WriteData and one for SPI001_ReadData.
The Message List contains:
Description Resource Path Location Type
conflicting types for 'SPI001_ReadData' SPI001.c /HAL_test/Dave/Generated/src/SPI001 line 786 C/C++ Problem
SPI001.c contains:
previously declared in SPI001.h, which contains:
ok, now removing eth004 from the project makes it compile...
!?
Seems like "bool" gets redefined somewhere in the ethernet code.
Regards,
Daniel
i just made a new Workspace,created a new Dave Project and rebuilt 90% of the project app structure. I didn't make any manual Pin Assignments. Solved and Generated Code. No own source code - only automatically generated code.
Now, when building the project, two errors appear, one for SPI001_WriteData and one for SPI001_ReadData.
The Message List contains:
Description Resource Path Location Type
conflicting types for 'SPI001_ReadData' SPI001.c /HAL_test/Dave/Generated/src/SPI001 line 786 C/C++ Problem
SPI001.c contains:
/* This function reads out the content of the USIC receive FIFO Buffer.
* Returns true in case FIFO is not empty.else otherwise.
*
*/
bool SPI001_ReadData(const SPI001_HandleType* Handle, uint16_t* DataPtr)
{
bool Result = (bool)FALSE;
USIC_CH_TypeDef* USICRegs = Handle->USICRegs;
/* <<>>*/
if(USIC_ubIsRxFIFOempty(USICRegs))
{
Result = (bool)FALSE;
}
else
{
*DataPtr = (uint16_t)USICRegs->OUTR;
Result = (bool)TRUE;
}
return Result;
}
previously declared in SPI001.h, which contains:
bool SPI001_ReadData(const SPI001_HandleType* Handle,uint16_t* DataPtr);
ok, now removing eth004 from the project makes it compile...
!?
Seems like "bool" gets redefined somewhere in the ethernet code.
Regards,
Daniel
Not applicable
Sep 02, 2014
11:45 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 02, 2014
11:45 PM
Hi Daniel,
With reference to the building error "conflicting types for 'SPI001_ReadData'", the similar issue has been address in eTicket 131766738.
Quick fix is available:
1) Include "stdbool.h" in types.h located under ..\inc\LIBS folder (eg. (C:\DAVE3_Workspace\ws3.1.10\xmc4500_ac\Dave\Generated\inc\LIBS)
2) Remove the following codes from types.h
As for the DAVE project originally built in DAVE 3.1.6/3.1.8, pls use DAVE Import Function to move the project to DAVE 3.1.10 then do Apps Migration 1st before continue the project.
Best regards,
Sophia
With reference to the building error "conflicting types for 'SPI001_ReadData'", the similar issue has been address in eTicket 131766738.
Quick fix is available:
1) Include "stdbool.h" in types.h located under ..\inc\LIBS folder (eg. (C:\DAVE3_Workspace\ws3.1.10\xmc4500_ac\Dave\Generated\inc\LIBS)
2) Remove the following codes from types.h
#if (!defined(__cplusplus) && !defined(_STDBOOL_H))
typedef unsigned char bool;
#endif
As for the DAVE project originally built in DAVE 3.1.6/3.1.8, pls use DAVE Import Function to move the project to DAVE 3.1.10 then do Apps Migration 1st before continue the project.
Best regards,
Sophia