正点原子-Linux嵌入式开发学习-第二期04
第十一讲:BSP工程管理
BSP管理其实就是以前学stm32一样的单独为led写.h和.c,并且文件夹有很多种
使用ubuntu的vscode创建bsp文件
第一步:新建bsp文件夹,在bsp文件夹新建各个外设或者功能的文件夹(一定是在相应的文件夹中新键文件夹)
第二步:在新建的clk、delay、led新建.h和,c文件,并且书写相应的代码
第三步:移植imx6ul文件夹
第四步:创建obj文件,用来装.o文件
第五步:创建project文件,用来装main和汇编文件
问题:找不到头文件
当我们在vscode创建多个文件夹的时候,会出现找不到头文件的情况,其实就是类似于keil软件中,我们单独把.c和.h文件放在另外一个文件夹中,导致找不到,我们需要配置头文件路径,我这里以简单的例子为例
解决方法:配置头文件路径(类似于keil)
操作C_Cpp文件 添加头文件即可 Ctrl+shift+P,输入c/c++:edit json
编译方法:
重新写一个makefile才能编译代码--举例编译小型代码,与我们初学的时候不同,这里使用了文件夹,因此我直接gcc main1.c test1.c -o main无法使用
目标:完成多文件的编译
Makefile编写-通用makefile编写
之前的Makefile已经无法使用了,我们需要更改Makefile
写Makefile的时候我们可以查看我们写的是不是我们想要的,那么我们可以打印一下
不足点:
Makefile相关知识的学习
第十二讲:蜂鸣器实验
第一步:原理图分析
低电平响,高电平不响
第二步:在之前的工程下新建beep文件夹和.c和.h文件
void Beep_Init(void) { /* 1、初始化IO复用 */ IOMUXC_SetPinMux(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0); /* 2、、配置GPIO1_IO03的IO属性 *bit 16:0 HYS关闭 *bit [15:14]: 00 默认下拉 *bit [13]: 0 kepper功能 *bit [12]: 1 pull/keeper使能 *bit [11]: 0 关闭开路输出 *bit [7:6]: 10 速度100Mhz *bit [5:3]: 110 R0/6驱动能力 *bit [0]: 0 低转换率 */ IOMUXC_SetPinConfig(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0X10B0); /* 输出*/ GPIO5->GDIR |= 0x02; /* 4、设置GPIO5_IO01输出低电平,打开fmq*/ GPIO5->DR &= ~(0x01>>1); }
注意点:Makefile只需要加路径就可以了,对应前面的通用二字
蜂鸣器的实验就是检验一下前面的知识有没有学到