[嵌入式Linux] 在i.MX6ull开发板上原生编译(native compiling)Linux内核

[复制链接]
 楼主| laolang111 发表于 2018-8-13 11:37 | 显示全部楼层 |阅读模式
本帖最后由 laolang111 于 2018-8-15 08:17 编辑

NXP i.MX6ULL是NXP i.MX6处理器家族的最新成员,i.MX6ULL相对于i.MX6 UltraLite来说,主要是优化了成本。与i.MX6 UltraLite芯片是PIN-2-PIN兼容的,使得i.MX6ULL很容易在i.MX6UL的设计上重用,主要更改如下:
  • 增加了EPD显示支持和EPDC/PXP的低端电子阅读器,相对于6sl/7d系列是一个低成本低功耗方案。
  • 安全功能如CAAM/BEE/DryICE等主要用于POS应用的advanced security被裁剪,但基本安全如HAB还是支持的。
  • 多通道音频输入输出ESAI被添加,使其更好的支持音频,IMX6UL的SAI仍旧被保留。
  • 优化功耗。
  • EMV SIM模块被裁剪。

i.MX6ULL提供最高主频为900MHz的芯片版本,那么这颗900MHz的ARM Cortex-A7芯片究竟性能如何呢?下面我们尝试在i.MX6ull开发板上原生编译(native compiling)Linux内核,力图揭开i.MX6ULL性能的庐山真面目!

开发环境:
开发板名称 Innostick 6
CPU i.MX6ULL 900MHz
内存 512MB DDR3
eMMC 16GB
网络 WiFi


====准备工作====
  • 一块预装Debian Stretch的Innostick 6主板
  • NXP U-Boot 源代码: https://source.codeaurora.org/external/imx/uboot-imx
  • NXP i.MX6 Kernel源代码: https://source.codeaurora.org/external/imx/linux-imx
  • Innostick6 Kernel源代码: https://github.com/NXElec/linux-innostick6

====查看CPU信息====
  1. debian@arm:/opt/innostick6$ lscpu
  2. Architecture:          armv7l
  3. Byte Order:            Little Endian
  4. CPU(s):                1
  5. On-line CPU(s) list:   0
  6. Thread(s) per core:    1
  7. Core(s) per socket:    1
  8. Socket(s):             1
  9. Model:                 5
  10. Model name:            ARMv7 Processor rev 5 (v7l)
  11. CPU max MHz:           900.0000
  12. CPU min MHz:           198.0000
  13. BogoMIPS:              13.63
  14. Flags:                 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae

====查看Debian版本====
  1. [debian@arm:/opt/innostick6$ cat /etc/os-release
  2. PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
  3. NAME="Debian GNU/Linux"
  4. VERSION_ID="9"
  5. VERSION="9 (stretch)"
  6. ID=debian
  7. HOME_URL="https://www.debian.org/"
  8. SUPPORT_URL="https://www.debian.org/support"
  9. BUG_REPORT_URL="https://bugs.debian.org/

====安装build-essential====
  1. sudo apt-get install build-essential libncurses5-dev lzop

====查看磁盘信息====
  1. debian@arm:/opt/innostick6$ df -h
  2. Filesystem      Size  Used Avail Use% Mounted on
  3. /dev/root        14G  2.5G   11G  20% /
  4. devtmpfs         86M     0   86M   0% /dev
  5. tmpfs           247M     0  247M   0% /dev/shm
  6. tmpfs           247M   10M  237M   5% /run
  7. tmpfs           5.0M     0  5.0M   0% /run/lock
  8. tmpfs           247M     0  247M   0% /sys/fs/cgroup
  9. tmpfs            50M  4.0K   50M   1% /run/user/112
  10. tmpfs            50M     0   50M   0% /run/user/1000

====编译U-Boot====
下载源代码:
  1. git clone https://source.codeaurora.org/external/imx/uboot-imx -b imx_v2017.03_4.9.88_2.0.0_ga

开始编译:
  1. cd uboot-imx
  2. make clean
  3. make mx6ull_14x14_evk_defconfig
  4. make


====编译Kernel====
下载源代码:
  1. git clone https://source.codeaurora.org/external/imx/linux-imx -b imx_4.9.88_2.0.0_ga

开始编译:
  1. cd linux-imx
  2. make imx_v7_defconfig
  3. make


====编译完成,再次查看磁盘信息====
  1. debian@arm:/opt/innostick6/linux-imx$ df -h
  2. Filesystem      Size  Used Avail Use% Mounted on
  3. /dev/root        14G  3.4G  9.6G  26% /
  4. devtmpfs         86M     0   86M   0% /dev
  5. tmpfs           247M     0  247M   0% /dev/shm
  6. tmpfs           247M  6.9M  240M   3% /run
  7. tmpfs           5.0M     0  5.0M   0% /run/lock
  8. tmpfs           247M     0  247M   0% /sys/fs/cgroup
  9. tmpfs            50M  4.0K   50M   1% /run/user/112
  10. tmpfs            50M     0   50M   0% /run/user/1000

====编译耗时====
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部