1、必须要测试驱动,单元测试,系统级测试都要有。rocketchip这种上面要跑测试,都上面的配套的软件测试用例也必须要保存下来。我们这里因为在rocketchip新旧版本之间迁来迁去,导致同样的feature也要不停地做port,而我之前配套的测试并没有保存下来,导致每次都要重新手写测试,浪费了大量的时间。我们这种需要一个测试框架,每个feature对应的软硬件的实现以及测试都需要有啊!但是我们现在还是靠手写小脚本来解决这些问题,不方便。
2、如果你没有看懂原有的代码在做什么,那么就不要为了能通过编译,跑通程序,随便注释掉。对于require还有assert的,更加如此,他们更多的是说明了运行时的假设,这非常重要!不要瞎改,不然到最后,花十几倍的时间来重新调通一个本来可以避免的bug,真是愚蠢。如果你要改动这些代码,请确保你看懂这些代码在干什么,不要以暂时看不懂,这代码无厘头,瞎搞为借口,就注释掉它。请记住,其他开发者不是傻子,伯克利,SiFive那帮人不是傻子,他们不会写无厘头的代码!
rocketchip开发中的一些体会
最新推荐文章于 2024-08-31 09:37:57 发布