赞
踩
你好,这是一则简短的自我介绍,在2020年时曾在本科阶段参与第15届智能车竞赛,当时因准备创意组竞赛而购置了这块IMX6ULL,时隔多年,现在觉得自己需要在嵌入式领域有一定的发展,并且这个因疫情放开而提前开始的寒假需要给自己留下一定的学习记录,故重新开始了嵌入式Linux的学习。
2022年12月20日-2023年1月4日
在这段时间里,跟着正点原子的I.MX6U嵌入式驱动开发指南学习了基于VMware虚拟机下的Ubuntu16.04的Linux系统的简单使用。
(1)常用Shell操作——
(2)简单的VIM编辑器的常用快捷键
(3)Linux系统下的根目录文件架构
(4)Linux交叉编译
Ubuntu自带的GCC编译器针对X86架构,而我们要编译ARM架构代码。
故需要在X86架构的PC上运行可以编译ARM代码的GCC编译器,叫做交叉编译器。
在此处可结合Makefile里的代码进行理解,arm-linux-gnueabihf-gcc则是能在linux平台上基于GCC编译器推出的ARM交叉编译工具
(5)arm-linux裸机开发基本思想
同STM32库函数开发所不同的是,裸机开发对数据手册的读取,对相关寄存器的配置有着更高的要求,以下笔者将在接下来的分章讲述里对其进行说明。
因Cortex-A7芯片一上电SP指针仍未初始化,C语言环境还没准备好,所以要先用汇编语言设置好C语言环境:
故当汇编语言把C语言环境设置好后才可以运行C语言代码。即project文件夹里需要有main.c和start.s这两部分组成。
(6)小结
在这最开始的一部分,笔者在基于VMware虚拟机的Ubuntu16.04系统下进行了Linux环境基础学习,对常用shell操作,vim编辑器快捷键,linux根目录文件,基于arm-linux-gnueabihf-gcc工具的交叉编译,以及arm-linux裸机开发进行了介绍,并将在之后的几章逐步进行各部分如gpio、clk、led、key、beep等外设进行裸机开发的小结。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。