I.MX6U芯片–C语言LED驱动实验学习总结
本实验共有如下几个环节:
- 编写代码
- 编写Makefile和链接脚本
- 编译
- 烧录
编写代码
其中编写代码需要编写汇编文件和C语言文件。汇编文件用来配置C语言运行环境,包括设置处理器模式为SVC,给SP指针赋值。C语言文件,包括.h文件和.c文件,头文件主要用来定义寄存器的地址,.c文件编写业务层的代码。比如使能时钟,配置GPIO复用,GPIO属性,GPIO功能,编写亮灯,灭灯函数,编写延时函数。
编写Makefile和链接脚本
Makefile要复杂一些,涉及到Makefile 变量和自动变量的使用。将原Makefile文件中的语句。
新建一个脚本链接文件,.bls格式。
链接脚本主要用于链接的,用于描述文件应该如何被链接在一起形成最终的可执行文件。其描述输入文件中的段如何被映射到输出文件中,并且控制输出文件中的内存排布。
编写完成后,修改makefile中的语句。
arm-linux-gnueabihf-ld -Ttext 0X87800000 -o ledc.elf $^
改为
arm-linux-gnueabihf-ld -Timx6ul.lds -o ledc.elf $^
烧录
使用imxdownload程序,将可执行文件烧录到TF卡上。