Bitinit - Linux alternative

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Bitinit - Linux alternative

Jump to solution
1,563 Views
matthiasV
Contributor I

Hello there!

I used the imx_otp_tools - package in order to write Super Root Key - Banks (SRK) in i.mx287

Following packages are included

  • BitBurner(exe) - not used but gives nice output of current banks
  • otp_burner(python) - creates OtpInit.sb-file which holds srk
  • BitInit(exe) - actually flashes sb-file (which includes srk) to fuses

I sucessfully flashed my pins by using windows operating system.

Due to the fact that this program seems to be the only windows program I would like to know if there is any other alternative linux software, which replaces BitInit, available.

If not there is annother possibility:

We use uboot as bootloader and this piece of software gives us the option to execute former downloaded elf-code. After sucessfully downloading (tftp) OtpInit.sb to 0x42000000 I try executing it by "bootelf 0x42000000" which results in following error message "## No elf image at address 0x42000000"

This is pretty obvious because sb is not elf ... it already has been converted by elftosb. is there any way to get the elf-file BEFORE it becomes sb?

Thanks in advance,

Matthias V.

Labels (2)
0 Kudos
1 Solution
1,098 Views
JackyAtFreescal
Senior Contributor II

Hi Matt,

We don't have linux version of Bitinit. pitc_otp_mfg_mx28 files is part of the OTP bit programming distribution and do not change. So it seems the existing tools cannot satisfy your requirement.


Regards,

Jacky

View solution in original post

0 Kudos
8 Replies
1,098 Views
matthiasV
Contributor I

No. this answer was not helpful because he did not answer my original question.

I said that I would be able to take care of elf-files because I would just download them via tftp and run them via uboot's "runelf" command.

Unfortunately I only receive the .sb-file from the python script.

My question was how to gain the elf with with included bit-settings. The elf file with no bit settings is useless if I would like to overwrite the OTP Fuses

As far as I understand JackyAtFreescale's reply there is no way to receive that kind of elf-file.

Which shows that his former statement about using no-elftosb - parameter is not correct for my task ... or was here something I did not understand?

Looking forward to hearing from you,

Matthias

0 Kudos
1,098 Views
YixingKong
Senior Contributor IV

Matt, as Jacky had answered your question, we will close your discussion if there is no more issue in 3 days.

Thanks,

Yixing

0 Kudos
1,099 Views
JackyAtFreescal
Senior Contributor II

Hi Matt,

We don't have linux version of Bitinit. pitc_otp_mfg_mx28 files is part of the OTP bit programming distribution and do not change. So it seems the existing tools cannot satisfy your requirement.


Regards,

Jacky

0 Kudos
1,098 Views
YixingKong
Senior Contributor IV

Mathias, please click Correct Answer/Helpful Answer if Jacky's reply help you.

Thanks,

Yixing

0 Kudos
1,098 Views
matthiasV
Contributor I

Hello Yixing Kong!

Unfortunately this answer was not helpful. Overmore I did not know that someone is really maintaining the state of helpful answers. Way to go freescale!

I tried the no-elftosb option but nothing was generated. I searched for something like otp_init in elf-format but nothing was there. Where could that file be? It certainly must be created on its way of becoming a sb-file.

The only file which is newly created would be output.dat and it has following content

0x00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0x00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0x00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0x00000060: 10 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0x00000080: 49 35 26 08 c4 46 92 f4 06 84 39 b1 90 bd 54 d8 f7 c9 25 28 1d 5e 6d 54 c1 eb 30 da c9 bb aa b6 

I am pretty sure that this is not enough code for being a elf-file?

Thanks in advance,

Matthias Vierthaler

0 Kudos
1,098 Views
YixingKong
Senior Contributor IV

Mathias, please click Correct Answer/Helpful Answer if Jacky's reply help you.

Thanks,

Yixing

0 Kudos
1,098 Views
JackyAtFreescal
Senior Contributor II

Hi Matt,

For imx28, pitc_otp_mfg_mx28 is the elf-file.

elftosb combines pitc_otp_mfg_mx28 and the bit setting data into a single file which has the name ended with ".sb". By default the name is OtpInit.sb.

Your newly created output.dat actually is the bit setting data, pitc_otp_mfg_mx28 needs it at runtime.


Regards,

Jacky

0 Kudos
1,098 Views
JackyAtFreescal
Senior Contributor II

Run otp_burner.py with the option --no-elftosb

otp_burner.py --help

Usage

=====

  otp_burner.py [options] [-k FILE] [-r FILE] -i FILE [-o FILE]

Options

=======

--help, -h              show this help message and exit

--version, -V           Show version information.

--input=PATH, -i PATH   Specify the input OTP bit settings file.

--output=PATH, -o PATH  Write output to this file. Optional; if not provided

                        then the output file name is generated from the input

                        file name.

--key=PATH, -k PATH     Specify the input crypto key file.

--key-number=NUM, -n NUM

                        Use key number N from the crypto key file (default 0).

--srk=PATH, -r PATH     Specify the binary super root key hash file.

--print-otp, -p         Print the resulting OTP registers.

--elftosb, -e           Run elftosb to generate the .sb file (the default).

--no-elftosb, -E        Do not run elftosb.

--hab, -a               generate a HAB compatible .sb (MX28 only; default)

--no-hab, -A            generate a non-HAB .sb (MX28 only)

0 Kudos