the BMC is the board management controller. It is responsible for e.g. downloading the bitstream
into the FPGA.
1. I do not think that you can change the program that runs on the BMC. I assume it is "hard-coded"
3. I don't know
Indeed, the BMC and the FPGA are not the same. The BMC is basicallly a tiny ARM based embedded system that can bootstrap the whole SCC system by configuring the FPGA (which acts as the chipset for the SCC processor). The BMC runs a very lightweight embedded Linux, I remember that I once logged onto it, but I dont remember how at the moment. In theory you could just cross compile a program for the ARM architecture and run it on the BMC. So the answer to question 1) is 'yes', 2) was already answered, and 3) I also don't know
Just to refresh my memory I had a quick search on the MARC site, and I just found some of the documentation how to get to the BMC. It depends if you have your own SCC system or are working on one of the datacenter machines. When using a datacenter machine, you might want to check with Intel people if they dont mind if you make changes to the BMC.
By default, the BMC is configured at IP 192.168.2.127. You can log into it with the root account using telnet or ssh, where the default password should be 'rlbbmc' for a rockylake board. It uses the USB flash drive that is plugged into the front of the SCC case. It has a 2Gb capacity and is largely unused, so you could easily add custom software on it. Either by shutting the system down and taking the USB drive out and access it on another machine, or by downloading applications to the BMC with tools such as as wget or scp, which are already present.
Some additional useful information is found in these two documents:
Also realize that the BMC is only a very lightweight embedded controller, with a 180 MHz ARMv9 core. For more details on the used embedded platform, according to the reported hardware ID, this is the controller that was used:
1. No, the BMC is a closed environment. It has critical responsibilities and limited capabilities. We'd risk literal destruction of the processor if it didn't bring up the power supplies properly at boot, for example.
3. Yes, see HowToAccessStatusFromSCC.pdf in the documents section http://communities.intel.com/docs/DOC-6804