多语言展示
当前在线:302今日阅读:176今日分享:34

基于AM335x平台 Linux系统上运行PRU程序(上)

本经验基于广州创龙TL335x-IDK (基于 TI AM335x ARM Cortex-A8 CPU,主频可高达 1GHz,运算能力可高达 2000DMIPS,搭配DDR3,兼容 eMMC 和 NAND FLASH), 其底板采用沉金无铅工艺的 4 层板设计,不仅为客户提供丰富的 AM335x入门教程,还协助客户进行底板的开发,提供长期、全面的技术支持,帮助客户以最快的速度进行产品的二次开发,实现产品的快速上市。
方法/步骤
1

本节演示在 Linux 系统下,PRU 程序如何以固件方式运行。1.  替换 设备树:(1)在内核源码中打开 am335x-icev2.dts,删除'ti,am3359-icev2'兼容选项,修改成如下:

2

(2)配置内核。执行如下命令:Host#  make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_d efconfig

3

(3)编译设备树。执行如下命令:Host#  sudo make ARCH=arm CROSS_COMPILE=/media/tronlong/tl335x/ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- am335x-icev2.dtb备注:上图红色交叉编译路径根据实际情况配置。

4

(4)查看开发板 IP 地址。执行如下命令:Target# ifconfig

5

(5)将生成的设备树文件拷贝到开发板。执行如下命令:HOST# sudo scp arch/arm/boot/dts/am335x-icev2.dtb root@192.168.1.45:/boot

6

2. LED  程序演示(1)重新启动开发板,LED 可执行文件拷贝到开发板 boot 路径。执行如下命令:HOST# sudo scp /home/tronlong/TL335x_PRU_Led_Blink.out root@192.168.1.15:/home/root

7

(2)在开发板上执行如下命令,建立链接:Target# rm /lib/firmware/am335x-pru0-fwTarget# ln -s /home/root/TL335x_PRU_Led_Blink.out /lib/firmware/am335x-pru0-fwTarget# ls /lib/firmware/ -al

8

(3)停止运行 PRU 固件,执行如下命令:Target# echo 4a334000.pru0 > /sys/bus/platform/drivers/pru-rproc/unbind备注:如果运行停止命令时,提示以下找不到 device,是因为固件已经停止运行,跳过此步即可。

9

(4)运行 PRU 固件,此时可以看到三个 LED 轮流闪烁。执行如下命令:Target# echo 4a334000.pru0 > /sys/bus/platform/drivers/pru-rproc/bind

推荐信息