AXIOM Beta Firmware Version 2.0
From apertus wiki
1 Prepare Micro SD Card
- Get a new Micro SD card (4GB is enough, bigger is fine as well, but the partitions are not yet automatically resized when a bigger SD card is detected).
- Acquire the latest automatically built firmware image from: https://github.com/apertus-open-source-cinema/axiom-beta-firmware/releases - don't be alarmed by the name "Unstable Development Snapshot" it just means the firmware has been automatically built without human interaction.
- Download, install and start Etcher: https://www.balena.io/etcher/
- Flash the acquired image to a new Micro SD card with Etcher (we highly recommend not overwriting the Micro SD card you currently use in your AXIOM Beta).
- After flashing put the Micro SD card into the AXIOM Beta Microzed SD card slot and power up the Beta.
2 Notes
This new firmware is still in development so expect issues and bugs.
This is the list of current issues/bugs: https://github.com/apertus-open-source-cinema/axiom-beta-firmware/issues
If you find a new bug or have ideas for improvement please add it as github issue (please first check it has not been reported yet).
- Default user is now operator and password: axiom
- Sudo is required to change system/camera settings (like running the various scripts)
- All camera related programs and scripts are now prefixed with
axiom-
(for example to runset_gain.sh
use runaxiom-set_gain.sh
). They are now executable from anywhere. kick_manual.sh
was renamed toaxiom-start.sh
halt_manual.sh
was renamed toaxiom-stop.sh
cmv_snap3
was renamed toaxiom-snap
axiom-sequencer-start.sh
starts the continuous image acquisition (HDMI output).axiom-sequencer-stop.sh
stops the continuous image acquisition (HDMI output).- For example :
./cmv_snap3 -e 20ms -z
is now done by typingsudo axiom-snap -e 20ms -z
- For example :
- Image build log is located in each image under:
/var/build.log
- Devicetree source can be found at
/boot/devicetree.dts
. To recompile it after any changes usedtc -O dtb -o /boot/devicetree.dtb /boot/devicetree.dts
- To interrupt the autoboot from u-boot send
Ctrl-C
over serial quickly after a boot / reboot (try holding it down) axiom-file-check.sh
does an integrity check of /usr, /etc and /opt- Binaries are linked in:
/usr/axiom/bin
- Scripts are linked in:
/usr/axiom/script
/opt/axiom-firmware
contains scripts and binaries- Every AXIOM Beta currently has the same MAC address - a random one should be generated on the first boot, but this is not implemented yet.
- Second Micro SD card slot is enabled by default.
- Factory Calibration Routines have been forked for firmware 2.0: Factory_Calibration_(firmware_2.0)
2.1 FPGA Bitstreams
- FPGA bitstreams are located in
/usr/lib/firmware
and softlinked to from/opt/bitstreams/
- *.bit files (from old firmware) need to be converted to *.bin files (for new firmware) with:
/opt/axiom-firmware/makefiles/in_chroot/to_raw_bitstream.py -f input_file.bit output_file.bin
and copied to/lib/firmware
- make sure to load new bitstreams as root (
sudo su
) and not withsudo
or useecho $BITSTREAM_NAME | sudo tee /sys/class/fpga_manager/fpga0/firmware
Further documentation:
- https://github.com/apertus-open-source-cinema/axiom-beta-firmware/blob/master/README.md
- https://github.com/apertus-open-source-cinema/axiom-beta-firmware/blob/master/software/scripts/README.md
- AXIOM Beta main page.
2.1.1 Switch HDMI Modes (50p/60p <-> 25p/30p)
run:
sudo axiom-halt.sh
Create a copy of axiom-start.sh with a new name eg. axiom-start30.sh
cp $(which axiom-start.sh) axiom-start30.sh
In it replace this line:
echo axiom-fpga-main.bin > /sys/class/fpga_manager/fpga0/firmware
by this line (choosing appropriate files: _30 for 25P/30p or _60 for 50p/60p modes):
echo cmv_hdmi3_dual_30.bin > /sys/class/fpga_manager/fpga0/firmware
copy /opt/bitstreams/cmv_hdmi3_dual_30.bin to /lib/firmware:
sudo cp /opt/bitstreams/cmv_hdmi3_dual_30.bin /lib/firmware
execute the new script:
sudo axiom-start30.sh