您尚未登录。

楼主 # 2022-04-29 22:56:16

洛佳
会员
注册时间: 2022-04-17
已发帖子: 16
积分: 66

如何调试Starfive的JH7100 Visionfive板子?

我做了个专门的夹子。然后,JTAG能不能用是问题之一,我试了ft2232和jlink,莫名其妙的问题非常多。问题之二是RISC-V debug module。这个RISC-V确实有标准规定,但是有些厂家故意不符合标准,他们提供调试帮助还好,如果不提供,太噩梦了。
有人有这块板子成功调试的经验吗?

如果有人关心我在做什么的话:我这里参加项目的目标是做一个能完整启动linux的引导程序,详见:github.com/oreboot/oreboot 。首先,我要能从闪存启动,而这对闪存格式的了解是必须的,这又依赖于JTAG调试过程。
RISC-V的引导程序和别的架构很不同,是需要保持在操作系统后台运行的,权限比内核还高,所以安全性至关重要,会有自己编写的需求。而且RISC-V的引导程序可以用来调试内核,还能用来做TEE,就不是一个简单的(厂家只给的那一个)引导程序能代替的了。
为什么不用u-boot呢?它为了兼容别的架构,还要适配RISC-V的SBI标准(又加了一级引导),最终把引导链做得巨长,导致开机一次要至少一分钟,这就没法接受了。

如果有厂家在看这篇帖子:尽量增加rom程序的透明度!因为rom代码对引导程序开发至关重要,没有的话只能抓瞎。RISC-V下又不是厂家做一个就能包揽所有需求,厂家不能只做一个引导程序然后说:都用我的吧。其实相当于啥也没给
如果rom里有产权代码:去掉这些代码就行了,或者分割成两个项目。我们又不要求源码能编译,相反,能看懂就行。

还有:有朋友告诉我,RISC-V的调试模块没有arm公司严格规定,它甚至可以做成加密的。然而如果厂商这么做了,我认为这是在选择彻底和开源社区决裂,这就是另一个话题了。

最近编辑记录 洛佳 (2022-04-29 22:59:10)

离线

#1 2022-05-15 21:45:49

theHas
会员
注册时间: 2022-05-15
已发帖子: 4
积分: 4

Re: 如何调试Starfive的JH7100 Visionfive板子?

我想也知道 没有jtag只能猜自己的板子状态

离线

#2 2022-05-20 00:18:42

xusiwei1236
会员
注册时间: 2022-05-20
已发帖子: 1
积分: 6

Re: 如何调试Starfive的JH7100 Visionfive板子?

翻了一下JH7100 Data sheet,大核U74默认的JTAG口是GPIO0~4:
JH7100 JTAG

离线

楼主 #3 2022-05-20 19:46:43

洛佳
会员
注册时间: 2022-04-17
已发帖子: 16
积分: 66

Re: 如何调试Starfive的JH7100 Visionfive板子?

xusiwei1236 说:

翻了一下JH7100 Data sheet,大核U74默认的JTAG口是GPIO0~4:
https://whycan.com/files/members/9377/jh7100_jtag.png

jtag当然是这几个脚,最关键的不是jtag在哪,而是里面的调试模块(debug module),jtag是debug transport,它只是一个途径,最终访问的是调试模块。
它的调试模块高度怀疑是加密的,如果属实,它会和原厂软件强捆绑,原厂不给软件就没有任何办法。

我问了一些原厂的工程师,基本都拿“jtag是这几个脚”糊弄我

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn