当前位置: 首页 > news >正文

门户网站建站要求学习php做毕设网站方向

门户网站建站要求,学习php做毕设网站方向,广州做网站哪间公司好,想学编程做网站1概述 在Zynq-7000 SoC中搭建运行Linux,嵌入式软件栈。 处理器系统引导是一个分两个阶段的过程。第一个阶段是一个内部 BootROM,它存储 stage-0 的引导代码。BootROM 在 CPU 0 上执行,CPU 1 执行等待事件(WFE)指令。…

1概述

在Zynq-7000 SoC中搭建运行Linux,嵌入式软件栈。
在这里插入图片描述
处理器系统引导是一个分两个阶段的过程。第一个阶段是一个内部 BootROM,它存储
stage-0 的引导代码。BootROM 在 CPU 0 上执行,CPU 1 执行等待事件(WFE)指令。
BootROM 还配置必要的外围设备,以开始从其中一个引导设备获取第一阶段引导加载程序
(FSBL)引导代码。可编程逻辑(PL)不是由 BootROM配置的。第二种状态是 FSBL 引导
代码。这通常存储在闪存、SD卡中,或者可以通过JTAG下载。BootROM代码将FSBL引导
代码从选定的非易失性存储器复制到片上存储器(OCM)。加载到OCM中的FSBL的大小限
制为192KB。在FSBL开始执行后,完整的256 KB可用。有一个可选的第二阶段引导加载程
序,它是可选的,由用户设计。常见的第二阶段引导加载程序是U-boot。
(1) FSBL
Zynq-7000 的第一阶段引导加载程序(FSBL)使用硬件比特流(如果存在)配置 FPGA,
并将操作系统(OS)映像或第二阶段引导加载器映像从非易失性存储器
(NAND/SD/eMC/QSPI)加载到存储器(DDR/OCM)。它支持多个分区,每个分区可以是
代码映像、位流或通用数据。如果需要,可以对这些分区中的每个分区进行身份验证和/或解
密。
(2) U-Boot
U-Boot,通用引导加载程序的缩写,是一种开源的主引导加载程序,用于嵌入式设备,
以引导Linux社区中经常使用的设备操作系统内核。Xilinx在Zynq-7000设备中使用U-Boot作
为第二阶段引导加载程序。
(3) Linux
Linux,全称 GNU/Linux,是一种免费使用和自由传播的类 UNIX操作系统,是我们本开
发指南的重点。
以上就简单的介绍了Zynq-7000嵌入式软件栈,如果没有看懂没关系,笔者这里简单的概
括下。Zynq-7000上电后,首先由BootROM对Zynq设备进行初始启动,然后引导加载fsbl到OCM并启动fsbl;fsbl启动后将uboot加载到DDR并启动uboot;uboot启动后加载linux系统
镜像到DDR并启动linux,至此整个linux系统启动完成。

2 Petalinux 工具的设计流程概述

在这里插入图片描述
需要说明的是以上设计流程不是按部就班的每一步都执行一遍,可以根据使用场景有选
择的执行。一般的设计流程如下:

