|
|
hace 3 años | |
|---|---|---|
| .github | hace 3 años | |
| greenpak | hace 3 años | |
| lib | hace 3 años | |
| src | hace 3 años | |
| test | hace 3 años | |
| utils | hace 3 años | |
| .gitignore | hace 3 años | |
| LICENSE | hace 3 años | |
| README.md | hace 3 años | |
| azulscsi.ini | hace 3 años | |
| platformio.ini | hace 3 años |
AzulSCSI uses the same harddrive image file format as in BlueSCSI instructions.
Examples of valid filenames:
HD5.hda or HD5.img: hard drive with SCSI ID 5HD20_512.hda: hard drive with SCSI ID 2, LUN 0, block size 512CD3.iso: CD drive with SCSI ID 3Log messages are stored in azullog.txt, which is cleared on every boot.
Normally only basic initialization information is stored, but turning DIPSW2 on will cause every SCSI command to be logged.
The indicator LED will normally report disk access. It also reports following status conditions:
In crashes the firmware will also attempt to save information into azulerr.txt.
Optional configuration can be stored in azulscsi.ini.
If image file is found but configuration is missing, a default configuration is used.
Example config file is available here: azulscsi.ini.
With verbose log messages disabled, expected SCSI performance is 2.4 MB/s read and 2.1 MB/s write. Slow SD card or fragmented filesystem can slow down access.
Seek performance is best if image files are contiguous.
For ExFAT filesystem this relies on a file flag set by PC.
Current versions of exfat-fuse on Linux have an issue that causes the files not to be marked contiguous even when they are.
This is indicated by message WARNING: file HD00_512.hda is not contiguous. This will increase read latency. in the log.
The firmware supports hot-plug removal and reinsertion of SD card. The status led will blink continuously when card is not present, then blink once when card is reinserted successfully.
It will depend on the host system whether it gets confused by hotplugging. Any IO requests issued when card is removed will be timeouted.
There is a bootloader that loads new firmware from SD card on boot.
The firmware file must be e.g. AzulSCSI.bin or AzulSCSIv1_0_2022-xxxxx.bin.
Firmware update takes about 1 second, during which the LED will flash rapidly.
When successful, the bootloader removes the update file and continues to main firmware.
On failure, azulerr.txt is written on the SD card.
Alternatively, the board can be programmed using USB connection in DFU mode by setting DIP switch 4. The necessary programmer utility for Windows can be downloaded from GD32 website. On Linux and MacOS, the standard 'dfu-util' can be used. It can be installed via your package manager under Linux. On MacOS, it is available through MacPorts and Brew as a package
The DIP switch settings are as follows:
azullog.txt)This codebase uses PlatformIO. To build run the command:
pio run
This firmware is derived from two sources, both under GPL 3 license:
Main program structure:
Major changes from BlueSCSI and SCSI2SD include: