N101仿真运行C程序出错

2020-11-18 10:23:14
6
113

公众号里面的微信不能添加了。。。。。能不能处理一下,帮我拉如讨论群,谢谢!

问题:芯来一分钱计划里面的N101SoC,然后将C程序编译好之后,仿真运行时出现错误,大家能不能看看时什么原因帮忙解决一下。。。。。,新手小白看不出什么出错了,谢谢大家

用户评论 (6)
  • XQS0927

    2020-11-23 10:42:50 XQS0927 1#

    N101我没用过,不清楚,如果我猜的没错的话,N101的ITCM被映射到地址0x00080000。hello_world.verilog文件开头的@00080000表示程序要放到起始地址0x00080000的空间内。readmem读到文件中的这个地址标记之后,就试图把文件中的内容放到ilm_mem这个reg阵列中0x80000地址开始的地方,我猜你的ILM空间应该不到512K,所以报告一个illegal entry。所以就初始化失败,所以ilm_mem中0地址开始的部分就是未初始化状态,所以读取到的就是xxxxxxxx,所以就跑不起来。

    以上是基于猜测的一些结论,我没用过N101,所以如果有不准确的地方,请大拿批评指正。;)

  • 王志军

    2020-11-21 20:08:53 王志军 2#

    XQS0927

    看截图中第一条waring信息,似乎是readmem语句没有读取到正确的文件,ILM中的指令存储器没有被初始化成功,以至于取指取到的都是X态数据,所以就运行不起来咯。

    这几天一直在找原因,很困惑,希望您能帮忙看看,谢谢!

  • 王志军

    2020-11-21 20:06:10 王志军 3#


  • 王志军

    2020-11-21 20:05:49 王志军 4#


  • 王志军

    2020-11-21 20:05:03 王志军 5#

    XQS0927

    看截图中第一条waring信息,似乎是readmem语句没有读取到正确的文件,ILM中的指令存储器没有被初始化成功,以至于取指取到的都是X态数据,所以就运行不起来咯。

    readmem函数需要读取hello_world.verilog文件,该文件的开头是@00080000;然后仿真的时候出现上面的错误ILM没有被初始化!! 但是我将地址改为@00000000为起始地址之后就能够运行了,因为我看仿真测试汇编语句的时候,它的测试用例的.verilog地址就是@00000000 请问这是什么原因呢?还有.verilog文件的开头@00080000地址代表着什么含义?readmem函数读到此代表什么?

  • XQS0927

    2020-11-18 10:30:32 XQS0927 6#

    看截图中第一条waring信息,似乎是readmem语句没有读取到正确的文件,ILM中的指令存储器没有被初始化成功,以至于取指取到的都是X态数据,所以就运行不起来咯。

关注我们

微信扫码登录 点击刷新二维码