嵌入式资料
正点原子 i.MX6ULL Linux阿尔法开发板
韦东山 嵌入式视频
野火 i.MX Linux开发实战指南
迅为 i.MX6ULL开发板
友善之臂嵌入式
环境配置
开启Ubuntu与Windows文件互传
- 1.FTP服务
sudo apt install vsftpd # 打开`vsftpd.conf`文件,找到`local_enable=YES`、`write_enable=YES`这两行,如有注释,取消注释 sudo vim /etc/vsftpd.conf # 重启FTP服务 sudo /etc/init.d/vsftpd restart
讯享网
查看交叉编译器版本
讯享网arm-linux-gnueabihf-gcc -v
- 2.设置NFS服务开启
# 安装nfs服务 sudo apt install nfs-kernel-server rpcbind # 配置nfs sudo vim /etc/exports # 在文件最后增加nfs路径,文件路径要配置正确 /home/sml/linux/nfs *(rw,sync,no_root_squash) # 重启nfs服务 sudo /etc/init.d/nfs-kernel-server restart
SSH服务开启
讯享网sudo apt install openssh-server
配置TFTP服务
# 安装tftp相关软件 sudo apt install tftp-hpa tftpd-hpa xinetd
在/home/sml/linux目录下创建文件夹tftpboot,使用chmod 777 tftpboot/更改文件夹权限。
新建文件/etc/xinetd.d/tftp,如果没有/etc/xinetd.d 目录的话自行创建,输入如下内容:
讯享网server tftp {
socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /home/sml/linux/tftpboot/ disable = no per_source = 11 cps = 100 2 flags = IPv4 }
# 启动 tftp 服务 sudo service tftpd-hpa start
打开/etc/default/tftpd-hpa文件,将其修改为如下所示内容:
讯享网# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/sml/linux/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="-l -c -s"
# 重启 tftp 服务器 sudo service tftpd-hpa restart
编译uboot
正点原子已经移植好的uboot
文件地址:
1、程序源码->3、正点原子 Uboot 和 Linux 出厂源码->ubootimx-2016.03-2.1.0-ge468cdc-v1.5.tar.bz2
拷贝到Ubuntu的alientek_uboot文件夹下,解压缩
讯享网tar -vxjf uboot-imx-2016.03-2.1.0-g8b546e4.tar.bz2
1、512MB(DDR3)+8GB(EMMC)核心板
创建mx6ull_alientek_emmc.sh脚本文件,内容如下:
#!/bin/bash make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12
运行脚本文件编译EMMC版本的uboot
讯享网./mx6ull_alientek_emmc.sh
2、256MB(DDR3)+ 512MB(NAND)核心板
创建mx6ull_alientek_nand.sh脚本文件,内容如下:
#!/bin/bash make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr256_nand_defconfig make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12
运行脚本文件编译NAND版本的uboot
讯享网./mx6ull_alientek_nand.sh
烧写uboot
挂载U盘,通过命令 ls /dev/sd*找出新增U盘
#给予 imxdownload 可执行权限,一次即可 chmod 777 imxdownload #烧写到 SD 卡,不能烧写到/dev/sda 或 sda1 设备里面! ./imxdownload u-boot.bin /dev/sdb

设置网络环境变量
靠近串口的网口(ENE2)插入网线。
| 环境变量 | 描述 |
|---|---|
| ipaddr | 开发板 ip 地址,可以不设置,使用 dhcp 命令来从路由器获取 IP 地址。 |
| ethaddr | 开发板的 MAC 地址,一定要设置。 |
| gatewayip | 网关地址。 |
| netmask | 子网掩码。 |
| serverip | 服务器 IP 地址,也就是 Ubuntu 主机 IP 地址,用于调试代码。 |
设置网络环境变量,需要根据实际情况设置。
讯享网setenv ipaddr 192.168.3.180 setenv ethaddr b8:ae:1d:01:00:00 setenv gatewayip 192.168.3.1 setenv netmask 255.255.255.0 setenv serverip 192.168.3.111 saveenv
下载zImage到开发板
使用NFS命令
nfs 192.168.3.111:/home/sml/linux/nfs/zImage
使用TFTP命令
讯享网tftp zImage
Linux内核移植
1.NXP官方开发板Linux内核编译
NXP官方原版Linux源码路径:1、例程源码->4、NXP 官方 原版 Uboot和 Linux->linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2。拷贝到Ubuntu系统中,重新命名为linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek。
修改顶层Makefile
#ARCH ?= $(SUBARCH) #CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) ARCH ?= arm CROSS_COMPILE ?= arm-linux-gnueabihf-
讯享网# 第一次编译 Linux 内核之前先清理一下 make clean # 配置 Linux 内核 make imx_v7_mfg_defconfig # 编译 Linux 内核 make -j16
console=ttymxc0, root=/dev/mmcblk1p2 rootwait rw
讯享网cp arch/arm/boot/zImage /home/sml/linux/tftpboot/ -f cp arch/arm/boot/dts/imx6ull-14x14-evk.dtb /home/sml/linux/tftpboot/ -f
参考链接
正点原子 Linux imx6ull学习开始 Action~
IMX6ULL驱动开发实战连载-01搭建开发环境
【正点原子I.MX6ULL】一、Linux驱动开发环境搭建,初次体验开发全流程(必看)
正点原子linux阿尔法开发板使用——驱动开发篇
【正点原子I.MX6ULL】二、配置交叉编译工具链,编译U-boot和Linux内核源码
使用TFTP进行文件传输

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126166.html