前言

  • 一、IMX6ULL 启动流程?

    二、LED代码移植

    1.硬件介绍

    2.代码移植

    总结


前言

最近在学习IMX6ULL这个开发板,手边有韦东山老师的imx6ull全功能板子,为了练习学习的初步效果,采用了正点原子的视频课程进行学习。首先移植了一个基本的LED控制实验。


提示:以下是本篇文章正文内容,下面案例可供参考

一、IMX6ULL 启动流程?

我们手头上的开发板一般都有直接的拨码开关来控制IMX6ULL的启动方式,常见的有SD卡、USB、EMMC等。这里各位根据开发板设置一下即可。(具体IMX6ULL的启动方式选择和启动设备选择可参考正点原子的,感觉写的不错)。

我这里选择SD卡进行。

二、LED代码移植

1.硬件介绍

正点原子开发板LED原理图如下:

韦东山开发板LED原理图如下:

2.代码移植

原子采用的是GPIO1_3,韦东山开发板采用的是GPIO5_3.其配在过程主要如下:

①、使能 GPIO 对应的时钟( 原子已经全部开启,可以不用动
②、设置寄存器 IOMUXC_SW_MUX_CTL_PAD_XX_XX ,设置 IO 的复用功能,使其复用
为 GPIO 功能( 设置对应引脚 )。
③、设置寄存器 IOMUXC_SW_PAD_CTL_PAD_XX_XX ,设置 IO 的上下拉、速度等( 设置对应引脚 )。
④、第②步已经将 IO 复用为了 GPIO 功能,所以需要配置 GPIO ,设置输入 / 输出、是否使
用中断、默认输出电平等( 设置对应引脚 )。

例程中,对应的引脚地址已全部更改,注释保留原子的,具体大家可以上原子网站找,同时为开发板上电,有微弱电流,会使LED亮,为确保修改成功,添加了延时函数,大家调整delay中的r2即可观察到闪烁频率的不同。具体代码如下:

.global _start  /* 全局标号 *//** 描述: _start函数,程序从此函数开始执行此函数完成时钟使能、*         GPIO初始化、最终控制GPIO输出低电平来点亮LED灯。*/
_start:/* 例程代码 *//* 1、使能所有时钟 */ldr r0, =0X020C4068     /* CCGR0 */ldr r1, =0XFFFFFFFF  str r1, [r0]       ldr r0, =0X020C406C    /* CCGR1 */str r1, [r0]ldr r0, =0X020C4070     /* CCGR2 */str r1, [r0]ldr r0, =0X020C4074     /* CCGR3 */str r1, [r0]ldr r0, =0X020C4078     /* CCGR4 */str r1, [r0]ldr r0, =0X020C407C     /* CCGR5 */str r1, [r0]ldr r0, =0X020C4080     /* CCGR6 */str r1, [r0]/* 2、设置GPIO5_IO03复用为GPIO1_IO03 */ldr r0, =0X2290014 /* 将寄存器SW_MUX_GPIO1_IO03_BASE加载到r0中 */ldr r1, =0X5     /* 设置寄存器SW_MUX_GPIO1_IO03_BASE的MUX_MODE为5 */str r1,[r0]/* 3、配置GPIO5_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 低转换率*/ldr r0, =0X02290058 /*寄存器SW_PAD_GPIO1_IO03_BASE */ldr r1, =0X10B0str r1,[r0]/* 4、设置GPIO5_IO03为输出 */ldr r0, =0X020AC004    /*寄存器GPIO1_GDIR */ldr r1, =0X0000008       str r1,[r0]flash:/* 5、打开LED0* 设置GPIO5_IO03输出低电平*/ldr r0, =0X020AC000   /*寄存器GPIO1_DR */ldr r1, =0     str r1,[r0]bl delayldr r0, =0X020AC000ldr r1, =8str r1,[r0]bl delayb flash/** 描述:  loop死循环*/
loop:b loop                 // 延时函数:函数名:delay
delay:ldr r2, =1000000ldr r3, =0x0
delay_loop: sub r2, r2, #1              //r2 = r2 -1cmp r2, r3                 // cmp会影响Z标志位,如果r2等于r3则Z=1,下一句中eq就会成立bne delay_loopmov pc, lr                    // 函数调用返回

总结

仅仅用于学习中笔记的记录,LED在不同开发板实现要点:

1、不同开发板启动方式有EMMC、SD卡和USB,这里仅仅是裸机学习,因此可以采用SD卡和USB,这里采用SD卡进行,USB暂未进行。

2、对于不同引脚,应该进行修改

3、用汇编添加了延时函数

IMX6ULL裸机学习----LED正点原子在韦东山开发板上实现相关推荐

  1. pdfstamper生成pdf无法显示汉字_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验...

    1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...

  2. 光盘显示0字节可用_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验

    1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...

  3. 正点原子阿波罗STM32F429开发板资料发布,采用底板+核心板

    正点原子阿波罗STM32F429开发板资料发布,采用底板+核心板.... https://www.amobbs.com/thread-5654611-1-1.html 正点原子STM32开发板 htt ...

  4. fpu测试_正点原子STM32F4/F7水星开发板资料连载第五十章 FPU 测试实验

    1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...

  5. 正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线图

    正点原子STM32103 战舰V3 开发板的ST LINK(SWD)接线如下图,5V供电旁边有个自锁开关,需要按下去(右下角有个POWER蓝色灯会点亮)才是上电的,另外另外根据实验测试使用ST LIN ...

  6. 【tinyriscv verilator】分支移植到正点原子达芬奇开发板

    我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计. 关注公众号[集成电路设计教程],获取更多学习资料,并拉你进"IC设计交流群". QQIC设计& ...

  7. 【STM32】基于正点原子『探索者』开发板的烧录

    项目需要一个功能,开发板范例正好有,就买了一块,不过还是有点贵 我手边没有J-Link 用的都是串口烧录 烧录时,先打开右上的开关 如果是仿真器烧录,它无法供电,需要接12V适配器或是杜邦线供电 然后 ...

  8. 8.23 正点原子领航者V1开发板学习之EEPROM

                                                            一.EEPROM和ICC介绍 1.串口通信中UART 和IIC区别 UART是有两个数据 ...

  9. 【正点原子STM32连载】第六十六章 综合测试实验摘自【正点原子】STM32F103 战舰开发指南V1.2

    1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视 ...

最新文章

  1. 深度稳定学习:因果学习的最新进展 | 清华大学团队 CVPR 研究
  2. mybatis教程--映射之一对一查询
  3. android cpu绑核
  4. SAP UI5 初学者教程之二:SAP UI5 的引导过程(Bootstrap) 试读版
  5. Jmeter-基础篇
  6. 宝塔php安装那个合_使用宝塔面板安装nextcloud | 启用本地存储 | 安装smbclient
  7. 关于高性能网络编程的一些知识
  8. MobileNetV1
  9. Android应用发布渠道汇总(更新中)
  10. 高并发锁Lock的详细使用
  11. mysql 实验7,MySQL5.7多源复制的实验
  12. 这届 Windows 不行,是因为微软不卖“软件”改卖“服务”?
  13. 二、Oracle学习笔记:常用数据类型和关键字
  14. ubuntu删除OpenCV
  15. 福昕阅读器 自定义注释快捷键
  16. 闽南歌歌词有一句电子计算机,丁丁丁丁是什么歌_抖音闽南歌曲丁丁丁丁歌名、歌手、歌词介绍_游戏吧...
  17. 《数据库原理与应用》作业(1-0.5)
  18. 编程篇(002)-js实现一个打点计时器
  19. ★另人无比怀念的90年代动画片★ ‖最终整理篇‖
  20. 做煎饼果子的N种方式——From Sequential to Reactive

热门文章

  1. 齐岳介绍Porapak P 80/100高分子微球气相色谱,Porapak QS 50/80担体色谱填料,Porapak S,80/100目,75cc/气相色谱吸附剂
  2. 【VSCode】注释插件korofileheader
  3. tarball data for *** seems to be corrupted. Trying one more time
  4. JavaScript倒计时代码
  5. DSP库互相关算法实现与MATLAB互相关算法比较
  6. 索尼INZONE M3电竞显示器 评测
  7. 违规私募基金清查启动
  8. 图像质量评估(5) -- 畸变(Distortion)
  9. 一行代码帮你检测Android模拟器优劣
  10. 产品分享:Qt+Arm基于RV1126平台的内窥镜软硬整套解决方案(实时影像、冻结、拍照、录像、背光调整、硬件光源调整,其他产品也可使用该平台,如视频监控,物联网产品等等)