在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1196|回复: 7

[求助] 如何设计一个SOC调试电路

[复制链接]
发表于 2023-4-19 21:39:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我看了某些书后,觉得设计一个能动的SOC已经有比较详细的说明了,但是我对如何下载程序到FPGA中的soc并运行起来这块我觉得网上讲的大概都是通过一个USB转uart给soc输入程序代码,这块我不是很清楚该如何设计;另外我们在使用soc的时候,也希望能对soc打断点执行,并观察soc各个寄存器的值,这部分我没看到比较好的资料,有人能给一些提示的资料吗?对于打断点暂停和单步执行,soc系统都是怎么完成这些功能的呢?
发表于 2023-4-20 10:09:06 | 显示全部楼层
这理解,完全没入门啊
发表于 2023-4-20 11:25:31 | 显示全部楼层
樓主 我也正在學習仿真和emulator的相關資料
  可以從任天堂nes遊戲模擬器著手 github有很多資料 我研究偵錯介面是從jtag 而不是uart
  打断点暂停和单步执行 我也很有興趣 只是GNU GDB有源碼包下載 太複雜 所以選擇任天堂 或8051來研究吧

  
发表于 2023-4-20 14:25:34 | 显示全部楼层
SOC调试都是一般通过debug调试接口去进行的,其他的uart,i2c等等外设的都是用来烧写程序到sram或者fllash的,debug调试接口常用的就是jtag,cjtag,arm的core一般还支持SWD,做的不错的工具有j-link,这里面的内容就比较偏嵌入式了。
发表于 2023-4-20 14:26:41 | 显示全部楼层
你可以看看arm coresight的debug和trace相关的文档
 楼主| 发表于 2023-4-22 20:25:06 | 显示全部楼层
这两天我又对关于用FPGA做这个soc芯片的的方式想到了一个办法,针对这个调试系统,我打算就做一个简单的电路,我在verilog里面增加一个PC地址的比较,当程序运行到指定的pc地址后,我就设置一个信号把soc的时钟暂时关闭掉,然后通过uart转USB的接口把芯片当时的寄存器的值都读出并发送到PC机上,这样我按照一定的顺序读,就可以在电脑端得到当前的寄存器的值了,实现简单的调试功能,我还想到复位和单步执行的功能,复位的话,这个我想比较好做,当我电脑下发一条复位指令后,我就在FPGA内部产生一个soc的复位信号就好,单步的话,我也想了下,并询问了群里面的大佬,按他的意思,咱们就直接放行几个clock时钟就好了,比如CPU是4节拍的,那就放行4个主时钟就好了,这个我初步想也应该能实现,但是还有一个继续执行,这个暂时还要想下怎么实现比较好?
 楼主| 发表于 2023-4-22 20:28:42 | 显示全部楼层


失重wlq 发表于 2023-4-20 14:26
你可以看看arm coresight的debug和trace相关的文档


arm coresight的debug和trace相关的文档,我上网搜索了一下,觉得实在是难看懂,为了能早点实现这个功能,我开始想自己定义一套办法,总之就是要能看寄存器的值,和能单步执行,复位,断点运行就好了,其他的功能我觉得不是很重要
发表于 2023-4-23 10:50:21 | 显示全部楼层


zhangyp 发表于 2023-4-22 20:28
arm coresight的debug和trace相关的文档,我上网搜索了一下,觉得实在是难看懂,为了能早点实现这个功能 ...


感謝樓主分享研究技術心得 不藏招 不留步~~  若是arm芯片 openocd 可以試試這文件https://openocd.org/files/thesis.pdf
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-3 22:44 , Processed in 0.024375 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表