I.MX6ULL官方SDK驱动LED灯

官方sdk简介i.mx6ull官方提供了裸机sdk包,使得学习上手册很。i.mx6ull的sdk包在nxp官网下载https://www.nxp.com/search?keyword=i.mx%25206ull%2520sdk&start=0&category=software
当然原子在资料盘中也给我们提供了,在目录l:\\baidudownloads\\【正点原子】阿尔法linux开发板(a盘)-基础资料\\【正点原子】阿尔法linux开发板(a盘)-基础资料\\07、i.mx6u参考资料\\03、i.mx6ull sdk包目录下面:
双击安装程序,在目录选择时,指定目录,好在以后需要时找得到
安装好后,文件夹如下:
我们裸机开发的话用到以下三个文件:
fsl_common.h:位置为 sdk_2.2_mcim6ull\\devices\\mcimx6y2\\drivers\\fsl_common.h。
fsl_iomuxc.h: 位置为 sdk_2.2_mcim6ull\\devices\\mcimx6y2\\drivers\\fsl_iomuxc.h。
mcimx6y2.h: 位置为 sdk_2.2_mcim6ull\\devices\\mcimx6y2\\mcimx6yh2.h。
整个 sdk 包我们就需要上面这三个文件,把这三个文件准备好,我们后面移植要用。
我们把这三个文拷到一个文件夹,以备以后开发使用。
编写实验程序新建一个名为cc.h的头文件,cc.h中存放着一些sdk库文件需要使用的数据类型,如下所示:/***************************************************************copyright © lugl.文件名 : main.h作者 : 刘建华版本 : v1.0描述 : 有关变量的类型定义,nxp官方sdk的一些移植文件会用到。其他 : 此程序学习左中凯老师课程日志 : 初版 2023/5/3 刘建华修改**************************************************************//************************************************************* * 自定义一些数据类型供库文件使用* * / */ #define __i volatile #define __o volatile #define __io volatile#define on 1#define off 0typedef signed char int8_t;typedef signed short int int16_t;typedef signed int int32_t;typedef unsigned char uint8_t;typedef unsigned short int uint16_t;typedef unsigned int uint32_t;typedef unsigned long long uint64_t;typedef signed char s8;typedef signed short int s16;typedef signed int s32;typedef signed long long int s64;typedef unsigned char u8;typedef unsigned short int u16;typedef unsigned int u32;typedef unsigned long long int u64;#endif /* __cc_h */start.s:/***************************************************************copyright © lugl.文件名 : start.s作者 : 刘建华版本 : v1.0描述 : i.mx6u-alpha/i.mx6ull 开发板启动文件,完成 c 环境初始化,c 环境初始化完成以后跳转到 c 代码。其他 : 此程序学习左中凯老师课程日志 : 初版 2023/5/3 刘建华修改**************************************************************/.global _start @全局标号/** 描述:_start函数,程序从此函灵敏开始执行,* ``` 此函数主要功能是设置c运行环境*/
_start:
/* 进入svc模式 */mrs r0, cpsrbic r0, r0, #0x1f @ 将r0的低5位清零,也就是cpsr的m0-m4orr r0, r0, #0x13 @ r0或上0x13,表示使用svc模式msr cpsr, r0 @ 将r0 的数据写入到cpsr_c中ldr sp, =0x80200000 @ 设置栈指针b main @ 跳转到main函数(再也不用回来了)main.c/***************************************************************copyright © lugl.文件名 : main.c作者 : 刘建华版本 : v1.0描述 : 使用c语言来点亮开发板的led灯,基于官方的sdk来开发。学习掌握如何用c语言来完成对i.mx6u的gpio初始化和控制其他 : 此程序学习左中凯老师课程需要使用到的文件有fsl.common.h、fsl_iomuxc.h、mcimx6y2.h日志 : 初版 2023/5/3刘建华修改**************************************************************/#include fsl_common.h#include fsl_iomuxc.h#include mcimx6y2.h/**** @description :使能i.mx6ull所有外设时钟* @param :无* @return :无* ***/void clk_enable(void){ccm->ccgr0 = 0xffffffff;ccm->ccgr1 = 0xffffffff;ccm->ccgr2 = 0xffffffff;ccm->ccgr3 = 0xffffffff;ccm->ccgr4 = 0xffffffff;ccm->ccgr5 = 0xffffffff;ccm->ccgr6 = 0xffffffff;}/**** @description :初始化led对应的gpio* @param :无* @return :无* */void led_init(void){/* 初始化io 复用 */iomuxc_setpinmux(iomuxc_gpio1_io03_gpio1_io03,0);/* 配置 io的属性 */iomuxc_setpinconfig(iomuxc_gpio1_io03_gpio1_io03, 0x10b0);/* 初始化gpio 设置gpio1_io03 为输出*/gpio1->gdir |= (1经验教程上说,三个sdk文件需要做相应的修改,我们在编译时,根据错误提示修改就行了。这次的实验主要体验sdk在裸机开发方面所提供的方便。特别是宏定义来一给一些固定的参数。

关于薄膜表面瑕疵在线检测仪技术参数的介绍
联想Yoga 520曝光汇总:第七代i7 CPU 16G内存
君林科技:声纹识别前景无限,重点问题亟需解决
基站功耗问题严峻,5G基站问题出在哪
在AI发展中离不开智能传感器
I.MX6ULL官方SDK驱动LED灯
客房取电自动控制器电路图
奥普光电:公司没有参与***项目
吉时利源表2400系列的功能特点和面板信息分析
单片机实现温度调控项目
武汉大学李进军团队Appl.Catal.B:Environ. 国仪BET助力炭材料去除挥发性有机物研究
苹果计划在Mac电脑上试用自研芯片,取代英特尔(INTC)处理器
华阳成为国内首家出货量突破百万套的HUD供应商
未来20年内最终会消失的5种编程语言
想要降低无刷直流驱动成本和复杂度?
压力传感器电路的工作原理解析
Genuine KANTHAL® 活动已上线-对假货说“不”
吹田电气受邀参加2023中国电池行业(广州)高峰论坛
Pycharm中新建项目的方法
基于MicroBlaze处理器的BPIFlash操作