Code Monkey home page Code Monkey logo

Comments (9)

mongsim avatar mongsim commented on May 28, 2024 1

Hello franzflasch:

When you completed the rv64 version with MMU, let me know; I can be your tester, :)

from riscv_em.

mongsim avatar mongsim commented on May 28, 2024 1

Now both ports work using Codelite IDE and Windows 10 MS Visual C/C++

Port to MS Visual C/C++

MSVC

Using Codelite IDE on Ubuntu
Screenshot from 2022-05-15 19-16-10

from riscv_em.

franzflasch avatar franzflasch commented on May 28, 2024

Hi Mong!

Thanks for reporting! Which toolchain did you use?

If you used my toolchain from here https://github.com/franzflasch/gcc-build-tools then I guess this issue comes from the latest GCC 12 and binutils upgrade. It should work with an older toolchain version below GCC 12.

But I'll take a look and try to fix this asap.

from riscv_em.

mongsim avatar mongsim commented on May 28, 2024

Hello Franzflasch:

I use ubuntu 20.04.4 LTS and 22.04 LTS; both have the same build issues.

The GCC in my system for the 22.04 is gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
and in the 20.04.4 is gcc (Ubuntu 9.4.0-1ubuntu1~20.4.1) 9.4.0

And the riscv compiler from here:
https://github.com/franzflasch/linux_for_riscv_em

Is there any issue with what I have?

Thank you,

from riscv_em.

franzflasch avatar franzflasch commented on May 28, 2024

Your setup looks fine. The problem is that with newer compilers the zicsr/zifencei extension is not automatically included in the risc-v I extension anymore. That's why the build fails.

The problem should be fixed now in https://github.com/franzflasch/linux_for_riscv_em
Please pull the new changes and do a complete rebuild, best would be to remove the output directory and then do the rebuild.

from riscv_em.

mongsim avatar mongsim commented on May 28, 2024

Hello franzflasch:

It is working now, thank you!!

Any tips on how to add other applications such as top, etc.

Thank you,

Screenshot from 2022-05-09 12-09-16

from riscv_em.

franzflasch avatar franzflasch commented on May 28, 2024

Great! Glad that it works now.

If you want to add other applications you need to modify the buildroot configuration and change it to your needs.

from riscv_em.

mongsim avatar mongsim commented on May 28, 2024

Your make file works well and I can run Linux.
However, to help me understand your code, I used codelite and created a project. It compiled both debug and release but when I ran it, the system crashed :(.

Thank you for your time, :)

Screenshot from 2022-05-14 19-47-14

from riscv_em.

franzflasch avatar franzflasch commented on May 28, 2024

This looks like you are using 8250 uart instead of my own "simple_uart" implementation. 8250 does not work because it is not fully implemented in the emulator.

I don't know how you build the emulator in codelite but in the original CMakeLists.txt there is a check:

OPTION(RISCV_EM_DEBUG "RISC-V Debug Enable" "1")
if(RISCV_EM_DEBUG STREQUAL "1")
    add_compile_definitions(RISCV_EM_DEBUG)
else()
    add_compile_definitions(USE_SIMPLE_UART)
endif()

which decides if UART8250 or simple_uart is used.

Just make sure that in your build the global define "USE_SIMPLE_UART" is enabled and "RISCV_EM_DEBUG" is disabled.

from riscv_em.

Related Issues (1)

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.