imx6ull基于yocto工程的l汇编点亮ed

这篇具有很好参考价值的文章主要介绍了imx6ull基于yocto工程的l汇编点亮ed。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通过汇编点亮led

在裸机状态下通过汇编点亮led,即没有操作系统,(uboot kernel rootfs 都不需要实现)。

led点亮原理

1.GPIO复用

根据原理图,找到led对应的引脚(pin),复用为GPIO(只有GPIO才能控制输入输出)
芯片手册查询寄存器的方法,以CSI_HSYNC为例,在IOMUXC章节搜索CSI_HSYNC 找到

imx6ull基于yocto工程的l汇编点亮ed,arm开发
关键字是MUX意为复用,20E_01E0为该寄存器的地址,根据手册将其复用为GPIO
imx6ull基于yocto工程的l汇编点亮ed,arm开发
即将该寄存器的值设置为0b101

2. PAD属性

引脚的电气属性配置,如驱动能力、上拉/下拉选择等,占时不太清楚,按要求设置

3.GPIO.GDIR

控制GPIO为输入还是输出。芯片手册查询方法
imx6ull基于yocto工程的l汇编点亮ed,arm开发
在GPIO章节,找到GPIO memory map 中的GPIOx_GDIR,如想将GPIO4_IO20设置为输出
那么就需要找到GPIO4_GDIR的寄存器,然后将该寄存器的第20位设置位1

4.GPIO.DR

控制输出高低电平,芯片手册查询方法同上,找到GPIOx_DR,设置对应的寄存器

yocto编译led.bin

在yocto工程中创建recipes,结构如下
imx6ull基于yocto工程的l汇编点亮ed,arm开发
led.s和Makefile不多解释,led.bb如下

SUMMARY = " led test "
DESCRIPTION = " my led "
LICENSE = "CLOSED"

FILESEXTRAPATHS_prepend := "${THISDIR}/:"

#设置源码路径,在bitbake在执行时会从当前路径的led目录中获取源码,目录名最好与bb文件名称相同
SRC_URI = "file://led/"

#设定工作路径 编译时会将SRC_URI 下的文件unpack到S路径下
S = "${WORKDIR}/led"


# 为了确保我们使用的是交叉编译器
DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}binutils"

EXTRA_OEMAKE = "'CROSS_COMPILE=${TARGET_PREFIX}'"


# 添加任务来编译汇编文件
do_compile() {
#相当于在 S = "${WORKDIR}/led" 下执行make ,前面 EXTRA_OEMAKE 设定了交叉编译工具
	oe_runmake
}

使用bitbake -c compile -f led 即可编译得到led.bin

烧录

直接将led.bin 烧录到sd卡是肯定不能执行的,因为做的是裸机使用,从sd卡启动时,片内的rom代码是无法直接将led.bin 加载到内存运行的,必须在led.bin 前面加上一段配置代码,后面学到了继续分析。文章来源地址https://www.toymoban.com/news/detail-811105.html

