Giter Site home page Giter Site logo

Comments (5)

rswarbrick avatar rswarbrick commented on June 22, 2024

I notice that the first PC that is reported is 0x00100000, but your code starts at _start, which has address 0x0010054. And the reported instruction contents are 0x464c457f, which don't match anything in the objdump.

Is the problem just that you've started at the wrong address?

from ibex.

mdhayter avatar mdhayter commented on June 22, 2024

0x464c457f, which don't match anything in the objdump.

0x464c457f is the ELF magic number, could the file have been loaded 'raw'?

Also shouldn't the code be at 0010xxxx but the disassembly seems to be 0001xxxx?

from ibex.

yulong-lan avatar yulong-lan commented on June 22, 2024

now the first instruction is at the address of 0x00100000 in objdump:

00100000 <_start>:
  100000:       21600093                li      ra,534
  100004:       33a00113                li      sp,826
  100008:       c7300193                li      gp,-909
  10000c:       8ad00213                li      tp,-1875
  100010:       10200293                li      t0,258
  100014:       6f200313                li      t1,1778
  100018:       b9f00393                li      t2,-1121
  10001c:       b2100413                li      s0,-1247
  100020:       1f500493                li      s1,501
  100024:       7e600513                li      a0,2022
  100028:       69100593                li      a1,1681
  10002c:       f1d00613                li      a2,-227
  100030:       a1500693                li      a3,-1515
  100034:       a7f00713                li      a4,-1409
  100038:       e3d00793                li      a5,-451

instructions are still reported illegal but at a different address again:

Simulation running, end by pressing CTRL-c.
Tracing enabled.
Writing simulation traces to sim.fst
                  17: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                  97: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                 177: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                 257: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                 337: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                 417: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                 497: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                 577: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                 657: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                 737: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413
                 817: Illegal instruction (hart 0) at PC 0x0016d3fc: 0x00010413

Actually the first illegal instruction is always reported at a different address if I run a different binary, although the start address of these binaries are all the same at 0x00100000

from ibex.

rswarbrick avatar rswarbrick commented on June 22, 2024

I'd suggest taking a look at the simulation trace that's coming out. Notice that the cycle counter in the first column is now going up by 80 each line (instead of just one). My guess is that Ibex thinks it's running 79 valid instructions in the gaps...

from ibex.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.