点亮指路灯:
学习四环节:led原理图分析,芯片手册导读,思维导图设计,
为什么要使用led:通常led是作为程序调试的重要手段。
led原理图:led实质为发光二极管,当其两端电压一定时,即处于导通状态。
OK6410核心板原理图-256MDDR-2g p4页找到nled所对应的引脚分别为GPM1,GPM2,GPM0,GPM3,将引脚处设为低电平,二极管即可导通。
--------------------------------------------------------
GPIO(general-purpose input/output ports):cpu经常需要控制许多结构简单的外部设备或者电路(通常只有开和关两种状态),使用传统的串口或者usb口就显得复杂,所以就有了GPIO(通用可编程I/O口).
一个GPIO端口至少需要两个寄存器,一个是“控制寄存器(选择该端口是输入还是输出等)”还有一个是“数据寄存器”。
看芯片手册S3C6410X中GPIO这一章。
--------------------------------------------------
思维导图设计:
led驱动:
1.设置GPIO的控制寄存器,将引脚设置为输出的功能。
2.根据原理图设置GPIO数据寄存器,点亮led.
------------------------------------------------------
点亮led:
先打开底板原理图查看user led 原理图-》然后打开核心板原理图-》查看nled所对应的引脚。发现ok6410的led使用的NLED1,2,3,4-GPM0,1,2,3.打开6410的芯片手册。
代码:
bl light_led
#define GPMCON 0x7F008820
#define GPMDAT 0x7F008824
@控制寄存器的设置
light_led:
ldr r0,=GPMCON //将控制寄存器地址装载到肉r0中
ldr r1,=0x1111 //将即将改变的各个引脚状态用16进制的方式装载到r1中
str r1,[r0] //将r1中的内容放到r0中
@数据寄存器的设置
ldr r0,=GPMDAT //将GPIO数据寄存器的地址装载到r0中
mov r1,#0xf //存储即将改变的数据寄存器中各个位的值。
str r1,[r0] //让led都不亮
mov r1,#0x1 //同上此处可用ldr指令
srt r1,[r0]
mov pc,lr
---------------------------------------------------------
发现u-boot烧写到开发板后不亮,然后再看看思维导图,发现6410中我们少做了一步工作,外设基地址的初始化
翻看我们arm11的手册,搜索cp15,(summary of CP15)p150页-》
可查看p263页
对于这个设置主要有两个方面:第一外设的基地址:
bl set_svc
bl set_peripheral_port
set_peripheral_port:
ldr r0,=0x70000000 //6410中可搜0x70000000,发现这是寄存器的基地址。
orr r0,r0,#0x16
mcr p15,0,r0,c15,c2,4,
mov pc,lr

