1、总述
1.做过单片机开发的小伙伴一定清楚,做单片机开发大致是在keil里面写好代码,然后编译,最后烧写到单片机里面。
2.嵌入式linux开发本质上也是一样,写好代码、编译、烧写。但是区别于用keil这个集成软件,嵌入式linux开发更像是把各个步骤拆散来进行。
a、首先是没有了统一的开发界面,你可以用文本编辑器编写,可以用source insight编写,甚至可以用linux的vim做一些修改。
b、其次是没有了芯片列表,做开发不像之前那样简单的选一下芯片做一些配置,而是要知道内核架构,选择编译环境,然后很可能还要做一大堆的配置。
c、之后还要接触一项新东西,就是连接。keil这个软件帮你隐藏了连接这一个步骤,但是嵌入式linux开发必须清楚这些。要慢慢的了解makefile工作原理,怎么把文件夹下的代码有选择的联系在一起。
d、当然还有很多,博主也在慢慢学习了解。
3、所以说嵌入式linux开发第一步就是配置编译环境,根据芯片型号、内核,选择合适的交叉编译器。f1c200s内核是arm926ej-s,根据教程,选择交叉编译器为gnueabi的7.2.1版本。
2、编译器下载安装
1、交叉编译器可以在官网进行下载
https://releases.linaro.org/components/toolchain/binaries/
打开界面如下
然后依次点开7.2-2017.11/arm-linux-gnueabi/ ,选择下载gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
2、将下载好的文件,放置在linux(博主使用的是ubuntu16.04.7)上预先创建好的文件夹下,以/usr/local/arm为例。然后在终端上执行
#登录root账号
su
#然后根据提示输入密码
#进入到对应的文件夹
cd /usr/local/arm
#解压缩软件包
tar -vxf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
#进入主目录
cd ~
#打开.bashrc文件
vim .brashrc
#在.bashrc文件最后一行,添加内容 export PATH=$PATH:/usr/local/arm/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin
#保存退出后,更新环境变量
source .bashrc
a、cd是一条进入目录的命令。
b、tar是一个解压缩的命令,参数v是打印出处理过程中的相关信息,参数x表示解压命令,参数f表示指定处理的文件。
c、vim是一条打开文件的命令,可以让用户在终端进行文件编辑。打开文件以后,可以使用上下左右进行光标移动,点击i进入编辑模式(默认是命令模式),做好修改以后点击Esc键退回命令模式,输入“:”号开始输入命令,输入wq保存并且退出。
d、.brashrc会保存用户的一些个性化设置,每当bash shell执行的时候(也就是终端连接登录的时候),内核会主动执行.brashrc文件。
e、export PATH=$PATH:/usr/local/arm/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi/bin这一句就是添加环境变量,当有多个环境变量的时候,可以使用“:”进行隔开。
f、source是“点命令”,类似于执行脚本的时候,使用的“./” 。执行source .bashrc的时候,内核会重新执行一遍.bashrc,所以前面的更改就会生效了。但是前面删除的环境变量还会存在(联系其原理思考)。
3、当执行完上述一大串命令后,在命令行输入arm-,然后双击Tab键,有时候需要按三次,若终端界面有arm-linux-gnueabi-gcc-7.2.1弹出,表示交叉编译环境安装成功。
好牛逼的感觉在!
有成品和原理图 接软件工程吗
不好意思,邮箱挂了,没有收到消息。目前不准备接工程,谢谢。