Comments (10)
Hi @ttmut! We appreciate you submitting your first issue for our open-source project. 🌟
Even though I'm a bot, I can assure you that the whole community is genuinely grateful for your time and effort. 🤖💙
from zephyr.
@krish2718 Can you look at it? (perhaps make the test optional via a dedicated option into tests/drivers/spi/spi_loopback/Kconfig )
from zephyr.
I can make BUF3
configurable and add a min_ram
in twister for larger tests for 8192, so, that lower memory boards are skipped.
from zephyr.
It's an out-of-tree board but you can check the resource usage summary to get an idea. I have not tested on another board.
west build -p -b board_desc .\tests\drivers\spi\spi_loopback
Below is the memory usage summary of another out-of-tree board that has enough RAM:
Memory region Used Size Region Size %age Used
FLASH: 49980 B 3 MB 1.59%
RAM: 108096 B 128 KB 82.47%
IDT_LIST: 0 GB 32 KB 0.00%
If I eliminate print buffers, RAM usage becomes ~26KB:
Memory region Used Size Region Size %age Used
FLASH: 49980 B 3 MB 1.59%
RAM: 26432 B 128 KB 20.17%
IDT_LIST: 0 GB 32 KB 0.00%
This would be enough to solve my case. However, if there are boards with less than ~26KB memory it could still be an issue. I am not sure if there are though.
from zephyr.
Well, let's start with that as its a simple fix, and even the last time CI had passed, and having extra 8K buffer for a test is reasonable. Will raise a PR, thanks.
from zephyr.
Thanks for looking into this, @krish2718
from zephyr.
I think you should add a new test variant "long-transfer" that enable BUF3 testing using a dedicated Kconfig flag
from zephyr.
I think you should add a new test variant "long-transfer" that enable BUF3 testing using a dedicated Kconfig flag
Sure, but instead of conditional test at build time, if I can make BUF3
as default say 128
it would server as a 3rd test, and for those boards that have higher memory, we can run with 8192
, this would still be a build time option, but the tests would be constant. WDYT?
from zephyr.
ok, that should be fine too indeed
from zephyr.
Looking at the code, the buffer itself is only 8K, it's the buffers used printing the diff that take up too much memory, and for a large buffer it's not that useful, so, I guess we can just remove the display part for large buffer and it should run on all platforms? If there is a fundamental issue then small buffer's diff can be used for debugging.
@ttmut can you please share a build command or board name that reproduces the build overflow?
from zephyr.
Related Issues (20)
- sample: drivers: spi_flash: sample.drivers.spi.flash - spi_nor - undefined reference to `__device_dts_ord_161'
- drivers: video: software driver to turn a display into a video sink
- stm32H7 cannot XiP from dual quad nor in Memorymapped mode HOT 1
- RFC: sensor authors should take maintainership/ownership
- RFC: sensor decoder associated data HOT 5
- How to find out ((no paths)) and (hidden) section information using rom_report
- IOT Devices disconnects if the Gateway is replaced with new gateway HOT 10
- Unaligned access fault in net_if.c for pi_pico_w. HOT 3
- Governing Board 2024 Dependability Goals
- ci: samples: frdm_k64f build failure HOT 1
- APPLICATION_CONFIG_DIR should follow principle of ROOT settings
- Sysbuild treats relative ROOT settings differently in sysbuild vs. image build
- LLEXT EDK sample generates an EDK that's missing header files on Windows
- samples: subsys: usb: hid-keyboard: Assertion failure on USB cable attach when CONFIG_ASSERT=y HOT 3
- Lack of overlay for adc tests for steval_stwinbx1
- DOC: Generation: Win10: Could not import extension zephyr.kconfig (exception: No module named 'sphinx.util.display') HOT 3
- LE Audio: CAP Initiator cannot handle any unexpected state changes HOT 1
- Zephyr MQTT library -128 error when trying to use unencrypted broker with authentication. HOT 6
- DACx3608 Driver Feature Support HOT 1
- drivers: sensors: nxp: kinetis: temp: wrong length provided to memset()
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 zephyr.