微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 手把手教你在FPGA实例上运行“Hello World”

手把手教你在FPGA实例上运行“Hello World”

时间:09-14 来源:互联网 点击:

设置桶访问策略,让AWS账号可以访问这些文件和目录。具体的访问策略样例如下,我们需要把下面的策略配置拷贝到我们的S3桶的“访问策略”设置中。注意样例中的 和 等内容,要把它们修改成真实的桶名和对应路径。

{

"Version": "2012-10-17",

"Statement": [

{

"Sid": "Bucket level permissions",

"Effect": "Allow",

"Principal": {

"AWS": "arn:aws:iam::365015490807:root"

},

"Action": [

"s3:ListBucket"

],

"Resource": "arn:aws:s3:::"

},

{

"Sid": "Object read permissions",

"Effect": "Allow",

"Principal": {

"AWS": "arn:aws:iam::365015490807:root"

},

"Action": [

"s3:GetObject"

],

"Resource": "arn:aws:s3::://"

},

{

"Sid": "Folder write permissions",

"Effect": "Allow",

"Principal": {

"AWS": "arn:aws:iam::365015490807:root"

},

"Action": [

"s3:PutObject"

],

"Resource": "arn:aws:s3::://*"

}

]

}

设置完S3的桶访问策略以后我们需要验证一下策略写的对不对,不然策略写错了,AWS对应账号拿不到需要的tar文件,就不能成功构建FPGA image了,而且我们分析问题还不知道如何下手。

验证S3桶策略的脚本在下面这个文件里:

`aws-fpga/hdk/common/scripts/check_s3_bucket_policy.py`

如果执行出现INFO: Passed字样就表示策略设置正确。

不过在有些python环境下check_s3_bucket_policy.py运行会报下面这个错误:

AttributeError: PolicyStatement instance has no attribute 'principals_re'

发现这个错误的话需要手工改一下check_s3_bucket_policy.py文件。

用你习惯的编辑器打开文件check_s3_bucket_policy.py,然后找到下面的代码:

class PolicyStatement:

def __init__(self, statement, principal=None):

self.statement = statement

self.process_policy_statement(statement, principal)

self.principals_re = []

self.actions_re = []

self.notactions_re = []

self.resources_re = []

然后把self.process_policy_statement(statement, principal)这句放到其它变量设置之后,像下面这样:

class PolicyStatement:

def __init__(self, statement, principal=None):

self.statement = statement

self.principals_re = []

self.actions_re = []

self.notactions_re = []

self.resources_re = []

self.process_policy_statement(statement, principal)

然后就不会报错了,具体运行check_s3_bucket_policy.py命令的参考和对应输出如下:

$ check_s3_bucket_policy.py --dcp-bucket fpga.use1.damondeng.com --dcp-key fpgajarfile/17_04_21-025018.Developer_CL.tar

--logs-bucket fpga.use1.damondeng.com --logs-key logfile

INFO: Passed

一切准备好就可以开始运行 aws ec2 create-fpga-image 命令构建FPGA image了,命令参考如下:

$ aws ec2 create-fpga-image --name DamonFPGAOne

--description "Testing FPGA Image" --input-storage-location Bucket=fpga.use1.damondeng.com,Key=fpgajarfile/17_04_21-025018.Developer_CL.tar

--logs-storage-location Bucket=fpga.use1.damondeng.com,Key=logfile

如果你发现AWS CLI命令报下面这个错误,则你的AWS CLI版本不够,需要运行pip install --upgrade --user awscli进行升级:

Invalid choice: 'create-fpga-image', maybe you meant:

* create-image

*

运行正常的情况下你会获得类似这样的输出

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top