AURIX™ Forum Discussions
text.format{('custom.tabs.no.results')}
Hello,
I am working on an Infineon TC397 and I want to do the following:
I want CPU3 to be running on bare-metal which is the default configuration of Infineon TriCore, and all the other CPUs to run Erika OS.
I know the startup flow of the bare-metal application but I am unable to integrate it in Erika, and since CPU0 is running Erika I was thinking of adding the function call of bare-metal to CPU0 to activate CPU3 but I have failed to do it successfully till now.
Does anyone know if this is possible to do? And if yes, how can I integrate the bare-metal startup, which is located in the Infra and iLLD files, to the Erika configuration to start CPU3 on bare-metal instead of the RTOS.
Thank you.
Show Lesscould you please answer the following question we received via social media?
Question: What kind of MCU it is?
Here is the link to our post: https://www.facebook.com/620993263398649/posts/623687983129177
Thank you!
Hello,
I am curious as to what the REGION_MAP/CORE_SEC functions are doing behind the scenes. I am trying to port the Lcf_Gnuc_Tricore linker script to work with a Clang / LLVM compiler and linker, and these directives are not recognized. Any insight into what this function does would help me be able to write an equivalent script in LLD based linker commands!
*Note: LLVM LLD is / should be compatible with GNU LD.*
Code section(s) in question:
/* map local memory address to a global address */
REGION_MAP( CPU0 , ORIGIN(dsram0_local), LENGTH(dsram0_local), ORIGIN(dsram0))
REGION_MAP( CPU1 , ORIGIN(dsram1_local), LENGTH(dsram1_local), ORIGIN(dsram1))
REGION_MAP( CPU2 , ORIGIN(dsram2_local), LENGTH(dsram2_local), ORIGIN(dsram2))
CORE_ID = CPU0;
SECTIONS
{
CORE_SEC(.ustack) (LCF_DSPR0_START + LCF_USTACK0_OFFSET):
{ PROVIDE(__USTACK0_END = .); . = . + LCF_USTACK0_SIZE; PROVIDE(__USTACK0 = .); }
CORE_SEC(.istack) (LCF_DSPR0_START + LCF_ISTACK0_OFFSET):
{ PROVIDE(__ISTACK0_END = .); . = . + LCF_ISTACK0_SIZE; PROVIDE(__ISTACK0 = .); }
CORE_SEC(.csa) (LCF_DSPR0_START + LCF_CSA0_OFFSET):
{ PROVIDE(__CSA0 = .); . = . + LCF_CSA0_SIZE; PROVIDE(__CSA0_END = .); }
}
Using: Clang TriCore compiler, TC162 architecture (TC 375 Lite kit), LLVM LLD linker script.
Best,
ja1
Show LessHi. I am currently endeavoring to deploy my deep learning model on the AURIX Tricore TC397 platform.
However, I am encountering difficulties in locating the appropriate method to do so. It appears that several quantization functions solely facilitate quantization for Arm or Intel architectures.
I would appreciate any guidance or information regarding potential avenues for deploying my model on the AURIX Tricore platform.
Thank you.
Show LessHi my name is Fabio and I'm a new Aurix user.
I would like to know if it is possible to migrate a project coming from Visual Studio to
Aurix Development Studio ... migrate with a well defined steps.
Thanks
Fabio
Show LessHi my name is Fabio and I'm a new Aurix user.
My task will be to developt TCN OPEN on a custom platform with Aurix tc23x.
Could someone address me to a library or better source code for that protocol easily to import in an Aurix project for the standard Aurix development tool?
Thanks
FAbio
Show LessHi,
Could we get clarification on the below?
- Due to availability issues, Can we design our system considering the TC397XX256F300SBDKXUMA1 part and later replace it with TC397XX256F300SBDKXUMA2 (without changing the PCB)? Our understanding is both A1 and A2 versions are pin compatible (can use the same footprint and hardware), offer the same functionality and code developed for A1 is directly usable in the A2 part.
Please let us know if this is fine.
2. What is the difference between A1 and A2?
We don’t seem to have much clarity on the statement below found on the Infineon website. Since both parts have the same SP name (SAK-TC397XX-256F300S BD), there is no change in temperature rating. So, is the ROM code changing? If so, what is the impact on our design?
3. I had a quick glance at the KIT_A2G_TC397_5V_TRB_S manual and I was able to notice the TLF35584QVVS1/2 PMIC chip part in the reference design. Could you please confirm if a PMIC chip is necessary when designing with TC397 MCU? Would there be any implications if we design our system with discrete regulators instead of PMIC?
Kindly let us know your comments.
Show Less
TC397 needs to write these six firmware in the first burn. If many boards are operated manually, it is easy to make mistakes. Is there an automatic burn that is easier and faster to burn
Show Less
Hello All,
I am using TC275 Lite Kit. I am getting SBE (Store Bus Error) / DAE Trap in the below highlighted line.
Attached the images of the Trap window and supporting documents.
#include "Ifx_Types.h"
#include "IfxCpu.h"
#include "IfxScuWdt.h"
#include "IfxQspi_reg.h"
#include "IfxQspi_bf.h"
#include "IfxStm_reg.h"
void Spi_Init(void)
{
/* initialize PORT pins for QSPI0 */
/* initialize I/O function */
P22_IOCR0.B.PC2 = 0x13; /* SLSO P20.13 */
P22_IOCR0.B.PC3 = 0x13; /* SCLK P20.11 */
P22_IOCR0.B.PC0 = 0x13; /* MTSR P20.14 */
P22_IOCR0.B.PC1 = 0x02; /* MRTS P20.12 */
/* Initialize speed grade */
P22_PDR0.B.PD2 = 0x02; /* medium */
P22_PDR0.B.PD3 = 0x01; /* strong, medium edge */
P22_PDR0.B.PD0 = 0x01; /* strong, medium edge */
P22_PDR0.B.PD1 = 0x00; /* default speed grade */
/* Initialize output */
P22_OUT.B.P2 = 0x01;
P22_OUT.B.P3 = 0x01;
P22_OUT.B.P0 = 0x01;
P22_OUT.B.P1 = 0x00;
/* enable QSPI device */
QSPI0_CLC.U = (unsigned long int)0x00000000;
/* set input line selection for MRST pin (PISEL.MRIS) */
QSPI0_PISEL.U = (unsigned long int) 0;
/* Enable Chip Select */
QSPI0_SSOC.U = 0x00040000;
/* set timing characteristics/profile for channel */
QSPI0_ECON2.U = 0x00000844;
/* set up spi device hardware */
QSPI0_GLOBALCON.U = 0x21000000;
QSPI0_GLOBALCON1.U = 0x11050400;
// clear any error flags that might get set during init process
QSPI0_FLAGSCLEAR.U = 0x1ffu;
}
int core0_main(void)
{
uint16 password = IfxScuWdt_getCpuWatchdogPassword();
IfxScuWdt_clearCpuEndinit(password);
Spi_Init();
IfxScuWdt_setCpuEndinit(password);
while(1)
{
}
return (1);
}
Trap Structure :
Trap Table to identify the trap:
DATR register : SBE bit is high.
Show Less
I'm using the Infineon FEE MCAL libray for TC39X