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上打开问题并提交请求。
====
==此目录包含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上打开问题并提交请求。