CH32V307移植uboot

申请的CH32V307评估板,不知道干嘛用。

试试移植uboot。

环境搭建:ubuntu22.04 + vscode + MSR

MSR下载地址:http://www.mounriver.com/download

MSR使用流程:
    1.先完成:MRS_Toolchain_Linux_x64_V1.92/beforeinstall/start.sh
    2.编译:MRS_Toolchain_Linux_x64_V1.92/RISC-V_Embedded_GCC/bin/riscv-none-embed-gcc
    3.烧录:MRS_Toolchain_Linux_x64_V1.92/README

初步移植思路:
    1.先把USB移植好,方便用putty调试
    2.由于uboot源码没有CH32V307VCT6的文件,驱动打算参考:/downloads/CH32V103EVT_ZIP.html
    3.别忘了还可以参考的文件就是mountriver studio中的.S启动文件

本人小白,有大佬发现问题请批评指正!

注意事项1:CH32V307VCT6的Flash只有256K,所以uboot要精简



兄弟们,这个任务对我来说太有难度辣=,=
    1.问题1,往uboot里面加代码需要清楚配置.config和make的整个流程
    2.问题2,这个评估板FLASH太小只有256K
    3.问题3,不太清楚uboot阶段要初始化什么外设



下一步打算:
    1.分析uboot源码:https://docs.u-boot.org/en/latest/build/source.html
    2.参考RISCV的指令集文件,阅读wch官方的startup.s代码:https://riscv.org/technical/specifications/
    3.目标是实现uboot启动并执行一个helloworld函数,这样flash应该够用。



分析ubooot源码实在不现实,这辈子都没看过这么多代码。但也有一点思路了。
1:uboot本质上就是构建裸机代码。
2:需要兼容的芯片和开发板太多,实际上一款开发板用到的裸机代码很少
3:所以uboot这个项目的难点实际上是如何选择编译用户所需要的裸机代码
4:最终问题转变成:如何指定要编译的代码-->在某路径下添加Kconfig文件-->添加编译裸机启动引导代码



只有登录才能回复,可以选择微信账号登录