imx6学习笔记
前言
接触linux大概有两年,接触imx6大概有1年,简单驱动也写过一些,简单的应用也弄过不少,然而使用linux的大型项目还真没怎么接触。但是在这两年多的使用过程中还是有不少心得的。特意写这样一个笔记来供其它新手参考。
linux环境搭建
实体机虚拟机都行,能跑linux就OK,再不行那就用msys2将就一下吧。
Linux文件系统基本的目录
这个没什么好说的,自己装一个虚拟机然后安装一个linux,然后自己多看看,基本慢慢就认识了
Linux基本指令
ls
cd
grep
find
chmod
chown
rm
mv
cp
touch
mkdir
mkfs
dd
tar
ln
先就这些吧
vim编辑器
不要用文件管理器,不要用gedit,不要用leafpad,就用vim,自己安装插件,自己网上查配置,把下面的操作坚持一个月,基本就差不多了。
复制
粘贴
剪切
选择
列选择
撤销
查找
替换
跳转到首行
跳转到尾行
跳转到指定行
这些暂时够用了
tab多文件操作
能修改基本的配置文件
profile(/etc/profile或者~/.bash_profile)---主要修改环境变量和一些随终端启动的命令
~/.vimrc---vim配置
/etc/sudoers---用户权限
/etc/hostname---主机名
/etc/hosts---hosts表,有时候科学上网会用到
/etc/locale.gen和/etc/locale.conf---系统语言配置
~/.xinit开机启动(xinit,如果时用dm启动的则无效,不过有相对应的文件,请自行百度)
好了,下面进入正篇环节。
imx6开发
如果你的开发板常用的外设跟freescale官方的imx6评估版区别不大的话,那么直接下载官方源码,编译烧录后基本可以运行了。
源码下载
http://git.freescale.com/git/
uboot地址是:imx组的uboot-imx.git仓库
kernel地址是:imx组的linux-imx.git仓库
注意:关于freescale git仓库的uboot和kernel命名规则:
1. 由于这个仓库集合了linux使用的uboot和kernel,同时也有android使用的uboot和kernel,这两个命名是不同的
2. linux版本的统一命名为rel_imx_内核版本号_小版本号_beta/ga,不论是uboot还是kernel的版本号,命名都是依据kenel的版本号命名。比如我下载了一个rel_imx_4.1.15_2.1.0.ga版本的kernel,那么我是用的uboot的版本需要也是这个版本,uboot的版本和linux的版本务必保持一致。以上版本的意思是,我使用的这一系列软件使用与imx系列的cpu,配套的linux版本是4.1.15,发布版本是2.1.0(该版本有freescla发布人员设定)的伽马版本(gamma)。至于像n7.1.2还有m6.0.1以及l5.0.0这样的很明显就是安卓版本嘛。n7.1.2就是android n(7.1.2),其他类推。不过安卓的内核大部分是放在linux-2.6-imx.git仓库中。
交叉编译环境配置
下载交叉编译器
https://releases.linaro.org/components/toolchain/binaries/latest/
对应版本下载,64位linux