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

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的寄存器需要经过的路径。

自动化行业如何沾工业智能化的光?
无线充电应用的二次侧整流桥应用方案介绍
双十二有哪几款蓝牙耳机值得买?高性价比蓝牙耳机推荐
由LM567组成的红外线自动洗手器(五种红外线自动洗手器电路详解)
微软量子云平台现已开发公共预览
基于Cortex-A9 LED汇编、C语言驱动编写
索尼计划2020年向中国市场推出新的影像传感器产品
爱立信:5G脱碳进行时
SynSense时识科技与iniVation达成战略合作伙伴关系
2015年,车载导航市场规模2000亿
电子产业链垂直维度关系图
《知识图谱标准化白皮书》发布 星环科技参与标准撰写
三大运营商纷纷发力5G边缘计算
特斯拉还将在美国建设一座整车工厂,生产电动卡车及跑车
最新计算机图形学交互技术公布了VR短片阵容
变频器的工作原理
物联网终端产品由哪些模块构成
TDK | 推出两款新型高性能超声波 ToF 传感器
盘点人工智能应用将迎来的四波浪潮
PCB层压工艺的基础