STM32 Boot pin functions - stm32

I have a question about the BOOT pin performance of the STM32G031.
In the datasheet says that upon reset, the boot pin (PA13) is established at the beginning as the picture shows.
I wanna know if it is only at the beginning of the reset and then I can use the BOOT pin as an ADC pin???
In the stm32g031 that boot pin automatically changes to SW after boot but we don't need to debug

BOOT pins may behave a bit differenly on the different STM32 series, so you should refer to the reference manual of your part. But generaly, yes, if BOOT pin is shared with GPIO - it can be used as GPIO afterwards.
See quote from STM32F42x RM (part 2.4 Boot configuration):

Related

What is the benefit of IA-32e mode guest of the vm-enter?

Regarding Intel VMX, I found that there is IA-32e mode guest bit field in vm-entry controls.
Based on the Intel manual, when this bit is set, the VM entries start from IA-32e mode.
What is the benefit of starting VCPU from ia-32e mode?
Is it just one of VM optimization to fast-forward some initial boot steps of VCPU?
Also, if this bit has not been set, what is the default mode of the VCPU when it initially enters to the VM?

GPIO Zero Hx711 remote connection

I have 2 Raspberry Pi4, running as first one is master and the second one is slave. They are connected via ethernet cable.
A loadcell and HX711 have been wired to the slave
I would like to read the weight data from the master.
GPIO Zero library(https://gpiozero.readthedocs.io/en/stable/recipes_remote_gpio.html)
Has few examples Led, Button etc. as master and slave
I could not find an example for Hx711.
Does any one has experience with GPIO Zero library and Hx711 server, client solution.
Thanks

OS boot in a multiprocessor system

In a single processor system, when powered on the processor starts executing the boot rom code and the multiple stages of the boot. However how does this work in a multi process system? Does one processor act as the master? Who decides which processor is the master and the others helpers?
How and where is it configured?
Are the page tables shared between the processors? The processor caches are obviously different, at least the L1 caches is.
Multiprocessor Booting
1 One processor designated as ‘Boot Processor’ (BSP)
– Designation done either by Hardware or BIOS
– All other processors are designated AP (Application Processors)
2- BIOS boots the BSP
3- BSP learns system configuration
4- BSP triggers boot of other AP
– Done by sending an Startup IPI (inter processor interrupt) signal to
the AP
look here
and here for more details

How to set boot order on KVM (libvirt/virsh)?

How would you set the boot order on KVM when using libvirt/virsh? (Either via config or command)
Please take a look at the section Operation System booting.
The most common option is the BIOS bootloader where it allows you specifying boot order via changing domain XML. try command virsh edit <your-domain-name> then adjust the boot order with this example (copied from libvirt.org):
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<boot dev='network'/>
<boot dev='cdrom'/>
<boot dev='hd'/>
<bootmenu enable='yes'/>
</os>
Which means the boot order is:
boot from network like PXE boot
boot from CD-ROM if no PXE boot
boot from local hard disk if no PXE boot nor bootable CD
If you have multiple hard disks a better solution is to use
<boot order='1'/>
for the first device you want to boot and
<boot order='2'/>
for the 2nd etc
For more information see https://libvirt.org/formatdomain.html#elementsDisks

Boot process "scheduler"

Where in the boot process does the "scheduler" get created and when created how can its instructions be accessed?
That depends on the OS you use, but several things should be clear:
before the first switch to userland
before any kernel threads are started or any other multi-programming (multi-tasking) is done
Obviously that is relatively early in the boot process.
What exactly do you mean by "how can its instructions be accessed?"?
the default scheduler is set in kernel config :
adrian#adrian: ~ $ grep cfq /boot/config-2.6.36.2-desktop-2mnb
CONFIG_DEFAULT_IOSCHED="cfq"
at boot time you can do in the kernel line as example:
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/sda2 elevator=deadline