AnsweredAssumed Answered

iMX6 (CAAM, TrustZone) Hardware Security Blocks Use.

Question asked by fmajeric on Feb 24, 2015
Latest reply on Oct 18, 2015 by Yuri Muhin

Dear all,


I'm more an hardware engineer. So I 've relatively few skill in programming.

Nonetheless, I know basic things into main programming language. (C, Python, Java...)


I'm interesting by the iMX6 processor. In particular by some security features.

In order to test theses features, I would like to implement little C programs which use

hardware :

     (1) CAAM

     (2) TrustZone/TEE.


Previously, I bought a cheap development board : RIoTBoard with an iMX6solo embedded precessor.

The problem is the community is no large as the Freescale iMX community is.

Moreover, the Freescale community is often based on Freescale boards.

So for the moment it's a pain for me to make simple use of device features.

  • The u-boot/kernel are not complete.
  • The Freescale Flashing Tools are not really adapted when I want to do something different than provided by RIoTboard.
  • Support is tiny for this board.

For example I would like to use /drivers/crypto/caam/sm_test.c. When I compile the Kernel, they are no *.ko generated. It miss some files (caam.c for example). The iMX6 SDK is no suitable for my board...


I'm looking for a development board with OS, drivers, tools, SDK in order to develop my C program comfortably.

In particular drivers for (1). I want just test some encryption features and secure memory storage features.


For example one of my C program should just use AES-128-CAAM encryption :

  • I just would like give a plaintext, a key and get back my cipher text. Without using open-ssl or other software. Just using CAAM API encryption function.
  • An other program do the same previous process but put the ciphered into secure storage.
  • And so on...


Does anybody have some suggestion, code ready , preferred board ?

Do you know some product which can answer to my needs ?

Which board is the most convenient for my purpose ?


Please could you help me,