AURIX™ Forum Discussions
text.format{('custom.tabs.no.results')}
Hello,
We are developing the bootloader for the Infineon TC377 board. For that, we need the preserved RAM (The memory that shouldn't be initialized with zero during the controller reset) to hold the flag. So, we tried the keywords below for No-initialization and location, but AURIX is not supporting these keywords. Instead of the below keywords, what can be used to create the memory in the RAM, so that it shouldn't be modified after reset of the microcontroller.
#pragma NOINIT(BootMode_InPreservedRAM)
#pragma LOCATION(BootMode_InPreservedRAM,0x50000000)
/*Here first we are creating the variable BootMode_InPreservedRAM as no initialization and giving the address as 0x50000000 for LOCATION*/
Thanks in advance.
Show Less请教大家一个问题
我现在做的boot程序在跳转app程序的时候,如果boot程序和app程序都没有使用中断的情况下可以正常跳转,但是boot程序或app程序有一方面使用中断的话就会进入到debug,boot程序或app程序单独运行时没有问题。下面按照串口中断举例。
调试状态下会卡在下图位置:
我想知道是哪个地方设置的不对或者少设置了什么地方。
Show LessHello Community,
I faced below error while I was using OneEye tool for debugging. pls looked into it.
MCD API error message:
Code: 268435456
Message: Could not load DAS API library V4.x
MCD API error message:
Code: 257
Message: MCD API not used properly
>>> WARNING : Could not initialize MCD. Please verify that you are connected to the target via MiniWriggler and that the target is powered
>>> WARNING : Mcd_Api_Wrapper::mcdInit called but DLL was not loaded
Show LessHi,
starting from the examples MCMCAN_1_KIT_TC375_LK and ADC_Single_Channel_1_TC375_LK I have to send the value acquired from the analog channel with a CAN message. This is how I've tried to do that:
void transmitCanMessage(void)
{
/* Initialization of the RX message with the default configuration */
IfxCan_Can_initMessage(&g_mcmcan.rxMsg); // @suppress("Field cannot be resolved")
/* Invalidation of the RX message data content */
memset((void *)(&g_mcmcan.rxData[0]), INVALID_RX_DATA_VALUE, MAXIMUM_CAN_DATA_PAYLOAD * sizeof(uint32)); // @suppress("Field cannot be resolved")
/* Initialization of the TX message with the default configuration */
IfxCan_Can_initMessage(&g_mcmcan.txMsg); // @suppress("Field cannot be resolved")
/* Define the content of the data to be transmitted */
//g_mcmcan.txData[0] = TX_DATA_LOW_WORD; // @suppress("Field cannot be resolved")
//g_mcmcan.txData[1] = TX_DATA_HIGH_WORD; // @suppress("Field cannot be resolved")
/* Define the content of the data to be transmitted */
g_mcmcan.txData[0] = (uint16)(g_result & 0xFFFF); // @suppress("Field cannot be resolved")
g_mcmcan.txData[1] = (uint16)((g_result >> 16)& 0xFFFF); // @suppress("Field cannot be resolved")
/* Set the message ID that is used during the receive acceptance phase */
g_mcmcan.txMsg.messageId = CAN_MESSAGE_ID; // @suppress("Field cannot be resolved")
/* Send the CAN message with the previously defined TX message content */
while( IfxCan_Status_notSentBusy ==
IfxCan_Can_sendMessage(&g_mcmcan.canNode, &g_mcmcan.txMsg, &g_mcmcan.txData[0]) ) // @suppress("Field cannot be resolved")
{
}
}
but it does not work.In addiction I cannot understand where the global variable g_result is stored.
I'm at a very beginner level and this is for a scolar project, could someone please help me?
Thanks in advice, I'll also share the entire file in the upload section.
Hello,
I am trying to understand the working of various peripherals for the TC397 board. I came across the IfxPort_reg.h file for GPIOs and noticed that there are some missing nos. in the port modules for example after MODULE_P00, MODULE_P01, and MODULE_P02, there is no MODULE_P03. It skips directly to MODULE_P10. More examples can be seen in the screenshot below. I am not sure if this is common knowledge, but is there any particular reason the port modules are named in such a way?
Thanks
Show Less
Hello!
I have the following code that is not working. After first call of readRegister response is 0, after calling readRegister the second time, I receive the expected value.
Can you please help? I must mention that my application is based on the Infineon SPI_CPU_TC334 training and I've also tried to change spiMasterChannelConfig.channelBasedCs but I still don't receive the expected behavior.
I've also attached the source code for QSPI.
Thank you!
/**********************************************************************************************************************
* \file Cpu0_Main.c
* \copyright Copyright (C) Infineon Technologies AG 2019
*
* Use of this file is subject to the terms of use agreed between (i) you or the company in which ordinary course of
* business you are acting and (ii) Infineon Technologies AG or its licensees. If and as long as no such terms of use
* are agreed, use of this file is subject to following:
*
* Boost Software License - Version 1.0 - August 17th, 2003
*
* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and
* accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute,
* and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the
* Software is furnished to do so, all subject to the following:
*
* The copyright notices in the Software and this entire statement, including the above license grant, this restriction
* and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all
* derivative works of the Software, unless such copies or derivative works are solely in the form of
* machine-executable object code generated by a source language processor.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
* WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
* COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*********************************************************************************************************************/
#include "Ifx_Types.h"
#include "IfxCpu.h"
#include "IfxScuWdt.h"
#include "QSPI_Config.h"
#include "Timers.h"
#define LED &MODULE_P00,5
IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0;
volatile uint8 delay;
static unsigned char response = 0;
void core0_main(void)
{
IfxCpu_enableInterrupts();
/* !!WATCHDOG0 AND SAFETY WATCHDOG ARE DISABLED HERE!!
* Enable the watchdogs and service them periodically if it is required
*/
IfxScuWdt_disableCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword());
IfxScuWdt_disableSafetyWatchdog(IfxScuWdt_getSafetyWatchdogPassword());
/* Wait for CPU sync event */
IfxCpu_emitEvent(&g_cpuSyncEvent);
IfxCpu_waitEvent(&g_cpuSyncEvent, 1);
//init1msTimer();
initQSPI2Master();
initQSPI2MasterChannel();
resetIMMU();
selfTestIMMU();
/*uint8 xGyro, yGyro, zGyro;*/
while(1)
{
response = readRegister(WHO_AM_I, 0x00);
// response = readRegister(WHO_AM_I, 0x00);
//readIMMUAxis(&xGyro, &yGyro, &zGyro);
}
}
Show Less
Hi,
For Aurix TC397 is there any RTOS/Software BSP available other than AUTOSAR 4.2
Thank you