Comments (17)
Isn't that an option in the GUI to display the opcodes?
from eclipse-plugins.
Isn't that an option in the GUI to display the opcodes?
Thanks for your help. That's it, in the second image, I didn't click show opcodes and there is no opcodes. But in the third picture, I clicked the show opcodes option. The result is address column move right a little. But still no opcodes.
from eclipse-plugins.
What version of the various tools are you using as per the issue template?
Versions
- [plug-in version]
- [Eclipse version]
- [Java version]
- [operating system]
- [toolchain version]
from eclipse-plugins.
eclipse version: 2022-12 (4.26.0)
plugin-in version: 6.3.1.202210101738
java version: 17
toolchain version: Xuantie-900-gcc-elf-newlib-mingw-V2.6.1
operating system: windows 11
from eclipse-plugins.
toolchain version: Xuantie-900-gcc-elf-newlib-mingw-V2.6.1
What happens if you use the xPack RISC-V GCC toolchain?
from eclipse-plugins.
Due to the special chip used now, only this toolchain can be used for compilation. The xPack RISC-V GCC toolchain fail to support some comipile flags.
from eclipse-plugins.
Due to the special chip used now, only this toolchain can be used for compilation. The xPack RISC-V GCC toolchain fail to support some comipile flags.
OK, but you need to determine if the issue is due to the toolchain rather than the Embedded CDT plugins.
from eclipse-plugins.
Alright, thank you very much!
from eclipse-plugins.
I tried the following but neither see opcodes in the Disassembly view (when debugging a RISC-V RV64 program on QEMU) nor any option to show opcodes in the view menu or global preferences.
- Eclipse IDE for Embedded C/C++ Developers 4.27.0.20230309-1200
- Embedded C/C++ Core 6.3.2.202304281106
I also have these xPacks installed after creating a RISC-V template project:
tommy@gannet:~$ xpm list --global
- @micro-os-plus/architecture-riscv
A source library xPack with the µOS++ RISC-V architecture port
- 4.1.0
- @micro-os-plus/build-helper
A source library xPack to assist the µOS++ builds
- 2.11.0
- @micro-os-plus/devices-qemu-riscv
A source xPack with <your-description-here>
- 1.0.1
- @micro-os-plus/diag-trace
A source library xPack with the µOS++ trace::printf() tracing infrastructure
- 4.1.1
- @micro-os-plus/hello-world-qemu-template
A source xPack / npm package with a template to generate semihosted Hello World projects running on QEMU
- 1.4.1
- @micro-os-plus/semihosting
A source library xPack with the µOS++ portable semihosting definitions
- 8.0.0
- @micro-os-plus/startup
A source library xPack with the µOS++ startup code for bare-metal platforms
- 5.2.0
- @xpack-dev-tools/arm-none-eabi-gcc
A binary xPack with the GNU Arm Embedded GCC toolchain executables
- 12.2.1-1.2.1
- @xpack-dev-tools/cmake
A binary xPack with the CMake executables
- 3.21.6-1.1
- @xpack-dev-tools/ninja-build
A binary xPack with the Ninja Build executables
- 1.11.0-1.1
- @xpack-dev-tools/qemu-arm
A binary xPack with QEMU Arm executables
- 7.2.0-1.1
- @xpack-dev-tools/qemu-riscv
A binary xPack with QEMU RISC-V executables
- 7.0.0-1.1
- 7.2.0-1.1
- @xpack-dev-tools/riscv-none-elf-gcc
A binary xPack with the GNU RISC-V Embedded GCC executables
- 12.1.0-2.1
- 12.2.0-3.1
I'm running on Zorin OS Lite 16.2 (a Ubuntu 20.04 LTS derivative distro).
from eclipse-plugins.
Apologies - I missed that you click on the address column in the Disassembly view in order to get the Show Opcodes option.
As you can see here, using the set of tools that I listed earlier - including the latest xPack RISC-V embedded GCC - the opcodes are displaying correctly.
So, I can only infer that the original issue is due to the use of the different toolchain:
Xuantie-900-gcc-elf-newlib-mingw-V2.6.1
from eclipse-plugins.
Thank you, Tommy, for taking the time to investigate this.
Since I don't know how the custom toolchain was built, I can't provide much help with it.
But if I'd had to diagnose this, I would do the following:
- install a fresh Eclipse Embedded CDT in a new folder
- create a new workspace
- instantiate the Hello World RISC-V QEMU xPack C/C++ Project (for more info, see https://eclipse-embed-cdt.github.io/templates/hello-world-qemu-xpack/)
- (wait for the RISC-V toolchain to download, if not pre-loaded, as the documentation instructs))
- run a debug session via QEMU
If the opcodes are shown, this is a confirmation that the Eclipse environment is ok.
Then import the actual project, configure the custom toolchain, and retry the debug session.
If it works as expected (and as proved before), you most probably had a problem with the Eclipse environment.
If the problem persist, the probability to have a problem with the toolchain is pretty high.
Hope it helps.
from eclipse-plugins.
FWIW I also downloaded the latest T-Head toolchain:
and configured the template RISC-V project to use that instead of the xPack one and I was also able to see the opcodes in the Disassembly view using that setup.
Maybe the issue is with this specific toolchain (I don't know where it is available) and/or Windows or something?
Xuantie-900-gcc-elf-newlib-mingw-V2.6.1
from eclipse-plugins.
Or, as I suspected, a problem with the Eclipse or Eclipse workspace?
from eclipse-plugins.
Xuantie-900-gcc-elf-newlib-mingw-V2.6.1
Yes - good point.
from eclipse-plugins.
I compared disassembled code generated by different toolchains. I found out that my toolchain uses big endian mode. But eclipse only show little endian. This makes it impossible to display the operand. Thank for everyone's suggestions.
from eclipse-plugins.
I found out that my toolchain uses big endian mode.
What a regrettable design :-(
But eclipse only show little endian.
I don't remember doing anything special in Eclipse Embedded CDT for this, the behaviour is probably inherited from CDT.
from eclipse-plugins.
I think so. Thanks again :)
from eclipse-plugins.
Related Issues (20)
- Fix the SiFive RISC-V template HOT 2
- Remove references to Navigator view to support 2023-06 HOT 21
- CMSIS Packs - Read error dialog Abort button has the same effect as Ignore HOT 1
- CMSIS Packs - nomenclature is inconsistent and a little confusing HOT 6
- Support enhanced GNU Tool Factory capabilities introduced in CDT 11.2.0 HOT 5
- Feature request: add option to connect to a different OpenOCD port HOT 40
- openocd plugin has dependency on managedPlugin which is not given in the manifest file HOT 13
- Global RISC-V Toolchains name does not change with dropdown box HOT 54
- Feature request: add live watch support when debug in eclipse ide HOT 12
- Review the logic for setting the PATH with preferXpacksBin HOT 7
- GDB fails when workspace path has extended ASCII characters HOT 8
- 'xpm' is not recognized as an internal or external command HOT 1
- Is it possible to set the timeout when gdb server (such as openocd) starts? HOT 1
- Install CMSIS Pack from local .pack file? HOT 4
- How to pass -Wl,--start-group -lc_nano -lgcc -Wl,--end-group HOT 1
- Feature request: Add a checkbox to enable group linked library HOT 25
- embed-CDT cannot start openocd normally HOT 2
- make: unknown option -- jobserver-auth=gmake_semaphore_172 when using post-build steps HOT 16
- "Interrupt failed" occurred when using GDB OpenOCD Debugging HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eclipse-plugins.