1. 通过Vivado创建硬件平台,得到xsa文件; 
2. 运行 source <petalinux 安装路径>/settings.sh,设置 Petalinux 运行环境 
source /opt/pkg/petalinux/2020.2/settings.sh 
#或者 
sptl 3. 通过petalinux-create -t project 创建 petalinux 工程; 
petalinux-create -t project --template zynq -n AZYNQ5. 使用 petalinux-config --get-hw-description,将 xsa 文件导入到 petalinux 工程当中并配置
petalinux 工程; cd AZYNQ 
petalinux-config --get-hw-description ../6. 使用petalinux-config -c kernel 配置 Linux 内核; 
7. 使用petalinux-config -c rootfs 配置 Linux 根文件系统; 
8. 配置设备树文件; 
vi project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/media/xilinx-vip.h>
#include <dt-bindings/phy/phy.h>/ {model = "Alientek Navigator Zynq Development Board";compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000";leds {compatible = "gpio-leds";gpio-led1 {label = "led2";gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;default-state = "on";};gpio-led2 {label = "led1";gpios = <&gpio0 54 GPIO_ACTIVE_HIGH>;linux,default-trigger = "heartbeat";};gpio-led3 {label = "pl_led0";gpios = <&axi_gpio_0 0 0 GPIO_ACTIVE_HIGH>;default-state = "on";};gpio-led4 {label = "pl_led1";gpios = <&axi_gpio_0 1 0 GPIO_ACTIVE_HIGH>;linux,default-trigger = "timer";};gpio-led5 {label = "ps_led0";gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;default-state = "on";};gpio-led6 {label = "ps_led1";gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;linux,default-trigger = "timer";};};keys {compatible = "gpio-keys";autorepeat;gpio-key1 {label = "pl_key0";gpios = <&gpio0 55 GPIO_ACTIVE_LOW>;linux,code = <KEY_LEFT>;gpio-key,wakeup;autorepeat;};gpio-key2 {label = "pl_key1";gpios = <&gpio0 56 GPIO_ACTIVE_LOW>;linux,code = <KEY_RIGHT>;gpio-key,wakeup;autorepeat;};gpio-key3 {label = "ps_key1";gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;linux,code = <KEY_UP>;gpio-key,wakeup;autorepeat;};gpio-key4 {label = "ps_key2";gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;linux,code = <KEY_DOWN>;gpio-key,wakeup;autorepeat;};touch-key {label = "touch_key";gpios = <&gpio0 57 GPIO_ACTIVE_HIGH>;linux,code = <KEY_ENTER>;gpio-key,wakeup;autorepeat;};};beep {compatible = "gpio-beeper";gpios = <&gpio0 58 GPIO_ACTIVE_HIGH>;};usb_phy0: phy0@e0002000 {compatible = "ulpi-phy";#phy-cells = <0>;reg = <0xe0002000 0x1000>;view-port = <0x0170>;drv-vbus;};
};&uart0 {u-boot,dm-pre-reloc;status = "okay";
};&sdhci0 {u-boot,dm-pre-reloc;status = "okay";
};&usb0 {dr_mode = "otg";usb-phy = <&usb_phy0>;
};&qspi {u-boot,dm-pre-reloc;flash@0 { /* 16 MB */compatible = "w25q256", "jedec,spi-nor";reg = <0x0>;spi-max-frequency = <50000000>;#address-cells = <1>;#size-cells = <1>;partition@0x00000000 {label = "boot";reg = <0x00000000 0x00100000>;};partition@0x00100000 {label = "bootenv";reg = <0x00100000 0x00020000>;};partition@0x00120000 {label = "bitstream";reg = <0x00120000 0x00400000>;};partition@0x00520000 {label = "device-tree";reg = <0x00520000 0x00020000>;};partition@0x00540000 {label = "kernel";reg = <0x00540000 0x00500000>;};partition@0x00A40000 {label = "space";reg = <0x00A40000 0x00000000>;};};
};&gem0 {local-mac-address = [00 0a 35 00 8b 87];phy-handle = <&ethernet_phy>;ethernet_phy: ethernet-phy@7 {	/* yt8521 */reg = <0x7>;device_type = "ethernet-phy";};
};&gem1 {local-mac-address = [00 0a 35 00 11 55];phy-reset-gpio = <&gpio0 63 GPIO_ACTIVE_LOW>;phy-reset-active-low;phy-handle = <&pl_phy>;pl_phy: pl_phy@4 {	reg = <0x4>;device_type = "ethernet-phy";};
};&watchdog0 {status = "okay";reset-on-timeout;		// Enable watchdog reset function
};&adc {status = "okay";xlnx,channels {#address-cells = <1>;#size-cells = <0>;channel@0 {reg = <0>;};};
};&i2c0 {clock-frequency = <100000>;eeprom@50 {compatible = "atmel,24c64";reg = <0x50>;pagesize = <32>;};rtc@51 {compatible = "nxp,pcf8563";reg = <0x51>;};
};10. 使用petalinux-build 编译整个工程; 
petalinux-build11. 使用petalinux-package --boot制作 BOOT.BIN启动文件; 
petalinux-package --boot --fsbl --fpga --u-boot --force13. 制作SD启动卡,将BOOT.BIN和image.ub以及根文件系统部署到SD卡中; 
14. 将SD卡插入开发板,并将开发板启动模式设置为从SD卡启动; 
15. 开发板连接串口线并上电启动,串口上位机打印启动信息,登录进入Linux系统。
http://www.yayakq.cn/news/62519/

相关文章:

  • 如何在百度搜索dw做的网站哪个省份做网站的多
  • 备案号是哪个网站可以在手机建网站的
  • 织梦网站修改使用教程电商数据查询平台
  • 自己做网站什么类型的比较好短视频运营岗位职责
  • 国外企业建站岳阳云溪区建设局网站
  • 苏州大型网站建设网络设计报告3000
  • 甘南州住房和城乡建设局网站百度电脑版官方下载
  • 建设网站的意义 作用是什么电话语音聊天网站建设多少钱
  • 哪里有网站开发企业推广模式包括哪些模式
  • 镇江网站制作案例网站建设联系
  • 湖州网站设计平台网店美工具体要求
  • 重庆黔江做防溺水的网站wordpress the7 中文
  • 重庆网站怎么做出来的逻辑网络设计的目标是什么?
  • 苏州招聘网站制作网络推广公司怎么接单
  • 网站建设开发教程视频教程金融企业网站建设公司
  • 网站关键词选取的步骤和方法公司官网站怎么搞
  • 营销网站制作公司西安网络优化大的公司
  • 《教师网站建设与应用管理制度》做统计的网站
  • 顺德网站制作公司如何建立网站或网页
  • 室内设计网站 知乎小兽wordpress编辑器
  • 织梦网站后台打开空白合作网站账号登录方式
  • 石家庄建站凡科北仑网站制作
  • 佛山家具网站建设公司高校二级网站建设方案
  • 网站建设.龙兵科技自己搭建小型服务器
  • 网站404页面在哪查看wordpress+做仿站
  • 对外网站建设情况汇报讷河做网站公司
  • 网站开发网页2345网址导航app
  • 营销型高端网站建设价格做网站布局流程
  • 许昌网站建设汉狮怎么样郑州最好的建站公司
  • 网站建设与管理用什么软件有哪些内容网站二级域名怎么做