DAVE™ Forum Discussions
DAVE™
If you would like to run a particular function (eg. MyFunction_SRAM()) from PSRAM to enhance the code execution speed. You can make some changes in bo...
Show More
If you would like to run a particular function (eg. MyFunction_SRAM()) from PSRAM to enhance the code execution speed. You can make some changes in both startup file (eg. startup_XMC4500.s) and linker descript file (*.ld):
1) Define a new section in *.ld before "/*Heap - Bank1*/"
2) Add a copy process in startup_XMC4500.s before "SKIPSRAMCODECOPY:"
3) Declare function in program
With these, the function MyFunction_SRAM will be located in section SRAMCode. It will be copied to PSRAM in startup code and then run from PSRAM. Show Less
1) Define a new section in *.ld before "/*Heap - Bank1*/"
/*=== SRAMCode section for PSRAM code ============*/
SRAMCodeLoad = eROData + __Xmc4500_Data_Size;
SRAMCode_Section : AT (SRAMCodeLoad)
{
SRAMCodeStart = ABSOLUTE(.);
* (.SRAMCode);
. = ALIGN(4);
SRAMCodeEnd = ABSOLUTE(.);
} > PSRAM_1
SRAMCodeSize = SRAMCodeEnd - SRAMCodeStart;
2) Add a copy process in startup_XMC4500.s before "SKIPSRAMCODECOPY:"
/*========== SRAM code copy ===========================*/
SKIPDATACOPY:
/* R0 = Start address, R1 = Destination address, R2 = Size */
LDR R0, =SRAMCodeLoad
LDR R1, =SRAMCodeStart
LDR R2, =SRAMCodeSize
/* Is there anything to be copied? */
CMP R2,#0
BEQ SKIPSRAMCODECOPY
/* For bytecount less than 4, at least 1 word must be copied */
CMP R2,#4
BCS STARTSRAMCODECOPY
/* Byte count < 4 ; so bump it up */
MOV R2,#4
STARTSRAMCODECOPY:
/*
R2 contains byte count. Change it to word count. It is ensured in the
linker script that the length is always word aligned.
*/
LSR R2,R2,#2 /* Divide by 4 to obtain word count */
/* The proverbial loop from the schooldays */
SRAMCODECOPYLOOP:
LDR R3,[R0]
STR R3,[R1]
SUBS R2,#1
BEQ SKIPSRAMCODECOPY
ADD R0,#4
ADD R1,#4
B SRAMCODECOPYLOOP
/*=================== end of Copy process =================*/
3) Declare function in program
void MyFunction_SRAM (void) __attribute__ ((section (".SRAMCode")));
With these, the function MyFunction_SRAM will be located in section SRAMCode. It will be copied to PSRAM in startup code and then run from PSRAM. Show Less
DAVE™
Hi,i tried to use RTOS001 App for my Application and i am not really satisfied by the underlaying RTX. So i took FreeRTOS (newest Version 8.0.1) and m...
Show More
Hi,
i tried to use RTOS001 App for my Application and i am not really satisfied by the underlaying RTX. So i took FreeRTOS (newest Version 8.0.1) and make it running on XMC2Go and RelaxKit with Dave3. I would still like to use all the other Dave-Apps and as far as i can see, it works for those which do not need the RTOS001 App. I can imagine that there might be some other reasons using something different than RTX.
Therefore i have two questions:
1.
Do you plan to support third party Operating Systems by providing some kind of adaption layer for the dependent Apps?
2.
What would i have to do to run the RTOS001 dependent Apps (e.g. file System or graphic library) on an other OS (FreeRTOS)?
Thomas Show Less
i tried to use RTOS001 App for my Application and i am not really satisfied by the underlaying RTX. So i took FreeRTOS (newest Version 8.0.1) and make it running on XMC2Go and RelaxKit with Dave3. I would still like to use all the other Dave-Apps and as far as i can see, it works for those which do not need the RTOS001 App. I can imagine that there might be some other reasons using something different than RTX.
Therefore i have two questions:
1.
Do you plan to support third party Operating Systems by providing some kind of adaption layer for the dependent Apps?
2.
What would i have to do to run the RTOS001 dependent Apps (e.g. file System or graphic library) on an other OS (FreeRTOS)?
Thomas Show Less
DAVE™
Dear Infineon team,This feature partly relates to my previous post....http://www.infineonforums.com/threads/1859-Feature-request-A-single-place-to-configure-an-App...
Show More
Dear Infineon team,
This feature partly relates to my previous post....
http://www.infineonforums.com/threads/1859-Feature-request-A-single-place-to-configure-an-App
At present the I/O pin for an App is Enabled/Configured and Assigned in two different places...
1) Enable/Configure : This is done on the 'Pin Configuration' tab for the App
2) Pin Assignment : This is done manually on the 'Manual Pin Assignment' dialog
So it is possible to have a pin enabled on the 'Pin Configuration' tab but 'Not Selected' on the 'Manual Pin Assignment' dialog. The Solver will not report an error.
It would make sense for the 'Pin Assignment' drop down list to be located on the 'Pin Configuration' tab for the App (either instead of or in addition to the 'Manual Pin Assignment' dialog.
Thank you very much
Best regards
Aaron Show Less
This feature partly relates to my previous post....
http://www.infineonforums.com/threads/1859-Feature-request-A-single-place-to-configure-an-App
At present the I/O pin for an App is Enabled/Configured and Assigned in two different places...
1) Enable/Configure : This is done on the 'Pin Configuration' tab for the App
2) Pin Assignment : This is done manually on the 'Manual Pin Assignment' dialog
So it is possible to have a pin enabled on the 'Pin Configuration' tab but 'Not Selected' on the 'Manual Pin Assignment' dialog. The Solver will not report an error.
It would make sense for the 'Pin Assignment' drop down list to be located on the 'Pin Configuration' tab for the App (either instead of or in addition to the 'Manual Pin Assignment' dialog.
Thank you very much
Best regards
Aaron Show Less
DAVE™
In DAVE Support Portal "Release Note Update" webpage, click "Update Information for DAVE v3.1.10, build 2014-02-26" to open "DAVE Update Information, ...
Show More
In DAVE Support Portal "Release Note Update" webpage, click "Update Information for DAVE v3.1.10, build 2014-02-26" to open "DAVE Update Information, May, 14, 2014":
1) Under "2. CMSIS patch for DAVE v3.1.10 installer build 2014-02-09, How to install the patch:", download and unzip the zip file (DAVE_CMSIS_PATCH_2014_5_14.zip).
The zip file contains the CMSIS folder and DAVE_CMSIS_Patch _2014-05-09.pdf.
The CMSIS folder contains updated device startup files ( startup_.s) and updated linker script template files for the XMC4000 family.
2) Follow the steps (in DAVE_CMSIS_Patch _2014-05-09.pdf) to patch the CMSIS folder located in the installation of DAVE v3.1.10:
2.1) Close DAVE
2.2) Rename the existing CMSIS folder in DAVE v3.1.10 installation
2.3) Copy the CMSIS folder from the patch into the DAVE v3.1.10 installation
2.4) Start DAVE
The above details also can be found via "More details and Instructions to perform the update" under Forum Thread "Information about Updates" May 16th post.
Show Less
1) Under "2. CMSIS patch for DAVE v3.1.10 installer build 2014-02-09, How to install the patch:", download and unzip the zip file (DAVE_CMSIS_PATCH_2014_5_14.zip).
The zip file contains the CMSIS folder and DAVE_CMSIS_Patch _2014-05-09.pdf.
The CMSIS folder contains updated device startup files ( startup_
2) Follow the steps (in DAVE_CMSIS_Patch _2014-05-09.pdf) to patch the CMSIS folder located in the installation of DAVE v3.1.10:
2.1) Close DAVE
2.2) Rename the existing CMSIS folder in DAVE v3.1.10 installation
2.3) Copy the CMSIS folder from the patch into the DAVE v3.1.10 installation
2.4) Start DAVE
The above details also can be found via "More details and Instructions to perform the update" under Forum Thread "Information about Updates" May 16th post.
DAVE™
Hi, i have some questions regarding the DAC.I use the DACWG002 App on the XMC4500 RelaxKitLiteWhen i set the repetitions to 1, the LUT lengt to 1000 a...
Show More
Hi, i have some questions regarding the DAC.
I use the DACWG002 App on the XMC4500 RelaxKitLite
When i set the repetitions to 1, the LUT lengt to 1000 and the desired frequenzy to 10kHz, then the DAC will change the output every 100ns to the next value in the LUT, is this correct? And he stops after setting every value in the LUT for one time?
Second thing is, i want two differnt custom wave forms on the two hardware DAC's. But there is only one LUT when i add a second DACWG002 App's. Is there any way to specify 2 different LUT? Show Less
I use the DACWG002 App on the XMC4500 RelaxKitLite
When i set the repetitions to 1, the LUT lengt to 1000 and the desired frequenzy to 10kHz, then the DAC will change the output every 100ns to the next value in the LUT, is this correct? And he stops after setting every value in the LUT for one time?
Second thing is, i want two differnt custom wave forms on the two hardware DAC's. But there is only one LUT when i add a second DACWG002 App's. Is there any way to specify 2 different LUT? Show Less
DAVE™
Hi,there is an example Project MODBUS001_Example1. But i can not find the App MODBUS001.Is there a speccial download or what do i have to do to see MO...
Show More
Hi,
there is an example Project MODBUS001_Example1. But i can not find the App MODBUS001.
Is there a speccial download or what do i have to do to see MODBUS001?
Regards
Thomas Show Less
there is an example Project MODBUS001_Example1. But i can not find the App MODBUS001.
Is there a speccial download or what do i have to do to see MODBUS001?
Regards
Thomas Show Less
DAVE™
Hi All,I am planning to offload the processing of the UART receive and transmit characters from the processor by using the GPDMA.My receive and transm...
Show More
Hi All,
I am planning to offload the processing of the UART receive and transmit characters from the processor by using the GPDMA.
My receive and transmit packets are of variable length but never more than 200 characters each.
I imagine a scenario where the GPDMA moves received characters directly into a receive buffer in RAM. I will scan the buffer every 100mS and once a complete packet has been found I will reset the receive buffer pointer.
I will then place a reply packet into the transmit buffer in RAM and trigger the GPDMA to transfer the buffer to the UART. I would like the transfer from buffer to UART to stop when either a NULL character is reached or a character count is reached.
If anyone could point me at some examples to achieve this or provide some advice it would be greatly appreciated.
Best regards
Aaron Show Less
I am planning to offload the processing of the UART receive and transmit characters from the processor by using the GPDMA.
My receive and transmit packets are of variable length but never more than 200 characters each.
I imagine a scenario where the GPDMA moves received characters directly into a receive buffer in RAM. I will scan the buffer every 100mS and once a complete packet has been found I will reset the receive buffer pointer.
I will then place a reply packet into the transmit buffer in RAM and trigger the GPDMA to transfer the buffer to the UART. I would like the transfer from buffer to UART to stop when either a NULL character is reached or a character count is reached.
If anyone could point me at some examples to achieve this or provide some advice it would be greatly appreciated.
Best regards
Aaron Show Less
DAVE™
Does anyone know about some program or addon or plugin for dave, which can check misra rules during write a code (during develop)... somethink like as...
Show More
Does anyone know about some program or addon or plugin for dave, which can check misra rules during write a code (during develop)
... somethink like as in Atollic?
Please help.
Thanks.
Best regards
Koumak. Show Less
... somethink like as in Atollic?
Please help.
Thanks.
Best regards
Koumak. Show Less
DAVE™
Hi All,Sometimes the 'Manual Pin Assignmen't dialog does not list some pins that should be available to an App.For example, the IO002 App would normal...
Show More
Hi All,
Sometimes the 'Manual Pin Assignmen't dialog does not list some pins that should be available to an App.
For example, the IO002 App would normally list P0.0 as an available pin but in my project P0.0 is not listed.
I know my project uses P0.0 for an SPI DOUT via the SPI001 App but the 'Resource Mapping Information' dialog does not show P0.0 as being used by the SPI001 App.
In the above example I know why P0.0 is not available from my schematics but there are cases where pins are not available and I don't know why.
Is there a better method to display which App's are consuming pins ?
Thank you for any advice.
Best regards
Aaron Show Less
Sometimes the 'Manual Pin Assignmen't dialog does not list some pins that should be available to an App.
For example, the IO002 App would normally list P0.0 as an available pin but in my project P0.0 is not listed.
I know my project uses P0.0 for an SPI DOUT via the SPI001 App but the 'Resource Mapping Information' dialog does not show P0.0 as being used by the SPI001 App.
In the above example I know why P0.0 is not available from my schematics but there are cases where pins are not available and I don't know why.
Is there a better method to display which App's are consuming pins ?
Thank you for any advice.
Best regards
Aaron Show Less