Bitinit - Linux alternative

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Bitinit - Linux alternative

跳至解决方案
1,636 次查看
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.

标签 (2)
0 项奖励
1 解答
1,171 次查看
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 项奖励
8 回复数
1,171 次查看
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 项奖励
1,171 次查看
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 项奖励
1,172 次查看
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 项奖励
1,171 次查看
YixingKong
Senior Contributor IV

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

Thanks,

Yixing

0 项奖励
1,171 次查看
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 项奖励
1,171 次查看
YixingKong
Senior Contributor IV

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

Thanks,

Yixing

0 项奖励
1,171 次查看
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 项奖励
1,171 次查看
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 项奖励