做网站算软件开发么做动效很好的网站

U-Boot的简化版启动流程:
1、设置状态寄存器 cpsr ,使CPU进入 SVC 特权模式,并且禁止 FIQ 和 IRQ;
2、关闭看门狗、中断、MMU、Cache;
3、初始化部分寄存器和外设(时钟、串口、Flash、内存);
4、自搬移uboot到内存中运行;
5、设置栈空间并初始化global_data;
6、剩余大部分硬件的初始化;
7、搬移Linux内核到内存;
U-Boot移植
- 从NXP官方提供的配置文件中找到相关联的配置文件:
imx6ull_14×14_emmc_deconfig作为默认配置文件蓝本- 编译完成以后会生成 u-boot.bin、u-boot.imx 等文件,但是这些文件是 NXP 官方 I.MX6ULL EVK 开发板。
 - 将 imxdownload 软件拷贝到 uboot 源码根目录下,然后使用 imxdownload 软件将 u-boot.bin 烧写到 SD 卡中
 - 设置开发板从SD卡中启动,加载uboot
 - uboot 成功加载之后通常需要检查:
 - SD 卡和 EMMC 驱动是否正常(常规情况下都是正常的)
 - LCD 屏幕驱动是否正常(问题不大)
 - 网络驱动是否正常(核心部分)
 
 - 先在 configs 目录下创建默认配置文件,复制 mx6ull_14x14_evk_emmc_defconfig,然后重命名为 mx6ull_alientek_emmc_defconfig 
- 修改其中的一些命名
 
 - 添加开发板对应的头文件。在目录 include/configs 下添加 I.MX6ULL-ALPHA 开 发 板 对 应 的 头 文 件 , 复 制 include/configs/mx6ullevk.h,并重命名为 mx6ull_alientek_emmc.h
 - 添加开发板对应的板级文件。uboot 中每个板子都有一个对应的文件夹来存放板级文件,比如开发板上外设驱动文件等等。NXP 的 I.MX 系列芯片的所有板级文件夹都存放在 board/freescale 目录下,在这个目录下有个名为 mx6ullevk 的文件夹,这个文件夹就是 NXP 官方 I.MX6ULL EVK 开发板的板级文件夹。复制 mx6ullevk,将其重命名为 mx6ull_alientek_emmc 
- 修改 mx6ull_alientek_emmc 目录下的 Makefile 文件
 - 修改 mx6ull_alientek_emmc 目录下的 imximage.cfg 文件
 - 修改 mx6ull_alientek_emmc 目录下的 Kconfig 文件
 - 修改 mx6ull_alientek_emmc 目录下的 MAINTAINERS 文件
 
 - 修改 U-Boot 图形界面配置文件
 - LCD驱动修改。一般 uboot 中修改驱动基本都是在 xxx.h 和 xxx.c 这两个文件中进行的,xxx 为板子名称,比如 mx6ull_alientek_emmc.h 和 mx6ull_alientek_emmc.c 这两个文件。 
- 一般修改 LCD 驱动重点注意以下几点:
 - LCD 所使用的 GPIO,查看 uboot 中 LCD 的 IO 配置是否正确。
 - LCD 背光引脚 GPIO 的配置。
 - LCD 配置参数是否正确。
 
 - 网络驱动修改。
 - uboot 中有两个非常重要的环境变量 bootcmd 和 bootargs,接下来看一下这两个环境变量。bootcmd 和 bootagrs 是采用类似 shell 脚本语言编写的,里面有很多的变量引用,这些变量其实都 是 环 境 变 量 , 有 很 多 是 NXP 自 己 定 义 的 。 文 件 mx6ull_alientek_emmc.h 中的宏CONFIG_EXTRA_ENV_SETTINGS 保存着这些环境变量的默认值

参考链接1
参考链接2 
