Comments (8)
Hi @qhdwight
Indeed, the autogenerated platforms don't have CAN - we don't really need them for the Zephyr samples used in the Zephyr Dashboard.
We do, however, have some CAN support for STM - please scan https://github.com/renode/renode/tree/master/platforms for "STMCAN" to see example usage.
from renode.
Datasheet can be found here: https://www.st.com/resource/en/reference_manual/rm0440-stm32g4-series-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
from renode.
Hi @qhdwight,
Thanks for reporting the issue.
While the Renode package does not contain the STM32G4 repl file, we do run this target in our Zephyr Dashboard - https://zephyr-dashboard.renode.io/
If you search for “g4” you will find three targets running plenty of Zephyr samples passing our tests. Clicking the board name will get you here: https://renodepedia.renode.io/boards/nucleo_g431rb/?view=software&demo=hello_world - all the build artifacts, including the REPL platform file, are there to be downloaded.
Please note that the platform description is autogenerated from the device tree file, so it might not cover the whole SoC. It is, however, sufficient to run the demos in the Dashboard.
We’d be happy to learn more about your project - feel free to reach out to [email protected] if you can share some details!
from renode.
Hi @PiotrZierhoffer,
Thank you for the reply! I will check this out.
The application is for a student project team: https://github.com/umrover. We build mock rovers for a global competition that is held over the summer. Part of this is designing a custom brushed motor controller board that uses STM MCU's. We want to start doing hardware-in-the-loop testing and Renode seemed like a great place to start.
from renode.
However I noticed that the .repl
file does not have any can
devices on it (which we make heavy use of).
I see CAN mentioned in the .dts
file but I'm not sure how that plays into everything.
from renode.
Currently trying out the .repl
file from the page G431RB you linked. I added several lines for FDCAN based on the datasheet:
fdcan1: CAN.STMCAN @ sysbus <0x40006400, +0x400>
fdcan2: CAN.STMCAN @ sysbus <0x40006800, +0x400>
fdcan3: CAN.STMCAN @ sysbus <0x40006C00, +0x400>
My .resc
script is:
using sysbus
mach create
machine LoadPlatformDescription @stm32g431.repl
machine StartGdbServer 3333
macro reset
"""
sysbus LoadELF @Build/bdcmc.elf
"""
runMacro $reset
Everything seems to work until HAL_RCC_ClockConfig
when I receive this error that I can see in the debugger:
The code can be found here: https://github.com/umrover/mrover-ros/blob/eb560e4c17ffde14cd5f0540b9712e7e723029a5/src/esw/fw/bdcmc/Core/Src/main.c#L90
I will keep debugging. Seems like this is a problem with the emulated RCC:
rcc: Python.PythonPeripheral @ sysbus 0x40021000
size: 0x400
initable: true
filename: "scripts/pydev/flipflop.py"
from renode.
The RCC in this case is definitely quite trivial.
In this case it only alternates between 0x0 and 0xFFFFFFFF.
You will find some example RCC implementations for STM here: https://github.com/renode/renode-infrastructure/blob/b69fe0ef82f82a82ecce375db1060706ebb97569/src/Emulator/Peripherals/Peripherals/Miscellaneous/
(e.g. STM32F4 RCC).
Keep in mind that RCC peripherals in ST chips are often quite custom, they can't be as easily reused as other peripherals.
from renode.
Hello ...
I have the same issue with 'HAL_RCC_ClockConfig()'. Is there a possibility to get it running ?
from renode.
Related Issues (20)
- STM32 Timer limits behaviour
- Trying to write to a disabled Tx
- STM32F2 DMA driven SPI
- STM32F2 DMA driven I2C
- Support of an ethernet device driver (Hifve_Unleashed board)
- STM32H7 Timer triggered DMA sampled ADC
- Compilation of VerilatorIntegrationLibrary in Xcelium fails HOT 1
- Support for MK10DN512VLQ10 NXP Kinetis)
- Renode v1.15.0 Fatal error in Mac HOT 1
- STM32H7 I2C
- STM32H7 SPI
- STM32_Timer Produces error HOT 6
- STM32 F2 and H7 EMAC
- Support of an ethernet device driver (litex_vexriscv board) for Zephyr
- Updating BME280 I2C sensor value using python script. HOT 1
- Save statefile inside a Hook (it hangs) via python script HOT 3
- Read value from GPIO
- hi i am trying to run gdb for blinky which is using nordic-blinky-zephyr.elf and using nrf52840 board when i am trying gdb not working HOT 1
- Possibility to synchronize simulation time with real time HOT 1
- Feature Request: Ethernet Support for Cortex-A53 Linux in Renode HOT 1
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 renode.