MPC5777c etpu PPA function

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MPC5777c etpu PPA function

2,676件の閲覧回数
Yumimi
Contributor II

Hi,I am using ETPUA_12 as an input channel,and has configured IGF channel.While after initialization, encounter a problem that iILF1 and ILF2 are set.

I read Chapter 37.15.9.5  Illegal instructions and dont understand it.

By the way, I can use other channels as ETPU outputs.

Another question is whether interrupt is necessary for ETPU PPA  Function.

Here is my codes and some registers values.

企业微信截图_16938120325103.png

0 件の賞賛
返信
2 返答(返信)

2,616件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

Could you try to initialize ECC in parameter RAM as shown below? I don’t say it is the reason, but it could be as I was facing something like that before. ECC in parameter RAM that has been added to MPC5676R and MPC5777C.


Adding of this code before eTPU iniatilization solved the issue on my side:

#define eTPU_AB_SPRAM_start 0xC3FC8000

#define eTPU_AB_SPRAM_end 0xC3FCBFFF


/* Clear all ETPU SRAM memories due to ECC */

// eTPU A/B parametric RAM

for (i=eTPU_AB_SPRAM_start; i<eTPU_AB_SPRAM_end; i=i+4)

{

(*(uint32_t *) i) = 0;

}


IGF filter should be enough to enable by

IGF_1.FILTER[13].MCR.B.FGEN = 1;

/* Table 39-2. IGF_0 channel mapping
Filter channel Primary function pin Module
0 TCRCLKC eTPU_C
1-15 ETPUC0-14 eTPU_C
16-19 EMIOS0_0-31 eMIOS_0
20-21 EMIOS0_6-7 eMIOS_0
22-29 EMIOS0_16-23 eMIOS_0

Table 39-3. IGF_1 channel mapping
Filter channel Primary function pin Module
0 TCRCLKA eTPU_A
1-15 ETPUA0-14 eTPU_A
16 TCRCLKB eTPU_B
17-31 ETPUB0-14 eTPU_B
32-37 EMIOS1_0-51 eMIOS_1
38-45 EMIOS1_16-23 eMIOS_1 */

0 件の賞賛
返信

2,568件の閲覧回数
Yumimi
Contributor II

I've used 

/* Clear eTPU DATA RAM to initialize the memory and make debugging easier */
fs_memset32((uint32_t *)fs_etpu_data_ram_start, 0, fs_etpu_data_ram_end - fs_etpu_data_ram_start);

to clear,and IGF has configured.

struct eTPU_struct *eTPU = (struct eTPU_struct *)0xC3FC0000;

uint32_t fs_etpu_code_start = 0xC3FD0000;
uint32_t fs_etpu_data_ram_start = 0xC3FC8000;
uint32_t fs_etpu_data_ram_end = 0xC3FC97FC;
uint32_t fs_etpu_data_ram_ext = 0xC3FCC000;
 Any other possiblity cause IFL?

I use EtpuA-6 and its CR.B.CPBA is 25 after initiation and get IFL1.

0 件の賞賛
返信