数码之家

 找回密码
 立即注册
搜索
查看: 2951|回复: 39

[C51] 探讨一下,通过手机otg烧录stc单片机

[复制链接]
发表于 2023-11-17 15:11:40 来自手机浏览器 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
书从何起,说是以前在论坛阅过一贴介绍关于使用OTG烧录的内容,但当我想研究一下下再次检索时,由于缺乏关键信息再也找不到相关帖子,大海捞针,有点困难,于是瞎78乱搜,都知道安卓是基于linux,既然可以在linux里使用交叉编译来搞C51的开发环境,那么安卓应该也是可以,于是查找相关资料时,惊奇的发现大多都是使用giuhub上的1个库,通过py脚本可以实现烧录,于是想简单测试一下在手机上可不可以?
第一,软硬件相关信息,
硬件:type-C口OTG转接线,板载CH340的STC15开发板,已root的安卓系统手机。
软件:termux
IMG_20231113_093633.jpg
第二,STC相关flash库地址
Github库地址1:(这个有点老旧,从16年起,没见更新)
https://github.com/laborer/stcflash
GitHub库地址2:(这个几乎支持所有系列的STC单片机,近期还一直在更新,本次就是测试这个)
https://github.com/grigorig/stcgal
第三,
3.1,安装并打开termux,通过命令,图形界面选择清华大学的镜像源(最好的选择还是爬长城,毕竟有时候要克隆一些GitHub上的东西方便,可忽略此步)
命令:termux-change-repo
Collage_20231117_150027.jpg
3.2,通过命令或手机设置里的授权管理赋予termux存储权限
命令:termux-setup-storage
3.3,
更新一下软件包
命令:pkg update && pkg upgrade
安装python
命令:pkg install python -y
Screenshot_20231117_143625.jpg
3.4,确保python和相关依赖安装成功后,直接使用pip安装stcgal
命令:pip install stcgal
Screenshot_20231117_143947.jpg
再克隆源码到本地,参考相关.md文件,中英文都有,搞就是了,这里就不过多废了,运行帮助命令看看
./stcgal/stcgal.py -h
Screenshot_20231117_144650.jpg
3.5,otg连接单片机开发板,尝试连接
命令:./stcgal/stcgal.py -P stc15
报错鸟,找不到otg相关内容,
Screenshot_20231117_144611.jpg
termux给予root权限,再次尝试,还是报错找不到,于是又从CH340官网,下载安卓的驱动,安装好其中的demo.APK,进去扫描设备,发现设备地址是/dev/bus/usb/001/002/,(如果多次插拔后面数字会对应增加)
Screenshot_20231117_144451.jpg
于是怀疑是不是和linux中com口设备地址不一样导致,查找stcgal源码中/dev/ttyUSB0,尝试把它替换为/dev/bus/usb/001/002/
Screenshot_20231117_144532.jpg
再次在运行命令,这回还是报错,端口配置错误,怀疑是通讯协议的问题
Screenshot_20231117_144130.jpg
想尝试从其他源码中看出stc通信协议的其他相关内容,无果,怪自己才疏学浅呀。
第四,尝试是不是可以通过API来访问,参考以下链接termux中提供的内容搞就是了
链接:
https://wiki.termux.com/wiki/Termux-usb
4.1,手机下载安装好termux-api.APK(建议用F-Droid里的,使用签名不一样,可能会导致其他问题)
4.2,termux里命令安装
pkg install termux-api libusb -y
4.3,命令termux-usb -l,这回可见它列出otg设备
4.4,命令termux-usb -r /dev/bus/usb/001/002,弹出权限,授予
Screenshot_20231117_144359.jpg
4.5, 按前面termux链接内容搞, 家目录下建立usbtest.c,复制相关内容并gcc编译。
4.6,运行命运看下
termux-usb -e ./usbtest /dev/bus/usb/001/002
虽然有其它设备信息错误,但是这里是是可以看出版本号vid和PID是和CH340demo.apk中给出的一样,
Screenshot_20231117_144331.jpg
第五,最后总结,探讨一下。
5.1,既然CH340官方安卓驱动中提供有apk源码和配置文档,那是不是在源码中加入stc的通信协议,实现hex文件的烧录呢?
5.2,再者termux-usb可以识别出otg设备,那是不是可以在testusb.c中加入stc通信协议和写入hex相关内容就可以呢呢?
5.3,又或者能否把stcgal这个库改为适配termux,我感觉是源码中缺少权限导致,如果能搞定像termux-api那样,出现usb2.0-seriel的授权,那么这个库应该可以使用上?
手机毕竟是手机,玩玩还是可以的,简单的代码高亮,提示等功能可以通过代码编辑器,C++编辑器等apk软件实现,vim也可以,就这样,才疏学浅,咋都不懂,蹭一帖,不废话了,万一哪天有大婶解决了一下也挺好了,谢谢观看。

打赏

参与人数 6家元 +249 收起 理由
200birds + 30
jf201006 + 30 謝謝分享
慕名而来 + 21 認真發帖
ww5223017240 + 30 歡迎探討
cushion + 18 原創內容
家睦 + 120

查看全部打赏

发表于 2023-11-17 15:24:54 | 显示全部楼层
我也有这种想法,但是不懂英文不懂硬件。坐等老师研究成功。
回复 支持 反对

使用道具 举报

发表于 2023-11-17 15:25:50 | 显示全部楼层
学习了。要是有不用root的方法更好了。
回复 支持 反对

