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

楚雄市住房和城乡建设局门户网站城市网站建设分析报告

楚雄市住房和城乡建设局门户网站,城市网站建设分析报告,织梦 网站首页,旅游网站组织结构图怎么做目录U-Boot 初次编译U-Boot 烧写与启动上述笔记第三点就是建立shell脚本实现的 第四点就是修改Makefile文件实现的#xff0c;下面均有实现步骤讲解。 U-Boot 初次编译 先编译体验一下正点原子提供的UBOOT。 首先在Ubuntu 中安装ncurses 库#xff0c;否则编译会报错#… 目录U-Boot 初次编译U-Boot 烧写与启动上述笔记第三点就是建立shell脚本实现的 第四点就是修改Makefile文件实现的下面均有实现步骤讲解。 U-Boot 初次编译 先编译体验一下正点原子提供的UBOOT。 首先在Ubuntu 中安装ncurses 库否则编译会报错安装命令如下 sudo apt-get install libncurses5-dev在Ubuntu 中创建存放uboot 的目录比如我的/home/$USER/linux/uboot然后在此目录下新建一个名为“alientek_uboot”的文件夹用于存放正点原子提供的uboot 源码。alientek_uboot文件夹创建成功以后使用FileZilla 软件将正点原子提供的uboot 源码拷贝到此目录中。 正点原子提供的uboot 源码已经放到了开发板光盘中路径为开发板光盘-1、例程源码-3、正点原 子Uboot 和Linux 出厂源码- uboot-imx-2016.03-2.1.0-ge468cdc-v1.5.tar.bz2。将其拷贝到Ubuntu中新建的alientek_uboot 文件夹下完成以后如图30.2.1 所示 使用如下命令对其进行解压缩 tar -vxjf uboot-imx-2016.03-2.1.0-g8b546e4.tar.bz2解压完成以后alientek_uboot 文件夹内容如图30.2.2 所示 上图中除了uboot-imx-2016.03-2.1.0-g8b546e4.tar.bz2 这个正点原子提供的uboot 源码压缩包以外其他的文件和文件夹都是解压出来的uboot 源码。可以发现有Makefile不过不能直接进行编译需要先进行配置因为Makefile是通用的板子不一样。 1、512MB(DDR3)8GB(EMMC)核心板 如果使用的是512MB8GB 的EMMC 核心板使用如下命令来编译对应的uboot make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- distclean make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- (加空格) mx6ull_14x14_ddr512_emmc_defconfig make V1 ARCHarm CROSS_COMPILEarm-linux-gnueabihf- -j12这三条命令中ARCHarm 设置目标为arm 架构CROSS_COMPILE 指定所使用的交叉编译器。第一条命令相当于“make distclean”目的是清除工程一般在第一次编译的时候最好清理一下工程。第二条指令相当于“make mx6ull_14x14_ddr512_emmc_defconfig”用于配置uboot配置文件为mx6ull_14x14_ddr512_emmc_defconfig。最后一条指令相当于“make -j12”也就是使用12 核来编译uboot。当这三条命令执行完以后uboot 也就编译成功了如图30.2.3 所示 编译完成以后的alentek_uboot 文件夹内容如图30.2.4 所示 可以看出编译完成以后uboot 源码多了一些文件其中u-boot.bin 就是编译出来的uboot二进制文件。uboot 是个裸机程序因此需要在其前面加上头部(IVT、DCD 等数据)才能在I.MX6U上执行【联想到前面裸机学习的I.MX 6ULL中内部BOOT ROM初始化DDR然后将.bin文件加载到RAM里面运行这里就是u-boot.bin需要加头部然后运行的u-boot程序去引导操作系统运行】图30.2.4 中的u-boot.imx 文件就是添加头部以后的u-boot.binu-boot.imx 就是我们最终要烧写到开发板中的uboot 镜像文件。 【为了方便引入shell脚本。其实把Makefile文件进行适当修改也可以减少输入很多字母参考上面笔记的第四点实际操作如下】 然后编译的时候只要在命令行输入以下命令即可交叉编译工具变量直接替换了 每次编译uboot 都要输入一长串命令为了简单起见我们可以新建一个shell 脚本文件将这些命令写到shell 脚本文件里面然后每次只需要执行shell 脚本即可完成编译工作。新建名为mx6ull_alientek_emmc.sh 的shell 脚本文件然后在里面输入如下内容 1 #!/bin/bash 2 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- distclean 3 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- (加空格) mx6ull_14x14_ddr512_emmc_defconfig 4 make V1 ARCHarm CROSS_COMPILEarm-linux-gnueabihf- -j12第1 行是shell 脚本要求的必须是“#!/bin/bash”或者“#!/bin/sh”。 第2 行使用了make 命令用于清理工程也就是每次在编译uboot 之前都清理一下工程。这里的make 命令带有三个参数第一个是ARCH也就是指定架构这里肯定是arm第二个参数CROSS_COMPILE 用于指定编译器只需要指明编译器前缀就行了比如arm-linux-gnueabihf-gcc 编译器的前缀就是“arm-linux-gnueabihf-”最后一个参数distclean 就是清除工程。 第3 行也使用了make 命令用于配置uboot。同样有三个参数不同的是最后一个参数是mx6ull_14x14_ddr512_emmc_defconfig。前面说了uboot 是bootloader 的一种可以用来引导Linux但是uboot 除了引导Linux 以外还可以引导其它的系统而且uboot 还支持其它的架构和外设比如USB、网络、SD 卡等。这些都是可以配置的需要什么功能就使能什么功能。所 以在编译uboot 之前一定要根据自己的需求配置uboot。mx6ull_14x14_ddr512_emmc_defconfig就是正点原子针对I.MX6U-ALPHA 的EMMC 核心板编写的配置文件这个配置文件在uboot源码的configs 目录中。在uboot 中通过“make xxx_defconfig”来配置ubootxxx_defconfig 就是不同板子的配置文件这些配置文件都在uboot/configs 目录中。 第4 行有4 个参数用于编译uboot通过第3 行配置好uboot 以后就可以直接“make”编译uboot 了。其中V1 用于设置编译过程的信息输出级别-j 用于设置主机使用多少线程编译uboot最好设置成我们虚拟机所设置的核心数如果在VMware 里面给虚拟就分配了4 个核那么使用-j4 是最合适的这样4 个核都会一起编译。使用chmod 命令给予mx6ull_alientek_emmc.sh 文件可执行权限然后就可以使用这个shell脚本文件来重新编译uboot命令如下 ./mx6ull_alientek_emmc.sh2、256MB(DDR3) 512MB(NAND)核心板 如果用的256MB512MB 的NAND 核心板新建名为x6ull_alientek_nand.sh 的shell 脚本文件然后在里面输入如下内容 1 #!/bin/bash 2 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- distclean 3 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- (加空格) mx6ull_14x14_ddr256_nand_defconfig 4 make V1 ARCHarm CROSS_COMPILEarm-linux-gnueabihf- -j12完成以后同样使用chmod 指令给予mx6ull_alientek_nand.sh 可执行权限然后输入如下命令即可编译NAND 版本的uboot ./mx6ull_alientek_nand.shmx6ull_alientek_nand.sh 和mx6ull_alientek_emmc.sh 类似只是uboot 配置文件不同这里就不详细介绍了。 U-Boot 烧写与启动 视频里老师先是演示了简单方便的OTG方式参照上面笔记的第二点给.bin添加头使用的也是另一种方式烧写到EMMC里的。 后面我们还是使用imxdownload 软件进行烧写就像裸机开发一样。因为使用OTG方式不仅把U_boot还有系统镜像zimage、设备树、根文件系统全部重新烧进去很费时间我们只是想更新一个u-boot而已。 uboot 编译好以后就可以烧写到板子上使用了这里我们跟前面裸机例程一样将uboot烧写到SD 卡中然后通过SD 卡来启动来运行uboot。使用imxdownload 软件烧写命令如下 chmod 777 imxdownload //给予imxdownload 可执行权限一次即可 ./imxdownload u-boot.bin /dev/sdd //烧写到SD 卡不能烧写到/dev/sda 或sda1 设备里面等待烧写完成完成以后将SD 卡插到I.MX6U-ALPHA 开发板上BOOT 设置从SD 卡启动使用USB 线将USB_TTL 和电脑连接也就是将开发板的串口1 连接到电脑上。打开MobaXterm设置好串口参数并打开最后复位开发板。在MobaXterm 上出现“Hit any key to stop autoboot: ”倒计时的时候按下键盘上的回车键默认是3 秒倒计时在3 秒倒计时结束以后如果没有按下回车键的话uboot 就会使用默认参数来启动Linux 内核了。如果在3 秒倒计时结束之前按下回车键那么就会进入uboot 的命令行模式如图30.3.1 所示 从图30.3.1 可以看出当进入到uboot 的命令行模式以后左侧会出现一个“”标志。uboot 启动的时候会输出一些信息这些信息如下所示 U-Boot 2016.03-gd3f0479 (Aug 07 2020 - 20:47:37 0800)CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz) CPU: Industrial temperature grade (-40C to 105C) at 51C Reset cause: POR Board: I.MX6U ALPHA|MINI I2C: ready DRAM: 512 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 Display: ATK-LCD-7-1024x600 (1024x600) Video: 1024x600x24 In: serial Out: serial Err: serial switch to partitions #0, OK mmc1(part 0) is current device Net: FEC1 Error: FEC1 address not set.Normal Boot Hit any key to stop autoboot: 0第1 行是uboot 版本号和编译时间可以看出当前的uboot 版本号是2016.03编译时间是2020 年8 月7 日凌晨20 点47 分。 第3 和第4 行是CPU 信息可以看出当前使用的CPU 是飞思卡尔的I.MX6ULLI.MX 以前属于飞思卡尔然而飞思卡尔被NXP 收购了频率为792MHz但是此时运行在396MHz。这颗芯片是工业级的结温为-40°C~105°C。 第5 行是复位原因当前的复位原因是POR。I.MX6ULL 芯片上有个POR_B 引脚将这个引脚拉低即可复位I.MX6ULL。 第6 行是板子名字当前的板子名字为“I.MX6U ALPHA|MINI”。 第7 行提示I2C 准备就绪。 第8 行提示当前板子的DRAM内存为512MB如果是NAND 版本的话内存为256MB。 第9 行提示当前有两个MMC/SD 卡控制器FSL_SDHC(0)和FSL_SDHC(1)。I.MX6ULL支持两个MMC/SD正点原子的I.MX6ULL EMMC 核心板上FSL_SDHC(0)接的SD(TF)卡FSL_SDHC(1)接的EMMCMMC表示EMMC或者SD卡。 第10 和第11 行是LCD 型号当前的LCD 型号是ATK-LCD-7-1024x600 (1024x600)分辨率为1024x600格式为RGB888(24 位)。 第12~14 是标准输入、标准输出和标准错误所使用的终端这里都使用串口(serial)作为终端。 第15 和16 行是切换到emmc 的第0 个分区上因为当前的uboot 是emmc 版本的也就是从emmc 启动的。我们只是为了方便将其烧写到了SD 卡上但是它的“内心”还是EMMC的。所以uboot 启动以后会将emmc 作为默认存储器当然了你也可以将SD 卡作为uboot 的存储器这个我们后面会讲解怎么做。 第17 行是网口信息提示我们当前使用的FEC1 这个网口I.MX6ULL 支持两个网口。 第18 行提示FEC1 网卡地址没有设置后面我们会讲解如何在uboot 里面设置网卡地址。 第20 行提示正常启动也就是说uboot 要从emmc 里面读取环境变量和参数信息启动Linux内核了。 第21 行是倒计时提示默认倒计时3 秒倒计时结束之前按下回车键就会进入Linux 命令行模式。如果在倒计时结束以后没有按下回车键那么Linux 内核就会启动Linux 内核一旦启动uboot 就会寿终正寝。这个就是uboot 默认输出信息的含义NAND 版本的uboot 也是类似的只是NAND 版本 的就没有EMMC/SD 相关信息了取而代之的就是NAND 的信息比如NAND 容量大小信息。 uboot 是来干活的我们现在已经进入uboot 的命令行模式了进入命令行模式以后就可以给uboot 发号施令了。当然了不能随便发号施令得看看uboot 支持哪些命令然后使用这些uboot 所支持的命令来做一些工作。下一节就讲解uboot 命令的使用。
http://www.huolong8.cn/news/326706/

