# 移芯工具箱
支持移芯方案的刷机, 解包, windows/linux/macos 可用
当前支持EC618系列, 例如Air780E/Air700E/Air600E/Air780EG等模块
本库可支持被引用, eccli本身就是调用实例.
## 用法
先安装ectool, 在命令行或控制台执行
```bash
# 清华镜像
pip3 install -U -i https://pypi.tuna.tsinghua.edu.cn/simple ectool
# 若安装失败, 可尝试以下命令, 从pypi直接进行安装
pip3 install -U ectool
```
刷机(当前仅USB刷机), 支持binpkg和soc文件
```bash
ectool burn -f example.binpkg
# 启动后, 按住BOOT键, 复位模块, 或模块开机
```
更多参数执行 `ectool -h` 获取说明
## TODO List
* [x] EC618使用USB刷机
* [x] binpkg解包
* [x] 兼容Linux下刷机
* [x] 兼容Mac下刷机
* [x] 支持只刷AP或CP
* [x] 支持跳过AgentBoot
* [x] 支持擦除指定区域的数据
* [x] SoC日志解析(简易)
* [x] 支持从http加载固件文件进行下载
* [ ] EC618使用物理UART刷机
* [ ] 支持刷LuatOS的script.bin
* [ ] 完整的注释
* [ ] SoC日志解析(完整)
* [ ] ~~binpkg打包~~
## Linux刷机过程展示
[![asciicast](https://asciinema.org/a/595464.svg)](https://asciinema.org/a/595464)
## 参考链接
* 流程参考 [PSU的某种设备的文档](https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=483a9555e446577cefc31b5629e843cc814b83cb)
* beanio做的逆向版本 [beanio-ec618-downloader](https://github.com/beanjs/beanio-ec618-downloader)
## 开源协议
MIT
Raw data
{
"_id": null,
"home_page": "https://github.com/openLuat/ectool2py",
"name": "ectool",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7, <4",
"maintainer_email": "",
"keywords": "ec618,development",
"author": "Wendal Chen",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/8a/7f/386528f9c201735fc62e5beccf9952c8a0e32753641ae6549190d06c5e77/ectool-1.2.1.tar.gz",
"platform": null,
"description": "# \u79fb\u82af\u5de5\u5177\u7bb1\r\n\r\n\u652f\u6301\u79fb\u82af\u65b9\u6848\u7684\u5237\u673a, \u89e3\u5305, windows/linux/macos \u53ef\u7528\r\n\r\n\u5f53\u524d\u652f\u6301EC618\u7cfb\u5217, \u4f8b\u5982Air780E/Air700E/Air600E/Air780EG\u7b49\u6a21\u5757\r\n\r\n\u672c\u5e93\u53ef\u652f\u6301\u88ab\u5f15\u7528, eccli\u672c\u8eab\u5c31\u662f\u8c03\u7528\u5b9e\u4f8b.\r\n\r\n## \u7528\u6cd5\r\n\r\n\u5148\u5b89\u88c5ectool, \u5728\u547d\u4ee4\u884c\u6216\u63a7\u5236\u53f0\u6267\u884c\r\n\r\n```bash\r\n# \u6e05\u534e\u955c\u50cf\r\npip3 install -U -i https://pypi.tuna.tsinghua.edu.cn/simple ectool\r\n# \u82e5\u5b89\u88c5\u5931\u8d25, \u53ef\u5c1d\u8bd5\u4ee5\u4e0b\u547d\u4ee4, \u4ecepypi\u76f4\u63a5\u8fdb\u884c\u5b89\u88c5\r\npip3 install -U ectool\r\n```\r\n\r\n\u5237\u673a(\u5f53\u524d\u4ec5USB\u5237\u673a), \u652f\u6301binpkg\u548csoc\u6587\u4ef6\r\n\r\n```bash\r\nectool burn -f example.binpkg\r\n# \u542f\u52a8\u540e, \u6309\u4f4fBOOT\u952e, \u590d\u4f4d\u6a21\u5757, \u6216\u6a21\u5757\u5f00\u673a\r\n```\r\n\r\n\u66f4\u591a\u53c2\u6570\u6267\u884c `ectool -h` \u83b7\u53d6\u8bf4\u660e\r\n\r\n## TODO List\r\n\r\n* [x] EC618\u4f7f\u7528USB\u5237\u673a\r\n* [x] binpkg\u89e3\u5305\r\n* [x] \u517c\u5bb9Linux\u4e0b\u5237\u673a\r\n* [x] \u517c\u5bb9Mac\u4e0b\u5237\u673a\r\n* [x] \u652f\u6301\u53ea\u5237AP\u6216CP\r\n* [x] \u652f\u6301\u8df3\u8fc7AgentBoot\r\n* [x] \u652f\u6301\u64e6\u9664\u6307\u5b9a\u533a\u57df\u7684\u6570\u636e\r\n* [x] SoC\u65e5\u5fd7\u89e3\u6790(\u7b80\u6613)\r\n* [x] \u652f\u6301\u4ecehttp\u52a0\u8f7d\u56fa\u4ef6\u6587\u4ef6\u8fdb\u884c\u4e0b\u8f7d\r\n* [ ] EC618\u4f7f\u7528\u7269\u7406UART\u5237\u673a\r\n* [ ] \u652f\u6301\u5237LuatOS\u7684script.bin\r\n* [ ] \u5b8c\u6574\u7684\u6ce8\u91ca\r\n* [ ] SoC\u65e5\u5fd7\u89e3\u6790(\u5b8c\u6574)\r\n* [ ] ~~binpkg\u6253\u5305~~\r\n\r\n## Linux\u5237\u673a\u8fc7\u7a0b\u5c55\u793a\r\n\r\n[![asciicast](https://asciinema.org/a/595464.svg)](https://asciinema.org/a/595464)\r\n\r\n## \u53c2\u8003\u94fe\u63a5\r\n\r\n* \u6d41\u7a0b\u53c2\u8003 [PSU\u7684\u67d0\u79cd\u8bbe\u5907\u7684\u6587\u6863](https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=483a9555e446577cefc31b5629e843cc814b83cb)\r\n* beanio\u505a\u7684\u9006\u5411\u7248\u672c [beanio-ec618-downloader](https://github.com/beanjs/beanio-ec618-downloader)\r\n\r\n## \u5f00\u6e90\u534f\u8bae\r\n\r\nMIT\r\n",
"bugtrack_url": null,
"license": "",
"summary": "A tools for EC modules, like EC618/EC616/EC718",
"version": "1.2.1",
"project_urls": {
"Bug Reports": "https://github.com/openLuat/ectool2py/issues",
"Homepage": "https://github.com/openLuat/ectool2py",
"Source": "https://github.com/openLuat/ectool2py/"
},
"split_keywords": [
"ec618",
"development"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "871037db7f046730014a95355948fb666529e9486f138bfe25c5aaf9617ba429",
"md5": "e7eb138631abdd46a611726b9e378f1d",
"sha256": "d1792bd2cc8127e38266f551093c040b27ee0f2ca1194aff44fe36d316612571"
},
"downloads": -1,
"filename": "ectool-1.2.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e7eb138631abdd46a611726b9e378f1d",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.7, <4",
"size": 62220,
"upload_time": "2024-03-01T07:08:43",
"upload_time_iso_8601": "2024-03-01T07:08:43.346706Z",
"url": "https://files.pythonhosted.org/packages/87/10/37db7f046730014a95355948fb666529e9486f138bfe25c5aaf9617ba429/ectool-1.2.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8a7f386528f9c201735fc62e5beccf9952c8a0e32753641ae6549190d06c5e77",
"md5": "3db54cfeb917e98d40c5349e3421c708",
"sha256": "cd528c365aee8bd3bec1fedd70642a495bf69749e435bcb70f499e6ebe6184fc"
},
"downloads": -1,
"filename": "ectool-1.2.1.tar.gz",
"has_sig": false,
"md5_digest": "3db54cfeb917e98d40c5349e3421c708",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7, <4",
"size": 65143,
"upload_time": "2024-03-01T07:08:44",
"upload_time_iso_8601": "2024-03-01T07:08:44.816712Z",
"url": "https://files.pythonhosted.org/packages/8a/7f/386528f9c201735fc62e5beccf9952c8a0e32753641ae6549190d06c5e77/ectool-1.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-01 07:08:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openLuat",
"github_project": "ectool2py",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "ectool"
}