到了这里,关于imx6ull基于yocto工程的l汇编点亮ed的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【IMX6ULL驱动开发学习】02.IMX6ULL烧写Linux系统

    由于我买的是正点原子的IMX6ULL阿尔法开发板,但是我是看韦东山老师视频学习的驱动 所以这里我烧录的方法是按照韦东山老师的课程来的 这里给出烧写Linux系统用到的工具 链接:https://pan.baidu.com/s/1bD-xxn3K8xQAVkJSaJmTzQ 提取码:af6w 下载解压后,可以看到烧写工具 烧写Linux系统

    2024年02月13日
    浏览(59)
  • 【基于IMX6ULL开发板开机摄像头的自启动】

    这里简述项目相关背景: 最近在准备暑期实习和秋招,准备一个Camera项目,涉及调试内核、优化开机——从启动到获取第一帧图像的时间,硬件平台为 正点原子IMX6ULL开发板 ,摄像头为 OV5640 ,内核基于正点原子出厂linux源码,根文件系统暂时选择正点原子出厂文件系统 首先

    2024年02月08日
    浏览(41)
  • 嵌入式Linux实战开发之项目总体概述(基于IMX6ULL)

    现在越来越多的智能设备融入到我们的生活,然而,丰富的设备之下也是有一套基本的运行框架,只是根据不同的需求增减相应的功能从而满足自身的需要。而电子产品量产工具项目,就是实现基础的功能,可以作为一个基础的模版,学成之后便可进行扩展,根据自身需求,

    2024年02月13日
    浏览(70)
  • iMX6ULL驱动开发 | 让imx6ull开发板支持usb接口FC游戏手柄

    手边有一闲置的linux开发板iMX6ULL一直在吃灰,不用来搞点事情,总觉得对不住它。业余打发时间就玩起来吧,总比刷某音强。从某多多上买来一个usb接口的游戏手柄,让开发板支持以下它,后续就可以接着在上面玩童年经典游戏啦。  我使用的是正点原子的I.MX6U-ALPHA 开发板,

    2024年02月14日
    浏览(54)
  • 【IMX6ULL驱动开发学习】22.IMX6ULL开发板读取ADC(以MQ-135为例)

    IMX6ULL一共有两个ADC,每个ADC都有八个通道,但他们共用一个ADC控制器 在imx6ull.dtsi文件中已经帮我们定义好了adc1的节点部分信息 注意 num-channels = 2; ,这个表示指定使用ADC1的两个通道,即通道1和通道2 如果你要使用多个ADC通道,修改这个值即可 配置ADC引脚的 pinctrl ,在自己的

    2024年02月12日
    浏览(63)
  • 【IMX6ULL驱动开发学习】05.IMX6ULL驱动开发_编写第一个hello驱动【熬夜肝】

    经过以下四个步骤,终于可以开始驱动开发了 01.安装交叉编译环境【附下载地址】 02.IMX6ULL烧写Linux系统 03.设置IMX6ULL开发板与虚拟机在同一网段 04.IMX6ULL开发板与虚拟机互传文件 一、获取内核、编译内核 二、创建vscode工作区,添加内核目录和个人目录 三、了解驱动程序编写

    2024年02月06日
    浏览(52)
  • 嵌入式linux项目之智能仓储(基于正点原子IMX6ULL开发板)

    提示:该项目根据华清远见智能仓储项目改版,将他的A9开发板换成了自己的IMX6ULL开发板。同时等我将该项目整个流程完成之后,会为大家附上适配正点原子linux开发板的全部代码 (代码资料和视频教程私聊) 视频教程 相应课程配套源码 本人其他项目链接基于linux的智能仓储项

    2024年01月16日
    浏览(89)
  • 【IMX6ULL驱动开发学习】15.IMX6ULL驱动开发问题记录(sleep被kill_fasync打断)

    发现问题的契机: 学习异步通知的时候,自己实现一个功能:按键控制蜂鸣器,同时LED灯在闪烁 结果:LED好像也同时被按键控制了 最后调试结果发现: 应用层的 sleep 被驱动层的 kill_fasync 打断,所以sleep没有执行完就重新进入下一次循环了 修改代码后解决该问题 解决逻辑就

    2024年02月13日
    浏览(51)
  • 基于IMX6ULL的AP3216C的QT动态数据曲线图显示

    前言: 本文为手把手教学 Linux+QT 的典型基础项目 AP3216C 的数据折线图显示,项目使用正点原子的 IMX6ULL  阿尔法( Cortex-A7 系列)开发板。项目需要实现 AP3216C 在 Linux 系统下的驱动,使用 QT 设计 AP3216C 的数据显示页面作为项目的应用层。该项目属于非常简单的入门级项目,核心

    2024年02月16日
    浏览(50)
  • IMX6ull SPI 协议

    1.1 SPI SPI 全称是 Serial Perripheral Interface,也就是 串行外围设备接口 。 SPI 是 Motorola 公司推出的一种同步串行接口 技术,是一种高速、 全双工的同步通信总线 , SPI 时钟频率相比 I2C 要高很多,最高可以工作 在 上百 MH z。 SPI 以主从方式工作,通常是有一个主设备和一个或多

    2024年02月12日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包