0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Cortex-A9 LED汇编、C语言驱动编写

电子设计 来源:电子设计 作者:电子设计 2020-12-24 18:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ARM系列文章合集如下:

《从0学arm合集》

0. 前言

一般我们购买一个开发板,厂家都会给出对应的电路图文件,我们可以通过搜索对应名称来查找到对应的外设。对于驱动工程师来说,我们只需要知道外设与SOC交互的一些数据线和信号线即可。

用主控芯片控制这些外设的一般步骤:

电路原理图,弄明白主控芯片和外设是怎么连接的,对于驱动工程师来说,主要是看外设的一些clk、数据引脚、控制引脚是如何连接的;外设一般都会连接到SOC的1个或者多个控制器上,比如i2c、spi、gpio等,有的是数据线有的是信号线,中断线等;根据电路连接和需求对主控芯片进行设置,往往对外设的设置都是通过寄存器操作实现;书写相应代码,实现功能,不同类型的外设,代码结构也不尽相同,比如按键,我们既可以通过轮询方式读取按键信息,也可以通过中断方式来读取。

下面我们就以华清远见的fs4412开发板为例来看如何编写led的裸机程序。SOC exynos 4412 datahseet 下载地址:

https://download.csdn.net/download/daocaokafei/12533438

一、LED灯电路图

首先看下led电路图:

LED电路图该板子有4个LED,是发光二极管,有电流是为蓝色;led都接了上拉电阻;三极管的基极接了SOC的某个GPIO引脚;比如GPX1_0,当该引脚为高电平是,三极管pn结导通,于是LED3两侧就有了电势差,LED3被点亮,如果该引脚为低电平,pn结截止,LED3两侧就没有了电势差,LED3熄灭。

下面是CPU核访问GPIO控制器的数据通路:

AHB:高速总线APB Bridge:APB总线桥APB:外设总线,低速总线GPIO挂载在APB总线上

GPIO 与 SOC

由上图可知,cpu要访问GPIO的寄存器需要经过的路径。

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    244

    文章

    24724

    浏览量

    692481
  • 电力电子
    +关注

    关注

    32

    文章

    737

    浏览量

    51092
  • C语言
    +关注

    关注

    183

    文章

    7646

    浏览量

    146153
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SGM3749C:高效白光LED驱动芯片的卓越之选

    SGM3749C:高效白光LED驱动芯片的卓越之选 在电子设备的照明应用中,一款性能出色的LED驱动芯片至关重要。SGM3749
    的头像 发表于 03-25 13:55 124次阅读

    汇编给CH32写了个本机FORTH语言实现

    汇编器,可以在线编写汇编代码用于编写ISR或需要性能的场景(目前没实现所有RV32EC指令,后面会实现完整RV32EC指令集) 专门优化了代码体积 支持多任务(类似协程,运行时调用PA
    发表于 03-19 11:07

    MAX16832A/MAX16832C:高效高亮度LED驱动方案解析

    MAX16832A/MAX16832C:高效高亮度LED驱动方案解析 在LED照明应用领域,寻找一款性能卓越、成本效益高的
    的头像 发表于 02-02 16:45 538次阅读

    C语言主要特点

    C语言的主要特点有: 1.语言简洁、紧凑,使用方便、灵活 。C语言一共只有32个关键字、9种控制
    发表于 01-05 07:41

    C语言中可以嵌套汇编语言吗?

    请问C语言中可以嵌套汇编语言吗?
    发表于 12-15 08:14

    Linux驱动开发的必备知识

    内核基础知识: 1、熟悉 Linux 内核的架构、模块系统、进程管理、内存管理等。 了解内核的编译和加载过程。 2、C编程技能: 精通 C 语言编程,包括指针操作、内存管理、结构体等
    发表于 12-04 07:58

    为什么单片机还在用C语言编程?

    说起单片机我们就会想到C语言,单片机为什么还在用C语言编程?现在有很多很好用的高级语言,如VC、PYTHON、PHP等等,为什么这些
    发表于 11-28 07:37

    汇编语言还有必要学习吗

    1、嵌入式操作系统需要汇编语言 2、实时性要求非常高的地方,需要汇编语言,比如FFT算法。 3、汇编语言做运算那叫一个痛苦,下面是一段双字节乘法,浮点数就更难搞
    的头像 发表于 11-25 11:46 784次阅读
    <b class='flag-5'>汇编语言</b>还有必要学习吗

    C语言特性

    的执行效率和资源利用率有着严苛的要求。C 语言生成的代码简洁紧凑,能够在有限的硬件条件下快速运行,满足嵌入式系统对性能的高要求。例如,在智能家居设备的控制芯片中,C 语言
    发表于 11-24 07:01

    汇编语言的起源

    一、汇编语言是什么? 我们知道,CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来,等待下一条指令。 这些指令都是二进制的,称为操作码
    发表于 11-20 07:19

    C语言和单片机C语言有什么差异

    的目标代码短、运行速度高、存储空间小、符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言
    发表于 11-14 07:55

    具有 I<sup>2</sup>C 控制接口的 1.5 A 单闪 LED 驱动器 skyworksinc

    电子发烧友网为你提供()具有 I2C 控制接口的 1.5 A 单闪 LED 驱动器相关产品参数、数据手册,更有具有 I2<
    发表于 07-29 18:35
    具有 I<sup>2</sup><b class='flag-5'>C</b> 控制接口的 1.5 <b class='flag-5'>A</b> 单闪 <b class='flag-5'>LED</b> <b class='flag-5'>驱动</b>器 skyworksinc

    1.5A 单闪 LED 驱动器 skyworksinc

    电子发烧友网为你提供()1.5A 单闪 LED 驱动器相关产品参数、数据手册,更有1.5A 单闪 LED
    发表于 07-25 18:29
    1.5<b class='flag-5'>A</b> 单闪 <b class='flag-5'>LED</b> <b class='flag-5'>驱动</b>器 skyworksinc

    汇编语言教学中文资料

    电子发烧友网站提供《汇编语言教学中文资料.rar》资料免费下载
    发表于 06-30 15:15 7次下载

    Windows环境下32位汇编语言中文资料

    电子发烧友网站提供《Windows环境下32位汇编语言中文资料.rar》资料免费下载
    发表于 06-30 15:14 0次下载