DAVE™ Forum Discussions
There's a bug in the DAVE-generated EEPROM emulation driver for the XMC4800, working with DAVE v4.5 and the E_EEPROM_XMC4 App v4.0.20.
In Dave/Generated/E_EEPROM_XMC4/e_eeprom_xmc4.c, Line 309, I get
/* Read a set of bytes from RAM Buffer */
void E_EEPROM_XMC4_ReadArray(const uint16_t offset_address, uint8_t *const data, const uint16_t length)
{
uint16_t i;
uint8_t *address_ptr;
XMC_ASSERT("E_EEPROM_XMC4_ReadArray: Wrong offset address", (offset_address < E_EEPROM_XMC4_DATA_BLOCK_SIZE))
XMC_ASSERT("E_EEPROM_XMC4_ReadArray: Wrong length",
((offset_address + length) < E_EEPROM_XMC4_DATA_BLOCK_SIZE))
The second assert will fail If I try to read the full section, calling this function with offset_address = 0 and length = E_EEPROM_XMC4_DATA_BLOCK_SIZE.
This is exactly what the EtherCAT Slave Stack code from ECAT_SSC App v4.0.30 does (Dave/Generated/ECAT_SSC/ecat_ssc.c:122) when running any of the EtherCAT examples from the downloads portal.
Proposed fix: Subtract 1 from length in the assert to correctly check the address of the last byte read from the EEPROM emulation.
Show LessHi all,
Would anyone know the purpose of the 't_offset' parameter in the following function please ? It is not documented the v4.0.6 App help.
ENCODER_POSIF_GetRotorAngle ( ENCODER_POSIF_t *const HandlePtr, uint32_t t_offset )
Thanks very much
Show LessHi All,
I have a project with 3 x PWM Apps using 3 x CCU4's.
When I add the ENCODER_POSIF App and I select 'New App Instance' to use the 4th CCU4 I get the following error...
"Dave is not able to grant your last hardware resource request"
Any help would be appreciated.
Show LessHi everyone,
- I am running DAVE v4.3.2 and the 'ENCODER_POSIF' APP is missing.
- If I check for DAVE APP updates the 'ENCODER_POSIF' does not appear in the 'APPS Library Update Page' either.
- How can I obtain the 'ENCODER_POSIF' please ?
Thank you very much
Show LessHello.
How can i solve the problem with the SPI-MASTER App with a XMC4700 microcontroller.
I use the SPI_MASTER App and select "Enable advanved pin configuration" to set up the port pin driver strange on USIC2 Channel 0.
I want to use: Strong Driver Sharp Edge on MOSI and SCLK, but i can only select:
- Dont care
- Weak DRiver
- Medium Driver
- Strong Driver Soft Edge
- Strong Driver Slow Edge
If i want to select: Strong Driver Shart Edge, Dave4 shows a error:
DAVE is not able to grant your last hardware resources request.
That's not possible, because its only a available setting of a port pin, NOT a NEW hardware resource!
Look for example at xmc4_gpio.h:
#define XMC_GPIO_CHECK_OUTPUT_STRENGTH(strength) ((strength == XMC_GPIO_OUTPUT_STRENGTH_STRONG_SHARP_EDGE) ||\
(strength == XMC_GPIO_OUTPUT_STRENGTH_STRONG_MEDIUM_EDGE) ||\
(strength == XMC_GPIO_OUTPUT_STRENGTH_STRONG_SOFT_EDGE) ||\
(strength == XMC_GPIO_OUTPUT_STRENGTH_STRONG_SLOW_EDGE) ||\
(strength == XMC_GPIO_OUTPUT_STRENGTH_MEDIUM) ||\
(strength == XMC_GPIO_OUTPUT_STRENGTH_WEAK))
How can is solve this bug?
I can edit the created spi_master_conf.c and write
.output_strength = XMC_GPIO_OUTPUT_STRENGTH_STRONG_SHARP_EDGE
to the pin config, but with the next: DAVE->Generat Code , i lost my settings.
Please help.
Show Less
Hi,
DAVE App of EVENT_GENERATOR for ERU has only single "pattern" input, it has no "tout" output.
XMC1400 ERU has 4 inputs EXICONx.FL to detect pattern, and ERU_TOUT as "tout" without gating.
Why does not the ERU_GENERATOR of DAVE App have "tout" ?
Would you modify the ERU_GENERATOR to have "tout" ?
Best Regards,
Hayashi.K
Hi,
I have an IMU which uses I2C for configuration. The device uses only one byte writing, meaning that the master may transmit only one byte of data to the slave and then the stop condition must be sent by the master.
The slave's address is 0xA (and according to the app description, the value shall be left shifted by 1 bit to make room for the R/W bit, therefore the value of the address define is 0x14), the register address and the content to the written to it are defined in variables. I am also using the NACK received callback function. I am always receiving a NACK signal and am not sure why. Perhaps I am using the transmit function incorrectly? The relevant code is attached below.
Regarding HW problems: the IMU used is not dead, the electrical connection between the master and the slave is fine and the baudrate is also within the device's specification.
void NACK_Received(void)
{
I2C_MASTER_AbortTransmit(&I2C_MASTER_0);
I2C_MASTER_SendStop(&I2C_MASTER_0);
}
// configures the IMUs used for our project
static void configIMUs()
{
uint8_t config[2] = {ADDR_ACCEL_RANGE, 0b00000011};
I2C_MASTER_Transmit(&I2C_MASTER_0, true, IMU_ADDR, config, 2, true);
while(I2C_MASTER_IsTxBusy(&I2C_MASTER_0));
}
I have looked at the code example provided for the transmit function and I believe my implementation above does the same thing. Firstly, the start condition is sent, next the slave address, next the two bytes of data (first the register address and next the data to be written), and finally the stop condition.
Thanks in advance for any advice
Show LessI need two external interrupt in my project and want to use BUTTON1 (P1.14) and BUTTON2 (P1.15) on xmc4500 Relax Kit. I added PIN_INTERRUPT App to Dave CE 4 project. When I try to Manual Pin Allocator for it I see only BUTTON2 in the list. There is not BUTTON1. I checked user manual of xmc4500 and both pin (P1.14 and P1.15) has same Pad Type.
Thank you for your help.
Best regards,
Adem
I know I'm not the only one who was having this issue; having to kill and re-launch DAVE to get it to load my project without locking up.
Recently the IT department changed my installed antivirus from Sophos to SentinelOne, and the freezing has gone away! Also my builds are faster.
Just putting it out there in case anyone is interested.
Show LessI have a SAK c167cs-32fm and use Memtool to read 256KB of flash program. However, I can not access eeprom flash. One thing I want to make sure about is that Memtool can read SAK micro's too, because in the target list there are only part numbers with SAB prefix and a suffix saying which STEP it is. Mine has no STEP and it is SAK. Can I still use Memtool 3?
I am very new to infineon MCU's and this one seems rather old. Sorry if my question sounds too simple.
Thank you. Show Less