Giter Club home page Giter Club 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

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.