使用道具 举报

发表于 2023-11-17 15:37:45 | 显示全部楼层
STC有下载协议的,你说的这个功能可以实现,只是没有人去做这事
回复 支持 反对

使用道具 举报

发表于 2023-11-17 15:40:26 | 显示全部楼层
毕竟是linux,有root权限,要干吗都可以了  

回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-17 15:46:11 来自手机浏览器 | 显示全部楼层
szb314 发表于 2023-11-17 15:37
STC有下载协议的,你说的这个功能可以实现,只是没有人去做这事

1,(转)STC 51单片机烧录协议分析
2,
谈宏晶STC单片机的ISP功能 (芯片保密性)转
3,PYQT5:基于QsciScintilla的代码编辑器分析9--STC51烧写协议及实现
看这几遍文章,这协议似乎还是有点搞头,不是太难
回复 支持 反对

使用道具 举报

发表于 2023-11-17 15:51:03 | 显示全部楼层
沁恒电子官网有APK驱动的
回复 支持 反对

使用道具 举报

发表于 2023-11-17 16:09:44 | 显示全部楼层
年轻就是资本,爬长城跟玩儿似的,羡慕呀
回复 支持 反对

使用道具 举报

发表于 2023-11-17 16:52:13 | 显示全部楼层
看着好高级的样子,这是说不用电脑直接手机编程了
回复 支持 反对

使用道具 举报

发表于 2023-11-17 17:22:12 | 显示全部楼层
帮你问了一下claude2:
安卓手机上可以下载的51单片机程序下载软件有以下几款:

ISP Flash
这是一款功能强大的51系列单片机程序烧录工具。支持USB下载,可以通过OTG线将安卓手机/平板连接到单片机开发板进行程序下载。

可以在Google Play中搜索ISP Flash进行下载。

ISI
这也是一款51单片机下载软件,提供ISP/IAP/ICP功能,操作简单方便。

可以在应用商店搜索ISI进行下载。

USB ASP
聚创软件开发的51单片机下载工具,可以直接通过微型USB线连接手机和开发板。

可以前往聚创软件官网或者应用商店下载。

YK-ISP
一款免费的单片机编程工具,支持多种接口,可以通过OTG线进行下载。

可以在Google Play中搜索YK-ISP下载。

LptISP
这是一款小巧的ISP工具,需要自行编译,代码开源在GitHub上。

以上都是可以在安卓手机上使用的51单片机下载软件,大多可以在应用商店直接搜索下载即可。也可以到开发者的官网进行下载。

https://github.com/IOsetting/stc8prog

打赏

参与人数 1家元 +30 收起 理由
兔包公 + 30 熱心助人

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2023-11-17 17:28:58 | 显示全部楼层
可以肯定是可以的,但是就安卓那个小屏幕你看着不眼睛疼吗?感觉没啥实际意义吧?就算烧录方便了调试也麻烦吧,还不如带台小笔记本或者WIN平板了不是?与其这么搞的话还不如搞台7寸屏的3735的win平板,啥都有了不是?也不比手机大多少啊
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-11-17 17:50:16 来自手机浏览器 | 显示全部楼层
kindzhon 发表于 2023-11-17 17:22
帮你问了一下claude2:
安卓手机上可以下载的51单片机程序下载软件有以下几款:


谢谢分享,周末有空试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-17 17:53:12 来自手机浏览器 | 显示全部楼层
ww5223017240 发表于 2023-11-17 17:28
可以肯定是可以的,但是就安卓那个小屏幕你看着不眼睛疼吗?感觉没啥实际意义吧?就算烧录方便了调试也麻烦 ...

习惯躺平了耍,屏幕小换平板就是了,可惜了平板还是安卓的,呵呵
回复 支持 反对

使用道具 举报

发表于 2023-11-17 23:37:25 | 显示全部楼层
root的方法现在只有小米放开。
回复 支持 反对

使用道具 举报

发表于 2023-11-18 00:20:26 | 显示全部楼层
额,楼主这个研究有点深入的。理论上肯定是可行的。现在的安卓手机其实性能并不弱,而且现在手机内存和闪存都够大所以应该使用的也是完整版linux底层,这么一来理论上成功率就更高了。
但是,楼主你不会真的想在手机上开发单片机吧???
回复 支持 反对

使用道具 举报

发表于 2023-11-18 11:12:32 | 显示全部楼层
这个功能实用吗?
回复 支持 反对

使用道具 举报

发表于 2023-11-18 14:20:42 | 显示全部楼层
具有钻研精神的一次尝试


不过这不是解决技术痛点,而是没有痛点创造痛点。
回复 支持 1 反对 0

使用道具 举报

发表于 2023-11-18 19:43:40 | 显示全部楼层
回个贴居然还扣了2币,签到也没见加币上去,这论坛咋了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-19 10:39:18 来自手机浏览器 | 显示全部楼层
gzhs560 发表于 2023-11-18 19:43
回个贴居然还扣了2币,签到也没见加币上去,这论坛咋了?

只有交易区版块回复会扣,具体前往站务查看相关版规帖子
回复 支持 反对

使用道具 举报

发表于 2023-11-20 08:20:06 | 显示全部楼层
兔包公 发表于 2023-11-19 10:39
只有交易区版块回复会扣,具体前往站务查看相关版规帖子

看版规的时候打瞌睡了,惭愧惭愧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-29 01:56 , Processed in 0.124800 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表