Thanks! I am not sure I did understand all that you said, but I am
forwarding this message to our group, the others more experienced will
for sure be glad with this info.
Thanks :-)
> -b.
>
> At 03:15 AM 5/27/2010, Casainho wrote:
>>
>> Hello :-)
>>
>> I had reading in past your blog messages, which are great. It's good
>> the Chumby story, being Open Source, I appreciate, even If I do not
>> own one.
>>
>> Just a quick question, did you use JTAG debug with imx233? I am
>> working on a Open Source project, I have a board with me and I am
>> trying to connect to imx233 with JTAG and OpenOCD - did you used such
>> tools? If so, do you have any OpenOCD script for imx233?
>>
>> I am looking at Chumby bootloader code, I hope to use it to blink a
>> LED, and boot that code from uSDCard.
>>
>> Are there any other documents, sources, Open Source projects using
>> imx233 that you can recommend? - right now, Chumby is the only
>> reference to us ;-) -- we will be using the source files you share ;-)
>> Thanks!
>>
>> Info and files for our project:
>> http://lyre.sourceforge.net/?q=content/imx233-pcbs-arrived
>>
>> --
>> Cumprimentos,
>> Jorge Pinto
>
> ^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'
>
Ah, ok. Forget the suggestion to try Chumby's boot image
as the factory config of the imx233 is going to look for
a BCB in the highest SD block -- presumably it gets this
last block location from the SD's CSD/C_SIZE.
Anyway you can get the BCB structure from the imx233
ref manual.
>> That, and the optional boot
>> encryption process, are the most frustrating parts of the bootloader,
Ugh, as feared.
>> but we
>> pretty much crib all of that directly from Freescale's tools.
Bunnie, given the above I assume you were using FSL's windows
tools to program the OTP bits as needed on factory vanilla parts?
Thanks,
-john
This is an MBR/FAT-style boot block or a BCB header located in the
high media block you're referring to above?
> We get our devices virgin, and the bootloader has a routine that unlocks
> the fuses and blows them -- natively, in-device, without the windows
> utility.
Ah, that's what I would expect. For some reason FSL's documentation
doesn't appear to describe this -- or I haven't been looking in the
right place.
> We use this also to blow our AES fuses, for example, to set the
> per-device key. But more importantly, the routine blows the fuse that
> gets us out of the annoying CBR structure.
So I'm reading here there is some interaction with the on-board
bootrom to program OTP/fuse bits perhaps via the DUART port?
Just curious what mask version FSL is shipping you folks? TA4 seems
to be the latest documented mask rev however they just shipped me a
lot of TA1s.
Thanks,
-john
> To burn the fuses, we have a bootloader that
> ^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'~*-,._.^`'
Because we are trying to avoid using Windows tools, and just use
Linux. For now we hope just to need use the 'elftosb' software that
exist also for Linux.
(Me, John and Bob, we both are on rockbo...@googlegroups.com list)
Thanks! ;-)
According to FSL in the same forum, encryption is on by default as
feared and as advertised in the imx233 ref manual:
http://forums.freescale.com/t5/i-MX-Microprocessors/sb-loader-amp-Linux/m-p/53813#M430
However from what Bunnie indicated I think reuse of
Chumby's BCB boot code/kernel is by far the path
of least resistance. And beyond that a windoZe-free
method to program the OTP/fuze bits. This is my
understanding from discussion -- just looking at the
code now.
-john
Good John!
Could you maybe first do the blink (or simple turn ON) LED code? -- I
could quickly try on the board. And please use the Sourceforge Lyre
SVN :-)
Bob,
Do any missing pieces still exist given this info?
-john
Sean Cross wrote:
>> Yes, it does need to be encrypted. The "zero" key is sufficient, and is what we use. Our invocation to create the factory bootstream image is:
>>
>> elftosb2/elftosb2 -z -c ../config/falconwing_factory_sb.db \
>> -o $(INSTALL_DIR)/bootstream-factory.bin
>>
>> I believe the "-z" command will cause the image to be encrypted with a key of all Zeros, which is what the fuses are set to by default.
>>
>> On our system, the factory image blows the "encryption not required" fuse, which lets our standard bootloader be unencrypted. So from the factory the image needs to be encrypted, but chumby removes this requirement.
Oh... can you o delete it? or maybe the one that will make next commit.
Here the .sd file for u-boot:
// STMP378x ROM command script to load and run U-Boot
sources {
sdram_prep="./boot_prep/boot_prep";
image="/home/b20596/ltib/rootfs/boot/u-boot";
}
section (0) {
//----------------------------------------------------------
// SDRAM initialization
//----------------------------------------------------------
load sdram_prep;
call sdram_prep;
//----------------------------------------------------------
// Load and call u_boot - ELF ARM image
//----------------------------------------------------------
load image;
call image;
}
'boot_prep' and 'u-boot' are ELF files. In our case, we will just have
one, the 'blink_LED', maybe something like this:
sources
{
blink_LED_elf="./blink_LED";
}
section (0)
{
load blink_LED_elf;
call blink_LED_elf;
}
The 'imx-bootlets-src-4.5.1.tar.gz' on Linux BSP for imx233 have that
files and more. I am attaching that gz file (it gives an error when
unflating, but should be not problem).
Does anyone have a blink LED code? maybe even in assembly from the C
startup file?