相关文章:

  • 住房与建设局网站手机网站价格
  • jq 网站模板餐饮vi设计网站
  • 汝南企业网站建设注册一个投资公司需要多少钱
  • 如何做视频卖给网站安吉做网站
  • 加油站建设专业网站wordpress主题 知更鸟
  • 网站怎样做支付接口网络搜索关键词排名
  • 苏州网站建设系统价格合理qq电脑版官网入口
  • 建设买卖网站要多少钱海口自助建站系统
  • 公司网站内容如何做wordpress退货插件
  • 百胜招聘 网站开发wordpress无法更换域名
  • 重点建设政协网站访问不了服务器的网站
  • 网站开发包软件设计师工资一般多少
  • 东莞专业网站设计平台电脑怎么做最新系统下载网站
  • 企业建设网站的比例wordpress外链图片本地化
  • 百度软件下载中心官方网站个人网站做音乐网要备文化
  • 湖北网站建设公司重庆网站建站建设免费
  • 软件或网站是怎么做的瑞丽住建局网站
  • 徐州建设工程材料检测预约网站制作静态动漫网站模板
  • 涪陵网站制作邯郸网站设计注册
  • 网站源码运行一些简单的代码
  • 外贸平台网站有哪些青岛网站建设市场分析
  • 花生壳免费域名注册网站合肥模板建站多少钱
  • 潍坊网站开发培训美食个人网站设计作品
  • 做视频的模板下载网站上海高端网站建设服务公司
  • 网站界面修改淘宝运营培训多少钱
  • 珠海网站建设公司网站临沂制作网站企业
  • 兰州网站seo优化公司望野原文
  • 阿里云免费网站备案四川建站模板网站公司
  • 直播教育网站建设档案馆网站机房建设
  • 上海人才招聘哪个网站好wordpress字数统计m 去除图片等