0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

踩坑记录—RT-Thread Studio烧录ch32v307

冬至子 来源:初级踩坑仔 作者:初级踩坑仔 2023-10-13 15:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

RT-Thread Studio向ch32v307vct6烧录程序,有个前置条件要完成。

1坑中坑(这部分可以看看,不要跟着操作)

要先用沁恒的烧录工具WCHISPStudio将ch32v307vct6的ROM改为224K,RAM改为96K,
参考数据手册可以发现ch32v307的FLASH和RAM是可以自己配置大小的,第一次见。

1.jpg

然后可以通过芯片的USB或串口1用WCHISPStudio下载程序,我们仅仅修改下FLASH为224K,RAM为96K。之后就可以用RT-Thread Studio烧写程序了。将BOOT设置好,再将板子USB或者串口1连到电脑,点击WCHISPStudio搜索,就可以发现设备和查看FLASH了,如图

1.jpg

总之,这个方法不可取!

2踩坑顿悟

经历了前面的坑中坑,我发现用RT-Thread Studio向ch32v307烧录程序其实很简单,只要避开一个点就行。

我们先用RT-Thread Studio新建一个ch32v307的模板工程

1.jpg

这是模板main线程

int main(void)
{
rt_kprintf("MCU: CH32V307n");
rt_kprintf("SysClk: %dHzn",SystemCoreClock);
rt_kprintf("www.wch.cnn");
LED1_BLINK_INIT();
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
while(1)
{
GPIO_SetBits(GPIOA,GPIO_Pin_0);
rt_thread_mdelay(500);
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
rt_thread_mdelay(500);
}
}

然后打开链接脚本link.lds看看FLASH和RAM大小

1.jpg

可以看到FLASH:224K RAM:96K,这里是根据自己手里的ch32v307修改的,因为ch32v307有好几种存储分配方式。

1.jpg

这个链接脚本没有任何问题,我们先编译下程序,再点击下载,会跳出一个界面

1.jpg

我们可以在这里用Get和Set按钮查看和修改芯片的存储分配,可以看到我的芯片现在存储分配实际256K ROM+64K RAM,和链接脚本里的224K ROM+96K RAM,所以你刚刚在RT-Thread Studio编译程序得到的镜像(bin,hex等)无论通过那种途径烧录到了芯片都是无效的!

我们想要程序起作用,要么按芯片实际存储分配修改链接脚本link.lds,要么根据link.lds设置芯片存储分配,我这里就直接修改link.lds了,

1.jpg

想修改芯片配置的直接在刚刚跳出的下载界面通过下拉框选择,在点击Set就好,非常简单。
然后我们再次编译程序点击下载界面的下载按钮,

1.jpg

有意思的来了,你会发现控制台输出空空如也!无论再怎么狂按复位间它都无动于衷。
没错,这就是我最开始说的那个BUG,这时候就要上WCH-LinkUtility了,可以到沁恒的官网下载,我们打开它,轻轻点击一下Get或者其它按钮,总之让WCH-LinkUtility与芯片进行一次通讯就行,程序就正常运转了,控制台有了输出,复位键也正常了,皆大欢喜!

1.jpg

控制台输出:

1.jpg

但当我们再次通过RT-Thread Studio下载程序后,芯片又没反应了。
所以,BUG确定了,是RT-Thread Studio那个下载工具的问题,如果通过WCH-LinkUtility或者其它工具下载,都是一切正常。

3 总结与吐槽

总结就是用RT-Thread Studio编译得到镜像文件,再通过其它烧录工具(WCH-LinkUtility/WCHISPStudio)下载程序,或者换IDE比如MounRiver Studio。这个问题仅限ch32。

