cmsis-svd-codec
This library allows you to programmatically create a svd file for your Microcontroller. This is particularly useful when you have to parse the data from another file descriptor format in order to build a svd file.
How to install
pip install cmsis-svd-codec
Example
from cmsis_svd_codec import SvdDevice
device = SvdDevice("RISC-V", "CoffeeBean", version="1.0")
# Fill the device top level details.
device.add_description("Single core 5-stage pipeline RISC-V processor ...")
device.add_license("""Licensed under the Apache License, Version 2.0, see LICENSE for details."""
device.add_cpu("Ibex", "rev01", device_num_Interrupts=2)
device.add_address_config(width="32")
# Add a peripheral to the device.
peripheral = device.add_peripheral("UART0", version="0.1")
peripheral.add_description("Simple UART peripheral")
peripheral.add_base_address(0x4000_0000)
peripheral.add_size(32)
peripheral.add_interrupt(21)
peripheral.add_address_block(offset=0x000, size=0x1000)
# Add a register to the peripheral.
reg = peripheral.add_register("FIFO_STATUS")
reg.add_description("TX and RX fifo status.")
reg.add_offset_address(0x0)
# Add fields to the register.
reg_field = reg.add_field("tx_full")
reg_field.add_description("1 when the tx fifo is full, 0 otherwise.")
reg_field.add_bit_range(first_bit=0, last_bit=0)
reg_field.add_access_permission(read=True, write=False)
reg_field = reg.add_field("tx_fifo_depth")
reg_field.add_description("How may bit there are in the tx fifo.")
reg_field.add_bit_range(first_bit=1, last_bit=4)
reg_field.add_access_permission(read=True, write=False)
# Create a svd file.
device.dump('CoffeeBean.svd')
Contributing
Please open issues and submit pull request to the repository.
Release files for cmsis-svd-codec 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cmsis-svd-codec-0.1.0.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cmsis_svd_codec-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:15.8 kB
Release files / cmsis-svd-codec-0.1.0.tar.gz
| Download URL | cmsis-svd-codec-0.1.0.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
48deeb3d3fb46e431f0d5f461dd5acd7f568888770a2ec8f2baf1f868246ddd8
|
|
BLAKE2b-256 checksum How to use checksums |
c92db50e1630941cc5ab0d3e20a7732a2d3b3ed1c9d8770611ca336961047639
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.6
|
Release files / cmsis_svd_codec-0.1.0-py3-none-any.whl
| Download URL | cmsis_svd_codec-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a492eade0fe0b4d116b5c2e46b9bbbf949f7dc7070f53a4fa826ea97ea09490a
|
|
BLAKE2b-256 checksum How to use checksums |
b967332e1f8a688f3771be32aa80081eccf394a7bbc472e0b412cf94243d1424
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.6
|