固件执行引擎与开源许可

本站使用 Unicorn.js(@alexaltea/unicorn-js 2.1.4),作者 Alexandro Sanchez Bach,基于 Unicorn Engine,许可证 GPL-2.0。本站分发的 ARM WebAssembly 构建未经修改。该版本 ARM M-class 模式默认选择 Cortex-M33(见对应源码 qemu/target/arm/cpu.c),可执行本页已验证的 STM32F103 Thumb GPIO 示例;并非完整 Cortex-M3 芯片模型。

完整 GPL-2.0 许可 · 下载该版本完整对应源码与构建脚本 · 版本与校验记录

源码包包含 npm 2.1.4 对应的 unicorn.js 提交 560284c59c11c8d6c94d537f4354339f069ddcdf,以及构建所用 Unicorn 子模块提交 8028ec436f2d9376525352dd38ed9ed6b9f6be10。按包内 README 和 build.py 构建。各子项目附带的许可证及版权声明保留适用。

本站固件适配器 firmware-core.js、firmware-worker.js 与 firmware-ui.js 以 GPL-2.0 发布,完整源码可直接读取。示例 Thumb 汇编 与二进制公开提供,无担保。三维显示使用的 Three.js 按其独立 MIT 许可证分发。

STM32 外设适配器 stm32-peripherals.js 同样以 GPL-2.0 发布,新增 SysTick/NVIC/EXTI、TIM2/3/4、ADC1、USART1/2/3 和位带功能。HAL 完整验证工程源码包含 ST/ARM 各自的许可文件。外设是功能模型;Unicorn 负责处理器指令执行。固件能执行不代表已完成整个芯片、实板时序或全部外设的仿真。

返回电路板实验室