MIMXRT1050-EVK
引语
在往期,已经移植了官方给的Demo,确切说就是相当于别人给了你几个文件然后跑通。但至于说要自己嵌入些驱动东西就没了内核依据。换种说法就是,只提供了u-boot和uImage等几个文件。现在我们需要生成这几个文件的uboot工程和linux工程,尤其是Linux内核工程,我们需要它来生成自己的ko驱动,然后再嵌入到uImage里。
可以这么理解,uImage是整体结构,就好比楼房;ko就好比家居等装饰,从而定制出自己的产品,实现真正能够居住的家。
寻
常规操作就是去内核官网
下载个内核然后解压到虚拟机,然后看有没有对应的模板。
如果你是其它型号比如imx6ul之类的,那么可以直接make menuconfig去选择型号编译了,失望的是它没有imxrt1050
然后我去官网看也没有提供,于是我邮件求助大佬,很幸运能够得到来自莫斯科的指点迷津,也体验了跨时差的微妙
上图链接
github资源下载
这个链接有时候我会打不开,然后我是关了防火墙和杀毒软件才打开的,不知道各位会不会遇到我这种问题。
具体流程如下:
下载好之后解压到虚拟机,成功后显示如下:
除了这个内核还得要编译工具链,上图所示的arm-v7-linux-uclibceabi
工具链
点此前往
然后解压到虚拟机
wu@ubuntu:~$ tar -xvf arm-v7-linux-uclibceabi-pthreads-20170818.tar.bz2
wu@ubuntu:~$ cd arm-v7-linux-uclibceabi/
wu@ubuntu:~/arm-v7-linux-uclibceabi$ cd bin/
wu@ubuntu:~/arm-v7-linux-uclibceabi/bin$ pwd
/home/wu/arm-v7-linux-uclibceabi/bin
wu@ubuntu:~/arm-v7-linux-uclibceabi/bin$ sudo vi /etc/environment
然后根据自己路径情况添加
设置完成后,重启虚拟机,然后验证是否成功
如果出现错误如下,原因应该是32位和64位不兼容问题
bash: /home/wu/arm-v7-linux-uclibceabi/bin/arm-v7-linux-uclibceabi-gcc: No such file or directory
解决方案
wu@ubuntu:~$ sudo apt-get install lib32z1
wu@ubuntu:~$ sudo apt-get install lib32ncurses5
wu@ubuntu:~$ arm-v7-linux-uclibceabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-v7-linux-uclibceabi-gcc
COLLECT_LTO_WRAPPER=/home/wu/arm-v7-linux-uclibceabi/bin/../libexec/gcc/arm-v7-linux-uclibceabi/4.7.4/lto-wrapper
Target: arm-v7-linux-uclibceabi
Configured with: /home/build/fdpic/scratch/gcc/configure --prefix=/home/build/fdpic/install --target=arm-v7-linux-uclibceabi --with-gmp=/home/build/fdpic/install_host --with-mpfr=/home/build/fdpic/install_host --with-mpc=/home/build/fdpic/install_host --with-sysroot=/home/build/fdpic/install/sysroot --disable-libgomp --enable-libmudflap --enable-languages=c,c++ --disable-libquadmath --disable-multilib --disable-libstdcxx-pch --enable-threads=posix --with-arch=armv7-m --with-mode=thumb --without-cloog --without-ppl --disable-nls --enable-libstdcxx-time --with-pkgversion='20170818-165657- build on build.emcraft by build' --without-bugurl
Thread model: posix
gcc version 4.7.4 20130508 (prerelease) (20170818-165657- build on build.emcraft by build)
wu@ubuntu:~$