🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/开源蜂鸟E203/RISC-V工具链编译与程序下载
RISC-V工具链编译与程序下载
开源蜂鸟E203 作者 Lynn Peng 发布于 2020-08-26 15:10(2235 天前) 10903 浏览

使用官方的gcc工具链编译出riscv32-unknown-elf系列工具链,在hbird-e-sdk中修改脚本为新生成的工具链,将riscv-none-gcc的软链接替换为riscv32-unknown-elf,然后运行软件环境,make dasm和make upload后成功下载到蜂鸟开发板,但使用screen打印输出时却无输出,gpio口也未受控。在未修改硬件加载的cpu核时,将软件环境改为芯来的工具链,正常输出。想请回一下,这是由于什么原因造成的呢?按理说,只修改工具链不会影响输出结果呢?

全部回复 3
n
nn爱学习925 天前 · 1 楼

您好,我最近也困扰着个问题,请问您后来用修改的工具链跑通了吗,芯来科技的工具链咋修改呢

领主文
领主文2229 天前 · 2 楼

在这里分享一下大佬的想法:

startup程序调用的__libc_init_array函数不会去调用_init函数了,这里需要将_init函数拷贝一份并改为__premain_init,然后在启动startup的汇编文件调用这个函数,参考:

https://gitee.com/riscv-mcu/hbird-sdk/blob/master/SoC/hbird/Common/Source/GCC/startup_hbird.S#L127 和 https://gitee.com/riscv-mcu/hbird-sdk/blob/master/SoC/hbird/Common/Source/system_hbird.c#L465-533


关于init和fini函数不再使用,参见 https://github.com/riscv/riscv-newlib/commit/6158b30e3e9b1b582ae60b15d64e775fa1705483

领主文
领主文2235 天前 · 3 楼

这首先要看自己生成的工具链选项和官方工具链有什么区别了。自己的工具链可以下载进开发板,是否能正确运行?是否可以进行gdb调试?我能想到的差不多就这些了。

💡 请 登录 后参与讨论(微信扫码即登录/注册)