找回密码
 立即注册
查看: 158|回复: 8

纯MAC开发51单片机程序实践

[复制链接]
  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 118 天

    [LV.6]常住居民II

    19

    主题

    84

    回帖

    1107

    积分

    金牌会员

    积分
    1107
    发表于 2024-3-14 09:57:03 | 显示全部楼层 |阅读模式
    很久没有更新STC8库函数和试验箱实例程序了,并不是烂尾了。而是我原先使用的MAC电脑趴窝了。
    1T的固态硬盘过保后果断离我而去了。

    然后重新用回了MAC,这两天一直在搭建开发环境,和解决各种问题。

    终于皇天不负有心人,找到了一个完整的使用MAC开发51单片机程序的组合(不实用虚拟机):
    1、编译器:sdcc, 这个之前就说了,没啥可讲的。
    2、编辑器:vscode;
    3、构建工具:platformio;
    4、烧录:论坛中有网友给出了两种方案,


           一个是装一个能够在非windows系统下使用win软件的软件;
           一个是安装虚拟机,然后在虚拟机安装isp,我最终选择了这个来尝试,但是最终还是想寻找更好的方案;
           最后还是使用跨平台已经开源的stcgal。 但是这里需要说明一下并不是直接使用pio的烧录按钮,也不是使用pio提供的tool-stcgal;下面会详细讲解如何使用;
    5、串口工具:我安装了一个开源的,如下图:
    截图202403140935313976.jpg
    除此之外其实也可以使用pio 提供的,个人感觉不是很好用,可能不太习惯:
    截图202403140938416383.jpg


    1,2,3 这里就不过多赘述了,之前也分享过了。这里重点说一下4:
    stcgal 是一个使用python开发的跨平台的开源烧录工具,现在已经基本支持除了STC32之外的STC所有IC,我测试的就是STC8H8K64U 这款IC;
    pio 也有集成stcgal,但是pio在stcgal的基础上又加上了很多跟工程配置相关的东西,在命令行后加上一些默认的参数,可选项之类的。
    其中是有些bug的,所以很多小伙伴在使用按钮直接烧录的时候会失败。大家可以去github的issue去看看:
    比如有 -a 导致失败的, -P stc8 导致失败的。
    我遇到的就是-P stc8失败的。

    我也给提交了issue,但是作者似乎没有完全理解我的意思,仅仅是升级了sdcc 和 tool-stcgal;昨晚试了下还是失败的;

    成功的经验是:
    step1: 直接下载或者安装stcgal,可以参考github仓库,搜 stcgal 就可以,这里不贴链接了。
    step2: 链接电脑,转串口工具(我用的是link1D),开发版,我用的试验箱的第13个实验,串口4跟电脑通信;

    step3: 使用stcgal 烧录程序: 使用的命令是:stcgal -P auto -t 22118 -p /dev/tty.usbmodem829410862 .pio/build/STC8H8K64U/firmware.hex
    其中:
    -P 设置成auto 就好;
    -t 时钟频率,类似isp的频率选择下拉框;
    -p 选择串口;
    截图202403140953171934.jpg

    step4: 测试串口:
    截图202403140956548973.jpg

    不争是争
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    13 小时前
  • 签到天数: 64 天

    [LV.6]常住居民II

    11

    主题

    367

    回帖

    1071

    积分

    金牌会员

    积分
    1071
    发表于 2024-3-14 10:22:23 | 显示全部楼层
    感觉用mac开发的,都比较高大上,,
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 96 天

    [LV.6]常住居民II

    9

    主题

    554

    回帖

    809

    积分

    高级会员

    积分
    809
    发表于 2024-3-14 11:02:33 | 显示全部楼层
    xiangzichen 发表于 2024-3-14 10:22
    感觉用mac开发的,都比较高大上,,

    其实MAC对普通用户不友好,一般的工具软件相对较少,排查问题也比较麻烦,网上可供参考的经验也少。
    当然,有些专业制图、视频制作之类的,MAC下的效率比Windows下效率高很多。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    13 小时前
  • 签到天数: 64 天

    [LV.6]常住居民II

    11

    主题

    367

    回帖

    1071

    积分

    金牌会员

    积分
    1071
    发表于 2024-3-14 11:05:20 | 显示全部楼层
    21cnsound 发表于 2024-3-14 11:02
    其实MAC对普通用户不友好,一般的工具软件相对较少,排查问题也比较麻烦,网上可供参考的经验也少。
    当然 ...

    是啊,对我们嵌入式开发而言,Mac,Linux都不如Win来的方便.快捷.
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 70 天

    [LV.6]常住居民II

    2

    主题

    90

    回帖

    544

    积分

    高级会员

    积分
    544
    发表于 2024-3-14 11:21:35 | 显示全部楼层
    嵌入式开发和工控,WIN比较好
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    15 小时前
  • 签到天数: 65 天

    [LV.6]常住居民II

    4

    主题

    409

    回帖

    1100

    积分

    金牌会员

    积分
    1100
    发表于 2024-3-14 11:31:10 | 显示全部楼层
    xiangzichen 发表于 2024-3-14 11:05
    是啊,对我们嵌入式开发而言,Mac,Linux都不如Win来的方便.快捷.

    开发环境,win确实比较友好
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    17 小时前
  • 签到天数: 135 天

    [LV.7]常住居民III

    15

    主题

    531

    回帖

    1928

    积分

    金牌会员

    打工人

    积分
    1928
    发表于 2024-3-14 12:12:24 | 显示全部楼层
    李鑫发 发表于 2024-3-14 11:21
    嵌入式开发和工控,WIN比较好

    说的对
    打工人
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    8 小时前
  • 签到天数: 55 天

    [LV.5]常住居民I

    2

    主题

    520

    回帖

    661

    积分

    高级会员

    积分
    661
    发表于 2024-3-17 01:02:29 来自手机 | 显示全部楼层
    Mac编写单片机的少吧!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    8 小时前
  • 签到天数: 118 天

    [LV.6]常住居民II

    19

    主题

    84

    回帖

    1107

    积分

    金牌会员

    积分
    1107
     楼主| 发表于 2024-3-17 11:05:41 | 显示全部楼层
    soma 发表于 2024-3-17 01:02
    Mac编写单片机的少吧!

    用习惯了mac
    不争是争
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-29 23:23 , Processed in 0.067944 second(s), 63 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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