AnsweredAssumed Answered

CAAM : AES-ECB application ?

Question asked by Julien Meyer on Jan 5, 2015
Latest reply on Jul 22, 2020 by Sreelakshmy Makkippadath Anilkumar

Hi all,


I'm new to IMX6.


I would like to develop a little application in c language which use the CAAM cryptographic hardware accelerator (CHA).

I've 2 main problem:

- I think I don't understand very well all concepts: job descriptor/trusted descriptor , job rings, shared descriptors, etc...

- I try to read some register (like MCFGR — Master Configuration Register for example) and it spawn an error.


I've read the Document Number: IMX6DQ6SDLSRM :

Security Reference Manual for i.MX6Dual, 6Quad, 6Solo, and 6DualLite Families of Applications Processors

but for beginning I would like a little application example. It's easier in order to understand the main idea.


As concerning the register reading,

I use this (simple) command in my c program :

#define reg32_read(addr)     *((volatile uint_32_t *) (addr))


and in my program, when I call :

reg32_read(0x02100004); //0x02100004 : Master Configuration Register address


the program return me :


[1] + stopped (signal)  ./caam_test



I don't understand the real problem.

Is it a right problem ?

Is their a register setting that I missed in order to read all registers?

How to read/write into register in order to use CHA of CAAM ?

Is there some code examples of AES ECB mode encryption using the CAAM ?



Please, could you help me please ? Any suggestions are welcome...