AI8051U:VSCode+EIDE+SDCC编译器最简单的不停电一键下载
分享USB_CDC库, USB_HID库, SDCC版, IAR版, @Ai8051U-8Bit - SDCC, IAR C++ for 51, GCC, VSCode,Linux, MacOS 国芯技术交流网站 - AI32位8051交流社区
使用了大佬的SDCC库,实现了SDCC编译,不停电下载。方法跟keil下使用一样,就是引用USB库。
虽然能够不停电下载了,但是Vscode中编译完成后,还要打开STCISP软件点一下下载按钮,使用自动检测hex文件变化自动下载有太频繁了,并不是每次编译后都需要下载。
官方的STCISP又不支持命令行下载,第三发下载工具stcgal之类的下载器可以命令行下载烧录操作,但作者很久没更新了,不支持ai8051u的USB下载。
经过上面帖子大佬的醍醐灌顶,有了思路,那就是利用STCISP软件的文件自动下载检测,复制一份hex,然后在VSCODE中eide插件的下载按钮里调用脚本完成复制,我们在STCISP里下载复制备份的文件,勾选自动检测文件变化就下载选项。
这样,每次需要下载,我们点击下载按钮,就会自动运行脚本复制备份,也就间接实现了方便的点击下载功能。
具体操作:
1、准备批处理程序download.bat,我这里存放到工程根目录的tools文件夹下,我已经写好,文件内容如下:
cd /d %~dp0
copy /Y %1 %1.bak.hex2、在eide的下载选项配置下载命令:
.\tools\download.bat ${ExecutableName}.hex
3、点击下载按钮运行一次,产生备份文件供STCISP下载用
4、在STCISP中配置好你的下载选项,选中“当目标文件变化时自动装载并发送下载命令”
打开后缀为.bak.hex的程序文件,点击下载一次程序。
5、此时STCISP后台保持打开就行,直接在EIDE中点击下载按钮即可完成程序下载(此时会运行批处理download.bat复制hex程序文件,后台的STCISP检测到复制后的文件变化就会下载程序,等待下载完成即可)
这样只需要在STCISP通过USB接口点击下载一次程序,就可以在VSCODE安心写代码下载,不用再管STCISP,避免了重复的程序切换工作。
貌似又有一个很关键的步骤没写,就是eide的flash如何知道stcisp软件的位置呢? yzhkpli 发表于 2025-2-10 14:23
貌似又有一个很关键的步骤没写,就是eide的flash如何知道stcisp软件的位置呢? ...
为什么需要知道stcisp软件位置?按照步骤做就行了,肯定能成功{:koubi:} 巧妙的运用:当hex变化时,自动更新软件 烧录配置 使用 stcgal都可以直接在vscode里下载了 tjx588 发表于 2025-4-15 21:04
烧录配置 使用 stcgal都可以直接在vscode里下载了
没看帖子?帖子中不是说了吗stcgal不支持ai8051u的USB下载,作者有两年没维护了,估计弃坑了。你自己去看看:https://github.com/grigorig/stcgal 大佬,可以出一个完整的vscode配置环境的教程吗! tjx588 发表于 2025-4-15 21:04
烧录配置 使用 stcgal都可以直接在vscode里下载了
vscode里面使用stcgal下载,好像没有"调节晶振频率"的功能,需要再stcisp里面下载并调节一次,后续再vscode下载就会默认是之前调节过的。 云烟成雨 发表于 2025-6-8 23:18
大佬,可以出一个完整的vscode配置环境的教程吗!
用keil编译器,大致是这样的,个人觉得够用了。
(公司电脑,没有网络,环境搭建起来太难了。)
1、安装插件(其他几个插件也装上吧,+汉化插件)
2、配置keil编译器
3、其他大概功能说明
4、不写文字了,图里有文字。这样的环境应该够用了。
要在vscode里烧写就配置python环境:
按以上思路摸索一下,就搞定了,电脑有网络应该不怎么难,实在不行问一问deepseek。
就这样吧,希望大佬可以分享更好的出来。
页:
[1]