-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Add support for RX architecture CI on Zephyr #91769
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
2f4b18d
to
f7b28ff
Compare
Current result execute on local with qemu-target-rx fix:
There are 6 failure cases seem to be issue with twister harness cannot send input command to qemu.
|
Hmm, there are many commits here that are not qemu/rx related, those require the 0.18 SDK version and some of them are obsolete, please keep this series focused on the qemu changes and drop anything that is unrelated and general SDK changes. |
f7b28ff
to
1a8fec9
Compare
9108d23
to
9d30ae0
Compare
boards/qemu/rx/qemu_rx.yaml
Outdated
@@ -9,7 +9,15 @@ simulation: | |||
arch: rx | |||
toolchain: | |||
- cross-compile | |||
- zephyr | |||
- zephyr-gnu |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
zephyr-gnu is not needed and is not used anymore in the sdk, just drop it for now.
tried with patched qemu, looks good, the following fail for me, some could be relatedto my setup, i.e. nanopb:
shell stuff probably fails because of lack of UART features? anyways, those are samples and probably can be excluded for now, others in lib/cpp probably need some attention. |
9d30ae0
to
7efa11b
Compare
I'm not sure what happen with the twister harness, it seem that the harness script cannot input command to qemu console, I run each test case manually by using "west build -t run" and I can interact with the shell just fine. There is issue with objcopy in the libcxx test, somehow it's running wrong with the gapfill and generate a 4GB bin file. Current status (failed: 8, error: 0), aside the shell stuff there are 2 remaining fails:
|
Update: Incorrect define of SRAM size in dts of qemu_rx make tests/lib/cpp/libcxx/cpp.libcxx.glibcxx.newlib due to not enough RAM, I updated to correct size, now test case is passed. |
Hello @nashif , @keith-packard , @kartben , Can you please help to take a look, all test are passed on my local with the qemu patched, currently I'm skipping the shell sample, I created #92003 to keep track for it and will add it later
|
ff31baf
to
f2fca08
Compare
@duynguyenxa there is something wrong with this PR, qemu_rx builds are not working at all, i.e.. not even hello world is running for me. |
I verified with old qemu and new qemu on an older commit in main, and it seems to work. |
@nashif , yes it's due to #89555 merge change the binding of ICU node of RX |
@nashif , sorry this is my mistake, I'm adding the 00019 patch but forget to put it in the .bb file, the qemu in Zephyr SDK is missing 1 patch |
ok, partly also my mistake, should have caught that. Any way we can work around this, the offending commit right now is 8ddb13d, can we try and get at least the basic testing with qemu_rx working without the need for another SDK release? |
Ok, maybe remove those 2 commits for now and do the following in the board yaml file:
and get this going, you can later remove this and fine tune filtering. |
The RX QEMU platform SRAM size is 96KB, this commit correct the device tree information Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Somehow icount shift making this test fail on qemu_rx target maybe clock rate on RX is too low, as work around I disable the icount shift for this test case on qemu_rx Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The qemu_rx is having issue with twister harness, command cannot be send from twister test to qemu console, this commit temporary disable them for further checking Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
The qemu_rx some how with too big offset in "mov" instruction cannot manipulate the memory correctly This commit reconfigure the slot count to reduce the size of psa_global_data_t struct so that issue on qemu_rx not occur Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Add zephyr toolchain support to rsk_rx130 board Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Update interrupt controller node to be compatible with new binding configuration Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Adding rx-zephyr-elf for testing rx target Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Ignore gapfill for RX target as some RX toolchains generate wrong output image when running gapfill for binary format. Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
0a55ee0
to
12cff62
Compare
I drop the 2 commits, and disable the gap_fill option on RX target for now |
Board device tree is missing ioport3 status set okay for button. Add missing ioport3 enable Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
one failing test is due to #92187 |
I checked the other on my local but it's Passed without changing anything, now not sure how I can solve this. |
yeah, not sure. I also cant reproduce this locally. I would open a bug and exclude this test referencing the bug for now while we figure things out., |
Excluding this test for qemu_rx because it's failing randomly Root cause not identified yet, zephyrproject-rtos#92213 is created to keep track of this This test case is working fine on actual RX HW so issue might be in the inside the qemu environment Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
From Zephyr SDK 0.17.1 the RX architecture is supported so update the documentation of RX130 board to reflect this Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
It seem that after a few time re-attempt the job pass, it's passing inconsistently. |
|
This PR is a continued work on the #89770 to fix all RX architecture qemu environment to enable CI test for it.
These fixes will also need to apply change in the qemu source code, fix patch is updated at: zephyrproject-rtos/sdk-ng#944