arm-点亮led灯的更多相关文章

  1. 第二章之S5PV210在BL1中点亮LED灯

    1,u-boot中第一个入口在./arch/arm/cpu/armv7/start.S 翻到153行:如下图 前面都是进行一些基本设置,不用管. cpu_init_cp15设置协处理器, cpu_in ...

  2. C语言版——点亮LED灯,深入到栈

    在上一篇进行了汇编语言的编写之后,我们采用C语言来编写程序,毕竟C语言才是我们使用最多的语言. 仅仅是点亮LED灯显然太过于简单,我们需要分析最后的反汇编,了解函数调用栈,深入C语言骨髓去分析代码,并 ...

  3. Raspberry PI 系列 —— 裸机点亮LED灯

    Raspberry PI 系列 -- 裸机点亮LED灯 背景 近期刚买了Raspberry PI B+,配置执行了官方提供的Raspbian系统,折腾了一周Linux系统,感觉没啥意思,于是就试着想了 ...

  4. 初探RT-Thread系统在GD32E103x芯片上的使用,点亮LED灯

    初探RT-Thread系统在GD32E103x芯片上的使用,点亮LED灯 前言 ​ 随着中美贸易战的加剧,很多公司越来越重视使用国产技术的重要性.使用国产技术,一方面可规避国外对技术的封锁造成产品核心 ...

  5. 第7章 使用寄存器点亮LED灯

    第7章     使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  6. 第7章 使用寄存器点亮LED灯—零死角玩转STM32-F429系列

    第7章     使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  7. 字符型设备驱动程序-first-printf以及点亮LED灯(三)

    根据  字符型设备驱动程序-first-printf以及点亮LED灯(二) 学习 修改函数 中的printf 为 printk. #include <linux/module.h> /* ...

  8. JZ2440开发板:用按键点亮LED灯(学习笔记)

    本文是对韦东山嵌入式第一期学习的记录之一,如有您需要查找的信息,可以继续往下阅读. 想要用按键点亮LED灯,就需要知道按键和LED灯的相关信息,这样才可以进行之后的操作.阅读JZ2440的原理图,可以 ...

  9. 30个物联网传感器小实验:三行代码点亮LED灯

    30个物联网传感器小实验:三行代码点亮LED灯 三行代码点亮LED灯 LED灯闪烁 LED灯调亮度 LED淡入淡出 不写一行代码点亮LED灯 全彩RGB灯 面包板 30个物联网传感器小实验:三行代码点 ...

  10. STM32F4 阿波罗寄存器点亮LED灯

    学习步骤: 使用寄存器点亮LED灯,需要进行如下的步骤,LED灯属于外设部分,首先需要开启外设的时钟使能,然后LED灯是PB1口,(芯片是正点原子的阿波罗),接着定义GPIOB口的输出模式,为上拉.推 ...

随机推荐

  1. javascript之事件监听

    addEventListener是一个监听事件并处理相应的函数,用于向指定元素添加事件句柄,可使用removeEventListener()方法来移除addEventListener()方法添加的事件 ...

  2. SDP(1):ScalikeJDBC-基本操作介绍

    简单来说:JDBC是一种开放标准的跨编程语言.跨数据库类型编程API.各类型数据库产品厂商都会按它的标准要求来提供针对自身产品的JDBC驱动程序.最主要的这是一套成熟的工具,在编程人员中使用很普及.既 ...

  3. python 程序退出方式

    sys.exit() 执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法. 该方法中包含一个参数status,默认为0,表示正常退出,也 ...

  4. mysql-innoDB-多版本并发控制(MVCC)

    InnoDB的MVCC,是通过在每行记录后面保存三个隐藏的列来实现的其中的两个列一个保存了行的创建时间,一个保存行的过期时间(或删除时间).当然存储的并不是实际的时间值,而是系统版本号(system ...

  5. Mysql索引分析:适合建索引?不适合建索引?【转】

    数据库建立索引常用的规则如下: 1.表的主键.外键必须有索引: 2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特 ...

  6. js_7_dom文本

    dom编程核心? 绑定事件 找到标签(innerText找标签里文本内容,innerHTML找标签里所有内容) 特殊的标签:input,select,textarea ,通过.value来获取值 3. ...

  7. 1 let和const

    let命令 1)let声明的变量只在let命令所在的代码块内有效,如:   { let a = ; ;} a // ReferenceError: a is not defined. b 对于for循 ...

  8. Junit4X系列--hamcrest的使用

    OK,在前面的一系列博客里面,我整理过了Assert类下面常用的断言方法,比如assertEquals等等,但是org.junit.Assert类下还有一个方法也用来断言,而且更加强大.这就是我们这里 ...

  9. Angular之ngRoute与uiRoute

    ngRoute不支持嵌套路由 用法如下: <!DOCTYPE html> <html lang="en" ng-app="myApp"> ...

  10. Base64图片编码优化

    通过对图片进行base64编码,将base64(或其他数据)内嵌在image标签的属性当中(或者CSS中或JavaScript中),可以实现将图片直接嵌入代码中的目的,如此一来,可以减少HTTP请求, ...