Firstly, if this is not the appropriate forum for this I would appreciate guidance on which would be a better choice.
I am trying to get up to speed with the kit listed in the title, Linux, and the BLDK Development environment. I have successfully downloaded and extracted this BLDK into the ~/core directory for it, I also have the BLDK development environment running under Fedora 14.
Where can a total newbie to this development environment go to start learning how to build a .bin image for download to the Crown Bay reference platform using the development application. I've been beating my head on this for a little while and should have asked sooner.
I have gotten a rom.bin file to make from the command line and flashed it to the board. Unfortunately I don't know what behavior to expect from the base software provided by Intel.
i assume you are useing Crown Bay as reference Hardware.
The ReleaseNotes Documents for 126.96.36.199 describes what the sample configuration does:
"The sample firmware performs common hardware initialization tasks, then
transfers control to a shell with several commands installed for debugging and
booting. The user console is configured for input and output via the primary
serial port on the board at 115200 baud, 8 data bits, 1 stop bit, no parity,
and no flow control.
Several useful commands are installed into the shell including the following:
- ymodem: transfers files from a host to the target using a serial port
- flash: programs a new firmware image into the boot ROM
- bootpnp: attempts to boot using a user-specified expansion ROM
A complete list of available commands can be displayed using the "help"
command. Refer to the Intel(R) Boot Loader Development Kit User Guide and
Reference Manual for complete documentation."
If you flash the rom.bin and start Crown Bay you should see that the post codes on the Port 80 Display show several values (see documentation for the meaning of the values). If it hangs at 00 then you maybe have flashed the rom.bin starting at 0x000000, but you have to flash it starting at 0x100000 (1MByte).
Hope that helpd for a first start.
Thank you very much for the response. I am not in the office today but will look at it tomorrow. I do not remember seeing the POST code LED's changing so will make sure I am programming at the right address first. I was able to reprogram with the AMI BIOS so my programmer is working correctly anyway.
OK, this is where I am at now. I have run make in the /core/target/brd_crown_bay directory. It runs and builds a rom.bin in the elf subdirectory fine. I then take that file and program an erased chip on the development board at 0x100000. When I power up the post code on the Crown Bay development board stays at 00 and no boot appears to be occurring.
I can erase the part and download the AMI BIOS. This seems to load at 0x200000 instead of 0x100000 but it boots up fine. This leads me to believe my programmer at least is working correctly.
I am currently confused as to how the different load location seems to work with the BIOS but will continue to pursue.
UPDATE: I have also created a project with the Development Application per the instructions in Ch 3 of the Getting Started manual. I built a binary from the elf/crown_bay.bsf file and flashed that with the same results so far. Just as an FYI I am using the DediProg SF100 programmer under Windows to actually perform the reflash.
as far as i know you have to program the binary into the uppest part of the flash. I think this is because the reset vector is at the physical address 0xFFFFFFF0.
E.g. if you have a 2 MB Flash (that is what we have on Crown Bay) and you have a 1 MB rom-file (that is the default in the BLDK) then you should program it starting at 0x100000 (1MB). If you have a 2 MB rom-file (e.g. the AMI reference-BIOS) then you should program it from 0x000000. So i wonder that your reference BIOS runs if you program it starting at 0x200000. What kind of BIOS-SPI-Flash do you have in Crown Bay?
UPDATE: Maybe you also should try the rom.bin (a 1 MB version) that comes with the BLDK for Crown Bay just to be sure that you do not make any mistakes when building your own rom.bin.
Thanks, I think you are indeed correct. Now that I watch what my programmer is doing it appears to not be willing to start at 0x100000. Will have to pursue that now or figure out how the get the Linux development tool to pad out the first 1 meg of the image so that it starts at 1 meg in a 2 meg part. So far my programmer is not cooperating with me so that may be the approach I need to use.