DAVE™ Forum Discussions
DAVE™
Hi everyone,I was trying to use XMCload to flash XMC4400 using ASC bootloader. Download completes but when I recycle board power, program is not execu...
Show More
Hi everyone,
I was trying to use XMCload to flash XMC4400 using ASC bootloader. Download completes but when I recycle board power, program is not executed properly (probably it crashes).
My program occupies range 0xc000000 up to 0xc0007fff then it jumps to 0xc020000 and occupies rest of the sectors.
Comparing programmed flash content with HEX file I have discovered that last page 0xc000700 is not programmed at all ! All the rest of flash content is correct.
Actually this last page of my program in HEX file is not complete but finishes 0xc0007FE.
I suspect that XMCloader is not able to program uncomplete page!?
Does anyone come accross similar problem? Any fast sugestions before I dive deep into analysing and finding solution?
I am using unmodified version of ASCLoader.hex for xmc4400 and entire package downloaded from Infineon site.
Thank you
rum Show Less
I was trying to use XMCload to flash XMC4400 using ASC bootloader. Download completes but when I recycle board power, program is not executed properly (probably it crashes).
My program occupies range 0xc000000 up to 0xc0007fff then it jumps to 0xc020000 and occupies rest of the sectors.
Comparing programmed flash content with HEX file I have discovered that last page 0xc000700 is not programmed at all ! All the rest of flash content is correct.
Actually this last page of my program in HEX file is not complete but finishes 0xc0007FE.
I suspect that XMCloader is not able to program uncomplete page!?
Does anyone come accross similar problem? Any fast sugestions before I dive deep into analysing and finding solution?
I am using unmodified version of ASCLoader.hex for xmc4400 and entire package downloaded from Infineon site.
Thank you
rum Show Less
DAVE™
Greetings sir/madam, sir i am using xmc1100 evaluation board and i am using DAVE CE IDE v3.1.8 to program on it Genera...
Show More
Greetings sir/madam,
sir i am using xmc1100 evaluation board and i am using DAVE CE IDE v3.1.8 to program on it Generally after building it is Generating .ELF output file. as per my requirement i need .bin file is there any possibilities to generate .bin file after building the source or any extensions are exist so that i can generate .bin file ??
Thanks and Regards,
Harshan Show Less
sir i am using xmc1100 evaluation board and i am using DAVE CE IDE v3.1.8 to program on it Generally after building it is Generating .ELF output file. as per my requirement i need .bin file is there any possibilities to generate .bin file after building the source or any extensions are exist so that i can generate .bin file ??
Thanks and Regards,
Harshan Show Less
DAVE™
Hi,At the moment, I need the SPI_MASTER_Transmit function of the dave 4 SPI_MASTER app to work with 8 Bit data. I tried to send three times data like ...
Show More
Hi,
At the moment, I need the SPI_MASTER_Transmit function of the dave 4 SPI_MASTER app to work with 8 Bit data. I tried to send three times data like 0xaa with 8 bit length in sequence and checked the oscilloscope. But with the standard 16 bit dataptr and the following uint16_t tx_data in spi_master.h it simply didn't show the transmission I expected.
So, I changed
to uint8_t. I think there were still some changes in xmc_spi.c, like ffffU to ffU or something. Iwas glad it worked and the transmission shown by oscilloscope was right.
But my aim is to outsource the transmit function in a new c and header file, so that it won't overwrite my changings each time I generate new code or change the SPI settings in the app.
My first try, to simply create a new function SPI_MASTER_Transmit2, turned out as impossible. SPI_MASTER_Transmit2 needs a dynamic_handle of the kind SPI_MASTER_DYNAMIC_CONFIG_t, so I to crated SPI_MASTER_DYNAMIC_CONFIG2_t to ensure a uint8_t tx_data. But then the typedef struct SPI_MASTER didn't contain SPI_MASTER_DYNAMIC_CONFIG2_t and I had to copy this again.This continued and after copy/pasting and renaming the SPI_MASTER02 in the header file compiler said: SPI_MASTER_0_Config undeclared function to the & marked adresses in the lines with .config and .dynamic_config.
So I came to the point where I had to copy the generated code structures from spi_master_config.c in my outsourced files to make it work. But by doing this, the code is not adjustable by app anymore...
I really can't find a solution to write a 8 bit transmit function. All functions and structures are extremely linked together.
I hope someone can help me. Best regards! Show Less
At the moment, I need the SPI_MASTER_Transmit function of the dave 4 SPI_MASTER app to work with 8 Bit data. I tried to send three times data like 0xaa with 8 bit length in sequence and checked the oscilloscope. But with the standard 16 bit dataptr and the following uint16_t tx_data in spi_master.h it simply didn't show the transmission I expected.
So, I changed
- the dataptr parameter in SPI_MASTER_Transmit function
- tx_data in spi_master.h
- and the other uint16_t cast in SPI_MASTER_lTransmitHandler
to uint8_t. I think there were still some changes in xmc_spi.c, like ffffU to ffU or something. Iwas glad it worked and the transmission shown by oscilloscope was right.
But my aim is to outsource the transmit function in a new c and header file, so that it won't overwrite my changings each time I generate new code or change the SPI settings in the app.
My first try, to simply create a new function SPI_MASTER_Transmit2, turned out as impossible. SPI_MASTER_Transmit2 needs a dynamic_handle of the kind SPI_MASTER_DYNAMIC_CONFIG_t, so I to crated SPI_MASTER_DYNAMIC_CONFIG2_t to ensure a uint8_t tx_data. But then the typedef struct SPI_MASTER didn't contain SPI_MASTER_DYNAMIC_CONFIG2_t and I had to copy this again.This continued and after copy/pasting and renaming the SPI_MASTER02 in the header file compiler said: SPI_MASTER_0_Config undeclared function to the & marked adresses in the lines with .config and .dynamic_config.
So I came to the point where I had to copy the generated code structures from spi_master_config.c in my outsourced files to make it work. But by doing this, the code is not adjustable by app anymore...
I really can't find a solution to write a 8 bit transmit function. All functions and structures are extremely linked together.
I hope someone can help me. Best regards! Show Less
DAVE™
Hello,
where can I change the Makefile template so that if the "clean" target is called also the listing files *.lst are deleted?
where can I change the Makefile template so that if the "clean" target is called also the listing files *.lst are deleted?
DAVE™
I created a test project to show you this issue, here is a description of the problem:I have a project that is created on my computer and I am able to...
Show More
I created a test project to show you this issue, here is a description of the problem:
I have a project that is created on my computer and I am able to run the solver fine, I then add that code to my repository, I then pull that code from the repository and try to run the solver and it gives an error "error occurred while executing solver". I have attached two projects, one that the solver works (labeled as solver_problem) and one where the solver does not work (labeled as solver_problem_from_repo). I have verified that all files and privileges in both projects are identical. I have also attached the solver log file and the .log file that gives errors as to why the solver doesn't work. Can you please tell me why one project's solver works and the other doesn't? Show Less
I have a project that is created on my computer and I am able to run the solver fine, I then add that code to my repository, I then pull that code from the repository and try to run the solver and it gives an error "error occurred while executing solver". I have attached two projects, one that the solver works (labeled as solver_problem) and one where the solver does not work (labeled as solver_problem_from_repo). I have verified that all files and privileges in both projects are identical. I have also attached the solver log file and the .log file that gives errors as to why the solver doesn't work. Can you please tell me why one project's solver works and the other doesn't? Show Less
DAVE™
It reflected this problem "make: *** No rule to make target `../SensorlessFOC_FAN.ld', needed by `SensorlessFOC_FAN.elf'. Stop." when I builded a pro...
Show More
It reflected this problem "make: *** No rule to make target `../SensorlessFOC_FAN.ld', needed by `SensorlessFOC_FAN.elf'. Stop." when I builded a project with DAVE3.10.
By the way,does your forum has the function for searching the relevant problems by myself? Show Less
By the way,does your forum has the function for searching the relevant problems by myself? Show Less
DAVE™
Hi,In Dave 4 when I try to change the editor background color from Windows->Preferences->General->Editors->TextEditors->Background color, the backgro...
Show More
Hi,
In Dave 4 when I try to change the editor background color from Windows->Preferences->General->Editors->TextEditors->Background color, the background color of the editor changes but as soon as a open another file the settings are restored.
Any idea?
Thanks
Franck Mag Show Less
In Dave 4 when I try to change the editor background color from Windows->Preferences->General->Editors->TextEditors->Background color, the background color of the editor changes but as soon as a open another file the settings are restored.
Any idea?
Thanks
Franck Mag Show Less
DAVE™
Hi All,I am experiencing a problem with the ADC001 App where one of the 16 channels I am acquiring always returns the count of the previous channel. ...
Show More
Hi All,
I am experiencing a problem with the ADC001 App where one of the 16 channels I am acquiring always returns the count of the previous channel. P14.8 is always the same as P14.9 in my case. I am using the XMC4500-F1--x1024 Stepping Code AB.
I have configured the ADC001 App to have 16 channels via 3 groups. See ADC001 App config and resource mappings (where the problem channels are in red and green)...
I have defined a 16 element array of structures to hold the 16 ADC channel results...
The 16 x ADC conversions are triggered every 1mS by the following function...
Each ADC conversion calls the following event function which copies the channel ADC count into the correct index in the result array...
The Group 1 Channel 1 is connected to P14.8 which has 3.3V on it so I would expect a count of 4095 but it is always the same as the Group 1 Channel 0 count which is connected to P14.9. See the 'A2DConversion' array indexes 9 & 8 below, both of which have counts of 186...
I believe the hardware to be fine as I have configured another project to acquire just one channel on pin P14.8 and I get the expected count of 4095 (3.3V).
I am wondering if anyone has come across this problem or if there could be a problem with the ADC001 App.
I would appreciate any help.
Thank you in advance
Best regards
Aaron Show Less
I am experiencing a problem with the ADC001 App where one of the 16 channels I am acquiring always returns the count of the previous channel. P14.8 is always the same as P14.9 in my case. I am using the XMC4500-F1--x1024 Stepping Code AB.
I have configured the ADC001 App to have 16 channels via 3 groups. See ADC001 App config and resource mappings (where the problem channels are in red and green)...
I have defined a 16 element array of structures to hold the 16 ADC channel results...
// Analogue Input variables in a structure
ADC001_ResultHandleType A2DConversion[ A2D_CHANNELS ]
=
{
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0},
{0,0,0}
}
;
The 16 x ADC conversions are triggered every 1mS by the following function...
void A2DTrigger(void)
{
if(A2DConversionEventChannel == 0)
{
// All channels converted so generate A2D Load Event (re-starts sequential multi-channel conversion)
A2DConversionEventChannel = A2D_CHANNELS; // Defined as 16
ADC001_GenerateLoadEvent(&ADC001_Handle0);
}
}
Each ADC conversion calls the following event function which copies the channel ADC count into the correct index in the result array...
void A2DConversionEvent(void)
{
A2DConversionEventChannel--; // Range following decrement = 15 to 0
// Read the A2D Result structure into 'A2DConversion' array
ADC001_GetResult(&ADC001_Handle0,&A2DConversion[A2DConversionEventChannel]);
}
The Group 1 Channel 1 is connected to P14.8 which has 3.3V on it so I would expect a count of 4095 but it is always the same as the Group 1 Channel 0 count which is connected to P14.9. See the 'A2DConversion' array indexes 9 & 8 below, both of which have counts of 186...
I believe the hardware to be fine as I have configured another project to acquire just one channel on pin P14.8 and I get the expected count of 4095 (3.3V).
I am wondering if anyone has come across this problem or if there could be a problem with the ADC001 App.
I would appreciate any help.
Thank you in advance
Best regards
Aaron Show Less
DAVE™
Hi,I'm trying to control a 4 wire touch-screen with the XMC4500 Relax Kit.I've used ADC001 to get continious samples from Ports P14.0 and P14.1, one p...
Show More
Hi,
I'm trying to control a 4 wire touch-screen with the XMC4500 Relax Kit.
I've used ADC001 to get continious samples from Ports P14.0 and P14.1, one port for each touch-screen pane. I've also conntected two digital I/O pins to every pane (for activating the measurement voltage).
When measuring the x-pane, the I/O pins on this pane are set to tristate, and the y-pane is connected to the measurement voltage. Measurements for the y-pane are taken vice versa.
I'm now experiencing the issue, that if I'm not pressing on the touch-screen and therefore no connection to the measurement pane is made, the ADC pin is pulled high (~ 300uA input current), even though the other pins connected to the same pane are set to tristate. The only reasonable explaination is, that the ADC input is pulled high by a weak internal pull-up. I've tried to disable it, but i can't find any info regarding this behaviour. Is there any way to set the ADC input to tristate instead of weak pull up? I've already tried setting the I/O configuration registers manually according to the datasheet but nohting worked.
best regards,
Michael Show Less
I'm trying to control a 4 wire touch-screen with the XMC4500 Relax Kit.
I've used ADC001 to get continious samples from Ports P14.0 and P14.1, one port for each touch-screen pane. I've also conntected two digital I/O pins to every pane (for activating the measurement voltage).
When measuring the x-pane, the I/O pins on this pane are set to tristate, and the y-pane is connected to the measurement voltage. Measurements for the y-pane are taken vice versa.
I'm now experiencing the issue, that if I'm not pressing on the touch-screen and therefore no connection to the measurement pane is made, the ADC pin is pulled high (~ 300uA input current), even though the other pins connected to the same pane are set to tristate. The only reasonable explaination is, that the ADC input is pulled high by a weak internal pull-up. I've tried to disable it, but i can't find any info regarding this behaviour. Is there any way to set the ADC input to tristate instead of weak pull up? I've already tried setting the I/O configuration registers manually according to the datasheet but nohting worked.
best regards,
Michael Show Less
DAVE™
I'm using CAN001-module. I'd like to be able to reconfigure baud rate at run time. So basiclyby stopping node, configuring baud rate settings and rest...
Show More
I'm using CAN001-module. I'd like to be able to reconfigure baud rate at run time. So basicly
by stopping node, configuring baud rate settings and restarting the node. Is this possible?
(without making ugly workarounds into generated code etc.).
Things like below DO NOT WORK because the struct is const:
CAN001_Handle0.BaudRate.BaudRatePresc = 0x11;
CAN001_Handle0.BaudRate.DIV8 = 0;
CAN001_Handle0.BaudRate.SyncJumpWidth = 0x1;
CAN001_Handle0.BaudRate.TimeSEG1 = 0x6;
CAN001_Handle0.BaudRate.TimeSEG2 = 0x1;
So any advice? Show Less
by stopping node, configuring baud rate settings and restarting the node. Is this possible?
(without making ugly workarounds into generated code etc.).
Things like below DO NOT WORK because the struct is const:
CAN001_Handle0.BaudRate.BaudRatePresc = 0x11;
CAN001_Handle0.BaudRate.DIV8 = 0;
CAN001_Handle0.BaudRate.SyncJumpWidth = 0x1;
CAN001_Handle0.BaudRate.TimeSEG1 = 0x6;
CAN001_Handle0.BaudRate.TimeSEG2 = 0x1;
So any advice? Show Less