Replies: 6 comments 4 replies
-
This is an old template, to demonstrate very simple projects, I would not recommend it for new projects.
This machine name is supported only by the deprecated To start new unit test projects, use the "Hello World Arm QEMU xPack C/C++ Project" template. For an example of a real life project with extensive multi-platform unit tests, see: |
Beta Was this translation helpful? Give feedback.
-
Well, things are generally not working by chance, you need to master all details.
Except floating point, the M[347] cores use the same set of instructions (Arm-v7m). I did a quick test with the M7F generated project, I changed the target to M4 and removed the hardware FP. The project compiled and ran fine.
That template does not generate functional projects, it requires you to add device specific files. Generally you have to match the device definitions, the memory map, the linker scripts, memory allocator, interrupt vectors, startup code, etc. All these details are already in the projects generated by the QEMU template, otherwise it wouldn't run.
Well, in this case you have to spend some time to figure out the details. BTW, the projects generated by the template are actually command line projects, with two different GUI coats (Eclipse and VS Code). The main advantage is that you can build and run them in an automated (scriptable) environment, like GitHub Actions. How did you run your Keil unit tests in a CI environment? |
Beta Was this translation helpful? Give feedback.
-
How do you plan to do this? How do you count cycles? BTW, QEMU does not keep track of time, it compiles the target code into host instructions and executes them at its own pace.
Project properties, settings, c/c++. You need to learn Eclipse if you want to use it.
Where does Eclipse fit into this picture? The Eclipse projects are not suitable for headless runs.
Yes, do a run with the utils-list tests and take a look how they are done. The xPacks tools around xpm were designed mainly to help with writing and running unit tests at GitHub Actions. |
Beta Was this translation helpful? Give feedback.
-
Yeah, good luck with it. I guess it works, but except you'll read some increasing values, don't expect miracles.
Yes, it is a command line project, you can invoke it from the terminal:
This is an interesting idea! I'm not sure I'm able to do it, but I will think about it. Thank you! BTW, if you are familiar with unit tests, you might be interested in µTest++, the testing framework I use for my projects: |
Beta Was this translation helpful? Give feedback.
-
For a real-life run you can take a look at: It runs the test on all imaginable platforms, and each test runs on lots of architectures, (native with different compilers and embedded for Cortex-M0/M7F, Cortex-A15/A72, RISC-V 32/64). I doubt you've ever seen a more comprehensive test. |
Beta Was this translation helpful? Give feedback.
-
Hello, I have the same problem, I'm trying to debug an empty project using qemu-system-arm. I got to do it by using qemu-system-gnuarmeclipse. However, as the gnuarmeclipse is deprecated, I need to use the QEMU arm with a cortex m4 or a cortex m33. I don't know if it is needed to change the setting of the project or the debug configuration. As a start point, i'm trying to debug it in the e2Studio (an IDE build on eclipse). As you asked exectly the same question, I'm wondering if you got to get it. Thanks! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I was trying to create a minimum ARM Cortex-M4 project. I tried the template named "Hello World Arm Cortex-M C/C++ Project". I was able to build this one. Yet, I run into the problem of configuring the QEMU debugger. I want to use the new "GDB QEMU arm Debugger". Now, I was not sure about the choices for the following and used some guesses:
However, when running QEMU with the above choices, I see the following error in the Console:
My question is how to set up the above machine and CPU names so that I can run this template project?
Many thanks!
Beta Was this translation helpful? Give feedback.
All reactions