掌上单片机实验室 – RTT之RISC芯片尝试(22)

        前面尝试用 RT-Thread Studio 开发基于 STM32 的RT-Thread 程序,总体感觉不错;不论是RT-Thread Studio 对RT-Thread 的支持,还是对STM32芯片的封装,应该说都符合嵌入式开发的趋势:实现与硬件无关的编程!

        只有这样,开发者才能将精力放在解决实际问题上,而不是消耗在对软件的理解及芯片的熟悉过程中。

        按我所尝试的感受,至少可以在实际应用中选择 RT-Thread + STM32作为软硬件平台。尤其对于有网络连接需求的应用场合,借助于 RT-Thread 丰富的软件包资源,可以方便的实现物联网通讯,虽然我尚未尝试,但感觉应该不会有太多问题;毕竟RT-Thread目标就是IoT应用。

        考虑到目前的大环境,上述软件平台应该是无忧了,可硬件平台或许还会成为一个不确定因素。所以想尝试一下国内MCU厂家力推的 RISC-V 架构芯片。

        从 RT-Thread Studio的SDK安装包目录中,选择了一圈,最后确定用WCH的CH32V307尝试,因为从内存资源上和我前面所用的STM32F411CE相当。CH32V307虽然没有芯片级的支持包,但是有对应开发板的BSP。

        为减少不确定性,购买了WCH的WCHLink和相应的开发板。

        拿到实物后,初步尝试,不太顺利,系统性的说明几乎没有,只能自己摸索。

        先在 RT-Thread Studio中安装了CH32V307-R1的BSP,生成的模板程序可以正确编译,但下载后无法执行;在网上搜了一圈,没有找到明确的答案,但有点启发,尝试修改link.lds中的内存定义:

原来内存定义为:

MEMORY

{

    FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 224K

    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K

}

修改为:

MEMORY

{

    FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 256K

    RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K

}

        重新编译下载后,模板程序可以运行了。

        本来还挺高兴,准备按照前面的实施方式重新在CH32V307上做一遍,可第一步添加PWM设备时就遇到障碍了。

        搜了一圈,似乎没有找到准确、系统的使用说明。

        询问WCH官方的技术支持,他们推荐使用 MounRiver Studio,我只好安装。

        运行后发现,MRS应该对WCH的RISC芯片支持比较全面,而且也号称支持RT-Thread,但尝试后发现,只是提供了一个模板程序,没有找到相应的配置工具,如果这一切都需要自己根据RT-Thread 的资料自己手工编写,那对使用RT-Thread而言实在不友好,而且还不清楚如何添加RT-Thread提供的组件及软件包,如果这些不是很方便,只是使用其内核,那意义不大。

        只好回头继续研究 RT-Thread Studio;为了能快速理解,购买了《RT-Thread 设备驱动开发指南》一书。

        可琢磨一圈,初步得出结论:

        目前安装的CH32V307-R1 BSP包并不完善(或许是我还未找到入口),还无法像STM32那样完整的支持整个芯片所具有的功能。

        而网上所搜到的相关资料,均为个人所为,零散且不全面,根本无法作为编程的基础。

        我前面说过一个观点:如果所选择的芯片厂家不能提供完整的技术支持,要靠自己去编写相应的BSP,那最好不选,因为这样要消耗掉很多精力,还未必能做好,关键是不系统!

        所以,暂缓尝试CH32V307,等到何时厂家有了完整的RT-Thread支持包后再实施。

        不知道国产芯片厂家是如何考虑的?从我这些年接触 MCU 厂家的感受,国内厂家这方面做的偏弱,和 STM32 这类芯片相比,还有不小差距。

        其实芯片是否能为开发者所接受,很大程度上取决于芯片是否容易上手?资料是否系统、完善?按目前的趋势,光有一个数据手册和用户手册,已远不能满足开发者要求。

        现在MCU厂家也在逐步向API方向转化,尽量减少开发者研读芯片硬件资料的精力。而RTOS厂家的二次封装,使得MCU的开发更加抽象,可以将更多精力放在解决问题上,只需考虑如何“砍柴”,无需“磨刀”了。

        国内厂家估计也不是不重视这方面的支持,只是苦于人手不够。我也在企业干过,理解企业的难处,缺少合格的开发人员,或许是由于企业庙小,找不到高僧,或许是由于企业囊中羞涩,养不活高人。但如果这个短板不补上,国产MCU被市场接受很难!

        在我从网上搜寻相关资料的过程中,萌生了一个想法,不知道是否可行?

        芯片厂家在自身尚无精力顾及这方面工作时,与其放任网友自由发挥,不如想法整合他们的力量,让他们的付出可以有真正的价值。具体建议如下:

  1. 基于RT-Thread 的设备接口规范,以STM32的支持包为模板,编写一份CH32V307(或一系列芯片)的设备驱动编写、验收要求,以便网友可以有的放矢。
  2. 将上述要求在网上发标,给出合理的报酬(可以是名或利),这个应该比自己员工开发成本低很多,因为没有合格的东西就没有付出。
  3. 将测试任务也变成标书,由网友完成,给出合理的测试报酬。
  4. 企业只负责审核、整合、发布。

        维基百科开创了聚集网上力量的先例,后来很多项目都利用过这种机制,在BSP的开发上,国内MCU厂家不妨试试,因为这个并不是很难的事情,只是有点琐碎,要消耗点时间,十分符合利用网络分布特征去完成。

        我在网上搜到一家公司为智能车赛所开发的 CH32V307 驱动包,号称是支持 RT-Thread 的,可下载后发现,基本没有按照RT-Thread的规范去写,这样的支持包不论对芯片厂家,还是对RT-Thread的普及都意义不大,他们的付出也没有获得最大化的社会价值!

        期待国内厂家能意识到这个问题,尽快补上!

        如果读者中有和芯片厂家说上话的,还望转告上述建议!

        期待着国产MCU的在国产RTOS的助力下腾飞!

——————————————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入之梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值