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第三方库


热门话题
java在Android中维护应用程序状态   javajavacc:如何指定在特定上下文中需要哪些令牌?   java为什么改型会在重新加载数据时设置以前的响应?   java如何将键转换为字符串,反之亦然   java JDOM解析器插入#固定手动属性   java按元素对XML数据排序?   java Android中有哪些哈希算法?   java为什么使用可选返回类型进行单元测试失败?   Gson和argonauts使用Gson将javascript数组转换为json字符串并转换为javapojo时遇到的问题。试图让我的结构正确   java中的空格   java SQLite高分,草率IndexOutofBounds Android   使用Spring OAUTH2的java Make客户端   netbeans如何在java中创建一个JPopupMenu,其中包含一个要复制文本的项