petalinx(5)——python安装与应用

一直没找到相关资料,估计中文版网文首次发布,英文的也找了些,没看见太详尽的说明。

安装python

根据之前的创建项目经验,引入硬件之后,在build之前,

petalinux-config -c rootfs

->Filesystem Packages->misc->python->python3

用空格键选中python3 保存

像之前一样build和生成bin文件,这次文件会稍微大些。

如上图所示,能够启动python,但不是默认路径里的,所以得找打相应的路径,才能启动,不过好在能启动了。

把自己写的py文件通过xftp放进去,可以运行。

问题

通过xftp放进去的文件(py文件)重启后就没了

是否得需要ext4文件系统?在ext4文件系统里,重启不会没?

 

建造完整系统 包含(ext4 app python3)

创建工程

引入硬件后,

选择python3(参考上一节)

创建读取内存app(参考之前blog)

配置文件系统(参考之前blog)

Build

生成bin文件

启动后发现python和app都能用但是找不到ext4文件系统在哪里

把py文件放入任何地方,都能运行但是重启后依然消失

最后发现ext4文件系统在这个目录下

/run/media/mmcblk0p2/

把py文件放进这个目录就不会丢失了。

把TCP服务器的py文件放进去,PC运行客户端py文件,可以连通了。

 

python3的实时性问题——吃到了,葡萄还是酸的!

Fpga硬件设计两个灯的值直接取自内存0x43c00040

用命令行

root@pl0c:/usr/bin# devmem 0x43c00040 32 0x00000000

root@pl0c:/usr/bin# devmem 0x43c00040 32 0xffffffff

可以快速地(实时地)控制灯

 

但是用下面的python代码就不能实时控制

import time

import mmap

filename = "/dev/mem"

file = open(filename, "r+b")

data = mmap.mmap(file.fileno(), 0x43c00050)


while(1):

    time.sleep(0.5)

    if(data[0x43c00040] == 0):

        print("ON")

        data[0x43c00040] = 255

    else:

        print("OFF")

        data[0x43c00040] = 0

用Python的命令行

data[0x43c00040] = 255

data[0x43c00040] = 0

也不能实时控制灯,有延迟,回车后再次操作命令行(比如按up键)才会执行

 

疑问python在操作内存上是否有一个缓冲机制导致?

是否在嵌入式上开发还是用C比较靠谱?

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值