希望有人能早日解决这个问题吧,还有能不能不要下载程序的时候跳出一个下载界面让用户二次操作吗,太反人类了,直接给一个进度条就好啦。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    39

    文章

    7716

    浏览量

    170932
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1398

    浏览量

    119865
  • RT-Thread
    +关注

    关注

    32

    文章

    1545

    浏览量

    44319
  • Flash存储
    +关注

    关注

    0

    文章

    40

    浏览量

    8544
  • CH32V307VCT6
    +关注

    关注

    0

    文章

    2

    浏览量

    1325
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RT-Thread Studio V2.3.0 版本正式发布!

    支持针对rt-thread版本号大于5.1.0时使用Env2.0.0高版本2新增支持卸载studio时选择是否保留已下载的SDK资源包文件3修复SDK管理器选择了版
    的头像 发表于 11-29 09:29 771次阅读
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b> <b class='flag-5'>V</b>2.3.0 版本正式发布!

    ENV的scons能生成RT-Thread studio工程吗?

    scons能生成RT-Thread studio工程吗?教程中使用scons —target==MDK5来生成MDK工程,怎么生成RT-Thread Stdudio工程呢?
    发表于 10-13 07:42

    RT-Thread Studio CH32V307工程,程序运行异常怎么解决?

    RT-Thread Studio CH32V307 工程历程程序运行异常,官方的EVT历程使用是OK的,没人维护吗?
    发表于 10-13 06:36

    rt-thread studio 导入BSP 失败怎么解决?

    rt-thread studio 手动导入bsp 失败。 版本: 2.2.8 构建ID: 202405200930 导入的bsp 是直接从rt-thread 代码仓库下载的 .log
    发表于 10-11 11:07

    请问rt-thread studio可以开发完整的mcu程序吗?

    请教一下:rt-thread studio IDE开发环境,能完整开发的rt-thread 的mcu程序吗? 好多教程的步骤: 1。在rt-thread 的开源的工程中制作BSP包,
    发表于 10-09 09:21

    rt-thread studio无法离线使用怎么处理?

    在离线状态下,无法使用rt-thread studio。一定要逼着你联网才能用,许多公司处于保密需要,都是无法联网使用的
    发表于 09-29 10:22

    通过scons生成RT-Thread Studio工程,编译报rtconfig_preinc.h告警怎么解决?

    我在 github 下载 V5.1.0 的代码,在 gd32f450 的 bsp 中通过命令 scons --dist-ide 生成能够在 RT-Thread Studio 下运行的工程。在编译时会
    发表于 09-29 09:01

    Win11安装RT-Thread Studio失败怎么解决?

    Win11安装RT-Thread Studio-V2.2.9版本出现错误,大家怎么解决的?
    发表于 09-29 08:06

    rt-thread studio被排除构建的资源如何启用?

    请问rt-thread studio被排除构建的资源如何启用? 自己新建了两个文件夹,里边写了些应用程序,原本是可以构建的,在点击了RT-Thread Settings在保存后这两个文件夹就被排除构建了,请问应该怎么重新应用?
    发表于 09-28 07:58

    使用RT-Thread studio 开发RT-Thread Nano项目的时候 串口的驱动是要自己写吗?

    刚入。使用RT-Thread studio 开发RT-Thread 标准板项目的时候直接使用里边的串口uart_dev=rt_device
    发表于 09-26 08:14

    如何使用rt-thread studio中,使用 定制化的SDK建立工程?

    --target=eclipse生成 rt-thread studio 工程 在rt-thread studio中,使用sdk Manager 导入配置成功。 配置成功了, 问题:
    发表于 09-26 06:16

    RT-Thread Studio 2.2.8创建新项目直接构建编译报错怎么解决?

    RT-Thread Studio 2.2.8 尝试了RT-Thread Source Code 5.1.05.0.24.0.34.0.2版本 创建新的项目工程后,没有任何修改直接构建编译报错
    发表于 09-24 07:28

    rt-thread studio v2.2.7 SDK管理器无法下载怎么解决?

    使用rt-thread studio v2.2.7中sdk管理器下载包时,资源下载源已切换到gitee,但是下载时仍使用github源。 rt-thread 包还不支持导入功能,哎
    发表于 09-16 08:08

    rt-thread studio 2.2.9如何使用最新的RT-Thread v5.2.0 released?

    rt-thread studio2.2.9如何使用最新的RT-Thread v5.2.0 released? 原先以为修改index_all.json,发现联网的时候,会自动覆盖 另l
    发表于 09-16 06:06

    RT-Thread studio如何设置vi/vim编辑模式呢?

    求助,RT-Thread studio如何设置vi/vim编辑模式呢? 尝试找RT-Thread studio软件里面的设置,没找到呢。
    发表于 09-15 07:44