DM8168 系统编译、启动、烧写

本部分主要讲在EZSDK环境中编译u-boot、uImage内核和功能模块的编译,u-boot、内核、文件系统烧写及启动。
启动方式设置
本系统主要采取两种启动方式:SD卡和nand启动方式
设置方法如下:SD卡中启动方式设置,SW3从低到高设置为”11101”,NandFlash启动方式设置为,SW3从低到高设置为”01001”。具体参考文档TI81XX_PSP_U-Boot.pdf第四页。

u-boot和 uImage编译
本部分主要讲SD卡和nandflash启动方式下u-boot和linux内核的编译,两种启动方式中,u-boot编译方法不同,而uImage共用。主要通过./include/
configs/ti8168_evm.h文件来修改系统配置u-boot配置。


SD卡启动方式下u-boot的编译如下:
SD卡启动的uboot分为两级,第一阶段编译如下:
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm distclean;
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm ti8168_evm_min_sd;
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm u-boot.ti
将编译后生成的uboot_min_sd重命名为MLO;

删除的文件范围从小到大依次为: make clean < make mrproper< make distclean。
make clean: 删除大多数的编译生成文件,但会保留.config 内核配置文件。
make mrproper: 删除所有的编译生成文件,同时删除内核配置文件以及各种备份文件。
make mrproper: 删除所有的编译生成文件,同时删除内核配置文件以及各种备份文件。
make distclean: 删除所有的编译生成文件,同时删除内核配置文件以及各种备份文件和补丁文件,清除最完整。

第二阶段编译如下:
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm distclean;
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm ti8168_evm_config_sd;
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm u-boot.ti;

nandflash启动方式下u-boot的编译
Nand启动的uboot只有一级,编译如下: 
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm distclean;
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm ti8168_evm_config_nand;
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm u-boot.ti;
最终生成的u-boot.noxip.bin为有效文件。


Linux内核编译
Linux内核编译如下:arago-linux-gnueabi-gcc -E
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm distclean;
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm ti8168_evm_defconfig;
make ARCH=arm menuconfig //通过窗口模式来修改和裁剪内核
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm uImage;
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules;
编译系统可加载模块驱动。


重点参看:http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_U-Boot

你可能感兴趣的:(DM8168)