Git Product home page Git Product logo

ac632nuke's Introduction

AC632Nuke

珠海杰理AC632N系列芯片研究

AC632N系列芯片, 自带双模蓝牙, 双USB, 功能强大. AC6328a更是简单粗暴, SOP8的封装里面包含了蓝牙+USB功能. 杰理有官方SDK提供, 但各种资料仍然不足, datasheet也简单到了极致.

本项目尝试从0开始, 弄出一套详细的SDK出来, 让开放更为便捷.

官方SDK

官方SDK还有在gitee发布: https://gitee.com/Jieli-Tech. 某些分支比github的要新,比如GP_MCU.

BankLink.exe

BankLink将多个文件打包在一起, 生成一个bank.out文件, 通过isd_download.exe下载到芯片.

 用法: BankLink <load_addr0 in_file0> [load_addr1 in_file1] [...] output_file

bank文件格式:
 文件头部是描述区, 每个文件占用16个字节.
 00-01: bank包含文件个数. 只有第一个文件有这个区域. 其他文件这个区域都为0.
 02-03: 该文件大小
 04-07: 该文件加载地址
 08-0B: 该文件在bank文件中的起始位置
 0C-0D: 该文件的CRC16值
 0E-0F: 描述区00-0D的CRC16值

uboot_lz4.exe

uboot_lz4将编译生成的uboot.bin用LZ4算法压缩, 生成uboot.lz4文件.

 用法: uboot_lz4 in_file out_file run_addr load_addr dict_file dict_addr

lz4文件头格式:
 00-03: dict_size
 04-07: dict_addr
 08-0B: load_addr
 0C-0F: in_file大小

run_addr其实没有用到. run_addr包含在bank文件头部了. dict_file可以指定一个不存在的文件. 这样就不用现成字典来压缩了.

固件firm

在BT_SDK工程里面, 可以找到一个rom.lst的文件. 这是固件的反汇编代码, 并且包含详细的符号, 十分方便分析.
在Bootloader工程里面, 可以找到一个rom.image文件. 这就是固件镜像, 用来当作dict给LZ4用. 用固件当dict, 压缩率会稍微高一些.(固件末尾有彩蛋...)

ac632nuke's People

Contributors

tpunix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ac632nuke's Issues

请教JL的.fw和.ufw

兄弟是否知道JL的.fw和.ufw文件的格式?

我很想知道它那两个校验码是怎么得来的,是用的什么算法?

文件检验码:4663-daa5a2b2
固件校验码:76c4-52574c78

固件校验码用校验码查看器(JL的一个工具).fw和.ufw都是一样

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.