CMSIS SVD数据文件和解析器

cmsis-svd的Python项目详细描述


python cmsis svd parser
====

==此目录包含python中cmsis svd解析器的代码。
解析器能够读取输入svd并提供包含svd信息的python对象。这使开发人员不必担心svd xml和每个供应商的小怪癖。

如果失败,
您可能需要更新正在使用的pip版本。

``sh
pip install-u-e'git+https://github.com/posborne/cmsis svd.git egg=cmsis svd&;subdirectory=python'
````

示例
----

您可以从svd中收集许多有关各种平台的信息。例如,假设我想查看freescale k20(d7)上每个外设的名称
和基址。由于
k20 svd与库一起打包,我可以执行以下操作:

``python
来自cmsis svd。parser import svdparser

parser=svdparser.for_packated svd('freescale','mk20d7.xml')
用于parser中的外设。get_device()。外设:
打印(“%s@x%08x”%(peripheral.name,
`````


>这产生了如下输出:

`````
ftfl flashconfig@0x0000000400
aips0@0x40000000
aips1@0x40080000
aips1@0x40080000
axbs@0x40004000
dma@0x40008000
dma@0x40008000
fb@0x4000000
fmc@0x4001000
ftfl@0x40020000
dmamux@0x40021000
can0@0x400240000
can0@0x400240000

spi0@0x4002c000
spi1@0x4002d000

````


示例2:转换为json
这是递归的。要生成json数据并进行漂亮的打印,可以执行以下操作:

``python
来自cmsis svd.parser import svdparser

parser=svdparser.for_packated svd('freescale','mk20d7.xml')
svd dict=parser.get_device().to_dict()
打印(json.dumps(svd_dict,sort_key=true,
indent=4,分隔符=(',',':'))
```

development
——


签出代码后,可以从
此目录运行以下命令来安装依赖项:

``sh
virtualenv env
source env/bin/activate
pip install-r dev requirements.txt
```

,要运行测试:

``sh
noestests.
```


有很多svd文件,因此测试需要一些时间。如果您有一些额外的CPU来解决这个问题,您可以执行以下操作:

``sh
nostes--process=8.
````

在github上打开问题并提交请求。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Cassandra DB的javascript查询结果   java定时器任务调度   java在TLS上实现LDAP   为什么在浏览器中滚动会使java小程序闪烁?   未使用轮询器和serviceactivator提取java pubsub消息   java风暴多线程问题   java计算平均成绩   java将字符串添加到另一个类的数组列表中   文件Java路径如何转换为例如InputStream   java更改JComboBox的字体颜色   java inthttp:具有可轮询请求通道的inboundgateway   使用继承在Java中运行swing Base和扩展windows   java ivysettings。xml:添加本地maven路径   java如何将参数自定义视图传递给activity类   java延迟加载无法在Hibernate中使用一对一映射   当文件以“file:/”开头时,Java无法识别该文件   需要java正则表达式帮助,使用反斜杠   片段中的java GWT参数