Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

HelloClyde/bbk9588-bda-sdk

Open more actions menu

Repository files navigation

BBK 9588 Native BDA SDK

SDK CI License

面向 BBK / 步步高 9588(kj409588 / C200 固件)的原生 BDA 开发工具链。 它可以把 freestanding MIPS little-endian C 源码编译成独立 *.bda,并提供经过 动态验证的系统 API 头文件、示例和开发文档。

当前版本:0.1.0-alpha.1。SDK 仍处于逆向验证阶段;模拟器验证不自动等同于 真机验证。项目源码、公开头、文档和原创示例使用 Apache License 2.0。

能做什么

  • 从 C 源码独立构建 BDA,不依赖或修改已有 BDA 模板
  • 生成菜单标题、分类、VX 图标、入口和校验字段
  • 静态验证 BDA header、checksum、入口和图标区
  • 使用已验证的文件、窗口、绘图、输入、对话框、控件和 raw PCM API
  • 运行带源码和预编译 BDA 的完整示例,包括触摸十字、控件和扫雷
  • 在专用 NAND 副本中自动部署 BDA 到 8013 模拟器

快速开始

要求:Windows PowerShell、Python 3.10 或更高版本。当前构建与 CI 以 Windows 为基准;生成的程序面向 MIPS little-endian 固件,不使用宿主系统 C 运行库。

git clone --recurse-submodules https://github.com/HelloClyde/bbk9588-bda-sdk.git
cd bbk9588-bda-sdk
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e .
.\scripts\setup_toolchain.ps1

构建并校验第一个 BDA:

bda-pack example\basic\hello_world\hello_world_msgbox.c `
  --title HelloWorld --category 9 `
  -o build\HelloWorld.bda

bda-validate build\HelloWorld.bda

不安装命令行入口时,也可以使用 python -m bda_packerpython -m bda_packer.validate。工具链或 SDK header 位于自定义目录时,分别设置 BDA_TOOLCHAIN_PREFIXBDA_SDK_INCLUDE

开发入口

目标 从这里开始
完成首次安装和构建 入门教程
查找已验证 API 开发文档
判断模拟器/真机支持情况 兼容性矩阵
阅读可运行程序 已验证示例
了解公开 API 准入规则 公开 API 策略
参与逆向验证 逆向研究区

公开应用只应包含 sdk/include/ 中的头文件。未经完整动态验证的 候选接口位于 reverse/bda_research_sdk.h,只能用于探针,不能作为稳定 SDK API。

项目结构

sdk/include/       已验证的公开 C API;SDK 的稳定边界
bda_packer/        编译、打包、图标生成和静态校验工具
example/           已验证源码及对应预编译 BDA
docs/              开发者 API 文档和教程
scripts/           工具链安装、验证和模拟器部署脚本
reverse/           候选 API、固件分析、探针和研究报告
emu/               硬件级模拟器子模块
.toolchain/         本地 MIPS 工具链缓存(生成内容不提交)

普通开发者只需使用前五个目录。reverse/ 中的命名、ABI 和生命周期可能随新证据 变化;研究结论只有达到公开准入标准后才会迁入 sdk/include/docs/

验证

运行全量单元测试、文档约束和公开示例编译 smoke:

.\scripts\verify_sdk.ps1

已安装工具链时可以跳过安装步骤:

.\scripts\verify_sdk.ps1 -SkipToolchainSetup

测试单个 BDA 的 8013 模拟器部署流程:

$env:BBK9588_EMULATOR_ROOT = "E:\bbk9588-emulator-v0.1.5"
.\scripts\test_bda_in_emulator.ps1 .\build\HelloWorld.bda -ResetImage

部署脚本只修改模拟器专用 NAND 副本,不修改原始 NAND。真机测试前仍应确认 API 文档中的生命周期、释放顺序和验证环境,尤其是绘图上下文与音频停止流程。

数据与安全边界

固件、原机应用、字典数据库、DLX、音频和本地 NAND 不属于本仓库。请只使用你有权 分析和运行的数据,并阅读 DATA_NOTICE.md。工具链安装脚本会校验固定 SHA-256;下载的压缩包和解压目录均保持在 Git 忽略范围内。

贡献前请阅读 CONTRIBUTING.md。版本变化见 CHANGELOG.md,安全问题报告方式见 SECURITY.md

License

本项目中有权授权的原创代码、文档和示例使用 Apache License 2.0SPDX-License-Identifier: Apache-2.0

该许可证不覆盖固件、NAND、原机应用和资源、商标、外部工具链或子模块中的第三方 内容;具体边界见 NOTICEDATA_NOTICE.md

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.